From 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 04 三月 2025 08:39:55 +0800
Subject: [PATCH] 修改作业等级名称

---
 src/views/riskWarningSys/warningBigScreen/components/message.vue |  100 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 74 insertions(+), 26 deletions(-)

diff --git a/src/views/riskWarningSys/warningBigScreen/components/message.vue b/src/views/riskWarningSys/warningBigScreen/components/message.vue
index d075b5d..f15d59f 100644
--- a/src/views/riskWarningSys/warningBigScreen/components/message.vue
+++ b/src/views/riskWarningSys/warningBigScreen/components/message.vue
@@ -1,80 +1,128 @@
 <template>
 	<div class="charts-cont">
 		<div class="message">
-			<dv-scroll-board ref="scrollBoard" :config="config" style="width:100%;height:100%" @mouseover="mouseoverHandler" @click="clickHandler" />
+			<dv-scroll-board ref="scrollBoard" :config="config" style="width:100%;height:100%;cursor: pointer" @mouseover="mouseoverHandler" @click="clickHandler" />
 		</div>
 	</div>
 </template>
 
 <script lang="ts">
-	import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted} from 'vue';
+	import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted, watchEffect} 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 { useRouter } from 'vue-router'
 	import type { FormInstance, FormRules } from 'element-plus'
 	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
 	import * as echarts from 'echarts';
 	import '/@/theme/bigScreen.css'
-
+	import {useScreenTheme} from "/@/stores/screenTheme"
+  import {riskWarningApi} from "/@/api/riskWarning";
 
 	interface stateType {
+    reportData: []
+		config: object
 	}
 	export default defineComponent({
-		name: 'profession',
+		name: 'message',
 		components: {},
 		props:{
-			size: Number
+			size: Number,
+			theme: Boolean
 		},
-		setup(props) {
+		setup(props,context) {
+			const screenThemes = useScreenTheme()
+			const { screenTheme }  = storeToRefs(screenThemes);
 			const userInfo = useUserInfo()
 			const { userInfos } = storeToRefs(userInfo);
+			const router = useRouter();
 			const pro = ref("eChartPro" + Date.now() + Math.random())
 			const state = reactive<stateType>({
+        reportData: [],
 				config:{
-					header: ['消息列表', '同比'],
-					data: [
-						['一月预警消息SPI报告', '↑ 94%'],
-						['二月预警消息SPI报告', '↑ 94%'],
-						['三月预警消息SPI报告', '↑ 94%'],
-						['四月预警消息SPI报告', '↑ 94%'],
-						['五月预警消息SPI报告', '↑ 94%'],
-						['六月预警消息SPI报告', '↑ 94%'],
-						['七月预警消息SPI报告', '↑ 94%'],
-						['八月预警消息SPI报告', '↑ 94%'],
-						['九月预警消息SPI报告', '↑ 94%'],
-						['十月预警消息SPI报告', '↑ 94%'],
-						['十一月预警消息SPI报告', '↑ 94%'],
-						['十二月预警消息SPI报告', '↑ 94%']
-					],
-					index: true,
-					columnWidth: [60, 220],
-					align: ['center','center','center'],
+					header: ['消息列表','同比'],
+					data: [],
+					align: ['left'],
 					headerBGC: '#0049af',
 					oddRowBGC: 'none',
+          index: true,
+          columnWidth: [55,250],
 					evenRowBGC: 'rgba(57,122,206,.1)',
 					indexHeader: '序号',
 					rowNum: fontSize(5)
 				}
 			})
 
+      const getReport = async () => {
+        let res = await riskWarningApi().getAllReport();
+        if (res.data.code === '200') {
+          state.reportData = res.data.data
+          state.config.data = state.reportData.map(i=> {
+            if(i.yoy >= 0){
+              return [i.spiName,'<span style="color:#11feee">' + i.yoy + '%</span>']
+            }else{
+              return [i.spiName,'<span style="color:red">' + i.yoy + '%</span>']
+            }
+
+          })
+        } else {
+          ElMessage({
+            type: 'warning',
+            message: res.data.msg
+          });
+        }
+      }
+
 			const mouseoverHandler = (e: any) => {
-				console.log(e)
+
 			}
 
 			const clickHandler = (e: any) => {
-				console.log(e)
+				router.push({
+					path: 'screenPage',
+					query: {
+            num: 8,
+						rowIndex: e.rowIndex
+					}
+				})
+        context.emit('getData',e.rowIndex)
 			}
 
 			function fontSize(val){
 				let nowClientWidth = document.documentElement.clientWidth;
 				return val * (nowClientWidth/1920) * Number(props.size);
 			}
+			watchEffect(() => {
+				if(props.theme){
+					state.config.headerBGC =  '#0049af'
+					state.config.oddRowBGC =  'none'
+					state.config.evenRowBGC =  'rgba(57,122,206,.1)'
+				}else{
+					state.config.headerBGC =  '#333'
+					state.config.oddRowBGC =  '#888'
+					state.config.evenRowBGC =  '#999'
+				}
+			})
+
+			const getTheme =()=>{
+				if(screenTheme.value.isDark){
+					state.config.headerBGC =  '#0049af'
+					state.config.oddRowBGC =  'none'
+					state.config.evenRowBGC =  'rgba(57,122,206,.1)'
+				}else{
+					state.config.headerBGC =  '#333'
+					state.config.oddRowBGC =  '#888'
+					state.config.evenRowBGC =  '#999'
+				}
+			}
 
 			// 页面载入时执行方法
 			onMounted(() => {
+        getReport()
+				getTheme()
 			});
 
 			return {

--
Gitblit v1.9.2