sterilization.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573
  1. <template>
  2. <!-- 注塑机 -->
  3. <view class="equipmentDtl">
  4. <commons-header title='灭菌柜'></commons-header>
  5. <view class="equ-img">
  6. <image src="../../static/images/mjg.png" mode=""></image>
  7. <!-- <view class="err-modal">
  8. <image src="../../static/images/icon_dqwd.png" mode=""></image>
  9. </view> -->
  10. </view>
  11. <view class="state">
  12. <view class="state-box">
  13. <image src="../../static/icon_sbzt.png" mode=""></image>
  14. <view class="text">
  15. <view class="label">
  16. 设备状态
  17. </view>
  18. <view class="state-text" style="color:#3FBF31">
  19. 工作中
  20. </view>
  21. </view>
  22. </view>
  23. <view class="state-box">
  24. <image src="../../static/icon_gzms-1.png" mode=""></image>
  25. <view class="text">
  26. <view class="label">
  27. 当前工序
  28. </view>
  29. <view class="state-text">
  30. Humidity Up
  31. </view>
  32. </view>
  33. </view>
  34. </view>
  35. <view class="parts-list">
  36. <ul>
  37. <li>
  38. <view class="temperature">
  39. {{yeya}} bar
  40. </view>
  41. <view>
  42. 气压
  43. </view>
  44. <view class="before-icon">
  45. <i class="iconfont">&#xe6c7;</i>
  46. </view>
  47. </li>
  48. <li>
  49. <view class="temperature">
  50. {{yeya}}℃
  51. </view>
  52. <view>
  53. Gas Temp
  54. </view>
  55. <view class="before-icon">
  56. <i class="iconfont" style="color:#FF8800">&#xe6c6;</i>
  57. </view>
  58. </li>
  59. <li>
  60. <view class="temperature">
  61. {{tongti}}℃
  62. </view>
  63. <view>
  64. E.O.温度
  65. </view>
  66. <view class="before-icon">
  67. <i class="iconfont" style="color:#3FBF31">&#xe6c8;</i>
  68. </view>
  69. </li>
  70. </ul>
  71. </view>
  72. <view class="state">
  73. <view class="state-box">
  74. <image src="../../static/images/icon_sw.png" mode=""></image>
  75. <view class="text" style="margin-left:20rpx;line-height: 40rpx;">
  76. <view class="label" style="font-size: 30rpx;font-weight: bold;">
  77. 65.7℃
  78. </view>
  79. <view class="state-text" style="color:#666">
  80. 水温
  81. </view>
  82. </view>
  83. <view class="before-icon">
  84. <i class="iconfont" style="color:#3FBF31">&#xe6c8;</i>
  85. </view>
  86. </view>
  87. <view class="state-box">
  88. <image src="../../static/images/icon_shidu.png" mode=""></image>
  89. <view class="text" style="margin-left:20rpx;line-height: 40rpx;">
  90. <view class="label" style="font-size: 30rpx;font-weight: bold;">
  91. 40%
  92. </view>
  93. <view class="state-text" style="color:#666">
  94. 湿度
  95. </view>
  96. </view>
  97. <view class="before-icon">
  98. <i class="iconfont" style="color:#3FBF31">&#xe6c8;</i>
  99. </view>
  100. </view>
  101. </view>
  102. <view class="parts-list">
  103. <ul>
  104. <li>
  105. <view class="temperature">
  106. {{yeya}}℃
  107. </view>
  108. <view>
  109. 平均温度
  110. </view>
  111. <view class="before-icon">
  112. <i class="iconfont">&#xe6c7;</i>
  113. </view>
  114. </li>
  115. <li>
  116. <view class="temperature">
  117. {{yeya}}℃
  118. </view>
  119. <view>
  120. 温箱1#
  121. </view>
  122. <view class="before-icon">
  123. <i class="iconfont" style="color:#FF8800">&#xe6c6;</i>
  124. </view>
  125. </li>
  126. <li>
  127. <view class="temperature">
  128. {{tongti}}℃
  129. </view>
  130. <view>
  131. 温箱2#
  132. </view>
  133. <view class="before-icon">
  134. <i class="iconfont" style="color:#3FBF31">&#xe6c8;</i>
  135. </view>
  136. </li>
  137. </ul>
  138. </view>
  139. </view>
  140. </template>
  141. <script>
  142. import {
  143. getInfo
  144. } from "@/util/api.js";
  145. import Vue from 'vue'
  146. import commonsHeader from '../../components/commons-header/index.vue'
  147. export default {
  148. components: {
  149. commonsHeader
  150. },
  151. data() {
  152. return {
  153. tongdao:[
  154. {
  155. name:"通道1",
  156. yali:10,
  157. sudu:70,
  158. },
  159. {
  160. name:"通道1",
  161. yali:50,
  162. sudu:80,
  163. },
  164. {
  165. name:"通道1",
  166. yali:80,
  167. sudu:50,
  168. },{
  169. name:"通道1",
  170. yali:40,
  171. sudu:40,
  172. }
  173. ],
  174. tongdao1:[
  175. {
  176. name:"通道1",
  177. yali:12,
  178. sudu:72,
  179. },
  180. {
  181. name:"通道1",
  182. yali:53,
  183. sudu:83,
  184. },
  185. {
  186. name:"通道1",
  187. yali:84,
  188. sudu:55,
  189. },{
  190. name:"通道1",
  191. yali:46,
  192. sudu:46,
  193. }
  194. ],
  195. tongdao2:[
  196. {
  197. name:"通道1",
  198. yali:6,
  199. sudu:66,
  200. },
  201. {
  202. name:"通道1",
  203. yali:44,
  204. sudu:84,
  205. },
  206. {
  207. name:"通道1",
  208. yali:54,
  209. sudu:33,
  210. },{
  211. name:"通道1",
  212. yali:22,
  213. sudu:11,
  214. }
  215. ],
  216. userInfoData: [],
  217. notificationData: [],
  218. opts: {
  219. color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
  220. "#ea7ccc"
  221. ],
  222. padding: [15, 10, 0, 15],
  223. legend: {},
  224. xAxis: {
  225. disableGrid: true
  226. },
  227. yAxis: {
  228. gridType: "dash",
  229. dashLength: 2
  230. },
  231. extra: {
  232. line: {
  233. type: "straight",
  234. width: 2
  235. }
  236. }
  237. },
  238. chartData: {
  239. categories: ["8", "9", "10", "11", "12", "13"],
  240. series: [
  241. {
  242. name: "实际产量",
  243. data: [200, 410, 350, 400, 440, 450]
  244. },{
  245. name: "极限产量",
  246. data: [500, 500, 500, 500, 500, 500]
  247. },
  248. ]
  249. },
  250. qiehuantype:1,
  251. tongti:80,
  252. yeya:80,
  253. }
  254. },
  255. onLoad() {
  256. const v = this
  257. v.qiehuan()
  258. },
  259. methods: {
  260. qiehuan(){
  261. const tongdao = [
  262. {
  263. name:"通道1",
  264. yali:10 + (Math.round(Math.random()*100) - 50) / 10,
  265. sudu:70 + (Math.round(Math.random()*100) - 50) / 10,
  266. },
  267. {
  268. name:"通道1",
  269. yali:50 + (Math.round(Math.random()*100) - 50) / 10,
  270. sudu:80 + (Math.round(Math.random()*100) - 50) / 10,
  271. },
  272. {
  273. name:"通道1",
  274. yali:80 + (Math.round(Math.random()*100) - 50) / 10,
  275. sudu:50 + (Math.round(Math.random()*100) - 50) / 10,
  276. },{
  277. name:"通道1",
  278. yali:40 + (Math.round(Math.random()*100) - 50) / 10,
  279. sudu:40 + (Math.round(Math.random()*100) - 50) / 10,
  280. }
  281. ]
  282. this.tongdao = tongdao
  283. this.tongti = 82 + (Math.round(Math.random()*100) - 50) / 10
  284. this.yeya = 82 + (Math.round(Math.random()*100) - 50) / 10
  285. setTimeout(()=>{
  286. this.qiehuan()
  287. },5000)
  288. },
  289. toRouter(j) {
  290. console.log(j)
  291. uni.navigateTo({
  292. url: '/pages/' + j.menuKey + '/' + j.menuKey
  293. })
  294. },
  295. },
  296. }
  297. </script>
  298. <style lang="less" scoped>
  299. .equipmentDtl {
  300. background-color: #f0f0f0;
  301. min-height: 100vh;
  302. margin-top: 128rpx;
  303. .pressure-chart{
  304. height: 100rpx;
  305. width: 100rpx;
  306. // background-image: conic-gradient(from 135deg ,#fff 90deg, #EEEEEE 26%);
  307. background: url(../../static/images/ybp.png);
  308. background-size: 100% 100%;
  309. border-radius: 50%;
  310. margin: 20rpx auto;
  311. position: relative;
  312. .pressure-zhen{
  313. position: absolute;
  314. z-index: 2;
  315. top:0;
  316. left: 0;
  317. right: 0;
  318. bottom: 0;
  319. transform: rotate(70deg);
  320. transition: all ease .5s;
  321. image{
  322. width:36rpx;
  323. height: 36rpx;
  324. margin-top: 22rpx;
  325. }
  326. }
  327. .pressure-line{
  328. position: absolute;
  329. top:0;
  330. left: 0;
  331. right: 0;
  332. bottom: 0;
  333. z-index: 1;
  334. // background-image: conic-gradient(from 135deg ,#fff 90deg,#FFAF53 90deg,#FF8800 0%, #EEEEEE 0%);
  335. border-radius: 50%;
  336. transition: all ease .5s;
  337. }
  338. .pressure-line::before{
  339. position: absolute;
  340. display: block;
  341. top:20rpx;
  342. left: 20rpx;
  343. right: 20rpx;
  344. bottom: 20rpx;
  345. content:" ";
  346. background-color: #fff;
  347. border-radius: 50%;
  348. }
  349. }
  350. .pressure-chart::before{
  351. position: absolute;
  352. display: block;
  353. inset: 20rpx 20rpx 20rpx 20rpx;
  354. content:" ";
  355. background-color: #fff;
  356. border-radius: 50%;
  357. }
  358. .pressure-warp{
  359. display: flex;
  360. justify-content: space-between;
  361. padding: 0 24rpx;
  362. margin-top: 24rpx;
  363. li{
  364. width: 23%;
  365. text-align: center;
  366. background-color: #fff;
  367. padding: 32rpx 0;
  368. border-radius: 10rpx;
  369. font-size: 24rpx;
  370. color: #666666;
  371. .pressure-chart{
  372. }
  373. .label{
  374. color: #333333;
  375. font-size: 28rpx;
  376. }
  377. .pressure{
  378. font-size: 32rpx;
  379. color: #333;
  380. margin: 10rpx 0;
  381. }
  382. .line{
  383. width: 100rpx;
  384. height: 20rpx;
  385. background: #EEEEEE;
  386. border-radius: 10rpx;
  387. margin: 16rpx auto 0;
  388. .box{
  389. width:80%;
  390. background: linear-gradient(270deg, #3370FF 0%, #A0BBFB 100%);
  391. height: 100%;
  392. border-radius: 10rpx;
  393. transition: all ease .5s;
  394. }
  395. }
  396. }
  397. }
  398. .parts-list{
  399. padding: 0 24rpx;
  400. margin-top: 24rpx;
  401. ul{
  402. display: flex;
  403. justify-content: space-between;
  404. }
  405. li{
  406. width: 32%;
  407. padding: 30rpx 0;
  408. text-align: center;
  409. position: relative;
  410. background-color: #fff;
  411. .temperature{
  412. font-size: 40rpx;
  413. font-weight: bold;
  414. height: 60rpx;
  415. margin: 0 auto 20rpx;
  416. line-height: 60rpx;
  417. }
  418. image{
  419. width: 60rpx;
  420. height: 60rpx;
  421. display: block;
  422. margin: 0 auto 20rpx;
  423. }
  424. }
  425. .before-icon{
  426. width: 30rpx;
  427. height: 30rpx;
  428. position: absolute;
  429. right: 10rpx;
  430. top: 10rpx;
  431. i{
  432. color: #F54A45;
  433. }
  434. }
  435. .before{
  436. width: 30rpx;
  437. height: 30rpx;
  438. border-radius: 50%;
  439. background-color: rgba(204,204,204,0.2);
  440. display: block;
  441. position: absolute;
  442. right: 16rpx;
  443. top: 16rpx;
  444. }
  445. .before::before{
  446. position: absolute;
  447. display: block;
  448. top: 7rpx;
  449. left: 7rpx;
  450. width: 19rpx;
  451. height: 19rpx;
  452. border-radius: 50%;
  453. content:" ";
  454. background: #cccccc;
  455. }
  456. .before.succes{
  457. background-color: rgba(63,191,49,0.2);
  458. }
  459. .before.succes::before{
  460. background: #3FBF31;
  461. }
  462. }
  463. .echarts {
  464. background: #fff;
  465. margin: 24rpx 24rpx 0;
  466. .content{
  467. .text{
  468. font-size: 28rpx;
  469. font-weight: 700;
  470. color: #333;
  471. text-align: center;
  472. margin-bottom: 40rpx;
  473. }
  474. }
  475. .title{
  476. font-size: 28rpx;
  477. height: 90rpx;
  478. line-height: 90rpx;
  479. display: flex;
  480. padding: 0 24rpx;
  481. font-weight: 500;
  482. image{
  483. width: 40rpx;
  484. height: 40rpx;
  485. margin-top: 25rpx;
  486. margin-right: 16rpx;
  487. }
  488. }
  489. }
  490. .parts-list {}
  491. .equ-img {
  492. padding: 24rpx;
  493. background-color: #ffffff;
  494. position: relative;
  495. image {
  496. width: 100%;
  497. height: 395rpx;
  498. }
  499. .err-modal{
  500. position: absolute;
  501. left: 0;
  502. right: 0;
  503. bottom: 0;
  504. top: 0;
  505. background: rgba(0,0,0,0.60);
  506. text-align: center;
  507. display: flex;
  508. align-items: center;
  509. image{
  510. width: 160rpx;
  511. height: 160rpx;
  512. margin: 0 auto;
  513. }
  514. }
  515. }
  516. .state {
  517. display: flex;
  518. justify-content: space-between;
  519. margin: 24rpx 24rpx 0;
  520. .state-box {
  521. padding: 20rpx;
  522. width: 48%;
  523. background-color: #fff;
  524. display: flex;
  525. box-sizing: border-box;
  526. border-radius: 10rpx;
  527. position: relative;
  528. .before-icon{
  529. width: 30rpx;
  530. height: 30rpx;
  531. position: absolute;
  532. right: 10rpx;
  533. top: 10rpx;
  534. i{
  535. color: #F54A45;
  536. }
  537. }
  538. .text{
  539. padding: 12rpx 0;
  540. }
  541. .state-text{
  542. font-size: 26rpx;
  543. color: #FF8800;
  544. font-weight: bold;
  545. margin-top: 5rpx;
  546. }
  547. .label{
  548. font-weight: 400;
  549. font-size: 28rpx;
  550. }
  551. image {
  552. width: 110rpx;
  553. height: 110rpx;
  554. }
  555. }
  556. }
  557. }
  558. </style>