diff --git a/src/api/core/coreInfo.ts b/src/api/core/coreInfo.ts new file mode 100644 index 00000000..7bbff548 --- /dev/null +++ b/src/api/core/coreInfo.ts @@ -0,0 +1,86 @@ +import { CACHE_SESSION_CRYPTO_API } from '@/constants/cache-keys-constants'; +import { sessionGet } from '@/utils/cache-session-utils'; +import { request } from '@/plugins/http-fetch'; + +/** + * 查询核心网列表 + * @param query 查询参数 + * @returns object + */ +export function listCoreInfo(query: Record) { + return request({ + url: '/core/info/list', + method: 'GET', + params: query, + timeout: 60_000, + }); +} + +/** + * 查询核心网列表全部无分页 + * @param query 查询参数 + * @returns object + */ +export function listAllCoreInfo(query: Record) { + return request({ + url: '/core/info/list/all', + method: 'GET', + params: query, + timeout: 60_000, + }); +} + +/** + * 查询核心网信息详细 + * @param id 信息ID + * @returns object + */ +export function getCoreInfo(id: string | number) { + return request({ + url: `/core/info/${id}`, + method: 'GET', + }); +} + +/** + * 核心网信息新增 + * @param data 核心网对象 + * @returns object + */ +export function addCoreInfo(data: Record) { + return request({ + url: `/core/info`, + method: 'POST', + data: data, + crypto: sessionGet(CACHE_SESSION_CRYPTO_API) !== 'false', + timeout: 30_000, + }); +} + +/** + * 核心网信息修改 + * @param data 核心网对象 + * @returns object + */ +export function updateCoreInfo(data: Record) { + return request({ + url: `/core/info`, + method: 'PUT', + data: data, + crypto: sessionGet(CACHE_SESSION_CRYPTO_API) !== 'false', + timeout: 30_000, + }); +} + +/** + * 核心网信息删除 + * @param id 信息ID + * @returns object + */ +export function delCoreInfo(id: string | number) { + return request({ + url: `/core/info/${id}`, + method: 'DELETE', + timeout: 60_000, + }); +} diff --git a/src/api/ne/neInfo.ts b/src/api/ne/neInfo.ts index 80022fe3..1cd8fd36 100644 --- a/src/api/ne/neInfo.ts +++ b/src/api/ne/neInfo.ts @@ -73,12 +73,12 @@ export function delNeInfo(infoIds: string | number) { /** * 查询网元列表全部无分页 - * @param query 查询参数 neType neId bandStatus bandHost + * @param query 查询参数 coreUid, neUid bandStatus bandHost * @returns object */ export function listAllNeInfo(query: Record) { return request({ - url: '/ne/info/listAll', + url: '/ne/info/list/all', method: 'GET', params: query, timeout: 60_000, @@ -87,57 +87,57 @@ export function listAllNeInfo(query: Record) { /** * 查询网元状态 - * @param neType 网元类型 - * @param neId 网元ID + * @param coreUid 核心网ID + * @param neUid 网元ID * @returns object */ -export function stateNeInfo(neType: string, neId: string) { +export function stateNeInfo(coreUid: string, neUid: string) { return request({ url: '/ne/info/state', method: 'GET', - params: { neType, neId }, + params: { coreUid, neUid }, }); } /** * 查询网元信息 - * @param neType 网元类型 - * @param neId 网元ID + * @param coreUid 核心网ID + * @param neUid 网元ID * @returns object */ -export function getNeInfoByTypeAndID(neType: string, neId: string) { +export function getNeInfoByTypeAndID(coreUid: string, neUid: string) { return request({ - url: '/ne/info/byTypeAndID', + url: '/ne/info/nf', method: 'GET', - params: { neType, neId }, + params: { coreUid, neUid }, }); } /** * 网元端OAM配置文件读取 - * @param neType 网元类型 - * @param neId 网元ID + * @param coreUid 核心网ID + * @param neUid 网元ID * @returns object */ -export function getOAMFile(neType: string, neId: string) { +export function getOAMFile(coreUid: string, neUid: string) { return request({ - url: '/ne/info/oamFile', + url: '/ne/info/file/oam', method: 'GET', - params: { neType, neId }, + params: { coreUid, neUid }, }); } /** * 网元端配置文件写入 - * @param neType 网元类型 - * @param neId 网元ID + * @param coreUid 核心网ID + * @param neUid 网元ID * @param content 用json对象 * @param sync 同步到网元 * @returns object */ export function saveOAMFile(data: Record) { return request({ - url: `/ne/info/oamFile`, + url: `/ne/info/file/oam`, method: 'PUT', data: data, timeout: 60_000, @@ -150,7 +150,7 @@ export function saveOAMFile(data: Record) { */ export function getPara5GFilee() { return request({ - url: '/ne/info/para5GFile', + url: '/ne/info/file/para5g', method: 'GET', }); } @@ -158,12 +158,12 @@ export function getPara5GFilee() { /** * 网元端公共配置文件写入 * @param content txt内容为字符串 其他文件格式都用json对象 - * @param syncNe 同步到网元端 NeType@ NeId + * @param syncNe 同步到网元端 coreUid@ neUid * @returns object */ export function savePara5GFile(data: Record) { return request({ - url: `/ne/info/para5GFile`, + url: `/ne/info/file/para5g`, method: 'PUT', data: data, timeout: 60_000, @@ -172,7 +172,7 @@ export function savePara5GFile(data: Record) { /** * 网元服务操作 - * @param data 对象 {neType,neId,action} + * @param data 对象 {coreUid, neUid, action} * @returns object */ export function serviceNeAction(data: Record) { diff --git a/src/constants/cache-keys-constants.ts b/src/constants/cache-keys-constants.ts index b09b2ffb..09b86b01 100644 --- a/src/constants/cache-keys-constants.ts +++ b/src/constants/cache-keys-constants.ts @@ -4,6 +4,9 @@ export const CACHE_SESSION_CRYPTO_API = 'cache:session:cryptoApi'; /**会话缓存-网络请求 */ export const CACHE_SESSION_FATCH = 'cache:session:fatch'; +/**会话缓存-当前选中核心网 */ +export const CACHE_SESSION_CORE = 'cache:session:core'; + /**本地缓存-布局设置 */ export const CACHE_LOCAL_PROCONFIG = 'cache:local:proConfig'; diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue index 3be38b2b..c3844893 100644 --- a/src/layouts/BasicLayout.vue +++ b/src/layouts/BasicLayout.vue @@ -7,6 +7,7 @@ import { } from 'antdv-pro-layout'; import HeaderContentRight from './components/HeaderContentRight/HeaderContentRight.vue'; import Tabs from './components/Tabs.vue'; +import CoreSelect from './components/CoreSelect.vue'; import GlobalMask from '@/components/GlobalMask/index.vue'; import ForcePasswdChange from '@/components/ForcePasswdChange/index.vue'; import { scriptUrl } from '@/assets/js/icon_font_8d5l8fzk5b87iudi'; @@ -21,7 +22,7 @@ import { import { useRouter } from 'vue-router'; import useLayoutStore from '@/store/modules/layout'; import useAppStore from '@/store/modules/app'; -import useNeListStore from '@/store/modules/ne_list'; +import useNeStore from '@/store/modules/ne'; import useRouterStore from '@/store/modules/router'; import useTabsStore from '@/store/modules/tabs'; import useI18n from '@/hooks/useI18n'; @@ -34,7 +35,7 @@ import { parseUrlPath } from '@/plugins/file-static-url'; const { proConfig, waterMarkContent } = useLayoutStore(); const { t, currentLocale } = useI18n(); const routerStore = useRouterStore(); -const neListStore = useNeListStore(); +const neListStore = useNeStore(); const tabsStore = useTabsStore(); const appStore = useAppStore(); const router = useRouter(); @@ -265,6 +266,7 @@ onUnmounted(() => { v-model:openKeys="layoutState.openKeys" :menu-data="menuData" :breadcrumb="{ routes: breadcrumb }" + :siderWidth="248" v-bind="proConfig" :iconfont-url="scriptUrl" :locale="fnLocale" @@ -308,6 +310,11 @@ onUnmounted(() => { + + +