|
@@ -155,8 +155,35 @@
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="mt-[var(--czr-gap)] grid flex-1 grid-cols-3">
|
|
|
- <div class="col-span-1">
|
|
|
- <circleChart :data="state.analysis.tokens.pie" />
|
|
|
+ <div
|
|
|
+ class="col-span-1 flex flex-col items-center justify-center gap-4"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="relative flex h-[12.5rem] w-[12.5rem] items-center justify-center"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="absolute h-full w-full animate-spin bg-[url('@/assets/images/app/app-monitor-icon-5.png')] bg-[length:100%_100%] bg-no-repeat"
|
|
|
+ style="animation-duration: 5s"
|
|
|
+ />
|
|
|
+ <div
|
|
|
+ class="absolute text-[2.5rem] font-bold text-[#2E3238]"
|
|
|
+ >
|
|
|
+ 1234
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="flex items-center gap-2 text-[1.13rem] text-[#909399]"
|
|
|
+ >
|
|
|
+ 相比前天
|
|
|
+ <div class="flex text-[1.5rem] font-bold text-[#00A700]">
|
|
|
+ <SvgIcon
|
|
|
+ name="czr_arrow_1"
|
|
|
+ color="#00A700"
|
|
|
+ size="24"
|
|
|
+ rotate="180"
|
|
|
+ />50%
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="col-span-2">
|
|
|
<lineChart
|
|
@@ -187,8 +214,34 @@
|
|
|
全部会话数
|
|
|
</div>
|
|
|
<div class="mt-[var(--czr-gap)] grid flex-1 grid-cols-3">
|
|
|
- <div class="col-span-1">
|
|
|
- <circleChart :data="state.analysis.session.pie" />
|
|
|
+ <div
|
|
|
+ class="col-span-1 flex flex-col items-center justify-center gap-4"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="relative flex h-[12.5rem] w-[12.5rem] items-center justify-center"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="absolute h-full w-full animate-spin bg-[url('@/assets/images/app/app-monitor-icon-6.png')] bg-[length:100%_100%] bg-no-repeat"
|
|
|
+ style="animation-duration: 5s"
|
|
|
+ />
|
|
|
+ <div
|
|
|
+ class="absolute text-[2.5rem] font-bold text-[#2E3238]"
|
|
|
+ >
|
|
|
+ 1234
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="flex items-center gap-2 text-[1.13rem] text-[#909399]"
|
|
|
+ >
|
|
|
+ 相比前天
|
|
|
+ <div class="flex text-[1.5rem] font-bold text-[#FF5454]">
|
|
|
+ <SvgIcon
|
|
|
+ name="czr_arrow_1"
|
|
|
+ color="#FF5454"
|
|
|
+ size="24"
|
|
|
+ />50%
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="col-span-2">
|
|
|
<lineChart
|
|
@@ -207,8 +260,34 @@
|
|
|
活跃用户数
|
|
|
</div>
|
|
|
<div class="mt-[var(--czr-gap)] grid flex-1 grid-cols-3">
|
|
|
- <div class="col-span-1">
|
|
|
- <circleChart :data="state.analysis.active.pie" />
|
|
|
+ <div
|
|
|
+ class="col-span-1 flex flex-col items-center justify-center gap-4"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="relative flex h-[12.5rem] w-[12.5rem] items-center justify-center"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="absolute h-full w-full animate-spin bg-[url('@/assets/images/app/app-monitor-icon-7.png')] bg-[length:100%_100%] bg-no-repeat"
|
|
|
+ style="animation-duration: 5s"
|
|
|
+ />
|
|
|
+ <div
|
|
|
+ class="absolute text-[2.5rem] font-bold text-[#2E3238]"
|
|
|
+ >
|
|
|
+ 1234
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="flex items-center gap-2 text-[1.13rem] text-[#909399]"
|
|
|
+ >
|
|
|
+ 相比前天
|
|
|
+ <div class="flex text-[1.5rem] font-bold text-[#FF5454]">
|
|
|
+ <SvgIcon
|
|
|
+ name="czr_arrow_1"
|
|
|
+ color="#FF5454"
|
|
|
+ size="24"
|
|
|
+ />50%
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="col-span-2">
|
|
|
<lineChart
|
|
@@ -438,15 +517,9 @@ import { useRoute, useRouter } from 'vue-router'
|
|
|
import { ElMessage } from 'element-plus'
|
|
|
import lineChart from './line-chart.vue'
|
|
|
import pieChart from './pie-chart.vue'
|
|
|
-import circleChart from './circle-chart.vue'
|
|
|
-import { pluginDetail } from '@/api/modules/model'
|
|
|
import { useDictionaryStore } from '@/stores'
|
|
|
-import { YMDHms } from '@/utils/czr-util'
|
|
|
import { debounce } from 'lodash'
|
|
|
-import { documentGetDocumentsByPage } from '@/api/modules/knowledge/document'
|
|
|
import { Search } from '@element-plus/icons-vue'
|
|
|
-import CzrDialogDrag from '@/components/czr-ui/CzrDialogDrag.vue'
|
|
|
-import CzrContent from '@/components/czr-ui/CzrContent.vue'
|
|
|
|
|
|
const DictionaryStore = useDictionaryStore()
|
|
|
const route = useRoute()
|