diff --git a/src/App.vue b/src/App.vue index 5f8c12ec..acd290a7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,13 +5,11 @@ import zhCN from 'ant-design-vue/es/locale/zh_CN'; import enUS from 'ant-design-vue/es/locale/en_US'; import { usePrefersColorScheme, viewTransitionTheme } from 'antdv-pro-layout'; import dayjs from 'dayjs'; -import advancedFormat from 'dayjs/plugin/advancedFormat'; import useLayoutStore from '@/store/modules/layout'; import useAppStore from '@/store/modules/app'; import useI18n from '@/hooks/useI18n'; const { t, currentLocale } = useI18n(); const { themeConfig, initPrimaryColor, changeConf } = useLayoutStore(); -dayjs.extend(advancedFormat); // dayjs.locale('zh-cn'); // 默认中文 let locale = ref(enUS); // 国际化初始中文 diff --git a/src/views/monitor/job/log.vue b/src/views/monitor/job/log.vue index b7cb4c43..6d627ae2 100644 --- a/src/views/monitor/job/log.vue +++ b/src/views/monitor/job/log.vue @@ -20,6 +20,7 @@ import useTabsStore from '@/store/modules/tabs'; import useDictStore from '@/store/modules/dict'; import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import useI18n from '@/hooks/useI18n'; +import type { Dayjs } from 'dayjs'; const { t } = useI18n(); const tabsStore = useTabsStore(); const { getDict } = useDictStore(); @@ -40,8 +41,8 @@ let dict: { sysCommonStatus: [], }); -/**记录开始结束时间 */ -let queryRangePicker = ref<[string, string]>(['', '']); +/**开始结束时间 */ +let queryRangePicker = ref<[Dayjs, Dayjs] | undefined>(undefined); /**查询参数 */ let queryParams = reactive({ @@ -54,9 +55,9 @@ let queryParams = reactive({ /**执行状态 */ statusFlag: undefined, /**记录开始时间 */ - beginTime: '', + beginTime: undefined as number | undefined, /**记录结束时间 */ - endTime: '', + endTime: undefined as number | undefined, /**当前页数 */ pageNum: 1, /**每页条数 */ @@ -68,8 +69,8 @@ function fnQueryReset() { if (jobId && jobId !== '0') { queryParams = Object.assign(queryParams, { statusFlag: undefined, - beginTime: '', - endTime: '', + beginTime: undefined, + endTime: undefined, pageNum: 1, pageSize: 20, }); @@ -85,7 +86,7 @@ function fnQueryReset() { pageSize: 20, }); } - queryRangePicker.value = ['', '']; + queryRangePicker.value = undefined; tablePagination.current = 1; tablePagination.pageSize = 20; fnGetList(); @@ -361,11 +362,17 @@ function fnGetList(pageNum?: number) { if (pageNum) { queryParams.pageNum = pageNum; } - if (!queryRangePicker.value) { - queryRangePicker.value = ['', '']; + // 时间范围 + if ( + Array.isArray(queryRangePicker.value) && + queryRangePicker.value.length > 0 + ) { + queryParams.beginTime = queryRangePicker.value[0].valueOf(); + queryParams.endTime = queryRangePicker.value[1].valueOf(); + } else { + queryParams.beginTime = undefined; + queryParams.endTime = undefined; } - queryParams.beginTime = queryRangePicker.value[0]; - queryParams.endTime = queryRangePicker.value[1]; listJobLog(toRaw(queryParams)).then(res => { if (res.code === RESULT_CODE_SUCCESS) { // 取消勾选 @@ -475,12 +482,11 @@ onMounted(() => { > diff --git a/src/views/monitor/monitor/index.vue b/src/views/monitor/monitor/index.vue index da47edba..2f2cb273 100644 --- a/src/views/monitor/monitor/index.vue +++ b/src/views/monitor/monitor/index.vue @@ -7,30 +7,29 @@ import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import useI18n from '@/hooks/useI18n'; import { YYYY_MM_DD_HH_MM_SS, - parseDateToStr, parseDateWithoutYear, parseStrToDate, } from '@/utils/date-utils'; import { parseSizeFromKBs } from '@/utils/parse-utils'; -import dayjs, { Dayjs } from 'dayjs'; +import dayjs, { type Dayjs } from 'dayjs'; const { t } = useI18n(); /**开始结束时间类型 */ type RangePickerType = { placeholder: [string, string]; - ranges: Record; + presets: { label: string; value: Dayjs[] }[] | undefined; /**全局时间 */ - all: [string, string]; + all: [Dayjs, Dayjs] | undefined; /**平均负载 */ - load: [string, string]; + load: [Dayjs, Dayjs] | undefined; /**CPU */ - cpu: [string, string]; + cpu: [Dayjs, Dayjs] | undefined; /**内存 */ - memory: [string, string]; + memory: [Dayjs, Dayjs] | undefined; /**磁盘 */ - io: [string, string]; + io: [Dayjs, Dayjs] | undefined; /**网络 */ - network: [string, string]; + network: [Dayjs, Dayjs] | undefined; }; /**开始结束时间 */ @@ -39,42 +38,54 @@ let rangePicker = reactive({ t('views.monitor.monitor.startTime'), t('views.monitor.monitor.endTime'), ], - ranges: { - [t('views.monitor.monitor.yesterday')]: [ - dayjs().subtract(1, 'day').startOf('day'), - dayjs().subtract(1, 'day').endOf('day'), - ], - [t('views.monitor.monitor.today')]: [dayjs().startOf('day'), dayjs()], - [t('views.monitor.monitor.week')]: [ - dayjs().startOf('week'), - dayjs().endOf('week'), - ], - [t('views.monitor.monitor.month')]: [ - dayjs().startOf('month'), - dayjs().endOf('month'), - ], - }, - all: ['', ''], - load: ['', ''], - cpu: ['', ''], - memory: ['', ''], - io: ['', ''], - network: ['', ''], + presets: [ + { + label: t('views.monitor.monitor.yesterday'), + value: [ + dayjs().subtract(1, 'day').startOf('day'), + dayjs().subtract(1, 'day').endOf('day'), + ], + }, + { + label: t('views.monitor.monitor.today'), + value: [dayjs().startOf('day'), dayjs()], + }, + { + label: t('views.monitor.monitor.week'), + value: [dayjs().startOf('week'), dayjs().endOf('week')], + }, + { + label: t('views.monitor.monitor.month'), + value: [dayjs().startOf('month'), dayjs().endOf('month')], + }, + ], + all: [dayjs().subtract(2, 'hour'), dayjs().endOf('hour')], + load: undefined, + cpu: undefined, + memory: undefined, + io: undefined, + network: undefined, }); /**查询全部资源数据列表 */ function fnGetList() { let beginTime = null; let endTime = null; - const dateNumber = rangePicker.all; - if (dateNumber[0]) { - beginTime = dateNumber[0]; - endTime = dateNumber[1]; + // 时间范围 + if (Array.isArray(rangePicker.all) && rangePicker.all.length > 0) { + beginTime = rangePicker.all[0].valueOf(); + endTime = rangePicker.all[1].valueOf(); + // 设置初始时间段 + const initRangePicker = rangePicker.all; + rangePicker.all = initRangePicker; + rangePicker.load = initRangePicker; + rangePicker.cpu = initRangePicker; + rangePicker.memory = initRangePicker; + rangePicker.io = initRangePicker; + rangePicker.network = initRangePicker; } else { - const now = new Date(); - now.setHours(0, 0, 0, 0); - beginTime = `${now.getTime()}`; - endTime = `${new Date().getTime()}`; + beginTime = undefined; + endTime = undefined; } getLoad({ @@ -92,15 +103,6 @@ function fnGetList() { fnNetworkChart(res.data.network); } }); - - // 设置初始时间段 - const initRangePicker: [string, string] = [beginTime, endTime]; - rangePicker.all = initRangePicker; - rangePicker.load = initRangePicker; - rangePicker.cpu = initRangePicker; - rangePicker.memory = initRangePicker; - rangePicker.io = initRangePicker; - rangePicker.network = initRangePicker; } /**图表显示数据 */ @@ -350,19 +352,14 @@ function fnNetworkChart(data: Record[]) { } /**查询数据-平均负载/CPU/内存 */ -function fnGetQuery( - type: 'load' | 'cpu' | 'memory', - dateString: [string, string] -) { - if (!dateString[0]) { +function fnGetQuery(type: 'load' | 'cpu' | 'memory', v: [Dayjs, Dayjs]) { + if (!Array.isArray(v) || v.length <= 0) { return; } - const beginTime = parseStrToDate(dateString[0], YYYY_MM_DD_HH_MM_SS); - const endTime = parseStrToDate(dateString[1], YYYY_MM_DD_HH_MM_SS); getLoad({ type: type, - beginTime: beginTime.getTime(), - endTime: endTime.getTime(), + beginTime: v[0].valueOf(), + endTime: v[1].valueOf(), neType: '#', neId: '#', }).then(res => { @@ -381,16 +378,14 @@ function fnGetQuery( } /**查询数据-IO */ -function fnGetQueryIO(v: any, dateString: [string, string]) { - if (!v) { +function fnGetQueryIO(v: [string, string] | [Dayjs, Dayjs]) { + if (!Array.isArray(v) || v.length <= 0) { return; } - const beginTime = parseStrToDate(dateString[0], YYYY_MM_DD_HH_MM_SS); - const endTime = parseStrToDate(dateString[1], YYYY_MM_DD_HH_MM_SS); getLoad({ type: 'io', - beginTime: beginTime.getTime(), - endTime: endTime.getTime(), + beginTime: v[0].valueOf(), + endTime: v[1].valueOf(), neType: '#', neId: '#', }).then(res => { @@ -401,16 +396,15 @@ function fnGetQueryIO(v: any, dateString: [string, string]) { } /**查询数据-Network */ -function fnGetQueryNetwork(v: any, dateString: [string, string]) { - if (!v) { +function fnGetQueryNetwork(v: [string, string] | [Dayjs, Dayjs]) { + console.log(v); + if (!Array.isArray(v) || v.length <= 0) { return; } - const beginTime = parseStrToDate(dateString[0], YYYY_MM_DD_HH_MM_SS); - const endTime = parseStrToDate(dateString[1], YYYY_MM_DD_HH_MM_SS); getLoad({ type: 'network', - beginTime: beginTime.getTime(), - endTime: endTime.getTime(), + beginTime: v[0].valueOf(), + endTime: v[1].valueOf(), neType: '#', neId: '#', }).then(res => { @@ -441,14 +435,13 @@ onMounted(() => { > @@ -479,10 +472,9 @@ onMounted(() => { bordered :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" - value-format="x" :placeholder="rangePicker.placeholder" style="width: 100%" - @change="(_:any, d:[string,string]) => fnGetQuery('load', d)" + @change="(v:any) => fnGetQuery('load', v)" > @@ -509,10 +501,9 @@ onMounted(() => { bordered :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" - value-format="x" :placeholder="rangePicker.placeholder" style="width: 100%" - @change="(_:any, d:[string,string]) => fnGetQuery('cpu', d)" + @change="(v:any) => fnGetQuery('cpu', v)" > @@ -537,10 +528,9 @@ onMounted(() => { bordered :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" - value-format="x" :placeholder="rangePicker.placeholder" style="width: 100%" - @change="(_:any, d:[string,string]) => fnGetQuery('memory', d)" + @change="(v:any) => fnGetQuery('memory', v)" > @@ -567,7 +557,6 @@ onMounted(() => { bordered :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" - value-format="x" :placeholder="rangePicker.placeholder" style="width: 100%" @change="fnGetQueryIO" @@ -595,10 +584,9 @@ onMounted(() => { bordered :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" - value-format="x" :placeholder="rangePicker.placeholder" style="width: 100%" - @change="fnGetQueryNetwork" + @ok="fnGetQueryNetwork" > diff --git a/src/views/system/config/index.vue b/src/views/system/config/index.vue index d2eba896..7e99dfb6 100644 --- a/src/views/system/config/index.vue +++ b/src/views/system/config/index.vue @@ -20,6 +20,7 @@ import { parseDateToStr } from '@/utils/date-utils'; import useDictStore from '@/store/modules/dict'; import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import useI18n from '@/hooks/useI18n'; +import type { Dayjs } from 'dayjs'; const { t } = useI18n(); const { getDict } = useDictStore(); @@ -32,7 +33,7 @@ let dict: { }); /**开始结束时间 */ -let queryRangePicker = ref<[string, string]>(['', '']); +let queryRangePicker = ref<[Dayjs, Dayjs] | undefined>(undefined); /**查询参数 */ let queryParams = reactive({ @@ -43,9 +44,9 @@ let queryParams = reactive({ /**系统内置 */ configType: undefined, /**记录开始时间 */ - beginTime: '', + beginTime: undefined as number | undefined, /**记录结束时间 */ - endTime: '', + endTime: undefined as number | undefined, /**当前页数 */ pageNum: 1, /**每页条数 */ @@ -58,12 +59,12 @@ function fnQueryReset() { configName: '', configKey: '', configType: undefined, - beginTime: '', - endTime: '', + beginTime: undefined, + endTime: undefined, pageNum: 1, pageSize: 20, }); - queryRangePicker.value = ['', '']; + queryRangePicker.value = undefined; tablePagination.current = 1; tablePagination.pageSize = 20; fnGetList(); @@ -439,13 +440,21 @@ function fnGetList(pageNum?: number) { if (pageNum) { queryParams.pageNum = pageNum; } - if (!queryRangePicker.value) { - queryRangePicker.value = ['', '']; + + // 时间范围 + if ( + Array.isArray(queryRangePicker.value) && + queryRangePicker.value.length > 0 + ) { + queryParams.beginTime = queryRangePicker.value[0].valueOf(); + queryParams.endTime = queryRangePicker.value[1].valueOf(); + } else { + queryParams.beginTime = undefined; + queryParams.endTime = undefined; } - queryParams.beginTime = queryRangePicker.value[0]; - queryParams.endTime = queryRangePicker.value[1]; + listConfig(toRaw(queryParams)).then(res => { - if (res.code === RESULT_CODE_SUCCESS) { + if (res.code === RESULT_CODE_SUCCESS) { // 取消勾选 if (tableState.selectedRowKeys.length > 0) { tableState.selectedRowKeys = []; @@ -533,12 +542,11 @@ onMounted(() => { > diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue index d11c46e8..c944dc86 100644 --- a/src/views/system/dict/index.vue +++ b/src/views/system/dict/index.vue @@ -22,6 +22,7 @@ import useDictStore from '@/store/modules/dict'; import { MENU_PATH_INLINE } from '@/constants/menu-constants'; import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import useI18n from '@/hooks/useI18n'; +import type { Dayjs } from 'dayjs'; const { t } = useI18n(); const { getDict } = useDictStore(); const router = useRouter(); @@ -37,7 +38,7 @@ let dict: { }); /**开始结束时间 */ -let queryRangePicker = ref<[string, string]>(['', '']); +let queryRangePicker = ref<[Dayjs, Dayjs] | undefined>(undefined); /**查询参数 */ let queryParams = reactive({ @@ -48,9 +49,9 @@ let queryParams = reactive({ /**字典状态 */ statusFlag: undefined, /**记录开始时间 */ - beginTime: '', + beginTime: undefined as number | undefined, /**记录结束时间 */ - endTime: '', + endTime: undefined as number | undefined, /**当前页数 */ pageNum: 1, /**每页条数 */ @@ -63,12 +64,12 @@ function fnQueryReset() { dictName: '', dictType: '', statusFlag: undefined, - beginTime: '', - endTime: '', + beginTime: undefined, + endTime: undefined, pageNum: 1, pageSize: 20, }); - queryRangePicker.value = ['', '']; + queryRangePicker.value = undefined; tablePagination.current = 1; tablePagination.pageSize = 20; fnGetList(); @@ -440,13 +441,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.beginTime = queryRangePicker.value[0].valueOf(); + queryParams.endTime = queryRangePicker.value[1].valueOf(); + } else { + queryParams.beginTime = undefined; + queryParams.endTime = undefined; } - queryParams.beginTime = queryRangePicker.value[0]; - queryParams.endTime = queryRangePicker.value[1]; listType(toRaw(queryParams)).then(res => { - if (res.code === RESULT_CODE_SUCCESS) { + if (res.code === RESULT_CODE_SUCCESS) { // 取消勾选 if (tableState.selectedRowKeys.length > 0) { tableState.selectedRowKeys = []; @@ -531,12 +538,11 @@ onMounted(() => { > @@ -671,7 +677,10 @@ onMounted(() => { >