From 7e5973a3061989a976e2c19ef588bb2f34f29cf4 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期三, 11 二月 2026 10:26:53 +0800
Subject: [PATCH] 下发任务校验
---
rsf-admin/src/page/orders/outStock/OutStockSiteDialog.jsx | 67 ++++++++++++++++++++++++---------
1 files changed, 49 insertions(+), 18 deletions(-)
diff --git a/rsf-admin/src/page/orders/outStock/OutStockSiteDialog.jsx b/rsf-admin/src/page/orders/outStock/OutStockSiteDialog.jsx
index e0b0ced..1462658 100644
--- a/rsf-admin/src/page/orders/outStock/OutStockSiteDialog.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutStockSiteDialog.jsx
@@ -1,14 +1,16 @@
-import { Box, Card, Grid, List, LinearProgress, Select, MenuItem, ListItemText, ListItemAvatar, Avatar, ListItemButton, Dialog, DialogTitle, ListItem } from "@mui/material";
+import { Box, Card, Grid, List, LinearProgress, Select, MenuItem, ListItemText, ListItemAvatar, Avatar, ListItemButton, Dialog, DialogTitle, ListItem, CircularProgress } from "@mui/material";
import React, { useState, useRef, useEffect, useMemo } from "react";
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting';
import { Delete, Edit, Add } from '@mui/icons-material';
import request from '@/utils/request';
-import { useTranslate } from "react-admin";
+import { useTranslate, useNotify } from "react-admin";
const OutStockSiteDialog = (props) => {
const translate = useTranslate();
+ const notify = useNotify();
const { onClose, selectedValue, open } = props;
const [siteNos, setSiteNos] = useState([]);
+ const [loading, setLoading] = useState(false);
const handleClose = () => {
onClose(selectedValue);
@@ -19,16 +21,31 @@
}
useEffect(() => {
- getSiteNos()
+ if (open) {
+ getSiteNos();
+ } else {
+ setSiteNos([]);
+ }
}, [open])
-
const getSiteNos = async () => {
- const { data: { code, data, msg } } = await request.get('/outStock/tasks/sites');
- if (code === 200) {
- setSiteNos(data);
- } else {
- notify(msg);
+ setLoading(true);
+ try {
+ const { data: res } = await request.get('/outStock/tasks/sites');
+ const code = res?.code;
+ const data = res?.data;
+ const msg = res?.msg;
+ if (code === 200) {
+ setSiteNos(Array.isArray(data) ? data : []);
+ } else {
+ notify(msg || '鑾峰彇搴撳彛鍒楄〃澶辫触');
+ setSiteNos([]);
+ }
+ } catch (err) {
+ notify(err?.message || '鑾峰彇搴撳彛鍒楄〃澶辫触');
+ setSiteNos([]);
+ } finally {
+ setLoading(false);
}
}
@@ -36,17 +53,31 @@
<Dialog
onClose={handleClose}
open={open}
+ maxWidth="xs"
+ fullWidth
>
<DialogTitle>{translate("toolbar.modiftySite")}</DialogTitle>
- <List sx={{ pt: 0 }}>
- {siteNos.map((site) => (
- <ListItem disableGutters key={site?.id}>
- <ListItemButton onClick={() => handleListItemClick(site)}>
- <ListItemText primary={site.site} />
- </ListItemButton>
- </ListItem>
- ))}
- </List>
+ {loading ? (
+ <Box sx={{ display: 'flex', justifyContent: 'center', py: 3 }}>
+ <CircularProgress />
+ </Box>
+ ) : (
+ <List sx={{ pt: 0, minHeight: 120 }}>
+ {siteNos.length === 0 && !loading ? (
+ <ListItem>
+ <ListItemText primary="鏆傛棤搴撳彛鏁版嵁" />
+ </ListItem>
+ ) : (
+ siteNos.map((site) => (
+ <ListItem disableGutters key={site?.id}>
+ <ListItemButton onClick={() => handleListItemClick(site)}>
+ <ListItemText primary={site?.site ?? site?.name ?? '-'} />
+ </ListItemButton>
+ </ListItem>
+ ))
+ )}
+ </List>
+ )}
</Dialog>
);
}
--
Gitblit v1.9.1