|
@@ -1,7 +1,7 @@
|
|
import React, { useCallback, useEffect, useState } from "react";
|
|
import React, { useCallback, useEffect, useState } from "react";
|
|
import { ExclamationCircleFilled, CalendarOutlined } from "@ant-design/icons";
|
|
import { ExclamationCircleFilled, CalendarOutlined } from "@ant-design/icons";
|
|
import styles from "./index.module.scss";
|
|
import styles from "./index.module.scss";
|
|
-import { Select, Tooltip } from "antd";
|
|
|
|
|
|
+import { Empty, Select, Tooltip } from "antd";
|
|
|
|
|
|
import * as echarts from "echarts/core";
|
|
import * as echarts from "echarts/core";
|
|
import { GridComponent } from "echarts/components";
|
|
import { GridComponent } from "echarts/components";
|
|
@@ -204,11 +204,6 @@ function Hot() {
|
|
name: "板车",
|
|
name: "板车",
|
|
},
|
|
},
|
|
];
|
|
];
|
|
- // 左边饼图配置文件
|
|
|
|
- const data4Obj = {
|
|
|
|
- legend: { top: "center", right: 45 },
|
|
|
|
- series: { center: ["34%", "50%"], radius: ["60%", "80%"] },
|
|
|
|
- };
|
|
|
|
|
|
|
|
// 第一个饼图
|
|
// 第一个饼图
|
|
const data7 = [
|
|
const data7 = [
|
|
@@ -238,14 +233,19 @@ function Hot() {
|
|
name: "板车1",
|
|
name: "板车1",
|
|
},
|
|
},
|
|
];
|
|
];
|
|
|
|
+ // 左边饼图配置文件
|
|
|
|
+ const data4Obj = {
|
|
|
|
+ legend: { left: "center", bottom: 20 },
|
|
|
|
+ series: { center: ["50%", "35%"], radius: ["50%", "70%"] },
|
|
|
|
+ };
|
|
// 右边饼图配置文件
|
|
// 右边饼图配置文件
|
|
const data7Obj = {
|
|
const data7Obj = {
|
|
- legend: { left: "center", bottom: 15 },
|
|
|
|
|
|
+ legend: { left: "center", bottom: 5 },
|
|
series: { center: ["50%", "35%"], radius: ["40%", "60%"] },
|
|
series: { center: ["50%", "35%"], radius: ["40%", "60%"] },
|
|
};
|
|
};
|
|
|
|
+ // echartsFu2("#echarts4", data4, data4Obj);
|
|
|
|
+ // echartsFu2("#echarts5", data4, data4Obj);
|
|
echartsFu2("#echarts4", data4, data4Obj);
|
|
echartsFu2("#echarts4", data4, data4Obj);
|
|
- echartsFu2("#echarts5", data4, data4Obj);
|
|
|
|
- echartsFu2("#echarts6", data4, data4Obj);
|
|
|
|
echartsFu2("#echarts7", data7, data7Obj);
|
|
echartsFu2("#echarts7", data7, data7Obj);
|
|
}, [echartsFu1, echartsFu2]);
|
|
}, [echartsFu1, echartsFu2]);
|
|
|
|
|
|
@@ -270,6 +270,7 @@ function Hot() {
|
|
},
|
|
},
|
|
{ name: "啊实打实大苏打", pcs: 10 },
|
|
{ name: "啊实打实大苏打", pcs: 10 },
|
|
{ name: "啊实打实大苏打", pcs: 10 },
|
|
{ name: "啊实打实大苏打", pcs: 10 },
|
|
|
|
+ { name: "啊实打实大苏打", pcs: 10 },
|
|
]);
|
|
]);
|
|
|
|
|
|
return (
|
|
return (
|
|
@@ -279,10 +280,10 @@ function Hot() {
|
|
{/* 上面 */}
|
|
{/* 上面 */}
|
|
<div className="topBox">
|
|
<div className="topBox">
|
|
<div className="topBoxL">
|
|
<div className="topBoxL">
|
|
- {/* 线上访问次数盒子 */}
|
|
|
|
|
|
+ {/* 线上访客盒子 */}
|
|
<div className="topBoxL1">
|
|
<div className="topBoxL1">
|
|
<div className="hotTit">
|
|
<div className="hotTit">
|
|
- 线上访问次数 58
|
|
|
|
|
|
+ 线上访客 58
|
|
<Tooltip title="近14个自然日的访客数;一天内同一访客多次访问记为1">
|
|
<Tooltip title="近14个自然日的访客数;一天内同一访客多次访问记为1">
|
|
<div className="inco">
|
|
<div className="inco">
|
|
<ExclamationCircleFilled />
|
|
<ExclamationCircleFilled />
|
|
@@ -294,11 +295,11 @@ function Hot() {
|
|
<div className="hotTime">近十四天数据</div>
|
|
<div className="hotTime">近十四天数据</div>
|
|
</div>
|
|
</div>
|
|
<div className="topBoxL2">
|
|
<div className="topBoxL2">
|
|
- {/* 大屏热度盒子 */}
|
|
|
|
|
|
+ {/* 万物墙热度盒子 */}
|
|
<div className="topBoxL2L">
|
|
<div className="topBoxL2L">
|
|
<div className="hotTit">
|
|
<div className="hotTit">
|
|
- 大屏热度 264
|
|
|
|
- <Tooltip title="查看馆藏/场景/视频信息时,记为1点热度">
|
|
|
|
|
|
+ 万物墙热度 264
|
|
|
|
+ <Tooltip title="查看场景/文物/视频时,记为1点热度">
|
|
<div className="inco">
|
|
<div className="inco">
|
|
<ExclamationCircleFilled />
|
|
<ExclamationCircleFilled />
|
|
</div>
|
|
</div>
|
|
@@ -327,7 +328,7 @@ function Hot() {
|
|
{/* 地图盒子 */}
|
|
{/* 地图盒子 */}
|
|
<div className="topBoxR">
|
|
<div className="topBoxR">
|
|
<div className="hotTit">
|
|
<div className="hotTit">
|
|
- 线上访问热力图
|
|
|
|
|
|
+ 访客来源
|
|
<Tooltip title="根据近30天访问情况进行统计">
|
|
<Tooltip title="根据近30天访问情况进行统计">
|
|
<div className="inco">
|
|
<div className="inco">
|
|
<ExclamationCircleFilled />
|
|
<ExclamationCircleFilled />
|
|
@@ -356,44 +357,29 @@ function Hot() {
|
|
]}
|
|
]}
|
|
/>
|
|
/>
|
|
<div className="downBoxLTopTit">
|
|
<div className="downBoxLTopTit">
|
|
- 注:数据的统计,需定时从数据库中获取,因此可能产生一定延迟
|
|
|
|
|
|
+ 可对浏览总数、馆藏排行、场景排行进行日期区间的筛选
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div className="downBoxLMain">
|
|
<div className="downBoxLMain">
|
|
- <div className="downBoxLMain1">
|
|
|
|
- <div className="hotTit">
|
|
|
|
- 浏览总数
|
|
|
|
- <Tooltip title="对文物或场景的访问记为1">
|
|
|
|
- <div className="inco">
|
|
|
|
- <ExclamationCircleFilled />
|
|
|
|
- </div>
|
|
|
|
- </Tooltip>
|
|
|
|
- </div>
|
|
|
|
- <div className="downBoxLMain1echartsBox">
|
|
|
|
- <div className="downBoxLMain1echartsBoxRow">
|
|
|
|
- <div className="echartsBox" id="echarts4"></div>
|
|
|
|
- <div className="downBoxLMain1echartsBoxTxt">
|
|
|
|
- <div>文物</div>
|
|
|
|
- <p>124</p>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div className="downBoxLMain1echartsBoxRow">
|
|
|
|
- <div className="echartsBox" id="echarts5"></div>
|
|
|
|
- <div className="downBoxLMain1echartsBoxTxt">
|
|
|
|
- <div>vr展馆</div>
|
|
|
|
- <p>58</p>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div className="downBoxLMain2">
|
|
|
|
+ <div className="downBoxLMain2EchBox">
|
|
|
|
+ <div className="hotTit">
|
|
|
|
+ 浏览总数
|
|
|
|
+ <Tooltip title="在所选时间段内,每查看一次对应内容记为1">
|
|
|
|
+ <div className="inco">
|
|
|
|
+ <ExclamationCircleFilled />
|
|
|
|
+ </div>
|
|
|
|
+ </Tooltip>
|
|
</div>
|
|
</div>
|
|
- <div className="downBoxLMain1echartsBoxRow">
|
|
|
|
- <div className="echartsBox" id="echarts6"></div>
|
|
|
|
- <div className="downBoxLMain1echartsBoxTxt">
|
|
|
|
- <div>全景</div>
|
|
|
|
- <p>2</p>
|
|
|
|
|
|
+ <div className="echarts4Box">
|
|
|
|
+ <div className="echarts4BoxTxt">
|
|
|
|
+ <div>总数</div>
|
|
|
|
+ <p>124</p>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div id="echarts4"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
- <div className="downBoxLMain2">
|
|
|
|
|
|
+
|
|
<div className="downBoxLMain2L">
|
|
<div className="downBoxLMain2L">
|
|
<div className="hotTitSelect">
|
|
<div className="hotTitSelect">
|
|
<div>藏品排行</div>
|
|
<div>藏品排行</div>
|
|
@@ -403,21 +389,27 @@ function Hot() {
|
|
onChange={(e) => setSelect2(e)}
|
|
onChange={(e) => setSelect2(e)}
|
|
options={[
|
|
options={[
|
|
{ value: 0, label: "按浏览" },
|
|
{ value: 0, label: "按浏览" },
|
|
- { value: 1, label: "按弹幕" },
|
|
|
|
- { value: 2, label: "按点赞" },
|
|
|
|
|
|
+ { value: 1, label: "按点赞" },
|
|
|
|
+ { value: 2, label: "按弹幕" },
|
|
]}
|
|
]}
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
- <div className="downBoxLMain2LRowBox">
|
|
|
|
- {likeData.map((v, i) => (
|
|
|
|
- <div className="downBoxLMain2LRow" key={i}>
|
|
|
|
- <div className="downBoxLMain2LRow1" title={v.name}>
|
|
|
|
- {i + 1}. {v.name}
|
|
|
|
|
|
+ {likeData.length ? (
|
|
|
|
+ <div className="downBoxLMain2LRowBox">
|
|
|
|
+ {likeData.map((v, i) => (
|
|
|
|
+ <div className="downBoxLMain2LRow" key={i}>
|
|
|
|
+ <div className="downBoxLMain2LRow1" title={v.name}>
|
|
|
|
+ {i + 1}. {v.name}
|
|
|
|
+ </div>
|
|
|
|
+ <div className="downBoxLMain2LRow2">{v.pcs}</div>
|
|
</div>
|
|
</div>
|
|
- <div className="downBoxLMain2LRow2">{v.pcs}</div>
|
|
|
|
- </div>
|
|
|
|
- ))}
|
|
|
|
- </div>
|
|
|
|
|
|
+ ))}
|
|
|
|
+ </div>
|
|
|
|
+ ) : (
|
|
|
|
+ <div className="noneInfo">
|
|
|
|
+ <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />
|
|
|
|
+ </div>
|
|
|
|
+ )}
|
|
</div>
|
|
</div>
|
|
<div className="downBoxLMain2R">
|
|
<div className="downBoxLMain2R">
|
|
<div className="hotTitSelect">
|
|
<div className="hotTitSelect">
|
|
@@ -432,16 +424,24 @@ function Hot() {
|
|
]}
|
|
]}
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
- <div className="downBoxLMain2LRowBox">
|
|
|
|
- {likeData.map((v, i) => (
|
|
|
|
- <div className="downBoxLMain2LRow" key={i}>
|
|
|
|
- <div className="downBoxLMain2LRow1" title={v.name}>
|
|
|
|
- {i + 1}. {v.name}
|
|
|
|
|
|
+
|
|
|
|
+ {likeData.length ? (
|
|
|
|
+ <div className="downBoxLMain2LRowBox">
|
|
|
|
+ {likeData.map((v, i) => (
|
|
|
|
+ <div className="downBoxLMain2LRow" key={i}>
|
|
|
|
+ <div className="downBoxLMain2LRow1" title={v.name}>
|
|
|
|
+ {i + 1}. {v.name}
|
|
|
|
+ </div>
|
|
|
|
+ <div className="downBoxLMain2LRow2">{v.pcs}</div>
|
|
</div>
|
|
</div>
|
|
- <div className="downBoxLMain2LRow2">{v.pcs}</div>
|
|
|
|
- </div>
|
|
|
|
- ))}
|
|
|
|
- </div>
|
|
|
|
|
|
+ ))}
|
|
|
|
+ </div>
|
|
|
|
+ ) : (
|
|
|
|
+ <div className="noneInfo">
|
|
|
|
+ <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />
|
|
|
|
+ </div>
|
|
|
|
+ )}
|
|
|
|
+
|
|
<div className="downBoxLMain2LRow"></div>
|
|
<div className="downBoxLMain2LRow"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|