diff --git a/cloud/bigscreen-design/public/config.js b/cloud/bigscreen-design/public/config.js index 07647ce..abd24d3 100644 --- a/cloud/bigscreen-design/public/config.js +++ b/cloud/bigscreen-design/public/config.js @@ -4,7 +4,7 @@ window.$website = { title: '康来生物数据大屏', name: '康来生物有限公司 数据大屏', subName: '可视化数据大屏版权所有 © 长沙康来生物科技有限公司', - url: 'http://192.168.3.10:9999/common_proxy/common', + url: 'http://192.168.3.10:9999/system_proxy/system', autoSave: false, autoSaveTime: 60000, tabsList: [0, 1, 2, 3, 4, 5, 6], diff --git a/src/api/platform/common/workflow/extension/controller/formCategory.ts b/src/api/platform/system/workflow/extension/controller/formCategory.ts similarity index 70% rename from src/api/platform/common/workflow/extension/controller/formCategory.ts rename to src/api/platform/system/workflow/extension/controller/formCategory.ts index ca92717..80046f2 100644 --- a/src/api/platform/common/workflow/extension/controller/formCategory.ts +++ b/src/api/platform/system/workflow/extension/controller/formCategory.ts @@ -3,15 +3,15 @@ * Copyright © 2020-2022 entfrm All rights reserved. * author entfrm开发团队-王翔 */ -import { FormCategory, FormCategoryParams, FormCategoryResult } from '/@/api/platform/common/workflow/extension/entity/formCategory'; +import { FormCategory, FormCategoryParams, FormCategoryResult } from '/@/api/platform/system/workflow/extension/entity/formCategory'; import { defHttp } from '/@/utils/http/axios'; enum Api { - list = '/common_proxy/common/workflow/extension/formCategory/list', - get = '/common_proxy/common/workflow/extension/formCategory', - save = '/common_proxy/common/workflow/extension/formCategory/save', - edit = '/common_proxy/common/workflow/extension/formCategory/update', - del = '/common_proxy/common/workflow/extension/formCategory/remove', + list = '/system_proxy/system/workflow/extension/formCategory/list', + get = '/system_proxy/system/workflow/extension/formCategory', + save = '/system_proxy/system/workflow/extension/formCategory/save', + edit = '/system_proxy/system/workflow/extension/formCategory/update', + del = '/system_proxy/system/workflow/extension/formCategory/remove', } export const listFormCategory = (params?: Partial) => defHttp.get({ url: Api.list, params }); diff --git a/src/api/platform/common/workflow/extension/controller/formDefinition.ts b/src/api/platform/system/workflow/extension/controller/formDefinition.ts similarity index 72% rename from src/api/platform/common/workflow/extension/controller/formDefinition.ts rename to src/api/platform/system/workflow/extension/controller/formDefinition.ts index 6849fea..d5fe1d5 100644 --- a/src/api/platform/common/workflow/extension/controller/formDefinition.ts +++ b/src/api/platform/system/workflow/extension/controller/formDefinition.ts @@ -3,15 +3,15 @@ * Copyright © 2020-2022 entfrm All rights reserved. * author entfrm开发团队-王翔 */ -import { FormDefinition, FormDefinitionParams, FormDefinitionResult } from '/@/api/platform/common/workflow/extension/entity/formDefinition'; +import { FormDefinition, FormDefinitionParams, FormDefinitionResult } from '/@/api/platform/system/workflow/extension/entity/formDefinition'; import { defHttp } from '/@/utils/http/axios'; enum Api { - list = '/common_proxy/common/workflow/extension/formDefinition/list', - get = '/common_proxy/common/workflow/extension/formDefinition', - save = '/common_proxy/common/workflow/extension/formDefinition/save', - edit = '/common_proxy/common/workflow/extension/formDefinition/update', - del = '/common_proxy/common/workflow/extension/formDefinition/remove', + list = '/system_proxy/system/workflow/extension/formDefinition/list', + get = '/system_proxy/system/workflow/extension/formDefinition', + save = '/system_proxy/system/workflow/extension/formDefinition/save', + edit = '/system_proxy/system/workflow/extension/formDefinition/update', + del = '/system_proxy/system/workflow/extension/formDefinition/remove', } export const listFormDefinition = (params?: Partial) => defHttp.get({url: Api.list, params}, { isReturnResultResponse: true }); diff --git a/src/api/platform/common/workflow/extension/controller/formDefinitionJson.ts b/src/api/platform/system/workflow/extension/controller/formDefinitionJson.ts similarity index 73% rename from src/api/platform/common/workflow/extension/controller/formDefinitionJson.ts rename to src/api/platform/system/workflow/extension/controller/formDefinitionJson.ts index 67954df..ba2d4f2 100644 --- a/src/api/platform/common/workflow/extension/controller/formDefinitionJson.ts +++ b/src/api/platform/system/workflow/extension/controller/formDefinitionJson.ts @@ -3,16 +3,16 @@ * Copyright © 2020-2022 entfrm All rights reserved. * author entfrm开发团队-王翔 */ -import { FormDefinitionJsonParams, FormDefinitionJson, FormDefinitionJsonResult } from '/@/api/platform/common/workflow/extension/entity/formDefinitionJson'; +import { FormDefinitionJsonParams, FormDefinitionJson, FormDefinitionJsonResult } from '/@/api/platform/system/workflow/extension/entity/formDefinitionJson'; import { defHttp } from '/@/utils/http/axios'; enum Api { - list = '/common_proxy/common/workflow/extension/formDefinitionJson/list', - get = '/common_proxy/common/workflow/extension/formDefinitionJson', - save = '/common_proxy/common/workflow/extension/formDefinitionJson/save', - edit = '/common_proxy/common/workflow/extension/formDefinitionJson/update', - del = '/common_proxy/common/workflow/extension/formDefinitionJson/remove', - setPrimaryVersion = '/common_proxy/common/workflow/extension/formDefinitionJson/setPrimaryVersion' + list = '/system_proxy/system/workflow/extension/formDefinitionJson/list', + get = '/system_proxy/system/workflow/extension/formDefinitionJson', + save = '/system_proxy/system/workflow/extension/formDefinitionJson/save', + edit = '/system_proxy/system/workflow/extension/formDefinitionJson/update', + del = '/system_proxy/system/workflow/extension/formDefinitionJson/remove', + setPrimaryVersion = '/system_proxy/system/workflow/extension/formDefinitionJson/setPrimaryVersion' } export const listFormDefinitionJson = (params?: Partial) => defHttp.get({url: Api.list, params}, { isReturnResultResponse: true }); diff --git a/src/api/platform/common/workflow/extension/entity/formCategory.ts b/src/api/platform/system/workflow/extension/entity/formCategory.ts similarity index 100% rename from src/api/platform/common/workflow/extension/entity/formCategory.ts rename to src/api/platform/system/workflow/extension/entity/formCategory.ts diff --git a/src/api/platform/common/workflow/extension/entity/formDefinition.ts b/src/api/platform/system/workflow/extension/entity/formDefinition.ts similarity index 100% rename from src/api/platform/common/workflow/extension/entity/formDefinition.ts rename to src/api/platform/system/workflow/extension/entity/formDefinition.ts diff --git a/src/api/platform/common/workflow/extension/entity/formDefinitionJson.ts b/src/api/platform/system/workflow/extension/entity/formDefinitionJson.ts similarity index 100% rename from src/api/platform/common/workflow/extension/entity/formDefinitionJson.ts rename to src/api/platform/system/workflow/extension/entity/formDefinitionJson.ts diff --git a/src/components/SimpleMenu/src/SimpleMenu.vue b/src/components/SimpleMenu/src/SimpleMenu.vue index 0b471a5..cc5be57 100644 --- a/src/components/SimpleMenu/src/SimpleMenu.vue +++ b/src/components/SimpleMenu/src/SimpleMenu.vue @@ -32,6 +32,9 @@ import { isFunction, isUrl } from '/@/utils/is'; import { openWindow } from '/@/utils'; import { useOpenKeys } from './useOpenKeys'; + import { formatUrlParamsMenu } from '/@/router/helper/menuHelper'; + import { useUserStore } from '/@/store/modules/user'; + import { User } from '/@/api/platform/core/entity/user' export default defineComponent({ name: 'SimpleMenu', @@ -59,6 +62,7 @@ setup(props, { attrs, emit }) { const currentActiveMenu = ref(''); const isClickGo = ref(false); + const userStore = useUserStore(); const menuState = reactive({ activeName: '', @@ -129,6 +133,14 @@ async function handleSelect(key: string) { if (isUrl(key)) { + // 替换表达式真实值 + formatUrlParamsMenu(key, { + user: userStore.getUserInfo, + accessToken: userStore.getAccessToken, + refreshToken: userStore.getRefreshToken, + roleIds: userStore.getRoleIds, + permissions: userStore.getPermissions + }); openWindow(key); return; } diff --git a/src/router/helper/menuHelper.ts b/src/router/helper/menuHelper.ts index 6a8bf70..48ff9f9 100644 --- a/src/router/helper/menuHelper.ts +++ b/src/router/helper/menuHelper.ts @@ -9,7 +9,7 @@ import { AppRouteModule } from '/@/router/types'; import type { Menu, AppRouteRecordRaw } from '/@/router/types'; import { findPath, treeMap } from '/@/utils/helper/treeHelper'; -import { cloneDeep } from 'lodash-es'; +import { cloneDeep, get } from 'lodash-es'; import { isUrl } from '/@/utils/is'; import { usePermissionStore } from '/@/store/modules/permission'; import { RouteParams } from 'vue-router'; @@ -104,3 +104,16 @@ export function configureDynamicParamsMenu(menu: Menu, params: RouteParams) { // children menu.children?.forEach((item) => configureDynamicParamsMenu(item, params)); } + + +/** 替换外部链接表达式真实值 */ +const menuUrlParamRegex = /\$\{([\s\S]+?)\}/g; +export function formatUrlParamsMenu(url: string, params: object): string { + const matchArr = url.match(menuUrlParamRegex); + matchArr?.forEach((it) => { + const realIt = it.substring(2, it.length-1); + const value = get(params, realIt); + value && (url = url.replace('${'+ realIt +'}', value as string)); + }); + return url; +} diff --git a/src/views/common/workflow/extension/form/FormModal.vue b/src/views/system/workflow/extension/form/FormModal.vue similarity index 97% rename from src/views/common/workflow/extension/form/FormModal.vue rename to src/views/system/workflow/extension/form/FormModal.vue index f5b8653..6cd9362 100644 --- a/src/views/common/workflow/extension/form/FormModal.vue +++ b/src/views/system/workflow/extension/form/FormModal.vue @@ -19,7 +19,7 @@ import { ref, unref } from 'vue'; import { BasicForm, useForm } from '/@/components/Form/index'; import { formSchema } from './form.data'; -import { addFormDefinition, editFormDefinition, getFormDefinition } from '/@/api/platform/common/workflow/extension/controller/formDefinition'; +import { addFormDefinition, editFormDefinition, getFormDefinition } from '/@/api/platform/system/workflow/extension/controller/formDefinition'; import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal'; /** 通用变量统一声明区域 */ diff --git a/src/views/common/workflow/extension/form/form.data.ts b/src/views/system/workflow/extension/form/form.data.ts similarity index 97% rename from src/views/common/workflow/extension/form/form.data.ts rename to src/views/system/workflow/extension/form/form.data.ts index 96f750a..a23dabf 100644 --- a/src/views/common/workflow/extension/form/form.data.ts +++ b/src/views/system/workflow/extension/form/form.data.ts @@ -1,7 +1,7 @@ import { BasicColumn, FormSchema } from '/@/components/Table'; import { h } from 'vue'; import { Tag } from 'ant-design-vue'; -import { listFormCategory } from '/@/api/platform/common/workflow/extension/controller/formCategory'; +import { listFormCategory } from '/@/api/platform/system/workflow/extension/controller/formCategory'; /** 表格列配置 */ export const columns: BasicColumn[] = [ diff --git a/src/views/common/workflow/extension/form/helper/WorkflowFormDesign.vue b/src/views/system/workflow/extension/form/helper/WorkflowFormDesign.vue similarity index 100% rename from src/views/common/workflow/extension/form/helper/WorkflowFormDesign.vue rename to src/views/system/workflow/extension/form/helper/WorkflowFormDesign.vue diff --git a/src/views/common/workflow/extension/form/index.vue b/src/views/system/workflow/extension/form/index.vue similarity index 98% rename from src/views/common/workflow/extension/form/index.vue rename to src/views/system/workflow/extension/form/index.vue index fdfd1c0..5c142c9 100644 --- a/src/views/common/workflow/extension/form/index.vue +++ b/src/views/system/workflow/extension/form/index.vue @@ -108,7 +108,7 @@