From 351f8191a009e12b66e1215eaac70f3857a9b504 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 24 九月 2024 12:51:45 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/page/bus/BusList.jsx              |   32 +++++++++++----
 zy-acs-flow/src/i18n/core/chineseMessages.js      |    4 +-
 zy-acs-flow/src/i18n/en.js                        |    6 +++
 zy-acs-flow/src/i18n/zh.js                        |    6 +++
 zy-acs-flow/src/page/components/ConfirmButton.jsx |   55 +++++++++++++++++++++++++++
 5 files changed, 92 insertions(+), 11 deletions(-)

diff --git a/zy-acs-flow/src/i18n/core/chineseMessages.js b/zy-acs-flow/src/i18n/core/chineseMessages.js
index 04ce7db..44e656d 100644
--- a/zy-acs-flow/src/i18n/core/chineseMessages.js
+++ b/zy-acs-flow/src/i18n/core/chineseMessages.js
@@ -89,11 +89,11 @@
             bulk_delete_content:
                 'Are you sure you want to delete this %{name}? |||| Are you sure you want to delete these %{smart_count} items?',
             bulk_delete_title:
-                '鍒犻櫎 %{name} |||| Delete %{smart_count} %{name}',
+                '鍒犻櫎 %{name} |||| 鍒犻櫎 %{smart_count} %{name}',
             bulk_update_content:
                 'Are you sure you want to update this %{name}? |||| Are you sure you want to update these %{smart_count} items?',
             bulk_update_title:
-                'Update %{name} |||| Update %{smart_count} %{name}',
+                '淇敼 %{name} |||| 淇敼 %{smart_count} %{name}',
             clear_array_input: 'Are you sure you want to clear the whole list?',
             delete_content: '鎮ㄧ‘瀹炶鍒犻櫎姝ら」鍚楋紵',
             delete_title: '鍒犻櫎 %{name} #%{id}',
diff --git a/zy-acs-flow/src/i18n/en.js b/zy-acs-flow/src/i18n/en.js
index fd48ed5..afa0a4d 100644
--- a/zy-acs-flow/src/i18n/en.js
+++ b/zy-acs-flow/src/i18n/en.js
@@ -64,6 +64,12 @@
             },
             loadMore: 'Load More Data',
         },
+        msg: {
+            confirm: {
+                tip: 'Tip',
+                desc: 'Are you sure you wanna do this?',
+            },
+        },
     },
     filters: {
         lastCreated: 'Last created',
diff --git a/zy-acs-flow/src/i18n/zh.js b/zy-acs-flow/src/i18n/zh.js
index 85339d6..cc73255 100644
--- a/zy-acs-flow/src/i18n/zh.js
+++ b/zy-acs-flow/src/i18n/zh.js
@@ -64,6 +64,12 @@
             },
             loadMore: '鍔犺浇鏇村',
         },
+        msg: {
+            confirm: {
+                tip: '鎻愮ず',
+                desc: '浣犵‘瀹氳鎿嶄綔姝ら」鍚�?',
+            },
+        },
     },
     filters: {
         lastCreated: '鏈�杩戝垱寤�',
diff --git a/zy-acs-flow/src/page/bus/BusList.jsx b/zy-acs-flow/src/page/bus/BusList.jsx
index fb3d176..ab39add 100644
--- a/zy-acs-flow/src/page/bus/BusList.jsx
+++ b/zy-acs-flow/src/page/bus/BusList.jsx
@@ -47,6 +47,8 @@
 import BusListAside from "./BusListAside";
 import { getBusStsColor } from '@/utils/color-util';
 import CancelIcon from '@mui/icons-material/Cancel';
+import request from '@/utils/request';
+import ConfirmButton from "../components/ConfirmButton";
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -99,8 +101,9 @@
     const [createDialog, setCreateDialog] = useState(false);
     const [drawerVal, setDrawerVal] = useState(false);
 
-    const onCancel = (onCancel) => {
-        alert(onCancel.busNo);
+    const onCancel = (busId) => {
+        console.log(busId);
+
     }
 
     return (
@@ -171,18 +174,29 @@
                     <FunctionField label="common.field.opt" cellClassName="opt" render={record => (
                         (record.busSts === 15 || true) && (
                             // <DeleteButton label="" sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
-                            <Button
+                            // <Button
+                            //     size="small"
+                            //     color="error"
+                            //     startIcon={<CancelIcon />}
+                            //     sx={{ padding: '1px', fontSize: '.75rem' }}
+                            //     onClick={(event) => {
+                            //         event.stopPropagation();
+                            //         onCancel(record);
+                            //     }}
+                            // >
+                            //     {translate('ra.action.cancel')}
+                            // </Button>
+                            <ConfirmButton
+                                label="ra.action.cancel"
                                 size="small"
                                 color="error"
                                 startIcon={<CancelIcon />}
                                 sx={{ padding: '1px', fontSize: '.75rem' }}
-                                onClick={(event) => {
-                                    event.stopPropagation();
-                                    onCancel(record);
+                                data={record.busNo}
+                                onConfirm={() => {
+                                    onCancel(record.id);
                                 }}
-                            >
-                                {translate('ra.action.cancel')}
-                            </Button>
+                            />
                         )
                     )} />
                 </StyledDatagrid>
diff --git a/zy-acs-flow/src/page/components/ConfirmButton.jsx b/zy-acs-flow/src/page/components/ConfirmButton.jsx
new file mode 100644
index 0000000..595c6fd
--- /dev/null
+++ b/zy-acs-flow/src/page/components/ConfirmButton.jsx
@@ -0,0 +1,55 @@
+import React, { useState, useRef, useEffect, useMemo, useCallback } from "react";
+import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@mui/material';
+import {
+    useTranslate,
+} from 'react-admin';
+
+const ConfirmButton = (props) => {
+    const { label, onConfirm, data, ...rest } = props;
+    const translate = useTranslate();
+    const [open, setOpen] = useState(false);
+
+    const handleClickOpen = (event) => {
+        event.stopPropagation();
+        setOpen(true);
+    };
+
+    const handleClose = (event) => {
+        event.stopPropagation();
+        setOpen(false);
+    };
+
+    const handleConfirm = (event) => {
+        handleClose(event);
+        onConfirm();
+    };
+
+    return (
+        <>
+            <Button
+                onClick={handleClickOpen}
+                {...rest}
+            >
+                {translate(label)}
+            </Button>
+            <Dialog open={open} onClose={handleClose}>
+                <DialogTitle>{translate('common.msg.confirm.tip')}</DialogTitle>
+                <DialogContent>
+                    <DialogContentText>
+                        {translate('common.msg.confirm.desc')}
+                    </DialogContentText>
+                </DialogContent>
+                <DialogActions>
+                    <Button onClick={handleClose} color="primary">
+                        {translate('ra.action.cancel')}
+                    </Button>
+                    <Button onClick={handleConfirm} color="primary">
+                        {translate('ra.action.confirm')}
+                    </Button>
+                </DialogActions>
+            </Dialog>
+        </>
+    )
+}
+
+export default ConfirmButton;
\ No newline at end of file

--
Gitblit v1.9.1