From 4bc1feec258ed949b4fe340b447c581eb213bb6b Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Mon, 29 Jan 2024 13:41:26 +0800 Subject: [PATCH] fix pageable bug --- gradle.properties | 3 +- io.sc.platform.core.frontend/package.json | 2 +- .../formater/MenuTypeFormater.ts | 10 + .../platform/components-ext/formater/index.ts | 5 + .../platform/components-ext/options/index.ts | 6 +- .../components/form/elements/WEditor.vue | 91 +++ .../platform/components/tag/WEnableTag.vue | 4 +- .../layout/sub-layout/ExpansionMenuItem.vue | 2 +- .../template-project/package.json | 4 +- .../src/views/likm/RoleStatusTag.vue | 11 + .../src/views/likm}/SelectRoleDialog.vue | 17 +- .../src/views/likm}/SelectUserDialog.vue | 2 +- .../src/views/likm/SetPasswordDialog.vue | 69 ++ .../src/views/likm}/UserStatusTag.vue | 0 io.sc.platform.core/build.gradle | 1 + .../io/sc/platform/core/util/PinyinUtil.java | 55 ++ .../io/sc/platform/core/i18n/words.properties | 2 + .../platform/core/i18n/words_tw_CN.properties | 2 + .../platform/core/i18n/words_zh_CN.properties | 4 +- .../package.json | 4 +- .../FlowableModelerEditorWebController.java | 14 +- .../service/impl/AgentServiceImpl.java | 11 +- io.sc.platform.lcdp.frontend/package.json | 4 +- .../converter/ConfigureEntityVoConverter.java | 33 - .../service/impl/ConfigureServiceImpl.java | 6 +- io.sc.platform.mvc.frontend/package.json | 4 +- .../plugins/item/FrontEndRouteMetaAction.java | 29 +- .../FrontEndRouteMetaActionPermission.java | 10 +- .../orm/api/vo/CorporationAuditorVo.java | 2 + .../io/sc/platform/orm/EntityVoConverter.java | 72 -- .../sc/platform/orm/entity/AuditorEntity.java | 16 +- .../orm/entity/CorporationAuditorEntity.java | 8 +- .../orm/entity/EntityVoConverter.java | 13 - .../sc/platform/orm/entity/VersionEntity.java | 7 +- .../orm/service/support/QueryParameter.java | 12 + .../platform/orm/util/EntityVoConvertor.java | 54 -- .../io/sc/platform/orm/util/EntityVoUtil.java | 106 +++ io.sc.platform.security.frontend/package.json | 6 +- .../system/api/menu/MenuRouteActionVo.java | 59 ++ .../system/api/menu/MenuSeparatorVo.java | 4 + .../system/api/menu/MenuSeperatorVo.java | 4 - .../sc/platform/system/api/menu/MenuVo.java | 7 +- .../api/notification/NotificationVo.java | 71 ++ .../io/sc/platform/system/enums/MenuType.java | 2 +- .../sc/platform/system/enums/UrlOpenType.java | 2 +- .../META-INF/platform/plugins/messages.json | 5 + .../platform/system/api/i18n/enums.properties | 9 + .../system/api/i18n/enums_tw_CN.properties | 9 + .../system/api/i18n/enums_zh_CN.properties | 9 + io.sc.platform.system.frontend/package.json | 4 +- .../src/components/index.ts | 10 +- .../src/i18n/messages.json | 74 ++- .../src/i18n/messages_tw_CN.json | 68 +- .../src/i18n/messages_zh_CN.json | 78 ++- .../src/menus/menus.json | 12 +- .../src/routes/routes.json | 22 +- .../src/views/AnnouncementManager.vue | 4 - .../src/views/I18n.vue | 4 - .../src/views/Log.vue | 4 - .../src/views/Menu.vue | 4 - .../src/views/NotificationManager.vue | 4 - .../src/views/Org.vue | 4 - .../src/views/Role.vue | 4 - .../announcement/AnnouncementManager.vue | 59 ++ .../src/views/announcement/WEditor.vue | 76 +++ .../src/views/corporation/Corporation.vue | 176 +++-- .../src/views/{ => department}/Department.vue | 0 .../src/views/{ => license}/License.vue | 0 .../src/views/menu/Menu.vue | 513 ++++++-------- .../src/views/menu/SelectRoleDialog.vue | 212 +++--- .../notification/NotificationManager.vue | 60 ++ .../src/views/org/Org.vue | 365 +++++----- .../src/views/org/SelectUserDialog.vue | 154 ----- .../src/views/role/Role.vue | 297 +++------ .../src/views/shared/SelectMenuTreeGrid.vue | 108 +++ .../src/views/shared/SelectOrgTreeGrid.vue | 81 +++ .../src/views/shared/SelectRoleDialog.vue | 102 +++ .../src/views/shared/SelectRoleGrid.vue | 138 ++++ .../src/views/shared/SelectUserDialog.vue | 106 +++ .../src/views/shared/SelectUserGrid.vue | 150 +++++ .../src/views/shared/UserStatusTag.vue | 17 + .../src/views/user/SetPasswordDialog.vue | 14 +- .../src/views/user/User.vue | 624 ++++++++---------- .../jpa/entity/AnnouncementEntity.java | 2 +- .../controller/CorporationWebController.java | 49 ++ .../jpa/entity/CorporationEntity.java | 6 +- .../service/CorporationService.java | 31 + .../service/impl/CorporationServiceImpl.java | 47 ++ .../system/initializer/OrgInitializer.java | 4 +- .../initializer/RoleAndMenuInitializer.java | 4 +- .../menu/controller/MenuWebController.java | 47 ++ .../convertor/MenuEntityPluginConvertor.java | 28 +- .../system/menu/jpa/entity/MenuEntity.java | 41 +- .../menu/jpa/entity/MenuGroupEntity.java | 2 +- .../menu/jpa/entity/MenuJavascriptEntity.java | 2 +- .../menu/jpa/entity/MenuRouteEntity.java | 2 +- .../menu/jpa/entity/MenuSeparatorEntity.java | 26 + .../menu/jpa/entity/MenuSeperatorEntity.java | 27 - .../system/menu/jpa/entity/MenuUrlEntity.java | 3 +- .../MenuEntityMapper.java} | 69 +- .../menu/service/impl/MenuServiceImpl.java | 85 +-- .../NotificationManagerWebController.java | 18 + .../jpa/entity/NotificationEntity.java | 121 ++++ .../repository/NotificationRepository.java | 9 + .../service/NotificationService.java | 10 + .../service/impl/NotificationServiceImpl.java | 17 + .../org/controller/OrgWebController.java | 68 +- .../system/org/jpa/entity/OrgEntity.java | 2 +- .../system/org/service/OrgService.java | 25 +- .../org/service/impl/OrgServiceImpl.java | 101 +-- .../system/org/support/OrgComparator.java | 11 + .../org/support/OrgEntityNameComparator.java | 26 + .../org/support/OrgVoCodeComparator.java | 25 + .../org/support/OrgVoNameComparator.java | 25 + .../system/plugins/item/MenuItem.java | 2 +- ...mSeperator.java => MenuItemSeparator.java} | 6 +- .../role/controller/RoleWebController.java | 10 +- .../system/role/jpa/entity/RoleEntity.java | 2 +- .../role/service/impl/RoleServiceImpl.java | 65 +- .../user/controller/UserWebController.java | 48 +- .../user/convertor/UserEntityVoConverter.java | 67 -- .../system/user/jpa/entity/UserEntity.java | 2 +- .../user/jpa/repository/UserRepository.java | 18 + .../system/user/service/UserService.java | 18 + .../user/service/impl/UserServiceImpl.java | 67 +- .../META-INF/platform/plugins/components.json | 3 + .../platform/plugins/repositories.json | 3 + .../PF_11.0.0_20220606__System_DDL.xml | 38 ++ 128 files changed, 3528 insertions(+), 2184 deletions(-) create mode 100644 io.sc.platform.core.frontend/src/platform/components-ext/formater/MenuTypeFormater.ts create mode 100644 io.sc.platform.core.frontend/src/platform/components/form/elements/WEditor.vue create mode 100644 io.sc.platform.core.frontend/template-project/src/views/likm/RoleStatusTag.vue rename {io.sc.platform.system.frontend/src/views/user => io.sc.platform.core.frontend/template-project/src/views/likm}/SelectRoleDialog.vue (83%) rename {io.sc.platform.system.frontend/src/views/role => io.sc.platform.core.frontend/template-project/src/views/likm}/SelectUserDialog.vue (99%) create mode 100644 io.sc.platform.core.frontend/template-project/src/views/likm/SetPasswordDialog.vue rename {io.sc.platform.system.frontend/src/views/user => io.sc.platform.core.frontend/template-project/src/views/likm}/UserStatusTag.vue (100%) create mode 100644 io.sc.platform.core/src/main/java/io/sc/platform/core/util/PinyinUtil.java delete mode 100644 io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/converter/ConfigureEntityVoConverter.java delete mode 100644 io.sc.platform.orm/src/main/java/io/sc/platform/orm/EntityVoConverter.java delete mode 100644 io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/EntityVoConverter.java delete mode 100644 io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoConvertor.java create mode 100644 io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoUtil.java create mode 100644 io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuRouteActionVo.java create mode 100644 io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuSeparatorVo.java delete mode 100644 io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuSeperatorVo.java create mode 100644 io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/notification/NotificationVo.java create mode 100644 io.sc.platform.system.api/src/main/resources/META-INF/platform/plugins/messages.json create mode 100644 io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums.properties create mode 100644 io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums_tw_CN.properties create mode 100644 io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums_zh_CN.properties delete mode 100644 io.sc.platform.system.frontend/src/views/AnnouncementManager.vue delete mode 100644 io.sc.platform.system.frontend/src/views/I18n.vue delete mode 100644 io.sc.platform.system.frontend/src/views/Log.vue delete mode 100644 io.sc.platform.system.frontend/src/views/Menu.vue delete mode 100644 io.sc.platform.system.frontend/src/views/NotificationManager.vue delete mode 100644 io.sc.platform.system.frontend/src/views/Org.vue delete mode 100644 io.sc.platform.system.frontend/src/views/Role.vue create mode 100644 io.sc.platform.system.frontend/src/views/announcement/AnnouncementManager.vue create mode 100644 io.sc.platform.system.frontend/src/views/announcement/WEditor.vue rename io.sc.platform.system.frontend/src/views/{ => department}/Department.vue (100%) rename io.sc.platform.system.frontend/src/views/{ => license}/License.vue (100%) create mode 100644 io.sc.platform.system.frontend/src/views/notification/NotificationManager.vue delete mode 100644 io.sc.platform.system.frontend/src/views/org/SelectUserDialog.vue create mode 100644 io.sc.platform.system.frontend/src/views/shared/SelectMenuTreeGrid.vue create mode 100644 io.sc.platform.system.frontend/src/views/shared/SelectOrgTreeGrid.vue create mode 100644 io.sc.platform.system.frontend/src/views/shared/SelectRoleDialog.vue create mode 100644 io.sc.platform.system.frontend/src/views/shared/SelectRoleGrid.vue create mode 100644 io.sc.platform.system.frontend/src/views/shared/SelectUserDialog.vue create mode 100644 io.sc.platform.system.frontend/src/views/shared/SelectUserGrid.vue create mode 100644 io.sc.platform.system.frontend/src/views/shared/UserStatusTag.vue create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuSeparatorEntity.java delete mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuSeperatorEntity.java rename io.sc.platform.system/src/main/java/io/sc/platform/system/menu/{convertor/MenuEntityVoConvertor.java => mapper/MenuEntityMapper.java} (55%) create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/notification/controller/NotificationManagerWebController.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/notification/jpa/entity/NotificationEntity.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/notification/jpa/repository/NotificationRepository.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/notification/service/NotificationService.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/notification/service/impl/NotificationServiceImpl.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/org/support/OrgComparator.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/org/support/OrgEntityNameComparator.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/org/support/OrgVoCodeComparator.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/org/support/OrgVoNameComparator.java rename io.sc.platform.system/src/main/java/io/sc/platform/system/plugins/item/{MenuItemSeperator.java => MenuItemSeparator.java} (77%) delete mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/user/convertor/UserEntityVoConverter.java diff --git a/gradle.properties b/gradle.properties index fc9e893b..6327bfd0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -38,7 +38,7 @@ application_version=1.0.0 platform_group=io.sc platform_version=8.1.20 platform_plugin_version=8.1.13 -platform_core_frontend_version=8.1.75 +platform_core_frontend_version=8.1.83 ########################################################### # dependencies version @@ -65,6 +65,7 @@ mybatis_version=3.5.10 opencsv_version=5.7.1 oshi_version=6.4.2 p6spy_version=3.9.1 +pinyin4j_version=2.5.1 poi_ooxml_version=3.17 schemacrawler_version=16.19.11 #schemacrawler_version=14.21.02 diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index e5d908fa..df67488a 100644 --- a/io.sc.platform.core.frontend/package.json +++ b/io.sc.platform.core.frontend/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.76", + "version": "8.1.87", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/src/platform/components-ext/formater/MenuTypeFormater.ts b/io.sc.platform.core.frontend/src/platform/components-ext/formater/MenuTypeFormater.ts new file mode 100644 index 00000000..ccc811ef --- /dev/null +++ b/io.sc.platform.core.frontend/src/platform/components-ext/formater/MenuTypeFormater.ts @@ -0,0 +1,10 @@ +import { i18n } from '@/platform/plugin'; + +const menuTypeFormater = (value) => { + if (value) { + return i18n.global.t('io.sc.platform.system.enums.MenuType.' + value); + } + return ''; +}; + +export { menuTypeFormater }; diff --git a/io.sc.platform.core.frontend/src/platform/components-ext/formater/index.ts b/io.sc.platform.core.frontend/src/platform/components-ext/formater/index.ts index bb1dde83..6083e4f4 100644 --- a/io.sc.platform.core.frontend/src/platform/components-ext/formater/index.ts +++ b/io.sc.platform.core.frontend/src/platform/components-ext/formater/index.ts @@ -1,6 +1,7 @@ import type { EnumType } from '@/platform/types'; import { yesNoFormater, trueFalseFormater, enableTagFormater } from './BooleanFormater'; import { dateOnlyFormater } from './DatetimeFormater'; +import { menuTypeFormater } from './MenuTypeFormater'; import { EnumFormater } from './EnumFormater'; class Formater { @@ -22,6 +23,10 @@ class Formater { return dateOnlyFormater; } + public static menuType() { + return menuTypeFormater; + } + public static enum(enumType: EnumType) { if (enumType) { let enumFormater = Formater.#enumFormaterMap[enumType.name]; diff --git a/io.sc.platform.core.frontend/src/platform/components-ext/options/index.ts b/io.sc.platform.core.frontend/src/platform/components-ext/options/index.ts index de951652..2a27bf08 100644 --- a/io.sc.platform.core.frontend/src/platform/components-ext/options/index.ts +++ b/io.sc.platform.core.frontend/src/platform/components-ext/options/index.ts @@ -9,18 +9,18 @@ class Options { return yesNo(); } - public static truefalse(t: any) { + public static truefalse() { return trueFalse(); } - public static enum(enumType: EnumType) { + public static enum(enumType: EnumType, includeEmpty: boolean = true) { if (enumType) { let enumOptions = Options.#enumOptionsMap[enumType.name]; if (!enumOptions) { enumOptions = new EnumOptions(enumType.items); Options.#enumOptionsMap[enumType.name] = enumOptions; } - return enumOptions.options(); + return enumOptions.options(includeEmpty); } } } diff --git a/io.sc.platform.core.frontend/src/platform/components/form/elements/WEditor.vue b/io.sc.platform.core.frontend/src/platform/components/form/elements/WEditor.vue new file mode 100644 index 00000000..b31df7cd --- /dev/null +++ b/io.sc.platform.core.frontend/src/platform/components/form/elements/WEditor.vue @@ -0,0 +1,91 @@ + + + diff --git a/io.sc.platform.core.frontend/src/platform/components/tag/WEnableTag.vue b/io.sc.platform.core.frontend/src/platform/components/tag/WEnableTag.vue index d8cfbfdf..b2a31639 100644 --- a/io.sc.platform.core.frontend/src/platform/components/tag/WEnableTag.vue +++ b/io.sc.platform.core.frontend/src/platform/components/tag/WEnableTag.vue @@ -1,10 +1,12 @@ diff --git a/io.sc.platform.system.frontend/src/views/user/SelectRoleDialog.vue b/io.sc.platform.core.frontend/template-project/src/views/likm/SelectRoleDialog.vue similarity index 83% rename from io.sc.platform.system.frontend/src/views/user/SelectRoleDialog.vue rename to io.sc.platform.core.frontend/template-project/src/views/likm/SelectRoleDialog.vue index 0415ef3f..e7ee7b31 100644 --- a/io.sc.platform.system.frontend/src/views/user/SelectRoleDialog.vue +++ b/io.sc.platform.core.frontend/template-project/src/views/likm/SelectRoleDialog.vue @@ -16,7 +16,9 @@ many: roleIds, }) .then((response) => { - roleGridRef?.refresh(); + axios.get(Environment.apiContextPath('/api/system/role/queryRolesByUser?userId=') + userId).then((response) => { + roleGridRef.replaceRows(response.data.content); + }); close(); }); }, @@ -57,7 +59,12 @@ { name: 'status', label: t('status'), - format: Formater.enableTag(), + format: (value, row) => { + return { + componentType: RoleStatusTag, + attrs: row, + }; + }, }, { name: 'lastModifier', label: t('lastModifier') }, { name: 'lastModifyDate', label: t('lastModifyDate') }, @@ -69,7 +76,8 @@ diff --git a/io.sc.platform.system.frontend/src/views/user/UserStatusTag.vue b/io.sc.platform.core.frontend/template-project/src/views/likm/UserStatusTag.vue similarity index 100% rename from io.sc.platform.system.frontend/src/views/user/UserStatusTag.vue rename to io.sc.platform.core.frontend/template-project/src/views/likm/UserStatusTag.vue diff --git a/io.sc.platform.core/build.gradle b/io.sc.platform.core/build.gradle index 6f5f4fe3..0c9f0ba9 100644 --- a/io.sc.platform.core/build.gradle +++ b/io.sc.platform.core/build.gradle @@ -15,5 +15,6 @@ dependencies { "com.beust:jcommander:${jcommander_version}", "net.lingala.zip4j:zip4j:${zip4j_version}", "com.github.seancfoley:ipaddress:${ipaddress_version}", + "com.belerweb:pinyin4j:${pinyin4j_version}", ) } diff --git a/io.sc.platform.core/src/main/java/io/sc/platform/core/util/PinyinUtil.java b/io.sc.platform.core/src/main/java/io/sc/platform/core/util/PinyinUtil.java new file mode 100644 index 00000000..9312e95b --- /dev/null +++ b/io.sc.platform.core/src/main/java/io/sc/platform/core/util/PinyinUtil.java @@ -0,0 +1,55 @@ +package io.sc.platform.core.util; + +import net.sourceforge.pinyin4j.PinyinHelper; + +/** + * 汉语拼音辅助类 + * @author wangshaoping + * + */ +public class PinyinUtil { + /** + * 采用汉语拼音比较两个字符串 + * @param o1 字符串1 + * @param o2 字符串2 + * @return 汉语拼音比较结果 + */ + public static int compare(String o1, String o2) { + for (int i = 0; i < o1.length() && i < o2.length(); i++) { + int codePoint1 = o1.charAt(i); + int codePoint2 = o2.charAt(i); + + if (Character.isSupplementaryCodePoint(codePoint1) + || Character.isSupplementaryCodePoint(codePoint2)) { + i++; + } + + if (codePoint1 != codePoint2) { + if (Character.isSupplementaryCodePoint(codePoint1) + || Character.isSupplementaryCodePoint(codePoint2)) { + return codePoint1 - codePoint2; + } + + String pinyin1 = hanyuPinyin((char) codePoint1); + String pinyin2 = hanyuPinyin((char) codePoint2); + + if (pinyin1 != null && pinyin2 != null) { + if (!pinyin1.equals(pinyin2)) { + return pinyin1.compareTo(pinyin2); + } + } else { + return codePoint1 - codePoint2; + } + } + } + return o1.length() - o2.length(); + } + + private static String hanyuPinyin(char c) { + String[] pinyins = PinyinHelper.toHanyuPinyinStringArray(c); + if (pinyins == null) { + return null; + } + return pinyins[0]; + } +} diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties index 551168c8..2016f8a8 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties @@ -139,6 +139,7 @@ top-left=Top Left top-right=Top Right top=Top true=True +type=Type upToTop=Up to Top url=URL user=User @@ -155,3 +156,4 @@ confirmNewPassword=Confirm New Password accountExpired=Expired accountLocked=Locked credentialsExpired=Credentials Expired +javascript=JavaScript diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties index 8630cafc..710b8fa5 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties @@ -139,6 +139,7 @@ top-left=\u5DE6\u4E0A top-right=\u53F3\u4E0A top=\u4E0A\u908A true=\u771F +type=\u985E\u578B upToTop=\u56DE\u5230\u9802\u90E8 url=URL user=\u7528\u6237 @@ -155,3 +156,4 @@ confirmNewPassword=\u78BA\u8A8D\u65B0\u5BC6\u78BC accountExpired=\u904E\u671F accountLocked=\u9396\u5B9A credentialsExpired=\u5BC6\u78BC\u904E\u671F +javascript=JavaScript diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties index 0d28087b..2e8421c3 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties @@ -139,6 +139,7 @@ top-left=\u5DE6\u4E0A top-right=\u53F3\u4E0A top=\u4E0A\u8FB9 true=\u771F +type=\u7C7B\u578B upToTop=\u56DE\u5230\u9876\u90E8 url=URL user=\u7528\u6237 @@ -154,4 +155,5 @@ newPassword=\u65B0\u5BC6\u7801 confirmNewPassword=\u786E\u8BA4\u65B0\u5BC6\u7801 accountExpired=\u8FC7\u671F accountLocked=\u9501\u5B9A -credentialsExpired=\u5BC6\u7801\u8FC7\u671F \ No newline at end of file +credentialsExpired=\u5BC6\u7801\u8FC7\u671F +javascript=JavaScript \ No newline at end of file diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json index 243ec9ff..7fe8487f 100644 --- a/io.sc.platform.developer.frontend/package.json +++ b/io.sc.platform.developer.frontend/package.json @@ -78,7 +78,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.75", + "platform-core": "8.1.83", "quasar": "2.14.2", "tailwindcss": "3.4.0", "vue": "3.4.3", @@ -100,4 +100,4 @@ "codemirror": "6.0.1", "vue-codemirror6": "1.2.0" } -} \ No newline at end of file +} diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/FlowableModelerEditorWebController.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/FlowableModelerEditorWebController.java index d365e1c3..e4d4e29d 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/FlowableModelerEditorWebController.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/FlowableModelerEditorWebController.java @@ -1,8 +1,6 @@ package io.sc.platform.flowable.controller; -import java.util.List; -import java.util.Map; - +import com.fasterxml.jackson.databind.JsonNode; import io.sc.platform.core.Environment; import io.sc.platform.core.annotation.IgnoreResponseBodyAdvice; import io.sc.platform.flowable.service.FlowableModelerService; @@ -11,10 +9,9 @@ import io.sc.platform.flowable.support.FlowableGroupList; import io.sc.platform.flowable.support.FlowableUser; import io.sc.platform.flowable.support.FlowableUserList; import io.sc.platform.orm.service.support.QueryParameter; -import io.sc.platform.orm.util.EntityVoConvertor; +import io.sc.platform.orm.util.EntityVoUtil; import io.sc.platform.system.role.jpa.entity.RoleEntity; import io.sc.platform.system.role.service.RoleService; -import io.sc.platform.system.user.convertor.UserEntityVoConverter; import io.sc.platform.system.user.jpa.entity.UserEntity; import io.sc.platform.system.user.service.UserService; import org.apache.commons.io.IOUtils; @@ -30,7 +27,8 @@ import org.springframework.data.domain.Page; import org.springframework.data.jpa.domain.Specification; import org.springframework.web.bind.annotation.*; -import com.fasterxml.jackson.databind.JsonNode; +import java.util.List; +import java.util.Map; /** * 流程设计器控制器 @@ -118,7 +116,7 @@ public class FlowableModelerEditorWebController { return criteriaBuilder.like(root.get("loginName"),filter); }; Page userEntities =userService.query(specification,queryParameter); - return FlowableUserList.fromUsers(new UserEntityVoConverter().toVo(userEntities)); + return FlowableUserList.fromUsers(EntityVoUtil.toVo(userEntities)); } /** @@ -131,6 +129,6 @@ public class FlowableModelerEditorWebController { @IgnoreResponseBodyAdvice public FlowableGroupList editorGroups(@RequestParam(name="filter",required=false) String filter,QueryParameter queryParameter) throws Exception{ Page roleEntities =roleService.queryRolesByCodeOrName(filter,queryParameter); - return FlowableGroupList.fromGroups(EntityVoConvertor.toVo(roleEntities)); + return FlowableGroupList.fromGroups(EntityVoUtil.toVo(roleEntities)); } } diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java index 631e98bd..9407a1ae 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java @@ -1,17 +1,13 @@ package io.sc.platform.flowable.service.impl; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - import io.sc.platform.flowable.jpa.entity.AgentEntity; import io.sc.platform.flowable.jpa.repository.AgentRepository; import io.sc.platform.flowable.service.AgentService; import io.sc.platform.orm.service.impl.DaoServiceImpl; +import io.sc.platform.orm.util.EntityVoUtil; import io.sc.platform.system.api.user.UserVo; import io.sc.platform.system.role.jpa.entity.RoleEntity; import io.sc.platform.system.role.service.RoleService; -import io.sc.platform.system.user.convertor.UserEntityVoConverter; import io.sc.platform.system.user.jpa.entity.UserEntity; import io.sc.platform.system.user.service.UserService; import org.springframework.beans.factory.annotation.Autowired; @@ -19,6 +15,9 @@ import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; import javax.persistence.criteria.Join; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; @Service public class AgentServiceImpl extends DaoServiceImpl implements AgentService { @@ -52,7 +51,7 @@ public class AgentServiceImpl extends DaoServiceImpl { - private static final Logger log = LoggerFactory.getLogger(ConfigureEntityVoConverter.class); - - @Override - public Configure toVo(ConfigureEntity entity) { - if(entity==null){ - return null; - } - Configure result =new Configure(); - result.setSetting(entity.getSetting()); - result.setTheme(entity.getTheme()); - return result; - } - - @Override - public ConfigureEntity fromVo(Configure vo) { - if(vo==null){ - return null; - } - ConfigureEntity entity =new ConfigureEntity(); - entity.setSetting(vo.getSetting()); - entity.setTheme(vo.getTheme()); - return entity; - } -} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java index fcec8461..b7aae8c6 100644 --- a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java @@ -2,7 +2,6 @@ package io.sc.platform.lcdp.configure.service.impl; import io.sc.platform.lcdp.configure.api.Setting; import io.sc.platform.lcdp.configure.api.Theme; -import io.sc.platform.lcdp.configure.converter.ConfigureEntityVoConverter; import io.sc.platform.lcdp.configure.jpa.entity.ConfigureEntity; import io.sc.platform.lcdp.configure.jpa.repository.ConfigureRepository; import io.sc.platform.lcdp.configure.service.ConfigureService; @@ -18,7 +17,6 @@ import javax.transaction.Transactional; @Service public class ConfigureServiceImpl extends DaoServiceImpl implements ConfigureService { - private ConfigureEntityVoConverter converter =new ConfigureEntityVoConverter(); @Autowired private JdbcTemplate jdbcTemplate; @Autowired private SystemParameterService systemParameterService; @@ -26,7 +24,9 @@ public class ConfigureServiceImpl extends DaoServiceImpl permissions =new ArrayList<>(); - private boolean enable; public String getName() { return name; @@ -17,20 +18,12 @@ public class FrontEndRouteMetaAction { this.name = name; } - public String getDescriptionI18nKey() { - return descriptionI18nKey; - } - - public void setDescriptionI18nKey(String descriptionI18nKey) { - this.descriptionI18nKey = descriptionI18nKey; + public String getI18nKey() { + return i18nKey; } - public List getPermissions() { - return permissions; - } - - public void setPermissions(List permissions) { - this.permissions = permissions; + public void setI18nKey(String i18nKey) { + this.i18nKey = i18nKey; } public boolean isEnable() { @@ -40,4 +33,12 @@ public class FrontEndRouteMetaAction { public void setEnable(boolean enable) { this.enable = enable; } + + public List getPermissions() { + return permissions; + } + + public void setPermissions(List permissions) { + this.permissions = permissions; + } } diff --git a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/plugins/item/FrontEndRouteMetaActionPermission.java b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/plugins/item/FrontEndRouteMetaActionPermission.java index 201ea6bb..5a40e4c9 100644 --- a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/plugins/item/FrontEndRouteMetaActionPermission.java +++ b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/plugins/item/FrontEndRouteMetaActionPermission.java @@ -4,7 +4,7 @@ import org.springframework.web.bind.annotation.RequestMethod; public class FrontEndRouteMetaActionPermission { private RequestMethod method; - private String url; + private String matcher; public RequestMethod getMethod() { return method; @@ -14,11 +14,11 @@ public class FrontEndRouteMetaActionPermission { this.method = method; } - public String getUrl() { - return url; + public String getMatcher() { + return matcher; } - public void setUrl(String url) { - this.url = url; + public void setMatcher(String matcher) { + this.matcher = matcher; } } diff --git a/io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/vo/CorporationAuditorVo.java b/io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/vo/CorporationAuditorVo.java index 2f608536..ef08c0df 100644 --- a/io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/vo/CorporationAuditorVo.java +++ b/io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/vo/CorporationAuditorVo.java @@ -15,6 +15,8 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; "corporationCode" }) public class CorporationAuditorVo extends AuditorVo { + public static final String DEFAULT_CODE ="_PRIMARY_"; + /** * 法人代码 */ diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/EntityVoConverter.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/EntityVoConverter.java deleted file mode 100644 index 4b6cfe46..00000000 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/EntityVoConverter.java +++ /dev/null @@ -1,72 +0,0 @@ -package io.sc.platform.orm; - -import io.sc.platform.orm.repository.DaoRepository; -import io.sc.platform.orm.service.support.QueryResult; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageImpl; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -public interface EntityVoConverter { - public V toVo(E entity); - public E fromVo(V vo); - - /** - * 脱敏实体对象 - * @param entity 实体对象 - * @return Vo对象 - */ - public default V desensitize(E entity){ - return toVo(entity); - } - - public default void detach(DaoRepository repository, E entity){ - if(entity!=null) { - repository.getEntityManager().detach(entity); - } - } - - public default void detach(DaoRepository repository, List entities){ - if(entities!=null && !entities.isEmpty()) { - for(E entity : entities) { - detach(repository,entity); - } - } - } - - public default List toVo(List entities){ - if(entities==null || entities.isEmpty()){ - return Collections.emptyList(); - } - List result =new ArrayList<>(); - for(E entity : entities){ - result.add(toVo(entity)); - } - return result; - } - - public default Page toVo(Page page){ - if(page==null){ - return QueryResult.emptyPage(); - } - - List entities =page.getContent(); - List vos =toVo(entities); - return new PageImpl<>(vos,page.getPageable(),page.getTotalElements()); - } - - public default List fromVo(List vos){ - if(vos==null || vos.isEmpty()){ - return Collections.emptyList(); - } - List result =new ArrayList<>(); - for(V vo : vos){ - result.add(fromVo(vo)); - } - return result; - } -} diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/AuditorEntity.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/AuditorEntity.java index 87fd96f4..09773243 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/AuditorEntity.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/AuditorEntity.java @@ -55,14 +55,14 @@ public abstract class AuditorEntity extends VersionEntity e @Column(name="CORP_CODE_",length=36) protected String corporationCode ="_PRIMARY_"; - public static void toVo(CorporationAuditorVo vo, CorporationAuditorEntity entity){ - if(vo!=null && entity!=null) { - AuditorEntity.toVo(vo,entity); - vo.setCorporationCode(entity.getCorporationCode()); + public void toVo(CorporationAuditorVo vo){ + if(vo!=null){ + super.toVo(vo); + vo.setCorporationCode(this.getCorporationCode()); } } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/EntityVoConverter.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/EntityVoConverter.java deleted file mode 100644 index 5d5a89cd..00000000 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/EntityVoConverter.java +++ /dev/null @@ -1,13 +0,0 @@ -package io.sc.platform.orm.entity; - -public class EntityVoConverter implements io.sc.platform.orm.EntityVoConverter { - @Override - public Object toVo(Object entity) { - return null; - } - - @Override - public Object fromVo(Object vo) { - return null; - } -} diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/VersionEntity.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/VersionEntity.java index b8f3fa91..63262f63 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/VersionEntity.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/VersionEntity.java @@ -17,10 +17,9 @@ public abstract class VersionEntity extends BaseEntity{ @Column(name="JPA_VERSION_") protected int jpaVersion; - public static void toVo(VersionVo vo,VersionEntity entity){ - if(vo!=null && entity!=null) { - BaseEntity.toVo(vo,entity); - vo.setJpaVersion(entity.getJpaVersion()); + public void toVo(VersionVo vo){ + if(vo!=null){ + vo.setJpaVersion(this.getJpaVersion()); } } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryParameter.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryParameter.java index 054a5b4e..06878636 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryParameter.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryParameter.java @@ -1,6 +1,7 @@ package io.sc.platform.orm.service.support; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import io.sc.platform.orm.service.support.criteria.Criteria; @@ -35,6 +36,17 @@ public class QueryParameter { return PageRequest.of(jpaPage,size); } } + + public Order getFirstSort(){ + Sort sort =getSort(); + if(sort!=null){ + Iterator iterator =sort.iterator(); + if(iterator!=null && iterator.hasNext()){ + return iterator.next(); + } + } + return null; + } public Sort getSort(){ if(sortBy==null || sortBy.size()==0){ diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoConvertor.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoConvertor.java deleted file mode 100644 index c05ce218..00000000 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoConvertor.java +++ /dev/null @@ -1,54 +0,0 @@ -package io.sc.platform.orm.util; - -import io.sc.platform.orm.api.vo.BaseVo; -import io.sc.platform.orm.entity.BaseEntity; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageImpl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -/** - * 实体和值对象转换器 - */ -public class EntityVoConvertor { - /** - * 将实体分页对象转换成值分页对象 - * @param page 实体分页对象 - * @return 值分页对象 - * @param 实体类型 - * @param 值类型 - */ - public static Page toVo(Page page){ - if(page!=null && !page.getContent().isEmpty()) { - List entities =page.getContent(); - List list =new ArrayList<>(entities.size()); - for(E entity : entities){ - list.add((V)entity.toVo()); - } - return new PageImpl(list,page.getPageable(),page.getTotalElements()); - }else{ - return new PageImpl(Collections.emptyList()); - } - } - - /** - * 将实体列表转换成值列表 - * @param entities 实体列表 - * @return 值列表 - * @param 实体类型 - * @param 值类型 - */ - public static List toVo(List entities){ - if(entities!=null && !entities.isEmpty()) { - List list =new ArrayList<>(entities.size()); - for(E entity : entities){ - list.add((V)entity.toVo()); - } - return list; - }else{ - return Collections.emptyList(); - } - } -} diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoUtil.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoUtil.java new file mode 100644 index 00000000..267093d4 --- /dev/null +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoUtil.java @@ -0,0 +1,106 @@ +package io.sc.platform.orm.util; + +import io.sc.platform.orm.api.vo.BaseVo; +import io.sc.platform.orm.entity.BaseEntity; +import io.sc.platform.orm.repository.DaoRepository; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +/** + * 实体和值对象转换器 + */ +public class EntityVoUtil { + /** + * 将实体脱离持久化(即将实体和持久化 Session 脱钩) + * @param repository 持久化 + * @param entity 实体 + * @param 实体类型 + */ + public static void detach(DaoRepository repository, E entity){ + if(entity!=null) { + repository.getEntityManager().detach(entity); + } + } + + /** + * 将实体集合脱离持久化(即将实体和持久化 Session 脱钩) + * @param repository 持久化 + * @param entities 实体集合 + * @param 实体类型 + */ + public static void detach(DaoRepository repository, List entities){ + if(entities!=null && !entities.isEmpty()) { + for(E entity : entities) { + detach(repository,entity); + } + } + } + + /** + * 将实体分页对象转换成值分页对象 + * @param page 实体分页对象 + * @return 值分页对象 + * @param 实体类型 + * @param 值类型 + */ + public static Page toVo(Page page){ + if(page!=null && !page.getContent().isEmpty()) { + List entities =page.getContent(); + List list =new ArrayList<>(entities.size()); + for(E entity : entities){ + list.add((V)entity.toVo()); + } + return new PageImpl(list,page.getPageable(),page.getTotalElements()); + }else{ + return new PageImpl(Collections.emptyList()); + } + } + + public static Page sort(Page page, Comparator comparator){ + if(page!=null){ + List content =page.getContent(); + if(content!=null && !content.isEmpty()){ + List result =new ArrayList<>(content.size()); + for(T e : content){ + result.add(e); + } + result.sort(comparator); + return new PageImpl(result,page.getPageable(),page.getTotalElements()); + } + } + return page; + } + + /** + * 将实体列表转换成值列表 + * @param entities 实体列表 + * @return 值列表 + * @param 实体类型 + * @param 值类型 + */ + public static List toVo(List entities){ + if(entities!=null && !entities.isEmpty()) { + List list =new ArrayList<>(entities.size()); + for(E entity : entities){ + list.add((V)entity.toVo()); + } + return list; + }else{ + return Collections.emptyList(); + } + } + + /** + * 脱敏实体对象 + * @param entity 实体对象 + * @return Vo对象 + */ + public static V desensitize(E entity){ + return (V)entity.desensitize(); + } +} diff --git a/io.sc.platform.security.frontend/package.json b/io.sc.platform.security.frontend/package.json index 3a504661..0d1438eb 100644 --- a/io.sc.platform.security.frontend/package.json +++ b/io.sc.platform.security.frontend/package.json @@ -4,7 +4,7 @@ "description": "", "private": false, "keywords": [ - + ], "author": "", "license": "ISC", @@ -99,6 +99,6 @@ "vue-dompurify-html": "5.0.1", "vue-i18n": "9.8.0", "vue-router": "4.2.5", - "platform-core": "8.1.75" + "platform-core": "8.1.83" } -} \ No newline at end of file +} diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuRouteActionVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuRouteActionVo.java new file mode 100644 index 00000000..2572f0c9 --- /dev/null +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuRouteActionVo.java @@ -0,0 +1,59 @@ +package io.sc.platform.system.api.menu; + +import io.sc.platform.system.enums.MenuType; + +import java.util.HashMap; +import java.util.Map; + +public class MenuRouteActionVo extends MenuRouteVo { + private String id; + private String name; + private String i18nKey; + private String parent; + + public MenuRouteActionVo(){} + public MenuRouteActionVo(String id,String name,String i18nKey,String parent){ + this.id =id; + this.name =name; + this.i18nKey =i18nKey; + this.parent =parent; + } + + @Override + public String getId() { + return id; + } + + @Override + public void setId(String id) { + this.id = id; + } + + @Override + public String getName() { + return name; + } + + @Override + public void setName(String name) { + this.name = name; + } + + public String getI18nKey() { + return i18nKey; + } + + public void setI18nKey(String i18nKey) { + this.i18nKey = i18nKey; + } + + @Override + public String getParent() { + return parent; + } + + @Override + public void setParent(String parent) { + this.parent = parent; + } +} diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuSeparatorVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuSeparatorVo.java new file mode 100644 index 00000000..775ce363 --- /dev/null +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuSeparatorVo.java @@ -0,0 +1,4 @@ +package io.sc.platform.system.api.menu; + +public class MenuSeparatorVo extends MenuVo { +} diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuSeperatorVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuSeperatorVo.java deleted file mode 100644 index 79aa0d99..00000000 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuSeperatorVo.java +++ /dev/null @@ -1,4 +0,0 @@ -package io.sc.platform.system.api.menu; - -public class MenuSeperatorVo extends MenuVo { -} diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuVo.java index 90934539..20230104 100644 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuVo.java +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuVo.java @@ -1,9 +1,10 @@ package io.sc.platform.system.api.menu; import io.sc.platform.orm.api.vo.CorporationAuditorVo; +import io.sc.platform.system.enums.MenuType; public abstract class MenuVo extends CorporationAuditorVo { - protected String type; + protected MenuType type; protected String parent; protected String id; protected String name; @@ -14,11 +15,11 @@ public abstract class MenuVo extends CorporationAuditorVo { protected String authorizeExpression; protected boolean selected; - public String getType() { + public MenuType getType() { return type; } - public void setType(String type) { + public void setType(MenuType type) { this.type = type; } diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/notification/NotificationVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/notification/NotificationVo.java new file mode 100644 index 00000000..775616b8 --- /dev/null +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/notification/NotificationVo.java @@ -0,0 +1,71 @@ +package io.sc.platform.system.api.notification; + +import io.sc.platform.orm.api.vo.CorporationAuditorVo; + +import java.util.Date; + +public class NotificationVo extends CorporationAuditorVo { + private String id; + private String title; + private String content; + private String sender; + protected Date sendDate; + private String receiver; + private Date receiveDate; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getSender() { + return sender; + } + + public void setSender(String sender) { + this.sender = sender; + } + + public Date getSendDate() { + return sendDate; + } + + public void setSendDate(Date sendDate) { + this.sendDate = sendDate; + } + + public String getReceiver() { + return receiver; + } + + public void setReceiver(String receiver) { + this.receiver = receiver; + } + + public Date getReceiveDate() { + return receiveDate; + } + + public void setReceiveDate(Date receiveDate) { + this.receiveDate = receiveDate; + } +} diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/enums/MenuType.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/enums/MenuType.java index d86ac70e..44c1951c 100644 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/enums/MenuType.java +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/enums/MenuType.java @@ -3,7 +3,7 @@ package io.sc.platform.system.enums; public enum MenuType { GROUP, ROUTE, - SEPERATOR, + SEPARATOR, URL, JAVASCRIPT; } diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/enums/UrlOpenType.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/enums/UrlOpenType.java index 6d7217ce..f4fedaf0 100644 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/enums/UrlOpenType.java +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/enums/UrlOpenType.java @@ -4,7 +4,7 @@ package io.sc.platform.system.enums; * URL 菜单项打开 URL 方式枚举 */ public enum UrlOpenType{ - DEFAULT, /* 默认打开方式(在当前窗口打开) */ + SELF, /* 默认打开方式(在当前窗口打开) */ NEW_WINDOW, /* 在新窗口打开 */ EMBEDDED; /* 嵌入式方式(通常在一个 tab 中打开) */ } diff --git a/io.sc.platform.system.api/src/main/resources/META-INF/platform/plugins/messages.json b/io.sc.platform.system.api/src/main/resources/META-INF/platform/plugins/messages.json new file mode 100644 index 00000000..265429c2 --- /dev/null +++ b/io.sc.platform.system.api/src/main/resources/META-INF/platform/plugins/messages.json @@ -0,0 +1,5 @@ +{ + "includes":[ + "io/sc/platform/system/api/i18n/enums" + ] +} \ No newline at end of file diff --git a/io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums.properties b/io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums.properties new file mode 100644 index 00000000..57f4c428 --- /dev/null +++ b/io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums.properties @@ -0,0 +1,9 @@ +io.sc.platform.system.enums.MenuType.GROUP=Group +io.sc.platform.system.enums.MenuType.ROUTE=Route +io.sc.platform.system.enums.MenuType.SEPARATOR=Seperator +io.sc.platform.system.enums.MenuType.URL=URL +io.sc.platform.system.enums.MenuType.JAVASCRIPT=JavaScript + +io.sc.platform.system.enums.UrlOpenType.SELF=Selft +io.sc.platform.system.enums.UrlOpenType.NEW_WINDOW=New Window +io.sc.platform.system.enums.UrlOpenType.EMBEDDED=Embedded \ No newline at end of file diff --git a/io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums_tw_CN.properties b/io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums_tw_CN.properties new file mode 100644 index 00000000..1ac84d3d --- /dev/null +++ b/io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums_tw_CN.properties @@ -0,0 +1,9 @@ +io.sc.platform.system.enums.MenuType.GROUP=\u83DC\u55AE\u7EC4 +io.sc.platform.system.enums.MenuType.ROUTE=\u8DEF\u7531 +io.sc.platform.system.enums.MenuType.SEPARATOR=\u5206\u9694\u7B26 +io.sc.platform.system.enums.MenuType.URL=URL +io.sc.platform.system.enums.MenuType.JAVASCRIPT=JavaScript + +io.sc.platform.system.enums.UrlOpenType.SELF=\u7576\u524D\u7A97\u53E3 +io.sc.platform.system.enums.UrlOpenType.NEW_WINDOW=\u65B0\u7A97\u53E3 +io.sc.platform.system.enums.UrlOpenType.EMBEDDED=\u5D4C\u5165\u5F0F \ No newline at end of file diff --git a/io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums_zh_CN.properties b/io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums_zh_CN.properties new file mode 100644 index 00000000..595bb436 --- /dev/null +++ b/io.sc.platform.system.api/src/main/resources/io/sc/platform/system/api/i18n/enums_zh_CN.properties @@ -0,0 +1,9 @@ +io.sc.platform.system.enums.MenuType.GROUP=\u83DC\u5355\u7EC4 +io.sc.platform.system.enums.MenuType.ROUTE=\u8DEF\u7531 +io.sc.platform.system.enums.MenuType.SEPARATOR=\u5206\u9694\u7B26 +io.sc.platform.system.enums.MenuType.URL=URL +io.sc.platform.system.enums.MenuType.JAVASCRIPT=JavaScript + +io.sc.platform.system.enums.UrlOpenType.SELF=\u5F53\u524D\u7A97\u53E3 +io.sc.platform.system.enums.UrlOpenType.NEW_WINDOW=\u65B0\u7A97\u53E3 +io.sc.platform.system.enums.UrlOpenType.EMBEDDED=\u5D4C\u5165\u5F0F \ No newline at end of file diff --git a/io.sc.platform.system.frontend/package.json b/io.sc.platform.system.frontend/package.json index 2cfc982a..8fcc549d 100644 --- a/io.sc.platform.system.frontend/package.json +++ b/io.sc.platform.system.frontend/package.json @@ -78,7 +78,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.76", + "platform-core": "8.1.87", "quasar": "2.14.2", "tailwindcss": "3.4.0", "vue": "3.4.3", @@ -100,4 +100,4 @@ "codemirror": "6.0.1", "vue-codemirror6": "1.2.0" } -} \ No newline at end of file +} diff --git a/io.sc.platform.system.frontend/src/components/index.ts b/io.sc.platform.system.frontend/src/components/index.ts index 2888a1d4..aabb94b1 100644 --- a/io.sc.platform.system.frontend/src/components/index.ts +++ b/io.sc.platform.system.frontend/src/components/index.ts @@ -6,17 +6,17 @@ import Corporation from '@/views/corporation/Corporation.vue'; import User from '@/views/user/User.vue'; import Role from '@/views/role/Role.vue'; import Org from '@/views/org/Org.vue'; -import Department from '@/views/Department.vue'; +import Department from '@/views/department/Department.vue'; import Menu from '@/views/menu/Menu.vue'; -import announcement from '@/views/announcement/Announcement.vue'; -import NotificationManager from '@/views/NotificationManager.vue'; +import announcementManager from '@/views/announcement/AnnouncementManager.vue'; +import NotificationManager from '@/views/notification/NotificationManager.vue'; import Parameter from '@/views/parameter/Parameter.vue'; import Dictionary from '@/views/dictionary/Dictionary.vue'; import I18n from '@/views/i18n/I18n.vue'; import AuditLog from '@/views/monitor/AuditLog.vue'; import Log from '@/views/monitor/Log.vue'; import Resources from '@/views/monitor/Resources.vue'; -import License from '@/views/License.vue'; +import License from '@/views/license/License.vue'; const localComponents = { 'component.system.Corporation': Corporation, @@ -25,7 +25,7 @@ const localComponents = { 'component.system.Org': Org, 'component.system.Department': Department, 'component.system.Menu': Menu, - 'component.system.announcement': announcement, + 'component.system.announcementManager': announcementManager, 'component.system.NotificationManager': NotificationManager, 'component.system.Parameter': Parameter, 'component.system.Dictionary': Dictionary, diff --git a/io.sc.platform.system.frontend/src/i18n/messages.json b/io.sc.platform.system.frontend/src/i18n/messages.json index 13210a4c..d57403c5 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages.json +++ b/io.sc.platform.system.frontend/src/i18n/messages.json @@ -10,8 +10,8 @@ "menu.system.org" : "Organization", "menu.system.department" : "Department", "menu.system.menu" : "Menu", - "menu.system.announcement" : "Announcement", - "menu.system.notificationManager" : "Notification", + "menu.system.announcementManager" : "Announcement Manager", + "menu.system.notificationManager" : "Notification Manager", "menu.system.parameter" : "Parameter", "menu.system.dictionary" : "Dictionary", "menu.system.i18n" : "I18n Messages", @@ -21,6 +21,40 @@ "menu.system.monitor.resources" : "Resources", "menu.system.license" : "License", + "system.shared.selectUser.grid.title": "User List", + "system.shared.selectUser.grid.toolbar.add":"Add User", + "system.shared.selectUser.grid.toolbar.remove":"Remove User", + "system.shared.selectUser.grid.toolbar.remove.tip":"Are you sure to remove the users?", + "system.shared.selectUser.grid.toolbar.addAll":"Add All User", + "system.shared.selectUser.grid.toolbar.addAll.tip":"Are you sure to add ALL users?", + "system.shared.selectUser.grid.toolbar.removeAll":"Remove All User", + "system.shared.selectUser.grid.toolbar.removeAll.tip":"Are you sure to remove ALL users?", + "system.shared.selectUser.dialog.title": "Select Users", + "system.shared.selectUser.dialog.grid.title": "Available User List", + + "system.shared.selectRole.grid.title": "Role List", + "system.shared.selectRole.grid.toolbar.add":"Add Role", + "system.shared.selectRole.grid.toolbar.remove":"Remove Role", + "system.shared.selectRole.grid.toolbar.remove.tip":"Are you sure to remove the roles?", + "system.shared.selectRole.grid.toolbar.addAll":"Add All Role", + "system.shared.selectRole.grid.toolbar.addAll.tip":"Are you sure to add ALL roles?", + "system.shared.selectRole.grid.toolbar.removeAll":"Remove All Role", + "system.shared.selectRole.grid.toolbar.removeAll.tip":"Are you sure to remove ALL roles?", + "system.shared.selectRole.dialog.title": "Select Roles", + "system.shared.selectRole.dialog.grid.title": "Available Role List", + + "system.shared.selectOrg.grid.title": "Organization Tree", + "system.shared.selectOrg.grid.toolbar.save":"Save", + "system.shared.selectOrg.grid.toolbar.save.tip":"Are you sure to update organizations?", + + "system.shared.selectMenu.grid.title": "Menu Tree", + "system.shared.selectMenu.grid.toolbar.save":"Save", + "system.shared.selectMenu.grid.toolbar.save.tip":"Are you sure to update menus?", + + "system.corporation.grid.title":"Corporation Tree", + "system.corporation.grid.toolbar.addTop":"Add Top Corporation", + "system.corporation.grid.toolbar.addChild":"Add Child Corporation", + "system.user.grid.title":"User List", "system.user.grid.toolbar.setPassword":"Set Password", "system.user.grid.toolbar.setAllPassword":"Set All Password", @@ -28,39 +62,25 @@ "system.user.grid.toolbar.resetPassword.tip":"Are you sure to reset the user's password?", "system.user.grid.toolbar.resetAllPassword":"Reset All Password", "system.user.grid.toolbar.resetAllPassword.tip":"Are you sure to reset ALL user's password?", - "system.user.selectRole.grid.title":"Role List", - "system.user.selectRole.grid.toolbar.addRole":"Add Role", - "system.user.selectRole.grid.toolbar.addAllRole":"Add All Role", - "system.user.selectRole.grid.toolbar.addAllRole.tip":"Are you sure to add ALL roles to user?", - "system.user.selectRole.grid.toolbar.removeRole":"Remove Role", - "system.user.selectRole.grid.toolbar.removeRole.tip":"Are you sure to remove user's role?", - "system.user.selectRole.grid.toolbar.removeAllRole":"Remove All Role", - "system.user.selectRole.grid.toolbar.removeAllRole.tip":"Are you sure to remove user's ALL roles?", - "system.user.selectRole.dialog.title":"Available Role List", "system.role.grid.title":"Role List", - "system.role.selectUser.grid.title":"User List", - "system.role.selectUser.grid.toolbar.addUser":"Add User", - "system.role.selectUser.grid.toolbar.addAllUser":"Add All User", - "system.role.selectUser.grid.toolbar.addAllUser.tip":"Are you sure to add ALL users to role?", - "system.role.selectUser.grid.toolbar.removeUser":"Remove User", - "system.role.selectUser.grid.toolbar.removeUser.tip":"Are you sure to remove role's user?", - "system.role.selectUser.grid.toolbar.removeAllUser":"Remove All User", - "system.role.selectUser.grid.toolbar.removeAllUser.tip":"Are you sure to remove role's ALL users?", - "system.role.selectUser.dialog.title":"Available User List", - - "system.org.grid.title":"Org Tree", + "system.org.grid.title":"Organization Tree", + "system.org.grid.toolbar.addTop":"Add Top Org", + "system.org.grid.toolbar.addChild":"Add Child Org", + "system.menu.grid.title":"Menu Tree", + "system.menu.grid.toolbar.addTop":"Add Top Menu", + "system.menu.grid.toolbar.addChild":"Add Child Menu", + "system.menu.grid.entity.titleI18nKey":"Title i18n Key", + "system.menu.grid.entity.routeName":"Title i18n Key", - "system.menu.action.addTop":"Add Top Menu", - "system.menu.action.addChild":"Add Child Menu", + "system.announcementManager.grid.title":"Announcement List", - "system.corporation.action.addTop":"Add Top Corporation", - "system.corporation.action.addChild":"Add Child Corporation", + "system.notification.grid.title":"Messages List", "system.monitor.log.tab.view":"Log View", "system.monitor.log.tab.download":"Log Download", - "system.monitor.log.tab.level":"Log Level", + "system.monitor.log.tab.level":"Log Level" } diff --git a/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json b/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json index 546f7344..3b8e8573 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json +++ b/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json @@ -10,7 +10,7 @@ "menu.system.org" : "機構管理", "menu.system.department" : "部門管理", "menu.system.menu" : "菜單管理", - "menu.system.announcement" : "公告管理", + "menu.system.announcementManager" : "公告管理", "menu.system.notificationManager" : "消息管理", "menu.system.parameter" : "參數管理", "menu.system.dictionary" : "數據字典", @@ -25,39 +25,79 @@ "system.user.grid.toolbar.setPassword":"設置密碼", "system.user.grid.toolbar.setAllPassword":"設置所有密碼", "system.user.grid.toolbar.resetPassword":"重置密碼", - "system.user.grid.toolbar.resetPassword.tip":"您确定要重置用户密碼嗎?", + "system.user.grid.toolbar.resetPassword.tip":"您确定要重置用戶密碼嗎?", "system.user.grid.toolbar.resetAllPassword":"重置所有密碼", - "system.user.grid.toolbar.resetAllPassword.tip":"您确定要重置所有用户密碼嗎?", + "system.user.grid.toolbar.resetAllPassword.tip":"您确定要重置所有用戶密碼嗎?", "system.user.selectRole.grid.title":"角色列表", "system.user.selectRole.grid.toolbar.addRole":"添加角色", "system.user.selectRole.grid.toolbar.addAllRole":"添加所有角色", - "system.user.selectRole.grid.toolbar.addAllRole.tip":"您确定要给用户添加所有角色嗎?", + "system.user.selectRole.grid.toolbar.addAllRole.tip":"您确定要给用戶添加所有角色嗎?", "system.user.selectRole.grid.toolbar.removeRole":"移除角色", - "system.user.selectRole.grid.toolbar.removeRole.tip":"您确定要移除用户的角色嗎?", + "system.user.selectRole.grid.toolbar.removeRole.tip":"您确定要移除用戶的角色嗎?", "system.user.selectRole.grid.toolbar.removeAllRole":"移除所有角色", - "system.user.selectRole.grid.toolbar.removeAllRole.tip":"您确定要將用户的所有角色移除嗎?", + "system.user.selectRole.grid.toolbar.removeAllRole.tip":"您确定要將用戶的所有角色移除嗎?", "system.user.selectRole.dialog.title":"可選角色列表", + "system.user.selectOrg.grid.title":"機構樹", "system.role.grid.title":"角色列表", "system.role.selectUser.grid.title":"用戶列表", - "system.role.selectUser.grid.toolbar.addUser":"添加用户", - "system.role.selectUser.grid.toolbar.addAllUser":"添加所有用户", - "system.role.selectUser.grid.toolbar.addAllUser.tip":"您确定要给角色添加所有用户嗎?", - "system.role.selectUser.grid.toolbar.removeUser":"移除用户", - "system.role.selectUser.grid.toolbar.removeUser.tip":"您确定要移除角色的用户嗎?", - "system.role.selectUser.grid.toolbar.removeAllUser":"移除所有用户", - "system.role.selectUser.grid.toolbar.removeAllUser.tip":"您确定要移除角色的所有用户嗎?", + "system.role.selectUser.grid.toolbar.addUser":"添加用戶", + "system.role.selectUser.grid.toolbar.addAllUser":"添加所有用戶", + "system.role.selectUser.grid.toolbar.addAllUser.tip":"您确定要给角色添加所有用戶嗎?", + "system.role.selectUser.grid.toolbar.removeUser":"移除用戶", + "system.role.selectUser.grid.toolbar.removeUser.tip":"您确定要移除角色的用戶嗎?", + "system.role.selectUser.grid.toolbar.removeAllUser":"移除所有用戶", + "system.role.selectUser.grid.toolbar.removeAllUser.tip":"您确定要移除角色的所有用戶嗎?", "system.role.selectUser.dialog.title":"可選用戶列表", + "system.role.selectMenu.grid.title":"菜單樹", + "system.org.grid.title":"機構樹", + "system.org.grid.toolbar.addTop":"新增頂級機構", + "system.org.grid.toolbar.addChild":"新增子機構", + + + "system.shared.selectUser.grid.title": "用戶列表", + "system.shared.selectUser.grid.toolbar.add":"添加用戶", + "system.shared.selectUser.grid.toolbar.remove":"移除用戶", + "system.shared.selectUser.grid.toolbar.remove.tip":"您确定要移除用戶嗎?", + "system.shared.selectUser.grid.toolbar.addAll":"添加所有用戶", + "system.shared.selectUser.grid.toolbar.addAll.tip":"您确定要添加所有用戶嗎?", + "system.shared.selectUser.grid.toolbar.removeAll":"移除所有用戶", + "system.shared.selectUser.grid.toolbar.removeAll.tip":"您确定要移除所有用戶嗎?", + "system.shared.selectUser.dialog.title": "選擇用戶", + "system.shared.selectUser.dialog.grid.title": "可選用戶列表", + + "system.shared.selectRole.grid.title": "角色列表", + "system.shared.selectRole.grid.toolbar.add":"添加角色", + "system.shared.selectRole.grid.toolbar.remove":"移除角色", + "system.shared.selectRole.grid.toolbar.remove.tip":"您确定要移除角色嗎?", + "system.shared.selectRole.grid.toolbar.addAll":"添加所有角色", + "system.shared.selectRole.grid.toolbar.addAll.tip":"您确定要添加所有角色嗎?", + "system.shared.selectRole.grid.toolbar.removeAll":"移除所有角色", + "system.shared.selectRole.grid.toolbar.removeAll.tip":"您确定要移除所有角色嗎?", + "system.shared.selectRole.dialog.title": "選擇角色", + "system.shared.selectRole.dialog.grid.title": "可選角色列表", + + "system.shared.selectOrg.grid.title": "機構樹", + "system.shared.selectOrg.grid.toolbar.save":"保存", + "system.shared.selectOrg.grid.toolbar.save.tip":"您确定要更新機構吗?", + + + "system.shared.selectMenu.grid.title": "菜單树", + "system.shared.selectMenu.grid.toolbar.save":"保存", + "system.shared.selectMenu.grid.toolbar.save.tip":"您确定要更新菜單吗?", - "system.org.gridTitle":"機構樹", "system.announcement.gridTitle":"公告列表", "system.monitor.auditlog.gridTitle":"審計日誌列表", "system.menu.action.addTop":"新增頂級菜單", "system.menu.action.addChild":"新增子菜單", + "system.announcementManager.grid.title":"公告列表", + + "system.notification.grid.title":"消息列表", + "system.corporation.action.addTop":"新增頂級法人", "system.corporation.action.addChild":"新增子法人", diff --git a/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json b/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json index 567483c8..2a6915d1 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json +++ b/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json @@ -10,7 +10,7 @@ "menu.system.org" : "机构管理", "menu.system.department" : "部门管理", "menu.system.menu" : "菜单管理", - "menu.system.announcement" : "公告管理", + "menu.system.announcementManager" : "公告管理", "menu.system.notificationManager" : "消息管理", "menu.system.parameter" : "参数管理", "menu.system.dictionary" : "数据字典", @@ -21,6 +21,40 @@ "menu.system.monitor.resources" : "系统资源", "menu.system.license" : "许可证管理", + "system.shared.selectUser.grid.title": "用户列表", + "system.shared.selectUser.grid.toolbar.add":"添加用户", + "system.shared.selectUser.grid.toolbar.remove":"移除用户", + "system.shared.selectUser.grid.toolbar.remove.tip":"您确定要移除用户吗?", + "system.shared.selectUser.grid.toolbar.addAll":"添加所有用户", + "system.shared.selectUser.grid.toolbar.addAll.tip":"您确定要添加所有用户吗?", + "system.shared.selectUser.grid.toolbar.removeAll":"移除所有用户", + "system.shared.selectUser.grid.toolbar.removeAll.tip":"您确定要移除所有用户吗?", + "system.shared.selectUser.dialog.title": "选择用户", + "system.shared.selectUser.dialog.grid.title": "可选用户列表", + + "system.shared.selectRole.grid.title": "角色列表", + "system.shared.selectRole.grid.toolbar.add":"添加角色", + "system.shared.selectRole.grid.toolbar.remove":"移除角色", + "system.shared.selectRole.grid.toolbar.remove.tip":"您确定要移除角色吗?", + "system.shared.selectRole.grid.toolbar.addAll":"添加所有角色", + "system.shared.selectRole.grid.toolbar.addAll.tip":"您确定要添加所有角色吗?", + "system.shared.selectRole.grid.toolbar.removeAll":"移除所有角色", + "system.shared.selectRole.grid.toolbar.removeAll.tip":"您确定要移除所有角色吗?", + "system.shared.selectRole.dialog.title": "选择角色", + "system.shared.selectRole.dialog.grid.title": "可选角色列表", + + "system.shared.selectOrg.grid.title": "机构树", + "system.shared.selectOrg.grid.toolbar.save":"保存", + "system.shared.selectOrg.grid.toolbar.save.tip":"您确定要更新机构吗?", + + "system.shared.selectMenu.grid.title": "菜单树", + "system.shared.selectMenu.grid.toolbar.save":"保存", + "system.shared.selectMenu.grid.toolbar.save.tip":"您确定要更新菜单吗?", + + "system.corporation.grid.title":"法人树", + "system.corporation.grid.toolbar.addTop":"新增顶级法人", + "system.corporation.grid.toolbar.addChild":"新增子法人", + "system.user.grid.title":"用户列表", "system.user.grid.toolbar.setPassword":"设置密码", "system.user.grid.toolbar.setAllPassword":"设置所有密码", @@ -28,46 +62,30 @@ "system.user.grid.toolbar.resetPassword.tip":"您确定要重置用户密码吗?", "system.user.grid.toolbar.resetAllPassword":"重置所有密码", "system.user.grid.toolbar.resetAllPassword.tip":"您确定要重置所有用户密码吗?", - "system.user.selectRole.grid.title":"角色列表", - "system.user.selectRole.grid.toolbar.addRole":"添加角色", - "system.user.selectRole.grid.toolbar.addAllRole":"添加所有角色", - "system.user.selectRole.grid.toolbar.addAllRole.tip":"您确定要给用户添加所有角色吗?", - "system.user.selectRole.grid.toolbar.removeRole":"移除角色", - "system.user.selectRole.grid.toolbar.removeRole.tip":"您确定要移除用户的角色吗?", - "system.user.selectRole.grid.toolbar.removeAllRole":"移除所有角色", - "system.user.selectRole.grid.toolbar.removeAllRole.tip":"您确定要将用户的所有角色移除吗?", - "system.user.selectRole.dialog.title":"可选角色列表", "system.role.grid.title":"角色列表", - "system.role.selectUser.grid.title":"用户列表", - "system.role.selectUser.grid.toolbar.addUser":"添加用户", - "system.role.selectUser.grid.toolbar.addAllUser":"添加所有用户", - "system.role.selectUser.grid.toolbar.addAllUser.tip":"您确定要给角色添加所有用户吗?", - "system.role.selectUser.grid.toolbar.removeUser":"移除用户", - "system.role.selectUser.grid.toolbar.removeUser.tip":"您确定要移除角色的用户吗?", - "system.role.selectUser.grid.toolbar.removeAllUser":"移除所有用户", - "system.role.selectUser.grid.toolbar.removeAllUser.tip":"您确定要移除角色的所有用户吗?", - "system.role.selectUser.dialog.title":"可选用户列表", - - - - "system.org.gridTitle":"机构树", - "system.announcement.gridTitle":"公告列表", - "system.monitor.auditlog.gridTitle":"审计日志列表", "system.org.grid.title":"机构树", + "system.org.grid.toolbar.addTop":"新增顶级机构", + "system.org.grid.toolbar.addChild":"新增子机构", + "system.menu.grid.title":"菜单树", + "system.menu.grid.toolbar.addTop":"新增顶级菜单", + "system.menu.grid.toolbar.addChild":"新增子菜单", - "system.menu.action.addTop":"新增顶级菜单", - "system.menu.action.addChild":"新增子菜单", + "system.announcementManager.grid.title":"公告列表", - "system.corporation.action.addTop":"新增顶级法人", - "system.corporation.action.addChild":"新增子法人", + "system.notification.grid.title":"消息列表", + + + + "system.announcement.gridTitle":"公告列表", + "system.monitor.auditlog.gridTitle":"审计日志列表", "system.monitor.log.tab.view":"日志查看", "system.monitor.log.tab.download":"日志下载", "system.monitor.log.tab.level":"日志级别", - + } diff --git a/io.sc.platform.system.frontend/src/menus/menus.json b/io.sc.platform.system.frontend/src/menus/menus.json index d48ba302..0b9737f1 100644 --- a/io.sc.platform.system.frontend/src/menus/menus.json +++ b/io.sc.platform.system.frontend/src/menus/menus.json @@ -6,7 +6,7 @@ * ROUTE: 路由菜单项 * JAVASCRIPT: Javascript 菜单项 * URL: url 菜单项 - * SEPERATOR: 菜单分隔符 + * SEPARATOR: 菜单分隔符 * order: 排序号 * parentId: 父菜单组 ID * id: 菜单项 ID @@ -21,7 +21,7 @@ /*系统管理/法人管理*/ {"type":"ROUTE", "order":200, "parentId":"menu.system", "id":"menu.system.corporation", "titleI18nKey":"menu.system.corporation", "icon":"bi-share", "routeName":"route.system.corporation", "routeQuery": {"query":"query"}, "authorizeExpression":"T(org.wsp.framework.core.Environment).isEnableMultiCorporation()"}, /*系统管理/分隔符*/ - {"type":"SEPERATOR", "order":300, "parentId":"menu.system"}, + {"type":"SEPARATOR", "order":300, "parentId":"menu.system"}, /*系统管理/用户管理*/ {"type":"ROUTE", "order":400, "parentId":"menu.system", "id":"menu.system.user", "titleI18nKey":"menu.system.user", "icon":"bi-person", "routeName":"route.system.user"}, /*系统管理/角色管理*/ @@ -33,13 +33,13 @@ /*系统管理/菜单管理*/ {"type":"ROUTE", "order":800, "parentId":"menu.system", "id":"menu.system.menu", "titleI18nKey":"menu.system.menu", "icon":"bi-menu-app", "routeName":"route.system.menu"}, /*系统管理/分隔符*/ - {"type":"SEPERATOR", "order":900, "parentId":"menu.system"}, + {"type":"SEPARATOR", "order":900, "parentId":"menu.system"}, /*系统管理/公告管理*/ - {"type":"ROUTE", "order":1000, "parentId":"menu.system", "id":"menu.system.announcementManager", "titleI18nKey":"menu.system.announcement", "icon":"bi-megaphone", "routeName":"route.system.announcement"}, + {"type":"ROUTE", "order":1000, "parentId":"menu.system", "id":"menu.system.announcementManager", "titleI18nKey":"menu.system.announcementManager", "icon":"bi-megaphone", "routeName":"route.system.announcementManager"}, /*系统管理/消息管理*/ {"type":"ROUTE", "order":1100, "parentId":"menu.system", "id":"menu.system.notificationManager", "titleI18nKey":"menu.system.notificationManager", "icon":"bi-chat-dots", "routeName":"route.system.notificationManager"}, /*系统管理/分隔符*/ - {"type":"SEPERATOR", "order":1200, "parentId":"menu.system"}, + {"type":"SEPARATOR", "order":1200, "parentId":"menu.system"}, /*系统管理/参数配置*/ {"type":"ROUTE", "order":1300, "parentId":"menu.system", "id":"menu.system.parameter", "titleI18nKey":"menu.system.parameter", "icon":"bi-postcard", "routeName":"route.system.parameter"}, /*系统管理/数据字典*/ @@ -47,7 +47,7 @@ /*系统管理/国际化语言*/ {"type":"ROUTE", "order":1500, "parentId":"menu.system", "id":"menu.system.i18n", "titleI18nKey":"menu.system.i18n", "icon":"bi-globe", "routeName":"route.system.i18n"}, /*系统管理/分隔符*/ - {"type":"SEPERATOR", "order":1600, "parentId":"menu.system"}, + {"type":"SEPARATOR", "order":1600, "parentId":"menu.system"}, /*系统管理/系统监控*/ {"type":"GROUP", "order":1700, "parentId":"menu.system", "id":"menu.system.monitor", "titleI18nKey":"menu.system.monitor", "icon":"bi-speedometer2"}, /*系统管理/系统监控/审计日志*/ diff --git a/io.sc.platform.system.frontend/src/routes/routes.json b/io.sc.platform.system.frontend/src/routes/routes.json index 4921c5b3..942d9b55 100644 --- a/io.sc.platform.system.frontend/src/routes/routes.json +++ b/io.sc.platform.system.frontend/src/routes/routes.json @@ -11,6 +11,12 @@ "meta": { "permissions": [ "/system/corporation/**/*" + ], + "actions": [ + {"name":"query", "i18nKey":"query", "permissions":[{"method": "GET", "matcher": "/api/system/corporation"}]}, + {"name":"add", "i18nKey":"add", "permissions":[{"method": "POST", "matcher": "/api/system/corporation"}]}, + {"name":"remove", "i18nKey":"remove", "permissions":[{"method": "DELETE", "matcher": "/api/system/corporation"}]}, + {"name":"edit", "i18nKey":"edit", "permissions":[{"method": "PUT", "matcher": "/api/system/corporation"}]} ] } }, @@ -66,7 +72,7 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.Department", - "componentPath":"@/views/Department.vue", + "componentPath":"@/views/department/Department.vue", "redirect": null, "meta": { "permissions": [ @@ -90,13 +96,13 @@ } }, { - "name": "route.system.announcement", - "path": "system/announcement", + "name": "route.system.announcementManager", + "path": "system/announcementManager", "parent": "/", "priority": 0, "module": "io.sc.platform.system.frontend", - "component": "component.system.announcement", - "componentPath":"@/views/announcement/Announcement.vue", + "component": "component.system.announcementManager", + "componentPath":"@/views/announcement/AnnouncementManager.vue", "redirect": null, "meta": { "permissions": [ @@ -111,7 +117,7 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.NotificationManager", - "componentPath":"@/views/NotificationManager.vue", + "componentPath":"@/views/notification/NotificationManager.vue", "redirect": null, "meta": { "permissions": [ @@ -216,7 +222,7 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.License", - "componentPath":"@/views/License.vue", + "componentPath":"@/views/license/License.vue", "redirect": null, "meta": { "permissions": [ @@ -224,4 +230,4 @@ ] } } -] \ No newline at end of file +] diff --git a/io.sc.platform.system.frontend/src/views/AnnouncementManager.vue b/io.sc.platform.system.frontend/src/views/AnnouncementManager.vue deleted file mode 100644 index 051e0f3f..00000000 --- a/io.sc.platform.system.frontend/src/views/AnnouncementManager.vue +++ /dev/null @@ -1,4 +0,0 @@ - - diff --git a/io.sc.platform.system.frontend/src/views/I18n.vue b/io.sc.platform.system.frontend/src/views/I18n.vue deleted file mode 100644 index 3e55ab70..00000000 --- a/io.sc.platform.system.frontend/src/views/I18n.vue +++ /dev/null @@ -1,4 +0,0 @@ - - diff --git a/io.sc.platform.system.frontend/src/views/Log.vue b/io.sc.platform.system.frontend/src/views/Log.vue deleted file mode 100644 index 02a35ebc..00000000 --- a/io.sc.platform.system.frontend/src/views/Log.vue +++ /dev/null @@ -1,4 +0,0 @@ - - diff --git a/io.sc.platform.system.frontend/src/views/Menu.vue b/io.sc.platform.system.frontend/src/views/Menu.vue deleted file mode 100644 index e6377a07..00000000 --- a/io.sc.platform.system.frontend/src/views/Menu.vue +++ /dev/null @@ -1,4 +0,0 @@ - - diff --git a/io.sc.platform.system.frontend/src/views/NotificationManager.vue b/io.sc.platform.system.frontend/src/views/NotificationManager.vue deleted file mode 100644 index 8d5a8111..00000000 --- a/io.sc.platform.system.frontend/src/views/NotificationManager.vue +++ /dev/null @@ -1,4 +0,0 @@ - - diff --git a/io.sc.platform.system.frontend/src/views/Org.vue b/io.sc.platform.system.frontend/src/views/Org.vue deleted file mode 100644 index 5da9757c..00000000 --- a/io.sc.platform.system.frontend/src/views/Org.vue +++ /dev/null @@ -1,4 +0,0 @@ - - diff --git a/io.sc.platform.system.frontend/src/views/Role.vue b/io.sc.platform.system.frontend/src/views/Role.vue deleted file mode 100644 index e510e62b..00000000 --- a/io.sc.platform.system.frontend/src/views/Role.vue +++ /dev/null @@ -1,4 +0,0 @@ - - diff --git a/io.sc.platform.system.frontend/src/views/announcement/AnnouncementManager.vue b/io.sc.platform.system.frontend/src/views/announcement/AnnouncementManager.vue new file mode 100644 index 00000000..d1bda55a --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/announcement/AnnouncementManager.vue @@ -0,0 +1,59 @@ + + diff --git a/io.sc.platform.system.frontend/src/views/announcement/WEditor.vue b/io.sc.platform.system.frontend/src/views/announcement/WEditor.vue new file mode 100644 index 00000000..4f636fdf --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/announcement/WEditor.vue @@ -0,0 +1,76 @@ + + + diff --git a/io.sc.platform.system.frontend/src/views/corporation/Corporation.vue b/io.sc.platform.system.frontend/src/views/corporation/Corporation.vue index 2f62a265..f300dba1 100644 --- a/io.sc.platform.system.frontend/src/views/corporation/Corporation.vue +++ b/io.sc.platform.system.frontend/src/views/corporation/Corporation.vue @@ -1,54 +1,144 @@ diff --git a/io.sc.platform.system.frontend/src/views/Department.vue b/io.sc.platform.system.frontend/src/views/department/Department.vue similarity index 100% rename from io.sc.platform.system.frontend/src/views/Department.vue rename to io.sc.platform.system.frontend/src/views/department/Department.vue diff --git a/io.sc.platform.system.frontend/src/views/License.vue b/io.sc.platform.system.frontend/src/views/license/License.vue similarity index 100% rename from io.sc.platform.system.frontend/src/views/License.vue rename to io.sc.platform.system.frontend/src/views/license/License.vue diff --git a/io.sc.platform.system.frontend/src/views/menu/Menu.vue b/io.sc.platform.system.frontend/src/views/menu/Menu.vue index 23e9578e..a2f850cf 100644 --- a/io.sc.platform.system.frontend/src/views/menu/Menu.vue +++ b/io.sc.platform.system.frontend/src/views/menu/Menu.vue @@ -1,332 +1,255 @@ diff --git a/io.sc.platform.system.frontend/src/views/menu/SelectRoleDialog.vue b/io.sc.platform.system.frontend/src/views/menu/SelectRoleDialog.vue index 17744dc3..f34608c6 100644 --- a/io.sc.platform.system.frontend/src/views/menu/SelectRoleDialog.vue +++ b/io.sc.platform.system.frontend/src/views/menu/SelectRoleDialog.vue @@ -1,155 +1,105 @@ diff --git a/io.sc.platform.system.frontend/src/views/notification/NotificationManager.vue b/io.sc.platform.system.frontend/src/views/notification/NotificationManager.vue new file mode 100644 index 00000000..fca4dedf --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/notification/NotificationManager.vue @@ -0,0 +1,60 @@ + + diff --git a/io.sc.platform.system.frontend/src/views/org/Org.vue b/io.sc.platform.system.frontend/src/views/org/Org.vue index 099baef7..780b6118 100644 --- a/io.sc.platform.system.frontend/src/views/org/Org.vue +++ b/io.sc.platform.system.frontend/src/views/org/Org.vue @@ -1,244 +1,175 @@ diff --git a/io.sc.platform.system.frontend/src/views/org/SelectUserDialog.vue b/io.sc.platform.system.frontend/src/views/org/SelectUserDialog.vue deleted file mode 100644 index 93164570..00000000 --- a/io.sc.platform.system.frontend/src/views/org/SelectUserDialog.vue +++ /dev/null @@ -1,154 +0,0 @@ - - diff --git a/io.sc.platform.system.frontend/src/views/role/Role.vue b/io.sc.platform.system.frontend/src/views/role/Role.vue index 55b70a25..d5d82eb8 100644 --- a/io.sc.platform.system.frontend/src/views/role/Role.vue +++ b/io.sc.platform.system.frontend/src/views/role/Role.vue @@ -1,7 +1,7 @@ diff --git a/io.sc.platform.system.frontend/src/views/shared/SelectMenuTreeGrid.vue b/io.sc.platform.system.frontend/src/views/shared/SelectMenuTreeGrid.vue new file mode 100644 index 00000000..8f081648 --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/shared/SelectMenuTreeGrid.vue @@ -0,0 +1,108 @@ + + diff --git a/io.sc.platform.system.frontend/src/views/shared/SelectOrgTreeGrid.vue b/io.sc.platform.system.frontend/src/views/shared/SelectOrgTreeGrid.vue new file mode 100644 index 00000000..21e0679f --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/shared/SelectOrgTreeGrid.vue @@ -0,0 +1,81 @@ + + diff --git a/io.sc.platform.system.frontend/src/views/shared/SelectRoleDialog.vue b/io.sc.platform.system.frontend/src/views/shared/SelectRoleDialog.vue new file mode 100644 index 00000000..401a137a --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/shared/SelectRoleDialog.vue @@ -0,0 +1,102 @@ + + diff --git a/io.sc.platform.system.frontend/src/views/shared/SelectRoleGrid.vue b/io.sc.platform.system.frontend/src/views/shared/SelectRoleGrid.vue new file mode 100644 index 00000000..2b4e1039 --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/shared/SelectRoleGrid.vue @@ -0,0 +1,138 @@ + + diff --git a/io.sc.platform.system.frontend/src/views/shared/SelectUserDialog.vue b/io.sc.platform.system.frontend/src/views/shared/SelectUserDialog.vue new file mode 100644 index 00000000..cee6b61c --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/shared/SelectUserDialog.vue @@ -0,0 +1,106 @@ + + diff --git a/io.sc.platform.system.frontend/src/views/shared/SelectUserGrid.vue b/io.sc.platform.system.frontend/src/views/shared/SelectUserGrid.vue new file mode 100644 index 00000000..f8e4c04f --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/shared/SelectUserGrid.vue @@ -0,0 +1,150 @@ + + diff --git a/io.sc.platform.system.frontend/src/views/shared/UserStatusTag.vue b/io.sc.platform.system.frontend/src/views/shared/UserStatusTag.vue new file mode 100644 index 00000000..3940b924 --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/shared/UserStatusTag.vue @@ -0,0 +1,17 @@ + + diff --git a/io.sc.platform.system.frontend/src/views/user/SetPasswordDialog.vue b/io.sc.platform.system.frontend/src/views/user/SetPasswordDialog.vue index 4a214b14..76da7c9f 100644 --- a/io.sc.platform.system.frontend/src/views/user/SetPasswordDialog.vue +++ b/io.sc.platform.system.frontend/src/views/user/SetPasswordDialog.vue @@ -1,7 +1,7 @@