|
@@ -74,7 +74,7 @@ export function formatBirthday(date) {
|
|
|
return `${t1}`;
|
|
|
}
|
|
|
|
|
|
-// 专注力与放松力图表
|
|
|
+// 专注力与放松力图表 小乌龟
|
|
|
function getLineOption(lineData_att, lineData_med) {
|
|
|
const that = this;
|
|
|
var option = {
|
|
@@ -149,21 +149,20 @@ function getLineOption(lineData_att, lineData_med) {
|
|
|
},
|
|
|
show: false,
|
|
|
},
|
|
|
- series: [
|
|
|
- {
|
|
|
- name: "Att(专注度)",
|
|
|
- symbol: "none", //取消折点圆圈
|
|
|
- type: "line",
|
|
|
- smooth: true,
|
|
|
- data: lineData_att,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "Med(放松度)",
|
|
|
- symbol: "none", //取消折点圆圈
|
|
|
- type: "line",
|
|
|
- smooth: true,
|
|
|
- data: lineData_med,
|
|
|
- },
|
|
|
+ series: [{
|
|
|
+ name: "Att(专注度)",
|
|
|
+ symbol: "none", //取消折点圆圈
|
|
|
+ type: "line",
|
|
|
+ smooth: true,
|
|
|
+ data: lineData_att,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "Med(放松度)",
|
|
|
+ symbol: "none", //取消折点圆圈
|
|
|
+ type: "line",
|
|
|
+ smooth: true,
|
|
|
+ data: lineData_med,
|
|
|
+ },
|
|
|
],
|
|
|
animation: false,
|
|
|
};
|
|
@@ -241,35 +240,34 @@ function getBaseOption(delta, theta, alpha, beta) {
|
|
|
},
|
|
|
show: false,
|
|
|
},
|
|
|
- series: [
|
|
|
- {
|
|
|
- name: "Delta",
|
|
|
- symbol: "none", //取消折点圆圈
|
|
|
- type: "line",
|
|
|
- smooth: true,
|
|
|
- data: delta,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "Theta",
|
|
|
- symbol: "none", //取消折点圆圈
|
|
|
- type: "line",
|
|
|
- smooth: true,
|
|
|
- data: theta,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "Alpha",
|
|
|
- symbol: "none", //取消折点圆圈
|
|
|
- type: "line",
|
|
|
- smooth: true,
|
|
|
- data: alpha,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "Beta",
|
|
|
- symbol: "none", //取消折点圆圈
|
|
|
- type: "line",
|
|
|
- smooth: true,
|
|
|
- data: beta,
|
|
|
- },
|
|
|
+ series: [{
|
|
|
+ name: "Delta",
|
|
|
+ symbol: "none", //取消折点圆圈
|
|
|
+ type: "line",
|
|
|
+ smooth: true,
|
|
|
+ data: delta,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "Theta",
|
|
|
+ symbol: "none", //取消折点圆圈
|
|
|
+ type: "line",
|
|
|
+ smooth: true,
|
|
|
+ data: theta,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "Alpha",
|
|
|
+ symbol: "none", //取消折点圆圈
|
|
|
+ type: "line",
|
|
|
+ smooth: true,
|
|
|
+ data: alpha,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "Beta",
|
|
|
+ symbol: "none", //取消折点圆圈
|
|
|
+ type: "line",
|
|
|
+ smooth: true,
|
|
|
+ data: beta,
|
|
|
+ },
|
|
|
],
|
|
|
animation: false,
|
|
|
};
|
|
@@ -353,28 +351,32 @@ export function getHightPieChartOption($params, $total) {
|
|
|
// trigger: 'item'
|
|
|
show: false,
|
|
|
},
|
|
|
- series: [
|
|
|
- {
|
|
|
- name: "访问来源",
|
|
|
- type: "pie",
|
|
|
- radius: "80%",
|
|
|
- labelLine: {
|
|
|
- show: false,
|
|
|
+ series: [{
|
|
|
+ name: "访问来源",
|
|
|
+ type: "pie",
|
|
|
+ radius: "80%",
|
|
|
+ labelLine: {
|
|
|
+ show: false,
|
|
|
+ },
|
|
|
+ data: [
|
|
|
+ // {value: $params, name: '高专注占比'},
|
|
|
+ // {value: Math.abs(100-$params), name: '直接访问'},
|
|
|
+ {
|
|
|
+ value: $params,
|
|
|
+ name: ''
|
|
|
},
|
|
|
- data: [
|
|
|
- // {value: $params, name: '高专注占比'},
|
|
|
- // {value: Math.abs(100-$params), name: '直接访问'},
|
|
|
- {value: $params, name: ''},
|
|
|
- {value: Math.abs($total - $params), name: ''},
|
|
|
- ]
|
|
|
- }
|
|
|
- ]
|
|
|
+ {
|
|
|
+ value: Math.abs($total - $params),
|
|
|
+ name: ''
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ }]
|
|
|
};
|
|
|
return $option;
|
|
|
}
|
|
|
|
|
|
export function getRadarChartOption($params) {
|
|
|
- console.log("雷达图参数会打印什么呢?", $params);
|
|
|
+
|
|
|
let $option = {
|
|
|
tooltip: {},
|
|
|
radar: {
|
|
@@ -388,32 +390,45 @@ export function getRadarChartOption($params) {
|
|
|
padding: [3, 5],
|
|
|
},
|
|
|
},
|
|
|
- indicator: [
|
|
|
- { name: "专注力平均值指数", max: 100 },
|
|
|
- { name: "专注力广度指数", max: 100 },
|
|
|
- { name: "专注力爆发指数", max: 100 },
|
|
|
- { name: "专注力抗性指数", max: 100 },
|
|
|
- { name: "专注力启动指数", max: 100 },
|
|
|
- { name: "高专注力占比指数", max: 100 },
|
|
|
+ indicator: [{
|
|
|
+ name: "专注力平均值指数",
|
|
|
+ max: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "专注力广度指数",
|
|
|
+ max: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "专注力爆发指数",
|
|
|
+ max: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "专注力抗性指数",
|
|
|
+ max: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "专注力启动指数",
|
|
|
+ max: 100
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "高专注力占比指数",
|
|
|
+ max: 100
|
|
|
+ },
|
|
|
],
|
|
|
},
|
|
|
- series: [
|
|
|
- {
|
|
|
- name: "预算 vs 开销(Budget vs spending)",
|
|
|
- type: "radar",
|
|
|
- // areaStyle: {normal: {}},
|
|
|
- lineStyle: {
|
|
|
- color: "#D28885",
|
|
|
- },
|
|
|
- data: [
|
|
|
- {
|
|
|
- value: $params,
|
|
|
- // name: '实际开销(Actual Spending)'
|
|
|
- name: "专注力要素分析数据",
|
|
|
- },
|
|
|
- ],
|
|
|
+ series: [{
|
|
|
+ name: "预算 vs 开销(Budget vs spending)",
|
|
|
+ type: "radar",
|
|
|
+ // areaStyle: {normal: {}},
|
|
|
+ lineStyle: {
|
|
|
+ color: "#D28885",
|
|
|
},
|
|
|
- ],
|
|
|
+ data: [{
|
|
|
+ value: $params,
|
|
|
+ // name: '实际开销(Actual Spending)'
|
|
|
+ name: "专注力要素分析数据",
|
|
|
+ },],
|
|
|
+ },],
|
|
|
};
|
|
|
return $option;
|
|
|
}
|
|
@@ -433,30 +448,28 @@ export function getPieChartsOption($pie_datas) {
|
|
|
top: "20%",
|
|
|
data: $pie_datas["legends"],
|
|
|
},
|
|
|
- series: [
|
|
|
- {
|
|
|
- name: "访问来源",
|
|
|
- type: "pie",
|
|
|
- radius: ["40%", "70%"],
|
|
|
- avoidLabelOverlap: false,
|
|
|
+ series: [{
|
|
|
+ name: "访问来源",
|
|
|
+ type: "pie",
|
|
|
+ radius: ["40%", "70%"],
|
|
|
+ avoidLabelOverlap: false,
|
|
|
+ label: {
|
|
|
+ show: false,
|
|
|
+ position: "center",
|
|
|
+ },
|
|
|
+ right: "40%",
|
|
|
+ emphasis: {
|
|
|
label: {
|
|
|
- show: false,
|
|
|
- position: "center",
|
|
|
- },
|
|
|
- right: "40%",
|
|
|
- emphasis: {
|
|
|
- label: {
|
|
|
- show: true,
|
|
|
- fontSize: "30",
|
|
|
- fontWeight: "bold",
|
|
|
- },
|
|
|
- },
|
|
|
- labelLine: {
|
|
|
show: true,
|
|
|
+ fontSize: "30",
|
|
|
+ fontWeight: "bold",
|
|
|
},
|
|
|
- data: $pie_datas["datas"],
|
|
|
},
|
|
|
- ],
|
|
|
+ labelLine: {
|
|
|
+ show: true,
|
|
|
+ },
|
|
|
+ data: $pie_datas["datas"],
|
|
|
+ },],
|
|
|
};
|
|
|
return option;
|
|
|
}
|
|
@@ -511,14 +524,13 @@ export function filterPieData(datas) {
|
|
|
datas.forEach(($val, $index) => {
|
|
|
legends.push(
|
|
|
$att_region[$index]["min"] +
|
|
|
- "-" +
|
|
|
- $att_region[$index]["max"] +
|
|
|
- ":" +
|
|
|
- formatSeconds($val)
|
|
|
+ "-" +
|
|
|
+ $att_region[$index]["max"] +
|
|
|
+ ":" +
|
|
|
+ formatSeconds($val)
|
|
|
);
|
|
|
let _data = {
|
|
|
- name:
|
|
|
- $att_region[$index]["min"] +
|
|
|
+ name: $att_region[$index]["min"] +
|
|
|
"-" +
|
|
|
$att_region[$index]["max"] +
|
|
|
":" +
|
|
@@ -527,16 +539,20 @@ export function filterPieData(datas) {
|
|
|
};
|
|
|
datas[$index] = _data;
|
|
|
});
|
|
|
- return { datas, legends };
|
|
|
+ return {
|
|
|
+ datas,
|
|
|
+ legends
|
|
|
+ };
|
|
|
}
|
|
|
-// 受干扰次数 getInterfereChartsOption
|
|
|
+// 受干扰次数 getInterfereChartsOption 小乌龟
|
|
|
export function getInterfereChartsOption(interfere_datas) {
|
|
|
- console.log('干扰初始化',interfere_datas)
|
|
|
+ // console.log('干扰初始化', interfere_datas)
|
|
|
if (interfere_datas) {
|
|
|
let option = {
|
|
|
+ color: '#23CC92',
|
|
|
// 标题
|
|
|
title: {
|
|
|
- left: 1220,
|
|
|
+ // left: 1220,
|
|
|
},
|
|
|
// 提示
|
|
|
tooltip: {
|
|
@@ -545,38 +561,82 @@ export function getInterfereChartsOption(interfere_datas) {
|
|
|
type: "shadow",
|
|
|
},
|
|
|
},
|
|
|
-
|
|
|
-
|
|
|
+ grid: {
|
|
|
+ top: 20,
|
|
|
+ bottom: 40
|
|
|
+ },
|
|
|
// x轴数据显示
|
|
|
xAxis: {
|
|
|
- show: true,
|
|
|
|
|
|
- type: "category",
|
|
|
- // data: [1,2,3,4,5,6,7,8,9],
|
|
|
+ type: 'category',
|
|
|
+ boundaryGap: false,
|
|
|
+ data: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'],
|
|
|
splitNumber: 10,
|
|
|
- silent: false,
|
|
|
- splitLine: {
|
|
|
- show: false,
|
|
|
- },
|
|
|
- splitArea: {
|
|
|
- show: false,
|
|
|
- },
|
|
|
},
|
|
|
// y轴坐标显示
|
|
|
yAxis: {
|
|
|
- splitArea: {
|
|
|
- show: false,
|
|
|
- },
|
|
|
+
|
|
|
+ type: "value",
|
|
|
+ splitNumber: 5,
|
|
|
+ min: -100,
|
|
|
+ max: 0,
|
|
|
},
|
|
|
//数据配置项
|
|
|
- series: [
|
|
|
- {
|
|
|
- type: "bar",
|
|
|
- // type: "line",
|
|
|
- data: [1,2,3,4,5,6,7,8,9,99],
|
|
|
- large: true,
|
|
|
+ series: [{
|
|
|
+
|
|
|
+ data: interfere_datas,
|
|
|
+ type: "line",
|
|
|
+ large: true,
|
|
|
+ areaStyle: {}
|
|
|
+ },],
|
|
|
+ }
|
|
|
+ return option
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 能力调整 getAdjustmentChartsOption
|
|
|
+export function getAdjustmentChartsOption(interfere_datas) {
|
|
|
+ console.log('调整初始化', interfere_datas)
|
|
|
+ if (interfere_datas) {
|
|
|
+ let option = {
|
|
|
+ color: '#F3A100',
|
|
|
+ // 标题
|
|
|
+ title: {
|
|
|
+ // left: 1220,
|
|
|
+ },
|
|
|
+ grid: {
|
|
|
+ top: 10,
|
|
|
+ bottom: 10
|
|
|
+ },
|
|
|
+ // 提示
|
|
|
+ tooltip: {
|
|
|
+ trigger: "axis",
|
|
|
+ axisPointer: {
|
|
|
+ type: "shadow",
|
|
|
},
|
|
|
- ],
|
|
|
+ },
|
|
|
+ // x轴数据显示
|
|
|
+ xAxis: {
|
|
|
+ type: 'category',
|
|
|
+ boundaryGap: false,
|
|
|
+ // data: ['a2', '4', '6', '8', '10', '12', '14', '16', '18', '20']
|
|
|
+ },
|
|
|
+ // y轴坐标显示
|
|
|
+ yAxis: {
|
|
|
+ // x: "center",
|
|
|
+ type: "value",
|
|
|
+ splitNumber: 5,
|
|
|
+ min: 0,
|
|
|
+ max: 100,
|
|
|
+ },
|
|
|
+ //数据配置项
|
|
|
+ series: [{
|
|
|
+
|
|
|
+ data: interfere_datas,
|
|
|
+ type: "line",
|
|
|
+ large: true,
|
|
|
+ areaStyle: {}
|
|
|
+ },],
|
|
|
}
|
|
|
return option
|
|
|
}
|
|
@@ -588,9 +648,9 @@ export function timestampToTimeS(timestamp) {
|
|
|
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
|
|
var Y = date.getFullYear() + "-";
|
|
|
var M =
|
|
|
- (date.getMonth() + 1 < 10
|
|
|
- ? "0" + (date.getMonth() + 1)
|
|
|
- : date.getMonth() + 1) + "-";
|
|
|
+ (date.getMonth() + 1 < 10 ?
|
|
|
+ "0" + (date.getMonth() + 1) :
|
|
|
+ date.getMonth() + 1) + "-";
|
|
|
var D = date.getDate() + " ";
|
|
|
var h = date.getHours() + ":";
|
|
|
var m = date.getMinutes() + ":";
|
|
@@ -598,11 +658,33 @@ export function timestampToTimeS(timestamp) {
|
|
|
return Y + M + D + h + m + s;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+// 成绩记录干扰图表数据处理
|
|
|
+export function interfereAction($data) {
|
|
|
+ if ($data) {
|
|
|
+ let $interfereArr = []
|
|
|
+ let $objData = {};
|
|
|
+ // 自定义的对象 1200s 20分钟
|
|
|
+ for (var i = 0; i < 1200; i++) {
|
|
|
+ $objData[i] = 0;
|
|
|
+ }
|
|
|
+ var $newObj = Object.assign($objData, $data);
|
|
|
+ // 对象转数组
|
|
|
+ for (const key in $newObj) {
|
|
|
+ $interfereArr.push($newObj[key]);
|
|
|
+ }
|
|
|
+ return $interfereArr
|
|
|
+
|
|
|
+ } else {
|
|
|
+ console.log("无数据", $data)
|
|
|
+ }
|
|
|
+}
|
|
|
export default {
|
|
|
formatNumber,
|
|
|
formatTime,
|
|
|
getLineOption,
|
|
|
getBaseOption,
|
|
|
get_level_name,
|
|
|
- timestampToTimeS
|
|
|
+ timestampToTimeS,
|
|
|
+ interfereAction
|
|
|
};
|