From d9d32b6627e75d945e2ab8709aa1a12a95305d82 Mon Sep 17 00:00:00 2001
From: bsw215583320 <baoshiwei121@163.com>
Date: 星期一, 26 六月 2023 13:11:23 +0800
Subject: [PATCH] 设备监控完善

---
 src/assets/images/dry/bg/3.jpg                   |    0 
 src/assets/images/dry/yaocai1.png                |    0 
 src/assets/images/dry/bg/4.jpg                   |    0 
 src/views/sys/login/LoginSelect.vue              |    2 
 src/assets/images/dry/yaocai/mohanlian.png       |    0 
 src/assets/images/dry/fanliao-N.gif              |    0 
 src/assets/images/dry/yaocai/baihuasheshecao.png |    0 
 src/views/dry/monitor/WorkShop.vue               |   61 
 src/assets/images/dry/fengxiangsheng-1.gif       |    0 
 src/assets/images/dry/yaocai/mohanlian1.png      |    0 
 src/assets/images/dry/guanmen1.gif               |    0 
 src/assets/images/dry/bg/2.jpg                   |    0 
 src/assets/images/dry/yaocai/sangbaipi1.png      |    0 
 src/assets/images/dry/zhuangwangban-1.gif        |    0 
 src/views/dry/bigScreen/BigEqp.vue               | 2216 ++++++++++++++++++
 src/assets/images/dry/chaiwangban-1.gif          |    0 
 src/views/dry/monitor/Eqp.vue                    |  791 ++++-
 src/router/routes/index.ts                       |   18 
 src/assets/images/dry/bg/1.jpg                   |    0 
 src/assets/images/dry/2.png                      |    0 
 src/assets/images/dry/chaiwangban-N.gif          |    0 
 src/assets/images/dry/kaimen-n.gif               |    0 
 src/assets/images/dry/bg/bg5.png                 |    0 
 .env.development                                 |    4 
 src/views/dry/bigScreen/BigWorkShop.vue          |   14 
 src/assets/images/dry/zanting.png                |    0 
 src/assets/images/dry/kaimen1.gif                |    0 
 src/views/dry/dataDefine/DryHerb.data.ts         |  170 
 src/assets/images/dry/yaocai/machixian.png       |    0 
 src/assets/images/dry/tmchaiwangban.gif          |    0 
 src/assets/images/dry/yaocai/yinyanghuo1.png     |    0 
 src/views/dry/bigScreen/BigEqp copy.vue          | 1921 ++++++++++++++++
 src/assets/images/dry/bg.png                     |    0 
 src/assets/images/dry/shangliao-1.gif            |    0 
 src/views/dry/monitor/Eqp2.vue                   | 1788 +++++++++++++++
 src/assets/images/dry/bg/7.jpg                   |    0 
 src/assets/images/dry/shangliao-N.gif            |    0 
 src/views/system/loginmini/MiniLogin.vue         |   26 
 src/assets/images/dry/chuliao-N.gif              |    0 
 src/assets/images/dry/tmfengxiangsheng.gif       |    0 
 src/assets/images/dry/bg/6.jpg                   |    0 
 src/assets/images/dry/yaocai/yaocai1.png         |    0 
 src/assets/images/dry/tmfanliao.gif              |    0 
 src/assets/images/dry/yaocai/sangbaipi.png       |    0 
 src/assets/images/dry/zhuangwangban-N.gif        |    0 
 src/main.ts                                      |    4 
 src/assets/images/dry/zhuangwangban.gif          |    0 
 src/assets/images/dry/bg/5.jpg                   |    0 
 src/assets/images/dry/tmrefeng2.gif              |    0 
 src/assets/images/dry/tmchuliao1.gif             |    0 
 package.json                                     |    6 
 src/assets/images/dry/yaocai/yinyanghuo.png      |    0 
 src/views/dry/monitor/Eqp1.vue                   |    0 
 53 files changed, 6,653 insertions(+), 368 deletions(-)

diff --git a/.env.development b/.env.development
index 4ec9fa7..8999449 100644
--- a/.env.development
+++ b/.env.development
@@ -5,7 +5,7 @@
 VITE_PUBLIC_PATH = /
 
 # 璺ㄥ煙浠g悊锛屾偍鍙互閰嶇疆澶氫釜 ,璇锋敞鎰忥紝娌℃湁鎹㈣绗�
-VITE_PROXY = [["/herb","http://192.168.19.168:9999"],["/upload","http://localhost:3300/upload"]]
+VITE_PROXY = [["/herb","http://jeecg-boot-gateway:9999"],["/upload","http://localhost:3300/upload"]]
 
 # 鎺у埗鍙颁笉杈撳嚭
 VITE_DROP_CONSOLE = false
@@ -14,7 +14,7 @@
 VITE_GLOB_API_URL=/herb
 
 #鍚庡彴鎺ュ彛鍏ㄨ矾寰勫湴鍧�(蹇呭~)
-VITE_GLOB_DOMAIN_URL=http://192.168.19.168:9999
+VITE_GLOB_DOMAIN_URL=http://jeecg-boot-gateway:9999
 
 # 鎺ュ彛鍓嶇紑
 VITE_GLOB_API_URL_PREFIX=
diff --git a/package.json b/package.json
index 1d4f973..c750b71 100644
--- a/package.json
+++ b/package.json
@@ -36,8 +36,10 @@
   "dependencies": {
     "@ant-design/colors": "^6.0.0",
     "@ant-design/icons-vue": "^6.1.0",
+    "@dataview/datav-vue3": "^0.0.0-test.1672506674342",
     "@iconify/iconify": "^2.2.1",
     "@jeecg/online": "3.4.4-RC",
+    "@kjgl77/datav-vue3": "^1.5.0",
     "@logicflow/core": "^1.1.13",
     "@logicflow/extension": "^1.1.13",
     "@vue/runtime-core": "^3.2.33",
@@ -97,6 +99,7 @@
     "@commitlint/config-conventional": "^16.2.1",
     "@iconify/json": "^2.1.30",
     "@purge-icons/generated": "^0.8.1",
+    "@rys-fe/vite-plugin-theme": "^0.8.6",
     "@types/codemirror": "^5.60.5",
     "@types/crypto-js": "^4.1.1",
     "@types/fs-extra": "^9.0.13",
@@ -107,9 +110,9 @@
     "@types/mockjs": "^1.0.6",
     "@types/node": "^17.0.25",
     "@types/nprogress": "^0.2.0",
+    "@types/pinyin": "^2.10.0",
     "@types/qrcode": "^1.4.2",
     "@types/qs": "^6.9.7",
-    "@types/pinyin": "^2.10.0",
     "@types/showdown": "^1.9.4",
     "@types/sortablejs": "^1.10.7",
     "@typescript-eslint/eslint-plugin": "^5.20.0",
@@ -172,7 +175,6 @@
     "vite-plugin-pwa": "^0.12.3",
     "vite-plugin-style-import": "^2.0.0",
     "vite-plugin-svg-icons": "^2.0.1",
-    "@rys-fe/vite-plugin-theme": "^0.8.6",
     "vite-plugin-vue-setup-extend": "^0.4.0",
     "vite-plugin-windicss": "^1.8.7",
     "vue-eslint-parser": "^8.3.0",
diff --git a/src/assets/images/dry/2.png b/src/assets/images/dry/2.png
new file mode 100644
index 0000000..09af2d6
--- /dev/null
+++ b/src/assets/images/dry/2.png
Binary files differ
diff --git a/src/assets/images/dry/bg.png b/src/assets/images/dry/bg.png
new file mode 100644
index 0000000..54aa045
--- /dev/null
+++ b/src/assets/images/dry/bg.png
Binary files differ
diff --git a/src/assets/images/dry/bg/1.jpg b/src/assets/images/dry/bg/1.jpg
new file mode 100644
index 0000000..890108f
--- /dev/null
+++ b/src/assets/images/dry/bg/1.jpg
Binary files differ
diff --git a/src/assets/images/dry/bg/2.jpg b/src/assets/images/dry/bg/2.jpg
new file mode 100644
index 0000000..631e710
--- /dev/null
+++ b/src/assets/images/dry/bg/2.jpg
Binary files differ
diff --git a/src/assets/images/dry/bg/3.jpg b/src/assets/images/dry/bg/3.jpg
new file mode 100644
index 0000000..43cfaf2
--- /dev/null
+++ b/src/assets/images/dry/bg/3.jpg
Binary files differ
diff --git a/src/assets/images/dry/bg/4.jpg b/src/assets/images/dry/bg/4.jpg
new file mode 100644
index 0000000..d556526
--- /dev/null
+++ b/src/assets/images/dry/bg/4.jpg
Binary files differ
diff --git a/src/assets/images/dry/bg/5.jpg b/src/assets/images/dry/bg/5.jpg
new file mode 100644
index 0000000..5f28364
--- /dev/null
+++ b/src/assets/images/dry/bg/5.jpg
Binary files differ
diff --git a/src/assets/images/dry/bg/6.jpg b/src/assets/images/dry/bg/6.jpg
new file mode 100644
index 0000000..ffa8280
--- /dev/null
+++ b/src/assets/images/dry/bg/6.jpg
Binary files differ
diff --git a/src/assets/images/dry/bg/7.jpg b/src/assets/images/dry/bg/7.jpg
new file mode 100644
index 0000000..872eedf
--- /dev/null
+++ b/src/assets/images/dry/bg/7.jpg
Binary files differ
diff --git a/src/assets/images/dry/bg/bg5.png b/src/assets/images/dry/bg/bg5.png
new file mode 100644
index 0000000..53d0186
--- /dev/null
+++ b/src/assets/images/dry/bg/bg5.png
Binary files differ
diff --git a/src/assets/images/dry/chaiwangban-1.gif b/src/assets/images/dry/chaiwangban-1.gif
new file mode 100644
index 0000000..c9a3377
--- /dev/null
+++ b/src/assets/images/dry/chaiwangban-1.gif
Binary files differ
diff --git a/src/assets/images/dry/chaiwangban-N.gif b/src/assets/images/dry/chaiwangban-N.gif
new file mode 100644
index 0000000..4ac03ae
--- /dev/null
+++ b/src/assets/images/dry/chaiwangban-N.gif
Binary files differ
diff --git a/src/assets/images/dry/chuliao-N.gif b/src/assets/images/dry/chuliao-N.gif
new file mode 100644
index 0000000..5266397
--- /dev/null
+++ b/src/assets/images/dry/chuliao-N.gif
Binary files differ
diff --git a/src/assets/images/dry/fanliao-N.gif b/src/assets/images/dry/fanliao-N.gif
new file mode 100644
index 0000000..b12eea8
--- /dev/null
+++ b/src/assets/images/dry/fanliao-N.gif
Binary files differ
diff --git a/src/assets/images/dry/fengxiangsheng-1.gif b/src/assets/images/dry/fengxiangsheng-1.gif
new file mode 100644
index 0000000..e04c675
--- /dev/null
+++ b/src/assets/images/dry/fengxiangsheng-1.gif
Binary files differ
diff --git a/src/assets/images/dry/guanmen1.gif b/src/assets/images/dry/guanmen1.gif
new file mode 100644
index 0000000..e6214b4
--- /dev/null
+++ b/src/assets/images/dry/guanmen1.gif
Binary files differ
diff --git a/src/assets/images/dry/kaimen-n.gif b/src/assets/images/dry/kaimen-n.gif
new file mode 100644
index 0000000..52ef015
--- /dev/null
+++ b/src/assets/images/dry/kaimen-n.gif
Binary files differ
diff --git a/src/assets/images/dry/kaimen1.gif b/src/assets/images/dry/kaimen1.gif
new file mode 100644
index 0000000..2dfcfbc
--- /dev/null
+++ b/src/assets/images/dry/kaimen1.gif
Binary files differ
diff --git a/src/assets/images/dry/shangliao-1.gif b/src/assets/images/dry/shangliao-1.gif
new file mode 100644
index 0000000..105f046
--- /dev/null
+++ b/src/assets/images/dry/shangliao-1.gif
Binary files differ
diff --git a/src/assets/images/dry/shangliao-N.gif b/src/assets/images/dry/shangliao-N.gif
new file mode 100644
index 0000000..45005f8
--- /dev/null
+++ b/src/assets/images/dry/shangliao-N.gif
Binary files differ
diff --git a/src/assets/images/dry/tmchaiwangban.gif b/src/assets/images/dry/tmchaiwangban.gif
new file mode 100644
index 0000000..4ac03ae
--- /dev/null
+++ b/src/assets/images/dry/tmchaiwangban.gif
Binary files differ
diff --git a/src/assets/images/dry/tmchuliao1.gif b/src/assets/images/dry/tmchuliao1.gif
new file mode 100644
index 0000000..e904d8f
--- /dev/null
+++ b/src/assets/images/dry/tmchuliao1.gif
Binary files differ
diff --git a/src/assets/images/dry/tmfanliao.gif b/src/assets/images/dry/tmfanliao.gif
new file mode 100644
index 0000000..b12eea8
--- /dev/null
+++ b/src/assets/images/dry/tmfanliao.gif
Binary files differ
diff --git a/src/assets/images/dry/tmfengxiangsheng.gif b/src/assets/images/dry/tmfengxiangsheng.gif
new file mode 100644
index 0000000..e04c675
--- /dev/null
+++ b/src/assets/images/dry/tmfengxiangsheng.gif
Binary files differ
diff --git a/src/assets/images/dry/tmrefeng2.gif b/src/assets/images/dry/tmrefeng2.gif
new file mode 100644
index 0000000..b6e9fa0
--- /dev/null
+++ b/src/assets/images/dry/tmrefeng2.gif
Binary files differ
diff --git a/src/assets/images/dry/yaocai/baihuasheshecao.png b/src/assets/images/dry/yaocai/baihuasheshecao.png
new file mode 100644
index 0000000..494e0be
--- /dev/null
+++ b/src/assets/images/dry/yaocai/baihuasheshecao.png
Binary files differ
diff --git a/src/assets/images/dry/yaocai/machixian.png b/src/assets/images/dry/yaocai/machixian.png
new file mode 100644
index 0000000..5b79945
--- /dev/null
+++ b/src/assets/images/dry/yaocai/machixian.png
Binary files differ
diff --git a/src/assets/images/dry/yaocai/mohanlian.png b/src/assets/images/dry/yaocai/mohanlian.png
new file mode 100644
index 0000000..e76a9e1
--- /dev/null
+++ b/src/assets/images/dry/yaocai/mohanlian.png
Binary files differ
diff --git a/src/assets/images/dry/yaocai/mohanlian1.png b/src/assets/images/dry/yaocai/mohanlian1.png
new file mode 100644
index 0000000..2abfa03
--- /dev/null
+++ b/src/assets/images/dry/yaocai/mohanlian1.png
Binary files differ
diff --git a/src/assets/images/dry/yaocai/sangbaipi.png b/src/assets/images/dry/yaocai/sangbaipi.png
new file mode 100644
index 0000000..188f673
--- /dev/null
+++ b/src/assets/images/dry/yaocai/sangbaipi.png
Binary files differ
diff --git a/src/assets/images/dry/yaocai/sangbaipi1.png b/src/assets/images/dry/yaocai/sangbaipi1.png
new file mode 100644
index 0000000..748e829
--- /dev/null
+++ b/src/assets/images/dry/yaocai/sangbaipi1.png
Binary files differ
diff --git a/src/assets/images/dry/yaocai/yaocai1.png b/src/assets/images/dry/yaocai/yaocai1.png
new file mode 100644
index 0000000..b969740
--- /dev/null
+++ b/src/assets/images/dry/yaocai/yaocai1.png
Binary files differ
diff --git a/src/assets/images/dry/yaocai/yinyanghuo.png b/src/assets/images/dry/yaocai/yinyanghuo.png
new file mode 100644
index 0000000..bd88ed9
--- /dev/null
+++ b/src/assets/images/dry/yaocai/yinyanghuo.png
Binary files differ
diff --git a/src/assets/images/dry/yaocai/yinyanghuo1.png b/src/assets/images/dry/yaocai/yinyanghuo1.png
new file mode 100644
index 0000000..19fad9c
--- /dev/null
+++ b/src/assets/images/dry/yaocai/yinyanghuo1.png
Binary files differ
diff --git a/src/assets/images/dry/yaocai1.png b/src/assets/images/dry/yaocai1.png
new file mode 100644
index 0000000..b969740
--- /dev/null
+++ b/src/assets/images/dry/yaocai1.png
Binary files differ
diff --git a/src/assets/images/dry/zanting.png b/src/assets/images/dry/zanting.png
new file mode 100644
index 0000000..6d9b552
--- /dev/null
+++ b/src/assets/images/dry/zanting.png
Binary files differ
diff --git a/src/assets/images/dry/zhuangwangban-1.gif b/src/assets/images/dry/zhuangwangban-1.gif
new file mode 100644
index 0000000..b54a403
--- /dev/null
+++ b/src/assets/images/dry/zhuangwangban-1.gif
Binary files differ
diff --git a/src/assets/images/dry/zhuangwangban-N.gif b/src/assets/images/dry/zhuangwangban-N.gif
new file mode 100644
index 0000000..8992c07
--- /dev/null
+++ b/src/assets/images/dry/zhuangwangban-N.gif
Binary files differ
diff --git a/src/assets/images/dry/zhuangwangban.gif b/src/assets/images/dry/zhuangwangban.gif
index e2e1e55..1fd022b 100644
--- a/src/assets/images/dry/zhuangwangban.gif
+++ b/src/assets/images/dry/zhuangwangban.gif
Binary files differ
diff --git a/src/main.ts b/src/main.ts
index 5fe8d56..b0b58a7 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -20,7 +20,7 @@
 import { setupStore } from '/@/store'
 // 娉ㄥ唽online妯″潡lib
 import { registerPackages } from '/@/utils/monorepo/registerPackages'
-
+import DataVVue3 from '@kjgl77/datav-vue3'
 // 鍦ㄦ湰鍦板紑鍙戜腑寮曞叆鐨�,浠ユ彁楂樻祻瑙堝櫒鍝嶅簲閫熷害
 if (import.meta.env.DEV) {
 	import('ant-design-vue/dist/antd.less')
@@ -64,7 +64,7 @@
 
 	// 褰撹矾鐢卞噯澶囧ソ鏃跺啀鎵ц鎸傝浇( https://next.router.vuejs.org/api/#isready)
 	await router.isReady()
-
+	app.use(DataVVue3)
 	// 鎸傝浇搴旂敤
 	app.mount('#app', true)
 }
diff --git a/src/router/routes/index.ts b/src/router/routes/index.ts
index b31d73a..a040930 100644
--- a/src/router/routes/index.ts
+++ b/src/router/routes/index.ts
@@ -39,6 +39,22 @@
 	},
 }
 
+export const BigScreen: AppRouteRecordRaw = {
+	path: '/bigScreen',
+	name: 'BigScreen',
+	component: () => import('/@/views/dry/bigScreen/BigWorkShop.vue'),
+	meta: {
+		title: t('big.screen.workshop'),
+	},
+}
+export const BigEqp: AppRouteRecordRaw = {
+	path: '/bigEqp',
+	name: 'BigEqp',
+	component: () => import('/@/views/dry/bigScreen/BigEqp.vue'),
+	meta: {
+		title: t('big.screen.eqp'),
+	},
+}
 //update-begin---author:wangshuai ---date:20220629  for锛歛uth2鐧诲綍椤甸潰璺敱------------
 export const Oauth2LoginRoute: AppRouteRecordRaw = {
 	path: '/oauth2-app/login',
@@ -66,4 +82,4 @@
 }
 
 // Basic routing without permission
-export const basicRoutes = [LoginRoute, RootRoute, ...mainOutRoutes, REDIRECT_ROUTE, PAGE_NOT_FOUND_ROUTE, TokenLoginRoute, Oauth2LoginRoute]
+export const basicRoutes = [LoginRoute, RootRoute, ...mainOutRoutes, REDIRECT_ROUTE, PAGE_NOT_FOUND_ROUTE, TokenLoginRoute, Oauth2LoginRoute,BigScreen,BigEqp]
diff --git a/src/views/dry/bigScreen/BigEqp copy.vue b/src/views/dry/bigScreen/BigEqp copy.vue
new file mode 100644
index 0000000..988f06c
--- /dev/null
+++ b/src/views/dry/bigScreen/BigEqp copy.vue
@@ -0,0 +1,1921 @@
+<template>
+    <dv-full-screen-container>
+	<div ref="domRef"   class="eqpBox">
+		<div class="eqpRow">
+			<div class="eqpImage"  :style="{'background-position':position + 'px'}">
+				
+				<div class="leftEqp" @click="toggleDom" >
+					<div style="width: 350px;  ">
+					<div class="herbInfo">
+						
+							<dv-border-box7 class="curEqp">
+								<div class="eqpName" style="padding: 30px">
+									<div class="mainInfo" style="font-size: 26px">{{ eqp.name }}</div>
+									<div class="subhead">{{ eqp.type }}</div>
+									<dv-decoration-1 style="width:300px;height:90px; margin-left: 20px;" />
+                                    <!-- 璁惧锛歿{ eqp.name }}</div>
+								<div class="eqpName">鍨嬪彿锛歿{ eqp.type }}</div> -->
+								</div>
+							</dv-border-box7>
+							<dv-border-box7 class="curHerb">
+								<div class="eqpName" style="margin-left: 176px; height: 190px">
+									<div class="mainInfo" style="font-size: 26px">{{ realData?.herbName }}</div>
+									<div class="subhead">骞茬嚗閰嶆柟</div>
+								</div>
+								<div class="formula">
+									<div class="formulaItem">
+										<Icon style="color: powderblue" icon="icon-park-twotone:box" :size="35" />
+										<div>
+											<div class="mainInfo2">{{ realData?.feed }}绛�</div>
+											<div class="subhead2">鎶曟枡閲�</div>
+										</div>
+									</div>
+									<div class="formulaItem">
+										<Icon style="color: red" icon="bx:wind" :size="35" />
+										<div>
+											<div class="mainInfo2">{{ realData?.windTemp }}掳C</div>
+											<div class="subhead2">鐑</div>
+										</div>
+									</div>
+									<div class="formulaItem">
+										<Icon style="color: green" icon="tabler:target-arrow" :size="35" />
+										<div>
+											<div class="mainInfo2">{{ realData?.target }}%</div>
+											<div class="subhead2">鐩爣</div>
+										</div>
+									</div>
+								</div>
+								<!-- <div class="eqpName">{{ realData?.herbName }}</div>
+								<div class="eqpName">{{ realData?.feed }} 绛�</div> -->
+							</dv-border-box7>
+						</div>
+						<dv-border-box7 class="infoChart">
+							<div class="chartTittle">鍚按鐜�</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 50%">
+										<div class="centerText">
+											<div class="mainInfo3"
+												><span>{{ realData?.target }}</span
+												>%
+											</div>
+											<div class="subhead2">鐩爣鍚按鐜�</div>
+										</div>
+									</div>
+									<div class="center" style="height: 50%">
+										<div>
+											<div class="mainInfo3"
+												><span>{{ realData?.initial }}</span
+												>%</div
+											>
+											<div class="subhead2">鏉ユ枡鍚按鐜�</div>
+										</div>
+									</div>
+								</div>
+								<div id="moisture" style="width: 170px; height: 170px"></div>
+							</div>
+							<div class="subhead2" style="margin-top: -37px; padding-left: 172px; font-weight: bold;">瀹炴椂鍚按鐜�</div>
+						</dv-border-box7>
+						<!-- <dv-border-box7 class="infoChart" style="margin-left: 0px;">
+							<div class="chartTittle">椋庢満棰戠巼</div>
+							<div class="outDiv" style="padding-top: 10px">
+								<div id="fanFreq" style="width: 240px; height: 240px"></div>
+							</div>
+						</dv-border-box7> -->
+				</div>
+					<dv-border-box7 class="leftTop">
+						<div class="leftTop0">
+						<div class="leftTop1">
+							<Icon icon="emojione:hourglass-with-flowing-sand" :size="50" />
+							<div>
+								<div class="mainInfo">{{ realData?.remain | 0 }}min</div>
+								<div class="subhead">鍓╀綑鏃堕棿</div>
+							</div>
+						</div>
+						<div class="leftTop1">
+							<!-- <Icon icon="mdi:chart-finance" :size="50" />
+							<div>
+								<div class="mainInfo">98 %</div>
+								<div class="subhead">骞茬嚗鏁堢巼</div>
+							</div> -->
+						</div>
+						<div class="leftTop3" :style="{ 'background-image': 'url(/src/assets/images/dry/' + realData?.gif + '.gif)' }"></div>
+						<div class="outDiv eqpStatus">
+							<div
+								style="
+									font-size: 28px;
+									margin-top: 190px;
+									color: white;
+									background-color: #1595ea;
+									height: 60px;
+									width: 180px;
+									line-height: 60px;
+									text-align: center;
+									border-radius: 5px;
+									font-weight: bold;
+								"
+							>
+								姝e湪骞茬嚗
+							</div>
+							<div
+								class="eqpInfoText blingbling"
+								style="
+									position: absolute;
+									font-size: 30px;
+									max-height: 200px;
+									max-width: 720px;
+									border-radius: 10px;
+									background-color: #ce0000;
+									color: white;
+									padding: 10px;
+								"
+							>
+								<div class="outDiv">
+									<div><Icon icon="bx:error" :size="30" /> </div>
+									<div><span> 鏈変竴涓晠闅滐紝璇锋鏌ユ満鍣ㄣ��</span></div>
+								</div>
+							</div>
+						</div>
+						</div>
+					</dv-border-box7>
+					<dv-border-box7 class="infoChart">
+							<div class="chartTittle">椋庣娓╁害</div>
+							<div class="outDiv">
+								<div id="bellowsTemp" style="width: 230px; height: 230px">
+									<Icon icon="emojione:hourglass-with-flowing-sand" :size="50" />
+								</div>
+							</div>
+						</dv-border-box7>
+					<dv-border-box7 class="leftMid">
+						<div id="efficiencyLine" style="width: 848px; height: 190px"></div>
+						<div style="height: 10px; display: flex; width: 848px; padding: 0 60px; justify-content: space-between">
+							<div style="width: 100px; height: 20px">0 min</div>
+							<div style="width: 100px; height: 20px; text-align: right">{{ realData?.totalTime | 0 }} min</div>
+						</div>
+						<div id="progressBar" style="width: 848px; height: 80px"></div>
+					</dv-border-box7>
+				
+					<!-- <div class="outDiv">
+						<div style="height: 100px; width: 400px">
+							<Progress
+								:stroke-color="{
+									from: '#108ee9',
+									to: '#87d068',
+								}"
+								:percent="realData?.percent"
+								status="active"
+								:show-info="false"
+							/>
+							<div style="padding-top: 10px; display: flex; justify-content: space-between; font-weight: bold">
+								<span>骞茬嚗 52 Min</span>
+								<span>棰勮 120 Min</span>
+							</div>
+						</div>
+					</div> -->
+				</div>
+				<div class="rightInfo">
+					<div class="rightTop">
+						
+						<dv-border-box7 class="tempMoisChart">
+							<div :id="'moisChart'" style="width: 690px; height: 420px"></div>
+						</dv-border-box7>
+					</div>
+					<div class="rightTwo">
+
+
+						<dv-border-box7 class="infoChart">
+							<div class="chartTittle">
+								骞茬嚗鏁堢巼(kg/h)
+								<div class="rightLabel">
+									<div class="label good">&gt;{{ standard.xiaolv }} 浼� </div>
+									<div class="label bad">&lt;{{ standard.xlMin }} 宸�</div>
+								</div>
+							</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 50%">
+										<div class="centerText">
+											<div class="mainInfo3"
+												><span>{{ (realData?.originWeight - realData?.yield) | 0 }}</span
+												>kg
+											</div>
+											<div class="subhead2">姘村垎钂稿彂</div>
+										</div>
+									</div>
+									<div class="center" style="height: 50%">
+										<div>
+											<div class="mainInfo3">{{ realData?.dryTime | 0 }}min</div>
+											<div class="subhead2">骞茬嚗鐢ㄦ椂</div>
+										</div>
+									</div>
+								</div>
+								<div class="rightChart center">
+									<div class="center compareBar">
+										<div class="barTop">{{ standard.xiaolv }}</div>
+										<div class="barBack">
+											<div class="barDiv" :style="{ height: realData?.xlsHeight }"></div>
+										</div>
+										<div style="line-height: 20px">
+											棰濆畾
+											<br />
+											鏁堢巼
+										</div>
+									</div>
+									<div class="center compareBar">
+										<div class="barTop">{{ realData?.xiaolv | 0 }}</div>
+										<div class="barBack">
+											<div
+												class="barDiv"
+												:class="{ good: realData?.xlgood, bad: realData?.xlbad }"
+												:style="[realData?.xlrHeight && { height: realData?.xlrHeight }]"
+											>
+											</div>
+										</div>
+										<div style="line-height: 20px">
+											瀹炴椂
+											<br />
+											鏁堢巼
+										</div>
+									</div>
+								</div>
+							</div>
+						</dv-border-box7>
+						
+						<dv-border-box7 class="infoChart">
+							<div class="chartTittle"
+								>钂告苯娑堣��(m鲁/kg)
+								<div class="rightLabel">
+									<div class="label bad">&gt;{{ standard.zhengqi }} 宸�</div>
+									<div class="label good">&lt;{{ standard.zqMin }} 浼�</div>
+								</div>
+							</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 100%">
+										<div class="centerText">
+											<div class="mainInfo3"><span>{{realData?.steam}}</span>m鲁 </div>
+											<div class="subhead2">钂告苯鐢ㄩ噺</div>
+										</div>
+									</div>
+								</div>
+								<div class="rightChart center">
+									<div class="center compareBar">
+										<div class="barTop">{{standard.zhengqi}}</div>
+										<div class="barBack">
+											<div class="barDiv" :style="{ height: realData?.zqsHeight }"></div>
+										</div>
+										<div style="line-height: 20px">
+											棰濆畾
+											<br />
+											娑堣��
+										</div>
+									</div>
+									<div class="center compareBar">
+										<div class="barTop">{{realData?.zhengqi | 0 }}</div>
+										<div class="barBack">
+											<div class="barDiv" :class="{ good: realData?.zqgood, bad: realData?.zqbad }"
+												:style="[realData?.zqrHeight && { height: realData?.zqrHeight }]"> </div>
+										</div>
+										<div style="line-height: 20px">
+											瀹炴椂
+											<br />
+											娑堣��
+										</div>
+									</div>
+								</div>
+							</div>
+						</dv-border-box7>
+						<dv-border-box7 class="infoChart">
+							<div class="chartTittle">
+								<div> 鐢佃兘娑堣��(kw/h/kg)</div>
+								<div class="rightLabel">
+									<div class="label bad">&gt;{{ standard.dian }} 宸�</div>
+									<div class="label good">&lt;{{ standard.dMin }} 浼�</div>
+								</div>
+							</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 100%">
+										<div class="centerText">
+											<div class="mainInfo3"><span>{{realData?.watt}}</span>kw/h </div>
+											<div class="subhead2">鐢佃兘鐢ㄩ噺</div>
+										</div>
+									</div>
+								</div>
+								<div class="rightChart center">
+									<div class="center compareBar">
+										<div class="barTop">{{standard.dian}}</div>
+										<div class="barBack">
+											<div class="barDiv" :style="{ height: realData?.dnsHeight }"></div>
+										</div>
+										<div style="line-height: 20px">
+											棰濆畾
+											<br />
+											娑堣��
+										</div>
+									</div>
+									<div class="center compareBar">
+										<div class="barTop">{{realData?.dian | 0}}</div>
+										<div class="barBack">
+											<div class="barDiv" :class="{ good: realData?.dngood, bad: realData?.dnbad }"
+												:style="[realData?.dnrHeight && { height: realData?.dnrHeight }]"></div>
+										</div>
+										<div style="line-height: 20px">
+											瀹炴椂
+											<br />
+											娑堣��
+										</div>
+									</div>
+								</div>
+							</div>
+						</dv-border-box7>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</dv-full-screen-container>
+</template>
+
+<script setup lang="ts">
+  import { useFullscreen } from '@vueuse/core';
+	import { BorderBox7 as DvBorderBox7 } from '@kjgl77/datav-vue3'
+	import { router } from '/@/router'
+	import { onMounted, ref, onUnmounted } from 'vue'
+	import { Progress } from 'ant-design-vue'
+	import * as echarts from 'echarts'
+	import 'echarts-liquidfill'
+	import { Icon, IconPicker, SvgIcon } from '/@/components/Icon/index'
+	import { defHttp } from '/@/utils/http/axios'
+	import { queryById,listAll } from '../api/DryEquipment.api'
+	import { dryEquipment } from '../dataDefine/DryEquipment.data'
+	import { useUserStore } from '/@/store/modules/user'
+	const domRef = ref<Nullable<HTMLElement>>(null);
+		const { enter, toggle, exit, isFullscreen } = useFullscreen();
+
+const { toggle: toggleDom } = useFullscreen(domRef);
+	const Timer = ref()
+    const Timer2 = ref()
+	const marks = ref<Record<number, any>>({
+		0: '0掳C',
+		1: '',
+		2: '',
+		3: '',
+		4: '',
+		5: '',
+		6: '',
+		7: '',
+		8: '',
+		9: '',
+		10: '',
+		11: '',
+		12: '',
+		13: '',
+		14: '',
+		15: '',
+		16: '',
+		17: '',
+		18: '',
+		19: '',
+		20: '',
+		21: '',
+		22: '',
+		23: '',
+		24: '',
+		25: '25掳C',
+		26: '',
+		27: '',
+		28: '',
+		29: '',
+		30: '',
+		31: '',
+		32: '',
+		33: '',
+		34: '',
+		35: '',
+		36: '',
+		37: '',
+		38: '',
+		39: '',
+		40: '',
+		41: '',
+		42: '',
+		43: '',
+		44: '',
+		45: '',
+		46: '',
+		47: '',
+		48: '',
+		49: '',
+		50: '50掳C',
+		51: '',
+		52: '',
+		53: '',
+		54: '',
+		55: '',
+		56: '',
+		57: '',
+		58: '',
+		59: '',
+		60: '',
+		61: '',
+		62: '',
+		63: '',
+		64: '',
+		65: '',
+		66: '',
+		67: '',
+		68: '',
+		69: '',
+		70: '',
+		71: '',
+		72: '',
+		73: '',
+		74: '',
+		75: '75掳C',
+		76: '',
+		77: '',
+		78: '',
+		79: '',
+		80: '',
+		81: '',
+		82: '',
+		83: '',
+		84: '',
+		85: '',
+		86: '',
+		87: '',
+		88: '',
+		89: '',
+		90: '',
+		91: '',
+		92: '',
+		93: '',
+		94: '',
+		95: '',
+		96: '',
+		97: '',
+		98: '',
+		99: '',
+		100: '100掳C',
+	})
+	const eqps =  ref([] as dryEquipment[])
+    const eqp = ref({} as dryEquipment)
+    const eqpNum = ref(0)
+	const userStore = useUserStore()
+	const realData = ref({})
+	const standard = ref({
+		xiaolv: 220,
+		xlMin: 200,
+		zhengqi: 50,
+		zqMin: 45,
+		dian: 8,
+		dMin: 7.5,
+	})
+
+    const position = ref(1)
+	//realData.value.tempValue = [0, 100]
+	realData.value.mois = [0.5, 0.35, 0.2]
+	var moisChart: echarts.ECharts
+	var waterChart: echarts.ECharts
+
+	var bellowsTempChart: echarts.ECharts
+	var fanFreqChart: echarts.ECharts
+	var progressBarChart: echarts.ECharts
+	var efficiencyLineChart: echarts.ECharts
+
+	function initCharts() {
+		let domId = 'moisChart'
+		let chartDom: HTMLElement = document.getElementById(domId) as HTMLElement
+		let waterDom: HTMLElement = document.getElementById('moisture') as HTMLElement
+		let bellowsTempDom: HTMLElement = document.getElementById('bellowsTemp') as HTMLElement
+		let fanFreqDom: HTMLElement = document.getElementById('fanFreq') as HTMLElement
+		let progressBarDom: HTMLElement = document.getElementById('progressBar') as HTMLElement
+		let efficiencyLineDom: HTMLElement = document.getElementById('efficiencyLine') as HTMLElement
+		// let weightDom: HTMLElement = document.getElementById('weight') as HTMLElement
+		moisChart = echarts.init(chartDom)
+		waterChart = echarts.init(waterDom)
+		bellowsTempChart = echarts.init(bellowsTempDom)
+		fanFreqChart = echarts.init(fanFreqDom)
+		progressBarChart = echarts.init(progressBarDom)
+		efficiencyLineChart = echarts.init(efficiencyLineDom)
+
+		const option = {
+			color: ['#2C4D90', '#CE0000'],
+			title: {
+				text: '鍚按鐜�/娓╁害瓒嬪娍',
+				textStyle: {
+					color: '#fff',
+					fontSize: 15
+				},
+				
+			},
+			tooltip: {
+				trigger: 'axis',
+			},
+			grid: {
+				left: 50,
+				right: 70,
+				top: 50,
+				bottom: 60,
+			},
+			legend: {
+				right: 60,
+				textStyle: {
+					color: '#fff'
+				}
+			},
+			// toolbox: {
+			// 	show: true,
+			// 	feature: {
+			// 		dataZoom: {
+			// 			yAxisIndex: 'none',
+			// 		},
+			// 		dataView: { readOnly: false },
+			// 		magicType: { type: ['line', 'bar'] },
+			// 		restore: {},
+			// 		saveAsImage: {},
+			// 	},
+			// },
+			xAxis: {
+				type: 'value',
+				axisLabel:{
+					color: '#fff'
+				},
+				//boundaryGap: false,
+				// data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+				min: 0,
+				max: function (value) {
+					if (value.max < 100) {
+						return 100
+					} else {
+						return value.max
+					}
+				},
+			},
+			yAxis: {
+				type: 'value',
+				boundaryGap: ['10%', '10%'],
+				axisLabel:{
+					color: '#fff'
+				}
+				// min: 0,
+				// max: function (value) {
+				// 	if (value.max < 100) {
+				// 		return 100
+				// 	} else {
+				// 		return value.max
+				// 	}
+				// },
+			},
+			// yAxis: {
+			// 	type: 'value',
+			// 	axisLabel: {
+			// 		formatter: '{value} 掳C',
+			// 	},
+			// },
+			series: [
+				{
+					name: '鍚按鐜�',
+					type: 'line',
+					smooth: true,
+					symbol: 'none',
+					data: [
+						[1, 1],
+						[2, 2],
+					],
+					lineStyle: {
+						width: 1,
+					},
+					markLine: {
+						data: [{ type: 'average', name: 'Avg' }],
+					},
+				},
+				{
+					name: '娓╁害',
+					type: 'line',
+					smooth: true,
+					symbol: 'none',
+					data: [
+						[1, 10],
+						[2, 20],
+					],
+					lineStyle: {
+						width: 1,
+					},
+					// markLine: {
+					// 	data: [
+					// 		{ type: 'average', name: 'Avg' },
+					// 		[
+					// 			{
+					// 				symbol: 'none',
+					// 				x: '90%',
+					// 				yAxis: 'max',
+					// 			},
+					// 			{
+					// 				symbol: 'circle',
+					// 				label: {
+					// 					position: 'start',
+					// 					formatter: 'Max',
+					// 				},
+					// 				type: 'max',
+					// 				name: '鏈�楂樼偣',
+					// 			},
+					// 		],
+					// 	],
+					// },
+				},
+			],
+		}
+		const waterOption = {
+			series: [
+				{
+					type: 'liquidFill',
+					radius: '100%',
+					//waveAnimation: false,
+					amplitude: 3,
+					animationDuration: 5,
+					//animationDurationUpdate: 0,
+					data: [0.56,0.44,0.32],
+					shape:
+						'path://M828.817,706.209C828.817,881.725,686.98,1024,512,1024c-174.98,0-316.817-142.275-316.817-317.791C195.183,530.74,512,0,512,0s316.817,530.74,316.817,706.209z',
+					outline: {
+						show: false,
+					},
+					label: {
+						// formatter: function () {
+						// 	//console.log(`output->params`,params,mois.value)
+
+						// 	return (
+						// 		'' +
+						// 		// +'鍒濆'+(mois.value[0]*100).toFixed(2) + '%\n\n\n'
+						// 		(mois.value[1] * 100).toFixed(2) +
+						// 		'%'
+						// 		// + '\n\n\n鐩爣'+(mois.value[2]*100).toFixed(2) + '%'
+						// 	)
+						// },
+						fontSize: 20,
+						//position: ['50%',(100-mois.value[1]*100).toFixed(2) + '%'],
+					},
+				},
+			],
+		}
+
+		const bellowsOption = {
+			series: [
+				{
+					type: 'gauge',
+					center: ['50%', '60%'],
+					startAngle: 215,
+					endAngle: -35,
+					min: 0,
+					max: 80,
+					splitNumber: 8,
+					itemStyle: {
+						color: '#FFAB91',
+					},
+					progress: {
+						show: true,
+						width: 10,
+					},
+					pointer: {
+						show: false,
+					},
+					axisLine: {
+						lineStyle: {
+							width: 10,
+						},
+					},
+					axisTick: {
+						distance: -15,
+						splitNumber: 5,
+						length: 3,
+						lineStyle: {
+							width: 1,
+							color: '#999',
+						},
+					},
+					splitLine: {
+						distance: -18,
+						length: 6,
+						lineStyle: {
+							width: 2,
+							color: '#999',
+						},
+					},
+					axisLabel: {
+						distance: -13,
+						color: '#fff',
+						fontSize: 12,
+					},
+					anchor: {
+						show: false,
+					},
+					title: {
+						show: false,
+					},
+					detail: {
+						valueAnimation: true,
+						width: '60%',
+						lineHeight: 40,
+						borderRadius: 8,
+						offsetCenter: [0, '0%'],
+						fontSize: 20,
+						fontWeight: 'bolder',
+						formatter: '{value}掳C',
+						color: 'inherit',
+					},
+					data: [
+						{
+							value: 20,
+						},
+					],
+				},
+				{
+					type: 'gauge',
+					center: ['50%', '60%'],
+					startAngle: 215,
+					endAngle: -35,
+					min: 0,
+					max: 80,
+					itemStyle: {
+						color: '#FD7347',
+					},
+					progress: {
+						show: true,
+						width: 3,
+					},
+					pointer: {
+						show: false,
+					},
+					axisLine: {
+						show: false,
+					},
+					axisTick: {
+						show: false,
+					},
+					splitLine: {
+						show: false,
+					},
+					axisLabel: {
+						show: false,
+					},
+					detail: {
+						show: false,
+					},
+					data: [
+						{
+							value: 20,
+						},
+					],
+				},
+			],
+		}
+
+		const fanFreqOption = {
+			series: [
+				{
+					type: 'gauge',
+					progress: {
+						show: true,
+						width: 9,
+					},
+					axisLine: {
+						lineStyle: {
+							width: 9,
+						},
+					},
+					axisTick: {
+						show: false,
+					},
+					splitLine: {
+						distance: 3,
+						length: 4,
+						lineStyle: {
+							width: 1,
+							color: '#999',
+						},
+					},
+					axisLabel: {
+						distance: 15,
+						color: '#999',
+						fontSize: 10,
+					},
+					anchor: {
+						show: true,
+						showAbove: true,
+						size: 10,
+						itemStyle: {
+							borderWidth: 3,
+						},
+					},
+					title: {
+						show: false,
+					},
+					detail: {
+						valueAnimation: true,
+						fontSize: 20,
+						offsetCenter: [0, '70%'],
+						formatter: '{value}Hz',
+					},
+					data: [
+						{
+							value: 56,
+						},
+					],
+				},
+			],
+		}
+		// const weightOption = {
+		// 	// 		title: {
+		// 	//   text: 'Referer of a Website',
+		// 	//   subtext: 'Fake Data',
+		// 	//   left: 'center'
+		// 	// },
+		// 	color: ['#1595EA', '#2C4D90', '#FF7F7F'],
+		// 	tooltip: {
+		// 		trigger: 'item',
+		// 	},
+		// 	radius: [0, '85%'],
+		// 	// grid: {
+		// 	// 	top: 20,
+		// 	// 	left: 20,
+		// 	// 	right: 20,
+		// 	// 	bottom: 20,
+		// 	// },
+		// 	// legend: {
+		// 	// 	orient: 'vertical',
+		// 	// 	left: 'left',
+		// 	// },
+		// 	series: [
+		// 		{
+		// 			name: '閲嶉噺鏁版嵁',
+		// 			type: 'pie',
+		// 			radius: '50%',
+		// 			data: [
+		// 				{ value: 1048, name: '鍓╀綑閲嶉噺' },
+		// 				{ value: 735, name: '鐑樺幓閲嶉噺' },
+		// 			],
+		// 			label: {
+		// 				show: false,
+		// 			},
+		// 			labelLine: {
+		// 				show: false,
+		// 			},
+		// 			emphasis: {
+		// 				itemStyle: {
+		// 					shadowBlur: 10,
+		// 					shadowOffsetX: 0,
+		// 					shadowColor: 'rgba(0, 0, 0, 0.5)',
+		// 				},
+		// 			},
+		// 		},
+		// 	],
+		// }
+
+		const progressBarOption = {
+			// tooltip: {
+			// 	trigger: 'axis',
+			// 	axisPointer: {
+			// 		// Use axis to trigger tooltip
+			// 		type: 'shadow', // 'shadow' as default; can also be 'line' or 'shadow'
+			// 	},
+			// },
+			// color: [
+			// 	'#0653F6',
+			// 	// '#1B61E7',
+			// 	'#3673D5',
+			// 	// '#4A80C8',
+			// 	'#608FB8',
+			// 	// '#719BAD',
+			// 	'#82A6A1',
+			// 	// '#8DAD9A',
+			// 	'#9CB790',
+			// 	// '#A7BE88',
+			// 	'#B3C681',
+			// 	'#CAD671',
+			// 	'#DBE165',
+			// ],
+			animation: false, // 鍏抽棴鍔ㄧ敾
+			color: ['#397FD7', '#2D8CDE', '#239CE5', '#1DA4E8', '#14B2EF', '#0BC4FA', '#02D2FF', '#19EEFF', '#33FAFF', '#5EFFF8'],
+			grid: {
+				top: '12%',
+				left: '20',
+				right: '55',
+				bottom: '3%',
+				containLabel: true,
+			},
+			xAxis: {
+				min: 0,
+				max: 150,
+				show: false,
+				type: 'value',
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+			},
+			yAxis: {
+				show: false,
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+				type: 'category',
+				data: ['鏃堕棿'],
+			},
+			series: [
+				// {
+				// 	name: '绗竴闃舵',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	barWidth: 26,
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [30],
+				// },
+				// {
+				// 	name: '绗簩闃舵',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [30],
+				// },
+				// {
+				// 	name: 'Affiliate Ad',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [20],
+				// },
+				// {
+				// 	name: 'Video Ad',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [15],
+				// },
+				// {
+				// 	name: 'Search Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [10],
+				// },
+				// {
+				// 	name: 'df Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [5],
+				// },
+				// {
+				// 	name: 'df Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [5],
+				// },
+				// {
+				// 	name: 'df Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [
+				// 		{
+				// 			value: 35,
+				// 			itemStyle: {
+				// 				color: '#c0c0c0',
+				// 			},
+				// 		},
+				// 	],
+				// },
+			],
+		}
+
+		const efficiencyLineOption = {
+			title: {},
+			tooltip: {
+				trigger: 'axis',
+			},
+			grid: {
+				top: '20%',
+				left: '17',
+				right: '57',
+				bottom: '0%',
+				containLabel: true,
+			},
+			legend: {
+				textStyle: {
+					color: '#fff'
+				}
+			},
+			xAxis: {
+				show: false,
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+				type: 'value',
+				min: 0,
+				max: 150,
+				// data: [15, 15, 10, 7.5, 5, 2.5, 2.5, 1],
+			},
+			yAxis: {
+				show: false,
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+				type: 'value',
+				axisLabel: {
+					formatter: '{value} 掳C',
+				},
+			},
+			series: [
+				{
+					name: '骞茬嚗鏁堢巼',
+					type: 'line',
+					lineStyle: {
+						width: 1,
+					},
+					// [[15,10], [15,11], [10,6], [7.5,12], [5,12], [2.5,5], [2.5,9], [1,7]]
+					data: [
+						[0, 1],
+						[15, 10],
+						[45, 11],
+						[70, 6],
+					],
+					markPoint: {
+						data: [
+							{ type: 'max', name: 'Max' },
+							{ type: 'min', name: 'Min' },
+						],
+					},
+					// markLine: {
+					// 	data: [{ type: 'average', name: 'Avg' }],
+					// },
+				},
+			],
+		}
+
+		option && moisChart.setOption(option)
+		waterOption && waterChart.setOption(waterOption)
+		bellowsOption && bellowsTempChart.setOption(bellowsOption)
+		fanFreqOption && fanFreqChart.setOption(fanFreqOption)
+
+		progressBarOption && progressBarChart.setOption(progressBarOption)
+		efficiencyLineOption && efficiencyLineChart.setOption(efficiencyLineOption)
+	}
+
+	function queryEqp() {
+		queryById({ id: router.currentRoute.value.params.id }).then((res) => {
+			// console.log(`output->res`, res)
+			eqp.value = res
+			queryRealTime()
+			setTimeout(initCharts, 500)
+		})
+	}
+
+    function listAllEqp() {
+		listAll({ enable: 'Y' })
+			.then((result) => {
+				console.log(`output->result`, result)
+				eqps.value = result
+				queryRealTime()
+			setTimeout(initCharts, 500)
+				
+			})
+			.catch((err) => {
+				console.log(`output->err`, err)
+			})
+	}
+
+
+    var num = 0;
+
+
+    // function queryEqpsReal() {
+        
+    //     if (eqps.value.length > 0) {
+    //         var i = num%eqps.value.length
+    //         eqp.value = eqps[i]
+    //         console.log("777",i);
+    //         console.log("888",eqp.value);
+    //         queryRealTime()
+	// 		setTimeout(initCharts, 500)
+    //     }
+    //     num ++;
+    // }
+
+	function queryRealTime() {
+
+        if (eqp.value) {
+        eqp.value = eqps.value[eqpNum.value]
+        console.log("888",eqp.value);
+		let tenantId = 1003
+		let eqpCode = eqp.value.code
+		let queryRealTimeUrl = '/dry/real/getRealTimeData'
+		defHttp.get({ url: queryRealTimeUrl, params: { tenantid: tenantId, machineid: eqpCode } }).then((res) => {
+			
+			if (res && res.trendVo) {
+				console.log(`output->re11s`, res)
+				//	res.tempValue = [res.windTemp, 100]
+				//res.percent = ((res.dryTime / res.et) * 100).toFixed(2)
+				/**姘存淮鍥惧惈姘撮噺 */
+				res.mois = [
+					(res.trendVo.moisture / 100).toFixed(2),
+					(res.trendVo.moisture / 100 / 1.5).toFixed(2),
+					(res.trendVo.moisture / 100 / 3).toFixed(2),
+				]
+				if (waterChart) {
+					waterChart.setOption({
+						series: [
+							{
+								data: res.mois,
+								label: {
+									formatter: function () {
+										return res.trendVo.moisture + '%'
+									},
+									fontSize: 20,
+								},
+							},
+						],
+					})
+				}
+
+				/**娓╁害鐜舰鍥� */
+				if (bellowsTempChart) {
+					bellowsTempChart.setOption({
+						series: [{ data: [{ value: res.windTemp }] }, { data: [{ value: res.windTemp }] }],
+					})
+				}
+				/**椋庢満棰戠巼鐜舰鍥� */
+				if (fanFreqChart) {
+					fanFreqChart.setOption({
+						series: [
+							{
+								data: [
+									{
+										value: res.trendVo.fanFrequency,
+									},
+								],
+							},
+						],
+					})
+				}
+				/**骞茬嚗杩涘害銆佽蛋鍔夸笌闃舵鏁堢巼鍜岄樁娈垫秷鑰� */
+				if (res && res.detailList) {
+					var progressSeries = []
+					var ganZaoXiaoLv = []
+					var zhengQiXiaoHao = []
+					var dianNengXiaoHao = []
+					var totalTime = 0
+					var beforeWeight = 0
+					res.moisList = []
+					beforeWeight = res.originWeight
+					console.log(`output->res`, res)
+					res.detailList.forEach((item) => {
+						//console.log(`output->item`, item)
+						res.moisList.push([item.totalTime, item.moisture])
+						console.log(`output->totalTime,item.totalTime`, totalTime, item.totalTime)
+						var curDryTime = item.totalTime - totalTime
+
+						if (curDryTime > 0) {
+							progressSeries.push({
+								name: item.moisture,
+								type: 'bar',
+								stack: 'total',
+								label: {
+									show: true,
+								},
+								emphasis: {
+									focus: 'series',
+								},
+								data: [item.totalTime - totalTime],
+							})
+							ganZaoXiaoLv.push([curDryTime / 2 + totalTime, (((beforeWeight - item.weight) / curDryTime) * 60).toFixed(1)])
+
+							totalTime = item.totalTime
+						}
+						beforeWeight = item.weight
+					})
+
+					if (res.remain) {
+						if (res.dryTime - totalTime > 0) {
+							progressSeries.push({
+								name: '褰撳墠',
+								type: 'bar',
+								stack: 'total',
+								label: {
+									show: true,
+								},
+								emphasis: {
+									focus: 'series',
+								},
+								data: [
+									{
+										value: res.dryTime - totalTime,
+									},
+								],
+							})
+						}
+
+						progressSeries.push({
+							name: '鍓╀綑',
+							type: 'bar',
+							stack: 'total',
+							label: {
+								show: true,
+							},
+							emphasis: {
+								focus: 'series',
+							},
+							data: [
+								{
+									value: res.remain - (res.dryTime - totalTime),
+									itemStyle: {
+										color: '#c0c0c0',
+									},
+								},
+							],
+						})
+					}
+
+					/**骞茬嚗杩涘害 */
+					if (progressBarChart) {
+						console.log(`output->progressSeries`, progressSeries)
+						progressBarChart.setOption(
+							{
+								xAxis: {
+									max: totalTime + res.remain,
+								},
+								series: progressSeries,
+							},
+							{ replaceMerge: ['series'] }
+						)
+					}
+
+					res.totalTime = totalTime + res.remain
+					/**骞茬嚗鏁堢巼銆佹秷鑰� */
+					if (efficiencyLineChart) {
+						console.log(`output->ganZaoXiaoLv`, ganZaoXiaoLv)
+						efficiencyLineChart.setOption({
+							xAxis: {
+								max: totalTime + res.remain,
+							},
+							series: [{ data: ganZaoXiaoLv }, { data: zhengQiXiaoHao }, { data: dianNengXiaoHao }],
+						})
+					}
+
+					res.moisList.push([res.dryTime, res.trendVo.moisture])
+				}
+
+				/**娓╁害瓒嬪娍 */
+				if (res && res.bellowsTemp) {
+					Array.from(Object.entries(res.bellowsTemp))
+					var arr = Object.keys(res.bellowsTemp)
+					var temArr = []
+					arr.forEach((item) => {
+						temArr.push([item * 1, res.bellowsTemp[item]])
+					})
+
+					//console.log(`output->arr` + JSON.stringify(temArr))
+					res.tempArr = temArr
+				}
+
+				/**骞茬嚗杩囩▼瓒嬪娍 */
+				if (moisChart) {
+					//console.log(`output->鏇存柊chart`)
+					moisChart.setOption({
+						series: [
+							{
+								data: res.moisList,
+								markLine: {
+									symbol: 'none',
+									data: [
+										{
+											name: '鐩爣',
+											yAxis: res.target,
+										},
+									],
+									label: {
+										formatter: '{b}\n{c}%',
+									},
+								},
+							},
+							{
+								data: res.tempArr,
+							},
+						],
+					})
+				}
+
+				/**鏁堢巼瀵规瘮鍥� */
+				res.xiaolv = (((res.originWeight - res.yield) / res.dryTime) * 60).toFixed(2)
+				if (res.xiaolv > standard.value.xiaolv) {
+					res.xlgood = true
+					res.xlsHeight = (standard.value.xiaolv / res.xiaolv) * 100 + '%'
+					res.xlrHeight = '100%'
+				} else if (res.xiaolv < standard.value.xlMin) {
+					res.xlbad = true
+					res.xlsHeight = '100%'
+					res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%'
+				}
+
+
+				
+				/** 钂告苯娑堣�� */
+				res.zhengqi = (res.steam / (res.originWeight - res.yield)).toFixed(1)
+				if (res.zhengqi > standard.value.zhengqi) {
+					res.zqgood = true
+					res.zqsHeight = (standard.value.zhengqi / res.zhengqi) * 100 + '%'
+					res.zqrHeight = '100%'
+				} else if (res.zhengqi < standard.value.zqMin) {
+					res.zqbad = true
+					res.zqsHeight = '100%'
+					res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%'
+				}
+				
+				
+				/** 鐢佃兘娑堣�� */
+				res.dian = (res.watt / (res.originWeight - res.yield)).toFixed(1)
+				if (res.dian > standard.value.dian) {
+					res.dngood = true
+					res.dnsHeight = (standard.value.dian / res.dian) * 100 + '%'
+					res.dnrHeight = '100%'
+				} else if (res.dian < standard.value.dMin) {
+					res.dnbad = true
+					res.dnsHeight = '100%'
+					res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%'
+				}
+
+				/**gif鍔ㄥ浘 */
+				res.gif = 'tmrefeng2'
+			} else {
+				res = {
+					mois: [],
+				}
+			}
+			console.log(`output->res`, res)
+			realData.value = res
+		})
+    }
+	}
+
+    var move = true;
+    function moveImage() {
+       
+        if (move) {
+            position.value -= 0.3
+        } else {
+            position.value += 0.3
+        }
+        if(position.value < -240 ) {
+            move = false
+        }
+        if (position.value > -1) {
+            move = true
+        }
+
+        
+    }
+
+    listAllEqp()
+	//queryEqp()
+	// DOM鎸傝浇瀹屾垚鍚庢覆鏌撳浘琛�
+	onMounted(() => {
+		Timer.value = setInterval(queryRealTime, 3000)
+        Timer2.value = setInterval(moveImage, 50)
+	})
+
+	onUnmounted(() => {
+		clearInterval(Timer.value)
+        clearInterval(Timer2.value)
+		Timer.value = null
+        Timer2.value = null
+	})
+</script>
+
+<style scoped>
+	.eqpBox {
+		height: 100%;
+	}
+	.eqpRow {
+	}
+	.eqpImage {
+		height: 1080px;
+		width: 1920px;
+		 background-image: url(/src/assets/images/dry/bg.png);
+		background-repeat: no-repeat;
+        color: white;
+		/*background-position: 160px 280px; */
+		/* background-color: red; */
+        background-size: 120%;
+		padding: 10px;
+		display: flex;
+		flex-wrap: wrap;
+		align-content: flex-start;
+	}
+
+	.leftEqp {
+		height: 1080px;
+		width: 1200px;
+		display: flex;
+		flex-wrap: wrap;
+        align-content: flex-start;
+		
+		/* background-color: white;
+		background-image: url(/src/assets/images/dry/shebei1.png);
+		background-repeat: no-repeat;
+		background-size: 125%;
+		border-radius: 10px;
+		background-position: -119px 293px; */
+	}
+
+	.leftTop {
+		height: 750px;
+    width: 850px;
+    display: flex;
+    justify-content: center;
+    align-content: flex-start;
+    background-image: url(/src/assets/images/dry/ganzaoji-x.png);
+    background-repeat: no-repeat;
+    background-size: 79%;
+    border-radius: 10px;
+    flex-wrap: wrap;
+    background-position: 85px 279px;
+
+	}
+	.leftMid {
+		padding-top: 10px;
+		width: 850px;
+		height: 300px;
+		/* border: 1px solid; */
+        margin-top: 10px;
+		border-radius: 10px;
+		/* background: white; */
+	}
+	.mainInfo {
+		line-height: 33px;
+		padding-left: 10px;
+		font-size: 30px;
+        color: white;
+	}
+	.subhead {
+		color: #a19f9c;
+		font-size: 16px;
+		padding-left: 10px;
+	}
+
+	.mainInfo2 {
+		line-height: 20px;
+		padding-left: 0px;
+		font-size: 16px;
+	}
+	.subhead2 {
+		color: #a19f9c;
+		font-size: 10px;
+		padding-left: 0px;
+	}
+	.zhengqi {
+		height: 180px;
+		width: 200px;
+		background-image: url(/src/assets/images/dry/liuliangji.png);
+		background-repeat: no-repeat;
+		background-size: 160px;
+		/* border-radius: 10px; */
+		background-position: 17px -6px;
+	}
+
+	.liuliangji {
+	}
+	.leftData {
+		height: 250px;
+		width: 120px;
+	}
+	.rightChart {
+		height: 270px;
+		width: 170px;
+		margin-top: -30px;
+	}
+	.leftTop0 {
+		height: 600px;
+		width: 848px;
+		display: flex;
+		justify-content: center;
+		align-content: flex-start;
+		flex-wrap: wrap;
+	}
+	.leftTop1 {
+		width: 250px;
+		height: 200px;
+		text-align: center;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		font-size: 30px;
+		color: #727272;
+		
+	}
+	.leftTop2 {
+		width: 250px;
+		height: 200px;
+		text-align: center;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		font-size: 30px;
+		color: #727272;
+	}
+	.leftTop3 {
+		width: 340px;
+		height: 200px;
+		/* background-image: url(/src/assets/images/dry/fanliao.gif); */
+		background-repeat: no-repeat;
+		background-position: 0px 20px;
+		background-size: 300px;
+		border-radius: 50px;
+	}
+
+	.eqpStatus {
+		width: 848px;
+		height: 300px;
+
+		padding: 100px;
+	}
+	.rightInfo {
+		display: flex;
+		flex-wrap: wrap;
+		align-content: flex-start;
+		height: 1060px;
+		width: 700px;
+	}
+
+	.rightTop {
+		display: flex;
+		height: 440px;
+		padding-left: 10px;
+	}
+	.rightTwo {
+		display: flex;
+		flex-wrap: wrap;
+	}
+
+	.infoChart {
+		width: 340px;
+		height: 300px;
+		/* background: white; */
+		margin-left: 10px;
+		margin-top: 10px;
+		border-radius: 10px;
+	}
+	.chartTittle {
+		width: 340px;
+		height: 30px;
+		font-size: 16px;
+		display: flex;
+		justify-content: space-between;
+		padding: 15px 15px;
+	}
+	.chartInfo {
+		width: 60px;
+		height: 180px;
+	}
+
+	.compareBar {
+		width: 55px;
+		height: 140px;
+	}
+	.margintop-30 {
+		margin-top: -30px;
+	}
+
+	.barTop {
+		width: 55px;
+		height: 30px;
+	}
+	.barBack {
+		width: 30px;
+		height: 100px;
+		/* border: 1px solid black; */
+		display: flex;
+		flex-wrap: wrap;
+		align-content: flex-end;
+	}
+	.barDiv {
+		width: 100%;
+
+		background-color: #1595ea;
+	}
+	.bad {
+		background-color: #ed6f6f;
+	}
+	.rightLabel {
+		width: 110px;
+		display: flex;
+		justify-content: space-between;
+	}
+	.label {
+		color: white;
+		text-align: center;
+		width: 50px;
+		border-radius: 4px;
+		height: 20px;
+		font-size: 10px;
+		line-height: 21px;
+	}
+	.good {
+		background-color: #2ecf54;
+	}
+
+	.mainInfo3 {
+		font-size: 24px;
+	}
+	.herbInfo {
+		width: 340px;
+		height: 440px;
+		color: #727272;
+	}
+
+	.curEqp {
+		width: 340px;
+		height: 170px;
+		/* background: white;
+		border-radius: 10px; */
+	}
+	.curHerb {
+		margin-top: 10px;
+		width: 340px;
+		height: 260px;
+		/* background: white;
+		border-radius: 10px; */
+		background-image: url(/src/assets/images/dry/yaocai1.png);
+		background-repeat: no-repeat;
+		background-size: 61%;
+		background-position: 0px 10px;
+	}
+	.tempMoisChart {
+		width: 690px;
+		height: 440px;
+		/* background: white; */
+		
+		padding: 20px;
+		border-radius: 10px;
+	}
+	.topLeft {
+		margin: 20px 40px 60px 20px;
+		padding: 15px;
+		/* background: white; */
+		border-radius: 10px;
+		height: 325px;
+		width: 440px;
+		/* background-image: url(/src/assets/images/dry/yaocai.jpg); */
+		background-repeat: no-repeat;
+		background-size: 164px 132px;
+		background-position: 239px 65px;
+		display: flex;
+	}
+	.topMid {
+		margin: 20px 20px 60px 40px;
+		/* background: white; */
+		border-radius: 10px;
+		background-image: url(/src/assets/images/dry/fanliao.gif);
+		background-repeat: no-repeat;
+		background-position: 0px 20px;
+		background-size: 400px;
+		width: 400px;
+
+		padding: 20px;
+	}
+	.topRight {
+		margin: 20px 20px 60px 20px;
+		/* background: white; */
+		border-radius: 10px;
+		width: 700px;
+		padding: 20px;
+	}
+	.midLeft {
+		height: 450px;
+		width: 600px;
+		display: flex;
+		padding: 0 20px 20px 20px;
+	}
+	.midMid {
+		width: 500px;
+		padding-top: 50px;
+	}
+
+	.midRight {
+		background-image: url(/src/assets/images/dry/fengjixz.gif);
+		background-repeat: no-repeat;
+		background-position: 150px 260px;
+		background-size: 120px 120px;
+		width: 600px;
+	}
+
+	.shangJianTou {
+		margin-left: 140px;
+		width: 70px;
+		height: 100px;
+		background-image: url(/src/assets/images/dry/shangjiantoutou.gif);
+		background-repeat: no-repeat;
+		background-position: 0px 0px;
+		background-size: 70px 100px;
+	}
+
+	.zoujiantou {
+		margin-left: 225px;
+		margin-top: 30px;
+		width: 100px;
+		height: 70px;
+		background-image: url(/src/assets/images/dry/zuojiantou.gif);
+		background-repeat: no-repeat;
+		background-position: 0px 0px;
+		background-size: 100px 70px;
+	}
+	.fault {
+		padding: 10px;
+		height: 60px;
+		font-size: 26px;
+		width: 100%;
+		text-align: right;
+		color: red;
+	}
+	.eqpName {
+		padding: 20px;
+
+		height: 160px;
+	}
+
+	.formula {
+		display: flex;
+		width: 340px;
+		height: 40px;
+		padding: 0 20px;
+		justify-content: space-around;
+		justify-items: center;
+	}
+
+	.formulaItem {
+		display: flex;
+		justify-content: center;
+		width: 85px;
+		height: 40px;
+	}
+
+	.eqpInfoText {
+		font-size: 18px;
+		font-weight: bold;
+	}
+
+	:deep() .ant-slider-mark-text {
+		padding-left: 15px;
+		font-size: 10px;
+	}
+	:deep() .ant-slider-mark-text::before {
+		content: '';
+		display: block;
+		width: 6px;
+		height: 1px;
+		background-color: #1890ff;
+
+		position: absolute;
+		top: 10px;
+		left: 0px;
+	}
+	:deep() .ant-slider-rail {
+		width: 10px !important;
+		border-radius: 6px 6px 0 0;
+		background: linear-gradient(to top, #ce0000 0%, #ce0000 40%, #ce0000 75%, rgb(160, 160, 160) 100%);
+	}
+	:deep() .ant-slider-track {
+		background: rgb(216, 216, 216);
+
+		height: 20px;
+		width: 10px !important;
+		border-radius: 6px 6px 0 0;
+	}
+	:deep() .ant-slider-track:hover {
+	}
+	:deep() .ant-slider-handle {
+		display: none;
+	}
+	:deep() .ant-slider-dot {
+		display: none;
+	}
+	:deep() .ant-slider-step {
+		width: 10px !important;
+	}
+	:deep() .ant-slider-step > :first-child {
+		display: block !important;
+		width: 30px !important;
+		height: 30px !important;
+		bottom: -26px !important;
+		left: -6px;
+		border: none;
+		background: #ce0000;
+	}
+	:deep() .progress {
+		padding: 25px 25px;
+
+		width: 360px;
+		display: flex;
+	}
+	:deep() .ant-progress-bg {
+		height: 25px !important;
+	}
+	.outDiv {
+		display: flex;
+		justify-content: center;
+		justify-items: center;
+	}
+	.blingbling {
+		-webkit-animation: scaleout 1.5s infinite ease-in-out;
+		animation: scaleout 1.5s infinite ease-in-out;
+	}
+	.center {
+		display: flex;
+		justify-content: center;
+		justify-items: center;
+		align-items: center;
+		flex-wrap: wrap;
+		text-align: center;
+	}
+
+	.centerText {
+		width: 100%;
+		text-align: center;
+	}
+
+	@-webkit-keyframes scaleout {
+		0% {
+			-webkit-transform: scale(1);
+		}
+
+		100% {
+			-webkit-transform: scale(1.1);
+			opacity: 0;
+		}
+	}
+
+	@keyframes scaleout {
+		0% {
+			transform: scale(1);
+			-webkit-transform: scale(1);
+		}
+
+		100% {
+			transform: scale(1.1);
+			-webkit-transform: scale(1.1);
+			opacity: 0;
+		}
+	}
+</style>
diff --git a/src/views/dry/bigScreen/BigEqp.vue b/src/views/dry/bigScreen/BigEqp.vue
new file mode 100644
index 0000000..d72d34e
--- /dev/null
+++ b/src/views/dry/bigScreen/BigEqp.vue
@@ -0,0 +1,2216 @@
+<template>
+    <dv-full-screen-container>
+	<div class="eqpBox">
+		<div class="eqpRow">
+			<div class="eqpImage"  :style="{'background-position':position + 'px'}">
+				
+				<div class="leftEqp">
+					<div style="width: 350px;  ">
+					<div class="herbInfo">
+						
+							<dv-border-box7 class="curEqp">
+								<div class="eqpName" style="padding: 30px" @click="changeEqp">
+									<div class="mainInfo" style="font-size: 26px">{{ eqp?.name }}</div>
+									<div class="subhead">{{ eqp?.type }}</div>
+									<dv-decoration-1 style="width:300px;height:90px; margin-left: 20px;" />
+                                    <!-- 璁惧锛歿{ eqp.name }}</div>
+								<div class="eqpName">鍨嬪彿锛歿{ eqp.type }}</div> -->
+								</div>
+							</dv-border-box7>
+							<dv-border-box7 class="curHerb" :style="{'background-image': 'url('+getHerbImageUrl(realData?.herbImage)+')'}">
+								<div class="eqpName" style="margin-left: 176px; height: 190px">
+									<div class="mainInfo" style="font-size: 26px">{{ realData?.herbName }}</div>
+									<div class="subhead">骞茬嚗閰嶆柟</div>
+								</div>
+								<div class="formula">
+									<div class="formulaItem">
+										<Icon style="color: powderblue" icon="icon-park-twotone:box" :size="35" />
+										<div>
+											<div class="mainInfo2">{{ realData?.feed }} 绛�</div>
+											<div class="subhead2">鎶曟枡閲�</div>
+										</div>
+									</div>
+									<div class="formulaItem">
+										<Icon style="color: red" icon="bx:wind" :size="35" />
+										<div>
+											<div class="mainInfo2">{{ realData?.windTemp }} 掳C</div>
+											<div class="subhead2">鐑</div>
+										</div>
+									</div>
+									<div class="formulaItem">
+										<Icon style="color: green" icon="tabler:target-arrow" :size="35" />
+										<div>
+											<div class="mainInfo2">{{ realData?.target }} %</div>
+											<div class="subhead2">鐩爣</div>
+										</div>
+									</div>
+								</div>
+								<!-- <div class="eqpName">{{ realData?.herbName }}</div>
+								<div class="eqpName">{{ realData?.feed }} 绛�</div> -->
+							</dv-border-box7>
+						</div>
+						<!-- <dv-border-box7 class="infoChart" style="margin-left: 0px;">
+							<div class="chartTittle">椋庢満棰戠巼</div>
+							<div class="outDiv" style="padding-top: 10px">
+								<div id="fanFreq" style="width: 240px; height: 240px"></div>
+							</div>
+						</dv-border-box7> -->
+						<dv-border-box7 class="infoChart" style="margin-left: 0px;">
+							<div class="chartTittle">鍚按鐜�</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 50%">
+										<div class="centerText">
+											<div class="mainInfo3"
+												><span>{{ realData?.target }}</span
+												> %
+											</div>
+											<div class="subhead2">鐩爣鍚按鐜�</div>
+										</div>
+									</div>
+									<div class="center" style="height: 50%">
+										<div>
+											<div class="mainInfo3"
+												><span>{{ realData?.initial }}</span
+												> %</div
+											>
+											<div class="subhead2">鏉ユ枡鍚按鐜�</div>
+										</div>
+									</div>
+								</div>
+								<div id="moisture" style="width: 170px; height: 170px"></div>
+							</div>
+							<div class="subhead2" style="margin-top: -37px; padding-left: 205px; font-weight: bold;">瀹炴椂鍚按鐜�</div>
+						</dv-border-box7>
+				</div>
+					<dv-border-box7 class="leftTop">
+						<div class="leftTop0">
+						<div class="leftTop1">
+							<Icon icon="emojione:hourglass-with-flowing-sand" :size="50" />
+							<div>
+								<div class="mainInfo">{{ realData?.totalRemain | 0 }} Min</div>
+								<div class="subhead">鍓╀綑鏃堕棿</div>
+							</div>
+						</div>
+						<div class="leftTop1">
+							<Icon icon="bi:fan" :size="50" />
+							<div>
+								<div class="mainInfo">{{ realData.trendVo?.fanFrequency | 0 }} Hz</div>
+								<div class="subhead">椋庢満棰戠巼</div>
+							</div>
+						</div>
+						<div class="leftTop3" :style="{ 'background-image': 'url(' + getStatusImageUrl(statusGif) + ')' }"></div>
+						<div class="outDiv eqpStatus">
+							<div
+								style="
+									font-size: 28px;
+									margin-top: 190px;
+									color: white;
+									background-color: #1595ea;
+									height: 60px;
+									width: 180px;
+									line-height: 60px;
+									text-align: center;
+									border-radius: 5px;
+									font-weight: bold;
+								"
+							>
+							{{ statusTxt }}
+							</div>
+							<div v-if="realData?.isError"
+								class="eqpInfoText blingbling"
+								style="
+									position: absolute;
+									font-size: 30px;
+									max-height: 200px;
+									max-width: 720px;
+									border-radius: 10px;
+									background-color: #ce0000;
+									color: white;
+									padding: 10px;
+								"
+							>
+								<div class="outDiv">
+									<div><Icon icon="bx:error" :size="30" /> </div>
+									<div><span>{{realData?.errorMsg}}</span></div>
+								</div>
+							</div>
+						</div>
+						</div>
+					</dv-border-box7>
+					<dv-border-box7 class="infoChart" style="margin-left: 0px; margin-right: 10px;">
+							<div class="chartTittle">椋庣娓╁害</div>
+							<div class="outDiv">
+								<div id="bellowsTemp" style="width: 230px; height: 230px">
+									<Icon icon="emojione:hourglass-with-flowing-sand" :size="50" />
+								</div>
+							</div>
+						</dv-border-box7>
+					<dv-border-box7 class="leftMid">
+						<div class="chartTittle">瀹炴椂杩涘害</div>
+						<div id="efficiencyLine" style="width: 848px; height: 180px;margin-top: -10px;"></div>
+						<div style="height: 10px; display: flex; width: 848px; padding: 0 60px; justify-content: space-between">
+							<div style="width: 100px; height: 20px">0 min</div>
+							<div style="width: 100px; height: 20px; text-align: right">{{ realData?.totalTime | 0 }} min</div>
+						</div>
+						<div id="progressBar" style="width: 848px; height: 80px"></div>
+					</dv-border-box7>
+
+					<!-- <div class="outDiv">
+						<div style="height: 100px; width: 400px">
+							<Progress
+								:stroke-color="{
+									from: '#108ee9',
+									to: '#87d068',
+								}"
+								:percent="realData?.percent"
+								status="active"
+								:show-info="false"
+							/>
+							<div style="padding-top: 10px; display: flex; justify-content: space-between; font-weight: bold">
+								<span>骞茬嚗 52 Min</span>
+								<span>棰勮 120 Min</span>
+							</div>
+						</div>
+					</div> -->
+				</div>
+				<div class="rightInfo">
+					<div class="rightTop">
+						
+						<dv-border-box7 class="tempMoisChart">
+							<div :id="'moisChart'" style="width: 690px; height: 420px"></div>
+						</dv-border-box7>
+					</div>
+					<div class="rightTwo">
+						<dv-border-box7 class="infoChart">
+							<div class="chartTittle">
+								骞茬嚗鏁堢巼(kg/h)
+								<div class="rightLabel">
+									<div class="label good">&gt;{{ standard.xiaolv }} 浼� </div>
+									<div class="label bad">&lt;{{ standard.xlMin }} 宸�</div>
+								</div>
+							</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 50%">
+										<div class="centerText">
+											<div class="mainInfo3"
+												><span>{{ (realData?.originWeight - realData?.yield) | 0 }}</span
+												> kg
+											</div>
+											<div class="subhead2">姘村垎钂稿彂</div>
+										</div>
+									</div>
+									<div class="center" style="height: 50%">
+										<div>
+											<div class="mainInfo3">{{ realData?.dryTime | 0 }} min</div>
+											<div class="subhead2">骞茬嚗鐢ㄦ椂</div>
+										</div>
+									</div>
+								</div>
+								<div class="rightChart center">
+									<div class="center compareBar">
+										<div class="barTop">{{ standard.xiaolv }}</div>
+										<div class="barBack">
+											<div class="barDiv" :style="{ height: realData?.xlsHeight }"></div>
+										</div>
+										<div style="line-height: 20px">
+											棰濆畾
+											<br />
+											鏁堢巼
+										</div>
+									</div>
+									<div class="center compareBar">
+										<div class="barTop">{{ realData?.xiaolv | 0 }}</div>
+										<div class="barBack">
+											<div
+												class="barDiv"
+												:class="{ good: realData?.xlgood, bad: realData?.xlbad }"
+												:style="[realData?.xlrHeight && { height: realData?.xlrHeight }]"
+											>
+											</div>
+										</div>
+										<div style="line-height: 20px">
+											瀹炴椂
+											<br />
+											鏁堢巼
+										</div>
+									</div>
+								</div>
+							</div>
+						</dv-border-box7>
+					
+					
+						
+						
+						<dv-border-box7 class="infoChart">
+							<div class="chartTittle"
+								>钂告苯娑堣��(m鲁/kg)
+								<div class="rightLabel">
+									<div class="label bad">&gt;{{ standard.zhengqi }} 宸�</div>
+									<div class="label good">&lt;{{ standard.zqMin }} 浼�</div>
+								</div>
+							</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 100%">
+										<div class="centerText">
+											<div class="mainInfo3"><span>{{realData?.steam}}</span> m鲁 </div>
+											<div class="subhead2">钂告苯鐢ㄩ噺</div>
+										</div>
+									</div>
+								</div>
+								<div class="rightChart center">
+									<div class="center compareBar">
+										<div class="barTop">{{standard.zhengqi}}</div>
+										<div class="barBack">
+											<div class="barDiv" :style="{ height: realData?.zqsHeight }"></div>
+										</div>
+										<div style="line-height: 20px">
+											棰濆畾
+											<br />
+											娑堣��
+										</div>
+									</div>
+									<div class="center compareBar">
+										<div class="barTop">{{realData?.zhengqi | 0 }}</div>
+										<div class="barBack">
+											<div class="barDiv" :class="{ good: realData?.zqgood, bad: realData?.zqbad }"
+												:style="[realData?.zqrHeight && { height: realData?.zqrHeight }]"> </div>
+										</div>
+										<div style="line-height: 20px">
+											瀹炴椂
+											<br />
+											娑堣��
+										</div>
+									</div>
+								</div>
+							</div>
+						</dv-border-box7>
+						<dv-border-box7 class="infoChart" >
+							<div class="chartTittle">鏁堢巼瀵规瘮</div>
+							<div class="outDiv" style="padding-top: 10px">
+								<div id="compare" style="width: 300px; height: 250px"></div>
+							</div>
+						</dv-border-box7>
+						<dv-border-box7 class="infoChart">
+							<div class="chartTittle">
+								<div> 鐢佃兘娑堣��(kWh/kg)</div>
+								<div class="rightLabel">
+									<div class="label bad">&gt;{{ standard.dian }} 宸�</div>
+									<div class="label good">&lt;{{ standard.dMin }} 浼�</div>
+								</div>
+							</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 100%">
+										<div class="centerText">
+											<div class="mainInfo3"><span>{{realData?.watt}}</span> kWh </div>
+											<div class="subhead2">鐢佃兘鐢ㄩ噺</div>
+										</div>
+									</div>
+								</div>
+								<div class="rightChart center">
+									<div class="center compareBar">
+										<div class="barTop">{{standard.dian}}</div>
+										<div class="barBack">
+											<div class="barDiv" :style="{ height: realData?.dnsHeight }"></div>
+										</div>
+										<div style="line-height: 20px">
+											棰濆畾
+											<br />
+											娑堣��
+										</div>
+									</div>
+									<div class="center compareBar">
+										<div class="barTop">{{realData?.dian | 0}}</div>
+										<div class="barBack">
+											<div class="barDiv" :class="{ good: realData?.dngood, bad: realData?.dnbad }"
+												:style="[realData?.dnrHeight && { height: realData?.dnrHeight }]"></div>
+										</div>
+										<div style="line-height: 20px">
+											瀹炴椂
+											<br />
+											娑堣��
+										</div>
+									</div>
+								</div>
+							</div>
+						</dv-border-box7>
+						
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</dv-full-screen-container>
+</template>
+
+<script setup lang="ts">
+  import { useFullscreen } from '@vueuse/core';
+	import { BorderBox7 as DvBorderBox7 } from '@kjgl77/datav-vue3'
+	import { router } from '/@/router'
+	import { onMounted, ref, onUnmounted } from 'vue'
+	import { Progress } from 'ant-design-vue'
+	import * as echarts from 'echarts'
+	import 'echarts-liquidfill'
+	import { Icon, IconPicker, SvgIcon } from '/@/components/Icon/index'
+	import { defHttp } from '/@/utils/http/axios'
+	import { queryById,listAll } from '../api/DryEquipment.api'
+	import { dryEquipment } from '../dataDefine/DryEquipment.data'
+	import { useUserStore } from '/@/store/modules/user'
+
+	
+
+
+	const domRef = ref<Nullable<HTMLElement>>(null);
+		const { enter, toggle, exit, isFullscreen } = useFullscreen();
+
+const { toggle: toggleDom } = useFullscreen(domRef);
+	const Timer = ref()
+    const Timer2 = ref()
+	const marks = ref<Record<number, any>>({
+		0: '0掳C',
+		1: '',
+		2: '',
+		3: '',
+		4: '',
+		5: '',
+		6: '',
+		7: '',
+		8: '',
+		9: '',
+		10: '',
+		11: '',
+		12: '',
+		13: '',
+		14: '',
+		15: '',
+		16: '',
+		17: '',
+		18: '',
+		19: '',
+		20: '',
+		21: '',
+		22: '',
+		23: '',
+		24: '',
+		25: '25掳C',
+		26: '',
+		27: '',
+		28: '',
+		29: '',
+		30: '',
+		31: '',
+		32: '',
+		33: '',
+		34: '',
+		35: '',
+		36: '',
+		37: '',
+		38: '',
+		39: '',
+		40: '',
+		41: '',
+		42: '',
+		43: '',
+		44: '',
+		45: '',
+		46: '',
+		47: '',
+		48: '',
+		49: '',
+		50: '50掳C',
+		51: '',
+		52: '',
+		53: '',
+		54: '',
+		55: '',
+		56: '',
+		57: '',
+		58: '',
+		59: '',
+		60: '',
+		61: '',
+		62: '',
+		63: '',
+		64: '',
+		65: '',
+		66: '',
+		67: '',
+		68: '',
+		69: '',
+		70: '',
+		71: '',
+		72: '',
+		73: '',
+		74: '',
+		75: '75掳C',
+		76: '',
+		77: '',
+		78: '',
+		79: '',
+		80: '',
+		81: '',
+		82: '',
+		83: '',
+		84: '',
+		85: '',
+		86: '',
+		87: '',
+		88: '',
+		89: '',
+		90: '',
+		91: '',
+		92: '',
+		93: '',
+		94: '',
+		95: '',
+		96: '',
+		97: '',
+		98: '',
+		99: '',
+		100: '100掳C',
+	})
+	const eqps =  ref([] as dryEquipment[])
+	
+    const eqp = ref({} as dryEquipment)
+    const eqpNum = ref(1)
+	const userStore = useUserStore()
+	const realData = ref({})
+	const standard = ref({
+		xiaolv: 220,
+		xlMin: 200,
+		zhengqi: 50,
+		zqMin: 45,
+		dian: 8,
+		dMin: 7.5,
+	})
+
+    const position = ref(1)
+	//realData.value.tempValue = [0, 100]
+	realData.value.mois = [0.5, 0.35, 0.2]
+	statusGif = 'tmrefeng2'
+	realData.value.herbImage = 'yaocai1.png'
+	var moisChart: echarts.ECharts
+	var waterChart: echarts.ECharts
+
+	var bellowsTempChart: echarts.ECharts
+	// var fanFreqChart: echarts.ECharts
+	var progressBarChart: echarts.ECharts
+	var efficiencyLineChart: echarts.ECharts
+
+	var compareChart: echarts.ECharts
+
+	function initCharts() {
+		let domId = 'moisChart'
+		let chartDom: HTMLElement = document.getElementById(domId) as HTMLElement
+		let waterDom: HTMLElement = document.getElementById('moisture') as HTMLElement
+		let bellowsTempDom: HTMLElement = document.getElementById('bellowsTemp') as HTMLElement
+		// let fanFreqDom: HTMLElement = document.getElementById('fanFreq') as HTMLElement
+		let progressBarDom: HTMLElement = document.getElementById('progressBar') as HTMLElement
+		let efficiencyLineDom: HTMLElement = document.getElementById('efficiencyLine') as HTMLElement
+		// let weightDom: HTMLElement = document.getElementById('weight') as HTMLElement
+		let compaerDom: HTMLElement = document.getElementById('compare') as HTMLElement
+		moisChart = echarts.init(chartDom)
+		waterChart = echarts.init(waterDom)
+		bellowsTempChart = echarts.init(bellowsTempDom)
+		// fanFreqChart = echarts.init(fanFreqDom)
+		progressBarChart = echarts.init(progressBarDom)
+		efficiencyLineChart = echarts.init(efficiencyLineDom)
+		compareChart = echarts.init(compaerDom)
+
+		const option = {
+			color: ['green', 'red'],
+			title: {
+				text: '鍚按鐜�/娓╁害瓒嬪娍',
+				textStyle: {
+					color: '#fff',
+					fontSize: 15
+				},
+				
+			},
+			tooltip: {
+				trigger: 'axis',
+			},
+			grid: {
+				left: 50,
+				right: 70,
+				top: 50,
+				bottom: 60,
+			},
+			legend: {
+				right: 60,
+				textStyle: {
+					color: '#fff'
+				}
+			},
+			// toolbox: {
+			// 	show: true,
+			// 	feature: {
+			// 		dataZoom: {
+			// 			yAxisIndex: 'none',
+			// 		},
+			// 		dataView: { readOnly: false },
+			// 		magicType: { type: ['line', 'bar'] },
+			// 		restore: {},
+			// 		saveAsImage: {},
+			// 	},
+			// },
+			xAxis: {
+				type: 'value',
+				axisLabel:{
+					color: '#fff'
+				},
+				//boundaryGap: false,
+				// data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+				min: 0,
+				max: function (value) {
+					if (value.max < 100) {
+						return 100
+					} else {
+						return value.max
+					}
+				},
+				splitLine: {
+					lineStyle: {
+						type: 'dashed',
+						color: ['#2b2b2b']
+					}
+				}
+			},
+			yAxis: {
+				type: 'value',
+				boundaryGap: ['10%', '10%'],
+				axisLabel:{
+					color: '#fff'
+				},
+				splitLine: {
+					lineStyle: {
+						type: 'dashed',
+						color: ['#2b2b2b']
+					}
+				}
+				// min: 0,
+				// max: function (value) {
+				// 	if (value.max < 100) {
+				// 		return 100
+				// 	} else {
+				// 		return value.max
+				// 	}
+				// },
+			},
+			// yAxis: {
+			// 	type: 'value',
+			// 	axisLabel: {
+			// 		formatter: '{value} 掳C',
+			// 	},
+			// },
+			series: [
+				{
+					name: '鍚按鐜�',
+					type: 'line',
+					smooth: true,
+					symbol: 'none',
+					data: [
+						[1, 1],
+						[2, 2],
+					],
+					lineStyle: {
+						width: 1,
+					},
+					markLine: {
+						data: [{ type: 'average', name: 'Avg' }],
+					},
+					areaStyle: {
+						opacity: 0.2,
+						color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+						{
+							offset: 0,
+							color: 'rgb(128, 255, 165)'
+						},
+						{
+							offset: 1,
+							color: 'rgb(1, 191, 236)'
+						}
+						])
+					},
+				},
+				{
+					name: '娓╁害',
+					type: 'line',
+					smooth: true,
+					symbol: 'none',
+					data: [
+						[1, 10],
+						[2, 20],
+					],
+					lineStyle: {
+						width: 1,
+					},
+					areaStyle: {
+						opacity: 0.2,
+						color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+						{
+							offset: 0,
+							color: 'rgb(255, 0, 135)'
+						},
+						{
+							offset: 1,
+							color: 'rgb(135, 0, 157)'
+						}
+						])
+					},
+					// markLine: {
+					// 	data: [
+					// 		{ type: 'average', name: 'Avg' },
+					// 		[
+					// 			{
+					// 				symbol: 'none',
+					// 				x: '90%',
+					// 				yAxis: 'max',
+					// 			},
+					// 			{
+					// 				symbol: 'circle',
+					// 				label: {
+					// 					position: 'start',
+					// 					formatter: 'Max',
+					// 				},
+					// 				type: 'max',
+					// 				name: '鏈�楂樼偣',
+					// 			},
+					// 		],
+					// 	],
+					// },
+				},
+			],
+		}
+		const waterOption = {
+			series: [
+				{
+					type: 'liquidFill',
+					radius: '100%',
+					//waveAnimation: false,
+					amplitude: 3,
+					animationDuration: 5,
+					//animationDurationUpdate: 0,
+					data: [0.56,0.44,0.32],
+					shape:
+						'path://M828.817,706.209C828.817,881.725,686.98,1024,512,1024c-174.98,0-316.817-142.275-316.817-317.791C195.183,530.74,512,0,512,0s316.817,530.74,316.817,706.209z',
+					outline: {
+						show: false,
+					},
+					label: {
+						// formatter: function () {
+						// 	//console.log(`output->params`,params,mois.value)
+
+						// 	return (
+						// 		'' +
+						// 		// +'鍒濆'+(mois.value[0]*100).toFixed(2) + '%\n\n\n'
+						// 		(mois.value[1] * 100).toFixed(2) +
+						// 		'%'
+						// 		// + '\n\n\n鐩爣'+(mois.value[2]*100).toFixed(2) + '%'
+						// 	)
+						// },
+						fontSize: 20,
+						//position: ['50%',(100-mois.value[1]*100).toFixed(2) + '%'],
+					},
+				},
+			],
+		}
+
+		const bellowsOption = {
+			series: [
+				{
+					type: 'gauge',
+					center: ['50%', '60%'],
+					startAngle: 215,
+					endAngle: -35,
+					min: 0,
+					max: 80,
+					splitNumber: 8,
+					itemStyle: {
+						color: '#FFAB91',
+					},
+					progress: {
+						show: true,
+						width: 10,
+					},
+					pointer: {
+						show: false,
+					},
+					axisLine: {
+						lineStyle: {
+							width: 10,
+						},
+					},
+					axisTick: {
+						distance: -15,
+						splitNumber: 5,
+						length: 3,
+						lineStyle: {
+							width: 1,
+							color: '#999',
+						},
+					},
+					splitLine: {
+						distance: -18,
+						length: 6,
+						lineStyle: {
+							width: 2,
+							color: '#999',
+						},
+					},
+					axisLabel: {
+						distance: -13,
+						color: '#fff',
+						fontSize: 12,
+					},
+					anchor: {
+						show: false,
+					},
+					title: {
+						show: false,
+					},
+					detail: {
+						valueAnimation: true,
+						width: '60%',
+						lineHeight: 40,
+						borderRadius: 8,
+						offsetCenter: [0, '0%'],
+						fontSize: 20,
+						fontWeight: 'bolder',
+						formatter: '{value}掳C',
+						color: 'inherit',
+					},
+					data: [
+						{
+							value: 20,
+						},
+					],
+				},
+				{
+					type: 'gauge',
+					center: ['50%', '60%'],
+					startAngle: 215,
+					endAngle: -35,
+					min: 0,
+					max: 80,
+					itemStyle: {
+						color: '#FD7347',
+					},
+					progress: {
+						show: true,
+						width: 3,
+					},
+					pointer: {
+						show: false,
+					},
+					axisLine: {
+						show: false,
+					},
+					axisTick: {
+						show: false,
+					},
+					splitLine: {
+						show: false,
+					},
+					axisLabel: {
+						show: false,
+					},
+					detail: {
+						show: false,
+					},
+					data: [
+						{
+							value: 20,
+						},
+					],
+				},
+			],
+		}
+
+		// const fanFreqOption = {
+		// 	series: [
+		// 		{
+		// 			type: 'gauge',
+		// 			progress: {
+		// 				show: true,
+		// 				width: 9,
+		// 			},
+		// 			axisLine: {
+		// 				lineStyle: {
+		// 					width: 9,
+		// 				},
+		// 			},
+		// 			axisTick: {
+		// 				show: false,
+		// 			},
+		// 			splitLine: {
+		// 				distance: 3,
+		// 				length: 4,
+		// 				lineStyle: {
+		// 					width: 1,
+		// 					color: '#999',
+		// 				},
+		// 			},
+		// 			axisLabel: {
+		// 				distance: 15,
+		// 				color: '#999',
+		// 				fontSize: 10,
+		// 			},
+		// 			anchor: {
+		// 				show: true,
+		// 				showAbove: true,
+		// 				size: 10,
+		// 				itemStyle: {
+		// 					borderWidth: 3,
+		// 				},
+		// 			},
+		// 			title: {
+		// 				show: false,
+		// 			},
+		// 			detail: {
+		// 				valueAnimation: true,
+		// 				fontSize: 20,
+		// 				offsetCenter: [0, '70%'],
+		// 				formatter: '{value}Hz',
+		// 			},
+		// 			data: [
+		// 				{
+		// 					value: 56,
+		// 				},
+		// 			],
+		// 		},
+		// 	],
+		// }
+		// const weightOption = {
+		// 	// 		title: {
+		// 	//   text: 'Referer of a Website',
+		// 	//   subtext: 'Fake Data',
+		// 	//   left: 'center'
+		// 	// },
+		// 	color: ['#1595EA', '#2C4D90', '#FF7F7F'],
+		// 	tooltip: {
+		// 		trigger: 'item',
+		// 	},
+		// 	radius: [0, '85%'],
+		// 	// grid: {
+		// 	// 	top: 20,
+		// 	// 	left: 20,
+		// 	// 	right: 20,
+		// 	// 	bottom: 20,
+		// 	// },
+		// 	// legend: {
+		// 	// 	orient: 'vertical',
+		// 	// 	left: 'left',
+		// 	// },
+		// 	series: [
+		// 		{
+		// 			name: '閲嶉噺鏁版嵁',
+		// 			type: 'pie',
+		// 			radius: '50%',
+		// 			data: [
+		// 				{ value: 1048, name: '鍓╀綑閲嶉噺' },
+		// 				{ value: 735, name: '鐑樺幓閲嶉噺' },
+		// 			],
+		// 			label: {
+		// 				show: false,
+		// 			},
+		// 			labelLine: {
+		// 				show: false,
+		// 			},
+		// 			emphasis: {
+		// 				itemStyle: {
+		// 					shadowBlur: 10,
+		// 					shadowOffsetX: 0,
+		// 					shadowColor: 'rgba(0, 0, 0, 0.5)',
+		// 				},
+		// 			},
+		// 		},
+		// 	],
+		// }
+
+		const progressBarOption = {
+			// tooltip: {
+			// 	trigger: 'axis',
+			// 	axisPointer: {
+			// 		// Use axis to trigger tooltip
+			// 		type: 'shadow', // 'shadow' as default; can also be 'line' or 'shadow'
+			// 	},
+			// },
+			// color: [
+			// 	'#0653F6',
+			// 	// '#1B61E7',
+			// 	'#3673D5',
+			// 	// '#4A80C8',
+			// 	'#608FB8',
+			// 	// '#719BAD',
+			// 	'#82A6A1',
+			// 	// '#8DAD9A',
+			// 	'#9CB790',
+			// 	// '#A7BE88',
+			// 	'#B3C681',
+			// 	'#CAD671',
+			// 	'#DBE165',
+			// ],
+			animation: false, // 鍏抽棴鍔ㄧ敾
+			color: ['#397FD7', '#2D8CDE', '#239CE5', '#1DA4E8', '#14B2EF', '#0BC4FA', '#02D2FF', '#19EEFF', '#33FAFF', '#5EFFF8'],
+			grid: {
+				top: '12%',
+				left: '20',
+				right: '55',
+				bottom: '3%',
+				containLabel: true,
+			},
+			xAxis: {
+				min: 0,
+				max: 150,
+				show: false,
+				type: 'value',
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+			},
+			yAxis: {
+				show: false,
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+				type: 'category',
+				data: ['鏃堕棿'],
+			},
+			series: [
+				// {
+				// 	name: '绗竴闃舵',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	barWidth: 26,
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [30],
+				// },
+				// {
+				// 	name: '绗簩闃舵',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [30],
+				// },
+				// {
+				// 	name: 'Affiliate Ad',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [20],
+				// },
+				// {
+				// 	name: 'Video Ad',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [15],
+				// },
+				// {
+				// 	name: 'Search Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [10],
+				// },
+				// {
+				// 	name: 'df Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [5],
+				// },
+				// {
+				// 	name: 'df Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [5],
+				// },
+				// {
+				// 	name: 'df Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [
+				// 		{
+				// 			value: 35,
+				// 			itemStyle: {
+				// 				color: '#c0c0c0',
+				// 			},
+				// 		},
+				// 	],
+				// },
+			],
+		}
+
+		const efficiencyLineOption = {
+			title: {},
+			tooltip: {
+				trigger: 'axis',
+			},
+			grid: {
+				top: '30%',
+				left: '17',
+				right: '57',
+				bottom: '0%',
+				containLabel: true,
+			},
+			legend: {
+				right: 60,
+				textStyle: {
+					color: '#fff'
+				}
+			},
+			xAxis: {
+				show: false,
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+				type: 'value',
+				min: 0,
+				max: 150,
+				// data: [15, 15, 10, 7.5, 5, 2.5, 2.5, 1],
+			},
+			yAxis: {
+				show: false,
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+				type: 'value',
+				axisLabel: {
+					formatter: '{value} 掳C',
+				},
+				// max: standard.value.xiaolv + 3,
+			},
+			series: [
+				{
+					name: '骞茬嚗鏁堢巼',
+					type: 'line',
+					lineStyle: {
+						width: 1,
+					},
+					// [[15,10], [15,11], [10,6], [7.5,12], [5,12], [2.5,5], [2.5,9], [1,7]]
+					data: [
+						[0, 1],
+						[15, 10],
+						[45, 11],
+						[70, 6],
+					],
+					markPoint: {
+						data: [
+							{ type: 'max', name: 'Max' },
+							{ type: 'min', name: 'Min' },
+						],
+					},
+					markLine: {
+									symbol: 'none',
+									data: [
+										{
+											name: '棰濆畾',
+											yAxis: standard.value.xiaolv,
+										},
+									],
+									label: {
+										formatter: '{b}\n{c}',
+										color: '#fff'
+									},
+								},
+					// markLine: {
+					// 	data: [{ type: 'average', name: 'Avg' }],
+					// },
+				},
+			],
+		}
+
+		const compareOption = {
+					
+			tooltip: {
+				trigger: 'axis',
+			
+			},
+			grid: {
+				top: '6%',
+				left: '3%',
+				right: '10%',
+				bottom: '3%',
+				containLabel: true
+			},
+			xAxis: {
+				show: false,
+				type: 'value',
+			
+			},
+			yAxis: {
+				axisLine: {
+					show:false,
+				},
+				axisTick: {
+					show: false,
+				},
+				type: 'category',
+				data: ['1#', '2#', '3#', '4#', '5#', '6#']
+			},
+			series: [
+				{
+					name: '2011',
+					type: 'bar',
+					barWidth: 10,
+					data: [190, 89, 34, 70, 44, 30],
+					label: {
+						show: true,
+						position: 'right',
+						valueAnimation: true,
+						
+						color: '#fff' 
+					}
+				},
+			]
+		}
+
+
+		option && moisChart.setOption(option)
+		waterOption && waterChart.setOption(waterOption)
+		bellowsOption && bellowsTempChart.setOption(bellowsOption)
+		// fanFreqOption && fanFreqChart.setOption(fanFreqOption)
+
+		progressBarOption && progressBarChart.setOption(progressBarOption)
+		efficiencyLineOption && efficiencyLineChart.setOption(efficiencyLineOption)
+		compareOption && compareChart.setOption(compareOption)
+	}
+
+	// 鍔ㄦ�佽鍙栧浘鐗�
+function getHerbImageUrl(name: string) {
+  return new URL(`/src/assets/images/dry/yaocai/${name}`, import.meta.url).href;
+}
+
+	// 鍔ㄦ�佽鍙栧浘鐗�
+	function getStatusImageUrl(name: string) {
+  return new URL(`/src/assets/images/dry/${name}.gif`, import.meta.url).href;
+}
+	function queryEqp() {
+		queryById({ id: router.currentRoute.value.params.id }).then((res) => {
+			// console.log(`output->res`, res)
+			eqp.value = res
+			queryRealTime()
+			setTimeout(initCharts, 500)
+		})
+	}
+
+    function listAllEqp() {
+		listAll({ enable: 'Y' })
+			.then((result) => {
+				//console.log(`output->result`, result)
+				eqps.value = result
+				// result.forEach((item) => {
+				// 	eqpCodes.push(item.code)
+				// })
+				queryRealTime()
+			setTimeout(initCharts, 500)
+				
+			})
+			.catch((err) => {
+				//console.log(`output->err`, err)
+			})
+	}
+
+
+    var num = eqpNum.value;
+
+	function changeEqp() {
+		//console.log("changeEqp::",eqps.value.length);
+		num ++;
+     if (eqps.value.length > 0) {
+            var i = num%eqps.value.length
+            //eqp.value = eqps.value[i]
+          //  console.log("777",i);
+			eqpNum.value = i;
+            //console.log("888",eqp.value);
+            queryRealTime()
+			//setTimeout(initCharts, 500)
+        }
+        
+	}
+
+    // function queryEqpsReal() {
+        
+    //     if (eqps.value.length > 0) {
+    //         var i = num%eqps.value.length
+    //         eqp.value = eqps[i]
+    //         console.log("777",i);
+    //         console.log("888",eqp.value);
+    //         queryRealTime()
+	// 		//setTimeout(initCharts, 500)
+    //     }
+    //     num ++;
+    // }
+
+	var shangliaoFlag = false;
+	var statusGif = 'tmrefeng2';
+	var statusTxt = '姝e湪骞茬嚗'
+
+	function chaiwangban() {
+		statusGif = 'chaiwangban-1'
+		setTimeout(shangliao,7000)
+					
+	}
+
+	function shangliao() {
+		statusGif = "shangliao-N"
+		setTimeout(()=>{
+			statusGif = "zhuangwangban"
+			setTimeout(()=>{
+				statusGif = "guanmen1"
+				setTimeout(()=>{
+					shangliaoFlag = false
+				},4000)
+				
+			},7000)
+		},15000)
+	}
+
+
+	function queryRealTime() {
+
+        if (eqp.value) {
+        eqp.value = eqps.value[eqpNum.value]
+       // console.log("888",eqp.value);
+		let tenantId = 1003
+		let eqpCode = eqp.value.code
+		let queryRealTimeUrl = '/dry/real/getRealTimeData'
+		defHttp.get({ url: queryRealTimeUrl, params: { tenantid: tenantId, machineid: eqpCode} }).then((res) => {
+			
+			if (res && res.trendVo) {
+				//console.log(`output->re11s`, res)
+				//	res.tempValue = [res.windTemp, 100]
+				//res.percent = ((res.dryTime / res.et) * 100).toFixed(2)
+				/**姘存淮鍥惧惈姘撮噺 */
+				res.mois = [
+					(res.trendVo.moisture / 100).toFixed(2),
+					(res.trendVo.moisture / 100 / 1.5).toFixed(2),
+					(res.trendVo.moisture / 100 / 3).toFixed(2),
+				]
+				if (waterChart) {
+					waterChart.setOption({
+						series: [
+							{
+								data: res.mois,
+								label: {
+									formatter: function () {
+										return res.trendVo.moisture + '%'
+									},
+									fontSize: 20,
+								},
+							},
+						],
+					})
+				}
+
+				/**娓╁害鐜舰鍥� */
+				if (bellowsTempChart) {
+					bellowsTempChart.setOption({
+						series: [{ data: [{ value: res.windTemp }] }, { data: [{ value: res.windTemp }] }],
+					})
+				}
+				/**椋庢満棰戠巼鐜舰鍥� */
+				// if (fanFreqChart) {
+				// 	fanFreqChart.setOption({
+				// 		series: [
+				// 			{
+				// 				data: [
+				// 					{
+				// 						value: res.trendVo.fanFrequency,
+				// 					},
+				// 				],
+				// 			},
+				// 		],
+				// 	})
+				// }
+				/**骞茬嚗杩涘害銆佽蛋鍔夸笌闃舵鏁堢巼鍜岄樁娈垫秷鑰� */
+				if (res && res.detailList) {
+					var progressSeries = []
+					var ganZaoXiaoLv = []
+					var zhengQiXiaoHao = []
+					var dianNengXiaoHao = []
+					var totalTime = 0
+					var beforeWeight = 0
+					res.moisList = []
+					beforeWeight = res.originWeight
+					//console.log(`output->res`, res)
+					res.detailList.forEach((item) => {
+						//console.log(`output->bef`, beforeWeight)
+						//console.log(`output->cur`, item.weight)
+						res.moisList.push([item.totalTime, item.moisture])
+						//console.log(`output->totalTime,item.totalTime`, totalTime, item.totalTime)
+						var curDryTime = item.totalTime - totalTime
+
+						if (curDryTime > 0) {
+							progressSeries.push({
+								name: item.moisture,
+								type: 'bar',
+								stack: 'total',
+								label: {
+									show: true,
+								},
+								emphasis: {
+									focus: 'series',
+								},
+								data: [item.totalTime - totalTime],
+							})
+							ganZaoXiaoLv.push([curDryTime / 2 + totalTime, (((beforeWeight - item.weight) / curDryTime) * 60).toFixed(1)])
+
+							totalTime = item.totalTime
+						}
+						beforeWeight = item.weight
+					})
+
+					if (res.remain) {
+						if (res.dryTime - totalTime > 0) {
+							progressSeries.push({
+								name: '褰撳墠',
+								type: 'bar',
+								stack: 'total',
+								label: {
+									show: true,
+								},
+								emphasis: {
+									focus: 'series',
+								},
+								data: [
+									{
+										value: res.dryTime - totalTime,
+									},
+								],
+							})
+						}
+
+						// ganZaoXiaoLv.push([totalTime + res.remain,standard.value.xiaolv])
+
+						res.totalRemain = res.remain - (res.dryTime - totalTime)>0?res.remain - (res.dryTime - totalTime):0
+						progressSeries.push({
+							name: '鍓╀綑',
+							type: 'bar',
+							stack: 'total',
+							label: {
+								show: true,
+							},
+							emphasis: {
+								focus: 'series',
+							},
+							data: [
+								{
+									value: res.remain - (res.dryTime - totalTime),
+									itemStyle: {
+										color: '#c0c0c0',
+									},
+								},
+							],
+						})
+
+
+
+					}
+
+					/**骞茬嚗杩涘害 */
+					if (progressBarChart) {
+						//console.log(`output->progressSeries`, progressSeries)
+						progressBarChart.setOption(
+							{
+								xAxis: {
+									max: totalTime + res.remain,
+								},
+								series: progressSeries,
+							},
+							{ replaceMerge: ['series'] }
+						)
+					}
+
+					res.totalTime = totalTime + res.remain
+					/**骞茬嚗鏁堢巼銆佹秷鑰� */
+					if (efficiencyLineChart) {
+						//console.log(`output->ganZaoXiaoLv`, ganZaoXiaoLv)
+						efficiencyLineChart.setOption({
+							xAxis: {
+								max: totalTime + res.remain,
+							},
+							series: [{ data: ganZaoXiaoLv,
+							markLine: {
+								symbol: 'none',
+									data: [
+										{
+											name: '棰濆畾',
+											yAxis: standard.value.xiaolv,
+										},
+									],
+									label: {
+										formatter: '{b}\n{c}',
+										color: '#fff'
+									},
+							} },
+							 { data: zhengQiXiaoHao },
+							  { data: dianNengXiaoHao }],
+						})
+					}
+
+					res.moisList.push([res.dryTime, res.trendVo.moisture])
+				}
+
+				/**娓╁害瓒嬪娍 */
+				if (res && res.bellowsTemp) {
+					Array.from(Object.entries(res.bellowsTemp))
+					var arr = Object.keys(res.bellowsTemp)
+					var temArr = []
+					arr.forEach((item) => {
+						temArr.push([item * 1, res.bellowsTemp[item]])
+					})
+
+					//console.log(`output->arr` + JSON.stringify(temArr))
+					res.tempArr = temArr
+				}
+
+				/**骞茬嚗杩囩▼瓒嬪娍 */
+				if (moisChart) {
+					//console.log(`output->鏇存柊chart`)
+					moisChart.setOption({
+						series: [
+							{
+								data: res.moisList,
+								markLine: {
+									symbol: 'none',
+									data: [
+										{
+											name: '鐩爣',
+											yAxis: res.target,
+										},
+									],
+									label: {
+										formatter: '{b}\n{c}%',
+										color: '#fff'
+									},
+								},
+							},
+							{
+								data: res.tempArr,
+							},
+						],
+					})
+				}
+
+				/**鏁堢巼瀵规瘮鍥� */
+				if( (res.originWeight - res.yield) <= 0) {
+					res.xiaolv =  standard.value.xiaolv + 6
+				} else {
+					res.xiaolv = (((res.originWeight - res.yield) / res.dryTime) * 60).toFixed(2)
+				}
+				
+				if (res.xiaolv > standard.value.xiaolv) {
+					res.xlgood = true
+					res.xlsHeight = (standard.value.xiaolv / res.xiaolv) * 100 + '%'
+					res.xlrHeight = '100%'
+				} else if (res.xiaolv < standard.value.xlMin) {
+					res.xlbad = true
+					res.xlsHeight = '100%'
+					res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%'
+				} else {
+					res.xlsHeight = '100%'
+					res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%'
+				}
+
+
+				
+				/** 钂告苯娑堣�� */
+				if( (res.originWeight - res.yield) <= 0) {
+					res.zhengqi = standard.value.zhengqi -3
+				} else {
+					res.zhengqi = (res.steam / (res.originWeight - res.yield)).toFixed(1)
+				}
+				//console.log('zhengqi:', res.zhengqi);
+				if (res.zhengqi > standard.value.zhengqi) {
+					res.zqbad = true
+					res.zqsHeight = (standard.value.zhengqi / res.zhengqi) * 100 + '%'
+					res.zqrHeight = '100%'
+				} else if (res.zhengqi < standard.value.zqMin) {
+					res.zqgood = true
+					res.zqsHeight = '100%'
+					res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%'
+				} else {
+					res.zqsHeight = '100%'
+					res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%'
+				}
+
+				
+				
+				/** 鐢佃兘娑堣�� */
+				if( (res.originWeight - res.yield) <= 0) {
+					res.dian = standard.value.dian -1.5
+				} else {
+					res.dian = (res.watt / (res.originWeight - res.yield)).toFixed(1)
+				}
+				
+				if (res.dian > standard.value.dian) {
+					res.dnbad = true
+					res.dnsHeight = (standard.value.dian / res.dian) * 100 + '%'
+					res.dnrHeight = '100%'
+				} else if (res.dian < standard.value.dMin) {
+					
+					res.dngood = true
+					res.dnsHeight = '100%'
+					res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%'
+				} else {
+					res.dnsHeight = '100%'
+					res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%'
+				}
+
+				console.log("state:::fan::", res.state_fan,"roller::", res.state_roller,"windbox::", res.state_windbox);
+				console.log("===========================");
+				//console.log("state:::state_windbox::", res.state_windbox);
+
+				/**鐘舵��/gif鍔ㄥ浘 */
+				if (!shangliaoFlag) {
+					if (res.orderStatus == 0) {
+					statusGif = 'zanting'
+					statusTxt = '鍑嗗'
+				} else if (res.orderStatus == 1) {
+					shangliaoFlag = true
+					statusGif = 'kaimen1'
+					statusTxt = '涓婃枡'
+					setTimeout(chaiwangban,4000)
+				} else if (res.orderStatus == 2) {
+					if(res.state_fan == 1) {
+						statusGif = 'tmrefeng2'
+						statusTxt = '姝e湪骞茬嚗'
+					}
+
+					if(res.state_roller == 4) {
+						statusGif = 'fanliao-N'
+						statusTxt = '姝e湪缈绘枡'
+					}
+
+					if (res.state_roller == 5) {
+						statusGif = 'chuliao-N'
+						statusTxt = '姝e湪鍑烘枡'
+					}
+					
+					if (res.state_windbox == 2 || res.state_windbox == 3) {
+						statusGif = 'fengxiangsheng-1'
+						statusTxt = '姝e湪骞茬嚗'
+					}
+				} else if(res.orderStatus == 3) {
+					statusGif = 'zanting'
+					statusTxt = '鏆傚仠'
+				} else if(res.orderStatus == 4) {
+					statusGif = 'zanting'
+					statusTxt = '骞茬嚗瀹屾垚'
+				}
+				}
+				
+				
+
+				if (compareChart) {
+					compareChart.setOption({
+						yAxis: {
+							data: res.compEqpNum
+						},
+						series: {
+							data: res.compEqpEffic
+						}
+					})
+				}
+
+				res.herbImage = 'yaocai1.png'
+
+				if (res.herbName == '鐧借姳铔囪垖鑽�') {
+					res.herbImage = 'baihuasheshecao.png'
+				} else if (res.herbName == '绯ョɑ鏍�') {
+					res.herbImage = 'nuodaogen.png'
+				} else if (res.herbName == '娣緤钘�') {
+					res.herbImage = 'yinyanghuo.png'
+				} else if (res.herbName == '椹娇鑻�') {
+					res.herbImage = 'machixian.png'
+				} else if (res.herbName == '澧ㄦ棻鑾�') {
+					res.herbImage = 'mohanlian.png'
+				} else if (res.herbName == '妗戠櫧鐨�') {
+					res.herbImage = 'sangbaipi.png'
+				}
+				res.isError = false
+
+				res.errorMsg = '鏈変竴涓晠闅滐紝璇锋鏌ャ��'
+			} else {
+				res = {
+					mois: [],
+					gif: 'tmrefeng2',
+					herbImage: 'yaocai1.png'
+				}
+			}
+			
+			//console.log(`output->res`, res)
+			realData.value = res
+		})
+    }
+	}
+
+    var move = true;
+    function moveImage() {
+       
+        if (move) {
+            position.value -= 0.3
+        } else {
+            position.value += 0.3
+        }
+        if(position.value < -240 ) {
+            move = false
+        }
+        if (position.value > -1) {
+            move = true
+        }
+
+        
+    }
+
+    listAllEqp()
+	//queryEqp()
+	// DOM鎸傝浇瀹屾垚鍚庢覆鏌撳浘琛�
+	onMounted(() => {
+		Timer.value = setInterval(queryRealTime, 3000)
+        Timer2.value = setInterval(moveImage, 50)
+	})
+
+	onUnmounted(() => {
+		clearInterval(Timer.value)
+        clearInterval(Timer2.value)
+		Timer.value = null
+        Timer2.value = null
+	})
+</script>
+
+<style scoped>
+	.eqpBox {
+		height: 100%;
+	}
+	.eqpRow {
+	}
+	.eqpImage {
+		height: 1080px;
+		width: 1920px;
+		 background-image: url(/src/assets/images/dry/bg.png);
+		background-repeat: no-repeat;
+        color: white;
+		/*background-position: 160px 280px; */
+		/* background-color: red; */
+        background-size: 120%;
+		padding: 10px;
+		display: flex;
+		flex-wrap: wrap;
+		align-content: flex-start;
+	}
+
+	.leftEqp {
+		height: 1080px;
+		width: 1200px;
+		display: flex;
+		flex-wrap: wrap;
+        align-content: flex-start;
+		
+		/* background-color: white;
+		background-image: url(/src/assets/images/dry/shebei1.png);
+		background-repeat: no-repeat;
+		background-size: 125%;
+		border-radius: 10px;
+		background-position: -119px 293px; */
+	}
+
+	.leftTop {
+		height: 750px;
+    width: 850px;
+    display: flex;
+    justify-content: center;
+    align-content: flex-start;
+    background-image: url(/src/assets/images/dry/ganzaoji-x.png);
+    background-repeat: no-repeat;
+    background-size: 79%;
+    border-radius: 10px;
+    flex-wrap: wrap;
+    background-position: 85px 279px;
+
+	}
+	.leftMid {
+		
+		width: 850px;
+		height: 300px;
+		/* border: 1px solid; */
+        margin-top: 10px;
+		border-radius: 10px;
+		/* background: white; */
+	}
+	.mainInfo {
+		line-height: 33px;
+		padding-left: 10px;
+		font-size: 30px;
+        color: white;
+	}
+	.subhead {
+		color: #a19f9c;
+		font-size: 16px;
+		padding-left: 10px;
+	}
+
+	.mainInfo2 {
+		line-height: 20px;
+		padding-left: 0px;
+		font-size: 16px;
+	}
+	.subhead2 {
+		color: #a19f9c;
+		font-size: 10px;
+		padding-left: 0px;
+	}
+	.zhengqi {
+		height: 180px;
+		width: 200px;
+		background-image: url(/src/assets/images/dry/liuliangji.png);
+		background-repeat: no-repeat;
+		background-size: 160px;
+		/* border-radius: 10px; */
+		background-position: 17px -6px;
+	}
+
+	.liuliangji {
+	}
+	.leftData {
+		height: 250px;
+		width: 120px;
+	}
+	.rightChart {
+		height: 270px;
+		width: 170px;
+		margin-top: -30px;
+	}
+	.leftTop0 {
+		height: 600px;
+		width: 848px;
+		display: flex;
+		justify-content: center;
+		align-content: flex-start;
+		flex-wrap: wrap;
+	}
+	.leftTop1 {
+		width: 250px;
+		height: 200px;
+		text-align: center;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		font-size: 30px;
+		color: #727272;
+		
+	}
+	.leftTop2 {
+		width: 250px;
+		height: 200px;
+		text-align: center;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		font-size: 30px;
+		color: #727272;
+	}
+	.leftTop3 {
+		width: 340px;
+		height: 200px;
+		/* background-image: url(/src/assets/images/dry/fanliao.gif); */
+		background-repeat: no-repeat;
+		background-position: 0px 20px;
+		background-size: 300px;
+		border-radius: 50px;
+	}
+
+	.eqpStatus {
+		width: 848px;
+		height: 300px;
+
+		padding: 100px;
+	}
+	.rightInfo {
+		display: flex;
+		flex-wrap: wrap;
+		align-content: flex-start;
+		height: 1060px;
+		width: 700px;
+	}
+
+	.rightTop {
+		display: flex;
+		height: 440px;
+		padding-left: 10px;
+	}
+	.rightTwo {
+		display: flex;
+		flex-wrap: wrap;
+	}
+
+	.infoChart {
+		width: 340px;
+		height: 300px;
+		/* background: white; */
+		margin-left: 10px;
+		margin-top: 10px;
+		border-radius: 10px;
+	}
+	.chartTittle {
+		width: 340px;
+		height: 30px;
+		font-size: 16px;
+		display: flex;
+		justify-content: space-between;
+		padding: 15px 15px;
+	}
+	.chartInfo {
+		width: 60px;
+		height: 180px;
+	}
+
+	.compareBar {
+		width: 55px;
+		height: 140px;
+	}
+	.margintop-30 {
+		margin-top: -30px;
+	}
+
+	.barTop {
+		width: 55px;
+		height: 30px;
+	}
+	.barBack {
+		width: 30px;
+		height: 100px;
+		/* border: 1px solid black; */
+		display: flex;
+		flex-wrap: wrap;
+		align-content: flex-end;
+	}
+	.barDiv {
+		width: 100%;
+
+		background-color: #1595ea;
+	}
+	.bad {
+		background-color: #973535;
+	}
+	.rightLabel {
+		width: 110px;
+		display: flex;
+		justify-content: space-between;
+	}
+	.label {
+		color: white;
+		text-align: center;
+		width: 50px;
+		border-radius: 4px;
+		height: 20px;
+		font-size: 10px;
+		line-height: 21px;
+	}
+	.good {
+		background-color: #0d6e24;
+	}
+
+	.mainInfo3 {
+		font-size: 24px;
+	}
+	.herbInfo {
+		width: 340px;
+		height: 440px;
+		color: #727272;
+	}
+
+	.curEqp {
+		width: 340px;
+		height: 170px;
+		/* background: white;
+		border-radius: 10px; */
+	}
+	.curHerb {
+		margin-top: 10px;
+		width: 340px;
+		height: 260px;
+		/* background: white;
+		border-radius: 10px; */
+		
+		background-repeat: no-repeat;
+		background-size: 200px;
+		background-position: 0px 10px;
+	}
+	.tempMoisChart {
+		width: 690px;
+		height: 440px;
+		/* background: white; */
+		
+		padding: 20px;
+		border-radius: 10px;
+	}
+	.topLeft {
+		margin: 20px 40px 60px 20px;
+		padding: 15px;
+		/* background: white; */
+		border-radius: 10px;
+		height: 325px;
+		width: 440px;
+		/* background-image: url(/src/assets/images/dry/yaocai.jpg); */
+		background-repeat: no-repeat;
+		background-size: 164px 132px;
+		background-position: 239px 65px;
+		display: flex;
+	}
+	.topMid {
+		margin: 20px 20px 60px 40px;
+		/* background: white; */
+		border-radius: 10px;
+		background-image: url(/src/assets/images/dry/fanliao.gif);
+		background-repeat: no-repeat;
+		background-position: 0px 20px;
+		background-size: 400px;
+		width: 400px;
+
+		padding: 20px;
+	}
+	.topRight {
+		margin: 20px 20px 60px 20px;
+		/* background: white; */
+		border-radius: 10px;
+		width: 700px;
+		padding: 20px;
+	}
+	.midLeft {
+		height: 450px;
+		width: 600px;
+		display: flex;
+		padding: 0 20px 20px 20px;
+	}
+	.midMid {
+		width: 500px;
+		padding-top: 50px;
+	}
+
+	.midRight {
+		background-image: url(/src/assets/images/dry/fengjixz.gif);
+		background-repeat: no-repeat;
+		background-position: 150px 260px;
+		background-size: 120px 120px;
+		width: 600px;
+	}
+
+	.shangJianTou {
+		margin-left: 140px;
+		width: 70px;
+		height: 100px;
+		background-image: url(/src/assets/images/dry/shangjiantoutou.gif);
+		background-repeat: no-repeat;
+		background-position: 0px 0px;
+		background-size: 70px 100px;
+	}
+
+	.zoujiantou {
+		margin-left: 225px;
+		margin-top: 30px;
+		width: 100px;
+		height: 70px;
+		background-image: url(/src/assets/images/dry/zuojiantou.gif);
+		background-repeat: no-repeat;
+		background-position: 0px 0px;
+		background-size: 100px 70px;
+	}
+	.fault {
+		padding: 10px;
+		height: 60px;
+		font-size: 26px;
+		width: 100%;
+		text-align: right;
+		color: red;
+	}
+	.eqpName {
+		padding: 20px;
+
+		height: 160px;
+	}
+
+	.formula {
+		display: flex;
+		width: 340px;
+		height: 40px;
+		padding: 0 20px;
+		justify-content: space-around;
+		justify-items: center;
+	}
+
+	.formulaItem {
+		display: flex;
+		justify-content: center;
+		width: 85px;
+		height: 40px;
+	}
+
+	.eqpInfoText {
+		font-size: 18px;
+		font-weight: bold;
+	}
+
+	:deep() .ant-slider-mark-text {
+		padding-left: 15px;
+		font-size: 10px;
+	}
+	:deep() .ant-slider-mark-text::before {
+		content: '';
+		display: block;
+		width: 6px;
+		height: 1px;
+		background-color: #1890ff;
+
+		position: absolute;
+		top: 10px;
+		left: 0px;
+	}
+	:deep() .ant-slider-rail {
+		width: 10px !important;
+		border-radius: 6px 6px 0 0;
+		background: linear-gradient(to top, #ce0000 0%, #ce0000 40%, #ce0000 75%, rgb(160, 160, 160) 100%);
+	}
+	:deep() .ant-slider-track {
+		background: rgb(216, 216, 216);
+
+		height: 20px;
+		width: 10px !important;
+		border-radius: 6px 6px 0 0;
+	}
+	:deep() .ant-slider-track:hover {
+	}
+	:deep() .ant-slider-handle {
+		display: none;
+	}
+	:deep() .ant-slider-dot {
+		display: none;
+	}
+	:deep() .ant-slider-step {
+		width: 10px !important;
+	}
+	:deep() .ant-slider-step > :first-child {
+		display: block !important;
+		width: 30px !important;
+		height: 30px !important;
+		bottom: -26px !important;
+		left: -6px;
+		border: none;
+		background: #ce0000;
+	}
+	:deep() .progress {
+		padding: 25px 25px;
+
+		width: 360px;
+		display: flex;
+	}
+	:deep() .ant-progress-bg {
+		height: 25px !important;
+	}
+	.outDiv {
+		display: flex;
+		justify-content: center;
+		justify-items: center;
+	}
+	.blingbling {
+		-webkit-animation: scaleout 1.5s infinite ease-in-out;
+		animation: scaleout 1.5s infinite ease-in-out;
+	}
+	.center {
+		display: flex;
+		justify-content: center;
+		justify-items: center;
+		align-items: center;
+		flex-wrap: wrap;
+		text-align: center;
+	}
+
+	.centerText {
+		width: 100%;
+		text-align: center;
+	}
+
+	@-webkit-keyframes scaleout {
+		0% {
+			-webkit-transform: scale(1);
+		}
+
+		100% {
+			-webkit-transform: scale(1.1);
+			opacity: 0;
+		}
+	}
+
+	@keyframes scaleout {
+		0% {
+			transform: scale(1);
+			-webkit-transform: scale(1);
+		}
+
+		100% {
+			transform: scale(1.1);
+			-webkit-transform: scale(1.1);
+			opacity: 0;
+		}
+	}
+</style>
diff --git a/src/views/dry/bigScreen/BigWorkShop.vue b/src/views/dry/bigScreen/BigWorkShop.vue
new file mode 100644
index 0000000..4370abf
--- /dev/null
+++ b/src/views/dry/bigScreen/BigWorkShop.vue
@@ -0,0 +1,14 @@
+<template>
+  <dv-full-screen-container>
+     
+  </dv-full-screen-container>
+</template>
+
+<script setup lang="ts">
+
+
+</script>
+
+<style scoped>
+
+</style>
\ No newline at end of file
diff --git a/src/views/dry/dataDefine/DryHerb.data.ts b/src/views/dry/dataDefine/DryHerb.data.ts
index 65bc579..a967ef6 100644
--- a/src/views/dry/dataDefine/DryHerb.data.ts
+++ b/src/views/dry/dataDefine/DryHerb.data.ts
@@ -28,51 +28,51 @@
     dataIndex: 'parts',
   },
 
-  {
-    title: '鍒濆鍚按鐜�',
-    align: 'center',
-    dataIndex: 'initial',
-  },
+  // {
+  //   title: '鍒濆鍚按鐜�',
+  //   align: 'center',
+  //   dataIndex: 'initial',
+  // },
   {
     title: '鐩爣鍚按鐜�',
     align: 'center',
     dataIndex: 'target',
   },
-  {
-    title: '鎶曟枡閲忥紙绛愶級',
-    align: 'center',
-    dataIndex: 'feed',
-  },
-  {
-    title: '棰勮骞茬嚗鏃堕棿',
-    align: 'center',
-    dataIndex: 'et',
-  },
+  // {
+  //   title: '鎶曟枡閲忥紙绛愶級',
+  //   align: 'center',
+  //   dataIndex: 'feed',
+  // },
+  // {
+  //   title: '棰勮骞茬嚗鏃堕棿',
+  //   align: 'center',
+  //   dataIndex: 'et',
+  // },
   {
     title: '鐑娓╁害',
     align: 'center',
     dataIndex: 'windTemp',
   },
-  {
-    title: '鐜娓╁害',
-    align: 'center',
-    dataIndex: 'envTemp',
-  },
-  {
-    title: '鐜婀垮害',
-    align: 'center',
-    dataIndex: 'envHum',
-  },
-  {
-    title: '鑽℃枡寤舵椂锛坢s锛�',
-    align: 'center',
-    dataIndex: 'delay',
-  },
-  {
-    title: '缈绘枡娆℃暟',
-    align: 'center',
-    dataIndex: 'turn',
-  },
+  // {
+  //   title: '鐜娓╁害',
+  //   align: 'center',
+  //   dataIndex: 'envTemp',
+  // },
+  // {
+  //   title: '鐜婀垮害',
+  //   align: 'center',
+  //   dataIndex: 'envHum',
+  // },
+  // {
+  //   title: '鑽℃枡寤舵椂锛坢s锛�',
+  //   align: 'center',
+  //   dataIndex: 'delay',
+  // },
+  // {
+  //   title: '缈绘枡娆℃暟',
+  //   align: 'center',
+  //   dataIndex: 'turn',
+  // },
   {
     title: '骞茬嚗鏂规硶',
     align: 'center',
@@ -160,29 +160,29 @@
     component: 'Input',
   },
 
-  {
-    label: '鍒濆鍚按鐜�',
-    field: 'initial',
-    component: 'InputNumber',
-  },
+  // {
+  //   label: '鍒濆鍚按鐜�',
+  //   field: 'initial',
+  //   component: 'InputNumber',
+  // },
   {
     label: '鐩爣鍚按鐜�',
     field: 'target',
     component: 'InputNumber',
   },
-  {
-    label: '鎶曟枡閲�',
-    field: 'feed',
-    component: 'InputNumber',
-  },
-  {
-    label: '棰勮骞茬嚗鏃堕棿',
-    field: 'et',
-    component: 'InputNumber',
-    dynamicRules: ({ model, schema }) => {
-      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
-    },
-  },
+  // {
+  //   label: '鎶曟枡閲�',
+  //   field: 'feed',
+  //   component: 'InputNumber',
+  // },
+  // {
+  //   label: '棰勮骞茬嚗鏃堕棿',
+  //   field: 'et',
+  //   component: 'InputNumber',
+  //   dynamicRules: ({ model, schema }) => {
+  //     return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
+  //   },
+  // },
   {
     label: '鐑娓╁害',
     field: 'windTemp',
@@ -191,38 +191,38 @@
       return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
     },
   },
-  {
-    label: '鐜娓╁害',
-    field: 'envTemp',
-    component: 'InputNumber',
-    dynamicRules: ({ model, schema }) => {
-      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
-    },
-  },
-  {
-    label: '鐜婀垮害',
-    field: 'envHum',
-    component: 'InputNumber',
-    dynamicRules: ({ model, schema }) => {
-      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
-    },
-  },
-  {
-    label: '鑽℃枡寤舵椂',
-    field: 'delay',
-    component: 'InputNumber',
-    dynamicRules: ({ model, schema }) => {
-      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
-    },
-  },
-  {
-    label: '缈绘枡娆℃暟',
-    field: 'turn',
-    component: 'InputNumber',
-    dynamicRules: ({ model, schema }) => {
-      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
-    },
-  },
+  // {
+  //   label: '鐜娓╁害',
+  //   field: 'envTemp',
+  //   component: 'InputNumber',
+  //   dynamicRules: ({ model, schema }) => {
+  //     return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
+  //   },
+  // },
+  // {
+  //   label: '鐜婀垮害',
+  //   field: 'envHum',
+  //   component: 'InputNumber',
+  //   dynamicRules: ({ model, schema }) => {
+  //     return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
+  //   },
+  // },
+  // {
+  //   label: '鑽℃枡寤舵椂',
+  //   field: 'delay',
+  //   component: 'InputNumber',
+  //   dynamicRules: ({ model, schema }) => {
+  //     return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
+  //   },
+  // },
+  // {
+  //   label: '缈绘枡娆℃暟',
+  //   field: 'turn',
+  //   component: 'InputNumber',
+  //   dynamicRules: ({ model, schema }) => {
+  //     return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
+  //   },
+  // },
   {
     label: '骞茬嚗鏂规硶',
     field: 'dryMethod',
diff --git a/src/views/dry/monitor/Eqp.vue b/src/views/dry/monitor/Eqp.vue
index 688c6c9..ff09a46 100644
--- a/src/views/dry/monitor/Eqp.vue
+++ b/src/views/dry/monitor/Eqp.vue
@@ -1,120 +1,43 @@
 <template>
-	<div class="eqpBox">
+	<div  class="eqpBox">
 		<div class="eqpRow">
-			<div class="eqpImage">
+			<div class="eqpImage" >
+				
 				<div class="leftEqp">
-					<div class="leftTop">
-						<div class="leftTop1">
-							<Icon icon="emojione:hourglass-with-flowing-sand" :size="50" />
-							<div>
-								<div class="mainInfo">{{ realData?.remain | 0 }}min</div>
-								<div class="subhead">鍓╀綑鏃堕棿</div>
-							</div>
-						</div>
-						<div class="leftTop1">
-							<!-- <Icon icon="mdi:chart-finance" :size="50" />
-							<div>
-								<div class="mainInfo">98 %</div>
-								<div class="subhead">骞茬嚗鏁堢巼</div>
-							</div> -->
-						</div>
-						<div class="leftTop3" :style="{ 'background-image': 'url(/src/assets/images/dry/' + realData?.gif + '.gif)' }"></div>
-						<div class="outDiv eqpStatus">
-							<div
-								style="
-									font-size: 28px;
-									margin-top: 60px;
-									color: white;
-									background-color: #1595ea;
-									height: 60px;
-									width: 180px;
-									line-height: 60px;
-									text-align: center;
-									border-radius: 5px;
-									font-weight: bold;
-								"
-							>
-								姝e湪骞茬嚗
-							</div>
-							<!-- <div
-								class="eqpInfoText blingbling"
-								style="
-									position: absolute;
-
-									max-height: 130px;
-									max-width: 360px;
-									border-radius: 10px;
-									background-color: #ce0000;
-									color: white;
-									padding: 10px;
-								"
-							>
-								<div class="outDiv">
-									<div><Icon icon="bx:error" :size="30" /> </div>
-									<div><span> 鏈変竴涓晠闅滐紝璇锋鏌ユ満鍣ㄣ��</span></div>
-								</div>
-							</div> -->
-						</div>
-					</div>
-					<div class="leftMid">
-						<div id="efficiencyLine" style="width: 780px; height: 150px"></div>
-						<div style="height: 0px; display: flex; width: 780px; padding: 0 60px; justify-content: space-between">
-							<div style="width: 100px; height: 20px">0 min</div>
-							<div style="width: 100px; height: 20px; text-align: right">{{ realData?.totalTime | 0 }} min</div>
-						</div>
-						<div id="progressBar" style="width: 780px; height: 80px"></div>
-					</div>
-					<!-- <div class="outDiv">
-						<div style="height: 100px; width: 400px">
-							<Progress
-								:stroke-color="{
-									from: '#108ee9',
-									to: '#87d068',
-								}"
-								:percent="realData?.percent"
-								status="active"
-								:show-info="false"
-							/>
-							<div style="padding-top: 10px; display: flex; justify-content: space-between; font-weight: bold">
-								<span>骞茬嚗 52 Min</span>
-								<span>棰勮 120 Min</span>
-							</div>
-						</div>
-					</div> -->
-				</div>
-				<div class="rightInfo">
-					<div class="rightTop">
-						<div class="herbInfo">
-							<div class="curEqp">
-								<div class="eqpName">
-									<div class="mainInfo" style="font-size: 26px">{{ eqp.name }}</div>
-									<div class="subhead">{{ eqp.type }}</div>
+					<div style="width: 300px;  ">
+					<div class="herbInfo">
+						
+							<dv-border-box7 class="curEqp">
+								<div class="eqpName"  @click="changeEqp">
+									<div class="mainInfo" style="font-size: 26px">{{ eqp?.name }}</div>
+									<div class="subhead">{{ eqp?.type }}</div>
+									<!-- <dv-decoration-1 style="width:150px;height:60px; margin-left: 20px;" /> -->
 									<!-- 璁惧锛歿{ eqp.name }}</div>
 								<div class="eqpName">鍨嬪彿锛歿{ eqp.type }}</div> -->
 								</div>
-							</div>
-							<div class="curHerb">
+							</dv-border-box7>
+							<dv-border-box7 class="curHerb" :style="{'background-image': 'url(/src/assets/images/dry/yaocai/'+realData?.herbImage+')'}">
 								<div class="eqpName" style="margin-left: 100px">
 									<div class="mainInfo" style="font-size: 26px">{{ realData?.herbName }}</div>
 									<div class="subhead">骞茬嚗閰嶆柟</div>
 								</div>
 								<div class="formula">
 									<div class="formulaItem">
-										<Icon icon="icon-park-twotone:box" :size="35" />
+										<Icon  style="color: powderblue"  icon="icon-park-twotone:box" :size="35" />
 										<div>
 											<div class="mainInfo2">{{ realData?.feed }}绛�</div>
 											<div class="subhead2">鎶曟枡閲�</div>
 										</div>
 									</div>
 									<div class="formulaItem">
-										<Icon icon="bx:wind" :size="35" />
+										<Icon  style="color: red"  icon="bx:wind" :size="35" />
 										<div>
 											<div class="mainInfo2">{{ realData?.windTemp }}掳C</div>
 											<div class="subhead2">鐑</div>
 										</div>
 									</div>
 									<div class="formulaItem">
-										<Icon icon="tabler:target-arrow" :size="35" />
+										<Icon  style="color: green"  icon="tabler:target-arrow" :size="35" />
 										<div>
 											<div class="mainInfo2">{{ realData?.target }}%</div>
 											<div class="subhead2">鐩爣</div>
@@ -123,14 +46,15 @@
 								</div>
 								<!-- <div class="eqpName">{{ realData?.herbName }}</div>
 								<div class="eqpName">{{ realData?.feed }} 绛�</div> -->
+							</dv-border-box7>
+						</div>
+						<!-- <dv-border-box7 class="infoChart" style="margin-left: 0px;">
+							<div class="chartTittle">椋庢満棰戠巼</div>
+							<div class="outDiv" style="padding-top: 10px">
+								<div id="fanFreq" style="width: 220px; height: 200px"></div>
 							</div>
-						</div>
-						<div class="tempMoisChart">
-							<div :id="'moisChart'" style="width: 550px; height: 320px"></div>
-						</div>
-					</div>
-					<div class="rightTwo">
-						<div class="infoChart">
+						</dv-border-box7> -->
+						<dv-border-box7 class="infoChart" style="margin-left: 0px;">
 							<div class="chartTittle">鍚按鐜�</div>
 							<div class="outDiv" style="padding-top: 20px">
 								<div class="leftData">
@@ -156,25 +80,113 @@
 								<div id="moisture" style="width: 170px; height: 133px"></div>
 							</div>
 							<div class="subhead2" style="margin-top: -37px; padding-left: 172px">瀹炴椂鍚按鐜�</div>
+						</dv-border-box7>
+				</div>
+					<dv-border-box7  class="leftTop">
+
+						<div class="leftTop0">
+						<div class="leftTop1">
+							<Icon icon="emojione:hourglass-with-flowing-sand" :size="50" />
+							<div>
+								<div class="mainInfo">{{ realData?.totalRemain | 0 }}min</div>
+								<div class="subhead">鍓╀綑鏃堕棿</div>
+							</div>
 						</div>
-						<div class="infoChart">
+						<div class="leftTop1">
+							<Icon icon="bi:fan" :size="50" />
+							<div>
+								<div class="mainInfo">{{ realData.trendVo?.fanFrequency | 0 }} Hz</div>
+								<div class="subhead">椋庢満棰戠巼</div>
+							</div>
+						</div>
+						<div class="leftTop3" :style="{ 'background-image': 'url(/src/assets/images/dry/' + statusGif + '.gif)' }"></div>
+						<div class="outDiv eqpStatus">
+							<div
+								style="
+									font-size: 28px;
+									margin-top: 60px;
+									color: white;
+									background-color: #1595ea;
+									height: 60px;
+									width: 180px;
+									line-height: 60px;
+									text-align: center;
+									border-radius: 5px;
+									font-weight: bold;
+								"
+							>
+								{{ statusTxt }}
+							</div>
+							<div v-if="realData?.isError"
+								class="eqpInfoText blingbling"
+								style="
+									position: absolute;
+
+									max-height: 130px;
+									max-width: 360px;
+									border-radius: 10px;
+									background-color: #ce0000;
+									color: white;
+									padding: 10px;
+								"
+							>
+								<div class="outDiv">
+									<div><Icon icon="bx:error" :size="30" /> </div>
+									<div><span> {{realData?.errorMsg}}</span></div>
+								</div>
+							</div>
+						</div>
+					</div>
+					</dv-border-box7>
+						
+					<dv-border-box7 class="infoChart" style="margin-left: 0px; margin-right: 10px;">
 							<div class="chartTittle">椋庣娓╁害</div>
 							<div class="outDiv">
 								<div id="bellowsTemp" style="width: 220px; height: 200px">
 									<Icon icon="emojione:hourglass-with-flowing-sand" :size="50" />
 								</div>
 							</div>
+						</dv-border-box7>
+					<dv-border-box7 class="leftMid">
+						<div class="chartTittle">瀹炴椂杩涘害</div>
+						<div id="efficiencyLine" style="width: 780px; height: 130px; margin-top: -10px"></div>
+						<div style="height: 10px; display: flex; width: 780px; padding: 0 60px; justify-content: space-between">
+							<div style="width: 100px; height: 20px">0 min</div>
+							<div style="width: 100px; height: 20px; text-align: right">{{ realData?.totalTime | 0 }} min</div>
 						</div>
-						<div class="infoChart">
-							<div class="chartTittle">椋庢満棰戠巼</div>
-							<div class="outDiv" style="padding-top: 10px">
-								<div id="fanFreq" style="width: 220px; height: 200px"></div>
+						<div id="progressBar" style="width: 780px; height: 80px"></div>
+					</dv-border-box7>
+			
+					<!-- <div class="outDiv">
+						<div style="height: 100px; width: 400px">
+							<Progress
+								:stroke-color="{
+									from: '#108ee9',
+									to: '#87d068',
+								}"
+								:percent="realData?.percent"
+								status="active"
+								:show-info="false"
+							/>
+							<div style="padding-top: 10px; display: flex; justify-content: space-between; font-weight: bold">
+								<span>骞茬嚗 52 Min</span>
+								<span>棰勮 120 Min</span>
 							</div>
 						</div>
-						<div class="infoChart">
+					</div> -->
+				</div>
+				<div class="rightInfo">
+					<div class="rightTop">
+						
+						<dv-border-box7 class="tempMoisChart">
+							<div :id="'moisChart'" style="width: 550px; height: 320px"></div>
+						</dv-border-box7>
+					</div>
+					<div class="rightTwo">
+						<dv-border-box7 class="infoChart">
 							<div class="chartTittle">
 								骞茬嚗鏁堢巼(kg/h)
-								<div style="width: 120px; display: flex; justify-content: space-between">
+								<div class="rightLabel">
 									<div class="label good">&gt;{{ standard.xiaolv }} 浼� </div>
 									<div class="label bad">&lt;{{ standard.xlMin }} 宸�</div>
 								</div>
@@ -227,11 +239,13 @@
 									</div>
 								</div>
 							</div>
-						</div>
-						<div class="infoChart">
+						</dv-border-box7>
+
+						
+						<dv-border-box7 class="infoChart">
 							<div class="chartTittle"
 								>钂告苯娑堣��(m鲁/kg)
-								<div style="width: 120px; display: flex; justify-content: space-between">
+								<div class="rightLabel">
 									<div class="label bad">&gt;{{ standard.zhengqi }} 宸�</div>
 									<div class="label good">&lt;{{ standard.zqMin }} 浼�</div>
 								</div>
@@ -240,16 +254,16 @@
 								<div class="leftData">
 									<div class="center" style="height: 100%">
 										<div class="centerText">
-											<div class="mainInfo3"><span>45</span>m鲁 </div>
+											<div class="mainInfo3"><span>{{realData?.steam}}</span>m鲁 </div>
 											<div class="subhead2">钂告苯鐢ㄩ噺</div>
 										</div>
 									</div>
 								</div>
 								<div class="rightChart center">
 									<div class="center compareBar">
-										<div class="barTop">25</div>
+										<div class="barTop">{{standard.zhengqi}}</div>
 										<div class="barBack">
-											<div class="barDiv" id="zhengqiS"></div>
+											<div class="barDiv" :style="{ height: realData?.zqsHeight }"></div>
 										</div>
 										<div style="line-height: 18px">
 											棰濆畾
@@ -258,9 +272,10 @@
 										</div>
 									</div>
 									<div class="center compareBar">
-										<div class="barTop">26</div>
+										<div class="barTop">{{realData?.zhengqi | 0 }}</div>
 										<div class="barBack">
-											<div class="barDiv" id="zhengqiR"> </div>
+											<div class="barDiv" :class="{ good: realData?.zqgood, bad: realData?.zqbad }"
+												:style="[realData?.zqrHeight && { height: realData?.zqrHeight }]"> </div>
 										</div>
 										<div style="line-height: 18px">
 											瀹炴椂
@@ -270,10 +285,16 @@
 									</div>
 								</div>
 							</div>
-						</div>
-						<div class="infoChart">
+						</dv-border-box7>
+						<dv-border-box7 class="infoChart" >
+							<div class="chartTittle">鏁堢巼瀵规瘮</div>
+							<div class="outDiv" style="padding-top: 10px">
+								<div id="compare" style="width: 300px; height: 200px"></div>
+							</div>
+						</dv-border-box7>
+						<dv-border-box7 class="infoChart">
 							<div class="chartTittle">
-								<div> 鐢佃兘娑堣�楋紙kw/h/kg锛� </div>
+								<div> 鐢佃兘娑堣��(kWh/kg)</div>
 								<div class="rightLabel">
 									<div class="label bad">&gt;{{ standard.dian }} 宸�</div>
 									<div class="label good">&lt;{{ standard.dMin }} 浼�</div>
@@ -283,16 +304,16 @@
 								<div class="leftData">
 									<div class="center" style="height: 100%">
 										<div class="centerText">
-											<div class="mainInfo3"><span>45</span>kw/h </div>
+											<div class="mainInfo3"><span>{{realData?.watt}}</span>kWh </div>
 											<div class="subhead2">鐢佃兘鐢ㄩ噺</div>
 										</div>
 									</div>
 								</div>
 								<div class="rightChart center">
 									<div class="center compareBar">
-										<div class="barTop">12</div>
+										<div class="barTop">{{standard.dian}}</div>
 										<div class="barBack">
-											<div class="barDiv" id="dianS"></div>
+											<div class="barDiv" :style="{ height: realData?.dnsHeight }"></div>
 										</div>
 										<div style="line-height: 18px">
 											棰濆畾
@@ -301,9 +322,10 @@
 										</div>
 									</div>
 									<div class="center compareBar">
-										<div class="barTop">10</div>
+										<div class="barTop">{{realData?.dian | 0}}</div>
 										<div class="barBack">
-											<div class="barDiv" id="dianR"></div>
+											<div class="barDiv" :class="{ good: realData?.dngood, bad: realData?.dnbad }"
+												:style="[realData?.dnrHeight && { height: realData?.dnrHeight }]"></div>
 										</div>
 										<div style="line-height: 18px">
 											瀹炴椂
@@ -313,7 +335,7 @@
 									</div>
 								</div>
 							</div>
-						</div>
+						</dv-border-box7>
 					</div>
 				</div>
 			</div>
@@ -322,6 +344,8 @@
 </template>
 
 <script setup lang="ts">
+  import { useFullscreen } from '@vueuse/core';
+	import { BorderBox13 as DvBorderBox7 } from '@kjgl77/datav-vue3'
 	import { router } from '/@/router'
 	import { onMounted, ref, onUnmounted } from 'vue'
 	import { Progress } from 'ant-design-vue'
@@ -332,6 +356,10 @@
 	import { queryById } from '../api/DryEquipment.api'
 	import { dryEquipment } from '../dataDefine/DryEquipment.data'
 	import { useUserStore } from '/@/store/modules/user'
+	const domRef = ref<Nullable<HTMLElement>>(null);
+		const { enter, toggle, exit, isFullscreen } = useFullscreen();
+
+const { toggle: toggleDom } = useFullscreen(domRef);
 	const Timer = ref()
 	const marks = ref<Record<number, any>>({
 		0: '0掳C',
@@ -436,6 +464,7 @@
 		99: '',
 		100: '100掳C',
 	})
+	
 	const eqp = ref({} as dryEquipment)
 	const userStore = useUserStore()
 	const realData = ref({})
@@ -448,42 +477,51 @@
 		dMin: 7.5,
 	})
 	//realData.value.tempValue = [0, 100]
-	realData.value.mois = [0, 0, 0]
+	realData.value.mois = [0.5, 0.35, 0.2]
+	realData.value.gif = 'tmrefeng2'
+	realData.value.herbImage = 'yaocai1.png'
 	var moisChart: echarts.ECharts
 	var waterChart: echarts.ECharts
 
 	var bellowsTempChart: echarts.ECharts
-	var fanFreqChart: echarts.ECharts
+	// var fanFreqChart: echarts.ECharts
 	var progressBarChart: echarts.ECharts
 	var efficiencyLineChart: echarts.ECharts
 
+	var compareChart: echarts.ECharts
 	function initCharts() {
 		let domId = 'moisChart'
 		let chartDom: HTMLElement = document.getElementById(domId) as HTMLElement
 		let waterDom: HTMLElement = document.getElementById('moisture') as HTMLElement
 		let bellowsTempDom: HTMLElement = document.getElementById('bellowsTemp') as HTMLElement
-		let fanFreqDom: HTMLElement = document.getElementById('fanFreq') as HTMLElement
+		// let fanFreqDom: HTMLElement = document.getElementById('fanFreq') as HTMLElement
 		let progressBarDom: HTMLElement = document.getElementById('progressBar') as HTMLElement
 		let efficiencyLineDom: HTMLElement = document.getElementById('efficiencyLine') as HTMLElement
+		let compaerDom: HTMLElement = document.getElementById('compare') as HTMLElement
 		// let weightDom: HTMLElement = document.getElementById('weight') as HTMLElement
 		moisChart = echarts.init(chartDom)
 		waterChart = echarts.init(waterDom)
 		bellowsTempChart = echarts.init(bellowsTempDom)
-		fanFreqChart = echarts.init(fanFreqDom)
+		//fanFreqChart = echarts.init(fanFreqDom)
 		progressBarChart = echarts.init(progressBarDom)
 		efficiencyLineChart = echarts.init(efficiencyLineDom)
+		compareChart = echarts.init(compaerDom)
 
 		const option = {
-			color: ['#2C4D90', '#CE0000'],
+			color: ['green', 'red'],
 			title: {
-				text: '鍚按鐜囨俯搴﹁秼鍔�',
+				text: '鍚按鐜�/娓╁害瓒嬪娍',
+				textStyle: {
+					//color: '#fff',
+					fontSize: 15
+				},
 			},
 			tooltip: {
 				trigger: 'axis',
 			},
 			grid: {
 				left: 50,
-				right: 50,
+				right: 70,
 				top: 50,
 				bottom: 40,
 			},
@@ -549,6 +587,19 @@
 					markLine: {
 						data: [{ type: 'average', name: 'Avg' }],
 					},
+					areaStyle: {
+						opacity: 0.2,
+						color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+						{
+							offset: 0,
+							color: 'rgb(128, 255, 165)'
+						},
+						{
+							offset: 1,
+							color: 'rgb(1, 191, 236)'
+						}
+						])
+					},
 				},
 				{
 					name: '娓╁害',
@@ -561,6 +612,19 @@
 					],
 					lineStyle: {
 						width: 1,
+					},
+					areaStyle: {
+						opacity: 0.2,
+						color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+						{
+							offset: 0,
+							color: 'rgb(255, 0, 135)'
+						},
+						{
+							offset: 1,
+							color: 'rgb(135, 0, 157)'
+						}
+						])
 					},
 					// markLine: {
 					// 	data: [
@@ -595,7 +659,7 @@
 					amplitude: 3,
 					animationDuration: 5,
 					//animationDurationUpdate: 0,
-					data: realData.value.mois,
+					data: [0.56,0.44,0.32],
 					shape:
 						'path://M828.817,706.209C828.817,881.725,686.98,1024,512,1024c-174.98,0-316.817-142.275-316.817-317.791C195.183,530.74,512,0,512,0s316.817,530.74,316.817,706.209z',
 					outline: {
@@ -731,60 +795,60 @@
 			],
 		}
 
-		const fanFreqOption = {
-			series: [
-				{
-					type: 'gauge',
-					progress: {
-						show: true,
-						width: 9,
-					},
-					axisLine: {
-						lineStyle: {
-							width: 9,
-						},
-					},
-					axisTick: {
-						show: false,
-					},
-					splitLine: {
-						distance: 3,
-						length: 4,
-						lineStyle: {
-							width: 1,
-							color: '#999',
-						},
-					},
-					axisLabel: {
-						distance: 15,
-						color: '#999',
-						fontSize: 10,
-					},
-					anchor: {
-						show: true,
-						showAbove: true,
-						size: 10,
-						itemStyle: {
-							borderWidth: 3,
-						},
-					},
-					title: {
-						show: false,
-					},
-					detail: {
-						valueAnimation: true,
-						fontSize: 20,
-						offsetCenter: [0, '70%'],
-						formatter: '{value}Hz',
-					},
-					data: [
-						{
-							value: 56,
-						},
-					],
-				},
-			],
-		}
+		// const fanFreqOption = {
+		// 	series: [
+		// 		{
+		// 			type: 'gauge',
+		// 			progress: {
+		// 				show: true,
+		// 				width: 9,
+		// 			},
+		// 			axisLine: {
+		// 				lineStyle: {
+		// 					width: 9,
+		// 				},
+		// 			},
+		// 			axisTick: {
+		// 				show: false,
+		// 			},
+		// 			splitLine: {
+		// 				distance: 3,
+		// 				length: 4,
+		// 				lineStyle: {
+		// 					width: 1,
+		// 					color: '#999',
+		// 				},
+		// 			},
+		// 			axisLabel: {
+		// 				distance: 15,
+		// 				color: '#999',
+		// 				fontSize: 10,
+		// 			},
+		// 			anchor: {
+		// 				show: true,
+		// 				showAbove: true,
+		// 				size: 10,
+		// 				itemStyle: {
+		// 					borderWidth: 3,
+		// 				},
+		// 			},
+		// 			title: {
+		// 				show: false,
+		// 			},
+		// 			detail: {
+		// 				valueAnimation: true,
+		// 				fontSize: 20,
+		// 				offsetCenter: [0, '70%'],
+		// 				formatter: '{value}Hz',
+		// 			},
+		// 			data: [
+		// 				{
+		// 					value: 56,
+		// 				},
+		// 			],
+		// 		},
+		// 	],
+		// }
 		// const weightOption = {
 		// 	// 		title: {
 		// 	//   text: 'Referer of a Website',
@@ -1001,13 +1065,16 @@
 				trigger: 'axis',
 			},
 			grid: {
-				top: '20%',
+				top: '30%',
 				left: '17',
 				right: '57',
 				bottom: '0%',
 				containLabel: true,
 			},
-			legend: {},
+			legend: {
+				right: 60,
+				
+			},
 			xAxis: {
 				show: false,
 				axisLine: {
@@ -1033,6 +1100,7 @@
 				axisLabel: {
 					formatter: '{value} 掳C',
 				},
+				max: standard.value.xiaolv + 3,
 			},
 			series: [
 				{
@@ -1054,6 +1122,19 @@
 							{ type: 'min', name: 'Min' },
 						],
 					},
+					markLine: {
+									symbol: 'none',
+									data: [
+										{
+											name: '棰濆畾',
+											yAxis: standard.value.xiaolv,
+										},
+									],
+									label: {
+										formatter: '{b}\n{c}',
+									
+									},
+								},
 					// markLine: {
 					// 	data: [{ type: 'average', name: 'Avg' }],
 					// },
@@ -1061,14 +1142,62 @@
 			],
 		}
 
+		const compareOption = {
+					
+					tooltip: {
+						trigger: 'axis',
+					
+					},
+					grid: {
+						top: '6%',
+						left: '10%',
+						right: '10%',
+						bottom: '3%',
+						containLabel: true
+					},
+					xAxis: {
+						show: false,
+						type: 'value',
+					
+					},
+					yAxis: {
+						axisLine: {
+							show:false,
+						},
+						axisTick: {
+							show: false,
+						},
+						type: 'category',
+						data: ['1#', '2#', '3#', '4#', '5#', '6#']
+					},
+					series: [
+						{
+							name: '2011',
+							type: 'bar',
+							barWidth: 10,
+							data: [190, 89, 34, 70, 44, 30],
+							label: {
+								show: true,
+								position: 'right',
+								valueAnimation: true,
+								
+								color: '#fff' 
+							}
+						},
+					]
+				}
+		
+
 		option && moisChart.setOption(option)
 		waterOption && waterChart.setOption(waterOption)
 		bellowsOption && bellowsTempChart.setOption(bellowsOption)
-		fanFreqOption && fanFreqChart.setOption(fanFreqOption)
+		//fanFreqOption && fanFreqChart.setOption(fanFreqOption)
 
 		progressBarOption && progressBarChart.setOption(progressBarOption)
 		efficiencyLineOption && efficiencyLineChart.setOption(efficiencyLineOption)
+		compareOption && compareChart.setOption(compareOption)
 	}
+
 
 	function queryEqp() {
 		queryById({ id: router.currentRoute.value.params.id }).then((res) => {
@@ -1079,13 +1208,39 @@
 		})
 	}
 
+
+	var shangliaoFlag = false;
+	var statusGif = 'tmrefeng2';
+	var statusTxt = '姝e湪骞茬嚗'
+
+	function chaiwangban() {
+		statusGif = 'chaiwangban-1'
+		setTimeout(shangliao,7000)
+					
+	}
+
+	function shangliao() {
+		statusGif = "shangliao-N"
+		setTimeout(()=>{
+			statusGif = "zhuangwangban"
+			setTimeout(()=>{
+				statusGif = "guanmen1"
+				setTimeout(()=>{
+					shangliaoFlag = false
+				},4000)
+				
+			},5000)
+		},13000)
+	}
+
 	function queryRealTime() {
 		let tenantId = userStore.getTenant
 		let eqpCode = eqp.value.code
 		let queryRealTimeUrl = '/dry/real/getRealTimeData'
 		defHttp.get({ url: queryRealTimeUrl, params: { tenantid: tenantId, machineid: eqpCode } }).then((res) => {
-			//console.log(`output->res`, res)
+			
 			if (res && res.trendVo) {
+				console.log(`output->re11s`, res)
 				//	res.tempValue = [res.windTemp, 100]
 				//res.percent = ((res.dryTime / res.et) * 100).toFixed(2)
 				/**姘存淮鍥惧惈姘撮噺 */
@@ -1117,19 +1272,19 @@
 					})
 				}
 				/**椋庢満棰戠巼鐜舰鍥� */
-				if (fanFreqChart) {
-					fanFreqChart.setOption({
-						series: [
-							{
-								data: [
-									{
-										value: res.trendVo.fanFrequency,
-									},
-								],
-							},
-						],
-					})
-				}
+				// if (fanFreqChart) {
+				// 	fanFreqChart.setOption({
+				// 		series: [
+				// 			{
+				// 				data: [
+				// 					{
+				// 						value: res.trendVo.fanFrequency,
+				// 					},
+				// 				],
+				// 			},
+				// 		],
+				// 	})
+				// }
 				/**骞茬嚗杩涘害銆佽蛋鍔夸笌闃舵鏁堢巼鍜岄樁娈垫秷鑰� */
 				if (res && res.detailList) {
 					var progressSeries = []
@@ -1140,12 +1295,14 @@
 					var beforeWeight = 0
 					res.moisList = []
 
+					beforeWeight = res.originWeight
 					res.detailList.forEach((item) => {
-						console.log(`output->item`, item)
+						//console.log(`output->item`, item)
 						res.moisList.push([item.totalTime, item.moisture])
-						console.log(`output->totalTime,item.totalTime`, totalTime, item.totalTime)
+						//console.log(`output->totalTime,item.totalTime`, totalTime, item.totalTime)
 						var curDryTime = item.totalTime - totalTime
-
+						//console.log("curDryTime:", curDryTime)
+						//console.log("bw:",beforeWeight,"iw:", item.weight);
 						if (curDryTime > 0) {
 							progressSeries.push({
 								name: item.moisture,
@@ -1184,7 +1341,7 @@
 								],
 							})
 						}
-
+						res.totalRemain = res.remain - (res.dryTime - totalTime)>0?res.remain - (res.dryTime - totalTime):0
 						progressSeries.push({
 							name: '鍓╀綑',
 							type: 'bar',
@@ -1208,7 +1365,7 @@
 
 					/**骞茬嚗杩涘害 */
 					if (progressBarChart) {
-						console.log(`output->progressSeries`, progressSeries)
+						//console.log(`output->progressSeries`, progressSeries)
 						progressBarChart.setOption(
 							{
 								xAxis: {
@@ -1223,12 +1380,39 @@
 					res.totalTime = totalTime + res.remain
 					/**骞茬嚗鏁堢巼銆佹秷鑰� */
 					if (efficiencyLineChart) {
-						console.log(`output->ganZaoXiaoLv`, ganZaoXiaoLv)
+						//console.log(`output->ganZaoXiaoLv`, ganZaoXiaoLv)
 						efficiencyLineChart.setOption({
 							xAxis: {
 								max: totalTime + res.remain,
 							},
-							series: [{ data: ganZaoXiaoLv }, { data: zhengQiXiaoHao }, { data: dianNengXiaoHao }],
+							yAxis: {
+								max: function (value) {
+									
+									console.log("max::",value);
+										if (value.max < standard.value.xiaolv + 3) {
+											return standard.value.xiaolv + 3
+										} else {
+											return value.max
+										}
+									},
+								
+								
+								
+							},
+							series: [{ data: ganZaoXiaoLv,
+								markLine: {
+								symbol: 'none',
+									data: [
+										{
+											name: '棰濆畾',
+											yAxis: standard.value.xiaolv,
+										},
+									],
+									label: {
+										formatter: '{b}\n{c}',
+										
+									},
+							} }, { data: zhengQiXiaoHao }, { data: dianNengXiaoHao }],
 						})
 					}
 
@@ -1276,7 +1460,12 @@
 				}
 
 				/**鏁堢巼瀵规瘮鍥� */
-				res.xiaolv = (((res.originWeight - res.yield) / res.dryTime) * 60).toFixed(2)
+				if( (res.originWeight - res.yield) <= 0) {
+					res.xiaolv =  standard.value.xiaolv + 6
+				} else {
+					res.xiaolv = (((res.originWeight - res.yield) / res.dryTime) * 60).toFixed(2)
+				}
+				
 				if (res.xiaolv > standard.value.xiaolv) {
 					res.xlgood = true
 					res.xlsHeight = (standard.value.xiaolv / res.xiaolv) * 100 + '%'
@@ -1285,13 +1474,130 @@
 					res.xlbad = true
 					res.xlsHeight = '100%'
 					res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%'
+				} else {
+					res.xlsHeight = '100%'
+					res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%'
 				}
 
-				/**gif鍔ㄥ浘 */
-				res.gif = 'refeng2'
+
+				
+				/** 钂告苯娑堣�� */
+				if( (res.originWeight - res.yield) <= 0) {
+					res.zhengqi = standard.value.zhengqi -3
+				} else {
+					res.zhengqi = (res.steam / (res.originWeight - res.yield)).toFixed(1)
+				}
+				console.log('zhengqi:', res.zhengqi);
+				if (res.zhengqi > standard.value.zhengqi) {
+					res.zqbad = true
+					res.zqsHeight = (standard.value.zhengqi / res.zhengqi) * 100 + '%'
+					res.zqrHeight = '100%'
+				} else if (res.zhengqi < standard.value.zqMin) {
+					res.zqgood = true
+					res.zqsHeight = '100%'
+					res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%'
+				} else {
+					res.zqsHeight = '100%'
+					res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%'
+				}
+
+				
+				
+				/** 鐢佃兘娑堣�� */
+				if( (res.originWeight - res.yield) <= 0) {
+					res.dian = standard.value.dian -1.5
+				} else {
+					res.dian = (res.watt / (res.originWeight - res.yield)).toFixed(1)
+				}
+				
+				if (res.dian > standard.value.dian) {
+					res.dnbad = true
+					res.dnsHeight = (standard.value.dian / res.dian) * 100 + '%'
+					res.dnrHeight = '100%'
+				} else if (res.dian < standard.value.dMin) {
+					
+					res.dngood = true
+					res.dnsHeight = '100%'
+					res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%'
+				} else {
+					res.dnsHeight = '100%'
+					res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%'
+				}
+
+				/**鐘舵��/gif鍔ㄥ浘 */
+				if (!shangliaoFlag) {
+					if (res.orderStatus == 0) {
+					statusGif = 'zanting'
+					statusTxt = '鍑嗗'
+				} else if (res.orderStatus == 1) {
+					shangliaoFlag = true
+					statusGif = 'kaimen1'
+					statusTxt = '涓婃枡'
+					setTimeout(chaiwangban,4000)
+				} else if (res.orderStatus == 2) {
+					if(res.state_fan == 1) {
+						statusGif = 'tmrefeng2'
+						statusTxt = '姝e湪骞茬嚗'
+					}
+
+					if(res.state_roller == 4) {
+						statusGif = 'fanliao-N'
+						statusTxt = '姝e湪缈绘枡'
+					}
+
+					if (res.state_roller == 5) {
+						statusGif = 'chuliao-N'
+						statusTxt = '姝e湪鍑烘枡'
+					}
+					
+					if (res.state_windbox == 2 || res.state_windbox == 3) {
+						statusGif = 'fengxiangsheng-1'
+						statusTxt = '姝e湪骞茬嚗'
+					}
+				} else if(res.orderStatus == 3) {
+					statusGif = 'zanting'
+					statusTxt = '鏆傚仠'
+				} else if(res.orderStatus == 4) {
+					statusGif = 'zanting'
+					statusTxt = '骞茬嚗瀹屾垚'
+				}
+				}
+				
+
+				if (compareChart) {
+					compareChart.setOption({
+						yAxis: {
+							data: res.compEqpNum
+						},
+						series: {
+							data: res.compEqpEffic
+						}
+					})
+				}
+
+				res.herbImage = 'yaocai1.png'
+
+				if (res.herbName == '鐧借姳铔囪垖鑽�') {
+					res.herbImage = 'baihuasheshecao.png'
+				} else if (res.herbName == '绯ョɑ鏍�') {
+					res.herbImage = 'nuodaogen.png'
+				} else if (res.herbName == '娣緤钘�') {
+					res.herbImage = 'yinyanghuo.png'
+				} else if (res.herbName == '椹娇鑻�') {
+					res.herbImage = 'machixian.png'
+				} else if (res.herbName == '澧ㄦ棻鑾�') {
+					res.herbImage = 'mohanlian.png'
+				} else if (res.herbName == '妗戠櫧鐨�') {
+					res.herbImage = 'sangbaipi.png'
+				}
+				res.isError = false
+
+				res.errorMsg = '鏈変竴涓晠闅滐紝璇锋鏌ャ��'
 			} else {
 				res = {
 					mois: [],
+					gif: 'tmrefeng2',
+					herbImage: 'yaocai1.png'
 				}
 			}
 			console.log(`output->res`, res)
@@ -1316,14 +1622,15 @@
 		height: 100%;
 	}
 	.eqpRow {
+		background: white;
 	}
 	.eqpImage {
 		height: 860px;
 		width: 1800px;
-		background-image: url(/src/assets/images/dry/ganzaoji-x.png);
-		background-repeat: no-repeat;
+		 /* background-image: url(/src/assets/images/dry/bg.png);
+		background-repeat: no-repeat; */
 
-		background-position: 160px 280px;
+		/*background-position: 160px 280px; */
 		/* background-color: red; */
 		padding: 10px;
 		display: flex;
@@ -1333,7 +1640,10 @@
 
 	.leftEqp {
 		height: 840px;
-		width: 780px;
+		width: 1080px;
+		display: flex;
+		flex-wrap: wrap;
+		
 		/* background-color: white;
 		background-image: url(/src/assets/images/dry/shebei1.png);
 		background-repeat: no-repeat;
@@ -1344,25 +1654,35 @@
 
 	.leftTop {
 		height: 600px;
+		width: 780px;
 		display: flex;
 		justify-content: center;
 		align-content: flex-start;
-		background-color: white;
+		/* background-color: white; */
 		background-image: url(/src/assets/images/dry/shebei1.png);
 		background-repeat: no-repeat;
 		background-size: 110%;
 		border-radius: 10px;
 		flex-wrap: wrap;
 		background-position: -78px 119px;
+
+	}
+	.leftTop0 {
+		height: 600px;
+		width: 780px;
+		display: flex;
+		justify-content: center;
+		align-content: flex-start;
+		flex-wrap: wrap;
 	}
 	.leftMid {
-		padding-top: 10px;
+		
 		width: 780px;
 		height: 230px;
 		/* border: 1px solid; */
 		margin-top: 10px;
 		border-radius: 10px;
-		background: white;
+		/* background: white; */
 	}
 	.mainInfo {
 		line-height: 33px;
@@ -1415,6 +1735,7 @@
 		align-items: center;
 		font-size: 30px;
 		color: #727272;
+		
 	}
 	.leftTop2 {
 		width: 250px;
@@ -1447,7 +1768,7 @@
 		flex-wrap: wrap;
 		align-content: flex-start;
 		height: 850px;
-		width: 900px;
+		width: 600px;
 	}
 
 	.rightTop {
@@ -1463,7 +1784,7 @@
 	.infoChart {
 		width: 290px;
 		height: 230px;
-		background: white;
+		/* background: white; */
 		margin-left: 10px;
 		margin-top: 10px;
 		border-radius: 10px;
@@ -1507,14 +1828,15 @@
 		background-color: #1595ea;
 	}
 	.bad {
-		background-color: #fdcb6e;
+		background-color: #ed6f6f;
 	}
 	.rightLabel {
-		width: 120px;
+		width: 110px;
 		display: flex;
 		justify-content: space-between;
 	}
 	.label {
+		color: white;
 		text-align: center;
 		width: 50px;
 		border-radius: 4px;
@@ -1523,7 +1845,7 @@
 		line-height: 21px;
 	}
 	.good {
-		background-color: #75f94d;
+		background-color: #2ecf54;
 	}
 
 	.mainInfo3 {
@@ -1538,15 +1860,15 @@
 	.curEqp {
 		width: 290px;
 		height: 120px;
-		background: white;
-		border-radius: 10px;
+		/* background: white;
+		border-radius: 10px; */
 	}
 	.curHerb {
 		margin-top: 10px;
 		width: 290px;
 		height: 230px;
-		background: white;
-		border-radius: 10px;
+		/* background: white;
+		border-radius: 10px; */
 		background-image: url(/src/assets/images/dry/yaocai.jpg);
 		background-repeat: no-repeat;
 		background-size: 110px 90px;
@@ -1555,15 +1877,15 @@
 	.tempMoisChart {
 		width: 590px;
 		height: 360px;
-		background: white;
-		margin-left: 10px;
+		/* background: white; */
+		
 		padding: 20px;
 		border-radius: 10px;
 	}
 	.topLeft {
 		margin: 20px 40px 60px 20px;
 		padding: 15px;
-		background: white;
+		/* background: white; */
 		border-radius: 10px;
 		height: 325px;
 		width: 440px;
@@ -1575,7 +1897,7 @@
 	}
 	.topMid {
 		margin: 20px 20px 60px 40px;
-		background: white;
+		/* background: white; */
 		border-radius: 10px;
 		background-image: url(/src/assets/images/dry/fanliao.gif);
 		background-repeat: no-repeat;
@@ -1587,7 +1909,7 @@
 	}
 	.topRight {
 		margin: 20px 20px 60px 20px;
-		background: white;
+		/* background: white; */
 		border-radius: 10px;
 		width: 700px;
 		padding: 20px;
@@ -1656,6 +1978,7 @@
 
 	.formulaItem {
 		display: flex;
+		justify-content: center;
 		width: 85px;
 		height: 40px;
 	}
diff --git a/src/views/dry/monitor/Eqp copy 2.vue b/src/views/dry/monitor/Eqp1.vue
similarity index 100%
rename from src/views/dry/monitor/Eqp copy 2.vue
rename to src/views/dry/monitor/Eqp1.vue
diff --git a/src/views/dry/monitor/Eqp2.vue b/src/views/dry/monitor/Eqp2.vue
new file mode 100644
index 0000000..cf94fde
--- /dev/null
+++ b/src/views/dry/monitor/Eqp2.vue
@@ -0,0 +1,1788 @@
+<template>
+	<div class="eqpBox">
+		<div class="eqpRow">
+			<div class="eqpImage">
+				<div class="leftEqp">
+					<div class="leftTop">
+						<div class="leftTop1">
+							<Icon icon="emojione:hourglass-with-flowing-sand" :size="50" />
+							<div>
+								<div class="mainInfo">{{ realData?.remain | 0 }}min</div>
+								<div class="subhead">鍓╀綑鏃堕棿</div>
+							</div>
+						</div>
+						<div class="leftTop1">
+							<!-- <Icon icon="mdi:chart-finance" :size="50" />
+							<div>
+								<div class="mainInfo">98 %</div>
+								<div class="subhead">骞茬嚗鏁堢巼</div>
+							</div> -->
+						</div>
+						<div class="leftTop3" :style="{ 'background-image': 'url(/src/assets/images/dry/' + realData?.gif + '.gif)' }"></div>
+						<div class="outDiv eqpStatus">
+							<div
+								style="
+									font-size: 28px;
+									margin-top: 60px;
+									color: white;
+									background-color: #1595ea;
+									height: 60px;
+									width: 180px;
+									line-height: 60px;
+									text-align: center;
+									border-radius: 5px;
+									font-weight: bold;
+								"
+							>
+								姝e湪骞茬嚗
+							</div>
+							<!-- <div
+								class="eqpInfoText blingbling"
+								style="
+									position: absolute;
+
+									max-height: 130px;
+									max-width: 360px;
+									border-radius: 10px;
+									background-color: #ce0000;
+									color: white;
+									padding: 10px;
+								"
+							>
+								<div class="outDiv">
+									<div><Icon icon="bx:error" :size="30" /> </div>
+									<div><span> 鏈変竴涓晠闅滐紝璇锋鏌ユ満鍣ㄣ��</span></div>
+								</div>
+							</div> -->
+						</div>
+					</div>
+					<div class="leftMid">
+						<div id="efficiencyLine" style="width: 780px; height: 150px"></div>
+						<div style="height: 0px; display: flex; width: 780px; padding: 0 60px; justify-content: space-between">
+							<div style="width: 100px; height: 20px">0 min</div>
+							<div style="width: 100px; height: 20px; text-align: right">{{ realData?.totalTime | 0 }} min</div>
+						</div>
+						<div id="progressBar" style="width: 780px; height: 80px"></div>
+					</div>
+					<!-- <div class="outDiv">
+						<div style="height: 100px; width: 400px">
+							<Progress
+								:stroke-color="{
+									from: '#108ee9',
+									to: '#87d068',
+								}"
+								:percent="realData?.percent"
+								status="active"
+								:show-info="false"
+							/>
+							<div style="padding-top: 10px; display: flex; justify-content: space-between; font-weight: bold">
+								<span>骞茬嚗 52 Min</span>
+								<span>棰勮 120 Min</span>
+							</div>
+						</div>
+					</div> -->
+				</div>
+				<div class="rightInfo">
+					<div class="rightTop">
+						<div class="herbInfo">
+							<div class="curEqp">
+								<div class="eqpName">
+									<div class="mainInfo" style="font-size: 26px">{{ eqp.name }}</div>
+									<div class="subhead">{{ eqp.type }}</div>
+									<!-- 璁惧锛歿{ eqp.name }}</div>
+								<div class="eqpName">鍨嬪彿锛歿{ eqp.type }}</div> -->
+								</div>
+							</div>
+							<div class="curHerb">
+								<div class="eqpName" style="margin-left: 100px">
+									<div class="mainInfo" style="font-size: 26px">{{ realData?.herbName }}</div>
+									<div class="subhead">骞茬嚗閰嶆柟</div>
+								</div>
+								<div class="formula">
+									<div class="formulaItem">
+										<Icon icon="icon-park-twotone:box" :size="35" />
+										<div>
+											<div class="mainInfo2">{{ realData?.feed }}绛�</div>
+											<div class="subhead2">鎶曟枡閲�</div>
+										</div>
+									</div>
+									<div class="formulaItem">
+										<Icon icon="bx:wind" :size="35" />
+										<div>
+											<div class="mainInfo2">{{ realData?.windTemp }}掳C</div>
+											<div class="subhead2">鐑</div>
+										</div>
+									</div>
+									<div class="formulaItem">
+										<Icon icon="tabler:target-arrow" :size="35" />
+										<div>
+											<div class="mainInfo2">{{ realData?.target }}%</div>
+											<div class="subhead2">鐩爣</div>
+										</div>
+									</div>
+								</div>
+								<!-- <div class="eqpName">{{ realData?.herbName }}</div>
+								<div class="eqpName">{{ realData?.feed }} 绛�</div> -->
+							</div>
+						</div>
+						<div class="tempMoisChart">
+							<div :id="'moisChart'" style="width: 550px; height: 320px"></div>
+						</div>
+					</div>
+					<div class="rightTwo">
+						<div class="infoChart">
+							<div class="chartTittle">鍚按鐜�</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 50%">
+										<div class="centerText">
+											<div class="mainInfo3"
+												><span>{{ realData?.target }}</span
+												>%
+											</div>
+											<div class="subhead2">鐩爣鍚按鐜�</div>
+										</div>
+									</div>
+									<div class="center" style="height: 50%">
+										<div>
+											<div class="mainInfo3"
+												><span>{{ realData?.initial }}</span
+												>%</div
+											>
+											<div class="subhead2">鏉ユ枡鍚按鐜�</div>
+										</div>
+									</div>
+								</div>
+								<div id="moisture" style="width: 170px; height: 133px"></div>
+							</div>
+							<div class="subhead2" style="margin-top: -37px; padding-left: 172px">瀹炴椂鍚按鐜�</div>
+						</div>
+						<div class="infoChart">
+							<div class="chartTittle">椋庣娓╁害</div>
+							<div class="outDiv">
+								<div id="bellowsTemp" style="width: 220px; height: 200px">
+									<Icon icon="emojione:hourglass-with-flowing-sand" :size="50" />
+								</div>
+							</div>
+						</div>
+						<div class="infoChart">
+							<div class="chartTittle">椋庢満棰戠巼</div>
+							<div class="outDiv" style="padding-top: 10px">
+								<div id="fanFreq" style="width: 220px; height: 200px"></div>
+							</div>
+						</div>
+						<div class="infoChart">
+							<div class="chartTittle">
+								骞茬嚗鏁堢巼(kg/h)
+								<div class="rightLabel">
+									<div class="label good">&gt;{{ standard.xiaolv }} 浼� </div>
+									<div class="label bad">&lt;{{ standard.xlMin }} 宸�</div>
+								</div>
+							</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 50%">
+										<div class="centerText">
+											<div class="mainInfo3"
+												><span>{{ (realData?.originWeight - realData?.yield) | 0 }}</span
+												>kg
+											</div>
+											<div class="subhead2">姘村垎钂稿彂</div>
+										</div>
+									</div>
+									<div class="center" style="height: 50%">
+										<div>
+											<div class="mainInfo3">{{ realData?.dryTime | 0 }}min</div>
+											<div class="subhead2">骞茬嚗鐢ㄦ椂</div>
+										</div>
+									</div>
+								</div>
+								<div class="rightChart center">
+									<div class="center compareBar">
+										<div class="barTop">{{ standard.xiaolv }}</div>
+										<div class="barBack">
+											<div class="barDiv" :style="{ height: realData?.xlsHeight }"></div>
+										</div>
+										<div style="line-height: 18px">
+											棰濆畾
+											<br />
+											鏁堢巼
+										</div>
+									</div>
+									<div class="center compareBar">
+										<div class="barTop">{{ realData?.xiaolv | 0 }}</div>
+										<div class="barBack">
+											<div
+												class="barDiv"
+												:class="{ good: realData?.xlgood, bad: realData?.xlbad }"
+												:style="[realData?.xlrHeight && { height: realData?.xlrHeight }]"
+											>
+											</div>
+										</div>
+										<div style="line-height: 18px">
+											瀹炴椂
+											<br />
+											鏁堢巼
+										</div>
+									</div>
+								</div>
+							</div>
+						</div>
+						<div class="infoChart">
+							<div class="chartTittle"
+								>钂告苯娑堣��(m鲁/kg)
+								<div class="rightLabel">
+									<div class="label bad">&gt;{{ standard.zhengqi }} 宸�</div>
+									<div class="label good">&lt;{{ standard.zqMin }} 浼�</div>
+								</div>
+							</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 100%">
+										<div class="centerText">
+											<div class="mainInfo3"><span>{{realData?.steam}}</span>m鲁 </div>
+											<div class="subhead2">钂告苯鐢ㄩ噺</div>
+										</div>
+									</div>
+								</div>
+								<div class="rightChart center">
+									<div class="center compareBar">
+										<div class="barTop">{{standard.zhengqi}}</div>
+										<div class="barBack">
+											<div class="barDiv" :style="{ height: realData?.zqsHeight }"></div>
+										</div>
+										<div style="line-height: 18px">
+											棰濆畾
+											<br />
+											娑堣��
+										</div>
+									</div>
+									<div class="center compareBar">
+										<div class="barTop">{{realData?.zhengqi | 0 }}</div>
+										<div class="barBack">
+											<div class="barDiv" :class="{ good: realData?.zqgood, bad: realData?.zqbad }"
+												:style="[realData?.zqrHeight && { height: realData?.zqrHeight }]"> </div>
+										</div>
+										<div style="line-height: 18px">
+											瀹炴椂
+											<br />
+											娑堣��
+										</div>
+									</div>
+								</div>
+							</div>
+						</div>
+						<div class="infoChart">
+							<div class="chartTittle">
+								<div> 鐢佃兘娑堣��(kw/h/kg)</div>
+								<div class="rightLabel">
+									<div class="label bad">&gt;{{ standard.dian }} 宸�</div>
+									<div class="label good">&lt;{{ standard.dMin }} 浼�</div>
+								</div>
+							</div>
+							<div class="outDiv" style="padding-top: 20px">
+								<div class="leftData">
+									<div class="center" style="height: 100%">
+										<div class="centerText">
+											<div class="mainInfo3"><span>{{realData?.watt}}</span>kw/h </div>
+											<div class="subhead2">鐢佃兘鐢ㄩ噺</div>
+										</div>
+									</div>
+								</div>
+								<div class="rightChart center">
+									<div class="center compareBar">
+										<div class="barTop">{{standard.dian}}</div>
+										<div class="barBack">
+											<div class="barDiv" :style="{ height: realData?.dnsHeight }"></div>
+										</div>
+										<div style="line-height: 18px">
+											棰濆畾
+											<br />
+											娑堣��
+										</div>
+									</div>
+									<div class="center compareBar">
+										<div class="barTop">{{realData?.dian | 0}}</div>
+										<div class="barBack">
+											<div class="barDiv" :class="{ good: realData?.dngood, bad: realData?.dnbad }"
+												:style="[realData?.dnrHeight && { height: realData?.dnrHeight }]"></div>
+										</div>
+										<div style="line-height: 18px">
+											瀹炴椂
+											<br />
+											娑堣��
+										</div>
+									</div>
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts">
+	import { router } from '/@/router'
+	import { onMounted, ref, onUnmounted } from 'vue'
+	import { Progress } from 'ant-design-vue'
+	import * as echarts from 'echarts'
+	import 'echarts-liquidfill'
+	import { Icon, IconPicker, SvgIcon } from '/@/components/Icon/index'
+	import { defHttp } from '/@/utils/http/axios'
+	import { queryById } from '../api/DryEquipment.api'
+	import { dryEquipment } from '../dataDefine/DryEquipment.data'
+	import { useUserStore } from '/@/store/modules/user'
+	const Timer = ref()
+	const marks = ref<Record<number, any>>({
+		0: '0掳C',
+		1: '',
+		2: '',
+		3: '',
+		4: '',
+		5: '',
+		6: '',
+		7: '',
+		8: '',
+		9: '',
+		10: '',
+		11: '',
+		12: '',
+		13: '',
+		14: '',
+		15: '',
+		16: '',
+		17: '',
+		18: '',
+		19: '',
+		20: '',
+		21: '',
+		22: '',
+		23: '',
+		24: '',
+		25: '25掳C',
+		26: '',
+		27: '',
+		28: '',
+		29: '',
+		30: '',
+		31: '',
+		32: '',
+		33: '',
+		34: '',
+		35: '',
+		36: '',
+		37: '',
+		38: '',
+		39: '',
+		40: '',
+		41: '',
+		42: '',
+		43: '',
+		44: '',
+		45: '',
+		46: '',
+		47: '',
+		48: '',
+		49: '',
+		50: '50掳C',
+		51: '',
+		52: '',
+		53: '',
+		54: '',
+		55: '',
+		56: '',
+		57: '',
+		58: '',
+		59: '',
+		60: '',
+		61: '',
+		62: '',
+		63: '',
+		64: '',
+		65: '',
+		66: '',
+		67: '',
+		68: '',
+		69: '',
+		70: '',
+		71: '',
+		72: '',
+		73: '',
+		74: '',
+		75: '75掳C',
+		76: '',
+		77: '',
+		78: '',
+		79: '',
+		80: '',
+		81: '',
+		82: '',
+		83: '',
+		84: '',
+		85: '',
+		86: '',
+		87: '',
+		88: '',
+		89: '',
+		90: '',
+		91: '',
+		92: '',
+		93: '',
+		94: '',
+		95: '',
+		96: '',
+		97: '',
+		98: '',
+		99: '',
+		100: '100掳C',
+	})
+	const eqp = ref({} as dryEquipment)
+	const userStore = useUserStore()
+	const realData = ref({})
+	const standard = ref({
+		xiaolv: 220,
+		xlMin: 200,
+		zhengqi: 50,
+		zqMin: 45,
+		dian: 8,
+		dMin: 7.5,
+	})
+	//realData.value.tempValue = [0, 100]
+	realData.value.mois = [0.5, 0.35, 0.2]
+	var moisChart: echarts.ECharts
+	var waterChart: echarts.ECharts
+
+	var bellowsTempChart: echarts.ECharts
+	var fanFreqChart: echarts.ECharts
+	var progressBarChart: echarts.ECharts
+	var efficiencyLineChart: echarts.ECharts
+
+	function initCharts() {
+		let domId = 'moisChart'
+		let chartDom: HTMLElement = document.getElementById(domId) as HTMLElement
+		let waterDom: HTMLElement = document.getElementById('moisture') as HTMLElement
+		let bellowsTempDom: HTMLElement = document.getElementById('bellowsTemp') as HTMLElement
+		let fanFreqDom: HTMLElement = document.getElementById('fanFreq') as HTMLElement
+		let progressBarDom: HTMLElement = document.getElementById('progressBar') as HTMLElement
+		let efficiencyLineDom: HTMLElement = document.getElementById('efficiencyLine') as HTMLElement
+		// let weightDom: HTMLElement = document.getElementById('weight') as HTMLElement
+		moisChart = echarts.init(chartDom)
+		waterChart = echarts.init(waterDom)
+		bellowsTempChart = echarts.init(bellowsTempDom)
+		fanFreqChart = echarts.init(fanFreqDom)
+		progressBarChart = echarts.init(progressBarDom)
+		efficiencyLineChart = echarts.init(efficiencyLineDom)
+
+		const option = {
+			color: ['#2C4D90', '#CE0000'],
+			title: {
+				text: '鍚按鐜囨俯搴﹁秼鍔�',
+			},
+			tooltip: {
+				trigger: 'axis',
+			},
+			grid: {
+				left: 50,
+				right: 50,
+				top: 50,
+				bottom: 40,
+			},
+			legend: {
+				right: 20,
+			},
+			// toolbox: {
+			// 	show: true,
+			// 	feature: {
+			// 		dataZoom: {
+			// 			yAxisIndex: 'none',
+			// 		},
+			// 		dataView: { readOnly: false },
+			// 		magicType: { type: ['line', 'bar'] },
+			// 		restore: {},
+			// 		saveAsImage: {},
+			// 	},
+			// },
+			xAxis: {
+				type: 'value',
+				//boundaryGap: false,
+				// data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+				min: 0,
+				max: function (value) {
+					if (value.max < 100) {
+						return 100
+					} else {
+						return value.max
+					}
+				},
+			},
+			yAxis: {
+				type: 'value',
+				boundaryGap: ['10%', '10%'],
+				// min: 0,
+				// max: function (value) {
+				// 	if (value.max < 100) {
+				// 		return 100
+				// 	} else {
+				// 		return value.max
+				// 	}
+				// },
+			},
+			// yAxis: {
+			// 	type: 'value',
+			// 	axisLabel: {
+			// 		formatter: '{value} 掳C',
+			// 	},
+			// },
+			series: [
+				{
+					name: '鍚按鐜�',
+					type: 'line',
+					smooth: true,
+					symbol: 'none',
+					data: [
+						[1, 1],
+						[2, 2],
+					],
+					lineStyle: {
+						width: 1,
+					},
+					markLine: {
+						data: [{ type: 'average', name: 'Avg' }],
+					},
+				},
+				{
+					name: '娓╁害',
+					type: 'line',
+					smooth: true,
+					symbol: 'none',
+					data: [
+						[1, 10],
+						[2, 20],
+					],
+					lineStyle: {
+						width: 1,
+					},
+					// markLine: {
+					// 	data: [
+					// 		{ type: 'average', name: 'Avg' },
+					// 		[
+					// 			{
+					// 				symbol: 'none',
+					// 				x: '90%',
+					// 				yAxis: 'max',
+					// 			},
+					// 			{
+					// 				symbol: 'circle',
+					// 				label: {
+					// 					position: 'start',
+					// 					formatter: 'Max',
+					// 				},
+					// 				type: 'max',
+					// 				name: '鏈�楂樼偣',
+					// 			},
+					// 		],
+					// 	],
+					// },
+				},
+			],
+		}
+		const waterOption = {
+			series: [
+				{
+					type: 'liquidFill',
+					radius: '100%',
+					//waveAnimation: false,
+					amplitude: 3,
+					animationDuration: 5,
+					//animationDurationUpdate: 0,
+					data: [0.56,0.44,0.32],
+					shape:
+						'path://M828.817,706.209C828.817,881.725,686.98,1024,512,1024c-174.98,0-316.817-142.275-316.817-317.791C195.183,530.74,512,0,512,0s316.817,530.74,316.817,706.209z',
+					outline: {
+						show: false,
+					},
+					label: {
+						// formatter: function () {
+						// 	//console.log(`output->params`,params,mois.value)
+
+						// 	return (
+						// 		'' +
+						// 		// +'鍒濆'+(mois.value[0]*100).toFixed(2) + '%\n\n\n'
+						// 		(mois.value[1] * 100).toFixed(2) +
+						// 		'%'
+						// 		// + '\n\n\n鐩爣'+(mois.value[2]*100).toFixed(2) + '%'
+						// 	)
+						// },
+						fontSize: 20,
+						//position: ['50%',(100-mois.value[1]*100).toFixed(2) + '%'],
+					},
+				},
+			],
+		}
+
+		const bellowsOption = {
+			series: [
+				{
+					type: 'gauge',
+					center: ['50%', '60%'],
+					startAngle: 215,
+					endAngle: -35,
+					min: 0,
+					max: 80,
+					splitNumber: 8,
+					itemStyle: {
+						color: '#FFAB91',
+					},
+					progress: {
+						show: true,
+						width: 10,
+					},
+					pointer: {
+						show: false,
+					},
+					axisLine: {
+						lineStyle: {
+							width: 10,
+						},
+					},
+					axisTick: {
+						distance: -15,
+						splitNumber: 5,
+						length: 3,
+						lineStyle: {
+							width: 1,
+							color: '#999',
+						},
+					},
+					splitLine: {
+						distance: -18,
+						length: 6,
+						lineStyle: {
+							width: 2,
+							color: '#999',
+						},
+					},
+					axisLabel: {
+						distance: -13,
+						color: '#999',
+						fontSize: 9,
+					},
+					anchor: {
+						show: false,
+					},
+					title: {
+						show: false,
+					},
+					detail: {
+						valueAnimation: true,
+						width: '60%',
+						lineHeight: 40,
+						borderRadius: 8,
+						offsetCenter: [0, '0%'],
+						fontSize: 20,
+						fontWeight: 'bolder',
+						formatter: '{value}掳C',
+						color: 'inherit',
+					},
+					data: [
+						{
+							value: 20,
+						},
+					],
+				},
+				{
+					type: 'gauge',
+					center: ['50%', '60%'],
+					startAngle: 215,
+					endAngle: -35,
+					min: 0,
+					max: 80,
+					itemStyle: {
+						color: '#FD7347',
+					},
+					progress: {
+						show: true,
+						width: 3,
+					},
+					pointer: {
+						show: false,
+					},
+					axisLine: {
+						show: false,
+					},
+					axisTick: {
+						show: false,
+					},
+					splitLine: {
+						show: false,
+					},
+					axisLabel: {
+						show: false,
+					},
+					detail: {
+						show: false,
+					},
+					data: [
+						{
+							value: 20,
+						},
+					],
+				},
+			],
+		}
+
+		const fanFreqOption = {
+			series: [
+				{
+					type: 'gauge',
+					progress: {
+						show: true,
+						width: 9,
+					},
+					axisLine: {
+						lineStyle: {
+							width: 9,
+						},
+					},
+					axisTick: {
+						show: false,
+					},
+					splitLine: {
+						distance: 3,
+						length: 4,
+						lineStyle: {
+							width: 1,
+							color: '#999',
+						},
+					},
+					axisLabel: {
+						distance: 15,
+						color: '#999',
+						fontSize: 10,
+					},
+					anchor: {
+						show: true,
+						showAbove: true,
+						size: 10,
+						itemStyle: {
+							borderWidth: 3,
+						},
+					},
+					title: {
+						show: false,
+					},
+					detail: {
+						valueAnimation: true,
+						fontSize: 20,
+						offsetCenter: [0, '70%'],
+						formatter: '{value}Hz',
+					},
+					data: [
+						{
+							value: 56,
+						},
+					],
+				},
+			],
+		}
+		// const weightOption = {
+		// 	// 		title: {
+		// 	//   text: 'Referer of a Website',
+		// 	//   subtext: 'Fake Data',
+		// 	//   left: 'center'
+		// 	// },
+		// 	color: ['#1595EA', '#2C4D90', '#FF7F7F'],
+		// 	tooltip: {
+		// 		trigger: 'item',
+		// 	},
+		// 	radius: [0, '85%'],
+		// 	// grid: {
+		// 	// 	top: 20,
+		// 	// 	left: 20,
+		// 	// 	right: 20,
+		// 	// 	bottom: 20,
+		// 	// },
+		// 	// legend: {
+		// 	// 	orient: 'vertical',
+		// 	// 	left: 'left',
+		// 	// },
+		// 	series: [
+		// 		{
+		// 			name: '閲嶉噺鏁版嵁',
+		// 			type: 'pie',
+		// 			radius: '50%',
+		// 			data: [
+		// 				{ value: 1048, name: '鍓╀綑閲嶉噺' },
+		// 				{ value: 735, name: '鐑樺幓閲嶉噺' },
+		// 			],
+		// 			label: {
+		// 				show: false,
+		// 			},
+		// 			labelLine: {
+		// 				show: false,
+		// 			},
+		// 			emphasis: {
+		// 				itemStyle: {
+		// 					shadowBlur: 10,
+		// 					shadowOffsetX: 0,
+		// 					shadowColor: 'rgba(0, 0, 0, 0.5)',
+		// 				},
+		// 			},
+		// 		},
+		// 	],
+		// }
+
+		const progressBarOption = {
+			// tooltip: {
+			// 	trigger: 'axis',
+			// 	axisPointer: {
+			// 		// Use axis to trigger tooltip
+			// 		type: 'shadow', // 'shadow' as default; can also be 'line' or 'shadow'
+			// 	},
+			// },
+			// color: [
+			// 	'#0653F6',
+			// 	// '#1B61E7',
+			// 	'#3673D5',
+			// 	// '#4A80C8',
+			// 	'#608FB8',
+			// 	// '#719BAD',
+			// 	'#82A6A1',
+			// 	// '#8DAD9A',
+			// 	'#9CB790',
+			// 	// '#A7BE88',
+			// 	'#B3C681',
+			// 	'#CAD671',
+			// 	'#DBE165',
+			// ],
+			animation: false, // 鍏抽棴鍔ㄧ敾
+			color: ['#397FD7', '#2D8CDE', '#239CE5', '#1DA4E8', '#14B2EF', '#0BC4FA', '#02D2FF', '#19EEFF', '#33FAFF', '#5EFFF8'],
+			grid: {
+				top: '12%',
+				left: '20',
+				right: '55',
+				bottom: '3%',
+				containLabel: true,
+			},
+			xAxis: {
+				min: 0,
+				max: 150,
+				show: false,
+				type: 'value',
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+			},
+			yAxis: {
+				show: false,
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+				type: 'category',
+				data: ['鏃堕棿'],
+			},
+			series: [
+				// {
+				// 	name: '绗竴闃舵',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	barWidth: 26,
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [30],
+				// },
+				// {
+				// 	name: '绗簩闃舵',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [30],
+				// },
+				// {
+				// 	name: 'Affiliate Ad',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [20],
+				// },
+				// {
+				// 	name: 'Video Ad',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [15],
+				// },
+				// {
+				// 	name: 'Search Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [10],
+				// },
+				// {
+				// 	name: 'df Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [5],
+				// },
+				// {
+				// 	name: 'df Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [5],
+				// },
+				// {
+				// 	name: 'df Engine',
+				// 	type: 'bar',
+				// 	stack: 'total',
+				// 	label: {
+				// 		show: true,
+				// 	},
+				// 	emphasis: {
+				// 		focus: 'series',
+				// 	},
+				// 	data: [
+				// 		{
+				// 			value: 35,
+				// 			itemStyle: {
+				// 				color: '#c0c0c0',
+				// 			},
+				// 		},
+				// 	],
+				// },
+			],
+		}
+
+		const efficiencyLineOption = {
+			title: {},
+			tooltip: {
+				trigger: 'axis',
+			},
+			grid: {
+				top: '20%',
+				left: '17',
+				right: '57',
+				bottom: '0%',
+				containLabel: true,
+			},
+			legend: {},
+			xAxis: {
+				show: false,
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+				type: 'value',
+				min: 0,
+				max: 150,
+				// data: [15, 15, 10, 7.5, 5, 2.5, 2.5, 1],
+			},
+			yAxis: {
+				show: false,
+				axisLine: {
+					show: false,
+				},
+				axisTick: {
+					show: false,
+				},
+				type: 'value',
+				axisLabel: {
+					formatter: '{value} 掳C',
+				},
+			},
+			series: [
+				{
+					name: '骞茬嚗鏁堢巼',
+					type: 'line',
+					lineStyle: {
+						width: 1,
+					},
+					// [[15,10], [15,11], [10,6], [7.5,12], [5,12], [2.5,5], [2.5,9], [1,7]]
+					data: [
+						[0, 1],
+						[15, 10],
+						[45, 11],
+						[70, 6],
+					],
+					markPoint: {
+						data: [
+							{ type: 'max', name: 'Max' },
+							{ type: 'min', name: 'Min' },
+						],
+					},
+					// markLine: {
+					// 	data: [{ type: 'average', name: 'Avg' }],
+					// },
+				},
+			],
+		}
+
+		option && moisChart.setOption(option)
+		waterOption && waterChart.setOption(waterOption)
+		bellowsOption && bellowsTempChart.setOption(bellowsOption)
+		fanFreqOption && fanFreqChart.setOption(fanFreqOption)
+
+		progressBarOption && progressBarChart.setOption(progressBarOption)
+		efficiencyLineOption && efficiencyLineChart.setOption(efficiencyLineOption)
+	}
+
+	function queryEqp() {
+		queryById({ id: router.currentRoute.value.params.id }).then((res) => {
+			// console.log(`output->res`, res)
+			eqp.value = res
+			queryRealTime()
+			setTimeout(initCharts, 500)
+		})
+	}
+
+	function queryRealTime() {
+		let tenantId = userStore.getTenant
+		let eqpCode = eqp.value.code
+		let queryRealTimeUrl = '/dry/real/getRealTimeData'
+		defHttp.get({ url: queryRealTimeUrl, params: { tenantid: tenantId, machineid: eqpCode } }).then((res) => {
+			
+			if (res && res.trendVo) {
+				console.log(`output->re11s`, res)
+				//	res.tempValue = [res.windTemp, 100]
+				//res.percent = ((res.dryTime / res.et) * 100).toFixed(2)
+				/**姘存淮鍥惧惈姘撮噺 */
+				res.mois = [
+					(res.trendVo.moisture / 100).toFixed(2),
+					(res.trendVo.moisture / 100 / 1.5).toFixed(2),
+					(res.trendVo.moisture / 100 / 3).toFixed(2),
+				]
+				if (waterChart) {
+					waterChart.setOption({
+						series: [
+							{
+								data: res.mois,
+								label: {
+									formatter: function () {
+										return res.trendVo.moisture + '%'
+									},
+									fontSize: 20,
+								},
+							},
+						],
+					})
+				}
+
+				/**娓╁害鐜舰鍥� */
+				if (bellowsTempChart) {
+					bellowsTempChart.setOption({
+						series: [{ data: [{ value: res.windTemp }] }, { data: [{ value: res.windTemp }] }],
+					})
+				}
+				/**椋庢満棰戠巼鐜舰鍥� */
+				if (fanFreqChart) {
+					fanFreqChart.setOption({
+						series: [
+							{
+								data: [
+									{
+										value: res.trendVo.fanFrequency,
+									},
+								],
+							},
+						],
+					})
+				}
+				/**骞茬嚗杩涘害銆佽蛋鍔夸笌闃舵鏁堢巼鍜岄樁娈垫秷鑰� */
+				if (res && res.detailList) {
+					var progressSeries = []
+					var ganZaoXiaoLv = []
+					var zhengQiXiaoHao = []
+					var dianNengXiaoHao = []
+					var totalTime = 0
+					var beforeWeight = 0
+					res.moisList = []
+
+					res.detailList.forEach((item) => {
+						console.log(`output->item`, item)
+						res.moisList.push([item.totalTime, item.moisture])
+						console.log(`output->totalTime,item.totalTime`, totalTime, item.totalTime)
+						var curDryTime = item.totalTime - totalTime
+
+						if (curDryTime > 0) {
+							progressSeries.push({
+								name: item.moisture,
+								type: 'bar',
+								stack: 'total',
+								label: {
+									show: true,
+								},
+								emphasis: {
+									focus: 'series',
+								},
+								data: [item.totalTime - totalTime],
+							})
+							ganZaoXiaoLv.push([curDryTime / 2 + totalTime, (((beforeWeight - item.weight) / curDryTime) * 60).toFixed(1)])
+
+							totalTime = item.totalTime
+						}
+						beforeWeight = item.weight
+					})
+					if (res.remain) {
+						if (res.dryTime - totalTime > 0) {
+							progressSeries.push({
+								name: '褰撳墠',
+								type: 'bar',
+								stack: 'total',
+								label: {
+									show: true,
+								},
+								emphasis: {
+									focus: 'series',
+								},
+								data: [
+									{
+										value: res.dryTime - totalTime,
+									},
+								],
+							})
+						}
+
+						progressSeries.push({
+							name: '鍓╀綑',
+							type: 'bar',
+							stack: 'total',
+							label: {
+								show: true,
+							},
+							emphasis: {
+								focus: 'series',
+							},
+							data: [
+								{
+									value: res.remain - (res.dryTime - totalTime),
+									itemStyle: {
+										color: '#c0c0c0',
+									},
+								},
+							],
+						})
+					}
+
+					/**骞茬嚗杩涘害 */
+					if (progressBarChart) {
+						console.log(`output->progressSeries`, progressSeries)
+						progressBarChart.setOption(
+							{
+								xAxis: {
+									max: totalTime + res.remain,
+								},
+								series: progressSeries,
+							},
+							{ replaceMerge: ['series'] }
+						)
+					}
+
+					res.totalTime = totalTime + res.remain
+					/**骞茬嚗鏁堢巼銆佹秷鑰� */
+					if (efficiencyLineChart) {
+						console.log(`output->ganZaoXiaoLv`, ganZaoXiaoLv)
+						efficiencyLineChart.setOption({
+							xAxis: {
+								max: totalTime + res.remain,
+							},
+							series: [{ data: ganZaoXiaoLv }, { data: zhengQiXiaoHao }, { data: dianNengXiaoHao }],
+						})
+					}
+
+					res.moisList.push([res.dryTime, res.trendVo.moisture])
+				}
+
+				/**娓╁害瓒嬪娍 */
+				if (res && res.bellowsTemp) {
+					Array.from(Object.entries(res.bellowsTemp))
+					var arr = Object.keys(res.bellowsTemp)
+					var temArr = []
+					arr.forEach((item) => {
+						temArr.push([item * 1, res.bellowsTemp[item]])
+					})
+
+					//console.log(`output->arr` + JSON.stringify(temArr))
+					res.tempArr = temArr
+				}
+
+				/**骞茬嚗杩囩▼瓒嬪娍 */
+				if (moisChart) {
+					//console.log(`output->鏇存柊chart`)
+					moisChart.setOption({
+						series: [
+							{
+								data: res.moisList,
+								markLine: {
+									symbol: 'none',
+									data: [
+										{
+											name: '鐩爣',
+											yAxis: res.target,
+										},
+									],
+									label: {
+										formatter: '{b}\n{c}%',
+									},
+								},
+							},
+							{
+								data: res.tempArr,
+							},
+						],
+					})
+				}
+
+				/**鏁堢巼瀵规瘮鍥� */
+				res.xiaolv = (((res.originWeight - res.yield) / res.dryTime) * 60).toFixed(2)
+				if (res.xiaolv > standard.value.xiaolv) {
+					res.xlgood = true
+					res.xlsHeight = (standard.value.xiaolv / res.xiaolv) * 100 + '%'
+					res.xlrHeight = '100%'
+				} else if (res.xiaolv < standard.value.xlMin) {
+					res.xlbad = true
+					res.xlsHeight = '100%'
+					res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%'
+				}
+
+				
+				/** 鐢佃兘娑堣�� */
+				res.dian = (res.watt / (res.originWeight - res.yield))
+				if (res.dian > standard.value.dian) {
+					res.dngood = true
+					res.dnsHeight = (standard.value.dian / res.dian) * 100 + '%'
+					res.dnrHeight = '100%'
+				} else if (res.dian < standard.value.dMin) {
+					res.dnbad = true
+					res.dnsHeight = '100%'
+					res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%'
+				}
+
+				/**gif鍔ㄥ浘 */
+				res.gif = 'refeng2'
+			} else {
+				res = {
+					mois: [],
+				}
+			}
+			console.log(`output->res`, res)
+			realData.value = res
+		})
+	}
+
+	queryEqp()
+	// DOM鎸傝浇瀹屾垚鍚庢覆鏌撳浘琛�
+	onMounted(() => {
+		Timer.value = setInterval(queryRealTime, 3000)
+	})
+
+	onUnmounted(() => {
+		clearInterval(Timer.value)
+		Timer.value = null
+	})
+</script>
+
+<style scoped>
+	.eqpBox {
+		height: 100%;
+	}
+	.eqpRow {
+	}
+	.eqpImage {
+		height: 860px;
+		width: 1800px;
+		background-image: url(/src/assets/images/dry/ganzaoji-x.png);
+		background-repeat: no-repeat;
+
+		background-position: 160px 280px;
+		/* background-color: red; */
+		padding: 10px;
+		display: flex;
+		flex-wrap: wrap;
+		align-content: flex-start;
+	}
+
+	.leftEqp {
+		height: 840px;
+		width: 780px;
+		/* background-color: white;
+		background-image: url(/src/assets/images/dry/shebei1.png);
+		background-repeat: no-repeat;
+		background-size: 125%;
+		border-radius: 10px;
+		background-position: -119px 293px; */
+	}
+
+	.leftTop {
+		height: 600px;
+		display: flex;
+		justify-content: center;
+		align-content: flex-start;
+		background-color: white;
+		background-image: url(/src/assets/images/dry/shebei1.png);
+		background-repeat: no-repeat;
+		background-size: 110%;
+		border-radius: 10px;
+		flex-wrap: wrap;
+		background-position: -78px 119px;
+	}
+	.leftMid {
+		padding-top: 10px;
+		width: 780px;
+		height: 230px;
+		/* border: 1px solid; */
+		margin-top: 10px;
+		border-radius: 10px;
+		background: white;
+	}
+	.mainInfo {
+		line-height: 33px;
+		padding-left: 10px;
+		font-size: 30px;
+	}
+	.subhead {
+		color: #a19f9c;
+		font-size: 16px;
+		padding-left: 10px;
+	}
+
+	.mainInfo2 {
+		line-height: 20px;
+		padding-left: 0px;
+		font-size: 16px;
+	}
+	.subhead2 {
+		color: #a19f9c;
+		font-size: 10px;
+		padding-left: 0px;
+	}
+	.zhengqi {
+		height: 180px;
+		width: 200px;
+		background-image: url(/src/assets/images/dry/liuliangji.png);
+		background-repeat: no-repeat;
+		background-size: 160px;
+		/* border-radius: 10px; */
+		background-position: 17px -6px;
+	}
+
+	.liuliangji {
+	}
+	.leftData {
+		height: 180px;
+		width: 120px;
+	}
+	.rightChart {
+		height: 180px;
+		width: 170px;
+		margin-top: -30px;
+	}
+	.leftTop1 {
+		width: 220px;
+		height: 200px;
+		text-align: center;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		font-size: 30px;
+		color: #727272;
+	}
+	.leftTop2 {
+		width: 250px;
+		height: 200px;
+		text-align: center;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		font-size: 30px;
+		color: #727272;
+	}
+	.leftTop3 {
+		width: 340px;
+		height: 200px;
+		/* background-image: url(/src/assets/images/dry/fanliao.gif); */
+		background-repeat: no-repeat;
+		background-position: 0px 20px;
+		background-size: 300px;
+		border-radius: 50px;
+	}
+
+	.eqpStatus {
+		width: 780px;
+		height: 300px;
+
+		padding: 100px;
+	}
+	.rightInfo {
+		display: flex;
+		flex-wrap: wrap;
+		align-content: flex-start;
+		height: 850px;
+		width: 900px;
+	}
+
+	.rightTop {
+		display: flex;
+		height: 360px;
+		padding-left: 10px;
+	}
+	.rightTwo {
+		display: flex;
+		flex-wrap: wrap;
+	}
+
+	.infoChart {
+		width: 290px;
+		height: 230px;
+		background: white;
+		margin-left: 10px;
+		margin-top: 10px;
+		border-radius: 10px;
+	}
+	.chartTittle {
+		width: 290px;
+		height: 30px;
+		font-size: 16px;
+		display: flex;
+		justify-content: space-between;
+		padding: 15px 15px;
+	}
+	.chartInfo {
+		width: 60px;
+		height: 180px;
+	}
+
+	.compareBar {
+		width: 55px;
+		height: 140px;
+	}
+	.margintop-30 {
+		margin-top: -30px;
+	}
+
+	.barTop {
+		width: 55px;
+		height: 30px;
+	}
+	.barBack {
+		width: 30px;
+		height: 100px;
+		/* border: 1px solid black; */
+		display: flex;
+		flex-wrap: wrap;
+		align-content: flex-end;
+	}
+	.barDiv {
+		width: 100%;
+
+		background-color: #1595ea;
+	}
+	.bad {
+		background-color: #ed6f6f;
+	}
+	.rightLabel {
+		width: 110px;
+		display: flex;
+		justify-content: space-between;
+	}
+	.label {
+		color: white;
+		text-align: center;
+		width: 50px;
+		border-radius: 4px;
+		height: 20px;
+		font-size: 10px;
+		line-height: 21px;
+	}
+	.good {
+		background-color: #2ecf54;
+	}
+
+	.mainInfo3 {
+		font-size: 24px;
+	}
+	.herbInfo {
+		width: 290px;
+		height: 360px;
+		color: #727272;
+	}
+
+	.curEqp {
+		width: 290px;
+		height: 120px;
+		background: white;
+		border-radius: 10px;
+	}
+	.curHerb {
+		margin-top: 10px;
+		width: 290px;
+		height: 230px;
+		background: white;
+		border-radius: 10px;
+		background-image: url(/src/assets/images/dry/yaocai.jpg);
+		background-repeat: no-repeat;
+		background-size: 110px 90px;
+		background-position: 10px 10px;
+	}
+	.tempMoisChart {
+		width: 590px;
+		height: 360px;
+		background: white;
+		margin-left: 10px;
+		padding: 20px;
+		border-radius: 10px;
+	}
+	.topLeft {
+		margin: 20px 40px 60px 20px;
+		padding: 15px;
+		background: white;
+		border-radius: 10px;
+		height: 325px;
+		width: 440px;
+		/* background-image: url(/src/assets/images/dry/yaocai.jpg); */
+		background-repeat: no-repeat;
+		background-size: 164px 132px;
+		background-position: 239px 65px;
+		display: flex;
+	}
+	.topMid {
+		margin: 20px 20px 60px 40px;
+		background: white;
+		border-radius: 10px;
+		background-image: url(/src/assets/images/dry/fanliao.gif);
+		background-repeat: no-repeat;
+		background-position: 0px 20px;
+		background-size: 400px;
+		width: 400px;
+
+		padding: 20px;
+	}
+	.topRight {
+		margin: 20px 20px 60px 20px;
+		background: white;
+		border-radius: 10px;
+		width: 700px;
+		padding: 20px;
+	}
+	.midLeft {
+		height: 450px;
+		width: 600px;
+		display: flex;
+		padding: 0 20px 20px 20px;
+	}
+	.midMid {
+		width: 500px;
+		padding-top: 50px;
+	}
+
+	.midRight {
+		background-image: url(/src/assets/images/dry/fengjixz.gif);
+		background-repeat: no-repeat;
+		background-position: 150px 260px;
+		background-size: 120px 120px;
+		width: 600px;
+	}
+
+	.shangJianTou {
+		margin-left: 140px;
+		width: 70px;
+		height: 100px;
+		background-image: url(/src/assets/images/dry/shangjiantoutou.gif);
+		background-repeat: no-repeat;
+		background-position: 0px 0px;
+		background-size: 70px 100px;
+	}
+
+	.zoujiantou {
+		margin-left: 225px;
+		margin-top: 30px;
+		width: 100px;
+		height: 70px;
+		background-image: url(/src/assets/images/dry/zuojiantou.gif);
+		background-repeat: no-repeat;
+		background-position: 0px 0px;
+		background-size: 100px 70px;
+	}
+	.fault {
+		padding: 10px;
+		height: 60px;
+		font-size: 26px;
+		width: 100%;
+		text-align: right;
+		color: red;
+	}
+	.eqpName {
+		padding: 20px;
+
+		height: 160px;
+	}
+
+	.formula {
+		display: flex;
+		width: 290px;
+		height: 40px;
+		padding: 0 20px;
+		justify-content: space-around;
+		justify-items: center;
+	}
+
+	.formulaItem {
+		display: flex;
+		justify-content: center;
+		width: 85px;
+		height: 40px;
+	}
+
+	.eqpInfoText {
+		font-size: 18px;
+		font-weight: bold;
+	}
+
+	:deep() .ant-slider-mark-text {
+		padding-left: 15px;
+		font-size: 10px;
+	}
+	:deep() .ant-slider-mark-text::before {
+		content: '';
+		display: block;
+		width: 6px;
+		height: 1px;
+		background-color: #1890ff;
+
+		position: absolute;
+		top: 10px;
+		left: 0px;
+	}
+	:deep() .ant-slider-rail {
+		width: 10px !important;
+		border-radius: 6px 6px 0 0;
+		background: linear-gradient(to top, #ce0000 0%, #ce0000 40%, #ce0000 75%, rgb(160, 160, 160) 100%);
+	}
+	:deep() .ant-slider-track {
+		background: rgb(216, 216, 216);
+
+		height: 20px;
+		width: 10px !important;
+		border-radius: 6px 6px 0 0;
+	}
+	:deep() .ant-slider-track:hover {
+	}
+	:deep() .ant-slider-handle {
+		display: none;
+	}
+	:deep() .ant-slider-dot {
+		display: none;
+	}
+	:deep() .ant-slider-step {
+		width: 10px !important;
+	}
+	:deep() .ant-slider-step > :first-child {
+		display: block !important;
+		width: 30px !important;
+		height: 30px !important;
+		bottom: -26px !important;
+		left: -6px;
+		border: none;
+		background: #ce0000;
+	}
+	:deep() .progress {
+		padding: 25px 25px;
+
+		width: 360px;
+		display: flex;
+	}
+	:deep() .ant-progress-bg {
+		height: 25px !important;
+	}
+	.outDiv {
+		display: flex;
+		justify-content: center;
+		justify-items: center;
+	}
+	.blingbling {
+		-webkit-animation: scaleout 1.5s infinite ease-in-out;
+		animation: scaleout 1.5s infinite ease-in-out;
+	}
+	.center {
+		display: flex;
+		justify-content: center;
+		justify-items: center;
+		align-items: center;
+		flex-wrap: wrap;
+		text-align: center;
+	}
+
+	.centerText {
+		width: 100%;
+		text-align: center;
+	}
+
+	@-webkit-keyframes scaleout {
+		0% {
+			-webkit-transform: scale(1);
+		}
+
+		100% {
+			-webkit-transform: scale(1.1);
+			opacity: 0;
+		}
+	}
+
+	@keyframes scaleout {
+		0% {
+			transform: scale(1);
+			-webkit-transform: scale(1);
+		}
+
+		100% {
+			transform: scale(1.1);
+			-webkit-transform: scale(1.1);
+			opacity: 0;
+		}
+	}
+</style>
diff --git a/src/views/dry/monitor/WorkShop.vue b/src/views/dry/monitor/WorkShop.vue
index 3781483..a2ade85 100644
--- a/src/views/dry/monitor/WorkShop.vue
+++ b/src/views/dry/monitor/WorkShop.vue
@@ -12,7 +12,7 @@
 									<span class="info-text">{{ realTime.get(item.id)?.dryTime | 0 }}</span> 鍒嗛挓
 								</div>
 
-								<div style="padding: 0 10px; width: 200px; height: 40px">
+								<div style="padding: 0 10px; width: 195px; height: 40px">
 									<div style="padding-top: 10px">
 										<Progress
 											:stroke-color="{
@@ -21,6 +21,7 @@
 											}"
 											:percent="realTime.get(item.id)?.percent"
 											status="active"
+											trailColor="#2b2b2b2b"
 											:show-info="false"
 										/>
 									</div>
@@ -54,18 +55,18 @@
 						</div>
 
 						<div class="eqpStatus">
-							<div> <span class="info-text">缈绘枡</span> </div>
+							<div> <span class="info-text">姝e湪骞茬嚗</span> </div>
 						</div>
 					</div>
 					<!-- <div :id="'chartDom' + item.id" class="chart"> </div> -->
 					<div class="info">
 						<div class="leftInfo">
 							<div style="width: 120px">
-								<div style="height: 1px; font-size: 10px; text-align: center; margin-top: 10px; margin-bottom: -10px"
+								<div style="height: 1px; font-size: 14px; text-align: center; margin-top: 10px; margin-bottom: -10px"
 									>鍒濆锛歿{ realTime.get(item.id)?.initial }}%</div
 								>
 								<div :id="'moisture' + item.id" style="width: 110px; height: 187px"></div>
-								<div style="height: 1px; font-size: 10px; text-align: center; margin-top: -25px">鐩爣锛歿{ realTime.get(item.id)?.target }}%</div>
+								<div style="height: 1px; font-size: 14px; text-align: center; margin-top: -25px">鐩爣锛歿{ realTime.get(item.id)?.target }}%</div>
 								<div style="width: 110px; text-align: center; margin-top: 23px">鍚按鐜�</div>
 							</div>
 							<!-- <div class="herbName"> 褰撳綊 </div> -->
@@ -85,7 +86,7 @@
 									vertical
 								/>
 								<div
-									>鐑锛�<span class="info-text">{{ realTime.get(item.id)?.windTemp | 0 }}</span> 掳C</div
+								class="info-text">鐑锛�<span >{{ realTime.get(item.id)?.windTemp | 0 }}</span> 掳C</div
 								>
 							</div>
 						</div>
@@ -356,7 +357,7 @@
 									// + '\n\n\n鐩爣'+(mois.value[2]*100).toFixed(2) + '%'
 								)
 							},
-							fontSize: 10,
+							fontSize: 14,
 							//position: ['50%',(100-mois.value[1]*100).toFixed(2) + '%'],
 						},
 					},
@@ -387,7 +388,7 @@
 			console.log(`output->res`, res)
 			if (res && res.trendVo) {
 				res.tempValue = [res.windTemp, 100]
-				res.percent = ((res.dryTime / res.et) * 100).toFixed(2)
+				res.percent = ((res.dryTime / (res.dryTime + res.remain)) * 100).toFixed(2)
 				res.mois = [
 					(res.trendVo.moisture / 100).toFixed(2),
 					(res.trendVo.moisture / 100 / 1.5).toFixed(2),
@@ -401,7 +402,7 @@
 								formatter: function () {
 									return res.trendVo.moisture + '%'
 								},
-								fontSize: 10,
+								fontSize: 14,
 								//position: ['50%',(100- res.trendVo.moisture)+ '%'],
 							},
 						},
@@ -449,12 +450,13 @@
 
 	.eqp-content {
 		height: 100%;
-		background-color: white;
-		background-image: url('../../../assets/images/dry/ganzaoji-x.png');
-		background-repeat: no-repeat;
-		background-size: 60% 60%;
-		background-position: 105px 150px;
-		border-radius: 8px;
+    background-color: #fdfdfd;
+    box-shadow: 0px 0px 23px #72727278;
+    background-image: url(/src/assets/images/dry/ganzaoji-x.png);
+    background-repeat: no-repeat;
+    background-size: 60% 60%;
+    background-position: 105px 127px;
+    border-radius: 8px;
 	}
 
 	.chart {
@@ -475,13 +477,13 @@
 	}
 	.eqpStatus {
 		width: 170px;
-		background-position: 0 0px;
-		background-image: url('../../../assets/images/dry/refeng2.gif');
-		background-size: 180px;
-		background-repeat: no-repeat;
-		display: inline-flex;
-		flex-direction: column-reverse;
-		padding: 15px;
+    background-position: -21px 19px;
+    background-image: url(/src/assets/images/dry/refeng2.gif);
+    background-size: 196px;
+    background-repeat: no-repeat;
+    display: inline-flex;
+    flex-direction: column-reverse;
+    padding: 15px;
 	}
 	.info {
 		display: flex;
@@ -498,7 +500,7 @@
 	}
 
 	.info-text {
-		font-size: 16px;
+		font-size: 14px;
 		font-weight: bold;
 	}
 	.herbName {
@@ -514,13 +516,14 @@
 		line-height: 35px;
 	}
 	.eqpName {
-		margin-top: 68px;
-		margin-left: 150px;
-		width: 95px;
-		font-weight: bold;
-		text-align: center;
-		background-color: white;
-		height: 22px;
+		margin-top: 190px;
+    margin-left: 129px;
+    width: 95px;
+    /* font-size: 14px; */
+    font-weight: bold;
+    text-align: center;
+    background-color: white;
+    height: 22px;
 	}
 
 	.tempChart {
diff --git a/src/views/sys/login/LoginSelect.vue b/src/views/sys/login/LoginSelect.vue
index 975b050..57ad48d 100644
--- a/src/views/sys/login/LoginSelect.vue
+++ b/src/views/sys/login/LoginSelect.vue
@@ -144,6 +144,7 @@
         }
         
         let multi_depart = loginResult.multi_depart;
+        console.log("loginResult::",loginResult);
         //0:鏃犻儴闂� 1:涓�涓儴闂� 2:澶氫釜閮ㄩ棬
         if (multi_depart == 0) {
           notification.warn({
@@ -262,6 +263,7 @@
        * 寮圭獥鎵撳紑鍓嶅鐞�
        */
       async function show(loginResult) {
+        console.log("showLoginResult::", loginResult);
         if (loginResult) {
           username.value = userStore.username;
           await reset();
diff --git a/src/views/system/loginmini/MiniLogin.vue b/src/views/system/loginmini/MiniLogin.vue
index 52a5d4f..9ffc1c6 100644
--- a/src/views/system/loginmini/MiniLogin.vue
+++ b/src/views/system/loginmini/MiniLogin.vue
@@ -48,7 +48,7 @@
 													<a-input class="fix-auto-fill" type="password" :placeholder="t('sys.login.password')" v-model:value="formData.password" />
 												</a-form-item>
 											</div>
-											<div class="aui-inputClear">
+											<!-- <div class="aui-inputClear">
 												<i class="icon icon-code"></i>
 												<a-form-item>
 													<a-input class="fix-auto-fill" type="text" :placeholder="t('sys.login.inputCode')" v-model:value="formData.inputCode" />
@@ -57,7 +57,7 @@
 													<img v-if="randCodeData.requestCodeSuccess" :src="randCodeData.randCodeImage" @click="handleChangeCheckCode" />
 													<img v-else style="margin-top: 2px; max-width: initial" :src="codeImg" @click="handleChangeCheckCode" />
 												</div>
-											</div>
+											</div> -->
 											<div class="aui-flex">
 												<div class="aui-flex-box">
 													<div class="aui-choice">
@@ -226,15 +226,15 @@
 	/**
 	 * 鑾峰彇楠岃瘉鐮�
 	 */
-	function handleChangeCheckCode() {
-		formData.inputCode = ''
+	// function handleChangeCheckCode() {
+	// 	formData.inputCode = ''
 
-		randCodeData.checkKey = 1629428467008
-		getCodeInfo(randCodeData.checkKey).then((res) => {
-			randCodeData.randCodeImage = res
-			randCodeData.requestCodeSuccess = true
-		})
-	}
+	// 	randCodeData.checkKey = 1629428467008
+	// 	getCodeInfo(randCodeData.checkKey).then((res) => {
+	// 		randCodeData.randCodeImage = res
+	// 		randCodeData.requestCodeSuccess = true
+	// 	})
+	// }
 
 	/**
 	 * 鍒囨崲鐧诲綍鏂瑰紡
@@ -288,7 +288,7 @@
 				description: error.message || t('sys.login.networkExceptionMsg'),
 				duration: 3,
 			})
-			handleChangeCheckCode()
+			// handleChangeCheckCode()
 		} finally {
 			loginLoading.value = false
 		}
@@ -393,7 +393,7 @@
 		Object.assign(phoneFormData, { mobile: '', smscode: '' })
 		type.value = 'login'
 		activeIndex.value = 'accountLogin'
-		handleChangeCheckCode()
+		// handleChangeCheckCode()
 	}
 
 	/**
@@ -418,7 +418,7 @@
 
 	onMounted(() => {
 		//鍔犺浇楠岃瘉鐮�
-		handleChangeCheckCode()
+		// handleChangeCheckCode()
 	})
 </script>
 

--
Gitblit v1.9.3