|
|
@@ -1,5 +1,5 @@
|
|
|
<script setup lang="ts">
|
|
|
-import {onMounted, type Ref, watch} from "vue";
|
|
|
+import {onMounted, type Ref, watch,ref} from "vue";
|
|
|
import * as echarts from 'echarts';
|
|
|
import {inject} from "vue-demi";
|
|
|
|
|
|
@@ -18,14 +18,20 @@ const loadingStatus = inject('loadingStatus') as Ref<{
|
|
|
process:boolean,
|
|
|
total:boolean
|
|
|
}>;
|
|
|
-
|
|
|
+let noData = ref(false)
|
|
|
watch(currentEngagement,()=>{
|
|
|
if (currentEngagement.value === null){
|
|
|
return;
|
|
|
}
|
|
|
- let chartDom = document.getElementById('total-canvas');
|
|
|
- let myChart = echarts.getInstanceByDom(chartDom);
|
|
|
- drawChart(myChart);
|
|
|
+ noData.value = false
|
|
|
+ setTimeout(()=>{
|
|
|
+ let chartDom = document.getElementById('total-canvas');
|
|
|
+ let myChart = echarts.getInstanceByDom(chartDom);
|
|
|
+ if (!myChart){
|
|
|
+ myChart = echarts.init(chartDom);
|
|
|
+ }
|
|
|
+ drawChart(myChart);
|
|
|
+ },0)
|
|
|
},{deep:true})
|
|
|
|
|
|
let data = []
|
|
|
@@ -42,6 +48,13 @@ function drawChart(chart: EChartsType){
|
|
|
.then((res:any) => {
|
|
|
// console.log(res);
|
|
|
if (res&&res.data&&res.data.code === 200){
|
|
|
+ noData.value = false
|
|
|
+ if (res.data.data.insertCount == 0 && res.data.data.longPauseCount == 0 && res.data.data.deleteCount == 0){
|
|
|
+ noData.value = true;
|
|
|
+ chart.hideLoading();
|
|
|
+ loadingStatus.value.total = false;
|
|
|
+ return
|
|
|
+ }
|
|
|
data = [
|
|
|
{ value: res.data.data.insertCount, name: '产出行为' },
|
|
|
{ value: res.data.data.longPauseCount, name: '停顿行为' },
|
|
|
@@ -89,6 +102,11 @@ function drawChart(chart: EChartsType){
|
|
|
chart.hideLoading();
|
|
|
loadingStatus.value.total = false;
|
|
|
}
|
|
|
+ else{
|
|
|
+ noData.value = true;
|
|
|
+ chart.hideLoading();
|
|
|
+ loadingStatus.value.total = false;
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
onMounted(()=>{
|
|
|
@@ -102,9 +120,12 @@ onMounted(()=>{
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
-<div id="total-canvas" class="canvas-container">
|
|
|
+ <div id="total-canvas" class="canvas-container" v-if="!noData">
|
|
|
|
|
|
-</div>
|
|
|
+ </div>
|
|
|
+ <div class="canvas-container" v-else>
|
|
|
+ <el-empty description="暂无数据"/>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<style scoped>
|