From eafc031e3e6e48778d22b5455358273714944012 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期一, 05 九月 2022 09:53:16 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqt

---
 src/views/riskWarningSys/warningBigScreen/components/risk.vue |  341 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 341 insertions(+), 0 deletions(-)

diff --git a/src/views/riskWarningSys/warningBigScreen/components/risk.vue b/src/views/riskWarningSys/warningBigScreen/components/risk.vue
new file mode 100644
index 0000000..11c3cc1
--- /dev/null
+++ b/src/views/riskWarningSys/warningBigScreen/components/risk.vue
@@ -0,0 +1,341 @@
+<template>
+	<div class="charts-cont">
+		<div v-show="curValue===true" class="risk" :id="risk1"></div>
+		<div v-show="curValue===false" class="risk" :id="risk2"></div>
+	</div>
+</template>
+
+<script lang="ts">
+	import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted, nextTick, onBeforeUnmount} from 'vue';
+	import { storeToRefs } from 'pinia';
+	import { initBackEndControlRoutes } from '/@/router/backEnd';
+	import {useUserInfo} from "/@/stores/userInfo";
+	import { Session } from '/@/utils/storage';
+	import { Search } from '@element-plus/icons-vue'
+	import { ElMessage } from 'element-plus'
+	import type { FormInstance, FormRules } from 'element-plus'
+	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
+	import * as echarts from 'echarts';
+	import '/@/theme/bigScreen.css'
+
+
+	interface stateType {
+		curValue: boolean
+	}
+	export default defineComponent({
+		name: 'risk',
+		components: {},
+		props:{
+			size: Number,
+			month: Number
+		},
+		setup(props) {
+			const userInfo = useUserInfo()
+			const { userInfos } = storeToRefs(userInfo);
+			const risk1 = ref("eChartRisk1" + Date.now() + Math.random())
+			const risk2 = ref("eChartRisk2" + Date.now() + Math.random())
+			const state = reactive<stateType>({
+				curValue: true
+			})
+
+			const swi = setInterval(()=>{
+				state.curValue = !state.curValue
+				if(state.curValue == true){
+					nextTick(()=>{
+						initRisk1()
+					})
+				}else{
+					nextTick(()=>{
+						initRisk2()
+					})
+				}
+
+			},5000)
+
+			type EChartsOption = echarts.EChartsOption
+			// 隐患整改情况
+			const initRisk1 =()=>{
+				let dom = document.getElementById(risk1.value);
+				let myChart = echarts.init(dom);
+
+				let option: EChartsOption;
+
+				option = {
+					tooltip: {
+						trigger: 'axis',
+						axisPointer: {
+							// Use axis to trigger tooltip
+							type: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow'
+						}
+					},
+					legend: {
+						top: '1%',
+						left: 'center',
+						itemWidth: fontSize(10),
+						itemHeight: fontSize(8),
+						textStyle:{
+							color: '#fff',
+							fontSize: fontSize(12)
+						}
+					},
+					grid: {
+						left: '2%',
+						right: '4%',
+						bottom: '0',
+						containLabel: true
+					},
+					xAxis: {
+						type: 'category',
+						// data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+						data: ['企业总', 'A部门', 'B部门', 'C部门', 'D部门', 'E部门'],
+						axisLine:{
+							show: true,
+							lineStyle:{
+								color: '#fff'
+							}
+						},
+						axisLabel:{
+							color: '#fff'
+						}
+					},
+					yAxis: {
+						type: 'value',
+						axisLine:{
+							show: true,
+							lineStyle:{
+								type: 'dotted'
+							}
+						},
+						axisLabel:{
+							color: '#ccc'
+						},
+						splitLine:{
+							show: false
+						}
+					},
+					series: [
+						{
+							name: '可能造成死亡的',
+							type: 'bar',
+							stack: 'total',
+							label: {
+								show: false
+							},
+							emphasis: {
+								focus: 'series'
+							},
+							// data: [320, 302, 301, 334, 390, 330, 320, 301, 334, 390, 330, 320]
+							data: [320, 302, 301, 334, 390, 330],
+							barCategoryGap: '50%'
+						},
+						{
+							name: '可能造成重伤的',
+							type: 'bar',
+							stack: 'total',
+							label: {
+								show: false
+							},
+							emphasis: {
+								focus: 'series'
+							},
+							// data: [120, 132, 101, 134, 90, 230, 210, 132, 101, 134, 90, 230]
+							data: [120, 132, 101, 134, 90, 230],
+							barCategoryGap: '50%'
+						},
+						{
+							name: '可能造成轻伤的',
+							type: 'bar',
+							stack: 'total',
+							label: {
+								show: false
+							},
+							emphasis: {
+								focus: 'series'
+							},
+							// data: [220, 182, 191, 234, 290, 330, 310, 191, 234, 290, 330, 310]
+							data: [220, 182, 191, 234, 290, 330],
+							barCategoryGap: '50%'
+						}
+					]
+				};
+
+				option && myChart.setOption(option);
+				window.addEventListener("resize",function (){
+					myChart.resize();
+				});
+				echarts.init(document.getElementById(risk2.value)).dispose()
+			}
+
+			const initRisk2 =()=>{
+				let dom = document.getElementById(risk2.value);
+				let myChart = echarts.init(dom);
+
+				let option: EChartsOption;
+
+				option = {
+					tooltip: {
+						trigger: 'axis',
+						axisPointer: {
+							// Use axis to trigger tooltip
+							type: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow'
+						}
+					},
+					legend: {
+						top: '1%',
+						left: 'center',
+						itemWidth: fontSize(10),
+						itemHeight: fontSize(8),
+						textStyle:{
+							color: '#fff',
+							fontSize: fontSize(12)
+						}
+					},
+					grid: {
+						left: '2%',
+						right: '4%',
+						bottom: '0',
+						containLabel: true
+					},
+					xAxis: {
+						type: 'category',
+						// data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+						data: ['F部门', 'G部门', 'H部门', 'I部门', 'J部门', 'K部门'],
+						axisLine:{
+							show: true,
+							lineStyle:{
+								color: '#fff'
+							}
+						},
+						axisLabel:{
+							color: '#fff'
+						}
+					},
+					yAxis: {
+						type: 'value',
+						axisLine:{
+							show: true,
+							lineStyle:{
+								type: 'dotted'
+							}
+						},
+						axisLabel:{
+							color: '#ccc'
+						},
+						splitLine:{
+							show: false
+						}
+					},
+					series: [
+						{
+							name: '可能造成死亡的',
+							type: 'bar',
+							stack: 'total',
+							label: {
+								show: false
+							},
+							emphasis: {
+								focus: 'series'
+							},
+							// data: [320, 302, 301, 334, 390, 330, 320, 301, 334, 390, 330, 320]
+							data: [320, 301, 334, 390, 330, 320],
+							barCategoryGap: '50%'
+						},
+						{
+							name: '可能造成重伤的',
+							type: 'bar',
+							stack: 'total',
+							label: {
+								show: false
+							},
+							emphasis: {
+								focus: 'series'
+							},
+							// data: [120, 132, 101, 134, 90, 230, 210, 132, 101, 134, 90, 230]
+							data: [90, 230, 210, 132, 101, 134],
+							barCategoryGap: '50%'
+						},
+						{
+							name: '可能造成轻伤的',
+							type: 'bar',
+							stack: 'total',
+							label: {
+								show: false
+							},
+							emphasis: {
+								focus: 'series'
+							},
+							// data: [220, 182, 191, 234, 290, 330, 310, 191, 234, 290, 330, 310]
+							data: [290, 330, 310, 191, 234, 290],
+							barCategoryGap: '50%'
+						}
+					]
+				};
+
+				option && myChart.setOption(option);
+				window.addEventListener("resize",function (){
+					myChart.resize();
+				});
+				echarts.init(document.getElementById(risk1.value)).dispose()
+			}
+
+			function fontSize(val){
+				let nowClientWidth = document.documentElement.clientWidth;
+				return val * (nowClientWidth/1920) * Number(props.size);
+			}
+
+			// 页面载入时执行方法
+			onMounted(() => {
+				initRisk1();
+			});
+
+			onBeforeUnmount(() =>{
+				clearInterval(swi)
+			})
+
+			return {
+				risk1,
+				risk2,
+				Search,
+				fontSize,
+				...toRefs(state)
+			};
+		},
+	});
+</script>
+
+<style scoped lang="scss">
+	.charts-cont{
+		width: 100%;
+		height: 100%;
+		padding: 5% 5% 2%;
+		position: relative;
+
+		.risk{
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.home-container {
+		height: 100%;
+		overflow: hidden;
+		position: relative;
+		.el-row{
+			margin-bottom: 20px;
+		}
+		.el-row:last-child {
+			margin-bottom: 0;
+		}
+		.el-input{
+			width: 100% !important;
+		}
+		.el-date-editor::v-deep{
+			width: 100%;
+		}
+		.el-select{
+			width: 100%;
+		}
+		.el-cascader{
+			width: 100% !important;
+		}
+	}
+</style>

--
Gitblit v1.9.2