diff --git a/src/api/logManage/exportFile.ts b/src/api/logManage/exportFile.ts index d3f48477..85c29ccf 100644 --- a/src/api/logManage/exportFile.ts +++ b/src/api/logManage/exportFile.ts @@ -51,3 +51,41 @@ export function delFile(query: Record) { params: query, }); } + +/** + * 更新FTP信息 + * @param data 数据 + * @returns object + */ +export function updateFTPInfo(data: Record) { + return request({ + url: `/lm/table/ftp`, + method: 'post', + data: data, + }); +} + +/** + * 获取FTP信息 + * @param data 数据 + * @returns object + */ +export function getFTPInfo() { + return request({ + url: `/lm/table/ftp`, + method: 'get', + }); +} + +/** + * 发送FTP文件 + * @param data 数据 + * @returns object + */ +export function putFTPInfo(filePath: string, fileName: string) { + return request({ + url: `/lm/table/ftp`, + method: 'put', + data: { filePath, fileName }, + }); +} diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index a91d0800..36761c25 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -987,9 +987,13 @@ export default { kpiOverView:{ "kpiName":"NE Metrics Name", "maxValue":"Max", + "maxValueTip":"The max value of metric data within the user's filtered time range.", "minValue":"Min", + "minValueTip":"The min value of metric data within the user's filtered time range.", "avgValue":"Avg", - "totalValue":"Total", + "avgValueTip":"The average value of metric data within the user's filtered time range.", + "totalValue":"Sum", + "totalValueTip":"The sum value of metric data within the user's filtered time range.", "kpiChartTitle":"Overview of NE metrics", "changeLine":"Change to Line Charts", "changeBar":"Change to Bar Charts", diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index 14e46a83..30c00eec 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -987,9 +987,13 @@ export default { kpiOverView:{ "kpiName":"指标名", "maxValue":"最大值", + "maxValueTip":"用户筛选时间范围内度量数据的最大值。", "minValue":"最小值", + "minValueTip":"用户筛选时间范围内度量数据的最小值。", "avgValue":"平均值", + "avgValueTip":"用户筛选时间范围内度量数据的平均值。", "totalValue":"总值", + "totalValueTip":"用户筛选时间范围内度量数据的总值。", "kpiChartTitle":"网元指标概览", "changeLine":"切换为折线图", "changeBar":"切换为柱状图", diff --git a/src/views/dashboard/smfCDR/index.vue b/src/views/dashboard/smfCDR/index.vue index 38e3190d..2bed47e6 100644 --- a/src/views/dashboard/smfCDR/index.vue +++ b/src/views/dashboard/smfCDR/index.vue @@ -20,6 +20,7 @@ import { OptionsType, WS } from '@/plugins/ws-websocket'; import PQueue from 'p-queue'; import saveAs from 'file-saver'; import { listTenant } from '@/api/system/tenant'; +import dayjs, { Dayjs } from 'dayjs'; import { useClipboard } from '@vueuse/core'; const { copy } = useClipboard({ legacy: true }); const { t } = useI18n(); @@ -30,7 +31,25 @@ const queue = new PQueue({ concurrency: 1, autoStart: true }); let neOtions = ref[]>([]); /**开始结束时间 */ -let queryRangePicker = ref<[string, string]>(['', '']); +let queryRangePicker = ref<[Dayjs, Dayjs] | undefined>([ + dayjs().startOf('hour'), + dayjs().endOf('hour'), +]); +/**时间范围 */ +let rangePickerPresets = ref([ + { + label: 'Now hour', + value: [dayjs().startOf('hour'), dayjs().endOf('hour')], + }, + { label: 'Today', value: [dayjs().startOf('day'), dayjs().endOf('day')] }, + { + label: 'Yesterday', + value: [ + dayjs().subtract(1, 'day').startOf('day'), + dayjs().subtract(1, 'day').endOf('day'), + ], + }, +]); /**查询参数 */ let queryParams = reactive({ @@ -44,9 +63,9 @@ let queryParams = reactive({ sortField: 'timestamp', sortOrder: 'desc', /**开始时间 */ - startTime: '', + startTime: undefined as undefined | number, /**结束时间 */ - endTime: '', + endTime: undefined as undefined | number, /**当前页数 */ pageNum: 1, /**每页条数 */ @@ -59,12 +78,12 @@ function fnQueryReset() { subscriberID: '', /** 租户名称*/ tenantName: '', - startTime: '', - endTime: '', + startTime: undefined, + endTime: undefined, pageNum: 1, pageSize: 20, }); - queryRangePicker.value = ['', '']; + queryRangePicker.value = [dayjs().startOf('hour'), dayjs().endOf('hour')]; tablePagination.current = 1; tablePagination.pageSize = 20; fnGetList(); @@ -352,11 +371,19 @@ function fnGetList(pageNum?: number) { if (pageNum) { queryParams.pageNum = pageNum; } - if (!queryRangePicker.value) { - queryRangePicker.value = ['', '']; + + // 时间范围 + if ( + Array.isArray(queryRangePicker.value) && + queryRangePicker.value.length > 0 + ) { + queryParams.startTime = queryRangePicker.value[0].valueOf(); + queryParams.endTime = queryRangePicker.value[1].valueOf(); + } else { + queryParams.startTime = undefined; + queryParams.endTime = undefined; } - queryParams.startTime = queryRangePicker.value[0]; - queryParams.endTime = queryRangePicker.value[1]; + listSMFDataCDR(toRaw(queryParams)).then(res => { if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.rows)) { // 取消勾选 @@ -583,12 +610,12 @@ onBeforeUnmount(() => { > diff --git a/src/views/dashboard/smfCDRByIMSI/index.vue b/src/views/dashboard/smfCDRByIMSI/index.vue index f7a0939f..dea8bf0b 100644 --- a/src/views/dashboard/smfCDRByIMSI/index.vue +++ b/src/views/dashboard/smfCDRByIMSI/index.vue @@ -404,10 +404,8 @@ function fnRanderChartDataLoad() { // 绘制图数据 fnRanderChartDataUpdate(); } else { - cdrChart.showLoading('default', { - text: 'No Data', - fontSize: 16, // 字体大小 - }); + message.warning('No Data'); + cdrChart.hideLoading(); cdrChart.setOption({ title: { text: `Data Volume Uplink / Downlink By IMSI ${queryParams.subscriberID}`, diff --git a/src/views/logManage/exportFile/index.vue b/src/views/logManage/exportFile/index.vue index f9adaec2..60d35470 100644 --- a/src/views/logManage/exportFile/index.vue +++ b/src/views/logManage/exportFile/index.vue @@ -1,19 +1,24 @@