|
...
|
...
|
@@ -5,12 +5,13 @@ |
|
|
|
<template #rightExtra>
|
|
|
|
<div class="extra-wrapper">
|
|
|
|
<div class="extra-item">
|
|
|
|
<a>今日</a>
|
|
|
|
<a>本周</a>
|
|
|
|
<a>本月</a>
|
|
|
|
<a>本年</a>
|
|
|
|
<a :class="{ active: activeRange === 'all' }" @click="changeRange('all')">全部</a>
|
|
|
|
<a :class="{ active: activeRange === 'today' }" @click="changeRange('today')">今日</a>
|
|
|
|
<a :class="{ active: activeRange === 'week' }" @click="changeRange('week')">本周</a>
|
|
|
|
<a :class="{ active: activeRange === 'month' }" @click="changeRange('month')">本月</a>
|
|
|
|
<a :class="{ active: activeRange === 'year' }" @click="changeRange('year')">本年</a>
|
|
|
|
</div>
|
|
|
|
<a-range-picker :style="{ width: '256px' }" />
|
|
|
|
<a-range-picker :style="{ width: '256px' }" @change="handleDateChange" :value="dateRange" />
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
<a-tab-pane loading="true" tab="每月问答次数" key="1">
|
|
...
|
...
|
@@ -48,7 +49,7 @@ |
|
|
|
</a-card>
|
|
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
|
|
import { computed } from 'vue';
|
|
|
|
import { computed, ref } from 'vue';
|
|
|
|
import Bar from '/@/components/chart/Bar.vue';
|
|
|
|
import RankList from '/@/components/chart/RankList.vue';
|
|
|
|
import { useRootSetting } from '/@/hooks/setting/useRootSetting';
|
|
...
|
...
|
@@ -67,6 +68,37 @@ |
|
|
|
default: () => [],
|
|
|
|
},
|
|
|
|
});
|
|
|
|
|
|
|
|
const activeRange = ref('all');
|
|
|
|
const dateRange = ref<any>(null);
|
|
|
|
|
|
|
|
const emit = defineEmits(['range-change']);
|
|
|
|
|
|
|
|
const changeRange = (rangeType: string) => {
|
|
|
|
activeRange.value = rangeType;
|
|
|
|
dateRange.value = null; // 清除日期选择
|
|
|
|
|
|
|
|
if (rangeType === 'all') {
|
|
|
|
emit('range-change', { rangeType: null });
|
|
|
|
} else {
|
|
|
|
emit('range-change', { rangeType });
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
const handleDateChange = (dates: any, dateStrings: [string, string]) => {
|
|
|
|
if (dateStrings[0] && dateStrings[1]) {
|
|
|
|
activeRange.value = 'custom';
|
|
|
|
dateRange.value = dates;
|
|
|
|
emit('range-change', {
|
|
|
|
rangeType: 'custom',
|
|
|
|
startTime: dateStrings[0] + ' 00:00:00',
|
|
|
|
endTime: dateStrings[1] + ' 23:59:59',
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
activeRange.value = 'all';
|
|
|
|
emit('range-change', { rangeType: null });
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const { getThemeColor } = useRootSetting();
|
|
|
|
const seriesColor = computed(() => {
|
|
|
|
return getThemeColor.value;
|
...
|
...
|
|