From b5e4bbec339bf3858338deece026a20bc40b8923 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 06 五月 2025 15:45:32 +0800 Subject: [PATCH] no message --- rsf-admin/src/page/waitPakin/SelectSiteModel.jsx | 52 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 34 insertions(+), 18 deletions(-) diff --git a/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx b/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx index 9dca697..d152bb5 100644 --- a/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx +++ b/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx @@ -1,10 +1,10 @@ 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, useRefresh } from "react-admin"; +import { FilterButton, TopToolbar, Toolbar, useTranslate, SaveButton, List, useRecordSelection, SelectInput, NumberField, WrapperField, EditButton, DeleteButton, TextField, DateField, TextInput, BooleanField, NumberInput, ReferenceField, SearchInput, SelectColumnsButton, DatagridConfigurable, Button, useRefresh, useRecordContext, useNotify } from "react-admin"; import DialogCloseButton from "../components/DialogCloseButton"; import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting'; - +import request from '@/utils/request'; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { height: '.9em' @@ -19,20 +19,43 @@ }, })); +const SelectSiteButton = (props) => { + const { source, setOpen, refresh, notify } = props; + const record = useRecordContext(); + + const handleClick = async () => { + setOpen(false); + const id = record.id; + const res = await request.post(`/waitPakin/merge`, {waitPakins: source, siteId: id}); + if (res?.data?.code === 200) { + refresh(); + notify(res.data.msg); + } else { + notify(res.data.msg); + } + }; + + return ( + <Button label="toolbar.selectSite" onClick={handleClick} /> + ); +}; + const SelectSiteModel = (props) => { - const { open, setOpen, record } = props; + const { open, setOpen, source } = props; const translate = useTranslate(); const [drawerVal, setDrawerVal] = useState(false); const refresh = useRefresh(); + const notify = useNotify(); const handleClose = (event, reason) => { if (reason !== "backdropClick") { setOpen(false); } }; - + console.log(source); return ( <Box> <Dialog + sx={{width: '100%'}} open={open} onClose={handleClose} fullWidth @@ -41,10 +64,12 @@ > <DialogTitle> {translate('toolbar.selectSite')} + <DialogCloseButton onClose={() => setOpen(false)} /> </DialogTitle> <DialogContent> <List resource='deviceSite' + filter={{type : 1}} sx={{ flexGrow: 1, transition: (theme) => @@ -66,13 +91,8 @@ <StyledDatagrid preferenceKey='deviceSite' bulkActionButtons={false} - rowClick='toggleSelection' - onToggleItem={(id, resource, record)=>{ - console.log(id); - setOpen(false); - refresh(); - }} - omit={['id', 'createTime', 'createBy', 'memo', 'updateBy$', 'createBy$', 'createTime', 'updateTime']} + rowClick={false} + omit={['id','name', 'createTime','label', 'createBy', 'memo', 'updateBy$', 'createBy$', 'createTime', 'updateTime']} > <NumberField source="id" /> <TextField source="name" label="table.field.deviceSite.name" /> @@ -89,16 +109,12 @@ <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} /> - <WrapperField> - <Button label="toolbar.selectSite" onClick={(id, resource, record)=>{ - console.log(id); - setOpen(false) - refresh(); - }}/> + <WrapperField cellClassName="opt" label="common.field.opt"> + <SelectSiteButton source={source} setOpen={setOpen} refresh={refresh} notify={notify} /> </WrapperField> </StyledDatagrid> </List> - </DialogContent> + </DialogContent> </Dialog> </Box> ) -- Gitblit v1.9.1