1.更新跳转外部链接
This commit is contained in:
2026-03-12 14:58:38 +08:00
parent 43e37e3c54
commit 1cd7a43bc5
5 changed files with 171 additions and 122 deletions
+3
View File
@@ -30,3 +30,6 @@ VITE_EMERGENCY_SCREEN=http://emer.dev.yg.dt.io/
#VITE_APP_SUB_jeecg-app-1 = '//localhost:8092'
VITE_PLATFORM = 'YT'
# 跳转外部链接
VITE_OUT_URL=https://console-jkglpt.iosp.ydpt.tech/hb/healthadmin/index.html?param=
+3
View File
@@ -39,3 +39,6 @@ VITE_LEGACY = false
# 油田平台CODE
VITE_PLATFORM = 'YT'
# 跳转外部链接
VITE_OUT_URL=https://console-jkglpt.iosp.ydpt.tech/hb/healthadmin/index.html?param=
+3
View File
@@ -37,3 +37,6 @@ VITE_USE_PWA = false
VITE_LEGACY = false
VITE_PLATFORM = 'YT'
# 跳转外部链接
VITE_OUT_URL=https://gstest.superwx.cn/healthapiadmin/index.html?param=
+1
View File
@@ -5,6 +5,7 @@ ENV LANG en_US.UTF-8
ENV VITE_GLOB_API_URL https://xj-api.mcrm.vip:8888
ENV VITE_GLOB_DOMAIN_URL https://xj-api.mcrm.vip:8888
ENV VITE_OUT_URL https://gstest.superwx.cn/healthapiadmin/index.html?param=
RUN echo "server { \
#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \
+58 -19
View File
@@ -13,29 +13,39 @@
:subMenuOpenDelay="0.2"
v-bind="getInlineCollapseOptions"
>
<template v-for="item in items" :key="item.path">
<template
v-for="item in items.concat(
hasPermission('health:health-bank') ? [{ name: '健康银行', icon: 'ant-design:bank-outlined', title: '健康银行' }] : []
)"
:key="item.path"
>
<BasicSubMenuItem :item="item" :theme="theme" :isHorizontal="isHorizontal" />
</template>
</Menu>
</template>
<script lang="ts">
import type { MenuState } from './types';
import { computed, defineComponent, reactive, ref, toRefs, unref, watch } from 'vue';
import { Menu } from 'ant-design-vue';
import BasicSubMenuItem from './components/BasicSubMenuItem.vue';
import { MenuModeEnum, MenuTypeEnum } from '/@/enums/menuEnum';
import { useOpenKeys } from './useOpenKeys';
import { RouteLocationNormalizedLoaded, useRouter } from 'vue-router';
import { isFunction } from '/@/utils/is';
import { basicProps } from './props';
import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
import { REDIRECT_NAME } from '/@/router/constant';
import { useDesign } from '/@/hooks/web/useDesign';
import { getCurrentParentPath } from '/@/router/menus';
import { listenerRouteChange } from '/@/logics/mitt/routeChange';
import { getAllParentPath } from '/@/router/helper/menuHelper';
import type { MenuState } from './types';
import { computed, defineComponent, reactive, ref, toRefs, unref, watch } from 'vue';
import { Menu } from 'ant-design-vue';
import BasicSubMenuItem from './components/BasicSubMenuItem.vue';
import { MenuModeEnum, MenuTypeEnum } from '/@/enums/menuEnum';
import { useOpenKeys } from './useOpenKeys';
import { RouteLocationNormalizedLoaded, useRouter } from 'vue-router';
import { isFunction } from '/@/utils/is';
import { basicProps } from './props';
import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
import { REDIRECT_NAME } from '/@/router/constant';
import { useDesign } from '/@/hooks/web/useDesign';
import { getCurrentParentPath } from '/@/router/menus';
import { listenerRouteChange } from '/@/logics/mitt/routeChange';
import { getAllParentPath } from '/@/router/helper/menuHelper';
import { usePermission } from '/@/hooks/web/usePermission';
import { defHttp } from '/@/utils/http/axios';
import { getEnvInfo } from '/@/utils/getEnv';
import { getToken } from '/@/utils/auth';
import { useLoading } from '/@/components/Loading';
export default defineComponent({
export default defineComponent({
name: 'BasicMenu',
components: {
Menu,
@@ -46,6 +56,10 @@ export default defineComponent({
setup(props, { emit }) {
const isClickGo = ref(false);
const currentActiveMenu = ref('');
const { hasPermission } = usePermission();
const [open, close] = useLoading({
target: '', // 遮罩挂载的目标元素,默认body
});
const menuState = reactive<MenuState>({
defaultSelectedKeys: [],
@@ -112,6 +126,30 @@ export default defineComponent({
//update-begin-author:taoyan date:2022-6-1 for: VUEN-1144 online 配置成菜单后,打开菜单,显示名称未展示为菜单名称
async function handleMenuClick({ item, key }: { item: any; key: string; keyPath: string[] }) {
if (item.title === '健康银行') {
open();
const url = getEnvInfo().VITE_GLOB_API_URL;
await defHttp
.get({
url: '/health-system/api/sys/encryptInfo',
params: {
str: {
scheme: url.split('://')[0],
host: url.split('://')[1],
tokenF: getToken(),
},
},
})
.then((res) => {
console.log(res);
window.open(`${getEnvInfo().VITE_OUT_URL}${res.encryptData}`, '_blank');
close();
})
.catch(() => {
close();
});
return;
}
const { beforeClickFn } = props;
if (beforeClickFn && isFunction(beforeClickFn)) {
const flag = await beforeClickFn(key);
@@ -151,10 +189,11 @@ export default defineComponent({
handleOpenChange,
getOpenKeys,
...toRefs(menuState),
hasPermission,
};
},
});
});
</script>
<style lang="less">
@import './index.less';
@import './index.less';
</style>