diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.cjs similarity index 100% rename from frontend/.eslintrc.js rename to frontend/.eslintrc.cjs diff --git a/frontend/src/common/assert.ts b/frontend/src/common/assert.ts index 16e8808e..a4c004cb 100644 --- a/frontend/src/common/assert.ts +++ b/frontend/src/common/assert.ts @@ -30,7 +30,12 @@ export function isTrue(condition: boolean, msg: string) { * @param msg 错误消息 */ export function notBlank(obj: any, msg: string) { - isTrue(obj, msg); + if (obj == null || obj == undefined || obj == '') { + throw new AssertError(msg); + } + if (Array.isArray(obj) && obj.length == 0) { + throw new AssertError(msg); + } } /** diff --git a/frontend/src/common/commonEnum.ts b/frontend/src/common/commonEnum.ts index d320dd3d..9eae5aad 100644 --- a/frontend/src/common/commonEnum.ts +++ b/frontend/src/common/commonEnum.ts @@ -19,15 +19,22 @@ export const ResourceTypeEnum = { // 标签关联的资源类型 export const TagResourceTypeEnum = { - AuthCert: EnumValue.of(-2, '公共凭证').setExtra({ icon: 'Ticket' }), + PublicAuthCert: EnumValue.of(-2, '公共凭证').setExtra({ icon: 'Ticket' }), Tag: EnumValue.of(-1, '标签').setExtra({ icon: 'CollectionTag' }), Machine: ResourceTypeEnum.Machine, - Db: ResourceTypeEnum.Db, + DbInstance: ResourceTypeEnum.Db, Redis: ResourceTypeEnum.Redis, Mongo: ResourceTypeEnum.Mongo, + AuthCert: EnumValue.of(5, '授权凭证').setExtra({ icon: 'Ticket', iconColor: 'var(--el-color-success)' }), - MachineAuthCert: EnumValue.of(11, '机器-授权凭证').setExtra({ icon: 'Ticket', iconColor: 'var(--el-color-success)' }), - DbAuthCert: EnumValue.of(21, '数据库-授权凭证').setExtra({ icon: 'Ticket', iconColor: 'var(--el-color-success)' }), - DbName: EnumValue.of(22, '数据库').setExtra({ icon: 'Coin' }), + Db: EnumValue.of(22, '数据库').setExtra({ icon: 'Coin' }), +}; + +// 标签关联的资源类型路径 +export const TagResourceTypePath = { + MachineAuthCert: `${TagResourceTypeEnum.Machine.value}/${TagResourceTypeEnum.AuthCert.value}`, + + DbInstanceAuthCert: `${TagResourceTypeEnum.DbInstance.value}/${TagResourceTypeEnum.AuthCert.value}`, + Db: `${TagResourceTypeEnum.DbInstance.value}/${TagResourceTypeEnum.AuthCert.value}/${TagResourceTypeEnum.Db.value}`, }; diff --git a/frontend/src/common/config.ts b/frontend/src/common/config.ts index ad716390..855e674b 100644 --- a/frontend/src/common/config.ts +++ b/frontend/src/common/config.ts @@ -15,7 +15,7 @@ const config = { baseWsUrl: `${(window as any).globalConfig.BaseWsUrl || `${location.protocol == 'https:' ? 'wss:' : 'ws:'}//${getBaseApiUrl()}`}/api`, // 系统版本 - version: 'v1.9.1', + version: 'v1.9.2', }; export default config; diff --git a/frontend/src/views/flow/ProcdefEdit.vue b/frontend/src/views/flow/ProcdefEdit.vue index 94941be6..da3d6786 100755 --- a/frontend/src/views/flow/ProcdefEdit.vue +++ b/frontend/src/views/flow/ProcdefEdit.vue @@ -37,7 +37,7 @@ - + {{ $t('flow.approvalNode') }} @@ -94,7 +94,7 @@ import Sortable from 'sortablejs'; import { randomUuid } from '../../common/utils/string'; import { ProcdefStatus } from './enums'; import TagTreeCheck from '../ops/component/TagTreeCheck.vue'; -import { TagResourceTypeEnum } from '@/common/commonEnum'; +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'; diff --git a/frontend/src/views/flow/flowbiz/dbms/DbSqlExecBiz.vue b/frontend/src/views/flow/flowbiz/dbms/DbSqlExecBiz.vue index 84916aad..50508561 100755 --- a/frontend/src/views/flow/flowbiz/dbms/DbSqlExecBiz.vue +++ b/frontend/src/views/flow/flowbiz/dbms/DbSqlExecBiz.vue @@ -95,7 +95,7 @@ const parseBizForm = async (bizFormStr: string) => { const dbRes = await dbApi.dbs.request({ id: bizForm.dbId }); state.db = dbRes.list?.[0]; - tagApi.listByQuery.request({ type: TagResourceTypeEnum.DbName.value, codes: state.db.code }).then((res) => { + tagApi.listByQuery.request({ type: TagResourceTypeEnum.Db.value, codes: state.db.code }).then((res) => { state.db.codePaths = res.map((item: any) => item.codePath); }); }; diff --git a/frontend/src/views/flow/flowbiz/dbms/DbSqlExecFlowBizForm.vue b/frontend/src/views/flow/flowbiz/dbms/DbSqlExecFlowBizForm.vue index ad9a360f..c43d8d2c 100755 --- a/frontend/src/views/flow/flowbiz/dbms/DbSqlExecFlowBizForm.vue +++ b/frontend/src/views/flow/flowbiz/dbms/DbSqlExecFlowBizForm.vue @@ -68,7 +68,7 @@ watch( ); const changeResourceCode = async (db: any) => { - emit('changeResourceCode', TagResourceTypeEnum.DbName.value, db.code); + emit('changeResourceCode', TagResourceTypeEnum.Db.value, db.code); }; const validateBizForm = async () => { diff --git a/frontend/src/views/home/Home.vue b/frontend/src/views/home/Home.vue index cf07dc72..8153c2cf 100644 --- a/frontend/src/views/home/Home.vue +++ b/frontend/src/views/home/Home.vue @@ -122,7 +122,12 @@