From a2d93ddafe78ae99d8b4ee5e001f09afc474cdfe Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Tue, 16 Jul 2024 11:21:16 +0800
Subject: [PATCH 01/17] =?UTF-8?q?fix:=20=E7=B3=BB=E7=BB=9F=E5=90=8D?=
=?UTF-8?q?=E7=A7=B0=E6=A8=AA=E5=90=91=E6=BB=9A=E5=8A=A8=E8=A1=94=E6=8E=A5?=
=?UTF-8?q?=E5=8A=A8=E7=94=BB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/layouts/BasicLayout.vue | 27 ++++++++++------
.../quick-start/components/SystemConfig.vue | 24 +++++++++-----
.../system/setting/components/change-logo.vue | 32 ++++++++++++-------
3 files changed, 54 insertions(+), 29 deletions(-)
diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue
index f8c8f72a..a3aaade7 100644
--- a/src/layouts/BasicLayout.vue
+++ b/src/layouts/BasicLayout.vue
@@ -176,6 +176,7 @@ function fnCheckAppNameOverflow() {
if (!text) return;
if (text.offsetWidth > container.offsetWidth) {
text.classList.add('app-name_scrollable');
+ text.setAttribute('data-content', text.innerText);
} else {
text.classList.remove('app-name_scrollable');
}
@@ -382,20 +383,26 @@ onUnmounted(() => {
// text-overflow: ellipsis;
white-space: nowrap;
width: 148px;
-
- &_scrollable {
- // padding-left: 100%;
+ > .app-name_scrollable {
+ padding-right: 12px;
display: inline-block;
animation: scrollable-animation linear 6s infinite both;
- }
-
- @keyframes scrollable-animation {
- 0% {
- transform: translate3d(0, 0, 0);
+ &::after {
+ content: attr(data-content);
+ position: absolute;
+ top: 0;
+ right: -100%;
+ transition: right 0.3s ease;
}
- 100% {
- transform: translate3d(-100%, 0, 0);
+ @keyframes scrollable-animation {
+ 0% {
+ transform: translateX(0);
+ }
+
+ 100% {
+ transform: translateX(calc(-100% - 12px));
+ }
}
}
}
diff --git a/src/views/system/quick-start/components/SystemConfig.vue b/src/views/system/quick-start/components/SystemConfig.vue
index 627e04c9..5e06321f 100644
--- a/src/views/system/quick-start/components/SystemConfig.vue
+++ b/src/views/system/quick-start/components/SystemConfig.vue
@@ -206,6 +206,7 @@ function fnCheckAppNameOverflow() {
if (!text) return;
if (text.offsetWidth > container.offsetWidth) {
text.classList.add('app-name_scrollable');
+ text.setAttribute('data-content', text.innerText);
} else {
text.classList.remove('app-name_scrollable');
}
@@ -398,18 +399,25 @@ onMounted(() => {
font-size: 18px;
> .app-name_scrollable {
- // padding-left: 100%;
+ padding-right: 12px;
display: inline-block;
animation: scrollable-animation linear 6s infinite both;
- }
-
- @keyframes scrollable-animation {
- 0% {
- transform: translate3d(0, 0, 0);
+ &::after {
+ content: attr(data-content);
+ position: absolute;
+ top: 0;
+ right: -100%;
+ transition: right 0.3s ease;
}
- 100% {
- transform: translate3d(-100%, 0, 0);
+ @keyframes scrollable-animation {
+ 0% {
+ transform: translateX(0);
+ }
+
+ 100% {
+ transform: translateX(calc(-100% - 12px));
+ }
}
}
}
diff --git a/src/views/system/setting/components/change-logo.vue b/src/views/system/setting/components/change-logo.vue
index 4257b9b2..ca9955a7 100644
--- a/src/views/system/setting/components/change-logo.vue
+++ b/src/views/system/setting/components/change-logo.vue
@@ -184,12 +184,15 @@ watch(
/**检查系统名称是否超出范围进行滚动 */
function fnCheckAppNameOverflow() {
- const container: HTMLDivElement | null = document.querySelector('.header-icon > .app-name');
+ const container: HTMLDivElement | null = document.querySelector(
+ '.header-icon > .app-name'
+ );
if (!container) return;
const text: HTMLDivElement | null = container.querySelector('.marquee');
if (!text) return;
if (text.offsetWidth > container.offsetWidth) {
text.classList.add('app-name_scrollable');
+ text.setAttribute('data-content', text.innerText);
} else {
text.classList.remove('app-name_scrollable');
}
@@ -201,7 +204,7 @@ watch(
);
onMounted(() => {
- fnCheckAppNameOverflow()
+ fnCheckAppNameOverflow();
Object.assign(state, {
language: currentLocale.value,
filePath: '',
@@ -360,20 +363,27 @@ onMounted(() => {
margin: 0 0 0 12px;
font-weight: 600;
font-size: 18px;
-
+
> .app-name_scrollable {
- // padding-left: 100%;
+ padding-right: 12px;
display: inline-block;
animation: scrollable-animation linear 6s infinite both;
- }
-
- @keyframes scrollable-animation {
- 0% {
- transform: translate3d(0, 0, 0);
+ &::after {
+ content: attr(data-content);
+ position: absolute;
+ top: 0;
+ right: -100%;
+ transition: right 0.3s ease;
}
- 100% {
- transform: translate3d(-100%, 0, 0);
+ @keyframes scrollable-animation {
+ 0% {
+ transform: translateX(0);
+ }
+
+ 100% {
+ transform: translateX(calc(-100% - 12px));
+ }
}
}
}
From fcf53d09951426353d56d3fc436d5b382f2e3d3a Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Wed, 17 Jul 2024 18:06:59 +0800
Subject: [PATCH 02/17] =?UTF-8?q?fix:=20=E7=BD=91=E5=85=83=E5=88=A0?=
=?UTF-8?q?=E9=99=A4=E8=AE=B0=E5=BD=95=E8=87=AA=E5=8A=A8=E7=A7=BB=E9=99=A4?=
=?UTF-8?q?=E4=B8=8D=E8=A6=81=E5=88=B7=E6=96=B0=E5=88=97=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/ne/neInfo/index.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/ne/neInfo/index.vue b/src/views/ne/neInfo/index.vue
index 9d3cd6f3..33b1c148 100644
--- a/src/views/ne/neInfo/index.vue
+++ b/src/views/ne/neInfo/index.vue
@@ -283,10 +283,10 @@ function fnRecordDelete(id: string) {
message.success(t('common.operateOk'), 3);
// 过滤掉删除的id
tableState.data = tableState.data.filter(item => {
- if (id.indexOf(',')) {
+ if (id.indexOf(',') > -1) {
return !tableState.selectedRowKeys.includes(item.id);
} else {
- return item.id != id;
+ return item.id !== id;
}
});
// 刷新缓存
From 2d9011cf6b82ac5d6422e3f395d70460dc672afa Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Wed, 17 Jul 2024 18:11:22 +0800
Subject: [PATCH 03/17] =?UTF-8?q?fix:=20=E7=9C=8B=E6=9D=BF=E8=B5=84?=
=?UTF-8?q?=E6=BA=90=E5=9B=BE=E6=97=A0=E7=BD=91=E5=85=83=E7=8A=B6=E4=BD=93?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8F=96=E5=80=BC=E5=BC=82=E5=B8=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/dashboard/overview/components/NeResources/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/views/dashboard/overview/components/NeResources/index.vue b/src/views/dashboard/overview/components/NeResources/index.vue
index 05d5467e..b17ec354 100644
--- a/src/views/dashboard/overview/components/NeResources/index.vue
+++ b/src/views/dashboard/overview/components/NeResources/index.vue
@@ -237,7 +237,7 @@ function handleRanderChart(
function fnChangeData(data: any[], itemID: string) {
let info = data.find((item: any) => item.id === itemID);
- if (!info.neState.online) return;
+ if (!info || !info.neState.online) return;
// if (!info.neState.online) {
// info = data.find((item: any) => item.id === itemID);
// graphNodeClickID.value = itemID;
From d53c4c34f0b9c8c1c3564ca7a7f862932f0ce8cd Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Thu, 18 Jul 2024 15:44:35 +0800
Subject: [PATCH 04/17] =?UTF-8?q?style:=20=E6=96=B0=E5=A2=9E=E7=BD=91?=
=?UTF-8?q?=E5=85=83=E4=BF=A1=E6=81=AF=E6=97=B6ssh=E9=BB=98=E8=AE=A4?=
=?UTF-8?q?=E5=AF=86=E7=A0=81=E5=88=9D=E5=A7=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/ne/neInfo/components/EditModal.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/ne/neInfo/components/EditModal.vue b/src/views/ne/neInfo/components/EditModal.vue
index 085a580a..2cd20e81 100644
--- a/src/views/ne/neInfo/components/EditModal.vue
+++ b/src/views/ne/neInfo/components/EditModal.vue
@@ -124,8 +124,8 @@ let modalState: ModalStateType = reactive({
addr: '',
port: 22,
user: 'omcuser',
- authMode: '2',
- password: '',
+ authMode: '0',
+ password: 'a9tU53r',
privateKey: '',
passPhrase: '',
remark: '',
From acd19ebdbdbd5da22168d84e3088af76e3c50462 Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Fri, 19 Jul 2024 14:41:40 +0800
Subject: [PATCH 05/17] =?UTF-8?q?style:=20=E7=9C=8B=E6=9D=BF=E5=9F=BA?=
=?UTF-8?q?=E7=AB=99=E6=95=B0=E9=87=8F=E5=88=86=E5=BC=80=E5=B1=95=E7=A4=BA?=
=?UTF-8?q?=E9=81=BF=E5=85=8D=E5=88=86=E4=B8=8D=E6=B8=85=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/dashboard/overview/css/index.css | 6 +++---
src/views/dashboard/overview/index.vue | 10 +++++++++-
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/views/dashboard/overview/css/index.css b/src/views/dashboard/overview/css/index.css
index 56a135e4..9b053c7c 100644
--- a/src/views/dashboard/overview/css/index.css
+++ b/src/views/dashboard/overview/css/index.css
@@ -159,14 +159,14 @@
/* 概览区域 衍生基站信息 */
.skim.base {
- height: 20.6%;
+ height: 12%;
}
.skim.base .inner .data {
display: flex;
flex-direction: row;
align-items: center;
- height: 45%;
+ height: 75%;
}
.skim.base .inner .data .item {
display: flex;
@@ -178,7 +178,7 @@
/* 用户行为 */
.userActivity {
/* min-height: 35.8rem; */
- height: 60%;
+ height: 54.6%;
}
.userActivity .inner .chart {
width: 100%;
diff --git a/src/views/dashboard/overview/index.vue b/src/views/dashboard/overview/index.vue
index bc9aa8a0..27716a99 100644
--- a/src/views/dashboard/overview/index.vue
+++ b/src/views/dashboard/overview/index.vue
@@ -270,7 +270,7 @@ onBeforeUnmount(() => {
-
+ 5G
{{ t('views.dashboard.overview.skim.baseTitle') }}
@@ -302,6 +302,14 @@ onBeforeUnmount(() => {
{{ t('views.dashboard.overview.skim.gnbUeNum') }}
+
+
+
+
+
+ 4G
+ {{ t('views.dashboard.overview.skim.baseTitle') }}
+
Date: Tue, 23 Jul 2024 14:25:08 +0800
Subject: [PATCH 06/17] =?UTF-8?q?fix:=20=E6=97=A5=E5=BF=97=E4=BA=8B?=
=?UTF-8?q?=E4=BB=B6=E7=B1=BB=E5=9E=8B=E6=9F=A5=E8=AF=A2=E9=BB=98=E8=AE=A4?=
=?UTF-8?q?=E7=A9=BA=E8=BF=9B=E8=A1=8C=E5=85=A8=E6=9F=A5=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/dashboard/amfUE/index.vue | 8 ++++----
src/views/dashboard/mmeUE/index.vue | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/views/dashboard/amfUE/index.vue b/src/views/dashboard/amfUE/index.vue
index cefe710e..3ea8ddd3 100644
--- a/src/views/dashboard/amfUE/index.vue
+++ b/src/views/dashboard/amfUE/index.vue
@@ -42,7 +42,7 @@ let queryParams = reactive({
/**网元类型 */
neType: 'AMF',
neId: '001',
- eventType: 'auth-result',
+ eventType: '',
imsi: '',
sortField: 'timestamp',
sortOrder: 'desc',
@@ -58,9 +58,9 @@ let queryParams = reactive({
/**查询参数重置 */
function fnQueryReset() {
- eventTypes.value = ['auth-result'];
+ eventTypes.value = [];
queryParams = Object.assign(queryParams, {
- eventType: 'auth-result',
+ eventType: '',
imsi: '',
startTime: '',
endTime: '',
@@ -74,7 +74,7 @@ function fnQueryReset() {
}
/**记录类型 */
-const eventTypes = ref
(['auth-result']);
+const eventTypes = ref([]);
/**查询记录类型变更 */
function fnQueryEventTypeChange(value: any) {
diff --git a/src/views/dashboard/mmeUE/index.vue b/src/views/dashboard/mmeUE/index.vue
index 74a6523d..0c605066 100644
--- a/src/views/dashboard/mmeUE/index.vue
+++ b/src/views/dashboard/mmeUE/index.vue
@@ -43,7 +43,7 @@ let queryParams = reactive({
/**网元类型 */
neType: 'MME',
neId: '001',
- eventType: 'auth-result',
+ eventType: '',
imsi: '',
sortField: 'timestamp',
sortOrder: 'desc',
@@ -59,9 +59,9 @@ let queryParams = reactive({
/**查询参数重置 */
function fnQueryReset() {
- eventTypes.value = ['auth-result'];
+ eventTypes.value = [];
queryParams = Object.assign(queryParams, {
- eventType: 'auth-result',
+ eventType: '',
imsi: '',
startTime: '',
endTime: '',
@@ -75,7 +75,7 @@ function fnQueryReset() {
}
/**记录类型 */
-const eventTypes = ref(['auth-result']);
+const eventTypes = ref([]);
/**查询记录类型变更 */
function fnQueryEventTypeChange(value: any) {
From fac47279b586cf15f8eb9e8c2467050b83ec0795 Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Tue, 23 Jul 2024 14:26:09 +0800
Subject: [PATCH 07/17] =?UTF-8?q?fix:=20=E6=97=A5=E5=BF=97IMS-CDR=E7=B1=BB?=
=?UTF-8?q?=E5=9E=8B=E6=9F=A5=E8=AF=A2=E9=BB=98=E8=AE=A4=E7=A9=BA=E8=BF=9B?=
=?UTF-8?q?=E8=A1=8C=E5=85=A8=E6=9F=A5=E8=AF=A2=EF=BC=8C=E8=A1=A8=E6=A0=BC?=
=?UTF-8?q?=E5=AE=BD=E5=BA=A6=E5=A2=9E=E5=8A=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/dashboard/imsCDR/index.vue | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/views/dashboard/imsCDR/index.vue b/src/views/dashboard/imsCDR/index.vue
index ba134389..b4bbdef0 100644
--- a/src/views/dashboard/imsCDR/index.vue
+++ b/src/views/dashboard/imsCDR/index.vue
@@ -44,7 +44,7 @@ let queryParams = reactive({
/**网元类型 */
neType: 'IMS',
neId: '001',
- recordType: 'MOC',
+ recordType: '',
callerParty: '',
calledParty: '',
sortField: 'timestamp',
@@ -61,9 +61,9 @@ let queryParams = reactive({
/**查询参数重置 */
function fnQueryReset() {
- recordTypes.value = ['MOC'];
+ recordTypes.value = [];
queryParams = Object.assign(queryParams, {
- recordType: 'MOC',
+ recordType: '',
callerParty: '',
calledParty: '',
startTime: '',
@@ -78,7 +78,7 @@ function fnQueryReset() {
}
/**记录类型 */
-const recordTypes = ref(['MOC']);
+const recordTypes = ref([]);
/**查询记录类型变更 */
function fnQueryRecordTypeChange(value: any) {
@@ -639,7 +639,7 @@ onBeforeUnmount(() => {
:data-source="tableState.data"
:size="tableState.size"
:pagination="tablePagination"
- :scroll="{ x: tableColumns.length * 120, y: 'calc(100vh - 480px)' }"
+ :scroll="{ x: tableColumns.length * 150, y: 'calc(100vh - 480px)' }"
:row-selection="{
type: 'checkbox',
columnWidth: '48px',
From 06db1344c35d5f4b0364e4c8a9bed10a426cf500 Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Tue, 23 Jul 2024 14:48:53 +0800
Subject: [PATCH 08/17] =?UTF-8?q?fix:=20=E6=97=A5=E5=BF=97=E4=BA=8B?=
=?UTF-8?q?=E4=BB=B6cm=E7=BB=93=E6=9E=9C=E5=A4=9A=E8=AF=AD=E8=A8=80?=
=?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/dashboard/amfUE/index.vue | 7 ++-----
src/views/dashboard/mmeUE/index.vue | 2 +-
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/src/views/dashboard/amfUE/index.vue b/src/views/dashboard/amfUE/index.vue
index 3ea8ddd3..e9186bc9 100644
--- a/src/views/dashboard/amfUE/index.vue
+++ b/src/views/dashboard/amfUE/index.vue
@@ -607,10 +607,7 @@ onBeforeUnmount(() => {
:value="record.eventJSON.authCode"
/>
-
+
{{ t('views.dashboard.ue.resultOk') }}
@@ -706,7 +703,7 @@ onBeforeUnmount(() => {
/>
- {{ t('views.dashboard.ue.resultOK') }}
+ {{ t('views.dashboard.ue.resultOk') }}
{
/>
- {{ t('views.dashboard.ue.resultOK') }}
+ {{ t('views.dashboard.ue.resultOk') }}
Date: Wed, 24 Jul 2024 17:18:15 +0800
Subject: [PATCH 09/17] =?UTF-8?q?=E5=AF=B9=E4=BD=BF=E7=94=A8=E6=89=8B?=
=?UTF-8?q?=E5=86=8C,=E5=AE=98=E7=BD=91=E8=BF=9B=E8=A1=8C=E9=99=90?=
=?UTF-8?q?=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/layouts/BasicLayout.vue | 8 +++++++-
src/layouts/components/RightContent.vue | 7 ++++++-
src/views/login.vue | 17 ----------------
.../setting/components/change-help-doc.vue | 2 ++
.../system/setting/components/change-logo.vue | 8 ++++++--
src/views/system/setting/index.vue | 20 +++++++++++--------
6 files changed, 33 insertions(+), 29 deletions(-)
diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue
index a3aaade7..089acd16 100644
--- a/src/layouts/BasicLayout.vue
+++ b/src/layouts/BasicLayout.vue
@@ -343,11 +343,17 @@ onUnmounted(() => {
:href="appStore.officialUrl"
target="_blank"
size="small"
+ v-perms:has="['system:setting:link']"
v-if="appStore.officialUrl !== '#'"
>
{{ t('loayouts.basic.officialUrl') }}
-
+
{{ t('loayouts.basic.helpDoc') }}
diff --git a/src/layouts/components/RightContent.vue b/src/layouts/components/RightContent.vue
index f78d7eaa..9c59821f 100644
--- a/src/layouts/components/RightContent.vue
+++ b/src/layouts/components/RightContent.vue
@@ -126,7 +126,12 @@ function fnChangeLocale(e: any) {
{{ t('loayouts.rightContent.helpDoc') }}
-
+
diff --git a/src/views/login.vue b/src/views/login.vue
index 3d80bdea..9c086ef9 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -166,23 +166,6 @@ function fnClickHelpDoc(language?: string) {
-
diff --git a/src/views/system/setting/components/change-help-doc.vue b/src/views/system/setting/components/change-help-doc.vue
index 171c8f77..9e891b0d 100644
--- a/src/views/system/setting/components/change-help-doc.vue
+++ b/src/views/system/setting/components/change-help-doc.vue
@@ -120,6 +120,7 @@ onMounted(() => {
{
v-model:value="state.language"
style="width: 100px"
size="small"
+ :disabled="!appStore.i18nOpen"
v-perms:has="['system:setting:i18n']"
>
{
-
+
{
margin: 0 0 0 12px;
font-weight: 600;
font-size: 18px;
-
+
> .app-name_scrollable {
padding-right: 12px;
display: inline-block;
diff --git a/src/views/system/setting/index.vue b/src/views/system/setting/index.vue
index 60b2ee1e..973867dd 100644
--- a/src/views/system/setting/index.vue
+++ b/src/views/system/setting/index.vue
@@ -31,14 +31,18 @@ const { t } = useI18n();
{{ t('views.system.setting.sysLoginBg') }}
-
- {{ t('views.system.setting.sysHelpDoc') }}
-
-
-
- {{ t('views.system.setting.sysOfficialUrl') }}
-
-
+
+
+ {{ t('views.system.setting.sysHelpDoc') }}
+
+
+
+
+
+ {{ t('views.system.setting.sysOfficialUrl') }}
+
+
+
{{ t('views.system.setting.i18n') }}
From c1f34f56ace037566f27e9469c3335e7df2e4a2f Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Wed, 24 Jul 2024 18:10:38 +0800
Subject: [PATCH 10/17] =?UTF-8?q?fix:=20=E5=AF=B9=E4=BD=BF=E7=94=A8?=
=?UTF-8?q?=E6=89=8B=E5=86=8C,=E5=AE=98=E7=BD=91=E8=BF=9B=E8=A1=8C?=
=?UTF-8?q?=E9=99=90=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/layouts/BasicLayout.vue | 4 +-
src/layouts/components/RightContent.vue | 94 ++++++++++++-------------
src/views/login.vue | 10 ---
src/views/system/setting/index.vue | 4 +-
4 files changed, 51 insertions(+), 61 deletions(-)
diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue
index 089acd16..63d21828 100644
--- a/src/layouts/BasicLayout.vue
+++ b/src/layouts/BasicLayout.vue
@@ -343,7 +343,7 @@ onUnmounted(() => {
:href="appStore.officialUrl"
target="_blank"
size="small"
- v-perms:has="['system:setting:link']"
+ v-perms:has="['system:setting:official']"
v-if="appStore.officialUrl !== '#'"
>
{{ t('loayouts.basic.officialUrl') }}
@@ -351,7 +351,7 @@ onUnmounted(() => {
{{ t('loayouts.basic.helpDoc') }}
diff --git a/src/layouts/components/RightContent.vue b/src/layouts/components/RightContent.vue
index 9c59821f..785343be 100644
--- a/src/layouts/components/RightContent.vue
+++ b/src/layouts/components/RightContent.vue
@@ -89,54 +89,54 @@ function fnChangeLocale(e: any) {
-
- {{ t('loayouts.rightContent.lock') }}
-
-
-
-
-
-
-
- {{ t('loayouts.rightContent.lockPasswd') }}:
-
-
-
-
-
-
-
-
-
-
+
+
+ {{ t('loayouts.rightContent.lock') }}
+
+
+
+
+
+
+
+ {{ t('loayouts.rightContent.lockPasswd') }}:
+
+
+
+
+
+
+
+
+
+
+
-
- {{ t('loayouts.rightContent.helpDoc') }}
-
-
-
-
-
-
+
+
+
+ {{ t('loayouts.rightContent.helpDoc') }}
+
+
+
+
+
+
+
{{ t('loayouts.rightContent.fullscreen') }}
diff --git a/src/views/login.vue b/src/views/login.vue
index 9c086ef9..13892164 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -134,16 +134,6 @@ onMounted(() => {
function fnChangeLocale(e: any) {
changeLocale(e.key);
}
-
-/**系统使用手册跳转 */
-function fnClickHelpDoc(language?: string) {
- const routeData = router.resolve({ name: 'HelpDoc' });
- let href = routeData.href;
- if (language) {
- href = `${routeData.href}?language=${language}`;
- }
- window.open(href, '_blank');
-}
diff --git a/src/views/system/setting/index.vue b/src/views/system/setting/index.vue
index 973867dd..6c241186 100644
--- a/src/views/system/setting/index.vue
+++ b/src/views/system/setting/index.vue
@@ -31,13 +31,13 @@ const { t } = useI18n();
{{ t('views.system.setting.sysLoginBg') }}
-
+
{{ t('views.system.setting.sysHelpDoc') }}
-
+
{{ t('views.system.setting.sysOfficialUrl') }}
From 3a854be8fe7b268be5c90c622095ab5c4de914fd Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Thu, 25 Jul 2024 10:50:54 +0800
Subject: [PATCH 11/17] =?UTF-8?q?fix:=20=E6=9F=A5=E8=AF=A2IMS=E5=9C=A8?=
=?UTF-8?q?=E7=BA=BF=E7=94=A8=E6=88=B7=E6=95=B0=E6=8E=A5=E5=8F=A3=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E6=A0=BC=E5=BC=8F=E5=85=BC=E5=AE=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/neUser/ims.ts | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/api/neUser/ims.ts b/src/api/neUser/ims.ts
index 71c5bf2c..0ead4388 100644
--- a/src/api/neUser/ims.ts
+++ b/src/api/neUser/ims.ts
@@ -52,9 +52,11 @@ export async function listUENumByIMS(neId: String) {
method: 'get',
});
if (result.code === RESULT_CODE_SUCCESS) {
- return Object.assign(result, {
- data: result.data['ueNum'],
- });
+ let num = result.data['ueNum'] || 0;
+ if (num === 0) {
+ num = result.data.data['ueNum'] || 0;
+ }
+ return Object.assign(result, { data: num });
}
// 模拟数据
From 396fb0b12455c2fc19704e9795e0df296f5ed7bf Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Thu, 25 Jul 2024 18:23:28 +0800
Subject: [PATCH 12/17] =?UTF-8?q?fix:=20KPI=E6=8E=A5=E6=94=B6=E6=8C=87?=
=?UTF-8?q?=E5=AE=9A=E5=AF=B9=E5=BA=94neId=EF=BC=8C=E5=AE=9E=E6=97=B6?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=8D=E6=94=AF=E6=8C=81=E6=90=9C=E7=B4=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/perfManage/goldTarget/index.vue | 124 ++++++++++------------
1 file changed, 59 insertions(+), 65 deletions(-)
diff --git a/src/views/perfManage/goldTarget/index.vue b/src/views/perfManage/goldTarget/index.vue
index 5ce183ff..0dfbc726 100644
--- a/src/views/perfManage/goldTarget/index.vue
+++ b/src/views/perfManage/goldTarget/index.vue
@@ -254,15 +254,7 @@ function fnGetListTitle() {
.then(res => {
if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.data)) {
tableColumns.value = [];
- const columns: ColumnsType = [
- {
- title: t('views.perfManage.perfData.neName'),
- dataIndex: 'neName',
- key: 'neName',
- align: 'left',
- width: 100,
- },
- ];
+ const columns: ColumnsType = [];
for (const item of res.data) {
const kpiDisplay = item[`${language}Title`];
const kpiValue = item[`kpiId`];
@@ -277,6 +269,13 @@ function fnGetListTitle() {
maxWidth: 300,
});
}
+ columns.push({
+ title: t('views.perfManage.perfData.neName'),
+ dataIndex: 'neName',
+ key: 'neName',
+ align: 'left',
+ width: 100,
+ });
columns.push({
title: t('views.perfManage.goldTarget.time'),
dataIndex: 'timeGroup',
@@ -458,7 +457,7 @@ function fnRanderChartData() {
}
for (const item of orgData) {
- chartDataXAxisData.push(item['timeGroup']);
+ chartDataXAxisData.push(parseDateToStr(+item['timeGroup']));
const keys = Object.keys(item);
for (const y of chartDataYSeriesData) {
for (const key of keys) {
@@ -505,21 +504,23 @@ function fnLegendSelected(bool: any) {
/**图表实时统计 */
function fnRealTimeSwitch(bool: any) {
if (bool) {
+ tableState.seached = false;
// 建立链接
const options: OptionsType = {
url: '/ws',
params: {
/**订阅通道组
*
- * 指标(GroupID:10)
+ * 指标(GroupID:10_neType_neId)
*/
- subGroupID: '10',
+ subGroupID: `10_${queryParams.neType}_${queryParams.neId}`,
},
onmessage: wsMessage,
onerror: wsError,
};
ws.connect(options);
} else {
+ tableState.seached = true;
ws.close();
}
}
@@ -543,39 +544,40 @@ function wsMessage(res: Record
) {
return;
}
// kpiEvent 黄金指标指标事件
- if (data.groupId === '10') {
- const kpiEvent = data.data;
- // 非对应网元类型
- if (kpiEvent.neType !== queryParams.neType) return;
+ const kpiEvent = data.data;
+ tableState.data.unshift(kpiEvent);
+ tablePagination.total++;
- for (const key of Object.keys(data.data)) {
- const v = kpiEvent[key];
- // x轴
- if (key === 'timeGroup') {
- // chartDataXAxisData.shift();
- chartDataXAxisData.push(v);
- continue;
- }
- // y轴
- const yItem = chartDataYSeriesData.find(item => item.key === key);
- if (yItem) {
- // yItem.data.shift();
- yItem.data.push(v);
- }
+ // 非对应网元类型
+ if (kpiEvent.neType !== queryParams.neType) return;
+
+ for (const key of Object.keys(data.data)) {
+ const v = kpiEvent[key];
+ // x轴
+ if (key === 'timeGroup') {
+ // chartDataXAxisData.shift();
+ chartDataXAxisData.push(parseDateToStr(+v));
+ continue;
+ }
+ // y轴
+ const yItem = chartDataYSeriesData.find(item => item.key === key);
+ if (yItem) {
+ // yItem.data.shift();
+ yItem.data.push(+v);
}
-
- // 绘制图数据
- kpiChart.value.setOption({
- xAxis: {
- data: chartDataXAxisData,
- },
- series: chartDataYSeriesData,
- });
}
+
+ // 绘制图数据
+ kpiChart.value.setOption({
+ xAxis: {
+ data: chartDataXAxisData,
+ },
+ series: chartDataYSeriesData,
+ });
}
onMounted(() => {
- // 目前支持的 AMF AUSF MME MOCNGW NSSF SMF UDM UPF
+ // 目前支持的 AMF AUSF MME MOCNGW NSSF SMF UDM UPF PCF
// 获取网元网元列表
neInfoStore.fnNelist().then(res => {
if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.data)) {
@@ -583,15 +585,9 @@ onMounted(() => {
// 过滤不可用的网元
neCascaderOptions.value = neInfoStore.getNeCascaderOptions.filter(
(item: any) => {
- return ![
- 'OMC',
- 'PCF',
- 'NSSF',
- 'NEF',
- 'NRF',
- 'LMF',
- 'N3IWF',
- ].includes(item.value);
+ return !['OMC', 'NSSF', 'NEF', 'NRF', 'LMF', 'N3IWF'].includes(
+ item.value
+ );
}
);
if (neCascaderOptions.value.length === 0) {
@@ -619,9 +615,9 @@ onMounted(() => {
// 查询当前小时
const nowDate: Date = new Date();
nowDate.setMinutes(0, 0, 0);
- queryRangePicker.value[0] = parseDateToStr(nowDate);
+ queryRangePicker.value[0] = `${nowDate.getTime()}`;
nowDate.setMinutes(59, 59, 59);
- queryRangePicker.value[1] = parseDateToStr(nowDate);
+ queryRangePicker.value[1] = `${nowDate.getTime()}`;
fnGetListTitle();
// 绘图
fnRanderChart();
@@ -666,15 +662,17 @@ onBeforeUnmount(() => {
+ :show-time="{ format: 'HH:mm:ss' }"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="x"
+ style="width: 100%"
+ >
@@ -747,15 +745,6 @@ onBeforeUnmount(() => {
-
- {{ t('common.searchBarText') }}
-
-
{{ t('common.reloadText') }}
@@ -833,11 +822,16 @@ onBeforeUnmount(() => {
:data-source="tableState.data"
:size="tableState.size"
:pagination="tablePagination"
- :scroll="{ x: tableColumnsDnd.length * 200, y: 450 }"
+ :scroll="{ x: tableColumnsDnd.length * 200, y: 'calc(100vh - 480px)' }"
@resizeColumn="(w:number, col:any) => (col.width = w)"
:show-expand-column="false"
@change="fnTableChange"
>
+
+
+ {{ parseDateToStr(+record.timeGroup) }}
+
+
From e9ff6493ddff9c929d21cc8d9a72129fa2528959 Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Thu, 25 Jul 2024 18:48:01 +0800
Subject: [PATCH 13/17] =?UTF-8?q?fix:=20=E7=9C=8B=E6=9D=BFUPF=E6=B5=81?=
=?UTF-8?q?=E9=87=8F=E5=90=9E=E5=90=90=E5=88=9D=E5=A7=8B=E6=9F=A5=E8=AF=A2?=
=?UTF-8?q?=E5=92=8Cws=E7=9B=91=E5=90=AC12=5FneId?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dashboard/overview/components/UPFFlow/index.vue | 11 ++++-------
src/views/dashboard/overview/hooks/useUPFTotalFlow.ts | 5 +++--
src/views/dashboard/overview/hooks/useWS.ts | 6 +++---
3 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/src/views/dashboard/overview/components/UPFFlow/index.vue b/src/views/dashboard/overview/components/UPFFlow/index.vue
index 607c3913..12694af7 100644
--- a/src/views/dashboard/overview/components/UPFFlow/index.vue
+++ b/src/views/dashboard/overview/components/UPFFlow/index.vue
@@ -203,17 +203,14 @@ function handleRanderChart() {
/**查询初始UPF数据 */
function fnGetInitData() {
- // 查询10分钟前的
- const nowDate: Date = new Date();
- const tenMinutesAgo = new Date(nowDate.getTime() - 5 * 60 * 1000);
+ // 查询5分钟前的
+ const nowDate = new Date().getTime();
listKPIData({
neType: 'UPF',
neId: '001',
- startTime: parseDateToStr(tenMinutesAgo),
- endTime: parseDateToStr(nowDate),
- // startTime: '2024-03-20 19:50:00',
- // endTime: '2024-03-20 19:55:00',
+ startTime: nowDate - 5 * 60 * 1000,
+ endTime: nowDate,
interval: 5, // 5秒
sortField: 'timeGroup',
sortOrder: 'asc',
diff --git a/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts b/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts
index 27b19c8a..8a9fdacb 100644
--- a/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts
+++ b/src/views/dashboard/overview/hooks/useUPFTotalFlow.ts
@@ -1,3 +1,4 @@
+import { parseDateToStr } from '@/utils/date-utils';
import { parseSizeFromBits, parseSizeFromKbs } from '@/utils/parse-utils';
import { ref } from 'vue';
@@ -22,7 +23,7 @@ export const upfFlowData = ref({
/**UPF-流量数据 数据解析 */
export function upfFlowParse(data: Record) {
- upfFlowData.value.lineXTime.push(data['timeGroup']);
+ upfFlowData.value.lineXTime.push(parseDateToStr(+data['timeGroup']));
const upN3 = parseSizeFromKbs(+data['UPF.03'], 5);
upfFlowData.value.lineYUp.push(upN3[0]);
const downN6 = parseSizeFromKbs(+data['UPF.06'], 5);
@@ -78,7 +79,7 @@ export function upfTFParse(data: Record) {
export const upfTFActive = ref(0);
/**属性复位 */
-export function upfTotalFlowReset() {
+export function upfTotalFlowReset() {
upfFlowData.value = {
lineXTime: [],
lineYUp: [],
diff --git a/src/views/dashboard/overview/hooks/useWS.ts b/src/views/dashboard/overview/hooks/useWS.ts
index 854a122b..ba193141 100644
--- a/src/views/dashboard/overview/hooks/useWS.ts
+++ b/src/views/dashboard/overview/hooks/useWS.ts
@@ -94,7 +94,7 @@ export default function useWS() {
}
switch (data.groupId) {
// kpiEvent 指标UPF
- case '12':
+ case '12_001':
if (data.data) {
upfFlowParse(data.data);
}
@@ -197,12 +197,12 @@ export default function useWS() {
params: {
/**订阅通道组
*
- * 指标UPF (GroupID:12)
+ * 指标UPF (GroupID:12_neId)
* AMF_UE会话事件(GroupID:1010)
* MME_UE会话事件(GroupID:1011)
* IMS_CDR会话事件(GroupID:1005)
*/
- subGroupID: '12,1010,1011,1005',
+ subGroupID: '12_001,1010,1011,1005',
},
onmessage: wsMessage,
onerror: wsError,
From ca048f223cba6dd88d16cf74c0082a2b3b78cd3b Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Fri, 26 Jul 2024 15:28:45 +0800
Subject: [PATCH 14/17] =?UTF-8?q?feat:=20UDM=E9=89=B4=E6=9D=83=E6=96=87?=
=?UTF-8?q?=E4=BB=B6=E5=AF=BC=E5=85=A5K4=E6=96=87=E4=BB=B6=E6=94=AF?=
=?UTF-8?q?=E6=8C=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/neData/udm_auth.ts | 1 -
src/views/neUser/auth/index.vue | 217 ++++++++++++++++++--------------
2 files changed, 123 insertions(+), 95 deletions(-)
diff --git a/src/api/neData/udm_auth.ts b/src/api/neData/udm_auth.ts
index 0af15c84..abc2450d 100644
--- a/src/api/neData/udm_auth.ts
+++ b/src/api/neData/udm_auth.ts
@@ -113,7 +113,6 @@ export function batchDelUDMAuth(neId: string, imsi: string, num: number) {
/**
* UDM鉴权用户导入
- * @param neId 网元ID
* @param data 表单数据对象
* @returns object
*/
diff --git a/src/views/neUser/auth/index.vue b/src/views/neUser/auth/index.vue
index a2d97ec3..b5249f22 100644
--- a/src/views/neUser/auth/index.vue
+++ b/src/views/neUser/auth/index.vue
@@ -530,7 +530,7 @@ function fnRecordDelete(imsi: string) {
}
/**
- * UDM鉴权用户导出
+ * UDM鉴权用户勾选导出
*/
function fnRecordExport(type: string = 'txt') {
const selectLen = tableState.selectedRowKeys.length;
@@ -543,13 +543,15 @@ function fnRecordExport(type: string = 'txt') {
let content = '';
if (type == 'txt') {
for (const row of rows) {
- content += `${row.imsi},${row.ki},${row.algoIndex},${row.amf},${row.opc}\r\n`;
+ const opc = row.opc === '-' ? '' : `,${row.opc}`;
+ content += `${row.imsi},${row.ki},${row.algoIndex},${row.amf}${opc}\r\n`;
}
}
if (type == 'csv') {
content = `IMSI,ki,Algo Index,AMF,OPC\r\n`;
for (const row of rows) {
- content += `${row.imsi},${row.ki},${row.algoIndex},${row.amf},${row.opc}\r\n`;
+ const opc = row.opc === '-' ? '' : `,${row.opc}`;
+ content += `${row.imsi},${row.ki},${row.algoIndex},${row.amf}${opc}\r\n`;
}
}
@@ -557,7 +559,7 @@ function fnRecordExport(type: string = 'txt') {
saveAs(blob, `UDMAuth_${Date.now()}.${type}`);
}
-/**列表导出 */
+/**列表导出全部数据 */
function fnExportList(type: string) {
const neId = queryParams.neId;
if (!neId) return;
@@ -651,6 +653,10 @@ type ModalUploadImportStateType = {
loading: boolean;
/**上传结果信息 */
msg: string;
+ /**导入类型 */
+ typeOptions: { label: string; value: string }[];
+ /**表单 */
+ from: { typeVal: string; typeData: any };
};
/**对话框表格信息导入对象信息状态 */
@@ -659,11 +665,27 @@ let uploadImportState: ModalUploadImportStateType = reactive({
title: t('components.UploadModal.uploadTitle'),
loading: false,
msg: '',
+ typeOptions: [
+ { label: 'Default', value: 'default' },
+ { label: 'K4', value: 'k4' },
+ ],
+ from: {
+ typeVal: 'default',
+ typeData: undefined,
+ },
});
+/**对话框表格信息导入类型选择 */
+function fnModalUploadImportTypeChange() {
+ uploadImportState.from.typeData = '';
+ uploadImportState.msg = '';
+}
+
/**对话框表格信息导入弹出窗口 */
function fnModalUploadImportOpen() {
uploadImportState.msg = '';
+ uploadImportState.from.typeVal = 'default';
+ uploadImportState.from.typeData = undefined;
uploadImportState.loading = false;
uploadImportState.visible = true;
}
@@ -702,6 +724,7 @@ function fnModalUploadImportUpload(file: File) {
return importUDMAuth({
neId: neId,
uploadPath: filePath,
+ ...uploadImportState.from,
});
})
.then(res => {
@@ -1103,54 +1126,52 @@ onMounted(() => {
-
-
-
-
-
-
-
- {{ t('views.neUser.auth.kiTip') }}
-
-
-
+
+
+
+
+
+ {{ t('views.neUser.auth.kiTip') }}
-
-
-
-
-
-
-
-
-
- {{ t('views.neUser.auth.opcTip') }}
-
-
-
+
+
+
+
+
+
+
+
+
+
+ {{ t('views.neUser.auth.opcTip') }}
-
-
-
-
+
+
+
+
+
@@ -1276,52 +1297,50 @@ onMounted(() => {
-
-
-
-
-
-
-
- {{ t('views.neUser.auth.kiTip') }}
-
-
-
+
+
+
+
+
+ {{ t('views.neUser.auth.kiTip') }}
-
-
-
-
-
-
-
-
-
- {{ t('views.neUser.auth.opcTip') }}
-
-
-
+
+
+
+
+
+
+
+
+
+
+ {{ t('views.neUser.auth.opcTip') }}
-
-
-
-
+
+
+
+
+
@@ -1399,6 +1418,16 @@ onMounted(() => {
:size="10"
>
+
+
Date: Fri, 26 Jul 2024 18:25:15 +0800
Subject: [PATCH 15/17] =?UTF-8?q?feat:=20=E7=BD=91=E5=85=83=E5=A4=87?=
=?UTF-8?q?=E4=BB=BD=E6=96=87=E4=BB=B6=E8=A1=A8=E6=A0=BC=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/ne/neConfigBackup/index.vue | 602 ++++++++++++++++++++++++++
1 file changed, 602 insertions(+)
create mode 100644 src/views/ne/neConfigBackup/index.vue
diff --git a/src/views/ne/neConfigBackup/index.vue b/src/views/ne/neConfigBackup/index.vue
new file mode 100644
index 00000000..33542842
--- /dev/null
+++ b/src/views/ne/neConfigBackup/index.vue
@@ -0,0 +1,602 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('common.search') }}
+
+
+
+ {{ t('common.reset') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('common.deleteText') }}
+
+
+
+
+
+
+
+
+ {{ t('common.searchBarText') }}
+
+
+
+ {{ t('common.reloadText') }}
+
+
+
+
+
+ {{ t('common.sizeText') }}
+
+
+
+
+
+
+
+ {{ t('common.size.default') }}
+
+
+ {{ t('common.size.middle') }}
+
+
+ {{ t('common.size.small') }}
+
+
+
+
+
+
+
+
+
+ (col.width = w)"
+ :row-selection="{
+ type: 'checkbox',
+ columnWidth: '48px',
+ selectedRowKeys: tableState.selectedRowKeys,
+ onChange: fnTableSelectedRowKeys,
+ }"
+ >
+
+
+
+
+ {{ t('common.downloadText') }}
+
+
+
+
+
+ {{ t('common.deleteText') }}
+
+
+
+
+
+ {{ t('common.editText') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From ab0d26513cb1e32cae029740a88d518ca24ba22b Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Fri, 26 Jul 2024 18:27:15 +0800
Subject: [PATCH 16/17] =?UTF-8?q?perf:=20=E7=BD=91=E5=85=83=E5=A4=87?=
=?UTF-8?q?=E4=BB=BD=E5=AF=BC=E5=85=A5=E5=AF=BC=E5=87=BA=E5=BC=B9=E7=AA=97?=
=?UTF-8?q?=E8=A1=A8=E5=8D=95=E9=87=8D=E6=9E=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/ne/neConfigBackup.ts | 83 ++++++++
src/i18n/locales/en-US.ts | 10 +-
src/i18n/locales/zh-CN.ts | 10 +-
.../ne/neInfo/components/BackConfModal.vue | 193 +++++++++++-------
src/views/ne/neInfo/index.vue | 2 +-
5 files changed, 212 insertions(+), 86 deletions(-)
create mode 100644 src/api/ne/neConfigBackup.ts
diff --git a/src/api/ne/neConfigBackup.ts b/src/api/ne/neConfigBackup.ts
new file mode 100644
index 00000000..4c96b485
--- /dev/null
+++ b/src/api/ne/neConfigBackup.ts
@@ -0,0 +1,83 @@
+import { request } from '@/plugins/http-fetch';
+
+/**
+ * 网元配置文件备份记录列表
+ * @param query 查询参数
+ * @returns object
+ */
+export function listNeConfigBackup(query: Record) {
+ return request({
+ url: '/ne/config/backup/list',
+ method: 'get',
+ params: query,
+ });
+}
+
+/**
+ * 网元配置文件备份记录修改
+ * @param data 数据 { id, name, remark }
+ * @returns object
+ */
+export function updateNeConfigBackup(data: Record) {
+ return request({
+ url: '/ne/config/backup',
+ method: 'put',
+ data: data,
+ });
+}
+
+/**
+ * 网元配置文件备份记录下载
+ * @param id 记录ID
+ * @returns object
+ */
+export async function downNeConfigBackup(id: string) {
+ return await request({
+ url: '/ne/config/backup/download',
+ method: 'get',
+ params: { id },
+ responseType: 'blob',
+ timeout: 180_000,
+ });
+}
+
+/**
+ * 网元配置文件备份记录删除
+ * @param id 记录ID
+ * @returns object
+ */
+export async function delNeConfigBackup(id: string) {
+ return request({
+ url: '/ne/config/backup',
+ method: 'delete',
+ params: { id },
+ });
+}
+
+/**
+ * 网元配置文件备份导出
+ * @param data 数据 { neType, neId }
+ * @returns object
+ */
+export function exportNeConfigBackup(data: Record) {
+ return request({
+ url: '/ne/config/backup/export',
+ method: 'post',
+ data: data,
+ responseType: 'blob',
+ timeout: 180_000,
+ });
+}
+
+/**
+ * 网元配置文件备份导入
+ * @param data 数据 { neType, neId, type, path }
+ * @returns object
+ */
+export function importNeConfigBackup(data: Record) {
+ return request({
+ url: '/ne/config/backup/import',
+ method: 'post',
+ data: data,
+ });
+}
\ No newline at end of file
diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts
index 88c1364c..48339c5d 100644
--- a/src/i18n/locales/en-US.ts
+++ b/src/i18n/locales/en-US.ts
@@ -668,9 +668,8 @@ export default {
local:'Local File',
localUpload:'Local Upload',
exportTip:'Confirm that you want to export the network element configuration file?',
- exportMsg:'Exported successfully, please download from [Backup Management].',
- filePlease: "Please upload a file",
- fileNamePlease: 'Please select the server file',
+ exportMsg:'Exporting Network Element Configuration Information to a File Succeeded',
+ pathPlease: 'No Backup File Found',
},
},
neHost: {
@@ -781,6 +780,11 @@ export default {
syncNeDone: 'Synchronization to network element terminals complete',
saveOk: 'Save Success!',
},
+ neConfigBackup: {
+ name: "Name",
+ downTip: 'Confirmed to download the backup file [{txt}]?',
+ title: "Modify Backup {txt}",
+ },
neQuickSetup: {
stepPrev: 'Previous',
stepPrevTip: 'Confirm that you want to abandon the current change and return to the previous step?',
diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts
index 374af28a..6b9acb97 100644
--- a/src/i18n/locales/zh-CN.ts
+++ b/src/i18n/locales/zh-CN.ts
@@ -668,9 +668,8 @@ export default {
local:'本地文件',
localUpload:'本地上传',
exportTip:'确认要导出网元配置信息到文件?',
- exportMsg:'导出成功,请到【备份管理】进行下载',
- filePlease: "请上传文件",
- fileNamePlease: '请选择服务器文件',
+ exportMsg:'导出网元配置信息到文件成功',
+ pathPlease: '未发现文件',
},
},
neHost: {
@@ -781,6 +780,11 @@ export default {
syncNeDone: '同步到网元终端完成',
saveOk: '保存成功!',
},
+ neConfigBackup: {
+ name: "名称",
+ downTip: '确认要下载备份文件【{txt}】吗?',
+ title: "修改备份信息 {txt}",
+ },
neQuickSetup: {
stepPrev: '上一步',
stepPrevTip: '确认要放弃当前变更返回上一步吗?',
diff --git a/src/views/ne/neInfo/components/BackConfModal.vue b/src/views/ne/neInfo/components/BackConfModal.vue
index 3d6615dd..b211cbbd 100644
--- a/src/views/ne/neInfo/components/BackConfModal.vue
+++ b/src/views/ne/neInfo/components/BackConfModal.vue
@@ -1,15 +1,17 @@