From 8e058ad522772460a6964a4ba49002363e1e4d1a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 08 十一月 2024 13:23:23 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/i18n/core/chineseMessages.js | 2
zy-acs-flow/src/page/loc/LocList.jsx | 3 -
zy-acs-flow/src/config/MyDataProvider.js | 13 +++
zy-acs-flow/src/page/loc/BulkUpdateButton.jsx | 129 ++++++++++++++++++++++++++++--------------
zy-acs-flow/src/map/player.js | 8 +-
5 files changed, 102 insertions(+), 53 deletions(-)
diff --git a/zy-acs-flow/src/config/MyDataProvider.js b/zy-acs-flow/src/config/MyDataProvider.js
index 0e453d6..0b515d2 100644
--- a/zy-acs-flow/src/config/MyDataProvider.js
+++ b/zy-acs-flow/src/config/MyDataProvider.js
@@ -89,8 +89,17 @@
// update a list of records based on an array of ids and a common patch
updateMany: async (resource, params) => {
console.log("updateMany", resource, params);
-
- return Promise.resolve();
+ const res = await request.post(
+ resource + '/update/many'
+ , params.ids.map(id => ({ id, ...params.data }))
+ );
+ const { code, msg, data } = res.data;
+ if (code === 200) {
+ return Promise.resolve({
+ data: data,
+ });
+ }
+ return Promise.reject(new Error(msg));
},
// delete a record by id
diff --git a/zy-acs-flow/src/i18n/core/chineseMessages.js b/zy-acs-flow/src/i18n/core/chineseMessages.js
index 81ed6f7..f6eafa3 100644
--- a/zy-acs-flow/src/i18n/core/chineseMessages.js
+++ b/zy-acs-flow/src/i18n/core/chineseMessages.js
@@ -32,7 +32,7 @@
close: '鍏抽棴',
open_menu: 'Open menu',
close_menu: 'Close menu',
- update: 'Update',
+ update: '淇敼',
move_up: 'Move up',
move_down: 'Move down',
open: 'Open',
diff --git a/zy-acs-flow/src/map/player.js b/zy-acs-flow/src/map/player.js
index 2f8b87d..8aff09e 100644
--- a/zy-acs-flow/src/map/player.js
+++ b/zy-acs-flow/src/map/player.js
@@ -238,7 +238,7 @@
const newRotation = this.mapContainer.rotation + value;
const rotationDegrees = (newRotation * 180 / Math.PI) % 360;
- this.rotationText.text = `{ rotation: ${rotationDegrees.toFixed(1)}掳 }`;
+ this.rotationText.text = `{ ROTATION: ${rotationDegrees.toFixed(1)}掳 }`;
new TWEEDLE.Tween(this.mapContainer)
.to({ rotation: newRotation }, 200)
@@ -250,7 +250,7 @@
}
showCoordinates = () => {
- this.coordinatesText = new PIXI.Text('{ x: 0, y: 0 }', {
+ this.coordinatesText = new PIXI.Text('{ X: 0, Y: 0 }', {
fill: this.themeMode === 'dark' ? 0xdddddd : 0x333333,
fontSize: 13,
fontFamily: 'Microsoft YaHei',
@@ -260,7 +260,7 @@
this.coordinatesText.position.set(10, 10);
this.app.stage.addChild(this.coordinatesText);
- this.rotationText = new PIXI.Text('Rotation: 0掳', {
+ this.rotationText = new PIXI.Text('ROTATION: 0掳', {
fill: this.themeMode === 'dark' ? 0xdddddd : 0x333333,
fontSize: 13,
fontFamily: 'Microsoft YaHei',
@@ -272,7 +272,7 @@
this.app.stage.on('pointermove', (event) => {
const worldPos = event.data.getLocalPosition(this.mapContainer);
- this.coordinatesText.text = `{ x: ${worldPos.x.toFixed(2)}, y: ${worldPos.y.toFixed(2)} }`;
+ this.coordinatesText.text = `{ X: ${worldPos.x.toFixed(2)}, Y: ${worldPos.y.toFixed(2)} }`;
});
}
diff --git a/zy-acs-flow/src/page/loc/BulkUpdateButton.jsx b/zy-acs-flow/src/page/loc/BulkUpdateButton.jsx
index 15cf7f9..bfe5f0e 100644
--- a/zy-acs-flow/src/page/loc/BulkUpdateButton.jsx
+++ b/zy-acs-flow/src/page/loc/BulkUpdateButton.jsx
@@ -1,19 +1,33 @@
-// src/components/BulkUpdateButton.js
import React, { useState } from 'react';
-import { useUpdateMany, useRefresh, useNotify, useUnselectAll, Button as RaButton } from 'react-admin';
-import { Dialog, DialogActions, DialogContent, DialogTitle, TextField, Select, MenuItem } from '@mui/material';
+import {
+ useUpdateMany,
+ useRefresh,
+ useNotify,
+ useListContext,
+ useUnselectAll,
+ Button as RaButton,
+ Form,
+ ReferenceInput,
+ AutocompleteInput,
+ NumberInput,
+ TextInput,
+ useTranslate,
+} from 'react-admin';
+import { Dialog, DialogActions, DialogContent, DialogTitle, Grid, Stack, Divider } from '@mui/material';
import UpdateIcon from '@mui/icons-material/Update';
+import MemoInput from "../components/MemoInput";
+import ContentSave from '@mui/icons-material/Save';
+import CloseIcon from '@mui/icons-material/Close';
-const BulkUpdateButton = ({ selectedIds, resource, label }) => {
- console.log('BulkUpdateButton rendered with selectedIds:', selectedIds);
-
+const BulkUpdateButton = ({ resource, label = 'ra.action.update', ...rest }) => {
const [open, setOpen] = useState(false);
const [formData, setFormData] = useState({});
- // Hooks 璋冪敤椤哄簭璋冩暣
const refresh = useRefresh();
const notify = useNotify();
+ const translate = useTranslate();
const unselectAll = useUnselectAll(resource);
+ const { selectedIds, onUnselectItems } = useListContext();
const [updateMany, { loading }] = useUpdateMany(
resource,
@@ -22,11 +36,11 @@
onSuccess: () => {
setOpen(false);
refresh();
- notify('鎵归噺鏇存柊鎴愬姛', { type: 'success' });
+ notify('common.response.success', { type: 'info' });
unselectAll();
},
onError: (error) => {
- notify(`鎵归噺鏇存柊澶辫触: ${error.message}`, { type: 'warning' });
+ notify(error.msg || 'common.response.fail', { type: 'error' });
}
}
);
@@ -43,49 +57,78 @@
};
const handleSubmit = () => {
+ console.log(formData);
updateMany();
};
return (
<>
- <RaButton onClick={handleOpen} startIcon={<UpdateIcon />} label={label || '鎵归噺淇敼'}>
- {/* 濡傛灉浣跨敤 React-Admin 鐨� Button锛屽彲浠ョ渷鐣ュ瓙鑺傜偣 */}
- </RaButton>
+ <RaButton onClick={handleOpen} startIcon={<UpdateIcon />} label={label} />
<Dialog open={open} onClose={handleClose}>
- <DialogTitle>鎵归噺淇敼</DialogTitle>
+ <DialogTitle>{translate('ra.action.update')}</DialogTitle>
<DialogContent>
- {/* 浣跨敤 Select 缁勪欢闄愬埗鐘舵�佸�� */}
- <Select
- margin="dense"
- name="status"
- label="鐘舵��"
- fullWidth
- variant="standard"
- onChange={handleChange}
- defaultValue=""
- >
- <MenuItem value="">
- <em>鏃�</em>
- </MenuItem>
- <MenuItem value="1">鍚敤</MenuItem>
- <MenuItem value="0">绂佺敤</MenuItem>
- </Select>
- <TextField
- margin="dense"
- name="memo"
- label="澶囨敞"
- type="text"
- fullWidth
- variant="standard"
- onChange={handleChange}
- />
+ <Form>
+ <Grid container rowSpacing={2} columnSpacing={2}>
+ <Grid item xs={6} display="flex" gap={1}>
+ <ReferenceInput
+ source="code"
+ reference="code"
+ >
+ <AutocompleteInput
+ label="table.field.loc.code"
+ optionText="data"
+ filterToQuery={(val) => ({ data: val })}
+ />
+ </ReferenceInput>
+ </Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <ReferenceInput
+ source="locSts"
+ reference="locSts"
+ >
+ <AutocompleteInput
+ label="table.field.loc.locSts"
+ optionText="name"
+ filterToQuery={(val) => ({ name: val })}
+ />
+ </ReferenceInput>
+ </Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <NumberInput
+ label="table.field.loc.offset"
+ source="offset"
+ />
+ </Grid>
+ <Grid item xs={12} display="flex" gap={1}>
+ <Stack direction="column" spacing={1} width={'100%'}>
+ <MemoInput />
+ </Stack>
+ </Grid>
+ </Grid>
+ </Form>
</DialogContent>
- <DialogActions>
- <RaButton onClick={handleClose} color="primary">
- 鍙栨秷
+ <Divider sx={{ mb: 1 }} />
+ <DialogActions sx={{ mb: 1 }}>
+ <RaButton
+ onClick={handleClose}
+ variant="contained"
+ color="inherit"
+ size='large'
+ label='ra.action.cancel'
+ sx={{ mr: 1 }}
+ >
+ <CloseIcon />
</RaButton>
- <RaButton onClick={handleSubmit} color="primary" disabled={loading}>
- 纭
+ <RaButton
+ onClick={handleSubmit}
+ variant="contained"
+ color="primary"
+ size='large'
+ label='ra.action.save'
+ disabled={loading}
+ sx={{ mr: 1 }}
+ >
+ <ContentSave />
</RaButton>
</DialogActions>
</Dialog>
diff --git a/zy-acs-flow/src/page/loc/LocList.jsx b/zy-acs-flow/src/page/loc/LocList.jsx
index 980a84d..d06d296 100644
--- a/zy-acs-flow/src/page/loc/LocList.jsx
+++ b/zy-acs-flow/src/page/loc/LocList.jsx
@@ -101,14 +101,11 @@
]
const LocBulkActionButtons = (props) => {
- const translate = useTranslate();
-
return (
<>
<BulkUpdateButton
{...props}
resource="loc"
- label={translate('ra.action.update')}
/>
<BulkDeleteButton mutationMode={OPERATE_MODE} />
</>
--
Gitblit v1.9.1