From 30ea36a7220bc7c328bf8aeda7b494d2b0ba7bb9 Mon Sep 17 00:00:00 2001 From: "meilin.huang" <954537473@qq.com> Date: Sat, 18 Jan 2025 13:43:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9C=BA=E5=99=A8=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=8A=A0=E5=AF=86=E6=96=B9=E6=B3=95=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package.json | 8 +- frontend/src/assets/icon/menu/permission.svg | 1 + frontend/src/assets/icon/menu/role.svg | 1 + .../src/components/form/FormItemTooltip.vue | 38 ++++++++ .../src/components/monaco/MonacoEditorBox.ts | 4 +- frontend/src/i18n/en/machine.ts | 3 + frontend/src/i18n/en/system.ts | 1 + frontend/src/i18n/zh-cn/machine.ts | 3 + frontend/src/i18n/zh-cn/system.ts | 1 + frontend/src/views/flow/ProcdefEdit.vue | 12 +-- .../src/views/ops/component/TagTreeSelect.vue | 56 ++++++----- frontend/src/views/ops/db/InstanceEdit.vue | 1 - frontend/src/views/ops/db/SyncTaskEdit.vue | 35 ++----- .../src/views/ops/machine/MachineEdit.vue | 10 +- frontend/src/views/ops/mongo/MongoEdit.vue | 1 - frontend/src/views/ops/redis/RedisEdit.vue | 1 - .../views/system/account/RoleAllocation.vue | 3 + .../views/system/resource/ResourceEdit.vue | 94 +++++++------------ .../views/system/resource/ResourceList.vue | 6 +- frontend/src/views/system/resource/index.ts | 21 +++++ .../src/views/system/role/ResourceEdit.vue | 3 + .../src/views/system/role/ShowResource.vue | 3 + server/go.mod | 4 +- server/internal/machine/api/form/form.go | 7 +- server/internal/machine/api/vo/vo.go | 1 + .../internal/machine/application/machine.go | 1 + .../internal/machine/domain/entity/machine.go | 1 + server/internal/machine/mcm/machine.go | 11 +++ server/internal/sys/api/vo/resource.go | 1 + .../persistence/role_resource.go | 4 +- server/pkg/config/app.go | 2 +- server/resources/script/sql/mayfly-go.sql | 10 +- server/resources/script/sql/v1.9/v1.9.3.sql | 8 ++ 33 files changed, 208 insertions(+), 148 deletions(-) create mode 100644 frontend/src/assets/icon/menu/permission.svg create mode 100644 frontend/src/assets/icon/menu/role.svg create mode 100644 frontend/src/components/form/FormItemTooltip.vue create mode 100644 server/resources/script/sql/v1.9/v1.9.3.sql diff --git a/frontend/package.json b/frontend/package.json index 75b110ab..1133a273 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@element-plus/icons-vue": "^2.3.1", - "@vueuse/core": "^12.3.0", + "@vueuse/core": "^12.4.0", "asciinema-player": "^3.8.1", "axios": "^1.6.2", "clipboard": "^2.0.11", @@ -19,7 +19,7 @@ "crypto-js": "^4.2.0", "dayjs": "^1.11.13", "echarts": "^5.6.0", - "element-plus": "^2.9.2", + "element-plus": "^2.9.3", "js-base64": "^3.7.7", "jsencrypt": "^3.3.2", "lodash": "^4.17.21", @@ -60,8 +60,8 @@ "eslint": "^8.35.0", "eslint-plugin-vue": "^9.31.0", "prettier": "^3.2.5", - "sass": "^1.83.1", - "typescript": "^5.7.2", + "sass": "^1.83.4", + "typescript": "^5.7.3", "vite": "^6.0.7", "vue-eslint-parser": "^9.4.3" }, diff --git a/frontend/src/assets/icon/menu/permission.svg b/frontend/src/assets/icon/menu/permission.svg new file mode 100644 index 00000000..709e573e --- /dev/null +++ b/frontend/src/assets/icon/menu/permission.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/assets/icon/menu/role.svg b/frontend/src/assets/icon/menu/role.svg new file mode 100644 index 00000000..41498aa3 --- /dev/null +++ b/frontend/src/assets/icon/menu/role.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/components/form/FormItemTooltip.vue b/frontend/src/components/form/FormItemTooltip.vue new file mode 100644 index 00000000..679c3546 --- /dev/null +++ b/frontend/src/components/form/FormItemTooltip.vue @@ -0,0 +1,38 @@ + + + + {{ props.label }} + + + + + + + + + + + + + + + + + diff --git a/frontend/src/components/monaco/MonacoEditorBox.ts b/frontend/src/components/monaco/MonacoEditorBox.ts index 295cf192..48fa54a7 100644 --- a/frontend/src/components/monaco/MonacoEditorBox.ts +++ b/frontend/src/components/monaco/MonacoEditorBox.ts @@ -32,6 +32,9 @@ const MonacoEditorBox = (props: MonacoEditorDialogProps): void => { if (props.canChangeLang === undefined) { props.canChangeLang = true; } + if (props.content === undefined) { + props.content = ''; + } // 创建 虚拟dom boxInstance = h(MonacoEditorDialog, { @@ -51,7 +54,6 @@ const MonacoEditorBox = (props: MonacoEditorDialogProps): void => { // 移除 container DOM 元素 document.body.removeChild(container); props.closeFn && props.closeFn(); - console.log('close editor'); }, onConfirm: () => { let value = props.content; diff --git a/frontend/src/i18n/en/machine.ts b/frontend/src/i18n/en/machine.ts index afa0571a..5542b30c 100644 --- a/frontend/src/i18n/en/machine.ts +++ b/frontend/src/i18n/en/machine.ts @@ -31,6 +31,9 @@ export default { ipAndPort: 'ip and port', connSuccess: 'be connected successfully', noAcErrMsg: 'Please complete the voucher account information', + ciphers: 'Ciphers', + keyExchanges: 'Key Exchanges', + multiValuePlaceholder: `multiple values are separated by ','`, // MachineRec playback: 'Playback', diff --git a/frontend/src/i18n/en/system.ts b/frontend/src/i18n/en/system.ts index 57c5a6a3..f19619f2 100644 --- a/frontend/src/i18n/en/system.ts +++ b/frontend/src/i18n/en/system.ts @@ -35,6 +35,7 @@ export default { linkAddress: 'Link Address', linkPlaceholder: 'External/embedded links (http://xxx.com)', menuNameRuleMsg: 'Please enter a resource name', + codeRuleMsg: 'Please enter a resource code', routeNameNotEmpty: 'Route names cannot be empty', resourceCodePatternErrMsg: 'Only 1-32 uppercase letters, numbers, and -.: characters are allowed', assignedRole: 'Assigned Role', diff --git a/frontend/src/i18n/zh-cn/machine.ts b/frontend/src/i18n/zh-cn/machine.ts index a58b7860..0b698ddb 100644 --- a/frontend/src/i18n/zh-cn/machine.ts +++ b/frontend/src/i18n/zh-cn/machine.ts @@ -32,6 +32,9 @@ export default { ipAndPort: 'ip和port', connSuccess: '连接成功', noAcErrMsg: '请完善授权凭证账号信息', + ciphers: '加密算法', + keyExchanges: '密钥交换', + multiValuePlaceholder: `多个值用 ',' 隔开`, // MachineRec playback: '回放', diff --git a/frontend/src/i18n/zh-cn/system.ts b/frontend/src/i18n/zh-cn/system.ts index f075fe05..9255f321 100644 --- a/frontend/src/i18n/zh-cn/system.ts +++ b/frontend/src/i18n/zh-cn/system.ts @@ -34,6 +34,7 @@ export default { linkAddress: '链接地址', linkPlaceholder: '外链/内嵌的链接地址(http://xxx.com)', menuNameRuleMsg: '请输入资源名称', + codeRuleMsg: '请输入code', routeNameNotEmpty: '路由名不能为空', resourceCodePatternErrMsg: '只允许输入1-32位大小写字母、数字、_-.:', assignedRole: '已分配角色', diff --git a/frontend/src/views/flow/ProcdefEdit.vue b/frontend/src/views/flow/ProcdefEdit.vue index da3d6786..1562680e 100755 --- a/frontend/src/views/flow/ProcdefEdit.vue +++ b/frontend/src/views/flow/ProcdefEdit.vue @@ -15,14 +15,8 @@ - - - {{ $t('flow.triggeringCondition') }} - - - - + - + + @@ -98,6 +93,7 @@ import { TagResourceTypeEnum, TagResourceTypePath } from '@/common/commonEnum'; import EnumSelect from '@/components/enumselect/EnumSelect.vue'; import { useI18nFormValidate, useI18nPleaseInput, useI18nSaveSuccessMsg } from '@/hooks/useI18n'; import { useI18n } from 'vue-i18n'; +import FormItemTooltip from '@/components/form/FormItemTooltip.vue'; const { t } = useI18n(); diff --git a/frontend/src/views/ops/component/TagTreeSelect.vue b/frontend/src/views/ops/component/TagTreeSelect.vue index a681dca1..5c446f8c 100644 --- a/frontend/src/views/ops/component/TagTreeSelect.vue +++ b/frontend/src/views/ops/component/TagTreeSelect.vue @@ -1,34 +1,32 @@ - - - - - - - {{ data.code }} - 【 - {{ data.name }} - 】 - {{ data.children.length }} - + + + + + + {{ data.code }} + 【 + {{ data.name }} + 】 + {{ data.children.length }} - - - + + +