|
|
@@ -4,6 +4,7 @@ import * as echarts from 'echarts';
|
|
|
import {inject} from "vue-demi";
|
|
|
import useApis from "@/apis";
|
|
|
import type {EChartsType} from "echarts";
|
|
|
+import {ElMessage} from "element-plus";
|
|
|
const props = defineProps<{
|
|
|
assignmentId:number,
|
|
|
splitNumber:number,
|
|
|
@@ -31,6 +32,14 @@ watch(currentEngagement,()=>{
|
|
|
let myChart = echarts.getInstanceByDom(chartDom);
|
|
|
getCanvasData(myChart);
|
|
|
});
|
|
|
+
|
|
|
+const maxPauseTime = inject('maxPauseTime') as Ref<number>;
|
|
|
+const loadingStatus = inject('loadingStatus') as Ref<{
|
|
|
+ edit:boolean,
|
|
|
+ pause:boolean,
|
|
|
+ process:boolean,
|
|
|
+ total:boolean
|
|
|
+}>;
|
|
|
function getCanvasData(chart:EChartsType){
|
|
|
if (!currentEngagement.value){
|
|
|
return;
|
|
|
@@ -38,6 +47,7 @@ function getCanvasData(chart:EChartsType){
|
|
|
let studentId = currentEngagement.value.studentId;
|
|
|
let assignmentId = currentEngagement.value.assignmentId;
|
|
|
chart.showLoading({text:'加载中'});
|
|
|
+ loadingStatus.value.pause = true;
|
|
|
apis.getBehaviorRecordAll(studentId,assignmentId)
|
|
|
.then((res:any) => {
|
|
|
if (res && res.data && res.data.code === 200){
|
|
|
@@ -46,6 +56,12 @@ function getCanvasData(chart:EChartsType){
|
|
|
let zeroCount =0;
|
|
|
pauseData.length = 0;
|
|
|
chartData.length = 0;
|
|
|
+ if (!rowData){
|
|
|
+ ElMessage.error('获取停顿数据失败')
|
|
|
+ loadingStatus.value.pause = false;
|
|
|
+ chart.hideLoading();
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (rowData.length>0){
|
|
|
limit.max = rowData[0].pauseTime;
|
|
|
}
|
|
|
@@ -55,6 +71,12 @@ function getCanvasData(chart:EChartsType){
|
|
|
if (item.startStamp){
|
|
|
startStamp = item.startStamp;
|
|
|
}
|
|
|
+ else {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (item.pauseTime < 0){
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (startStamp == 0){
|
|
|
zeroCount++;
|
|
|
}
|
|
|
@@ -68,7 +90,7 @@ function getCanvasData(chart:EChartsType){
|
|
|
chartData.push([clock,item.pauseTime])
|
|
|
limit.max = Math.max(limit.max,item.pauseTime);
|
|
|
})
|
|
|
-
|
|
|
+ maxPauseTime.value = limit.max;
|
|
|
let option = {
|
|
|
xAxis: {
|
|
|
type:'time',
|
|
|
@@ -123,6 +145,7 @@ function getCanvasData(chart:EChartsType){
|
|
|
};
|
|
|
chart.setOption( option);
|
|
|
chart.hideLoading();
|
|
|
+ loadingStatus.value.pause = false;
|
|
|
chart.on('datarangeselected', (params:any) => {
|
|
|
let range = params.selected as [number,number];
|
|
|
chartData = pauseData.filter((item:any) => {
|
|
|
@@ -133,193 +156,7 @@ function getCanvasData(chart:EChartsType){
|
|
|
});
|
|
|
}
|
|
|
})
|
|
|
- //测试用数据
|
|
|
|
|
|
- // productData = [[new Date('2025-07-26 00:0:20'),0],
|
|
|
- // [new Date('2025-07-26 00:0:40'),15],
|
|
|
- // [new Date('2025-07-26 00:1:0'),15],
|
|
|
- // [new Date('2025-07-26 00:1:20'),17],
|
|
|
- // [new Date('2025-07-26 00:1:40'),21],
|
|
|
- // [new Date('2025-07-26 00:2:0'),39],
|
|
|
- // [new Date('2025-07-26 00:2:20'),49],
|
|
|
- // [new Date('2025-07-26 00:2:40'),61],
|
|
|
- // [new Date('2025-07-26 00:3:0'),71],
|
|
|
- // [new Date('2025-07-26 00:3:20'),89],
|
|
|
- // [new Date('2025-07-26 00:3:40'),103],
|
|
|
- // [new Date('2025-07-26 00:4:0'),109],
|
|
|
- // [new Date('2025-07-26 00:4:20'),109],
|
|
|
- // [new Date('2025-07-26 00:4:40'),128],
|
|
|
- // [new Date('2025-07-26 00:5:0'),143],
|
|
|
- // [new Date('2025-07-26 00:5:20'),143],
|
|
|
- // [new Date('2025-07-26 00:5:40'),145],
|
|
|
- // [new Date('2025-07-26 00:6:0'),160],
|
|
|
- // [new Date('2025-07-26 00:6:20'),177],
|
|
|
- // [new Date('2025-07-26 00:6:40'),177],
|
|
|
- // [new Date('2025-07-26 00:7:0'),196],
|
|
|
- // [new Date('2025-07-26 00:7:20'),199],
|
|
|
- // [new Date('2025-07-26 00:7:40'),204],
|
|
|
- // [new Date('2025-07-26 00:8:0'),209],
|
|
|
- // [new Date('2025-07-26 00:8:20'),213],
|
|
|
- // [new Date('2025-07-26 00:8:40'),229],
|
|
|
- // [new Date('2025-07-26 00:9:0'),245],
|
|
|
- // [new Date('2025-07-26 00:9:20'),250],
|
|
|
- // [new Date('2025-07-26 00:9:40'),250],
|
|
|
- // [new Date('2025-07-26 00:10:0'),265],
|
|
|
- // [new Date('2025-07-26 00:10:20'),266],
|
|
|
- // [new Date('2025-07-26 00:10:40'),282],
|
|
|
- // [new Date('2025-07-26 00:11:0'),291],
|
|
|
- // [new Date('2025-07-26 00:11:20'),308],
|
|
|
- // [new Date('2025-07-26 00:11:40'),322],
|
|
|
- // [new Date('2025-07-26 00:12:0'),335],
|
|
|
- // [new Date('2025-07-26 00:12:20'),343],
|
|
|
- // [new Date('2025-07-26 00:12:40'),350],
|
|
|
- // [new Date('2025-07-26 00:13:0'),354],
|
|
|
- // [new Date('2025-07-26 00:13:20'),367],
|
|
|
- // [new Date('2025-07-26 00:13:40'),386],
|
|
|
- // [new Date('2025-07-26 00:14:0'),392],
|
|
|
- // [new Date('2025-07-26 00:14:20'),411],
|
|
|
- // [new Date('2025-07-26 00:14:40'),414],
|
|
|
- // [new Date('2025-07-26 00:15:0'),431],
|
|
|
- // [new Date('2025-07-26 00:15:20'),437],
|
|
|
- // [new Date('2025-07-26 00:15:40'),450],
|
|
|
- // [new Date('2025-07-26 00:16:0'),453],
|
|
|
- // [new Date('2025-07-26 00:16:20'),468],
|
|
|
- // [new Date('2025-07-26 00:16:40'),469],
|
|
|
- // [new Date('2025-07-26 00:17:0'),486],
|
|
|
- // [new Date('2025-07-26 00:17:20'),486],
|
|
|
- // [new Date('2025-07-26 00:17:40'),501],
|
|
|
- // [new Date('2025-07-26 00:18:0'),508],
|
|
|
- // [new Date('2025-07-26 00:18:20'),515],
|
|
|
- // [new Date('2025-07-26 00:18:40'),523],
|
|
|
- // [new Date('2025-07-26 00:19:0'),524],
|
|
|
- // [new Date('2025-07-26 00:19:20'),529],
|
|
|
- // [new Date('2025-07-26 00:19:40'),536],
|
|
|
- // [new Date('2025-07-26 00:20:0'),554],
|
|
|
- // [new Date('2025-07-26 00:20:20'),563],
|
|
|
- // [new Date('2025-07-26 00:20:40'),570],
|
|
|
- // [new Date('2025-07-26 00:21:0'),589],
|
|
|
- // [new Date('2025-07-26 00:21:20'),600],
|
|
|
- // [new Date('2025-07-26 00:21:40'),602],
|
|
|
- // [new Date('2025-07-26 00:22:0'),602],
|
|
|
- // [new Date('2025-07-26 00:22:20'),618],
|
|
|
- // [new Date('2025-07-26 00:22:40'),620],
|
|
|
- // [new Date('2025-07-26 00:23:0'),636],
|
|
|
- // [new Date('2025-07-26 00:23:20'),650],
|
|
|
- // [new Date('2025-07-26 00:23:40'),653],
|
|
|
- // [new Date('2025-07-26 00:24:0'),668],
|
|
|
- // [new Date('2025-07-26 00:24:20'),670],
|
|
|
- // [new Date('2025-07-26 00:24:40'),680],
|
|
|
- // [new Date('2025-07-26 00:25:0'),680],
|
|
|
- // [new Date('2025-07-26 00:25:20'),695],
|
|
|
- // [new Date('2025-07-26 00:25:40'),709],
|
|
|
- // [new Date('2025-07-26 00:26:0'),714],
|
|
|
- // [new Date('2025-07-26 00:26:20'),714],
|
|
|
- // [new Date('2025-07-26 00:26:40'),729],
|
|
|
- // [new Date('2025-07-26 00:27:0'),743],
|
|
|
- // [new Date('2025-07-26 00:27:20'),747],
|
|
|
- // [new Date('2025-07-26 00:27:40'),764],
|
|
|
- // [new Date('2025-07-26 00:28:0'),783],
|
|
|
- // [new Date('2025-07-26 00:28:20'),792],
|
|
|
- // [new Date('2025-07-26 00:28:40'),806],
|
|
|
- // [new Date('2025-07-26 00:29:0'),817],
|
|
|
- // [new Date('2025-07-26 00:29:20'),823],
|
|
|
- // [new Date('2025-07-26 00:29:40'),837],
|
|
|
- // [new Date('2025-07-26 00:30:0'),854],];
|
|
|
- // cursorData = [[new Date('2025-07-26 00:0:20'),0],
|
|
|
- // [new Date('2025-07-26 00:0:40'),15],
|
|
|
- // [new Date('2025-07-26 00:1:0'),15],
|
|
|
- // [new Date('2025-07-26 00:1:20'),17],
|
|
|
- // [new Date('2025-07-26 00:1:40'),21],
|
|
|
- // [new Date('2025-07-26 00:2:0'),39],
|
|
|
- // [new Date('2025-07-26 00:2:20'),49],
|
|
|
- // [new Date('2025-07-26 00:2:40'),61],
|
|
|
- // [new Date('2025-07-26 00:3:0'),71],
|
|
|
- // [new Date('2025-07-26 00:3:20'),89],
|
|
|
- // [new Date('2025-07-26 00:3:40'),103],
|
|
|
- // [new Date('2025-07-26 00:4:0'),109],
|
|
|
- // [new Date('2025-07-26 00:4:20'),109],
|
|
|
- // [new Date('2025-07-26 00:4:40'),128],
|
|
|
- // [new Date('2025-07-26 00:5:0'),143],
|
|
|
- // [new Date('2025-07-26 00:5:20'),143],
|
|
|
- // [new Date('2025-07-26 00:5:40'),145],
|
|
|
- // [new Date('2025-07-26 00:6:0'),160],
|
|
|
- // [new Date('2025-07-26 00:6:20'),177],
|
|
|
- // [new Date('2025-07-26 00:6:40'),177],
|
|
|
- // [new Date('2025-07-26 00:7:0'),196],
|
|
|
- // [new Date('2025-07-26 00:7:20'),199],
|
|
|
- // [new Date('2025-07-26 00:7:40'),204],
|
|
|
- // [new Date('2025-07-26 00:7:41'),150],
|
|
|
- // [new Date('2025-07-26 00:7:59'),158],
|
|
|
- // [new Date('2025-07-26 00:8:0'),212],
|
|
|
- // [new Date('2025-07-26 00:8:20'),213],
|
|
|
- // [new Date('2025-07-26 00:8:40'),229],
|
|
|
- // [new Date('2025-07-26 00:9:0'),245],
|
|
|
- // [new Date('2025-07-26 00:9:20'),250],
|
|
|
- // [new Date('2025-07-26 00:9:40'),250],
|
|
|
- // [new Date('2025-07-26 00:10:0'),265],
|
|
|
- // [new Date('2025-07-26 00:10:20'),266],
|
|
|
- // [new Date('2025-07-26 00:10:40'),282],
|
|
|
- // [new Date('2025-07-26 00:11:0'),291],
|
|
|
- // [new Date('2025-07-26 00:11:20'),308],
|
|
|
- // [new Date('2025-07-26 00:11:40'),322],
|
|
|
- // [new Date('2025-07-26 00:12:0'),335],
|
|
|
- // [new Date('2025-07-26 00:12:20'),343],
|
|
|
- // [new Date('2025-07-26 00:12:40'),350],
|
|
|
- // [new Date('2025-07-26 00:13:0'),354],
|
|
|
- // [new Date('2025-07-26 00:13:20'),367],
|
|
|
- // [new Date('2025-07-26 00:13:40'),386],
|
|
|
- // [new Date('2025-07-26 00:14:0'),392],
|
|
|
- // [new Date('2025-07-26 00:14:20'),411],
|
|
|
- // [new Date('2025-07-26 00:14:40'),414],
|
|
|
- // [new Date('2025-07-26 00:15:0'),431],
|
|
|
- // [new Date('2025-07-26 00:15:20'),437],
|
|
|
- // [new Date('2025-07-26 00:15:40'),450],
|
|
|
- // [new Date('2025-07-26 00:16:0'),453],
|
|
|
- // [new Date('2025-07-26 00:16:20'),468],
|
|
|
- // [new Date('2025-07-26 00:16:40'),469],
|
|
|
- // [new Date('2025-07-26 00:17:0'),486],
|
|
|
- // [new Date('2025-07-26 00:17:20'),486],
|
|
|
- // [new Date('2025-07-26 00:17:40'),501],
|
|
|
- // [new Date('2025-07-26 00:18:0'),508],
|
|
|
- // [new Date('2025-07-26 00:18:20'),515],
|
|
|
- // [new Date('2025-07-26 00:18:40'),523],
|
|
|
- // [new Date('2025-07-26 00:19:0'),524],
|
|
|
- // [new Date('2025-07-26 00:19:20'),529],
|
|
|
- // [new Date('2025-07-26 00:19:40'),536],
|
|
|
- // [new Date('2025-07-26 00:20:0'),554],
|
|
|
- // [new Date('2025-07-26 00:20:20'),563],
|
|
|
- // [new Date('2025-07-26 00:20:40'),570],
|
|
|
- // [new Date('2025-07-26 00:21:0'),589],
|
|
|
- // [new Date('2025-07-26 00:21:20'),600],
|
|
|
- // [new Date('2025-07-26 00:21:40'),602],
|
|
|
- // [new Date('2025-07-26 00:22:0'),602],
|
|
|
- // [new Date('2025-07-26 00:22:20'),618],
|
|
|
- // [new Date('2025-07-26 00:22:40'),620],
|
|
|
- // [new Date('2025-07-26 00:23:0'),636],
|
|
|
- // [new Date('2025-07-26 00:23:20'),650],
|
|
|
- // [new Date('2025-07-26 00:23:40'),653],
|
|
|
- // [new Date('2025-07-26 00:24:0'),668],
|
|
|
- // [new Date('2025-07-26 00:24:20'),670],
|
|
|
- // [new Date('2025-07-26 00:24:40'),680],
|
|
|
- // [new Date('2025-07-26 00:25:0'),680],
|
|
|
- // [new Date('2025-07-26 00:25:20'),695],
|
|
|
- // [new Date('2025-07-26 00:25:40'),709],
|
|
|
- // [new Date('2025-07-26 00:26:0'),714],
|
|
|
- // [new Date('2025-07-26 00:26:20'),714],
|
|
|
- // [new Date('2025-07-26 00:26:21'),500],
|
|
|
- // [new Date('2025-07-26 00:26:30'),515],
|
|
|
- // [new Date('2025-07-26 00:26:39'),515],
|
|
|
- // [new Date('2025-07-26 00:26:40'),729],
|
|
|
- // [new Date('2025-07-26 00:27:0'),743],
|
|
|
- // [new Date('2025-07-26 00:27:20'),747],
|
|
|
- // [new Date('2025-07-26 00:27:40'),764],
|
|
|
- // [new Date('2025-07-26 00:28:0'),783],
|
|
|
- // [new Date('2025-07-26 00:28:20'),792],
|
|
|
- // [new Date('2025-07-26 00:28:40'),806],
|
|
|
- // [new Date('2025-07-26 00:29:0'),817],
|
|
|
- // [new Date('2025-07-26 00:29:20'),823],
|
|
|
- // [new Date('2025-07-26 00:29:40'),837],
|
|
|
- // [new Date('2025-07-26 00:30:0'),854],];
|
|
|
}
|
|
|
onMounted(()=>{
|
|
|
let chartDom = document.getElementById('pause-canvas');
|