@@ -600,7 +672,7 @@ const groupedKPIs = computed(() => {
{
>
-
-
{{ neType.toUpperCase() }}
+
+ {{ neType.toUpperCase() }}
+
+
+
+
+
+
+ ({{ secondaryKPIs[neType].length }})
+
+
+
+
+
+
-
+
@@ -633,11 +744,11 @@ const groupedKPIs = computed(() => {
From ae94e3bf2a52c90ac48f08c53dd948146d171b63 Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Fri, 1 Nov 2024 11:42:07 +0800
Subject: [PATCH 023/110] =?UTF-8?q?fix:=20=E7=BC=96=E8=AF=91=E9=94=99?=
=?UTF-8?q?=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/perfManage/kpiOverView/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/views/perfManage/kpiOverView/index.vue b/src/views/perfManage/kpiOverView/index.vue
index 6770e3bb..c76bdb5b 100644
--- a/src/views/perfManage/kpiOverView/index.vue
+++ b/src/views/perfManage/kpiOverView/index.vue
@@ -710,7 +710,7 @@ const handleSecondaryKPIChange = (kpiId: string, checked: boolean) => {
:value="kpi.kpiId"
:checked="tempSelectedKPIs.includes(kpi.kpiId)"
@change="
- e =>
+ (e:any) =>
handleSecondaryKPIChange(
kpi.kpiId,
e.target.checked
From df5072bae7eb3d3a67f4f11ae6b2ea5e894e785c Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Sat, 2 Nov 2024 15:46:05 +0800
Subject: [PATCH 024/110] =?UTF-8?q?fix:=20CDR-IMS=E6=98=BE=E7=A4=BA?=
=?UTF-8?q?=E5=91=BC=E5=8F=AB-=E6=8C=82=E6=96=AD=E6=97=B6=E9=97=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/i18n/locales/en-US.ts | 2 +
src/i18n/locales/zh-CN.ts | 2 +
src/views/dashboard/imsCDR/index.vue | 154 ++++++++++++++++-----------
3 files changed, 95 insertions(+), 63 deletions(-)
diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts
index 4771a6da..6e4e9716 100644
--- a/src/i18n/locales/en-US.ts
+++ b/src/i18n/locales/en-US.ts
@@ -567,6 +567,8 @@ export default {
rowInfo: "Info",
type: "Type",
duration: "Duration",
+ seizureTime: "Call Start Time",
+ releaseTime: "Hangup Time",
caller: "Caller",
called: "Called",
result: "Result",
diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts
index 6c3e1b80..c8bcb32a 100644
--- a/src/i18n/locales/zh-CN.ts
+++ b/src/i18n/locales/zh-CN.ts
@@ -567,6 +567,8 @@ export default {
rowInfo: "记录信息",
type: "记录类型",
duration: "通话时长",
+ seizureTime: "呼叫开始时间",
+ releaseTime: "挂断结束时间",
caller: "主叫",
called: "被叫",
result: "结果",
diff --git a/src/views/dashboard/imsCDR/index.vue b/src/views/dashboard/imsCDR/index.vue
index 10a9d996..69d25e7d 100644
--- a/src/views/dashboard/imsCDR/index.vue
+++ b/src/views/dashboard/imsCDR/index.vue
@@ -161,6 +161,13 @@ let tableColumns: ColumnsType = [
return cdrJSON.calledParty;
},
},
+ {
+ title: t('views.dashboard.cdr.result'),
+ dataIndex: 'cdrJSON',
+ key: 'cause',
+ align: 'left',
+ width: 150,
+ },
{
title: t('views.dashboard.cdr.duration'),
dataIndex: 'cdrJSON',
@@ -175,20 +182,29 @@ let tableColumns: ColumnsType = [
},
},
{
- title: t('views.dashboard.cdr.result'),
+ title: t('views.dashboard.cdr.seizureTime'),
dataIndex: 'cdrJSON',
- key: 'cause',
align: 'left',
- width: 150,
- },
- {
- title: t('views.dashboard.cdr.time'),
- dataIndex: 'cdrJSON',
- align: 'center',
- width: 150,
+ width: 200,
customRender(opt) {
const cdrJSON = opt.value;
- return parseDateToStr(+cdrJSON.releaseTime * 1000);
+ if (typeof cdrJSON.seizureTime === 'number') {
+ return parseDateToStr(+cdrJSON.seizureTime * 1000);
+ }
+ return cdrJSON.seizureTime;
+ },
+ },
+ {
+ title: t('views.dashboard.cdr.releaseTime'),
+ dataIndex: 'cdrJSON',
+ align: 'left',
+ width: 200,
+ customRender(opt) {
+ const cdrJSON = opt.value;
+ if (typeof cdrJSON.releaseTime === 'number') {
+ return parseDateToStr(+cdrJSON.releaseTime * 1000);
+ }
+ return cdrJSON.releaseTime;
},
},
{
@@ -725,61 +741,73 @@ onBeforeUnmount(() => {
-
-
- {{ t('views.dashboard.cdr.cdrInfo') }}
-
-
- {{ t('views.ne.common.neName') }}:
- {{ record.neName }}
-
-
- {{ t('views.ne.common.rmUid') }}:
- {{ record.rmUID }}
-
-
- {{ t('views.dashboard.cdr.time') }}:
- {{ parseDateToStr(+record.timestamp * 1000) }}
-
-
- {{ t('views.dashboard.cdr.rowInfo') }}
-
-
- {{ t('views.dashboard.cdr.type') }}:
-
-
-
- {{ t('views.dashboard.cdr.duration') }}:
-
- {{ parseDuration(record.cdrJSON.callDuration) }}
-
- -
-
-
- {{ t('views.dashboard.cdr.caller') }}:
- {{ record.cdrJSON.callerParty }}
-
-
- {{ t('views.dashboard.cdr.called') }}:
- {{ record.cdrJSON.calledParty }}
-
-
-
{{ t('views.dashboard.cdr.result') }}:
-
+
+
+
+ {{ t('views.dashboard.cdr.cdrInfo') }}
+
+
+ {{ t('views.ne.common.neName') }}:
+ {{ record.neName }}
+
+
+ {{ t('views.ne.common.rmUid') }}:
+ {{ record.rmUID }}
+
+
+ {{ t('views.dashboard.cdr.time') }}:
+ {{ parseDateToStr(+record.timestamp * 1000) }}
+
+
+
+
+ {{ t('views.dashboard.cdr.rowInfo') }}
+
+
+ {{ t('views.dashboard.cdr.type') }}:
-
-
- {{ t('views.dashboard.cdr.resultOk') }}
-
-
-
+
+
+ {{ t('views.dashboard.cdr.duration') }}:
+
+ {{ parseDuration(record.cdrJSON.callDuration) }}
+
+ -
+
+
+ {{ t('views.dashboard.cdr.caller') }}:
+ {{ record.cdrJSON.callerParty }}
+
+
+ {{ t('views.dashboard.cdr.called') }}:
+ {{ record.cdrJSON.calledParty }}
+
+
+ {{ t('views.dashboard.cdr.result') }}:
+
+
+
+
+ {{ t('views.dashboard.cdr.resultOk') }}
+
+
+
+ {{ t('views.dashboard.cdr.seizureTime') }}:
+ {{ record.cdrJSON.seizureTime }}
+
+
+ {{ t('views.dashboard.cdr.releaseTime') }}:
+ {{ record.cdrJSON.releaseTime }}
+
+
+
From 6ee9d464fb43ce429e2e453aa8bed625e3f385cd Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Sat, 2 Nov 2024 15:46:26 +0800
Subject: [PATCH 025/110] =?UTF-8?q?feat:=20PCF=E5=AF=BC=E5=87=BA=E6=9C=89?=
=?UTF-8?q?=E5=8F=96=E6=B6=88=E6=93=8D=E4=BD=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/neUser/pcf/index.vue | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/views/neUser/pcf/index.vue b/src/views/neUser/pcf/index.vue
index 93408d67..662de620 100644
--- a/src/views/neUser/pcf/index.vue
+++ b/src/views/neUser/pcf/index.vue
@@ -780,9 +780,6 @@ onMounted(() => {
ok-text="TXT"
ok-type="default"
@confirm="fnExportList('txt')"
- :show-cancel="false"
- cancel-text="CSV"
- @cancel="fnExportList('csv')"
>
From 33a8ce97d33aa92ab446169aa2cb0adc9dac2d6b Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Sat, 2 Nov 2024 15:47:18 +0800
Subject: [PATCH 026/110] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E5=8F=B7=202.241102?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.development | 2 +-
.env.production | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.env.development b/.env.development
index 48b285d8..eeb7c994 100644
--- a/.env.development
+++ b/.env.development
@@ -11,7 +11,7 @@ VITE_APP_NAME = "Core Network OMC"
VITE_APP_CODE = "OMC"
# 应用版本
-VITE_APP_VERSION = "2.241028"
+VITE_APP_VERSION = "2.241102"
# 接口基础URL地址-不带/后缀
VITE_API_BASE_URL = "/omc-api"
diff --git a/.env.production b/.env.production
index f57b94ba..9adcf8b4 100644
--- a/.env.production
+++ b/.env.production
@@ -11,7 +11,7 @@ VITE_APP_NAME = "Core Network OMC"
VITE_APP_CODE = "OMC"
# 应用版本
-VITE_APP_VERSION = "2.241028"
+VITE_APP_VERSION = "2.241102"
# 接口基础URL地址-不带/后缀
VITE_API_BASE_URL = "/omc-api"
From 544c3697bdedeee188525f031ee8479caf7af184 Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Sat, 2 Nov 2024 15:48:04 +0800
Subject: [PATCH 027/110] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E5=8F=B7=202.241102?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.development | 2 +-
.env.production | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.env.development b/.env.development
index 48b285d8..eeb7c994 100644
--- a/.env.development
+++ b/.env.development
@@ -11,7 +11,7 @@ VITE_APP_NAME = "Core Network OMC"
VITE_APP_CODE = "OMC"
# 应用版本
-VITE_APP_VERSION = "2.241028"
+VITE_APP_VERSION = "2.241102"
# 接口基础URL地址-不带/后缀
VITE_API_BASE_URL = "/omc-api"
diff --git a/.env.production b/.env.production
index f57b94ba..9adcf8b4 100644
--- a/.env.production
+++ b/.env.production
@@ -11,7 +11,7 @@ VITE_APP_NAME = "Core Network OMC"
VITE_APP_CODE = "OMC"
# 应用版本
-VITE_APP_VERSION = "2.241028"
+VITE_APP_VERSION = "2.241102"
# 接口基础URL地址-不带/后缀
VITE_API_BASE_URL = "/omc-api"
From a731a6408bd1685c039e273a8a4decfa03eaac3f Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Mon, 4 Nov 2024 11:19:25 +0800
Subject: [PATCH 028/110] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4=E9=BB=98?=
=?UTF-8?q?=E8=AE=A4=E5=B8=83=E5=B1=80mix=EF=BC=8C=E4=BF=AE=E5=A4=8D?=
=?UTF-8?q?=E5=BA=95=E9=83=A8=E5=AE=BD=E5=BA=A6100%?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 6 +++---
src/store/modules/layout.ts | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/package.json b/package.json
index 76e7b0c8..ac642491 100644
--- a/package.json
+++ b/package.json
@@ -19,11 +19,11 @@
"@codemirror/merge": "^6.7.2",
"@codemirror/theme-one-dark": "^6.1.2",
"@tato30/vue-pdf": "^1.11.2",
- "@vueuse/core": "^11.1.0",
+ "@vueuse/core": "11.2.0",
"@xterm/addon-fit": "^0.10.0",
"@xterm/xterm": "^5.5.0",
"ant-design-vue": "^4.2.5",
- "antdv-pro-layout": "^4.1.8",
+ "antdv-pro-layout": "^4.1.9",
"antdv-pro-modal": "^4.0.5",
"codemirror": "^6.0.1",
"crypto-js": "^4.2.0",
@@ -37,7 +37,7 @@
"localforage": "^1.10.0",
"nprogress": "^0.2.0",
"p-queue": "~8.0.1",
- "pinia": "^2.2.4",
+ "pinia": "2.2.6",
"vue": "^3.5.12",
"vue-i18n": "^10.0.4",
"vue-router": "^4.4.5",
diff --git a/src/store/modules/layout.ts b/src/store/modules/layout.ts
index 21c9cf34..ea718703 100644
--- a/src/store/modules/layout.ts
+++ b/src/store/modules/layout.ts
@@ -70,7 +70,7 @@ const proRender = (render: any) => (render === false ? false : undefined);
const proConfigLocal: LayoutStore['proConfig'] = localGetJSON(
CACHE_LOCAL_PROCONFIG
) || {
- layout: 'side',
+ layout: 'mix',
theme: 'light',
menuTheme: 'light',
fixSiderbar: true,
From d8487d7cd7288f15c50297a0fb82dc13283ebdf7 Mon Sep 17 00:00:00 2001
From: zhongzm
Date: Mon, 4 Nov 2024 16:04:11 +0800
Subject: [PATCH 029/110] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=85=B6?=
=?UTF-8?q?=E4=BB=96=E6=8C=87=E6=A0=87=E5=88=97=E8=A1=A8=E6=97=A0=E6=B3=95?=
=?UTF-8?q?=E6=89=93=E5=BC=80=EF=BC=8C=E6=96=87=E6=9C=AC=E9=94=99=E4=B9=B1?=
=?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/perfManage/kpiOverView/index.vue | 78 +++++++---------------
1 file changed, 23 insertions(+), 55 deletions(-)
diff --git a/src/views/perfManage/kpiOverView/index.vue b/src/views/perfManage/kpiOverView/index.vue
index c76bdb5b..660c355d 100644
--- a/src/views/perfManage/kpiOverView/index.vue
+++ b/src/views/perfManage/kpiOverView/index.vue
@@ -3,30 +3,17 @@ import { ref, onMounted, onUnmounted, nextTick, computed } from 'vue';
import * as echarts from 'echarts/core';
import { LegendComponent } from 'echarts/components';
import { LineChart, BarChart } from 'echarts/charts';
-import {
- GridComponent,
- TooltipComponent,
- TitleComponent,
-} from 'echarts/components';
+import { GridComponent, TooltipComponent, TitleComponent, } from 'echarts/components';
import { CanvasRenderer } from 'echarts/renderers';
import { getKPITitle, listKPIData } from '@/api/perfManage/goldTarget';
import useI18n from '@/hooks/useI18n';
import { message } from 'ant-design-vue';
-import {
- RESULT_CODE_ERROR,
- RESULT_CODE_SUCCESS,
-} from '@/constants/result-constants';
+import { RESULT_CODE_ERROR, RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import type { Dayjs } from 'dayjs';
import dayjs from 'dayjs';
import { OptionsType, WS } from '@/plugins/ws-websocket';
import { generateColorRGBA } from '@/utils/generate-utils';
-import {
- BarChartOutlined,
- LineChartOutlined,
- UnorderedListOutlined,
- DownOutlined,
- MoreOutlined,
-} from '@ant-design/icons-vue';
+import { BarChartOutlined, LineChartOutlined, UnorderedListOutlined, DownOutlined, MoreOutlined } from '@ant-design/icons-vue';
// 在这里定义 ChartDataItem 接口
interface ChartDataItem {
@@ -315,9 +302,9 @@ const updateChart = () => {
data:
chartData.value.length > 0
? chartData.value.map(item => {
- // 将时间戳转换为包含时分秒的格式
- return dayjs(Number(item.date)).format('YYYY-MM-DD HH:mm:ss');
- })
+ // 将时间戳转换为包含时分秒的格式
+ return dayjs(Number(item.date)).format('YYYY-MM-DD HH:mm:ss');
+ })
: [''],
axisLabel: {
formatter: (value: string) => {
@@ -325,7 +312,7 @@ const updateChart = () => {
return dayjs(value).format('YYYY-MM-DD HH:mm:ss');
},
rotate: 0,
- interval: 'auto', // 自动计算显示间隔
+ interval: 'auto', // 自动计算显示��隔
align: 'right',
},
},
@@ -337,7 +324,7 @@ const updateChart = () => {
},
// 添加自动计算的分割段数
splitNumber: 5,
- // 添加自动计算的最小/最大值围
+ // 添加自动计算的最小/最大值范围
scale: true,
},
series: series, //配置数据
@@ -511,7 +498,7 @@ const fetchSpecificKPI = async () => {
if (validSavedKPIs.length > 0) {
selectedKPIs.value = validSavedKPIs;
} else {
- // 如果没有有效的保存选择,则默认选择��要指标
+ // 如果没有有效的保存选择,则默认选择其他指标
selectedKPIs.value = Object.values(TARGET_KPI_IDS).flat();
}
} else {
@@ -653,26 +640,24 @@ const handleSecondaryKPIChange = (kpiId: string, checked: boolean) => {
{{
chartType === 'line'
- ? t('views.perfManage.kpiOverView.changeLine')
- : t('views.perfManage.kpiOverView.changeBar')
+ ? t('views.perfManage.kpiOverView.changeBar')
+ : t('views.perfManage.kpiOverView.changeLine')
}}