From af455bd20edfd02cb3e8c7710e65aee798720dca Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 14 四月 2025 17:25:40 +0800 Subject: [PATCH] #新增 1. 生成任务新增站点选择功能 --- rsf-admin/src/page/waitPakin/SelectSiteModel.jsx | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 117 insertions(+), 0 deletions(-) diff --git a/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx b/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx new file mode 100644 index 0000000..ffd7164 --- /dev/null +++ b/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx @@ -0,0 +1,117 @@ +import { Dialog, DialogTitle, Box, DialogActions, DialogContent } from "@mui/material"; +import React, { useState, useRef, useEffect, useMemo, useCallback, Form } from "react"; +import { styled } from '@mui/material/styles'; +import { FilterButton, TopToolbar, Toolbar, useTranslate, SaveButton, List, SelectInput, NumberField, WrapperField, EditButton, DeleteButton, TextField, DateField, TextInput, BooleanField, NumberInput, ReferenceField, SearchInput, SelectColumnsButton, DatagridConfigurable, Button } from "react-admin"; +import DialogCloseButton from "../components/DialogCloseButton"; +import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting'; + +const filters = [ + <SearchInput source="condition" alwaysOn />, + <NumberInput source="type" label="table.field.deviceSite.type" />, + <TextInput source="site" label="table.field.deviceSite.site" />, + <TextInput source="name" label="table.field.deviceSite.name" />, + <TextInput source="wcsCode" label="table.field.deviceSite.wcsCode" />, + <TextInput source="label" label="table.field.deviceSite.label" />, + <TextInput source="device" label="table.field.deviceSite.device" />, + <TextInput source="deviceCode" label="table.field.deviceSite.deviceCode" />, + <TextInput source="deviceSite" label="table.field.deviceSite.deviceSite" />, + <TextInput label="common.field.memo" source="memo" />, + <SelectInput + label="common.field.status" + source="status" + choices={[ + { id: '1', name: 'common.enums.statusTrue' }, + { id: '0', name: 'common.enums.statusFalse' }, + ]} + resettable + /> +] +const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ + '& .css-1vooibu-MuiSvgIcon-root': { + height: '.9em' + }, + '& .RaDatagrid-row': { + cursor: 'auto' + }, + '& .column-name': { + }, + '& .opt': { + width: 200 + }, +})); + +const SelectSiteModel = (props) => { + const { open, setOpen, record } = props; + const translate = useTranslate(); + const [drawerVal, setDrawerVal] = useState(false); + const handleClose = (event, reason) => { + if (reason !== "backdropClick") { + setOpen(false); + } + }; + + return ( + <Box> + <Dialog + open={open} + onClose={handleClose} + fullWidth + disableRestoreFocus + maxWidth="md" + > + <DialogTitle> + {translate('toolbar.selectSite')} + </DialogTitle> + <DialogContent> + <List + resource='deviceSite' + sx={{ + flexGrow: 1, + transition: (theme) => + theme.transitions.create(['all'], { + duration: theme.transitions.duration.enteringScreen, + }), + marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, + }} + title={"menu.deviceSite"} + empty={false} + filters={filters} + sort={{ field: "create_time", order: "desc" }} + actions={( + <TopToolbar> + <FilterButton /> + <SelectColumnsButton preferenceKey='deviceSite' /> + </TopToolbar> + )} + perPage={DEFAULT_ITEM_PAGE_SIZE} + > + <StyledDatagrid + preferenceKey='deviceSite' + bulkActionButtons={false} + rowClick={(id, resource, record) => false} + omit={['id', 'createTime', 'createBy', 'memo', 'updateBy$', 'createBy$', 'createTime', 'updateTime']} + > + <NumberField source="id" /> + <TextField source="name" label="table.field.deviceSite.name" /> + <NumberField source="type$" label="table.field.deviceSite.type" /> + <TextField source="site" label="table.field.deviceSite.site" /> + <TextField source="wcsCode" label="table.field.deviceSite.wcsCode" /> + <TextField source="label" label="table.field.deviceSite.label" /> + <TextField source="device$" label="table.field.deviceSite.device" /> + <TextField source="deviceCode" label="table.field.deviceSite.deviceCode" /> + <TextField source="deviceSite" label="table.field.deviceSite.deviceSite" /> + <TextField source="updateBy$" label="common.field.updateBy" /> + <DateField source="updateTime" label="common.field.updateTime" showTime /> + <TextField source="createBy$" label="common.field.createBy" /> + <DateField source="createTime" label="common.field.createTime" showTime /> + <BooleanField source="statusBool" label="common.field.status" sortable={false} /> + <TextField source="memo" label="common.field.memo" sortable={false} /> + </StyledDatagrid> + </List> + </DialogContent> + </Dialog> + </Box> + ) +} + +export default SelectSiteModel; -- Gitblit v1.9.1