From a4f22fb631ae29430a3f76d49f547423816b7297 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 28 二月 2024 13:42:12 +0800
Subject: [PATCH] #
---
zy-asrs-framework/src/main/resources/templates/react/Index.txt | 70 ++++++-----
zy-asrs-framework/src/main/resources/templates/react/Edit.txt | 8 +
zy-asrs-flow/src/locales/en-US.ts | 47 +++++++
zy-asrs-flow/src/pages/system/host/index.jsx | 66 +++++-----
zy-asrs-flow/src/pages/account/setting/components/base.jsx | 14 +-
zy-asrs-flow/src/pages/account/setting/components/security.jsx | 27 ++--
zy-asrs-flow/src/pages/account/setting/index.jsx | 20 +-
zy-asrs-flow/src/pages/system/dept/components/edit.jsx | 8 +
zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/BetterGenerator.java | 6 -
zy-asrs-flow/src/pages/system/dept/index.jsx | 65 +++++-----
zy-asrs-flow/src/pages/system/host/components/edit.jsx | 12 +
11 files changed, 201 insertions(+), 142 deletions(-)
diff --git a/zy-asrs-flow/src/locales/en-US.ts b/zy-asrs-flow/src/locales/en-US.ts
index 5bc95dd..7c632b7 100644
--- a/zy-asrs-flow/src/locales/en-US.ts
+++ b/zy-asrs-flow/src/locales/en-US.ts
@@ -1,4 +1,49 @@
export default {
'page.table.no': 'No',
- 'page.save': 'Add New',
+ 'page.add': 'Add New',
+ 'page.adding':'In process of adding',
+ 'page.add.success':'Add Successful',
+ 'page.add.fail':'Add failed, please try again!',
+ 'page.updating':'Updating now',
+ 'page.update.success':'Update Successful',
+ 'page.update.fail':'Update failed, please try again!',
+ 'page.deleting':'In process of deletion',
+ 'page.delete.success':'Deletion Successful',
+ 'page.delete.fail':'Deletion failed, please try again!',
+ 'page.exporting':'Exporting...',
+ 'page.export.success':'Exported successfully',
+ 'page.export.fail':'Export failed, please try again.',
+ 'page.edit':'Edit',
+ 'page.delete':'Delete',
+ 'page.delete.confirm':'Are you sure that you want to delete this item?',
+ 'page.export':'Export',
+ 'page.selected':' has been selected',
+ 'page.delete.batch':'Batch Delete',
+ '':'',
+ '':'',
+ 'personal.base.setting':'Basic Settings',
+ 'personal.security.setting':'Security Settings',
+ 'personal.base.button.name':'Update Basic Information',
+ 'personal.security.button.name':'Update Password',
+ 'personal.security.cur.pwd':'Current Password',
+ 'personal.security.new.pwd':'New Password',
+ 'personal.security.new.pwd.confirm':'Confirm Password',
+ 'personal.security.new.pwd.rule.length':'The new password must be 4 to 16 characters',
+ 'personal.security.new.pwd.rule.check':'The passwords entered twice do not matc',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
+ '':'',
};
diff --git a/zy-asrs-flow/src/pages/account/setting/components/base.jsx b/zy-asrs-flow/src/pages/account/setting/components/base.jsx
index bcbff4b..23b8217 100644
--- a/zy-asrs-flow/src/pages/account/setting/components/base.jsx
+++ b/zy-asrs-flow/src/pages/account/setting/components/base.jsx
@@ -6,25 +6,26 @@
ProFormDigit
} from '@ant-design/pro-components';
import { Button, Input, message, Upload, Form } from 'antd';
+import { FormattedMessage, useIntl } from '@umijs/max';
import React from 'react';
import useStyles from './index.style';
import Http from '@/utils/http';
import defaultAvat from '/public/img/defaultAva.png'
-const handleUpdate = async (val) => {
- const hide = message.loading('姝e湪鏇存柊');
+const handleUpdate = async (val, intl) => {
+ const hide = message.loading(intl.formatMessage({ id: 'page.updating', defaultMessage: '姝e湪鏇存柊' }));
try {
const resp = await Http.doPost('api/user/update', val);
if (resp.code === 200) {
- message.success('鏇存柊鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.update.success', defaultMessage: '鏇存柊鎴愬姛' }));
return true;
} else {
message.error(resp.msg);
return false;
}
} catch (error) {
- message.error('閰嶇疆澶辫触璇烽噸璇曪紒');
+ message.error(intl.formatMessage({ id: 'page.update.fail', defaultMessage: '鏇存柊澶辫触璇烽噸璇曪紒' }));
return false;
} finally {
hide();
@@ -32,6 +33,7 @@
};
const BaseView = () => {
+ const intl = useIntl();
const { styles } = useStyles();
const [loading, setLoading] = React.useState(false);
const [currentUser, setCurrentUser] = React.useState({});
@@ -79,7 +81,7 @@
};
const handleFinish = async (values) => {
- handleUpdate(values);
+ handleUpdate(values, intl);
};
return (
@@ -93,7 +95,7 @@
onFinish={handleFinish}
submitter={{
searchConfig: {
- submitText: '鏇存柊鍩烘湰淇℃伅',
+ submitText: intl.formatMessage({ id: 'personal.base.button.name', defaultMessage: '鏇存柊鍩烘湰淇℃伅' }),
},
render: (_, dom) => dom[1],
}}
diff --git a/zy-asrs-flow/src/pages/account/setting/components/security.jsx b/zy-asrs-flow/src/pages/account/setting/components/security.jsx
index 83cc5fb..95a5dcc 100644
--- a/zy-asrs-flow/src/pages/account/setting/components/security.jsx
+++ b/zy-asrs-flow/src/pages/account/setting/components/security.jsx
@@ -4,15 +4,16 @@
ProForm,
ProFormText
} from '@ant-design/pro-components';
+import { FormattedMessage, useIntl } from '@umijs/max';
import { useModel } from '@umijs/max';
import Http from '@/utils/http';
-const resetPwd = async (val, form) => {
- const hide = message.loading('姝e湪淇敼');
+const resetPwd = async (val, form, intl) => {
+ const hide = message.loading(intl.formatMessage({ id: 'page.updating', defaultMessage: '姝e湪淇敼' }));
try {
const resp = await Http.doPost('api/user/reset/pwd', val);
if (resp.code === 200) {
- message.success('淇敼鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.update.success', defaultMessage: '淇敼鎴愬姛' }));
form.resetFields();
return true;
} else {
@@ -20,7 +21,7 @@
return false;
}
} catch (error) {
- message.error('淇敼澶辫触璇烽噸璇曪紒');
+ message.error(intl.formatMessage({ id: 'page.update.fail', defaultMessage: '淇敼澶辫触璇烽噸璇曪紒' }));
return false;
} finally {
hide();
@@ -28,12 +29,13 @@
};
const SecurityView = () => {
+ const intl = useIntl();
const [form] = Form.useForm();
const { initialState } = useModel('@@initialState');
const { currentUser } = initialState || {};
const handleFinish = (values) => {
- resetPwd({...values, id: currentUser.id}, form);
+ resetPwd({ ...values, id: currentUser.id }, form, intl);
}
return (
@@ -45,7 +47,7 @@
onFinish={handleFinish}
submitter={{
searchConfig: {
- submitText: '淇敼瀵嗙爜',
+ submitText: intl.formatMessage({ id: 'personal.security.button.name', defaultMessage: '淇敼瀵嗙爜' }),
},
render: (_, dom) => dom[1],
}}
@@ -53,29 +55,27 @@
<ProFormText.Password
width="md"
name="oldPwd"
- label="褰撳墠瀵嗙爜"
+ label={intl.formatMessage({ id: 'personal.security.cur.pwd', defaultMessage: '褰撳墠瀵嗙爜' })}
rules={[
{
required: true,
- message: '璇疯緭鍏ュ綋鍓嶅瘑鐮�!',
},
]}
/>
<ProFormText.Password
width="md"
name="password"
- label="鏂板瘑鐮�"
+ label={intl.formatMessage({ id: 'personal.security.new.pwd', defaultMessage: '鏂板瘑鐮�' })}
rules={[
{
required: true,
- message: '璇疯緭鍏ユ柊瀵嗙爜!',
},
{
validator(_, value) {
if (value.length >= 4 && value.length <= 16) {
return Promise.resolve();
}
- return Promise.reject(new Error('鏂板瘑鐮佸繀椤绘槸4鍒�16涓瓧绗�!'));
+ return Promise.reject(new Error(intl.formatMessage({ id: 'personal.security.new.pwd.rule.length', defaultMessage: '鏂板瘑鐮佸繀椤绘槸4鍒�16涓瓧绗�!' })));
},
},
]}
@@ -83,16 +83,15 @@
<ProFormText.Password
width="md"
name="passwordRepeat"
- label="纭瀵嗙爜"
+ label={intl.formatMessage({ id: 'personal.security.new.pwd.confirm', defaultMessage: '纭瀵嗙爜' })}
rules={[
{
required: true,
- message: '璇峰啀娆¤緭鍏ユ柊瀵嗙爜!',
},
{
validator(_, value) {
if (form.getFieldValue('password') === value) return Promise.resolve();
- return Promise.reject(new Error('涓ゆ杈撳叆鐨勫瘑鐮佷笉鐩哥!'));
+ return Promise.reject(new Error(intl.formatMessage({ id: 'personal.security.new.pwd.rule.check', defaultMessage: '涓ゆ杈撳叆鐨勫瘑鐮佷笉鐩哥!' })));
}
}
]}
diff --git a/zy-asrs-flow/src/pages/account/setting/index.jsx b/zy-asrs-flow/src/pages/account/setting/index.jsx
index 85141e9..19c153d 100644
--- a/zy-asrs-flow/src/pages/account/setting/index.jsx
+++ b/zy-asrs-flow/src/pages/account/setting/index.jsx
@@ -1,26 +1,28 @@
import { GridContent } from '@ant-design/pro-components';
import { Menu } from 'antd';
import React, { useLayoutEffect, useRef, useState } from 'react';
+import { FormattedMessage, useIntl } from '@umijs/max';
import BaseView from './components/base';
import SecurityView from './components/security';
import useStyles from './style.style';
-const menuMap = {
- base: '鍩烘湰璁剧疆',
- security: '瀹夊叏璁剧疆',
-};
-
-const getMenu = () => {
- return Object.keys(menuMap).map((item) => ({ key: item, label: menuMap[item] }));
-};
-
const Settings = () => {
+ const intl = useIntl();
const { styles } = useStyles();
const [initConfig, setInitConfig] = useState({
mode: 'inline',
selectKey: 'base',
});
+ const menuMap = {
+ base: intl.formatMessage({ id: 'personal.base.setting', defaultMessage: '鍩烘湰璁剧疆' }),
+ security: intl.formatMessage({ id: 'personal.security.setting', defaultMessage: '瀹夊叏璁剧疆' }),
+ };
+
+ const getMenu = () => {
+ return Object.keys(menuMap).map((item) => ({ key: item, label: menuMap[item] }));
+ };
+
const dom = useRef();
const resize = () => {
diff --git a/zy-asrs-flow/src/pages/system/dept/components/edit.jsx b/zy-asrs-flow/src/pages/system/dept/components/edit.jsx
index 188f718..6f6b6c5 100644
--- a/zy-asrs-flow/src/pages/system/dept/components/edit.jsx
+++ b/zy-asrs-flow/src/pages/system/dept/components/edit.jsx
@@ -8,10 +8,12 @@
ProFormTreeSelect
} from '@ant-design/pro-components';
import { Form, Modal } from 'antd';
+import { FormattedMessage, useIntl } from '@umijs/max';
import moment from 'moment';
import Http from '@/utils/http';
const Edit = (props) => {
+ const intl = useIntl();
const [form] = Form.useForm();
const { } = props;
@@ -37,7 +39,11 @@
return (
<>
<Modal
- title="Edit"
+ title={
+ Object.keys(props.values).length > 0
+ ? intl.formatMessage({ id: 'page.edit', defaultMessage: '缂栬緫' })
+ : intl.formatMessage({ id: 'page.add', defaultMessage: '娣诲姞' })
+ }
width={640}
forceRender
destroyOnClose
diff --git a/zy-asrs-flow/src/pages/system/dept/index.jsx b/zy-asrs-flow/src/pages/system/dept/index.jsx
index 154b647..717e854 100644
--- a/zy-asrs-flow/src/pages/system/dept/index.jsx
+++ b/zy-asrs-flow/src/pages/system/dept/index.jsx
@@ -7,6 +7,7 @@
ProTable,
LightFilter,
} from '@ant-design/pro-components';
+import { FormattedMessage, useIntl } from '@umijs/max';
import { PlusOutlined, ExportOutlined } from '@ant-design/icons';
import Http from '@/utils/http';
import Edit from './components/edit'
@@ -17,74 +18,74 @@
const TABLE_KEY = "pro-table-dept";
-const handleSave = async (val) => {
- const hide = message.loading('姝e湪娣诲姞');
+const handleSave = async (val, intl) => {
+ const hide = message.loading(intl.formatMessage({ id: 'page.adding', defaultMessage: '姝e湪娣诲姞' }));
try {
const resp = await Http.doPost('api/dept/save', val);
if (resp.code === 200) {
- message.success('娣诲姞鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.add.success', defaultMessage: '娣诲姞鎴愬姛' }));
return true;
} else {
message.error(resp.msg);
return false;
}
} catch (error) {
- message.error('娣诲姞澶辫触璇烽噸璇曪紒');
+ message.error(intl.formatMessage({ id: 'page.add.fail', defaultMessage: '娣诲姞澶辫触璇烽噸璇曪紒' }));
return false;
} finally {
hide();
}
};
-const handleUpdate = async (val) => {
- const hide = message.loading('姝e湪鏇存柊');
+const handleUpdate = async (val, intl) => {
+ const hide = message.loading(intl.formatMessage({ id: 'page.updating', defaultMessage: '姝e湪鏇存柊' }));
try {
const resp = await Http.doPost('api/dept/update', val);
if (resp.code === 200) {
- message.success('鏇存柊鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.update.success', defaultMessage: '鏇存柊鎴愬姛' }));
return true;
} else {
message.error(resp.msg);
return false;
}
} catch (error) {
- message.error('閰嶇疆澶辫触璇烽噸璇曪紒');
+ message.error(intl.formatMessage({ id: 'page.update.fail', defaultMessage: '鏇存柊澶辫触璇烽噸璇曪紒' }));
return false;
} finally {
hide();
}
};
-const handleRemove = async (rows) => {
+const handleRemove = async (rows, intl) => {
if (!rows) return true;
- const hide = message.loading('姝e湪鍒犻櫎');
+ const hide = message.loading(intl.formatMessage({ id: 'page.deleting', defaultMessage: '姝e湪鍒犻櫎' }));
try {
const resp = await Http.doPost('api/dept/remove/' + rows.map((row) => row.id).join(','));
if (resp.code === 200) {
- message.success('鍒犻櫎鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.delete.success', defaultMessage: '鍒犻櫎鎴愬姛' }));
return true;
} else {
message.error(resp.msg);
return false;
}
} catch (error) {
- message.error('鍒犻櫎澶辫触锛岃閲嶈瘯');
+ message.error(intl.formatMessage({ id: 'page.delete.fail', defaultMessage: '鍒犻櫎澶辫触锛岃閲嶈瘯锛�' }));
return false;
} finally {
hide();
}
};
-const handleExport = async () => {
- const hide = message.loading('姝e湪瀵煎嚭');
+const handleExport = async (intl) => {
+ const hide = message.loading(intl.formatMessage({ id: 'page.exporting', defaultMessage: '姝e湪瀵煎嚭' }));
try {
const resp = await Http.doPostBlob('api/dept/export');
const blob = new Blob([resp], { type: 'application/vnd.ms-excel' });
window.location.href = window.URL.createObjectURL(blob);
- message.success('瀵煎嚭鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.export.success', defaultMessage: '瀵煎嚭鎴愬姛' }));
return true;
} catch (error) {
- message.error('瀵煎嚭澶辫触锛岃閲嶈瘯');
+ message.error(intl.formatMessage({ id: 'page.export.fail', defaultMessage: '瀵煎嚭澶辫触锛岃閲嶈瘯' }));
return false;
} finally {
hide();
@@ -93,6 +94,7 @@
const Main = () => {
+ const intl = useIntl();
const formTableRef = useRef();
const actionRef = useRef();
const [selectedRows, setSelectedRows] = useState([]);
@@ -303,7 +305,7 @@
setCurrentRow(record);
}}
>
- 缂栬緫
+ <FormattedMessage id='page.edit' defaultMessage='缂栬緫' />
</Button>,
<Button
type="link"
@@ -311,10 +313,10 @@
key="batchRemove"
onClick={async () => {
Modal.confirm({
- title: '鍒犻櫎',
- content: '纭畾鍒犻櫎璇ラ」鍚楋紵',
+ title: intl.formatMessage({ id: 'page.delete', defaultMessage: '鍒犻櫎' }),
+ content: intl.formatMessage({ id: 'page.delete.confirm', defaultMessage: '纭畾鍒犻櫎璇ラ」鍚楋紵' }),
onOk: async () => {
- const success = await handleRemove([record]);
+ const success = await handleRemove([record], intl);
if (success) {
if (actionRef.current) {
actionRef.current.reload();
@@ -324,7 +326,7 @@
});
}}
>
- 鍒犻櫎
+ <FormattedMessage id='page.delete' defaultMessage='鍒犻櫎' />
</Button>,
],
},
@@ -374,16 +376,16 @@
}}
>
<PlusOutlined />
- 娣诲姞
+ <FormattedMessage id='page.add' defaultMessage='娣诲姞' />
</Button>,
<Button
key="export"
onClick={async () => {
- handleExport();
+ handleExport(intl);
}}
>
<ExportOutlined />
- 瀵煎嚭
+ <FormattedMessage id='page.export' defaultMessage='瀵煎嚭' />
</Button>,
],
}}
@@ -427,9 +429,8 @@
<FooterToolbar
extra={
<div>
- 宸查�夋嫨
<a style={{ fontWeight: 600 }}>{selectedRows.length}</a>
- 椤�
+ <FormattedMessage id='page.selected' defaultMessage=' 椤瑰凡閫夋嫨' />
</div>
}
>
@@ -438,10 +439,10 @@
danger
onClick={async () => {
Modal.confirm({
- title: '鍒犻櫎',
- content: '纭畾鍒犻櫎璇ラ」鍚楋紵',
+ title: intl.formatMessage({ id: 'page.delete', defaultMessage: '鍒犻櫎' }),
+ content: intl.formatMessage({ id: 'page.delete.confirm', defaultMessage: '纭畾鍒犻櫎璇ラ」鍚楋紵' }),
onOk: async () => {
- const success = await handleRemove(selectedRows);
+ const success = await handleRemove(selectedRows, intl);
if (success) {
setSelectedRows([]);
actionRef.current?.reloadAndRest?.();
@@ -450,7 +451,7 @@
});
}}
>
- 鎵归噺鍒犻櫎
+ <FormattedMessage id='page.delete.batch' defaultMessage='鎵归噺鍒犻櫎' />
</Button>
</FooterToolbar>
)}
@@ -468,9 +469,9 @@
onSubmit={async (values) => {
let ok = false;
if (values.id) {
- ok = await handleUpdate({ ...values })
+ ok = await handleUpdate({ ...values }, intl)
} else {
- ok = await handleSave({ ...values })
+ ok = await handleSave({ ...values }, intl)
}
if (ok) {
setModalVisible(false);
diff --git a/zy-asrs-flow/src/pages/system/host/components/edit.jsx b/zy-asrs-flow/src/pages/system/host/components/edit.jsx
index 4950fb5..a761c78 100644
--- a/zy-asrs-flow/src/pages/system/host/components/edit.jsx
+++ b/zy-asrs-flow/src/pages/system/host/components/edit.jsx
@@ -7,10 +7,12 @@
ProFormDateTimePicker
} from '@ant-design/pro-components';
import { Form, Modal } from 'antd';
+import { FormattedMessage, useIntl } from '@umijs/max';
import moment from 'moment';
import Http from '@/utils/http';
const Edit = (props) => {
+ const intl = useIntl();
const [form] = Form.useForm();
const { } = props;
@@ -36,7 +38,11 @@
return (
<>
<Modal
- title="Edit"
+ title={
+ Object.keys(props.values).length > 0
+ ? intl.formatMessage({ id: 'page.edit', defaultMessage: '缂栬緫' })
+ : intl.formatMessage({ id: 'page.add', defaultMessage: '娣诲姞' })
+ }
width={640}
forceRender
destroyOnClose
@@ -61,14 +67,12 @@
name="name"
label="鍚嶇О"
colProps={{ md: 12, xl: 12 }}
- placeholder="璇疯緭鍏�"
rules={[{ required: true, message: "鍚嶇О涓嶈兘涓虹┖锛�" }]}
/>
<ProFormSelect
name="status"
label="鐘舵��"
colProps={{ md: 12, xl: 12 }}
- placeholder="璇烽�夋嫨"
options={[
{ label: '姝e父', value: 1 },
{ label: '绂佺敤', value: 0 },
@@ -80,14 +84,12 @@
name="createTime"
label="娣诲姞鏃堕棿"
colProps={{ md: 12, xl: 12 }}
- placeholder="璇烽�夋嫨"
transform={(value) => moment(value).toISOString()}
/>
<ProFormDateTimePicker
name="updateTime"
label="淇敼鏃堕棿"
colProps={{ md: 12, xl: 12 }}
- placeholder="璇烽�夋嫨"
transform={(value) => moment(value).toISOString()}
/>
</ProForm.Group>
diff --git a/zy-asrs-flow/src/pages/system/host/index.jsx b/zy-asrs-flow/src/pages/system/host/index.jsx
index 8f96bc3..7f81166 100644
--- a/zy-asrs-flow/src/pages/system/host/index.jsx
+++ b/zy-asrs-flow/src/pages/system/host/index.jsx
@@ -7,90 +7,89 @@
ProTable,
LightFilter,
} from '@ant-design/pro-components';
+import { FormattedMessage, useIntl } from '@umijs/max';
import { PlusOutlined, ExportOutlined } from '@ant-design/icons';
import Http from '@/utils/http';
import Edit from './components/edit'
import { TextFilter, SelectFilter, DatetimeRangeFilter, LinkFilter } from '@/components/TableSearch'
import { repairBug } from '@/utils/common-util';
import { statusMap } from '@/utils/enum-util'
-import { FormattedMessage, useIntl } from '@umijs/max';
const TABLE_KEY = "pro-table-host";
-const handleSave = async (val) => {
- const hide = message.loading('姝e湪娣诲姞');
+const handleSave = async (val, intl) => {
+ const hide = message.loading(intl.formatMessage({ id: 'page.adding', defaultMessage: '姝e湪娣诲姞' }));
try {
const resp = await Http.doPost('api/host/save', val);
if (resp.code === 200) {
- message.success('娣诲姞鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.add.success', defaultMessage: '娣诲姞鎴愬姛' }));
return true;
} else {
message.error(resp.msg);
return false;
}
} catch (error) {
- message.error('娣诲姞澶辫触璇烽噸璇曪紒');
+ message.error(intl.formatMessage({ id: 'page.add.fail', defaultMessage: '娣诲姞澶辫触璇烽噸璇曪紒' }));
return false;
} finally {
hide();
}
};
-const handleUpdate = async (val) => {
- const hide = message.loading('姝e湪鏇存柊');
+const handleUpdate = async (val, intl) => {
+ const hide = message.loading(intl.formatMessage({ id: 'page.updating', defaultMessage: '姝e湪鏇存柊' }));
try {
const resp = await Http.doPost('api/host/update', val);
if (resp.code === 200) {
- message.success('鏇存柊鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.update.success', defaultMessage: '鏇存柊鎴愬姛' }));
return true;
} else {
message.error(resp.msg);
return false;
}
} catch (error) {
- message.error('閰嶇疆澶辫触璇烽噸璇曪紒');
+ message.error(intl.formatMessage({ id: 'page.update.fail', defaultMessage: '鏇存柊澶辫触璇烽噸璇曪紒' }));
return false;
} finally {
hide();
}
};
-const handleRemove = async (rows) => {
+const handleRemove = async (rows, intl) => {
if (!rows) return true;
- const hide = message.loading('姝e湪鍒犻櫎');
+ const hide = message.loading(intl.formatMessage({ id: 'page.deleting', defaultMessage: '姝e湪鍒犻櫎' }));
try {
const resp = await Http.doPost('api/host/remove/' + rows.map((row) => row.id).join(','));
if (resp.code === 200) {
- message.success('鍒犻櫎鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.delete.success', defaultMessage: '鍒犻櫎鎴愬姛' }));
return true;
} else {
message.error(resp.msg);
return false;
}
} catch (error) {
- message.error('鍒犻櫎澶辫触锛岃閲嶈瘯');
+ message.error(intl.formatMessage({ id: 'page.delete.fail', defaultMessage: '鍒犻櫎澶辫触锛岃閲嶈瘯锛�' }));
return false;
} finally {
hide();
}
};
-const handleExport = async () => {
- const hide = message.loading('姝e湪瀵煎嚭');
+const handleExport = async (intl) => {
+ const hide = message.loading(intl.formatMessage({ id: 'page.exporting', defaultMessage: '姝e湪瀵煎嚭' }));
try {
const resp = await Http.doPostBlob('api/host/export');
const blob = new Blob([resp], { type: 'application/vnd.ms-excel' });
window.location.href = window.URL.createObjectURL(blob);
- message.success('瀵煎嚭鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.export.success', defaultMessage: '瀵煎嚭鎴愬姛' }));
return true;
} catch (error) {
- message.error('瀵煎嚭澶辫触锛岃閲嶈瘯');
+ message.error(intl.formatMessage({ id: 'page.export.fail', defaultMessage: '瀵煎嚭澶辫触锛岃閲嶈瘯' }));
return false;
} finally {
hide();
}
};
-
const Main = () => {
const intl = useIntl();
@@ -204,7 +203,7 @@
setCurrentRow(record);
}}
>
- 缂栬緫
+ <FormattedMessage id='page.edit' defaultMessage='缂栬緫' />
</Button>,
<Button
type="link"
@@ -212,10 +211,10 @@
key="batchRemove"
onClick={async () => {
Modal.confirm({
- title: '鍒犻櫎',
- content: '纭畾鍒犻櫎璇ラ」鍚楋紵',
+ title: intl.formatMessage({ id: 'page.delete', defaultMessage: '鍒犻櫎' }),
+ content: intl.formatMessage({ id: 'page.delete.confirm', defaultMessage: '纭畾鍒犻櫎璇ラ」鍚楋紵' }),
onOk: async () => {
- const success = await handleRemove([record]);
+ const success = await handleRemove([record], intl);
if (success) {
if (actionRef.current) {
actionRef.current.reload();
@@ -225,7 +224,7 @@
});
}}
>
- 鍒犻櫎
+ <FormattedMessage id='page.delete' defaultMessage='鍒犻櫎' />
</Button>,
],
},
@@ -275,16 +274,16 @@
}}
>
<PlusOutlined />
- <FormattedMessage id='page.save' defaultMessage='Add' />
+ <FormattedMessage id='page.add' defaultMessage='娣诲姞' />
</Button>,
<Button
key="export"
onClick={async () => {
- handleExport();
+ handleExport(intl);
}}
>
<ExportOutlined />
- 瀵煎嚭
+ <FormattedMessage id='page.export' defaultMessage='瀵煎嚭' />
</Button>,
],
}}
@@ -318,9 +317,8 @@
<FooterToolbar
extra={
<div>
- 宸查�夋嫨
<a style={{ fontWeight: 600 }}>{selectedRows.length}</a>
- 椤�
+ <FormattedMessage id='page.selected' defaultMessage=' 椤瑰凡閫夋嫨' />
</div>
}
>
@@ -329,10 +327,10 @@
danger
onClick={async () => {
Modal.confirm({
- title: '鍒犻櫎',
- content: '纭畾鍒犻櫎璇ラ」鍚楋紵',
+ title: intl.formatMessage({ id: 'page.delete', defaultMessage: '鍒犻櫎' }),
+ content: intl.formatMessage({ id: 'page.delete.confirm', defaultMessage: '纭畾鍒犻櫎璇ラ」鍚楋紵' }),
onOk: async () => {
- const success = await handleRemove(selectedRows);
+ const success = await handleRemove(selectedRows, intl);
if (success) {
setSelectedRows([]);
actionRef.current?.reloadAndRest?.();
@@ -341,7 +339,7 @@
});
}}
>
- 鎵归噺鍒犻櫎
+ <FormattedMessage id='page.delete.batch' defaultMessage='鎵归噺鍒犻櫎' />
</Button>
</FooterToolbar>
)}
@@ -358,9 +356,9 @@
onSubmit={async (values) => {
let ok = false;
if (values.id) {
- ok = await handleUpdate({ ...values })
+ ok = await handleUpdate({ ...values }, intl)
} else {
- ok = await handleSave({ ...values })
+ ok = await handleSave({ ...values }, intl)
}
if (ok) {
setModalVisible(false);
diff --git a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/BetterGenerator.java b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/BetterGenerator.java
index a557854..755b764 100644
--- a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/BetterGenerator.java
+++ b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/BetterGenerator.java
@@ -919,12 +919,6 @@
if (!Cools.isEmpty(precision) && Cools.isEmpty(column.getEnums())) {
sb.append(" fieldProps={{ precision: ").append(precision).append(" }}\n");
}
- if ("Date".equals(column.getType()) || !Cools.isEmpty(column.getEnums()) || !Cools.isEmpty(column.getForeignKeyMajor())){
- // 鏃堕棿銆佹灇涓� 鏍煎紡鍖� 涓婚敭淇グ
- sb.append(" placeholder=\"璇烽�夋嫨\"\n");
- } else {
- sb.append(" placeholder=\"璇疯緭鍏"\n");
- }
// 闈炵┖
if (column.isNotNull()) {
diff --git a/zy-asrs-framework/src/main/resources/templates/react/Edit.txt b/zy-asrs-framework/src/main/resources/templates/react/Edit.txt
index b3e5ab4..cf8b9f5 100644
--- a/zy-asrs-framework/src/main/resources/templates/react/Edit.txt
+++ b/zy-asrs-framework/src/main/resources/templates/react/Edit.txt
@@ -7,10 +7,12 @@
ProFormDateTimePicker
} from '@ant-design/pro-components';
import { Form, Modal } from 'antd';
+import { FormattedMessage, useIntl } from '@umijs/max';
import moment from 'moment';
import Http from '@/utils/http';
const Edit = (props) => {
+ const intl = useIntl();
const [form] = Form.useForm();
const { } = props;
@@ -36,7 +38,11 @@
return (
<>
<Modal
- title="Edit"
+ title={
+ Object.keys(props.values).length > 0
+ ? intl.formatMessage({ id: 'page.edit', defaultMessage: '缂栬緫' })
+ : intl.formatMessage({ id: 'page.add', defaultMessage: '娣诲姞' })
+ }
width={640}
forceRender
destroyOnClose
diff --git a/zy-asrs-framework/src/main/resources/templates/react/Index.txt b/zy-asrs-framework/src/main/resources/templates/react/Index.txt
index 73a7514..44a7174 100644
--- a/zy-asrs-framework/src/main/resources/templates/react/Index.txt
+++ b/zy-asrs-framework/src/main/resources/templates/react/Index.txt
@@ -7,6 +7,7 @@
ProTable,
LightFilter,
} from '@ant-design/pro-components';
+import { FormattedMessage, useIntl } from '@umijs/max';
import { PlusOutlined, ExportOutlined } from '@ant-design/icons';
import Http from '@/utils/http';
import Edit from './components/edit'
@@ -16,74 +17,74 @@
const TABLE_KEY = 'pro-table-@{SIMPLEENTITYNAME}';
-const handleSave = async (val) => {
- const hide = message.loading('姝e湪娣诲姞');
+const handleSave = async (val, intl) => {
+ const hide = message.loading(intl.formatMessage({ id: 'page.adding', defaultMessage: '姝e湪娣诲姞' }));
try {
const resp = await Http.doPost('api/@{SIMPLEENTITYNAME}/save', val);
if (resp.code === 200) {
- message.success('娣诲姞鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.add.success', defaultMessage: '娣诲姞鎴愬姛' }));
return true;
} else {
message.error(resp.msg);
return false;
}
} catch (error) {
- message.error('娣诲姞澶辫触璇烽噸璇曪紒');
+ message.error(intl.formatMessage({ id: 'page.add.fail', defaultMessage: '娣诲姞澶辫触璇烽噸璇曪紒' }));
return false;
} finally {
hide();
}
};
-const handleUpdate = async (val) => {
- const hide = message.loading('姝e湪鏇存柊');
+const handleUpdate = async (val, intl) => {
+ const hide = message.loading(intl.formatMessage({ id: 'page.updating', defaultMessage: '姝e湪鏇存柊' }));
try {
const resp = await Http.doPost('api/@{SIMPLEENTITYNAME}/update', val);
if (resp.code === 200) {
- message.success('鏇存柊鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.update.success', defaultMessage: '鏇存柊鎴愬姛' }));
return true;
} else {
message.error(resp.msg);
return false;
}
} catch (error) {
- message.error('閰嶇疆澶辫触璇烽噸璇曪紒');
+ message.error(intl.formatMessage({ id: 'page.update.fail', defaultMessage: '鏇存柊澶辫触璇烽噸璇曪紒' }));
return false;
} finally {
hide();
}
};
-const handleRemove = async (rows) => {
+const handleRemove = async (rows, intl) => {
if (!rows) return true;
- const hide = message.loading('姝e湪鍒犻櫎');
+ const hide = message.loading(intl.formatMessage({ id: 'page.deleting', defaultMessage: '姝e湪鍒犻櫎' }));
try {
const resp = await Http.doPost('api/@{SIMPLEENTITYNAME}/remove/' + rows.map((row) => row.id).join(','));
if (resp.code === 200) {
- message.success('鍒犻櫎鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.delete.success', defaultMessage: '鍒犻櫎鎴愬姛' }));
return true;
} else {
message.error(resp.msg);
return false;
}
} catch (error) {
- message.error('鍒犻櫎澶辫触锛岃閲嶈瘯');
+ message.error(intl.formatMessage({ id: 'page.delete.fail', defaultMessage: '鍒犻櫎澶辫触锛岃閲嶈瘯锛�' }));
return false;
} finally {
hide();
}
};
-const handleExport = async () => {
- const hide = message.loading('姝e湪瀵煎嚭');
+const handleExport = async (intl) => {
+ const hide = message.loading(intl.formatMessage({ id: 'page.exporting', defaultMessage: '姝e湪瀵煎嚭' }));
try {
const resp = await Http.doPostBlob('api/@{SIMPLEENTITYNAME}/export');
const blob = new Blob([resp], { type: 'application/vnd.ms-excel' });
window.location.href = window.URL.createObjectURL(blob);
- message.success('瀵煎嚭鎴愬姛');
+ message.success(intl.formatMessage({ id: 'page.export.success', defaultMessage: '瀵煎嚭鎴愬姛' }));
return true;
} catch (error) {
- message.error('瀵煎嚭澶辫触锛岃閲嶈瘯');
+ message.error(intl.formatMessage({ id: 'page.export.fail', defaultMessage: '瀵煎嚭澶辫触锛岃閲嶈瘯' }));
return false;
} finally {
hide();
@@ -92,6 +93,7 @@
const Main = () => {
+ const intl = useIntl();
const formTableRef = useRef();
const actionRef = useRef();
const [selectedRows, setSelectedRows] = useState([]);
@@ -105,7 +107,10 @@
const columns = [
{
- title: 'No',
+ title: intl.formatMessage({
+ id: 'page.table.no',
+ defaultMessage: 'No'
+ }),
dataIndex: 'index',
valueType: 'indexBorder',
width: 48,
@@ -125,7 +130,7 @@
setCurrentRow(record);
}}
>
- 缂栬緫
+ <FormattedMessage id='page.edit' defaultMessage='缂栬緫' />
</Button>,
<Button
type="link"
@@ -133,10 +138,10 @@
key="batchRemove"
onClick={async () => {
Modal.confirm({
- title: '鍒犻櫎',
- content: '纭畾鍒犻櫎璇ラ」鍚楋紵',
+ title: intl.formatMessage({ id: 'page.delete', defaultMessage: '鍒犻櫎' }),
+ content: intl.formatMessage({ id: 'page.delete.confirm', defaultMessage: '纭畾鍒犻櫎璇ラ」鍚楋紵' }),
onOk: async () => {
- const success = await handleRemove([record]);
+ const success = await handleRemove([record], intl);
if (success) {
if (actionRef.current) {
actionRef.current.reload();
@@ -146,7 +151,7 @@
});
}}
>
- 鍒犻櫎
+ <FormattedMessage id='page.delete' defaultMessage='鍒犻櫎' />
</Button>,
],
},
@@ -196,16 +201,16 @@
}}
>
<PlusOutlined />
- 娣诲姞
+ <FormattedMessage id='page.add' defaultMessage='娣诲姞' />
</Button>,
<Button
key="export"
onClick={async () => {
- handleExport();
+ handleExport(intl);
}}
>
<ExportOutlined />
- 瀵煎嚭
+ <FormattedMessage id='page.export' defaultMessage='瀵煎嚭' />
</Button>,
],
}}
@@ -240,9 +245,8 @@
<FooterToolbar
extra={
<div>
- 宸查�夋嫨
<a style={{ fontWeight: 600 }}>{selectedRows.length}</a>
- 椤�
+ <FormattedMessage id='page.selected' defaultMessage=' 椤瑰凡閫夋嫨' />
</div>
}
>
@@ -251,10 +255,10 @@
danger
onClick={async () => {
Modal.confirm({
- title: '鍒犻櫎',
- content: '纭畾鍒犻櫎璇ラ」鍚楋紵',
+ title: intl.formatMessage({ id: 'page.delete', defaultMessage: '鍒犻櫎' }),
+ content: intl.formatMessage({ id: 'page.delete.confirm', defaultMessage: '纭畾鍒犻櫎璇ラ」鍚楋紵' }),
onOk: async () => {
- const success = await handleRemove(selectedRows);
+ const success = await handleRemove(selectedRows, intl);
if (success) {
setSelectedRows([]);
actionRef.current?.reloadAndRest?.();
@@ -263,7 +267,7 @@
});
}}
>
- 鎵归噺鍒犻櫎
+ <FormattedMessage id='page.delete.batch' defaultMessage='鎵归噺鍒犻櫎' />
</Button>
</FooterToolbar>
)}
@@ -280,9 +284,9 @@
onSubmit={async (values) => {
let ok = false;
if (values.id) {
- ok = await handleUpdate({ ...values })
+ ok = await handleUpdate({ ...values }, intl)
} else {
- ok = await handleSave({ ...values })
+ ok = await handleSave({ ...values }, intl)
}
if (ok) {
setModalVisible(false);
--
Gitblit v1.9.1