From 7dbbcd0e54b4094e9f2b620197147e69911669c6 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期日, 08 十月 2023 08:17:03 +0800
Subject: [PATCH] 海尔项目10.8最新版本
---
gmms/WebContent/qiegeguanli/qiegerenwu.jsp | 123
gmms/WebContent/js/static/js/vue.js | 6
gmms/WebContent/bigScreen/ganghuaxiapian.jsp | 215 +
gmms/WebContent/bigScreen/glassStorage.jsp | 285 ++
gmms/WebContent/bigScreen/shuidao.jsp | 408 +++
gmms/WebContent/js/components.js | 230 +
gmms/WebContent/bigScreen/tiemotaizu.jsp | 213 +
gmms/WebContent/bigScreen/mobiandaojiao.jsp | 303 ++
gmms/WebContent/img/cangchu.png | 0
gmms/WebContent/qiegeguanli/shangpianweixinxi.jsp | 21
gmms/WebContent/bigScreen/siyinxian1.jsp | 321 ++
gmms/WebContent/login/machinelistcontent2.jsp | 74
gmms/WebContent/js/static/css/style.css | 27
gmms/WebContent/mysqlInsert/mysql.jsp | 29
gmms/WebContent/js/global.js | 10
gmms/WebContent/bigScreen/allGlassflashVice.jsp | 38
gmms/WebContent/js/mixins.js | 158 +
gmms/WebContent/login/run.jsp | 2
gmms/WebContent/orderManage/produce.jsp | 56
gmms/WebContent/bigScreen/dakongdaping.jsp | 304 ++
gmms/WebContent/js/static/css/public.css | 12
gmms/WebContent/mysqlInsert/mysql_connect.jsp | 9
gmms/WebContent/bigScreen/jiagongzhongxin1.jsp | 0
gmms/WebContent/yuanpiancangchu/cangchurenwuxinxi.jsp | 46
gmms/WebContent/orderManage/order.jsp | 40
gmms/WebContent/bigScreen/ganghuaxiapian1.jsp | 0
gmms/WebContent/bigScreen/allGlassflash.jsp | 1865 +++++++++++++++
gmms/WebContent/js/static/js/mixins.js | 12
gmms/WebContent/img/大屏.png | 0
gmms/WebContent/login/bdg.jsp | 2
gmms/WebContent/js.rar | 0
gmms/WebContent/bigScreen/glassCut.jsp | 146 +
gmms/WebContent/yuanpiancangchu/liaojiaguanli.jsp | 36
gmms/WebContent/mysqlInsert/mysqllist.jsp | 83
gmms/WebContent/bigScreen/数据图.png | 0
gmms/WebContent/orderManage/YieldQuery.html | 110
gmms/WebContent/login/quanxian.jsp | 5
gmms/WebContent/login/admin/shezhi2.jsp | 2
/dev/null | 7
gmms/WebContent/mysqlInsert/toPlc.jsp | 204 +
gmms/WebContent/js/main.js | 22
gmms/WebContent/bigScreen/xiapianduiduo.jsp | 422 +++
gmms/WebContent/login/index.jsp | 4
gmms/WebContent/mysqlInsert/getPicture.jsp | 18
gmms/WebContent/login/admin/shezhi1.jsp | 2
gmms/WebContent/bigScreen/jiagongzhongxin.jsp | 411 +++
gmms/WebContent/bigScreen/xiacijiance1.jsp | 304 ++
gmms/WebContent/login/machinelistcontent.jsp | 25
gmms/WebContent/orderManage/siteWork.jsp | 354 +++
49 files changed, 6,812 insertions(+), 152 deletions(-)
diff --git a/gmms/WebContent/WEB-INF/lib/nglib.jar b/gmms/WebContent/WEB-INF/lib/nglib.jar
deleted file mode 100644
index bc242b8..0000000
--- a/gmms/WebContent/WEB-INF/lib/nglib.jar
+++ /dev/null
Binary files differ
diff --git a/gmms/WebContent/bigScreen/allGlassflash.jsp b/gmms/WebContent/bigScreen/allGlassflash.jsp
new file mode 100644
index 0000000..a5542b0
--- /dev/null
+++ b/gmms/WebContent/bigScreen/allGlassflash.jsp
@@ -0,0 +1,1865 @@
+<%@ page contentType="text/html;charset=UTF-8"%>
+
+<html>
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+<style>
+ html,body{
+ width: 100%;
+ height: 100%;
+ padding: 0;
+ margin: 0;
+ }
+ #header {
+ width: 100%;
+ height: 30%;
+ background-color: white;
+ display: flex;
+ }
+ #footer {
+ width: 100%;
+ height: 70%;
+
+ }
+ #main1 {
+ width: 15%;
+ height: 100%;
+ }
+ #main2 {
+ width: 20%;
+ height: 100%;
+ }
+ #main4 {
+ width: 20%;
+ height: 100%;
+ }
+ #main3 {
+ width: 45%;
+ height: 100%;
+ display: flex;
+ }
+ #main1-1 {
+ width: 100%;
+ height: 50%;
+ }
+ #main1-2 {
+ width: 100%;
+ height: 50%;
+ }
+ #main3-1 {
+ width: 50%;
+ height: 100%;
+ }
+ #main3-2 {
+ width: 50%;
+ height: 100%;
+
+ }
+ #main4-1 {
+ width: 100%;
+ height: 30%;
+
+ }
+ #main4-2 {
+ width: 100%;
+ height: 30%;
+
+ }
+ #main4-3 {
+ width: 100%;
+ height: 30%;
+
+ }
+ #main1-1-1 {
+ font-size: 35px;
+ margin-top: 10%;
+ }
+ #main1-2-1 {
+ font-size: 35px;
+ margin-top: 10%;
+ }
+ #main3-1-1 {
+ width: 100%;
+ height: 20%;
+ }
+ #main3-1-2 {
+ width: 100%;
+ height: 80%;
+ }
+ #main3-2-1 {
+ width: 100%;
+ height: 20%;
+ }
+ #main3-2-2 {
+ width: 100%;
+ height: 80%;
+ }
+
+
+ .boli {
+ opacity:0.5;
+
+ }
+ #cangchu {
+ width: 75px;
+ height: 25px;
+ position: absolute;
+ top: 820px;
+ left: 1507px;
+ }
+ /* -45
+ -50
+ */
+ #A4 {
+ width: 65px;
+ height: 55px;
+ position: Absolute;
+ top: 775px;
+ left: 1250px
+ }
+ #A7 {
+ width: 15px;
+ height: 45px;
+ position: Absolute;
+ top: 785px;
+ left: 1185px
+ }
+ #A9 {
+ width: 15px;
+ height: 45px;
+ position: Absolute;
+ top: 785px;
+ left: 1139px
+ }
+ #A10 {
+ width: 15px;
+ height: 45px;
+ position: Absolute;
+ top: 840px;
+ left: 1139px
+ }
+ #A11 {
+ width: 15px;
+ height: 45px;
+ position: Absolute;
+ top: 840px;
+ left: 1185px
+ }
+ #A14 {
+ width: 12px;
+ height: 12px;
+ position: Absolute;
+ top: 922px;
+ left: 1140px
+ }
+ #A15 {
+ width: 12px;
+ height: 12px;
+ position: Absolute;
+ top: 922px;
+ left: 1183px
+ }
+ #A16 {
+ width: 12px;
+ height: 12px;
+ position: Absolute;
+ top: 951px;
+ left: 1183px
+ }
+ #A17 {
+ width: 12px;
+ height: 12px;
+ position: Absolute;
+ top: 951px;
+ left: 1163px
+ }
+ #A18 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 951px;
+ left: 1140px
+ }
+ #A20 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 951px;
+ left: 1122px
+ }
+ #A21 {
+ width: 45px;
+ height: 65px;
+
+ position: Absolute;
+ top: 918px;
+ left: 1075px;
+
+ }
+ #A22 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 953px;
+ left: 1061px;
+ }
+ #A23 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 953px;
+ left: 1047px;
+ }
+ #A24 {
+ width: 45px;
+ height: 65px;
+
+ position: Absolute;
+ top: 918px;
+ left: 1000px;
+ }
+ #A25 {
+ width: 35px;
+ height: 50px;
+
+ position: Absolute;
+ top: 932px;
+ left: 945px;
+ }
+ #A26 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 953px;
+ left: 926px;
+ }
+ #A28 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 953px;
+ left: 912px;
+ }
+ #A29 {
+ width: 25px;
+ height: 25px;
+
+ position: Absolute;
+ top: 949px;
+ left: 885px;
+ }
+ #A30 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 954px;
+ left: 871px;
+ }
+
+
+ #A31 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 954px;
+ left: 851px;
+ }
+ #A32 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 954px;
+ left: 832px;
+ }
+ #A33 {
+ width: 22px;
+ height: 52px;
+
+ position: Absolute;
+ top: 923px;
+ left: 804px;
+ }
+ #A34 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 956px;
+ left: 775px;
+ }
+ #A35 {
+ width: 57px;
+ height: 55px;
+
+ position: Absolute;
+ top: 920px;
+ left: 705px;
+ }
+ #A37 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 956px;
+ left: 680px;
+ }
+ #A38 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 956px;
+ left: 642px;
+ }
+ #A39 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 956px;
+ left: 606px;
+ }
+ #A40 {
+ width: 37px;
+ height: 44px;
+
+ position: Absolute;
+ top: 931px;
+ left: 556px;
+ }
+ #A41 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 954px;
+ left: 538px;
+ }
+ #A42 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 954px;
+ left: 517px;
+ }
+ #B31 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 884px;
+ left: 850px;
+ }
+ #B32 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 884px;
+ left: 832px;
+ }
+ #B33 {
+ width: 22px;
+ height: 52px;
+
+ position: Absolute;
+ top: 853px;
+ left: 804px;
+ }
+ #B34 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 886px;
+ left: 775px;
+ }
+ #B35 {
+ width: 57px;
+ height: 55px;
+
+ position: Absolute;
+ top: 850px;
+ left: 705px;
+ }
+ #B37 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 886px;
+ left: 680px;
+ }
+ #B38 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 886px;
+ left: 642px;
+ }
+ #B39 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 886px;
+ left: 606px;
+ }
+ #B40 {
+ width: 37px;
+ height: 44px;
+
+ position: Absolute;
+ top: 861px;
+ left: 556px;
+ }
+ #B41 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 884px;
+ left: 538px;
+ }
+ #B42 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 884px;
+ left: 517px;
+ }
+ #C31 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 814px;
+ left: 850px;
+ }
+ #C32 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 814px;
+ left: 832px;
+ }
+ #C33 {
+ width: 22px;
+ height: 52px;
+
+ position: Absolute;
+ top: 785px;
+ left: 804px;
+ }
+ #C34 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 817px;
+ left: 775px;
+ }
+ #C35 {
+ width: 57px;
+ height: 55px;
+
+ position: Absolute;
+ top: 780px;
+ left: 705px;
+ }
+ #C37 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 817px;
+ left: 680px;
+ }
+ #C38 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 817px;
+ left: 642px;
+ }
+ #C39 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 817px;
+ left: 606px;
+ }
+ #C40 {
+ width: 37px;
+ height: 44px;
+
+ position: Absolute;
+ top: 791px;
+ left: 556px;
+ }
+ #C41 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 814px;
+ left: 538px;
+ }
+ #C42 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 814px;
+ left: 517px;
+ }
+ #D31 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 746px;
+ left: 850px;
+ }
+ #D32 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 746px;
+ left: 832px;
+ }
+ #D33 {
+ width: 22px;
+ height: 52px;
+
+ position: Absolute;
+ top: 715px;
+ left: 804px;
+ }
+ #D34 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 748px;
+ left: 775px;
+ }
+ #D35 {
+ width: 57px;
+ height: 55px;
+
+ position: Absolute;
+ top: 711px;
+ left: 705px;
+ }
+ #D37 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 748px;
+ left: 680px;
+ }
+ #D38 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 748px;
+ left: 642px;
+ }
+ #D39 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 748px;
+ left: 606px;
+ }
+ #D40 {
+ width: 37px;
+ height: 44px;
+
+ position: Absolute;
+ top: 723px;
+ left: 556px;
+ }
+ #D41 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 746px;
+ left: 538px;
+ }
+ #D42 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 746px;
+ left: 517px;
+ }
+ #s1 {
+ width: 15px;
+ height: 40px;
+
+ position: Absolute;
+ top: 906px;
+ left: 850px;
+ }
+ #s2 {
+ width: 15px;
+ height: 40px;
+
+ position: Absolute;
+ top: 838px;
+ left: 850px;
+ }
+ #s3 {
+ width: 15px;
+ height: 40px;
+
+ position: Absolute;
+ top: 769px;
+ left: 850px;
+ }
+ #s6 {
+ width: 15px;
+ height: 40px;
+
+ position: Absolute;
+ top: 906px;
+ left: 515px;
+ }
+ #s5 {
+ width: 15px;
+ height: 40px;
+
+ position: Absolute;
+ top: 838px;
+ left: 515px;
+ }
+ #s4 {
+ width: 15px;
+ height: 40px;
+
+ position: Absolute;
+ top: 769px;
+ left: 515px;
+ }
+
+ #A43 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 954px;
+ left: 498px;
+ }
+ #A44 {
+ width: 190px;
+ height: 26px;
+
+ position: Absolute;
+ top: 949px;
+ left: 297px;
+ }
+ #A45 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 954px;
+ left: 277px;
+ }
+ #A47 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 954px;
+ left: 258px;
+ }
+ #A49 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 954px;
+ left: 240px;
+ }
+ #A49-1 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 954px;
+ left: 223px;
+ }
+ #A50 {
+ width: 25px;
+ height: 25px;
+
+ position: Absolute;
+ top: 950px;
+ left: 197px;
+ }
+ #A51-1 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 954px;
+ left: 183px;
+ }
+ #A51-2 {
+ width: 69px;
+ height: 34px;
+
+ position: Absolute;
+ top: 945px;
+ left: 110px;
+ }
+ #A51-3 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 955px;
+ left: 95px;
+ }
+ #A52-1 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 955px;
+ left: 75px;
+ }
+ #A52-2 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 955px;
+ left: 55px;
+ }
+ #A52-3 {
+ width: 23px;
+ height: 125px;
+
+ position: Absolute;
+ top: 820px;
+ left: 50px;
+ }
+ #A52-4 {
+ width: 17px;
+ height: 30px;
+
+ position: Absolute;
+ top: 787px;
+ left: 52px;
+ }
+ #A52-5 {
+ width: 17px;
+ height: 75px;
+
+ position: Absolute;
+ top: 703px;
+ left: 52px;
+ }
+ #A52-6 {
+ width: 17px;
+ height: 75px;
+
+ position: Absolute;
+ top: 618px;
+ left: 52px;
+ }
+ #A55-1 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 603px;
+ left: 55px;
+ }
+ #A55-2 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 585px;
+ left: 55px;
+ }
+ #A55-3 {
+ width: 17px;
+ height: 30px;
+
+ position: Absolute;
+ top: 546px;
+ left: 52px;
+ }
+ #A55-4 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 522px;
+ left: 55px;
+ }
+ #A55-5 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 522px;
+ left: 73px;
+ }
+ #A55-6 {
+ width: 70px;
+ height: 40px;
+
+ position: Absolute;
+ top: 507px;
+ left: 89px;
+ }
+ #A55-7 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 522px;
+ left: 162px;
+ }
+ #A56-1 {
+ width: 148px;
+ height: 26px;
+
+ position: Absolute;
+ top: 516px;
+ left: 179px;
+ }
+ #A56-2 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 522px;
+ left: 332px;
+ }
+ #A56-3 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 522px;
+ left: 349px;
+ }
+ #A56-4 {
+ width: 22px;
+ height: 22px;
+
+ position: Absolute;
+ top: 516px;
+ left: 364px;
+ }
+ #A56-5 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 521px;
+ left: 390px;
+ }
+ #A59 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 548px;
+ left: 390px;
+ }
+ #A61 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 572px;
+ left: 390px;
+ }
+ #A63 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 592px;
+ left: 390px;
+ }
+ #A64 {
+ width: 12px;
+ height: 20px;
+
+ position: Absolute;
+ top: 614px;
+ left: 390px;
+ }
+ #A65 {
+ width: 12px;
+ height: 20px;
+
+ position: Absolute;
+ top: 614px;
+ left: 405px;
+ }
+ #A66 {
+ width: 684px;
+ height: 50px;
+
+ position: Absolute;
+ top: 600px;
+ left: 438px;
+ }
+ #A67 {
+ width: 12px;
+ height: 20px;
+
+ position: Absolute;
+ top: 617px;
+ left: 1140px;
+ }
+ #A68 {
+ width: 12px;
+ height: 20px;
+
+ position: Absolute;
+ top: 617px;
+ left: 1158px;
+ }
+ #A69 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 581px;
+ left: 1157px;
+ }
+ #A70 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 545px;
+ left: 1157px;
+ }
+ #A71 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 508px;
+ left: 1157px;
+ }
+ #A72 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 466px;
+ left: 1157px;
+ }
+ #A73 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 430px;
+ left: 1157px;
+ }
+ #A74 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 430px;
+ left: 1175px;
+ }
+ #A75 {
+ width: 76px;
+ height: 32px;
+
+ position: Absolute;
+ top: 416px;
+ left: 1190px;
+ }
+ #A76 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 430px;
+ left: 1268px;
+ }
+ #A78 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 430px;
+ left: 1284px;
+ }
+ #A78-1 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 430px;
+ left: 1299px;
+ }
+ #A79 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 432px;
+ left: 1333px;
+ }
+ #A80 {
+ width: 18px;
+ height: 18px;
+
+ position: Absolute;
+ top: 429px;
+ left: 1312px;
+ }
+ #A81 {
+ width: 130px;
+ height: 18px;
+
+ position: Absolute;
+ top: 429px;
+ left: 1349px;
+ }
+ #A82 {
+ width: 82px;
+ height: 18px;
+
+ position: Absolute;
+ top: 429px;
+ left: 1485px;
+ }
+ #A83-1 {
+ width: 22px;
+ height: 38px;
+
+ position: Absolute;
+ top: 415px;
+ left: 1575px;
+ }
+ #A83-2 {
+ width: 22px;
+ height: 38px;
+
+ position: Absolute;
+ top: 415px;
+ left: 1616px;
+ }
+ #A84 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 432px;
+ left: 1655px;
+ }
+ #A85 {
+ width: 145px;
+ height: 12px;
+
+ position: Absolute;
+ top: 432px;
+ left: 1675px;
+ }
+ #A89 {
+ width: 12px;
+ height: 12px;
+
+ position: Absolute;
+ top: 432px;
+ left: 1832px;
+ }
+ .divGrenn{
+ background-color:green;
+ display:block
+ }
+ .divRed{
+ background-color:red;
+ display:block
+ }
+ .divYellow{
+ background-color:yellow;
+ display:block
+ }
+ .divnull{
+ display:none
+ }
+ </style>
+<title>澶у睆鏄剧ず</title>
+</head>
+<body>
+ <div id="app" style="width: 1920px;height: 1080px;background-color: #7f817cdd;">
+ <div id="header">
+ <div id="main1" v-for='items1 in shuzu1'>
+ <div id="main1-1">褰撳墠璁㈠崟鍙凤細
+ <div id="main1-1-1" >{{items1['0_order_id']}}</div>
+ </div>
+ <div id="main1-2">褰撳墠浜у搧鍙凤細
+ <div id="main1-2-1">{{items1['1_recipe_no']}}</div>
+ </div>
+ </div>
+ <div id="main4"></div>
+ <div id="main2"></div>
+ <div id="main3">
+ <div id="main3-1">
+ <div id="main3-1-1">鎬昏�楃數锛�<span>{{shuzu2[0]['0_@jiqidianliang']}}kw</span></div>
+ <div id="main3-1-2"></div>
+ </div>
+ <div id="main3-2">
+ <div id="main3-2-1">鎬昏�楁按锛�<span>{{shuzu2[0]['1_@jiqidianliang1']}}m鲁</span></div>
+ <div id="main3-2-2"></div>
+ </div>
+ </div>
+ </div>
+ <div id="footer">
+ <img style="width: 100%;height: 100%;" src="../img/澶у睆.png">
+ </div>
+ <div id="cangchu" >
+ <img style="width: 100%;height: 100%;" src="../img/cangchu.png">
+ </div>
+ <div v-for="items in shuzu" :class="items['6_class']" :id="items['3_class_html']" v-if="Object.keys(shuzu[0]).length!=0" class="boli" ></div>
+
+ </div>
+
+
+
+<script src="../js/jquery-3.4.1.min.js"></script>
+<script type="text/javascript" src="../static/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+<script src="../js/vue.min.js"></script>
+ <script src="../js/axios.min.js"></script>
+<script src="../js/mixins.js"></script>
+<script src="../js/echarts.min.js"></script>
+
+<script>
+Vue.prototype.$echarts = echarts;
+Vue.prototype.$http= axios;
+ let app = new Vue({
+ el:'#app',
+ mixins:[mixin],
+ data:{
+ shuzu:[{}],
+ shuzu1:[{}],
+ shuzu2:[{}],
+ machineElectric:[{}],
+ machineWater:[{}],
+
+
+
+
+ val: {
+ title:{
+ text:'',
+ left:'center'
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ xAxis: [{
+ type: 'category',
+ data: [],
+ axisLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)'
+ }
+ },
+ axisLabel: {
+ color: 'rgb(30, 144, 255)'
+ },
+ splitLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)',
+ type: 'dashed'
+ }
+ }
+ }],
+ yAxis: [{
+ type: "value",
+ name: "鑳借��",
+ nameTextStyle: {
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
+ },
+ splitLine: {
+ // 缃戞牸绾�
+ show: false,
+ lineStyle: { //鍒嗗壊绾�
+ color: "rgb(180, 180, 180)",
+ width: 1,
+ type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
+ }
+ },
+ axisLabel: {
+ // 杞存枃瀛�
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ },
+ },
+
+ ],
+ series: [{
+ name: '鐢佃��',
+ type: 'bar',
+ barWidth: '80%',
+ data: [220, 152, 200, 334, 390, 330, 220],
+ itemStyle: {
+ color: 'rgb(180, 180, 180)'
+ }
+ },
+
+ ]
+ },
+ val1: {
+ borderColor:'#082352',
+ title: {
+ // text: '鎴愬搧搴撳瓨',
+ // left: '290px',
+ // top: '0px'
+ text:'鍚堟牸鐜�',//涓绘爣棰樻枃鏈�
+ left:'center',
+ top:'45%',
+ left:'40%',
+ textStyle:{
+ color:'#454c5c',
+ align:'center'
+ },
+ subtextStyle:{
+ fontFamily : "寰蒋闆呴粦",
+ color:'#6c7a89',
+ }
+
+ },
+
+ tooltip: {
+ trigger: 'item',
+ textStyle:{
+ }
+ },
+ legend: {
+ // orient: 'vertical',
+ left: 'left',
+ textStyle:{
+
+ }
+ },
+ textStyle:{
+
+ },
+ series: [
+ {
+
+ type: 'pie',
+ radius : ['40%','70%'],
+ center: ['50%', '50%'],
+ minAngle:'15',
+ label: {
+ // position: 'inside',
+ show: true,
+ formatter(param) {
+ // correct the percentage
+ return param.name + ' (' + param.percent + '%)';
+ }
+ },
+ data: [
+ { value: 300, name: '鎴愬搧',itemStyle:{color:'#53a2ff'} },
+ { value: 700, name: '娆″搧',itemStyle:{color:'darkseagreen'} }
+ ],
+ // emphasis: {
+ // itemStyle: {
+ // shadowBlur: 10,
+ // shadowOffsetX: 0,
+ // shadowColor: 'rgba(0, 0, 0, 0.5)'
+ // }
+ // }
+ itemStyle: {
+ normal:{
+ label:{
+ show:true,
+ //formatter: "{b} :\n {c} \n ({d}%)",
+ formatter: "{b} :\n ({d}%)",
+ position:"inner"
+ }
+ }
+ }
+
+ }
+ ]
+ },
+
+ },
+ methods:{
+ echarsInit() {
+
+ let HisArr="";
+ let dianhao=[];
+ let shijian=[];
+
+
+ HisArr = this.$echarts.init(document.getElementById('main3-1-2'));
+
+ this.val.yAxis[0].name="鐢佃��";
+ this.val.series[0].name='鐢佃��(kw.h)'
+ for(let i in this.machineElectric){
+ dianhao.push(this.machineElectric[i]["0_jiqidianliang"]);
+ shijian.push(this.machineElectric[i]["1_date"]);
+ }
+ console.log(dianhao);
+ this.val.title.text="鎬昏�楃數(kw.h)"
+ this.val.series[0].itemStyle.color='rgb(84,112,198)'
+ this.val.xAxis[0].data=shijian;
+ this.val.series[0].data=dianhao;
+ HisArr.setOption(this.val);
+ this.loading=false
+ },
+ echarsInit1(){
+ let HisArr="";
+ let dianhao=[];
+ let shijian=[];
+ HisArr = this.$echarts.init(document.getElementById('main3-2-2'));
+ this.val.yAxis[0].name="姘磋��";
+ this.val.series[0].name='姘磋��(m鲁)'
+ for(let i in this.machineWater){
+ dianhao.push(this.machineWater[i]["0_jiqidianliang"]);
+ shijian.push(this.machineWater[i]["1_date"]);
+ }
+ this.val.title.text="鎬昏�楁按(m鲁)"
+ this.val.series[0].itemStyle.color='#00ff00'
+ this.val.xAxis[0].data=shijian;
+ this.val.series[0].data=dianhao;
+ HisArr.setOption(this.val);
+ this.loading=false
+ },
+ dingdanxiangqing(){
+ let HisArr="";
+ HisArr = this.$echarts.init(document.getElementById('main2'));
+ let a = {
+ value: this.shuzu1[0]['2_smallglass_completed'],
+
+ name: "鎴愬搧",
+ itemStyle: { color: '#53a2ff' }
+
+ }
+ let b = {
+ value: this.shuzu1[0]['4_smallglass_worn'],
+ name: "娆″搧",
+ itemStyle: { color: 'darkseagreen' }
+
+ }
+ this.val1.title.text="鍚堟牸鐜�"
+ this.val1.title.top="45%"
+ this.val1.title.left="40%"
+ this.val1.series[0].data[0]=a
+ this.val1.series[0].data[1]=b
+
+ HisArr.setOption(this.val1);
+ this.loading=false
+ },
+ dingdanxiangqing1(){
+ let HisArr="";
+ HisArr = this.$echarts.init(document.getElementById('main4'));
+ let a = {
+ value: this.shuzu1[0]['2_smallglass_completed'],
+
+ name: "宸插畬鎴�",
+ itemStyle: { color: '#53a2ff' }
+
+ }
+ let b = {
+ value: this.shuzu1[0]['3_smallglass_processing'],
+ name: "鏈畬鎴�",
+ itemStyle: { color: 'darkseagreen' }
+
+ }
+ this.val1.title.text="璁㈠崟鍔犲伐"
+ this.val1.title.top="45%"
+ this.val1.title.left="40%"
+ this.val1.series[0].data[0]=a
+ this.val1.series[0].data[1]=b
+
+ HisArr.setOption(this.val1);
+ this.loading=false
+ },
+
+ },
+ watch:{
+ shuzu(){
+ for(item of this.shuzu){
+
+ if((item["3_class_html"].indexOf("33")>-1) || (item["3_class_html"].indexOf("35")>-1) || (item["3_class_html"].indexOf("40")>-1)){
+ if(item["1_connect_state"]=="宸茶繛鎺�"){
+ if(item["5_baojin"]>0){
+ //姘村垁
+ if(item["3_class_html"].indexOf("35")>-1){
+ if(item["5_baojin"]>1){
+ item["6_class"]='divYellow';
+ }else{
+ item["4_shuliang"]==4?item["6_class"]='divGrenn':item["6_class"]='divnull';
+ }
+
+ }else{
+ item["6_class"]='divYellow';
+ }
+
+ }else{
+
+ //閽诲瓟 鍔犲伐涓績
+ item["4_shuliang"]==2?item["6_class"]='divGrenn':item["6_class"]='divnull';
+
+
+ }
+ }else{
+ item["6_class"]='divRed';
+ }
+ }else{
+ if(item["1_connect_state"]=="宸茶繛鎺�"){
+ if(item["5_baojin"]>0){
+ item["6_class"]='divYellow';
+ }else{
+ item["4_shuliang"]>0?item["6_class"]='divGrenn':item["6_class"]='divnull';
+ }
+ }else{
+ item["6_class"]='divRed';
+ }
+
+ }
+
+ }
+ },
+ machineElectric(){
+ this.echarsInit()
+ },
+ machineWater(){
+ this.echarsInit1()
+ },
+ shuzu1(){
+ this.dingdanxiangqing(),
+ this.dingdanxiangqing1()
+ }
+
+ },
+ async mounted(){
+ // let canshu={
+ // sql:"{call AXJ_dapingxianshijiqishuju()}",
+ // flag:2,
+ // vals:"shuzu"
+ // }
+ // let canshu1={
+ // sql:"{call AXJ_dapingxianshi_dingdanshuju()}",
+ // flag:2,
+ // vals:"shuzu1"
+ // }
+ // this.shuzu1=await this.returnloadAjxss(canshu1);
+ let sql=""
+ let flag=2
+ sql="{call AXJ_dapingxianshijiqishuju()}"
+ this.loadAjxss('澶у睆鏄剧ず',sql,flag,"shuzu")
+ sql="{call AXJ_dapingxianshi_dingdanshuju()}"
+ this.loadAjxss('澶у睆鎬昏鍗曟暟鎹�',sql,flag,"shuzu1")
+ sql="{call AXJ_a_largeScreen_sumelectric_select()}"
+ this.loadAjxss('澶у睆鎬荤數鑰楁暟鎹�',sql,flag,"machineElectric")
+ sql="{call AXJ_a_largeScreen_sumselect()}"
+ this.loadAjxss('澶у睆鎬昏兘鑰楁�绘暟鎹�',sql,flag,"shuzu2")
+ sql="{call AXJ_a_largeScreen_sumwater_select()}"
+ this.loadAjxss('澶у睆鎬绘按鑰楁暟鎹�',sql,flag,"machineWater")
+
+
+ await setInterval(()=>{
+
+ sql="{call AXJ_dapingxianshijiqishuju()}"
+ this.interValLoadAjxs('澶у睆鏄剧ず',sql,flag,"shuzu")
+ },5000)
+ await setInterval(()=>{
+
+ sql="{call AXJ_dapingxianshi_dingdanshuju()}"
+ this.interValLoadAjxs('澶у睆鎬昏鍗曟暟鎹�',sql,flag,"shuzu1")
+ },5000)
+ await setInterval(()=>{
+ sql="{call AXJ_a_largeScreen_sumelectric_select()}"
+ this.interValLoadAjxs('澶у睆鎬荤數鑰楁暟鎹�',sql,flag,"machineElectric")
+ },5000)
+ await setInterval(()=>{
+ sql="{call AXJ_a_largeScreen_sumselect()}"
+ this.interValLoadAjxs('澶у睆鎬昏兘鑰楁�绘暟鎹�',sql,flag,"shuzu2")
+ },5000)
+ await setInterval(()=>{
+ sql="{call AXJ_a_largeScreen_sumwater_select()}"
+ this.interValLoadAjxs('澶у睆鎬绘按鑰楁暟鎹�',sql,flag,"machineWater")
+ },5000)
+
+
+
+
+ }
+
+})
+
+
+
+
+var datashijian=[];
+ function shijian() {
+ datashijian=[];
+ var s=14;
+ while(s>0){
+ s=s-1;
+
+ var date_day7=new Date(Date.parse(new Date())-s*24*60*60*1000);
+
+ var day7= (date_day7.getMonth()+1) +"/"+date_day7.getDate();
+ datashijian.push(day7);
+
+
+ }
+}
+
+// function drawLine2(){
+
+// var chartDom = document.getElementById('main2');
+// var myChart = echarts.init(chartDom);
+// var option;
+// alert(app.$data.shuzu1[0]['2_smallglass_completed']);
+// option = {
+
+
+// borderColor:'#082352',
+// title: {
+// // text: '鎴愬搧搴撳瓨',
+// // left: '290px',
+// // top: '0px'
+// text:'鍚堟牸鐜�',//涓绘爣棰樻枃鏈�
+// left:'center',
+// top:'45%',
+// left:'40%',
+// textStyle:{
+// color:'#454c5c',
+// align:'center'
+// },
+// subtextStyle:{
+// fontFamily : "寰蒋闆呴粦",
+// color:'#6c7a89',
+// }
+
+// },
+
+// tooltip: {
+// trigger: 'item',
+// textStyle:{
+// }
+// },
+// legend: {
+// // orient: 'vertical',
+// left: 'left',
+// textStyle:{
+
+// }
+// },
+// textStyle:{
+
+// },
+// series: [
+// {
+
+// type: 'pie',
+// radius : ['40%','70%'],
+// center: ['50%', '50%'],
+// minAngle:'15',
+// label: {
+// // position: 'inside',
+// show: true,
+// formatter(param) {
+// // correct the percentage
+// return param.name + ' (' + param.percent + '%)';
+// }
+// },
+// data: [
+// { value: app.$data.shuzu1[0]['2_smallglass_completed'], name: '鎴愬搧',itemStyle:{color:'#53a2ff'} },
+// { value: app.$data.shuzu1[0]['3_smallglass_processing'], name: '娆″搧',itemStyle:{color:'darkseagreen'} }
+// ],
+// // emphasis: {
+// // itemStyle: {
+// // shadowBlur: 10,
+// // shadowOffsetX: 0,
+// // shadowColor: 'rgba(0, 0, 0, 0.5)'
+// // }
+// // }
+// itemStyle: {
+// normal:{
+// label:{
+// show:true,
+// //formatter: "{b} :\n {c} \n ({d}%)",
+// formatter: "{b} :\n ({d}%)",
+// position:"inner"
+// }
+// }
+// }
+
+// }
+// ]
+// };
+
+// option && myChart.setOption(option);
+
+
+
+// var chartDom4 = document.getElementById('main4');
+// var myChart4 = echarts.init(chartDom4);
+// var option4;
+// option4 = {
+
+
+// borderColor:'#082352',
+// title: {
+// // text: '鎴愬搧搴撳瓨',
+// // left: '290px',
+// // top: '0px'
+// text:'璁㈠崟鍔犲伐',//涓绘爣棰樻枃鏈�
+// left:'center',
+// top:'45%',
+// left:'40%',
+// textStyle:{
+// color:'#454c5c',
+// align:'center'
+// },
+// subtextStyle:{
+// fontFamily : "寰蒋闆呴粦",
+// color:'#6c7a89',
+// }
+
+// },
+
+// tooltip: {
+// trigger: 'item',
+// textStyle:{
+// fontsize: 12,
+// }
+// },
+// legend: {
+// // orient: 'vertical',
+// left: 'left',
+// textStyle:{
+// fontsize: 12,
+// }
+// },
+// textStyle:{
+// fontsize: 12,
+// },
+// series: [
+// {
+
+// type: 'pie',
+// radius : ['40%','70%'],
+// center: ['50%', '50%'],
+// minAngle:'15',
+// label: {
+// // position: 'inside',
+// show: true,
+// formatter(param) {
+// // correct the percentage
+// return param.name + ' (' + param.percent + '%)';
+// }
+// },
+// data: [
+// { value: 700, name: '宸插畬鎴�',itemStyle:{color:'#53a2ff'} },
+// { value: 300, name: '鏈畬鎴�',itemStyle:{color:'darkseagreen'} }
+// ],
+// // emphasis: {
+// // itemStyle: {
+// // shadowBlur: 10,
+// // shadowOffsetX: 0,
+// // shadowColor: 'rgba(0, 0, 0, 0.5)'
+// // }
+// // }
+// itemStyle: {
+// normal:{
+// label:{
+// show:true,
+// //formatter: "{b} :\n {c} \n ({d}%)",
+// formatter: "{b} :\n ({d}%)",
+// position:"inner"
+// }
+// }
+// }
+
+// }
+// ]
+// };
+
+// option4 && myChart4.setOption(option4);
+
+
+
+// var chartDom1 = document.getElementById('main3-1-2');
+// var myChart1 = echarts.init(chartDom1);
+// var option1;
+
+// option1 = {
+// title: {
+// text: '鑰楃數缁熻鍥�',
+// right: '0px',
+// textStyle:{
+
+
+// }
+
+// },
+// tooltip: {
+// trigger: 'axis',
+// axisPointer: {
+// type: 'shadow'
+// },
+// textStyle:{
+
+// }
+// },
+// grid: {
+// left: '3%',
+// right: '4%',
+// bottom: '3%',
+// containLabel: true
+// },
+// xAxis: [
+// {
+// type: 'category',
+// data: datashijian,
+// axisTick: {
+// alignWithLabel: true
+// },
+// axisLabel:{
+
+// }
+// }
+// ],
+// yAxis: [
+// {
+// type: 'value',
+// axisLabel:{
+
+// }
+// }
+// ],
+// series: [
+// {
+// name: '浜ч噺',
+// type: 'bar',
+// barWidth: '40%',
+// data: [100, 52, 200, 334, 330, 220, 80, 460, 310, 120, 430, 260, 250],
+// itemStyle:{color:'#53a2ff'}
+// }
+// ]
+// };
+
+// option1 && myChart1.setOption(option1);
+
+
+// var chartDom2 = document.getElementById('main3-2-2');
+// var myChart2 = echarts.init(chartDom2);
+// var option2;
+
+// option2 = {
+// title: {
+// text: '鑰楁按缁熻鍥�',
+// right: '0px',
+// textStyle:{
+
+
+// }
+
+// },
+// tooltip: {
+// trigger: 'axis',
+// axisPointer: {
+// type: 'shadow'
+// },
+// textStyle:{
+
+// }
+// },
+// grid: {
+// left: '3%',
+// right: '4%',
+// bottom: '3%',
+// containLabel: true
+// },
+// xAxis: [
+// {
+// type: 'category',
+// data: datashijian,
+// axisTick: {
+// alignWithLabel: true
+// },
+// axisLabel:{
+
+// }
+// }
+// ],
+// yAxis: [
+// {
+// type: 'value',
+// axisLabel:{
+
+// }
+// }
+// ],
+// series: [
+// {
+// name: '浜ч噺',
+// type: 'bar',
+// barWidth: '40%',
+// data: [100, 52, 200, 334, 330, 220, 80, 460, 310, 120, 430, 260, 250],
+// itemStyle:{color:'#53a2ff'}
+// }
+// ]
+// };
+
+// option2 && myChart2.setOption(option2);
+//}
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/bigScreen/allGlassflashVice.jsp b/gmms/WebContent/bigScreen/allGlassflashVice.jsp
new file mode 100644
index 0000000..0983e1f
--- /dev/null
+++ b/gmms/WebContent/bigScreen/allGlassflashVice.jsp
@@ -0,0 +1,38 @@
+<%@ page contentType="text/html;charset=UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>澶у睆鍓睆</title>
+<script src="../js/main.js"></script>
+</head>
+<body>
+ <div id="app" >
+ <screen-photo :id="15" :intime="this.global.timer"
+ >
+ </div>
+</body>
+<script>
+ let app= new Vue({
+ el: '#app',
+ mixins:[mixin],
+ data:{
+
+ },
+ watch: {
+ },
+ methods:{
+
+ },
+ async mounted() {
+
+ },
+ methods: {
+
+
+ },
+
+ })
+
+</script>
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/bigScreen/dakongdaping.jsp b/gmms/WebContent/bigScreen/dakongdaping.jsp
new file mode 100644
index 0000000..d57dd04
--- /dev/null
+++ b/gmms/WebContent/bigScreen/dakongdaping.jsp
@@ -0,0 +1,304 @@
+
+<%@ page language="java" import="java.sql.*" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta http-equiv="expires" content="0">
+<meta http-equiv="pragma" content="no-cache">
+<meta http-equiv="cache-control" content="no-cache">
+
+<link rel="shortcut icon" href="../img/3.ico" />
+<title>鎵撳瓟澶у睆</title>
+
+<!-- Font Awesome -->
+<link rel="stylesheet" href="../static/AdminLTE/bower_components/font-awesome/css/font-awesome.min.css">
+<!-- Ionicons -->
+<link rel="stylesheet" href="../static/AdminLTE/bower_components/Ionicons/css/ionicons.min.css">
+<!-- Theme style -->
+<link rel="stylesheet" href="../static/AdminLTE/dist/css/AdminLTE.min.css">
+<link rel="stylesheet" href="../static/AdminLTE/dist/css/skins/skin-blue.min.css">
+<link rel="stylesheet" href="..//static/AdminLTE/bower_components/bootstrap/dist/css/bootstrap.min.css">
+<style type="text/css">
+@IMPORT url("../static/global/showtask/showtask.css");
+</style>
+
+<script>
+ var contextPath = "${pageContext.request.contextPath}";
+</script>
+
+<link type="text/css" rel="stylesheet"
+ href="../static/css/dataTables.bootstrap.css" />
+<link type="text/css" rel="stylesheet"
+ href="../static/css/dataTables.tableTools.css" />
+
+<script src="../js/main.js"></script>
+
+
+
+<script type="text/javascript" src="../static/js/jquery.dataTables.min.js"></script>
+<script type="text/javascript" src="../static/js/dataTables.bootstrap.js"></script>
+<script type="text/javascript" src="../static/js/dataTables.tableTools.js"></script>
+<script type="text/javascript" src="../static/js/moment.js"></script>
+<script type="text/javascript" src="../static/js/sucaijiayuan.js"></script>
+<script type="text/javascript" src="../static/laydate/laydate.js"></script>
+<script type="text/javascript" src="../static/util/utilAlert.js"></script>
+<script type="text/javascript" src="../static/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+
+<style>
+ *{
+ margin:0;
+ padding:0;
+ }
+ #top{
+ height:30%;
+ display:flex;
+ }
+ #center{
+ height:40%;
+ display:flex;
+ }
+ #bottom{
+ height:30%;
+ display:flex;
+ }
+ .top_div{
+ width:25%;
+ height:100%;
+ }
+ .center_div{
+ width:25%;
+ height:100%;
+ display:flex;
+ flex-wrap: wrap;
+ }
+ .center_divs{
+ width:50%;
+ height:100%;
+ }
+ .center_div_details{
+ height:50%;
+ width:100%;
+ }
+ .bottom_div{
+ width:25%;
+ height:100%;
+ }
+ img{
+ max-width: 100%;
+ max-height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ margin: auto;
+ }
+</style>
+
+</head>
+<body>
+ <div id='app' @mousemove="onmouseMove" v-loading="loading" element-loading-background="white" style='background-color:#D5EAFF;width:100%;height: 100%;'>
+ <div id="mains" v-show="this.global.pollingIndex==0">
+ <parts-change></parts-change>
+ <div id="top">
+ <div class="top_div">
+ <!-- <img :src="arr[0]"> -->
+ <h2>鎵撳瓟澶у睆</h2>
+ </div>
+ <div class="top_div" id="Histogram1"></div>
+ <div class="top_div" id="Histogram2"></div>
+ <div class="top_div"></div>
+ </div>
+ <div id="center">
+ <div class="center_div">
+ <div class="center_div_details" id="Histogram5"></div>
+ <div class="center_div_details" id="Histogram6"></div>
+ </div>
+ <div style="width:100%;" class="center_divs">
+ <show-table :tablehead="tableHead" :tabledata="tableData"></show-table>
+ </div>
+ <div class="center_div">
+ <div class="center_div_details" id="Histogram7"></div>
+ <div class="center_div_details" id="Histogram8"></div>
+ </div>
+ </div>
+ <div id="bottom">
+ <div class="bottom_div"></div>
+ <div class="bottom_div" id="Histogram3"></div>
+ <div class="bottom_div" id="Histogram4"></div>
+ <div class="bottom_div"></div>
+ </div>
+ </div>
+ <screen-photo :id="4" :intime="this.global.timer"
+ v-show="this.global.pollingIndex==1"
+ >
+ </screen-photo>
+ </div>
+ <script>
+ Vue.prototype.$echarts = echarts
+ Vue.prototype.$http= axios
+ let app = new Vue({
+ el: '#app',
+ mixins: [mixin],
+ data: {
+ storage: null,
+ val: {
+ title:{
+ text:'',
+ left:'center'
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ xAxis: [{
+ type: 'category',
+ data: [],
+ axisLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)'
+ }
+ },
+ axisLabel: {
+ color: 'rgb(30, 144, 255)'
+ },
+ splitLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)',
+ type: 'dashed'
+ }
+ }
+ }],
+ yAxis: [{
+ type: "value",
+ name: "鑳借��",
+ nameTextStyle: {
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
+ },
+ splitLine: {
+ // 缃戞牸绾�
+ show: false,
+ lineStyle: { //鍒嗗壊绾�
+ color: "rgb(180, 180, 180)",
+ width: 1,
+ type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
+ }
+ },
+ axisLabel: {
+ // 杞存枃瀛�
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ },
+ },
+
+ ],
+ series: [{
+ name: '鐢佃��',
+ type: 'bar',
+ barWidth: '80%',
+ data: [220, 152, 200, 334, 390, 330, 220],
+ itemStyle: {
+ color: 'rgb(180, 180, 180)'
+ }
+ },
+
+ ]
+ },
+
+
+ tableHead: [{}],
+ selectdate1: '',
+ selectdate2: '',
+ tableData: [{}],
+ show: true,
+ showGlassType: '',
+ showGlassIndex: 0,
+ machineElectric:[{}],
+ machineWater:[{}],
+ loading:true,
+ arr:[]
+
+ },
+ methods: {
+ echarsInit() {
+
+ let HisArr=[]
+
+ for(let i=0;i<4;i++){
+ HisArr[i] = this.$echarts.init(document.getElementById('Histogram'+(i+1)));
+ }
+ this.val.yAxis[0].name="鐢佃��";
+ this.val.series[0].name='鐢佃��(kw路h)'
+ for(let i in this.machineElectric){
+ this.val.title.text=this.machineElectric[i]["0_machine_name"]+"(kw路h)"
+ this.val.series[0].itemStyle.color='rgb(84,112,198)'
+ this.val.xAxis[0].data=this.machineElectric[i]["6_shijian"].split(',');
+ this.val.series[0].data=this.machineElectric[i]["5_jiqidianliang"].split(',');
+ HisArr[i].setOption(this.val);
+ }
+ this.loading=false
+ },
+ echarsInit1(){
+ let HisArr=[]
+
+ for(let i=0;i<4;i++){
+ HisArr[i] = this.$echarts.init(document.getElementById('Histogram'+(i+5)));
+ }
+ this.val.yAxis[0].name="姘磋��";
+ this.val.series[0].name='姘磋��(m鲁)'
+ for(let i in this.machineWater){
+ this.val.title.text=this.machineWater[i]["0_machine_name"]+"(m鲁)"
+ this.val.series[0].itemStyle.color='#00ff00'
+ this.val.xAxis[0].data=this.machineWater[i]["6_shijian"].split(',');
+ this.val.series[0].data=this.machineWater[i]["5_jiqidianliang"].split(',');
+ HisArr[i].setOption(this.val);
+ }
+ this.loading=false
+ }
+ },
+ computed: {
+
+ },
+ watch: {
+ tableData(newVal){
+ newVal.forEach(element => {
+ this.arr.push(element['11_route'])
+ });
+ },
+ machineElectric(){
+ this.echarsInit()
+ },
+ machineWater(){
+ this.echarsInit1()
+ }
+ },
+ async mounted() {
+ let sql=""
+ let flag=2
+
+ sql="{call AXJ_a_largeScreen_order_tableHead_select()}"
+ await this.loadAjxss('澶у睆鏄剧ず閽诲瓟鏈哄櫒璁㈠崟鏌ヨ',sql,flag,"tableHead")
+
+ await this.getTableData('閽诲瓟')
+ await this.getMachineElectric('閽诲瓟','3')
+ await this.getMachineWater('閽诲瓟','1')
+ this.onmouseMove()
+
+ },
+
+ })
+ </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/bigScreen/ganghuaxiapian.jsp b/gmms/WebContent/bigScreen/ganghuaxiapian.jsp
new file mode 100644
index 0000000..05136c7
--- /dev/null
+++ b/gmms/WebContent/bigScreen/ganghuaxiapian.jsp
@@ -0,0 +1,215 @@
+<%@ page contentType="text/html;charset=UTF-8"%>
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<meta http-equiv="expires" content="0">
+<meta http-equiv="pragma" content="no-cache">
+<meta http-equiv="cache-control" content="no-cache">
+<title>閽㈠寲</title>
+
+<script src="../js/main.js"></script>
+
+
+
+
+<style>
+
+
+body {
+ background-color: #D5EAFF;
+}
+#divhead{
+ float: left;
+ margin-top: 3%;
+ width: 98%;
+ margin-left: 1%;
+}
+#divBody{
+ margin-top: 4%;
+ float: left;
+ width: 100%;
+ height: 60%;
+}
+#orderData{
+ float: left;
+ height: 98%;
+ width: 55%;
+ background-color: blanchedalmond;
+}
+#chart-wrap{
+ float: left;
+ margin-left: 0;
+ height: 98%;
+ width: 44%;
+
+}
+
+</style>
+</head>
+<body>
+ <div id="app" @mousemove="onmouseMove" v-loading="loading" element-loading-background="white" style="height: 99%;">
+ <div id="mains" v-show="this.global.pollingIndex==0" >
+ <h3>閽㈠寲</h3>
+ <parts-change></parts-change>
+ <div id="divhead">
+ <show-table :tablehead="tableHead" :tabledata="tableData"></show-table>
+ </div>
+ <div id="divBody">
+ <div id="orderData">
+ <screen-order :tablehead="orderHead" :tabledata="orderData"></screen-order>
+ </div>
+
+ <div id="chart-wrap"></div>
+ </div>
+ </div>
+ <screen-photo :id="11" :intime="this.global.timer" v-show="this.global.pollingIndex==1"></screen-photo>
+
+ </div>
+
+
+</body>
+
+
+
+
+
+<script>
+let app = new Vue({
+ el: '#app',
+ mixins:[mixin],
+
+ data() {
+ return {
+ tableHead: [{}],
+ tableData: [{}],
+ machineElectric:[{}],
+ machineWater:[{}],
+ orderHead:[{}],
+ orderData:[{}],
+ loading:true,
+ val: {
+ title:{
+ text:'',
+ left:'center'
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ xAxis: [{
+ type: 'category',
+ data: [],
+ axisLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)'
+ }
+ },
+ axisLabel: {
+ color: 'rgb(30, 144, 255)'
+ },
+ splitLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)',
+ type: 'dashed'
+ }
+ }
+ }],
+ yAxis: [{
+ type: "value",
+ name: "鑳借��",
+ nameTextStyle: {
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
+ },
+ splitLine: {
+ // 缃戞牸绾�
+ show: false,
+ lineStyle: { //鍒嗗壊绾�
+ color: "rgb(180, 180, 180)",
+ width: 1,
+ type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
+ }
+ },
+ axisLabel: {
+ // 杞存枃瀛�
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ },
+ },
+
+ ],
+ series: [{
+ name: '鐢佃��',
+ type: 'bar',
+ barWidth: '80%',
+ data: [220, 152, 200, 334, 390, 330, 220],
+ itemStyle: {
+ color: 'rgb(180, 180, 180)'
+ }
+ },
+
+ ]
+ },
+ }
+
+ },
+ methods: {
+ echarsInit(type) {
+ let HisArr=[]
+ let datas=this.machineElectric
+ HisArr[0] = this.$echarts.init(document.getElementById('chart-wrap'));
+
+ this.val.yAxis[0].name="鐢佃��";
+ this.val.series[0].name='鐢佃��(kw路h)'
+ this.val.series[0].itemStyle.color='rgb(84,112,198)'
+ danwei="(kw路h)"
+
+ for(let i in datas){
+ this.val.title.text='閽㈠寲'+danwei
+ this.val.xAxis[0].data=datas[i]["6_shijian"].split(',');
+ this.val.series[0].data=datas[i]["5_jiqidianliang"].split(',');
+ HisArr[i].setOption(this.val);
+ }
+ },
+
+ },
+ watch: {
+ machineElectric(){
+ if(Object.keys(this.machineElectric[0]).length==0){
+ return
+ }
+ this.echarsInit(0)
+ this.loading=false
+ }
+ },
+ async mounted() {
+ let sql=""
+ let flag=2
+ sql="{call AXJ_a_largeScreen_order_tableHead_select()}"
+ await this.loadAjxss('澶у睆鏄剧ず鏈哄櫒琛ㄥご',sql,flag,"tableHead")
+ sql="{call AXJ_a_largeScreen_orderRatio_tableHead_select()}"
+ await this.loadAjxss('璐磋啘妫�娴嬩互鍙婇挗鍖栧ぇ灞忔瘮渚嬭〃澶�',sql,flag,"orderHead")
+ await this.getTableData('閽㈠寲')
+ await this.getMachineElectric('閽㈠寲',7)
+ let getOrderData=await setInterval(()=>{
+ sql="{call AXJ_a_largeScreen_orderRatio_tableData_select()}"
+ this.interValLoadAjxs('璐磋啘妫�娴嬩互鍙婇挗鍖栧ぇ灞忔瘮渚嬫暟鎹�',sql,flag,"orderData",getOrderData)
+ },5000)
+ this.onmouseMove()
+
+
+ }
+});
+</script>
+
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/dapingxianshi/ganghuaxiapian.jsp b/gmms/WebContent/bigScreen/ganghuaxiapian1.jsp
similarity index 100%
rename from gmms/WebContent/dapingxianshi/ganghuaxiapian.jsp
rename to gmms/WebContent/bigScreen/ganghuaxiapian1.jsp
diff --git a/gmms/WebContent/bigScreen/glassCut.jsp b/gmms/WebContent/bigScreen/glassCut.jsp
new file mode 100644
index 0000000..c4c997d
--- /dev/null
+++ b/gmms/WebContent/bigScreen/glassCut.jsp
@@ -0,0 +1,146 @@
+<%@ page language="java" import="java.sql.*" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta http-equiv="expires" content="0">
+<meta http-equiv="pragma" content="no-cache">
+<meta http-equiv="cache-control" content="no-cache">
+<title>鍒囧壊澶у睆</title>
+<!-- <link rel="stylesheet" href="../js/static/css/element.css">
+<link rel="stylesheet" href="../js/static/css/style.css">
+ <script src="../js/jquery-3.4.1.min.js"></script>
+<script src="../js/static/js/vue.js"></script>
+ <script src="../js/axios.min.js"></script>
+<script src="../js/mixins.js"></script>
+<script src="../js/static/js/element.js"></script>
+<script src="../js/static/js/echarts.min.js"></script> -->
+<script src="../js/main.js"></script>
+ <style >
+ .page-scroll {
+ height: 100%;
+ }
+
+ .page-scroll .el-scrollbar__wrap {
+ overflow-x: hidden;
+ }
+ .imgs{
+ width: auto;
+ height: auto;
+ max-width: 80%;
+ max-height: 80%;
+}
+ </style>
+</head>
+<body>
+ <div id="app" @mousemove="onmouseMove" v-loading="loading" element-loading-background="white">
+ <div id="mains" v-show="this.global.pollingIndex==0">
+ <parts-change></parts-change>
+ <div id="left" style="width:69%;height: 100%;float: left;margin-right: 1%;">
+ <div style="width: 100%;height: 15%;margin-top: 1%;">
+ <h3 style="text-align: left;font-size: larger;margin: 0;">鐜荤拑鍒囧壊:</h3>
+ <!-- <h3 style="text-align: left;font-size: small;margin: 0;">宸ヤ綔鐘舵��:
+ <el-tag v-if="order['9_work_state']!='姝e湪宸ヤ綔'">绌洪棽</el-tag>
+ <el-tag v-else= type="success">姝e湪宸ヤ綔</el-tag>
+ </h3> -->
+ </div>
+
+ <div style="width:100%;height: 85%;float: left;position: relative;">
+ <!-- <el-image
+
+ src="../static/imgs/test.jpg"
+ ></el-image> -->
+ <img class="imgs" :src="picture" alt="">
+ </div>
+
+ </div>
+ <div v-if="Object.keys(order).length!=0" id="main" style="width:30%;height: 100%;float: left;">
+ <el-descriptions style="height: 50%;width: 98%;margin-top: 5%;" title="鐜荤拑灞炴�э紙鍗曚綅锛歮m锛�" :column="1" border >
+ <el-descriptions-item colon label="璁㈠崟缂栧彿/搴忓彿锛�">{{order['1_order_id']}}</el-descriptions-item>
+ <el-descriptions-item colon label="鐜荤拑鍘氬害锛�" label-class-name="my-label" content-class-name="my-content">{{order['2_thickness']}}</el-descriptions-item>
+ <el-descriptions-item colon label="鐜荤拑鑹茬锛�">{{order['3_color']}}</el-descriptions-item>
+ <el-descriptions-item colon label="灏忕墖瀹介珮锛�">{{order['4_width']+'*'+order['5_height']}}</el-descriptions-item>
+ <el-descriptions-item colon label="鍘熺墖瀹介珮锛�">
+ {{order['7_original_width']+'*'+order['8_original_height']}}
+ </el-descriptions-item>
+
+ <!-- <el-descriptions-item colon label="鎵�鐢ㄨ兘鑰楋細">
+ {{order['13_electric']}} (kw路h)
+ </el-descriptions-item> -->
+
+ <el-descriptions-item colon label="鎬绘暟/宸插畬鎴�/鐮存崯锛�">
+ {{order['10_smallglass_no']+'/'+order['11_smallglass_completed']+'/'+order['12_smallglass_worn']}}
+ </el-descriptions-item>
+ <el-descriptions-item colon label="鑰楁潗鏇存崲锛�">
+ <el-button type="text" @click="openParts" :style="order['14_parts_count']==1?textColor:null" >鏇存崲</el-button>
+ </el-descriptions-item>
+ <!-- <el-descriptions-item colon label="鎵嬪姩鐮存崯锛�">
+
+ <el-button type="text">鐮存崯</el-button>
+ </el-descriptions-item> -->
+ </el-descriptions>
+
+ </div>
+ </div>
+ <screen-photo :id="2" :intime="this.global.timer"
+ v-show="this.global.pollingIndex==1"
+ >
+ </screen-photo>
+ </div>
+</body>
+
+
+ <script>
+
+ let app= new Vue({
+ el: '#app',
+ mixins:[mixin],
+ data:{
+ glassCutInfo:{},
+ picture:null,
+ order:{},
+ loading:true,
+ textColor:{
+ color:'orange'
+ }
+
+ },
+ methods: {
+ openParts(){
+ this.$emit('dialogvisible',
+ {
+ 'show':true,
+ 'machineid':4
+ }
+ )
+ }
+
+ },
+ computed:{
+
+ },
+ watch:{
+ glassCutInfo(){
+ this.picture=this.glassCutInfo[0]['6_route']
+ this.order=this.glassCutInfo[0]
+ this.loading=false
+ }
+ },
+ async mounted() {
+ let sql="{call AXJ_a_largeScreen_glassCut_select()}"
+ let flag=2
+ let glassCutInfoTimer=await setInterval(()=>{
+ this.interValLoadAjxs('澶у睆鏄剧ず鍒囧壊',sql,flag,"glassCutInfo",glassCutInfoTimer)
+ },3000)
+ this.onmouseMove()
+ },
+
+
+ })
+
+
+
+
+ </script>
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/bigScreen/glassStorage.jsp b/gmms/WebContent/bigScreen/glassStorage.jsp
new file mode 100644
index 0000000..7d92b07
--- /dev/null
+++ b/gmms/WebContent/bigScreen/glassStorage.jsp
@@ -0,0 +1,285 @@
+<%@ page language="java" import="java.sql.*" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta http-equiv="expires" content="0">
+<meta http-equiv="pragma" content="no-cache">
+<meta http-equiv="cache-control" content="no-cache">
+<title>浠撳偍澶у睆</title>
+<script src="../js/main.js"></script>
+</head>
+<body>
+ <div id="app" @mousemove="onmouseMove" v-loading="loading" element-loading-background="white">
+ <div id="mains" v-show="this.global.pollingIndex==0">
+ <div id="divHead" style="width: 100%;height:19.5%;float: left;margin-bottom: 0.5%;position: relative;">
+ <!-- <el-scrollbar class="page-scroll" style="width: 100%;height: 70%;overflow-y: auto;"> -->
+ <div v-for="(items,index) in storage" style="width:6.9% ;height: 35%;margin-top: 1.5%;margin-left: 1.3%;float: left;">
+ <div
+ class="shelf"
+ :title="items['2_raw_thickness']+items['3_color']+' '+items['4_raw_width']+'*'+items['5_raw_height'] "
+ style="background-color: #909399;width: 100%;height: 40%;float: left;position: relative;">
+
+ <div v-if="index<=23"
+ :style="{
+ width:(items['7_left_pieces']/items['6_pieces']*100)+'%',
+ position: 'absolute',
+ left: 0,
+ height: 100+'%',
+ float: 'left',
+ 'background-image':`url('../js/static/imgs/101.png')`
+ }"
+
+
+ >
+ <span style="position: absolute;left: 0;color:white;font-size:small;height: 100%;width: 100%;">{{items['7_left_pieces']+'/'+items['6_pieces']}}</span>
+ </div>
+
+ <!-- <div v-if="index==24"
+ style="background-image:url('../static/imgs/103.png');width: 0%;height: 100%;float: left;position: absolute; left: 0;">
+ <span style="position: absolute;left: 0;color:white;font-size: small;height: 100%;width: 100%;">0/50</span>
+ </div> -->
+ </div>
+ <div>
+ {{items['0_id']}}
+ </div>
+ </div>
+ <!-- <el-progress
+ width="80"
+ percentage="50"
+ :color="customColors"
+ :format="setItemText"
+ ></el-progress> -->
+
+
+ <div>
+
+ </div>
+ </div>
+ <div id="left" style="width: 19.5%;height:80%;float: left;padding: 0; margin-right: 0.5%;">
+ <div style="width:100%;height: 20%;">
+ <transition name="el-fade-in">
+ <div v-show="show"
+ style="float: left;width: 100%;height: 20%;margin-top: 4%;">
+
+ <div
+ style="background-image:url('../js/static/imgs/101.png');height: 20px;width: 20px;padding: 0%;float: left;"
+ >
+ </div>
+ <p style="float: left;margin: 0;margin-left: 1.3%;">{{showGlassType}}</p>
+
+ </div>
+ </transition>
+ <!-- <div style="float: left;width: 100%;height: 46%;margin-top: 4%;">
+
+ <el-alert style="width: 80%;margin-left: 10%;background-color: transparent;"
+ title="24鍙锋灦瀛愮┖鏋讹紝鍚婅绌洪棽"
+ type="warning"
+ :closable="false"
+ show-icon>
+ <el-button @click="show1" type="warning" style="float: left;">璋冪敤鍚婅浣�</el-button>
+ </el-alert>
+
+ </div> -->
+
+ </div>
+
+ <div id="picture" style="width:100%;height: 70%;">
+ </div>
+ </div>
+ <div id="main" style="width: 80%;height:80%;float: right;padding: 0;background-color: white;">
+ <el-date-picker style="float: left;margin-bottom: 0.3%;"
+ v-model="selectdate"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ value-format="yyyy-MM-dd"
+ >
+ </el-date-picker>
+
+ <el-button type="primary" icon="el-icon-search"
+ style="float: left;margin-left: 0.2%;margin-bottom: 0.3%;"
+ @click="selectSub(1)"
+ >鎼滅储</el-button>
+
+ <el-table
+ :data="tableData"
+ height="92%"
+
+ style="width: 100%">
+ <el-table-column
+ v-for="(item,keys,index) in tableHead[0]"
+ :key="index"
+ :label="item"
+ >
+ <el-table-column
+ :prop="keys"
+ >
+ <template slot="header" slot-scope="scope" >
+ <el-input v-model="selectstorage[index]" @keyup.enter.native="selectSub(1)" type="text" size="mini" />
+ </template>
+ </el-table-column>
+ </el-table-column>
+
+
+ </el-table>
+
+ </div>
+ </div>
+ <screen-photo :id="1" :intime="this.global.timer"
+ v-show="this.global.pollingIndex==1"
+ >
+ </screen-photo>
+
+ </div>
+</body>
+
+
+ <script >
+ let app =new Vue({
+ el: '#app',
+ mixins:[mixin],
+ data:{
+ storage:null,
+ glassNumGraph:{
+ tooltip: {
+ trigger: 'item'
+ },
+ legend: {
+ top: '5%',
+ left: 'center'
+ },
+ series: [
+ {
+ name: '鏁伴噺',
+ type: 'pie',
+ radius: ['40%', '70%'],
+ avoidLabelOverlap: true,
+ itemStyle: {
+ borderRadius: 10,
+ borderColor: '#fff',
+ borderWidth: 2
+ },
+ label: {
+ formatter:null,
+ fontSize: 20,
+ fontWeight: 'bold',show: true,
+ position: 'center'
+ },
+ emphasis: {
+ label: {
+ formatter:null,
+ show: true,
+ fontSize: 20,
+ fontWeight: 'bold'
+ }
+ },
+ labelLine: {
+ show: true
+ },
+ data:[
+ { value: null, name: '鏈娇鐢�',itemStyle: {color:'#409EFF'} },
+ { value: null, name: '璁″垝涓�',itemStyle: {color:'#67C23A'} },
+ { value: null, name: '宸蹭娇鐢�',itemStyle: {color:'#C0C4CC'} }
+ ],
+
+ }
+ ]
+ },
+ tableHead:[{}],
+ tableData:null,
+ show:true,
+ showGlassType:'',
+ showGlassIndex:0,
+ storageNum:null,
+ selectstorage:["","","","","","","","","",""],//绛涢�夊弬鏁�
+ selectdate:["",""],//鏃ユ湡鍙傛暟
+ loading:true,
+
+
+ },
+ methods: {
+ echarsInit(){
+ let a = this.$echarts.init( document.getElementById('picture'))
+ this.glassNumGraph.series[0].data[0]['value']=this.storageNum[0]['2_weishiyong']
+ this.glassNumGraph.series[0].data[1]['value']=this.storageNum[0]['1_jihuashuliang']
+ this.glassNumGraph.series[0].data[2]['value']=this.storageNum[0]['0_yishiyong']
+
+ this.glassNumGraph.series[0].label.formatter=this.storageNum[0]['2_weishiyong']+'/'
+ +this.storageNum[0]['1_jihuashuliang']+'/'
+ +this.storageNum[0]['0_yishiyong']
+ console.log(this.glassNumGraph.series[0].data);
+ a.setOption(this.glassNumGraph)
+ },
+
+ showGlass(){
+ this.showGlassIndex=this.showGlassIndex<this.storage.length?this.showGlassIndex+1:1
+ this.show=false
+ this.showGlassType=this.storage[this.showGlassIndex-1]['0_id']+
+ '鍙锋灦锛�'+
+ this.storage[this.showGlassIndex-1]['2_raw_thickness']+
+ this.storage[this.showGlassIndex-1]['3_color']+' '+
+ this.storage[this.showGlassIndex-1]['4_raw_width']+
+ '*'+
+ this.storage[this.showGlassIndex-1]['5_raw_height']
+ this.show=true
+
+ },
+ async selectSub(type){//杈撳叆妗嗙瓫閫�
+ let arrObj={}
+ for(let i in this.selectstorage){
+
+ arrObj[i]=this.selectstorage[i]==''?"n*":this.selectstorage[i]
+ }
+ if(this.selectdate!=null){
+ arrObj.starttime=this.selectdate[0]
+ arrObj.endtime=this.selectdate[1]
+ }else{
+ arrObj.starttime=''
+ arrObj.endtime=''
+ }
+ arrObj.types=type
+ let sql="{call AXJ_a_largeScreen_storageLog_select(?,?,?,?,?,?,?,?,?,?,?,?,?,?)}~"+JSON.stringify(arrObj)
+ this.loading=true
+ await this.loadAjxss('璁㈠崟鏌ヨ',sql,2,"tableData")
+
+ this.loading=false
+ },
+
+ },
+
+
+ watch:{
+ storageNum(){
+ this.loading=false,
+ this.echarsInit()
+ }
+ },
+
+ async mounted() {
+
+ let sql=""
+ let flag=2
+ sql="{call AXJ_a_largeScreen_storageLog__headselect()}"
+ await this.loadAjxss('澶у睆鏄剧ず浠撳偍琛ㄥご',sql,flag,"tableHead")
+
+ let timer1=await setInterval(()=>{
+ sql="{call AXJ_a_largeScreen_storageRack_select()}"
+ this.interValLoadAjxs('澶у睆鏄剧ず浠撳偍鏋跺瓙',sql,flag,"storage",timer1)
+ },3000)
+ let timer2=await setInterval(() => {
+ sql="{call AXJ_a_largeScreen_storageGlassNum_select()}"
+ this.interValLoadAjxs('澶у睆鏄剧ず浠撳偍鍓╀綑鏁伴噺',sql,flag,"storageNum",timer2)
+ this.showGlass()
+ }, 3000);
+ await this.selectSub(0)
+ this.onmouseMove()
+ },
+
+ })
+
+
+ </script>
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/bigScreen/jiagongzhongxin.jsp b/gmms/WebContent/bigScreen/jiagongzhongxin.jsp
new file mode 100644
index 0000000..35b2ca5
--- /dev/null
+++ b/gmms/WebContent/bigScreen/jiagongzhongxin.jsp
@@ -0,0 +1,411 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+ <html>
+
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <meta http-equiv="expires" content="0">
+ <meta http-equiv="pragma" content="no-cache">
+ <meta http-equiv="cache-control" content="no-cache">
+
+ <title>鍔犲伐涓績</title>
+ <script src="../js/main.js"></script>
+ </head>
+ <style>
+ * {
+ margin: 0px;
+ padding: 0px;
+ font-size: 14px;
+
+ }
+
+ body,
+ html {
+ width: 100%;
+ height: 100%;
+ background-color: #D5EAFF;
+
+ }
+
+ #wai {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ position: relative;
+ margin: 0px;
+ padding: 0px;
+ justify-content: center;
+ }
+
+ .wai_zs {
+ width: 50%;
+ height: 49%;
+ background-color: #D5EAFF;
+ border-right: 1px solid white;
+ border-bottom: 1px solid white;
+ }
+
+ .wai_ys {
+ width: 49%;
+ height: 49%;
+ background-color: #D5EAFF;
+ border-bottom: 1px solid white;
+ }
+
+ .wai_zx {
+ width: 50%;
+ height: 50%;
+ background-color: #D5EAFF;
+ border-right: 1px solid white;
+ }
+
+ .wai_yx {
+ width: 49%;
+ height: 50%;
+ background-color: #D5EAFF;
+ }
+
+
+ .msgtab {
+ width: 50%;
+ height: 35%;
+ border: 1px solid white;
+ border-collapse: collapse;
+ position: absolute;
+ top: 33%;
+ left: 25%;
+ }
+
+ /*
+
+ .one1,
+ .one1 input {
+ background-color: #F0FFFF;
+ }
+
+ .double1,
+ .double1 input {
+ background-color: #e1f0fd;
+ }
+
+ .msgtab tr th {
+ color: white;
+ white-space: nowrap;
+ text-align: center;
+ height: 20px;
+ line-height: 20px;
+ overflow: hidden;
+ }
+
+ .msgtab tr td {
+
+ white-space: nowrap;
+ text-align: center;
+ height: 20px;
+ line-height: 20px;
+ overflow: hidden;
+ } */
+
+ #container {
+ width: 50%;
+ position: absolute;
+ top: 17%;
+ }
+
+
+
+ #Histogram1 {
+ width: 50%;
+ height: 60%;
+ position: relative;
+ top: 39%;
+ left: 0%
+ }
+
+ #Histogram2 {
+ width: 50%;
+ height: 60%;
+ position: relative;
+ top: -60%;
+ left: 50%
+ }
+
+ #Histogram4{
+ width: 50%;
+ height: 60%;
+ position: relative;
+ top: -60%;
+ left: 0%
+ }
+
+ #Histogram3 {
+ width: 50%;
+ height: 60%;
+ position: relative;
+ top: 39%;
+ left: 50%
+ }
+
+ #Histogram6 {
+
+ width: 50%;
+ height: 58%;
+ position: relative;
+ top: 42%;
+ left: 50%;
+ top: -19%;
+ }
+
+ #Histogram5 {
+ width: 50%;
+ height: 60%;
+ position: relative;
+ left: 0%
+ }
+
+
+ #Histogram7 {
+ width: 50%;
+ height: 60%;
+ position: relative;
+ left: 50%
+ }
+
+ #Histogram8 {
+ width: 50%;
+ height: 58%;
+ position: relative;
+ top: -19%;
+ left: 0%;
+ }
+
+ .centdv_time {
+ color: white;
+ width: 50%;
+ height: 30%;
+ position: relative;
+ top: -71%;
+ left: 0%;
+ }
+
+ .centdv_time input {
+ height: 25px;
+ }
+
+ .btn {
+ text-align: center;
+ width: 100px;
+ height: 29px;
+ /* outline: none; */
+ border: none;
+ background-color: #5CADFE;
+ box-shadow: 15 8px 16px 15 rgba(0, 0, 0, 0), 15 6px 5px 15 rgba(0, 0, 0, 0.19);
+ }
+ </style>
+
+ <body>
+ <div id="app" @mousemove="onmouseMove" v-loading="loading" element-loading-background="white">
+ <div id="mains" v-show="this.global.pollingIndex==0">
+ <parts-change></parts-change>
+ <div id="wai">
+ <div class="wai_zs">
+ <div id="Histogram1"></div>
+
+ <div id="Histogram2"></div>
+ </div>
+ <div class="wai_ys">
+ <div id="Histogram3"></div>
+
+ <div id="Histogram4"></div>
+ </div>
+ <div class="wai_zx">
+ <div id="Histogram5"></div>
+
+ <div id="Histogram6"></div>
+ </div>
+ <div class="wai_yx">
+ <div id="Histogram7"></div>
+
+ <div id="Histogram8"></div>
+ </div>
+
+ <!-- <div class="centdv_time">
+ <el-date-picker style="float: center;margin-bottom: 0.3%;"
+ v-model="selectDate"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+
+ <el-button type="primary" icon="el-icon-search"
+ style="float: center;margin-left: 0.2%;margin-bottom: 0.3%;"
+ >鎼滅储</el-button>
+ </div> -->
+ <div class="msgtab">
+ <show-table :tablehead="tableHead" :tabledata="tableData"></show-table>
+ </div>
+ </div>
+ </div>
+ <screen-photo :id="6" :intime="this.global.timer"
+ v-show="this.global.pollingIndex==1"
+ >
+ </screen-photo>
+ </div>
+
+ </body>
+
+ <script>
+ let app = new Vue({
+ el: '#app',
+ mixins: [mixin],
+ data: {
+ storage: null,
+ val: {
+ title:{
+ text:'',
+ left:'center'
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ xAxis: [
+ {
+ type: 'category',
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+ axisLine: { lineStyle: { color: '#5CADFE' } },
+ axisLabel: { color: '#5CADFE' },
+ splitLine: { lineStyle: { color: '#5CADFE', type: 'dashed' } }
+ }
+ ],
+ yAxis: [
+ {
+ type: "value",
+ name: "姘磋��",
+ nameTextStyle: {
+ color: "#5CADFE",
+ fontSize: 12,
+ padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
+ },
+ splitLine: {
+ // 缃戞牸绾�
+ show: true,
+ lineStyle: { //鍒嗗壊绾�
+ color: "#5CADFE",
+ width: 1,
+ type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
+ }
+ },
+ axisLabel: {
+ // 杞存枃瀛�
+ color: "#5CADFE",
+ fontSize: 12,
+ },
+ },
+
+ ],
+ series: [
+ {
+ name: '姘磋��',
+ type: 'bar',
+ barWidth: '80%',
+ data: [10, 52, 200, 334, 390, 330, 220],
+ itemStyle: { color: '#5CADFE' }
+ },
+
+ ]
+ },
+
+
+
+ tableHead: [{}],
+ selectDate: '',
+ tableData: [{}],
+ show: true,
+ showGlassType: '',
+ showGlassIndex: 0,
+ machineElectric:[{}],
+ machineWater:[{}],
+ loading:true
+
+ },
+ methods: {
+ echarsInit(type) {
+
+ let HisArr=[]
+ let datas=type==0?this.machineElectric:this.machineWater
+ for(let i=0;i<datas.length;i++){
+ if(type==0){
+ HisArr[i] = this.$echarts.init(document.getElementById('Histogram'+(i*2+2)));
+ }else{
+ HisArr[i] = this.$echarts.init(document.getElementById('Histogram'+(i*2+1)));
+ }
+ }
+
+ if(type==0){
+ this.val.yAxis[0].name="鐢佃��";
+ this.val.series[0].name='鐢佃��(kw路h)'
+ this.val.series[0].itemStyle.color='rgb(84,112,198)'
+ }else{
+ this.val.yAxis[0].name="姘磋��";
+ this.val.series[0].name='姘磋��(m鲁)'
+ this.val.series[0].itemStyle.color='#00ff00'
+ }
+ let danwei=type==0?"(kw路h)":'(m鲁)'
+
+ for(let i in datas){
+ this.val.title.text=datas[i]["0_machine_name"]+danwei
+ this.val.xAxis[0].data=datas[i]["6_shijian"].split(',');
+ this.val.series[0].data=datas[i]["5_jiqidianliang"].split(',');
+ HisArr[i].setOption(this.val);
+ }
+
+
+ },
+ },
+ computed: {
+
+ },
+ watch:{
+ machineElectric(){
+ if(Object.keys(this.machineElectric[0]).length==0){
+ return
+ }
+ this.echarsInit(0)
+ this.loading=false
+ },
+ machineWater(){
+ if(Object.keys(this.machineWater[0]).length==0){
+ return
+ }
+ this.echarsInit(1)
+ this.loading=false
+ }
+ },
+ async mounted() {
+ let sql=""
+ let flag=2
+
+ sql="{call AXJ_a_largeScreen_order_tableHead_select()}"
+ await this.loadAjxss('澶у睆鍔犲伐涓績璁㈠崟鏌ヨ',sql,flag,"tableHead")
+ await this.getTableData('鍔犲伐涓績') // 纾ㄨ竟鍊掕
+ await this.getMachineElectric('鍔犲伐涓績','4')
+ await this.getMachineWater('鍔犲伐涓績','1')
+ this.onmouseMove()
+ },
+
+ })
+
+ </script>
+
+ </html>
\ No newline at end of file
diff --git a/gmms/WebContent/dapingxianshi/jiagongzhongxin.jsp b/gmms/WebContent/bigScreen/jiagongzhongxin1.jsp
similarity index 100%
rename from gmms/WebContent/dapingxianshi/jiagongzhongxin.jsp
rename to gmms/WebContent/bigScreen/jiagongzhongxin1.jsp
diff --git a/gmms/WebContent/bigScreen/mobiandaojiao.jsp b/gmms/WebContent/bigScreen/mobiandaojiao.jsp
new file mode 100644
index 0000000..24ba653
--- /dev/null
+++ b/gmms/WebContent/bigScreen/mobiandaojiao.jsp
@@ -0,0 +1,303 @@
+<%@ page language="java" import="java.sql.*" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta http-equiv="expires" content="0">
+<meta http-equiv="pragma" content="no-cache">
+<meta http-equiv="cache-control" content="no-cache">
+<link rel="shortcut icon" href="../img/3.ico" />
+<title>纾ㄨ竟鍊掕</title>
+<!-- Font Awesome -->
+<link rel="stylesheet" href="../static/AdminLTE/bower_components/font-awesome/css/font-awesome.min.css">
+<!-- Ionicons -->
+<link rel="stylesheet" href="../static/AdminLTE/bower_components/Ionicons/css/ionicons.min.css">
+<!-- Theme style -->
+<link rel="stylesheet" href="../static/AdminLTE/dist/css/AdminLTE.min.css">
+<link rel="stylesheet" href="../static/AdminLTE/dist/css/skins/skin-blue.min.css">
+<link rel="stylesheet" href="..//static/AdminLTE/bower_components/bootstrap/dist/css/bootstrap.min.css">
+<style type="text/css">
+@IMPORT url("../static/global/showtask/showtask.css");
+</style>
+
+<script>
+ var contextPath = "${pageContext.request.contextPath}";
+</script>
+
+<link type="text/css" rel="stylesheet"
+ href="../static/css/dataTables.bootstrap.css" />
+<link type="text/css" rel="stylesheet"
+ href="../static/css/dataTables.tableTools.css" />
+
+<script src="../js/main.js"></script>
+
+
+
+<script type="text/javascript" src="../static/js/jquery.dataTables.min.js"></script>
+<script type="text/javascript" src="../static/js/dataTables.bootstrap.js"></script>
+<script type="text/javascript" src="../static/js/dataTables.tableTools.js"></script>
+<script type="text/javascript" src="../static/js/moment.js"></script>
+<script type="text/javascript" src="../static/js/sucaijiayuan.js"></script>
+<script type="text/javascript" src="../static/laydate/laydate.js"></script>
+<script type="text/javascript" src="../static/util/utilAlert.js"></script>
+<script type="text/javascript" src="../static/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+
+<style>
+ *{
+ margin:0;
+ padding:0;
+ }
+ #top{
+ height:37%;
+ display:flex;
+ }
+ #center{
+ height:26%;
+ display:flex;
+ }
+ #bottom{
+ height:37%;
+ display:flex;
+ }
+ .top_div{
+ width:33%;
+ height:100%;
+ }
+ .center_divs{
+ width:100%;
+ height:100%;
+ }
+ .center_div_details{
+ height:50%;
+ width:100%;
+ }
+ .bottom_div{
+ width:33%;
+ height:100%;
+ }
+ img{
+ max-width: 100%;
+ max-height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ margin: auto;
+ }
+ .photo{
+ max-width: 80%;
+ max-height: 80%;
+
+ }
+
+ .imga{
+ position: relative;
+ }
+ #mains{
+ height: 100%;
+ width: 100%;
+ padding: 0;
+ margin: 0;
+}
+</style>
+
+</head>
+<body>
+ <div id='app' @mousemove="onmouseMove" v-loading="loading" element-loading-background="white" style='background-color:#D5EAFF;width:100%;height: 100%;'>
+ <div id="mains" v-show="this.global.pollingIndex==0">
+ <parts-change></parts-change>
+ <div id="top">
+ <div class="top_div imga"><img class="photo" :src="arr[0]"></div>
+ <div class="top_div" id="Histogram1">鎵撳瓟鏈�1姘磋��</div>
+ <div class="top_div" id="Histogram2">鎵撳瓟鏈�1鐢佃��</div>
+ </div>
+ <div id="center">
+ <div style="width:100%;" class="center_divs">
+
+ <show-table :tablehead="tableHead" :tabledata="tableData"></show-table>
+ </div>
+ </div>
+ <div id="bottom">
+ <div class="bottom_div imga"><img class="photo" :src="arr[0]"></div>
+ <div class="bottom_div" id="Histogram3">鎵撳瓟鏈�2姘磋��</div>
+ <div class="bottom_div" id="Histogram4">鎵撳瓟鏈�2鐢佃��</div>
+ </div>
+ </div>
+ <screen-photo :id="3" :intime="this.global.timer"
+ v-show="this.global.pollingIndex==1"
+ >
+ </screen-photo>
+ </div>
+ <script>
+ Vue.prototype.$echarts = echarts
+ Vue.prototype.$http= axios
+ let app = new Vue({
+ el: '#app',
+ mixins: [mixin],
+ data: {
+
+ storage: null,
+ val: {
+ title:{
+ text:'',
+ left:'center'
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ xAxis: [{
+ type: 'category',
+ data: ['7/1', '7/2', '7/3', '7/4', '7/5', '7/6', '7/7'],
+ axisLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)'
+ }
+ },
+ axisLabel: {
+ color: 'rgb(30, 144, 255)'
+ },
+ splitLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)',
+ type: 'dashed'
+ }
+ }
+ }],
+ yAxis: [{
+ type: "value",
+ name: "鑳借��",
+ nameTextStyle: {
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
+ },
+ splitLine: {
+ // 缃戞牸绾�
+ show: false,
+ lineStyle: { //鍒嗗壊绾�
+ color: "rgb(180, 180, 180)",
+ width: 1,
+ type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
+ }
+ },
+ axisLabel: {
+ // 杞存枃瀛�
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ },
+ },
+
+ ],
+ series: [{
+ name: '鐢佃��',
+ type: 'bar',
+ barWidth: '80%',
+ data: [220, 152, 200, 334, 390, 330, 220],
+ itemStyle: {
+ color: 'white'
+ }
+ },
+
+ ]
+ },
+
+
+ tableHead: [{}],
+ selectdate1: '',
+ selectdate2: '',
+ tableData: [{}],
+ show: true,
+ showGlassType: '',
+ showGlassIndex: 0,
+ machineElectric:[{}],
+ machineWater:[{}],
+ loading:true,
+ arr:[]
+ },
+ methods: {
+ echarsInit(type) {
+
+ let HisArr=[]
+ let datas=type==0?this.machineElectric:this.machineWater
+ for(let i=0;i<2;i++){
+ if(type==0){
+ HisArr[i] = this.$echarts.init(document.getElementById('Histogram'+(i*2+2)));
+ }else{
+ HisArr[i] = this.$echarts.init(document.getElementById('Histogram'+(i*2+1)));
+ }
+
+ }
+ if(type==0){
+ this.val.yAxis[0].name="鐢佃��";
+ this.val.series[0].name='鐢佃��(kw路h)'
+ this.val.series[0].itemStyle.color='rgb(84,112,198)'
+ }else{
+ this.val.yAxis[0].name="姘磋��";
+ this.val.series[0].name='姘磋��(m鲁)'
+ this.val.series[0].itemStyle.color='#00ff00'
+ }
+ let danwei=type==0?"(kw路h)":'(m鲁)'
+ for(let i in datas){
+ if(i>1){
+ return
+ }
+ this.val.title.text=datas[i]["0_machine_name"]+danwei
+ this.val.xAxis[0].data=datas[i]["6_shijian"].split(',');
+ this.val.series[0].data=datas[i]["5_jiqidianliang"].split(',');
+ HisArr[i].setOption(this.val);
+ }
+
+
+ },
+ },
+ computed: {
+
+ },
+ watch:{
+ tableData(newVal){
+ newVal.forEach(element => {
+ this.arr.push(element['11_route'])
+ });
+ },
+ machineElectric(){
+ if(Object.keys(this.machineElectric[0]).length==0){
+ return
+ }
+ this.echarsInit(0)
+ this.loading=false
+ },
+ machineWater(){
+ if(Object.keys(this.machineWater[0]).length==0){
+ return
+ }
+ this.echarsInit(1)
+ this.loading=false
+ }
+ },
+ async mounted() {
+ let sql=""
+ let flag=2
+
+ sql="{call AXJ_a_largeScreen_order_tableHead_select()}"
+ await this.loadAjxss('澶у睆鏄剧ず纾ㄨ竟鏈哄櫒璁㈠崟鏌ヨ',sql,flag,"tableHead")
+ await this.getTableData('纾ㄨ竟鍊掕') // 纾ㄨ竟鍊掕
+ await this.getMachineElectric('纾ㄨ竟鍊掕','2')
+ await this.getMachineWater('纾ㄨ竟鍊掕','1')
+ this.onmouseMove()
+ },
+
+ })
+ </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/bigScreen/shuidao.jsp b/gmms/WebContent/bigScreen/shuidao.jsp
new file mode 100644
index 0000000..d60f2ec
--- /dev/null
+++ b/gmms/WebContent/bigScreen/shuidao.jsp
@@ -0,0 +1,408 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+ <html>
+
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <meta http-equiv="expires" content="0">
+ <meta http-equiv="pragma" content="no-cache">
+ <meta http-equiv="cache-control" content="no-cache">
+ <title>姘村垁</title>
+ <script src="../js/main.js"></script>
+ </head>
+ <style>
+ * {
+ margin: 0px;
+ padding: 0px;
+ font-size: 14px;
+
+ }
+
+ body,
+ html {
+ width: 100%;
+ height: 100%;
+ background-color: #D5EAFF;
+
+ }
+
+ #wai {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ position: relative;
+ margin: 0px;
+ padding: 0px;
+ justify-content: center;
+ }
+
+ .wai_zs {
+ width: 50%;
+ height: 49%;
+ background-color: #D5EAFF;
+ border-right: 1px solid white;
+ border-bottom: 1px solid white;
+ }
+
+ .wai_ys {
+ width: 49%;
+ height: 49%;
+ background-color: #D5EAFF;
+ border-bottom: 1px solid white;
+ }
+
+ .wai_zx {
+ width: 50%;
+ height: 50%;
+ background-color: #D5EAFF;
+ border-right: 1px solid white;
+ }
+
+ .wai_yx {
+ width: 49%;
+ height: 50%;
+ background-color: #D5EAFF;
+ }
+
+
+ .msgtab {
+ width: 50%;
+ height: 35%;
+ border: 1px solid white;
+ border-collapse: collapse;
+ position: absolute;
+ top: 33%;
+ left: 25%;
+ }
+
+ /*
+
+ .one1,
+ .one1 input {
+ background-color: #F0FFFF;
+ }
+
+ .double1,
+ .double1 input {
+ background-color: #e1f0fd;
+ }
+
+ .msgtab tr th {
+ color: white;
+ white-space: nowrap;
+ text-align: center;
+ height: 20px;
+ line-height: 20px;
+ overflow: hidden;
+ }
+
+ .msgtab tr td {
+
+ white-space: nowrap;
+ text-align: center;
+ height: 20px;
+ line-height: 20px;
+ overflow: hidden;
+ } */
+
+ #container {
+ width: 50%;
+ position: absolute;
+ top: 17%;
+ }
+
+
+
+ #Histogram1 {
+ width: 50%;
+ height: 60%;
+ position: relative;
+ top: 39%;
+ left: 0%
+ }
+
+ #Histogram2 {
+ width: 50%;
+ height: 60%;
+ position: relative;
+ top: -60%;
+ left: 50%
+ }
+
+ #Histogram4{
+ width: 50%;
+ height: 60%;
+ position: relative;
+ top: -60%;
+ left: 0%
+ }
+
+ #Histogram3 {
+ width: 50%;
+ height: 60%;
+ position: relative;
+ top: 39%;
+ left: 50%
+ }
+
+ #Histogram6 {
+
+ width: 50%;
+ height: 58%;
+ position: relative;
+ top: 42%;
+ left: 50%;
+ top: -19%;
+ }
+
+ #Histogram5 {
+ width: 50%;
+ height: 60%;
+ position: relative;
+ left: 0%
+ }
+
+
+ #Histogram7 {
+ width: 50%;
+ height: 60%;
+ position: relative;
+ left: 50%
+ }
+
+ #Histogram8 {
+ width: 50%;
+ height: 58%;
+ position: relative;
+ top: -19%;
+ left: 0%;
+ }
+
+ .centdv_time {
+ color: white;
+ width: 50%;
+ height: 30%;
+ position: relative;
+ top: -71%;
+ left: 0%;
+ }
+
+ .centdv_time input {
+ height: 25px;
+ }
+
+ .btn {
+ text-align: center;
+ width: 100px;
+ height: 29px;
+ /* outline: none; */
+ border: none;
+ background-color: #5CADFE;
+ box-shadow: 15 8px 16px 15 rgba(0, 0, 0, 0), 15 6px 5px 15 rgba(0, 0, 0, 0.19);
+ }
+ </style>
+
+ <body>
+ <div id="app" @mousemove="onmouseMove" v-loading="loading" element-loading-background="white">
+ <div id="mains" v-show="this.global.pollingIndex==0">
+ <parts-change></parts-change>
+ <div id="wai">
+ <div class="wai_zs">
+ <div id="Histogram1"></div>
+
+ <div id="Histogram2"></div>
+ </div>
+ <div class="wai_ys">
+ <div id="Histogram3"></div>
+
+ <div id="Histogram4"></div>
+ </div>
+ <div class="wai_zx">
+ <div id="Histogram5"></div>
+
+ <div id="Histogram6"></div>
+ </div>
+ <div class="wai_yx">
+ <div id="Histogram7"></div>
+
+ <div id="Histogram8"></div>
+ </div>
+
+ <!-- <div class="centdv_time">
+ <el-date-picker style="float: center;margin-bottom: 0.3%;"
+ v-model="selectDate"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+
+ <el-button type="primary" icon="el-icon-search"
+ style="float: center;margin-left: 0.2%;margin-bottom: 0.3%;"
+ >鎼滅储</el-button>
+ </div> -->
+ <div class="msgtab">
+ <show-table :tablehead="tableHead" :tabledata="tableData"></show-table>
+ </div>
+ </div>
+ </div>
+
+ <screen-photo :id="5" :intime="this.global.timer"
+ v-show="this.global.pollingIndex==1"
+ >
+ </screen-photo>
+ </div>
+
+ </body>
+
+ <script>
+ let app = new Vue({
+ el: '#app',
+ mixins: [mixin],
+ data: {
+ storage: null,
+ val: {
+ title:{
+ text:'',
+ left:'center'
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ xAxis: [
+ {
+ type: 'category',
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+ axisLine: { lineStyle: { color: '#5CADFE' } },
+ axisLabel: { color: '#5CADFE' },
+ splitLine: { lineStyle: { color: '#5CADFE', type: 'dashed' } }
+ }
+ ],
+ yAxis: [
+ {
+ type: "value",
+ name: "姘磋��",
+ nameTextStyle: {
+ color: "#5CADFE",
+ fontSize: 12,
+ padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
+ },
+ splitLine: {
+ // 缃戞牸绾�
+ show: true,
+ lineStyle: { //鍒嗗壊绾�
+ color: "#5CADFE",
+ width: 1,
+ type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
+ }
+ },
+ axisLabel: {
+ // 杞存枃瀛�
+ color: "#5CADFE",
+ fontSize: 12,
+ },
+ },
+
+ ],
+ series: [
+ {
+ name: '姘磋��',
+ type: 'bar',
+ barWidth: '80%',
+ data: [10, 52, 200, 334, 390, 330, 220],
+ itemStyle: { color: '#5CADFE' }
+ },
+
+ ]
+ },
+
+
+
+ tableHead: [{}],
+ selectDate: '',
+ tableData: [{}],
+ show: true,
+ showGlassType: '',
+ showGlassIndex: 0,
+ machineElectric:[{}],
+ machineWater:[{}],
+ loading:true
+
+ },
+ methods: {
+ echarsInit(type) {
+ let HisArr=[]
+ let datas=type==0?this.machineElectric:this.machineWater
+ for(let i=0;i<datas.length;i++){
+ if(type==0){
+ HisArr[i] = this.$echarts.init(document.getElementById('Histogram'+(i*2+2)));
+ }else{
+ HisArr[i] = this.$echarts.init(document.getElementById('Histogram'+(i*2+1)));
+ }
+ }
+
+ if(type==0){
+ this.val.yAxis[0].name="鐢佃��";
+ this.val.series[0].name='鐢佃��(kw路h)'
+ this.val.series[0].itemStyle.color='rgb(84,112,198)'
+ }else{
+ this.val.yAxis[0].name="姘磋��";
+ this.val.series[0].name='姘磋��(m鲁)'
+ this.val.series[0].itemStyle.color='#00ff00'
+ }
+ let danwei=type==0?"(kw路h)":'(m鲁)'
+
+ for(let i in datas){
+ this.val.title.text=datas[i]["0_machine_name"]+danwei
+ this.val.xAxis[0].data=datas[i]["6_shijian"].split(',');
+ this.val.series[0].data=datas[i]["5_jiqidianliang"].split(',');
+ HisArr[i].setOption(this.val);
+ }
+ },
+ },
+ computed: {
+
+ },
+ watch:{
+ machineElectric(){
+ if(Object.keys(this.machineElectric[0]).length==0){
+ return
+ }
+ this.echarsInit(0)
+ this.loading=false
+ },
+ machineWater(){
+ if(Object.keys(this.machineWater[0]).length==0){
+ return
+ }
+ this.echarsInit(1)
+ this.loading=false
+ }
+ },
+ async mounted() {
+ let sql=""
+ let flag=2
+
+ sql="{call AXJ_a_largeScreen_order_tableHead_select()}"
+ await this.loadAjxss('澶у睆鏄剧ず姘村垁鏈哄櫒璁㈠崟鏌ヨ',sql,flag,"tableHead")
+ await this.getTableData('姘村垁') // 纾ㄨ竟鍊掕
+ await this.getMachineElectric('姘村垁','3')
+ await this.getMachineWater('姘村垁','1')
+ this.onmouseMove()
+ },
+
+ })
+
+ </script>
+
+ </html>
\ No newline at end of file
diff --git a/gmms/WebContent/bigScreen/siyinxian1.jsp b/gmms/WebContent/bigScreen/siyinxian1.jsp
new file mode 100644
index 0000000..8361df0
--- /dev/null
+++ b/gmms/WebContent/bigScreen/siyinxian1.jsp
@@ -0,0 +1,321 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+<%@page import="builder.Manager"%>
+<%@page import="ng.db.*"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <meta http-equiv="expires" content="0">
+ <meta http-equiv="pragma" content="no-cache">
+ <meta http-equiv="cache-control" content="no-cache">
+ <script src="../js/main.js"></script>
+
+ <title>涓濆嵃绾�</title>
+</head>
+<style>
+ body {
+ height: 100%;
+ width: 100%;
+ flex-wrap: nowrap;
+ }
+
+ .page-scroll {
+ height: 100%;
+ }
+
+ .page-scroll .el-scrollbar__wrap {
+ overflow-x: hidden;
+ }
+
+ .el-table__header {
+ height: 20%;
+
+ }
+
+ #app {
+ width: 100%;
+ height: 100%;
+ }
+
+ #app1 {
+ width: 60%;
+ position: absolute;
+ left: 2%;
+ top: 3%;
+ }
+
+ #youtu {
+ height: 50%;
+ width: 30%;
+ position: absolute;
+ right: 2%;
+ top: 2%;
+ text-align: center;
+ line-height: 275px;
+ }
+
+ #time {
+ height: 50%;
+ width: 30%;
+ position: absolute;
+ top: 50%;
+ }
+
+ #har {
+ width: 99%;
+ position: absolute;
+ height: 2%;
+ top: 53%;
+ background-color: darkgrey;
+ }
+
+ #app2 {
+ width: 96%;
+ height: 36%;
+ position: absolute;
+ left: 2%;
+ top: 62%;
+ }
+
+ .chart-wrap {
+ width: 50%;
+ height: 100%;
+ float: left;
+ }
+
+ #time {
+ width: 50%;
+ height: 5%;
+ position: absolute;
+ left: 2%;
+ top: 35%;
+ }
+
+ #time2 {
+ width: 50%;
+ height: 10%;
+ position: absolute;
+ left: 2%;
+ top: 42%;
+ }
+</style>
+
+<body>
+ <div id='app' @mousemove="onmouseMove" v-loading="loading" element-loading-background="white">
+ <div id="mains" v-show="this.global.pollingIndex==0">
+ <div id='app1' style="width: 60%;height:33%;float: right;padding: 0;background-color: white;">
+ <show-table :tablehead="tableHead" :tabledata="tableData"></show-table>
+
+ </div>
+ <div id='time'>
+ <div style="margin-top: 5%;height: 3%;">
+ 褰撳墠杩涘害锛�<el-progress :text-inside="true" :stroke-width="26" :percentage="ratio"></el-progress>
+ </div>
+
+
+ </div>
+ <div id='youtu'>
+ <img class="imgCenter" alt="" :src="tableData[0]['11_route']">
+ </div>
+ <div id='har'></div>
+ <div id='app2' >
+ <!-- <show-table :tablehead="tableHead2" :tabledata="tableData2"></show-table> -->
+ <div id="chart-wrap0" class="chart-wrap"></div>
+ <div id="chart-wrap1" class="chart-wrap"></div>
+ </div>
+ </div>
+ <screen-photo :id="this.machineScreen" :intime="this.global.timer"
+ v-show="this.global.pollingIndex==1"
+ >
+ </screen-photo>
+
+ </div>
+
+</body>
+<script type="text/javascript">
+ let app = new Vue({
+ el: '#app',
+ mixins: [mixin],
+ data: {
+ storage: null,
+ val: {
+ title:{
+ text:'',
+ left:'center'
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ xAxis: [{
+ type: 'category',
+ data: ['7/1', '7/2', '7/3', '7/4', '7/5', '7/6', '7/7'],
+ axisLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)'
+ }
+ },
+ axisLabel: {
+ color: 'rgb(30, 144, 255)'
+ },
+ splitLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)',
+ type: 'dashed'
+ }
+ }
+ }],
+ yAxis: [{
+ type: "value",
+ name: "鑳借��",
+ nameTextStyle: {
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
+ },
+ splitLine: {
+ // 缃戞牸绾�
+ show: false,
+ lineStyle: { //鍒嗗壊绾�
+ color: "rgb(180, 180, 180)",
+ width: 1,
+ type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
+ }
+ },
+ axisLabel: {
+ // 杞存枃瀛�
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ },
+ },
+
+ ],
+ series: [{
+ name: '鑳借��',
+ type: 'bar',
+ barWidth: '80%',
+ data: [220, 152, 200, 334, 390, 330, 220],
+ itemStyle: {
+ color: 'rgb(180, 180, 180)'
+ }
+ },
+
+ ]
+ },
+ machineLocal:<%= request.getParameter("local")%>,
+ machineScreen:null,
+
+ tableHead: [{}],
+ selectdate1: '',
+ selectdate2: '',
+ tableData: [{}],
+ show: true,
+ showGlassType: '',
+ showGlassIndex: 0,
+ machineElectric:[{}],
+ machineWater:[{}],
+ loading:true,
+ ratio:0
+
+ },
+ methods: {
+ echarsInit(type) {
+ let HisArr=[]
+ let datas=type==0?this.machineElectric:this.machineWater
+ for(let i=0;i<datas.length;i++){
+ if(i>1){
+ break
+ }
+ if(type==0){
+ HisArr[i] = this.$echarts.init(document.getElementById('chart-wrap'+i));
+ }else{
+ HisArr[i] = this.$echarts.init(document.getElementById('chart-wrap'));
+ }
+ }
+ if(type==0){
+ this.val.yAxis[0].name="鐢佃��";
+ this.val.series[0].name='鐢佃��(kw路h)'
+ this.val.series[0].itemStyle.color='rgb(84,112,198)'
+ }else{
+ this.val.yAxis[0].name="姘磋��";
+ this.val.series[0].name='姘磋��(m鲁)'
+ this.val.series[0].itemStyle.color='#00ff00'
+ }
+ let danwei=type==0?"(kw路h)":'(m鲁)'
+
+ for(let i in datas){
+ if(i>1){
+ break
+ }
+ this.val.title.text=datas[i]["0_machine_name"]+danwei
+ this.val.xAxis[0].data=datas[i]["6_shijian"].split(',');
+ this.val.series[0].data=datas[i]["5_jiqidianliang"].split(',');
+ HisArr[i].setOption(this.val);
+ }
+ },
+ },
+ computed: {
+
+ },
+ watch:{
+ machineElectric(){
+ if(Object.keys(this.machineElectric[0]).length==0){
+ return
+ }
+
+ this.echarsInit(0)
+ this.loading=false
+ },
+ tableHead(newVal,oldVal){
+ delete newVal[0]['7_parts_change']
+ delete newVal[0]['0_machine_name']
+
+ newVal[0]['8_ratio']='鐩撮�氱巼'
+ //newVal[0]['9_work_state']='鐘舵��'
+ },
+ tableData(){
+ this.ratio=this.tableData[0]['8_ratio']*1
+
+ }
+ },
+ async mounted() {
+ let sql=""
+ let flag=2
+
+ sql="{call AXJ_a_largeScreen_order_tableHead_select()}"
+ await this.loadAjxss('澶у睆涓濆嵃琛ㄥご鏌ヨ',sql,flag,"tableHead")
+ await this.getTableData('涓濆嵃') // 涓濆嵃
+ await this.getMachineElectric('涓濆嵃','5')
+ this.onmouseMove()
+
+ },
+ created() {
+ switch (this.machineLocal) {
+ case 0:
+ this.machineScreen=8
+ break;
+ case 1:
+ this.machineScreen=8
+ break;
+ }
+ },
+
+ })
+
+
+
+
+</script>
+
+
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/bigScreen/tiemotaizu.jsp b/gmms/WebContent/bigScreen/tiemotaizu.jsp
new file mode 100644
index 0000000..30cd698
--- /dev/null
+++ b/gmms/WebContent/bigScreen/tiemotaizu.jsp
@@ -0,0 +1,213 @@
+<%@ page contentType="text/html;charset=UTF-8"%>
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<meta http-equiv="expires" content="0">
+<meta http-equiv="pragma" content="no-cache">
+<meta http-equiv="cache-control" content="no-cache">
+<title>璐磋啘鍙扮粍</title>
+
+<script src="../js/main.js"></script>
+
+
+
+
+<style>
+
+
+body {
+ background-color: #D5EAFF;
+}
+#divhead{
+ float: left;
+ margin-top: 3%;
+ width: 98%;
+ margin-left: 1%;
+}
+#divBody{
+ margin-top: 4%;
+ float: left;
+ width: 100%;
+ height: 60%;
+}
+#orderData{
+ float: left;
+ height: 98%;
+ width: 55%;
+ background-color: blanchedalmond;
+}
+#chart-wrap{
+ float: left;
+ margin-left: 0;
+ height: 98%;
+ width: 44%;
+
+}
+
+</style>
+</head>
+<body>
+ <div id="app" @mousemove="onmouseMove" v-loading="loading" element-loading-background="white" style="height: 99%;">
+ <div v-show="this.global.pollingIndex==0" id="mains">
+ <h3>璐磋啘鍙扮粍</h3>
+ <parts-change></parts-change>
+ <div id="divhead">
+ <show-table :tablehead="tableHead" :tabledata="tableData"></show-table>
+ </div>
+ <div id="divBody">
+ <div id="orderData">
+ <screen-order :tablehead="orderHead" :tabledata="orderData"></screen-order>
+ </div>
+
+ <div id="chart-wrap"></div>
+ </div>
+ </div>
+ <screen-photo :id="13" :intime="this.global.timer" v-show="this.global.pollingIndex==1"></screen-photo>
+
+
+ </div>
+</body>
+
+
+
+
+
+<script>
+let app = new Vue({
+ el: '#app',
+ mixins:[mixin],
+
+ data() {
+ return {
+ tableHead: [{}],
+ tableData: [{}],
+ machineElectric:[{}],
+ machineWater:[{}],
+ orderHead:[{}],
+ orderData:[{}],
+ loading:true,
+ val: {
+ title:{
+ text:'',
+ left:'center'
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ xAxis: [{
+ type: 'category',
+ data: [],
+ axisLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)'
+ }
+ },
+ axisLabel: {
+ color: 'rgb(30, 144, 255)'
+ },
+ splitLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)',
+ type: 'dashed'
+ }
+ }
+ }],
+ yAxis: [{
+ type: "value",
+ name: "鑳借��",
+ nameTextStyle: {
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
+ },
+ splitLine: {
+ // 缃戞牸绾�
+ show: false,
+ lineStyle: { //鍒嗗壊绾�
+ color: "rgb(180, 180, 180)",
+ width: 1,
+ type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
+ }
+ },
+ axisLabel: {
+ // 杞存枃瀛�
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ },
+ },
+
+ ],
+ series: [{
+ name: '鐢佃��',
+ type: 'bar',
+ barWidth: '80%',
+ data: [220, 152, 200, 334, 390, 330, 220],
+ itemStyle: {
+ color: 'rgb(180, 180, 180)'
+ }
+ },
+
+ ]
+ },
+ }
+
+ },
+ methods: {
+ echarsInit(type) {
+ let HisArr=[]
+ let datas=this.machineElectric
+ HisArr[0] = this.$echarts.init(document.getElementById('chart-wrap'));
+
+ this.val.yAxis[0].name="鐢佃��";
+ this.val.series[0].name='鐢佃��(kw路h)'
+ this.val.series[0].itemStyle.color='rgb(84,112,198)'
+ danwei="(kw路h)"
+
+ for(let i in datas){
+ this.val.title.text=this.machineElectric[i]["0_machine_name"]+danwei
+ this.val.xAxis[0].data=datas[i]["6_shijian"].split(',');
+ this.val.series[0].data=datas[i]["5_jiqidianliang"].split(',');
+ HisArr[i].setOption(this.val);
+ }
+ },
+
+ },
+ watch: {
+ machineElectric(){
+ if(Object.keys(this.machineElectric[0]).length==0){
+ return
+ }
+ this.echarsInit(0)
+ this.loading=false
+ }
+ },
+ async mounted() {
+ let sql=""
+ let flag=2
+ sql="{call AXJ_a_largeScreen_order_tableHead_select()}"
+ await this.loadAjxss('澶у睆鏄剧ず鏈哄櫒琛ㄥご',sql,flag,"tableHead")
+ sql="{call AXJ_a_largeScreen_orderRatio_tableHead_select()}"
+ await this.loadAjxss('璐磋啘妫�娴嬩互鍙婇挗鍖栧ぇ灞忔瘮渚嬭〃澶�',sql,flag,"orderHead")
+ await this.getTableData('璐磋啘') // 纾ㄨ竟鍊掕
+ await this.getMachineElectric('璐磋啘','6')
+ let timer1=await setInterval(()=>{
+ sql="{call AXJ_a_largeScreen_orderRatio_tableData_select()}"
+ this.interValLoadAjxs('璐磋啘浠ュ強閽㈠寲澶у睆姣斾緥鏁版嵁',sql,flag,"orderData",timer1)
+ },5000)
+ this.onmouseMove()
+
+ }
+});
+</script>
+
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/bigScreen/xiacijiance1.jsp b/gmms/WebContent/bigScreen/xiacijiance1.jsp
new file mode 100644
index 0000000..f8c3425
--- /dev/null
+++ b/gmms/WebContent/bigScreen/xiacijiance1.jsp
@@ -0,0 +1,304 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+<%@page import="builder.Manager" %>
+<%@page import="ng.db.*" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <meta http-equiv="expires" content="0">
+ <meta http-equiv="pragma" content="no-cache">
+ <meta http-equiv="cache-control" content="no-cache">
+ <script src="../js/main.js"></script>
+
+ <title>鐟曠柕妫�娴�</title>
+</head>
+<style>
+*{
+ padding: 0;
+ margin: 0;
+}
+ body {
+ height: 100%;
+ width: 100%;
+ flex-wrap: nowrap;
+ }
+
+ .page-scroll {
+ height: 100%;
+ }
+
+ .page-scroll .el-scrollbar__wrap {
+ overflow-x: hidden;
+ }
+
+ .el-table__header {
+ height: 20%;
+
+ }
+
+ #app {
+ width: 100%;
+ height: 100%;
+ }
+
+ #app1 {
+ width: 60%;
+ position: absolute;
+ left: 2%;
+ top: 3%;
+ }
+
+ #chart-wrap {
+ height: 40%;
+ width: 30%;
+ position: absolute;
+ right: 2%;
+ top: 2%;
+ text-align: center;
+ line-height: 275px;
+ }
+
+ #har {
+ width: 99%;
+ position: absolute;
+ height: 2%;
+ top: 43%;
+ background-color: darkgrey;
+ }
+
+ #picture1 {
+ width: 50%;
+ position: absolute;
+ height:100%;
+
+ padding: 0;
+ margin: 0;
+ }
+
+ #picture2 {
+ width: 50%;
+ height:100%;
+
+
+
+ }
+ #pictue{
+ position: absolute;
+ top: 50%;
+ width: 99%;
+ height:48vh;
+ padding: 0;
+ margin: 0;
+ }
+ img{
+ max-width: 100%;
+ max-height: 100%;
+ }
+</style>
+
+<body>
+ <div id='app' @mousemove="onmouseMove" v-loading="loading" element-loading-background="white">
+ <div id="mains" v-show="this.global.pollingIndex==0">
+ <parts-change></parts-change>
+ <div id='app1' style="width: 60%;height:30%;float: right;padding: 0;background-color: white;">
+ <show-table :tablehead="tableHead" :tabledata="tableData1"></show-table>
+ </div>
+ <div id='chart-wrap'>
+ </div>
+ <div id='har'></div>
+ <div id="pictue">
+ <div id='picture1' >
+ <img class="imgCenter" style="float: right;" :src="pictures[0]" alt="">
+ </div>
+ <div id="picture2" style="float:right">
+ <img class="imgCenter" style="float: left;" :src="pictures[1]" alt="">
+ </div>
+
+ </div>
+ </div>
+ <screen-photo :id="this.machineScreen" :intime="this.global.timer"
+ v-show="this.global.pollingIndex==1 "
+ >
+ </screen-photo>
+ </div>
+
+</body>
+<script type="text/javascript">
+ let app = new Vue({
+ el: '#app',
+ mixins: [mixin],
+ data: {
+ storage: null,
+ val:{
+ title:{
+ text:'',
+ left:'center'
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ xAxis: [
+ {
+ type: 'category',
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+ axisLine: { lineStyle: { color: '#5CADFE' } },
+ axisLabel: { color: '#5CADFE' },
+ splitLine: { lineStyle: { color: '#5CADFE', type: 'dashed' } }
+ }
+ ],
+ yAxis: [
+ {
+ type: "value",
+ name: "姘磋��",
+ nameTextStyle: {
+ color: "#5CADFE",
+ fontSize: 12,
+ padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
+ },
+ splitLine: {
+ // 缃戞牸绾�
+ show: true,
+ lineStyle: { //鍒嗗壊绾�
+ color: "#5CADFE",
+ width: 1,
+ type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
+ }
+ },
+ axisLabel: {
+ // 杞存枃瀛�
+ color: "#5CADFE",
+ fontSize: 12,
+ },
+ },
+
+ ],
+ series: [
+ {
+ name: '姘磋��',
+ type: 'bar',
+ barWidth: '80%',
+ data: [10, 52, 200, 334, 390, 330, 220],
+ itemStyle: { color: '#5CADFE' }
+ },
+
+ ]
+ },
+
+ tableHead: [{}],
+ selectdate1: '',
+ selectdate2: '',
+ tableData: [{}],
+ tableData1:[{}],
+ tableHead2: [{}],
+ tableData2: [{}],
+ show: true,
+ showGlassType: '',
+ showGlassIndex: 0,
+ machineLocal:<%= request.getParameter("local")%>,
+ machineScreen:null,
+ machineElectric:[{}],
+ loading:true,
+ machineIp:null,
+ picture:[{}],
+ pictures:['',''],
+ getPhoto:null
+
+
+ },
+ methods: {
+ echarsInit(type) {
+ let HisArr=[]
+ let datas=this.machineElectric
+ datas=[datas[this.machineLocal]]
+ HisArr[0] = this.$echarts.init(document.getElementById('chart-wrap'));
+
+ this.val.yAxis[0].name="鐢佃��";
+ this.val.series[0].name='鐢佃��(kw)'
+ this.val.series[0].itemStyle.color='rgb(84,112,198)'
+ danwei="(kw)"
+
+ for(let i in datas){
+ this.val.title.text=datas[i]["0_machine_name"]+danwei
+ this.val.xAxis[0].data=datas[i]["6_shijian"].split(',');
+ this.val.series[0].data=datas[i]["5_jiqidianliang"].split(',');
+ HisArr[i].setOption(this.val);
+ }
+ },
+ },
+ computed: {
+
+ },
+ watch: {
+ tableData(newdate,olddate){
+ this.tableData1=[this.tableData[this.machineLocal]]
+ },
+ machineElectric(){
+ if(Object.keys(this.machineElectric[0]).length==0){
+ return
+ }
+ this.echarsInit(0)
+ this.loading=false
+ },
+ picture(newval){
+ this.pictures[0]=newval[0]['A0']
+ this.pictures[1]=newval[0]['A1']
+ }
+ },
+ async mounted() {
+
+ let sql=""
+ let flag=2
+ sql="{call AXJ_a_largeScreen_order_tableHead_select()}"
+ await this.loadAjxss('澶у睆鏄剧ず鏈哄櫒琛ㄥご鏌ヨ',sql,flag,"tableHead")
+ await this.getTableData('鐟曠柕妫�娴�')
+ await this.getMachineElectric('鐟曠柕妫�娴�','4')
+
+ let param = new URLSearchParams();
+ param.append("ip",this.machineIp);
+ this.getPhoto = await setInterval(()=>{
+ this.$http.post( '../mysqlInsert/getPicture.jsp',param)
+ .then(function (response) {
+ app.$data.picture= response.data
+ }).catch(function (error) {
+ clearInterval(this.getPhoto);
+ //alert('Error: ' + "鎻愬彇鍥剧墖鍙戠敓閿欒,璇峰叧闂晫闈㈤噸鏂版墦寮�锛�");
+
+ });
+ },30000)
+
+
+ this.onmouseMove()
+ },
+ created() {
+ switch (this.machineLocal) {
+ case 0:
+ this.machineScreen=7*1
+ this.machineIp="192.168.10.196"
+ break;
+ case 1:
+ this.machineScreen=10*1
+ this.machineIp="192.168.20.51"
+ break;
+ default:
+ this.machineScreen=12*1
+ this.machineIp="192.168.20.107"
+ break;
+ //
+ }
+ },
+
+ })
+</script>
+
+
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/bigScreen/xiapianduiduo.jsp b/gmms/WebContent/bigScreen/xiapianduiduo.jsp
new file mode 100644
index 0000000..7d8fc5a
--- /dev/null
+++ b/gmms/WebContent/bigScreen/xiapianduiduo.jsp
@@ -0,0 +1,422 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+ <html>
+
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <meta http-equiv="expires" content="0">
+ <meta http-equiv="pragma" content="no-cache">
+ <meta http-equiv="cache-control" content="no-cache">
+ <title>涓嬬墖鍫嗗灈</title>
+ <script src="../js/main.js"></script>
+ </head>
+ <style>
+ * {
+ margin: 0px;
+ padding: 0px;
+
+
+ }
+
+ body,
+ html {
+ width: 100%;
+ height: 100%;
+ background-color: #D5EAFF;
+
+ }
+
+ #app {
+ width: 100%;
+ height: 100%;
+ }
+
+ #wai {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ position: relative;
+ margin: 0px;
+ padding: 0px;
+ justify-content: center;
+ }
+
+ #wai_shang {
+ width: 100%;
+ height: 48%;
+ display: flex;
+ flex-wrap: nowrap;
+ }
+
+ #wai_xia {
+ width: 100%;
+ height: 50%;
+ display: flex;
+ flex-wrap: nowrap;
+ }
+
+ .shang_zuo {
+ height: 100%;
+ width: 50%;
+ }
+
+ .shang_you {
+ height: 100%;
+ width: 50%;
+ }
+
+ .centdv_time {
+ width: 70%;
+ height: 10%;
+ position: relative;
+ }
+
+ .centdv_time input {
+ height: 25px;
+ }
+
+ .btn {
+ text-align: center;
+ width: 100px;
+ height: 29px;
+ /* outline: none; */
+ border: none;
+ background-color: #5CADFE;
+ box-shadow: 15 8px 16px 15 rgba(0, 0, 0, 0), 15 6px 5px 15 rgba(0, 0, 0, 0.19);
+ }
+
+ .msgtab {
+ width: 99%;
+ height: 90%;
+ /* border: 1px solid white; */
+
+ }
+
+ .msgtab1 {
+ width: 99%;
+ height: 88%;
+ /* border: 1px solid white; */
+ }
+
+
+ .xia_zuo {
+ height: 100%;
+ width: 50%;
+ }
+
+ .xia_you {
+ height: 100%;
+ width: 50%;
+ }
+
+ #chart-wrap {
+ width: 90%;
+ height: 80%;
+ }
+
+ .title {
+ color: black;
+ height: 10%;
+ font-size: 18px;
+ }
+
+ .centdv_time {
+ font-size: 18px;
+ }
+
+ #tuopan {
+ width: 80%;
+ height: 90%;
+ background-color: #696969;
+ border-radius: 25px 25px 0 0;
+ margin: 0 auto;
+ transform: rotate(180deg);
+ }
+
+ #tuopan_jindu {
+ border-radius: 0 0 25px 25px;
+ width: 100%;
+ /* height: 75%; */
+ background-color: #5CADFE;
+ transform: rotate(180deg);
+ }
+
+ .xptile {
+ height: 10%;
+ font-size: 18px;
+ text-align: center;
+ }
+
+ .jindu {
+ color: black;
+ width: 100px;
+ height: 5%;
+ font-size: 18px;
+ position: relative;
+ top: -55%;
+ left: 36%
+ }
+
+ #jindu_zhi {
+ border: none;
+ background-color: transparent;
+ height: 100%;
+ font-size: 18px;
+ }
+ </style>
+
+ <body>
+ <div id="app" @mousemove="onmouseMove" v-loading="loading" element-loading-background="white">
+ <div id="mains" v-show="this.global.pollingIndex==0">
+ <div id="wai">
+ <div id="wai_shang">
+ <div class="shang_zuo">
+ <div class="title">
+ 褰撳墠鐢熶骇淇℃伅锛�
+
+ 绛夊緟鎵樼洏鏁帮細
+
+ 宸插畬宸ユ墭鐩樻暟锛�
+
+ </div>
+
+ <div class="msgtab">
+ <show-table :tablehead="tableHead" :tabledata="tableData"></show-table>
+ </div>
+ </div>
+ <div class="shang_you">
+ <div class="centdv_time">
+ <el-date-picker style="float: left;margin-bottom: 0.3%;"
+ v-model="selectDate"
+ type="daterange"
+ value-format="yyyy-MM-dd"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+
+ <el-button type="primary" icon="el-icon-search"
+ style="float: left;margin-left: 0.2%;margin-bottom: 0.3%;"
+ @click="selectSub()"
+ >鍘嗗彶璁㈠崟鎼滅储</el-button>
+ </div>
+ <div class="msgtab1">
+ <show-table :tablehead="tableHead" :tabledata="tableDatas"></show-table>
+ </div>
+ </div>
+
+ </div>
+ <div id="wai_xia">
+ <div class="xia_zuo">
+ <div id="chart-wrap"></div>
+ </div>
+ <div class="xia_you">
+
+ <div id="tuopan">
+ <div id="tuopan_jindu"></div>
+ </div>
+
+ <div class="xptile">褰撳墠涓嬬墖杩涘害{{bar}}%</div>
+ <div class="jindu"><input type="text" id="jindu_zhi" :value="GlassNum+'/'+150"></div>
+
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <screen-photo :id="14" :intime="this.global.timer"
+ v-show="this.global.pollingIndex==1"
+ >
+ </screen-photo>
+ </div>
+ </body>
+ <script>
+ let app = new Vue({
+ el: '#app',
+ mixins: [mixin],
+ data: {
+ storage: null,
+ val: {
+ title:{
+ text:'',
+ left:'center'
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ xAxis: [{
+ type: 'category',
+ data: [],
+ axisLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)'
+ }
+ },
+ axisLabel: {
+ color: 'rgb(30, 144, 255)'
+ },
+ splitLine: {
+ lineStyle: {
+ color: 'rgb(30, 144, 255)',
+ type: 'dashed'
+ }
+ }
+ }],
+ yAxis: [{
+ type: "value",
+ name: "鑳借��",
+ nameTextStyle: {
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
+ },
+ splitLine: {
+ // 缃戞牸绾�
+ show: false,
+ lineStyle: { //鍒嗗壊绾�
+ color: "rgb(180, 180, 180)",
+ width: 1,
+ type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
+ }
+ },
+ axisLabel: {
+ // 杞存枃瀛�
+ color: "rgb(30, 144, 255)",
+ fontSize: 12,
+ },
+ },
+
+ ],
+ series: [{
+ name: '鐢佃��',
+ type: 'bar',
+ barWidth: '80%',
+ data: [220, 152, 200, 334, 390, 330, 220],
+ itemStyle: {
+ color: 'rgb(180, 180, 180)'
+ }
+ },
+
+ ]
+ },
+ tableHead: [{
+ 0:'璁㈠崟鍙�', 1:'浜у搧淇℃伅', 2:'宸插姞宸ユ暟', 3:'寰呭姞宸ユ暟', 4:'鐮存崯鏁�'
+ }],
+ selectDate:['',''],
+ tableData: [{}],
+ tableDatas: [{}],
+ show: true,
+ showGlassType: '',
+ showGlassIndex: 0,
+ gao: 50,
+ machineElectric:[{}],
+ getGlassNum:null,
+ GlassNum:null,
+ bar:null,
+ loading:true
+
+
+ },
+ methods: {
+ echarsInit(type) {
+ let HisArr=[]
+ let datas=this.machineElectric
+ HisArr[0] = this.$echarts.init(document.getElementById('chart-wrap'));
+
+ this.val.yAxis[0].name="鐢佃��";
+ this.val.series[0].name='鐢佃��(kw)'
+ this.val.series[0].itemStyle.color='rgb(84,112,198)'
+ danwei="(kw)"
+
+ for(let i in datas){
+ this.val.title.text=this.machineElectric[i]["0_machine_name"]+danwei
+ this.val.xAxis[0].data=datas[i]["6_shijian"].split(',');
+ this.val.series[0].data=datas[i]["5_jiqidianliang"].split(',');
+ HisArr[i].setOption(this.val);
+ }
+ },
+ jindu () {
+ let myDiv = document.getElementById("tuopan_jindu");
+ myDiv.style.height = this.bar+"%";
+
+
+ },
+ selectSub(){
+ let arrObj={
+ type:1,
+ stateData:this.selectDate[0],
+ endeData:this.selectDate[1]
+ }
+ sql="{call AXJ_a_largeScreen_batchOffData_select(?,?,?,?)}~"+JSON.stringify(arrObj)
+ this.loadAjxss('涓嬬墖璁㈠崟鍙傛暟',sql,2,"tableDatas")
+ }
+
+ },
+ computed: {
+
+ },
+ watch:{
+ machineElectric(){
+ if(Object.keys(this.machineElectric[0]).length==0){
+ return
+ }
+ //this.echarsInit(0)
+ this.loading=false
+ },
+ getGlassNum(newval){
+ this.GlassNum=newval[0]['0_content_value']%150
+ this.bar=parseInt(parseInt(this.GlassNum/150*100))
+ this.jindu()
+ }
+ },
+ async mounted () {
+ let sql=""
+ let flag=2
+ sql="{call AXJ_a_largeScreen_batchOffHead_select()}"
+ await this.loadAjxss('涓嬬墖鍫嗗灈璁㈠崟',sql,flag,"tableHead")
+ await this.getMachineElectric('涓嬬墖',7)
+ //this.jindu();
+
+ let timer1=await setInterval(()=>{
+ let arrObj={
+ type:0,
+ stateData:'',
+ endeData:''
+ }
+ sql="{call AXJ_a_largeScreen_batchOffData_select(?,?,?,?)}~"+JSON.stringify(arrObj)
+ this.interValLoadAjxs('涓嬬墖璁㈠崟鍙傛暟',sql,flag,"tableData",timer1)
+ },5000)
+ let arrObj={
+ type:1,
+ stateData:'',
+ endeData:''
+ }
+ sql="{call AXJ_a_largeScreen_batchOffData_select(?,?,?,?)}~"+JSON.stringify(arrObj)
+ this.loadAjxss('涓嬬墖璁㈠崟鍙傛暟',sql,flag,"tableDatas")
+
+ sql="{call AXJ_a_largeScreen_batchOffHandNum_select()}"
+ this.loadAjxss()
+
+ let timer2=await setInterval(()=>{
+ sql="{call AXJ_a_largeScreen_batchOffHandNum_select()}"
+ this.interValLoadAjxs('涓嬬墖鏈烘鎵嬫暟閲�',sql,flag,"getGlassNum",timer2)
+ },5000)
+ this.onmouseMove()
+
+ },
+
+ })
+
+ </script>
+
+ </html>
\ No newline at end of file
diff --git "a/gmms/WebContent/dapingxianshi/\346\225\260\346\215\256\345\233\276.png" "b/gmms/WebContent/bigScreen/\346\225\260\346\215\256\345\233\276.png"
similarity index 100%
rename from "gmms/WebContent/dapingxianshi/\346\225\260\346\215\256\345\233\276.png"
rename to "gmms/WebContent/bigScreen/\346\225\260\346\215\256\345\233\276.png"
Binary files differ
diff --git a/gmms/WebContent/dapingxianshi/shuidao.jsp b/gmms/WebContent/dapingxianshi/shuidao.jsp
deleted file mode 100644
index 5325a62..0000000
--- a/gmms/WebContent/dapingxianshi/shuidao.jsp
+++ /dev/null
@@ -1,847 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>姘村垁</title>
-<script src="../js/jquery-3.4.1.min.js"></script>
-<script src="../js/echarts.min.js"></script>
-</head>
-<style>
- * {
- margin: 0px;
- padding: 0px;
- font-size: 14px;
-
- }
-
- body,
- html {
- width: 100%;
- height: 100%;
- background-color: #00008B;
-
- }
-
- #wai {
- width: 100%;
- height: 100%;
- display: flex;
- flex-wrap: wrap;
- position: relative;
- margin: 0px;
- padding: 0px;
- justify-content: center;
- }
-
- .wai_zs {
- width: 50%;
- height: 49%;
- background-color: #00008B;
- border-right: 1px solid white;
- border-bottom: 1px solid white;
- }
-
- .wai_ys {
- width: 49%;
- height: 49%;
- background-color: #00008B;
- border-bottom: 1px solid white;
- }
-
- .wai_zx {
- width: 50%;
- height: 50%;
- background-color: #00008B;
- border-right: 1px solid white;
- }
-
- .wai_yx {
- width: 49%;
- height: 50%;
- background-color: #00008B;
- }
-
-
-
- .msgtab {
- width: 50%;
- height: 40%;
- border: 1px solid white;
- border-collapse: collapse;
- position: absolute;
- top: 33%;
- left: 25%;
- }
-
- .one1,
- .one1 input {
- background-color: #F0FFFF;
- }
-
- .double1,
- .double1 input {
- background-color: #e1f0fd;
- }
-
- .msgtab tr th {
- color: white;
- white-space: nowrap;
- text-align: center;
- height: 20px;
- line-height: 20px;
- overflow: hidden;
- }
-
- .msgtab tr td {
-
- white-space: nowrap;
- text-align: center;
- height: 20px;
- line-height: 20px;
- overflow: hidden;
- }
-
- #container {
- width: 50%;
- position: absolute;
- top: 17%;
- }
-
-
-
- #chart-wrap {
- width: 50%;
- height: 60%;
- position: relative;
- top: 39%;
- left: 0%
- }
-
- #chart-suibian {
- width: 50%;
- height: 60%;
- position: relative;
- top: -65%;
- left: 50%
- }
-
- #chart-youx {
- width: 50%;
- height: 60%;
- position: relative;
- top: -65%;
- left: 0%
- }
-
- #chart-yous {
- width: 50%;
- height: 60%;
- position: relative;
- top: 39%;
- left: 50%
- }
-
- #chart-zuoshang {
- width: 50%;
- height: 60%;
- position: relative;
- top: -65%;
- left: 0%
- }
-
- #chart-zuoxia {
- width: 50%;
- height: 58%;
- position: relative;
- top: 42%;
- left: 50%
- }
-
-
- #chart-youshang {
- width: 50%;
- height: 60%;
- position: relative;
- top: -5%;
- left: 50%
- }
-
- #chart-youxia {
- width: 50%;
- height: 58%;
- position: relative;
- top: -19%;
- left: 0%;
- }
-
- .centdv_time {
- color: white;
- width: 50%;
- height: 30%;
- position: relative;
- top: -71%;
- left: 0%;
- }
-
- .centdv_time input {
- height: 25px;
- }
-
- .btn {
- text-align: center;
- width: 100px;
- height: 29px;
- /* outline: none; */
- border: none;
- background-color: white;
- box-shadow: 15 8px 16px 15 rgba(0, 0, 0, 0), 15 6px 5px 15 rgba(0, 0, 0, 0.19);
- }
-</style>
-<body>
-<div id="wai">
- <div class="wai_zs">
- <div id="chart-wrap"></div>
-
- <div id="chart-suibian"></div>
- </div>
- <div class="wai_ys">
- <div id="chart-yous"></div>
-
- <div id="chart-youx"></div>
- </div>
- <div class="wai_zx">
- <div id="chart-zuoxia"></div>
-
- <div id="chart-zuoshang"></div>
- </div>
- <div class="wai_yx">
- <div id="chart-youshang"></div>
-
- <div id="chart-youxia"></div>
- </div>
-
- <div class="centdv_time"><input type="date">~<input type="date">
-
- <button class="btn" type="button">鏌ヨ</button>
- </div>
- <table class="msgtab">
- <thead>
- <tr>
- <th>璁惧</th>
- <th>璁㈠崟鍙�</th>
- <th>宸插姞宸ユ暟</th>
- <th>鏈姞宸ユ暟</th>
- <th>鐮存崯鏁�</th>
- <th>鏇存崲鍊掕鏃�</th>
- <th>鑰楁潗鍛ㄦ湡</th>
- <th>鏇存崲鏉愭枡</th>
- </tr>
- </thead>
- <tbody>
- <tr class="one1">
- <td>娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- </tr>
- <tr class="double1">
- <td>娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- </tr>
- <tr class="one1">
- <td>娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- </tr>
- <tr class="double1">
- <td>娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- <td>娴嬭瘯娴嬭瘯</td>
- </tr>
- </tbody>
- </table>
- </div>
-</body>
-
-<script>
- // 1-涓� --------------------------------------------------------------------------------------------------
- function zhutu () {
-
- var chartDom = document.getElementById('chart-wrap');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
- axisLine: { lineStyle: { color: '#87CEFA' } },
- axisLabel: { color: '#87CEFA' },
- splitLine: { lineStyle: { color: '#87CEFA', type: 'dashed' } }
- }
- ],
- yAxis: [
- {
- type: "value",
- name: "姘磋��",
- nameTextStyle: {
- color: "#87CEFA",
- fontSize: 12,
- padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
- },
- splitLine: {
- // 缃戞牸绾�
- show: true,
- lineStyle: { //鍒嗗壊绾�
- color: "#87CEFA",
- width: 1,
- type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
- }
- },
- axisLabel: {
- // 杞存枃瀛�
- color: "#87CEFA",
- fontSize: 12,
- },
- },
-
- ],
- series: [
- {
- name: '姘磋��',
- type: 'bar',
- barWidth: '80%',
- data: [10, 52, 200, 334, 390, 330, 220],
- itemStyle: { color: '#87CEFA' }
- },
-
- ]
- };
-
- option && myChart.setOption(option);
- }
-
- function zhutu2 () {
- var chartDom = document.getElementById('chart-suibian');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
- axisLine: { lineStyle: { color: '#FFFFF0' } },
- axisLabel: { color: '#FFFFF0' },
- splitLine: { lineStyle: { color: '#FFFFF0', type: 'dashed' } }
- }
- ],
- yAxis: [
- {
- type: "value",
- name: "鐢佃��",
- nameTextStyle: {
- color: "#FFFFF0",
- fontSize: 12,
- padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
- },
- splitLine: {
- // 缃戞牸绾�
- show: true,
- lineStyle: { //鍒嗗壊绾�
- color: "#FFFFF0",
- width: 1,
- type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
- }
- },
- axisLabel: {
- // 杞存枃瀛�
- color: "#FFFFF0",
- fontSize: 12,
- },
- },
-
- ],
- series: [
- {
- name: 'Direct',
- type: 'bar',
- barWidth: '80%',
- data: [10, 52, 200, 334, 390, 330, 220],
- itemStyle: { color: '#FFFFF0' }
- },
-
- ]
- };
-
- option && myChart.setOption(option);
- }
-
- function zhutu3 () {
- var chartDom = document.getElementById('chart-yous');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
- axisLine: { lineStyle: { color: '#87CEFA' } },
- axisLabel: { color: '#87CEFA' },
- splitLine: { lineStyle: { color: '#87CEFA', type: 'dashed' } }
- }
- ],
- yAxis: [
- {
- type: "value",
- name: "姘磋��",
- nameTextStyle: {
- color: "#87CEFA",
- fontSize: 12,
- padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
- },
- splitLine: {
- // 缃戞牸绾�
- show: true,
- lineStyle: { //鍒嗗壊绾�
- color: "#87CEFA",
- width: 1,
- type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
- }
- },
- axisLabel: {
- // 杞存枃瀛�
- color: "#87CEFA",
- fontSize: 12,
- },
- },
-
- ],
- series: [
- {
- name: '姘磋��',
- type: 'bar',
- barWidth: '80%',
- data: [10, 52, 200, 334, 390, 330, 220],
- itemStyle: { color: '#87CEFA' }
- },
-
- ]
- };
-
- option && myChart.setOption(option);
- }
-
- function zhutu4 () {
- var chartDom = document.getElementById('chart-youx');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
- axisLine: { lineStyle: { color: '#FFFFF0' } },
- axisLabel: { color: '#FFFFF0' },
- splitLine: { lineStyle: { color: '#FFFFF0', type: 'dashed' } }
- }
- ],
- yAxis: [
- {
- type: "value",
- name: "鐢佃��",
- nameTextStyle: {
- color: "#FFFFF0",
- fontSize: 12,
- padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
- },
- splitLine: {
- // 缃戞牸绾�
- show: true,
- lineStyle: { //鍒嗗壊绾�
- color: "#FFFFF0",
- width: 1,
- type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
- }
- },
- axisLabel: {
- // 杞存枃瀛�
- color: "#FFFFF0",
- fontSize: 12,
- },
- },
-
- ],
- series: [
- {
- name: 'Direct',
- type: 'bar',
- barWidth: '80%',
- data: [10, 52, 200, 334, 390, 330, 220],
- itemStyle: { color: '#FFFFF0' }
- },
-
- ]
- };
-
- option && myChart.setOption(option);
- }
-
- function zhutu5 () {
- var chartDom = document.getElementById('chart-zuoxia');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
- axisLine: { lineStyle: { color: '#FFFFF0' } },
- axisLabel: { color: '#FFFFF0' },
- splitLine: { lineStyle: { color: '#FFFFF0', type: 'FFFFF0' } }
- }
- ],
- yAxis: [
- {
- type: "value",
- name: "鐢佃��",
- nameTextStyle: {
- color: "#FFFFF0",
- fontSize: 12,
- padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
- },
- splitLine: {
- // 缃戞牸绾�
- show: true,
- lineStyle: { //鍒嗗壊绾�
- color: "#FFFFF0",
- width: 1,
- type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
- }
- },
- axisLabel: {
- // 杞存枃瀛�
- color: "#FFFFF0",
- fontSize: 12,
- },
- },
-
- ],
- series: [
- {
- name: '鐢佃��',
- type: 'bar',
- barWidth: '80%',
- data: [10, 52, 200, 334, 390, 330, 220],
- itemStyle: { color: '#FFFFF0' }
- },
-
- ]
- };
-
- option && myChart.setOption(option);
- }
-
- function zhutu6 () {
- var chartDom = document.getElementById('chart-zuoshang');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
- axisLine: { lineStyle: { color: '#87CEFA' } },
- axisLabel: { color: '#87CEFA' },
- splitLine: { lineStyle: { color: '#87CEFA', type: 'dashed' } }
- }
- ],
- yAxis: [
- {
- type: "value",
- name: "姘磋��",
- nameTextStyle: {
- color: "#87CEFA",
- fontSize: 12,
- padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
- },
- splitLine: {
- // 缃戞牸绾�
- show: true,
- lineStyle: { //鍒嗗壊绾�
- color: "#87CEFA",
- width: 1,
- type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
- }
- },
- axisLabel: {
- // 杞存枃瀛�
- color: "#87CEFA",
- fontSize: 12,
- },
- },
-
- ],
- series: [
- {
- name: '姘磋��',
- type: 'bar',
- barWidth: '80%',
- data: [10, 52, 200, 334, 390, 330, 220],
- itemStyle: { color: '#87CEFA' }
- },
-
- ]
- };
-
- option && myChart.setOption(option);
- }
-
- function zhutu7 () {
- var chartDom = document.getElementById('chart-youxia');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
- axisLine: { lineStyle: { color: '#FFFFF0' } },
- axisLabel: { color: '#FFFFF0' },
- splitLine: { lineStyle: { color: '#FFFFF0', type: 'dashed' } }
- }
- ],
- yAxis: [
- {
- type: "value",
- name: "鐢佃��",
- nameTextStyle: {
- color: "#FFFFF0",
- fontSize: 12,
- padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
- },
- splitLine: {
- // 缃戞牸绾�
- show: true,
- lineStyle: { //鍒嗗壊绾�
- color: "#FFFFF0",
- width: 1,
- type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
- }
- },
- axisLabel: {
- // 杞存枃瀛�
- color: "#FFFFF0",
- fontSize: 12,
- },
- },
-
- ],
- series: [
- {
- name: 'Direct',
- type: 'bar',
- barWidth: '80%',
- data: [10, 52, 200, 334, 390, 330, 220],
- itemStyle: { color: '#FFFFF0' }
- },
-
- ]
- };
-
- option && myChart.setOption(option);
- }
-
- function zhutu8 () {
- var chartDom = document.getElementById('chart-youshang');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
- axisLine: { lineStyle: { color: '#87CEFA' } },
- axisLabel: { color: '#87CEFA' },
- splitLine: { lineStyle: { color: '#87CEFA', type: 'dashed' } }
- }
- ],
- yAxis: [
- {
- type: "value",
- name: "姘磋��",
- nameTextStyle: {
- color: "#87CEFA",
- fontSize: 12,
- padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
- },
- splitLine: {
- // 缃戞牸绾�
- show: true,
- lineStyle: { //鍒嗗壊绾�
- color: "#87CEFA",
- width: 1,
- type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
- }
- },
- axisLabel: {
- // 杞存枃瀛�
- color: "#87CEFA",
- fontSize: 12,
- },
- },
-
- ],
- series: [
- {
- name: '姘磋��',
- type: 'bar',
- barWidth: '80%',
- data: [10, 52, 200, 334, 390, 330, 220],
- itemStyle: { color: '#87CEFA' }
- },
-
- ]
- };
-
- option && myChart.setOption(option);
- }
-
- window.onload = function () {
- zhutu();
- zhutu2();
- zhutu3();
- zhutu4();
- zhutu5();
- zhutu6();
- zhutu7();
- zhutu8();
- }
-
-</script>
-</html>
\ No newline at end of file
diff --git a/gmms/WebContent/dapingxianshi/siyinxian1.jsp b/gmms/WebContent/dapingxianshi/siyinxian1.jsp
deleted file mode 100644
index d21b4bc..0000000
--- a/gmms/WebContent/dapingxianshi/siyinxian1.jsp
+++ /dev/null
@@ -1,322 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
-<%@page import="builder.Manager"%>
-<%@page import="ng.db.*"%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
-<link rel="stylesheet" href="../js/static/css/element.css">
-<link rel="stylesheet" href="../js/static/css/style.css">
-<script src="../js/static/js/vue.js"></script>
-<script src="../js/mixins.js"></script>
-<script src="../js/echarts.min.js"></script>
-<!-- import JavaScript -->
-<script src="../js/static/js/element.js"></script>
-<script src="../js/static/js/echarts.min.js"></script>
-<title>涓濆嵃绾�</title>
-</head>
-<style>
-body{
-height: 100%;
-width:100%;
-flex-wrap: nowrap;
-}
- .page-scroll {
- height: 100%;
- }
-
- .page-scroll .el-scrollbar__wrap {
- overflow-x: hidden;
- }
-
-.el-table__header
-{
-height:20%;
-
-}
-#app{
-width:100%;
-height:100%;
-}
-#app1{
-width:60%;
-position:absolute;
-left:2%;
-top:3%;
-}
-#youtu{
-height:50%;
-width:30%;
-background-color: aliceblue;
-position:absolute;
-right: 2%;
-top:2%;
-text-align: center;
-line-height: 250px;
-}
-#time{
-height:50%;
-width:30%;
-position:absolute;
-top:50%;
-}
-#har{
-width:100%;
-position:absolute;
-height:2%;
-top:53%;
-background-color: darkgrey;
-}
-#app2{
-width:60%;
-position:absolute;
-left:2%;
-top:62%;
-}
-#chart-wrap {
- width:30%;
- height:40%;
- position:absolute;
- right:2%;
- top:55%;
-}
-#time{
- width:50%;
- height:5%;
- position:absolute;
- left:2%;
- top:35%;
-}
-#time2{
- width:50%;
- height:10%;
- position:absolute;
- left:2%;
- top:42%;
-}
-</style>
-<body>
-<div id='app' style=''>
-<div id='app1'>
-<el-table border
- :data="orderData"
- height='200'
- width='200'
- style="width: 100%;"
- :cell-class-name="tableRowClassName"
- >
- <el-table-column
- prop="name"
- label="璁㈠崟鍙�">
- </el-table-column>
- <el-table-column
- prop="ip"
- label="宸插姞宸ユ暟閲�">
- </el-table-column>
- <el-table-column
- prop="port"
- label="寰呭姞宸ユ暟閲�">
- </el-table-column>
- <el-table-column
- prop="st"
- label="鐩撮�氱巼">
- </el-table-column>
- <el-table-column
- prop="count"
- label="NG鏁伴噺">
- </el-table-column>
- <el-table-column
- prop="energy"
- label="鑳借��">
- </el-table-column>
- </el-table>
- </div>
-<div id='time'>
- <el-header style="margin-top: 3%;height: 3%;">
- <el-date-picker style="float: left;margin-bottom: 0.3%;"
- v-model="selectdate1"
- type="daterange"
- range-separator="鑷�"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡">
- </el-date-picker>
- <el-button @click="selectTimeOrder" type="primary" icon="el-icon-search"
- style="float: left;margin-left: 0.8%;margin-bottom: 0.3%;"
- >鎼滅储
- </el-button>
- </el-header>
-</div>
-<div id='time2'>
- <el-header style="margin-top: 3%;height: 3%;">
- <el-date-picker style="float: left;margin-bottom: 0.3%;"
- v-model="selectdate2"
- type="daterange"
- range-separator="鑷�"
- start-placeholder="鏇存崲鏃ユ湡"
- end-placeholder="寤鸿鏃ユ湡">
- </el-date-picker>
- <el-button @click="selectTimeOrder" type="primary" icon="el-icon-search"
- style="float: left;margin-left: 0.8%;margin-bottom: 0.3%;"
- >鏇存柊
- </el-button>
- </el-header>
-</div>
-<div id='youtu'>
-<img alt="" src="">
-<p>涓濆嵃鍥�</p>
-</div>
-<div id='har'></div>
-<div id='app2' style=''>
-<el-table border
- :data="orderData2"
- height='200'
- width='200'
- style="width: 100%;"
- :cell-class-name="tableRowClassName"
- >
- <el-table-column
- prop="name2"
- label="璁㈠崟鍙�">
- </el-table-column>
- <el-table-column
- prop="ip2"
- label="宸插姞宸ユ暟閲�">
- </el-table-column>
- <el-table-column
- prop="port2"
- label="鐮存崯鏁伴噺">
- </el-table-column>
- <el-table-column
- prop="st2"
- label="鑳借�楁暟">
- </el-table-column>
- <el-table-column
- prop="count2"
- label="鐩撮�氱巼">
- </el-table-column>
-
- </el-table>
- </div>
-</div>
-<div id="chart-wrap">
-</div>
-</body>
-<script type="text/javascript">
-
-
-Vue.prototype.$echarts = echarts
-let app =new Vue({
- el: '#app',
- mixins:[mixin],
- data:{
- orderData:[{
- 'name':'NG20230726',
- 'ip':21,
- 'port':19,
- 'st':"98%",
- 'count':2,
- 'energy':280
- }],
- orderData2:[{
- 'name2':'NG20230726',
- 'ip2':21,
- 'port2':19,
- 'st2':"280",
- 'count2':"98%"
-
- }],
- },
- methods:{
- tableRowClassName({row,column,rowIndex,columnIndex}) {
-
- if (row['st'] == '鏈繛鎺�' && columnIndex==3 ) {
- return 'success-row';
- }else{
- return '';
- }
-
- }
- }, mounted(){
- }
- })
-
-
- //鏌辩姸鍥�
- function zhutu () {
-
-聽 聽 var chartDom = document.getElementById('chart-wrap');
-聽 聽 var myChart = echarts.init(chartDom);
-聽 聽 var option;
-
-聽 聽 option = {
-聽 聽 聽 tooltip: {
-聽 聽 聽 聽 trigger: 'axis',
-聽 聽 聽 聽 axisPointer: {
-聽 聽 聽 聽 聽 type: 'shadow'
-聽 聽 聽 聽 }
-聽 聽 聽 },
-聽 聽 聽 grid: {
-聽 聽 聽 聽 left: '3%',
-聽 聽 聽 聽 right: '4%',
-聽 聽 聽 聽 bottom: '3%',
-聽 聽 聽 聽 containLabel: true
-聽 聽 聽 },
-聽 聽 聽 xAxis: [
-聽 聽 聽 聽 {
-聽 聽 聽 聽 聽 type: 'category',
-聽 聽 聽 聽 聽 data: ['7/1', '7/2', '7/3', '7/4', '7/5', '7/6', '7/7'],
-聽 聽 聽 聽 聽 axisLine: { lineStyle: { color: 'rgb(30, 144, 255)' } },
-聽 聽 聽 聽 聽 axisLabel: { color: 'rgb(30, 144, 255)' },
-聽 聽 聽 聽 聽 splitLine: { lineStyle: { color: 'rgb(30, 144, 255)', type: 'dashed' } }
-聽 聽 聽 聽 }
-聽 聽 聽 ],
-聽 聽 聽 yAxis: [
-聽 聽 聽 聽 {
-聽 聽 聽 聽 聽 type: "value",
-聽 聽 聽 聽 聽 name: "鑳借��",
-聽 聽 聽 聽 聽 nameTextStyle: {
-聽 聽 聽 聽 聽 聽 color: "rgb(30, 144, 255)",
-聽 聽 聽 聽 聽 聽 fontSize: 12,
-聽 聽 聽 聽 聽 聽 padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
-聽 聽 聽 聽 聽 },
-聽 聽 聽 聽 聽 splitLine: {
-聽 聽 聽 聽 聽 聽 // 缃戞牸绾�
-聽 聽 聽 聽 聽 聽 show: false,
-聽 聽 聽 聽 聽 聽 lineStyle: { //鍒嗗壊绾�
-聽 聽 聽 聽 聽 聽 聽 color: "rgb(180, 180, 180)",
-聽 聽 聽 聽 聽 聽 聽 width: 1,
-聽 聽 聽 聽 聽 聽 聽 type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
-聽 聽 聽 聽 聽 聽 }
-聽 聽 聽 聽 聽 },
-聽 聽 聽 聽 聽 axisLabel: {
-聽 聽 聽 聽 聽 聽 // 杞存枃瀛�
-聽 聽 聽 聽 聽 聽 color: "rgb(30, 144, 255)",
-聽 聽 聽 聽 聽 聽 fontSize: 12,
-聽 聽 聽 聽 聽 },
-聽 聽 聽 聽 },
-
-聽 聽 聽 ],
-聽 聽 聽 series: [
-聽 聽 聽 聽 {
-聽 聽 聽 聽 聽 name: '鑳借��',
-聽 聽 聽 聽 聽 type: 'bar',
-聽 聽 聽 聽 聽 barWidth: '80%',
-聽 聽 聽 聽 聽 data: [220, 152, 200, 334, 390, 330, 220],
-聽 聽 聽 聽 聽 itemStyle: { color: 'rgb(180, 180, 180)' }
-聽 聽 聽 聽 },
-
-聽 聽 聽 ]
-聽 聽 };
-
-聽 聽 option && myChart.setOption(option);
-聽 }
- window.onload = function () {
- zhutu();
-
- }
- </script>
-
-
-</html>
\ No newline at end of file
diff --git a/gmms/WebContent/dapingxianshi/tiemotaizu.jsp b/gmms/WebContent/dapingxianshi/tiemotaizu.jsp
deleted file mode 100644
index 00e8fca..0000000
--- a/gmms/WebContent/dapingxianshi/tiemotaizu.jsp
+++ /dev/null
@@ -1,518 +0,0 @@
-<%@page import="ng.db.DBHelper"%>
-<%@ page language="java" contentType="text/html; charset=utf-8"
- pageEncoding="utf-8"%>
-<c:set var="ctx" value="${pageContext.request.contextPath}" />
-<title>璐磋啘鍙扮粍</title>
-
-<link rel="stylesheet" href="../js/bootstrap.min.css">
-<script src="../js/jquery-3.4.1.min.js"></script>
-<script src="../js/popper.min.js"></script>
-<script src="../js/bootstrap.min.js"></script>
-<script src="../js/echarts.min.js"></script>
-
-
-
- <script src="../js/static/js/vue.js"></script>
- <script src="../js/axios.min.js"></script>
- <script src="../js/mixins.js"></script>
-
-
-
-
-<style>
-html, body {
- height: 100%;
- width: 100%;
-}
-
-.table td, .table th {
- font-size: 14px;
- vertical-align: middle;
-}
-
-body {
- background-color: #D5EAFF;
- overflow-x: hidden;
- overflow-y: hidden;
-}
-
-.table {
- margin: 0 auto;
-}
-
-.container-fluid {
- min-height: 100%;
-}
-
-td img {
- transition: all .2s ease-in-out; /* 娣诲姞娓愬彉鏁堟灉 */
-}
-
-td.zoom {
- z-index: 1; /* 瀹氫箟鍙犳斁椤哄簭 */
- position: relative; /* 瀹氫綅鏂瑰紡 */
-}
-
-td.zoom img:hover {
- transform: scale(2.8); /* 鏀惧ぇ鍥剧墖 */
-}
-
-.row {
- margin-top: 20px;
-}
-
-
-</style>
-</head>
-<body>
- <div="container-fluid">
-
-
- <div id="app2">
- <div class="row">
- <div class="col-lg-12">
- <table class="table table-striped table-bordered">
- <thead>
- <tr>
- <th>璁㈠崟鍙�</th>
- <th>浜у搧鏁版嵁鍥剧墖</th>
- <th>宸插姞宸ユ暟閲�</th>
- <th>寰呭姞宸ユ暟閲�</th>
- <th>鐮存崯鏁伴噺</th>
- <th>鐩撮�氱巼</th>
- <th style='width:140px;'>鑰楁潗鏈鏇存柊鏃堕棿</th>
- <th style='width:120px;'>鏇存柊鍛ㄦ湡鏃堕棿</th>
- <th style='width:180px;'>鑰楁潗鏇存崲鍊掕鏃堕棿</th>
- <th>鏇存柊</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="order in orders" :key="order.orderNo">
- <td>{{ order.orderNo }}</td>
- <td>
- <img :src="order.imageSrc" alt="Image" @mouseover="zoomIn($event)"
- @mouseout="zoomOut($event)" style="width: 60%; height: 100px; background-position: 50%;">
- </td>
- <td>{{ order.processedQty }}</td>
- <td>{{ order.pendingQty }}</td>
- <td>{{ order.damagedQty }}</td>
- <td>{{ order.passRate }}</td>
- <td>{{ order.updateTime }}</td>
- <td>{{ order.updateCycle }}</td>
- <td>{{ order.countdown }}</td>
- <td>
- <button class="btn btn-primary" @click="showModal()">鏇存柊</button>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-</div>
-
-
-
- <div class="row">
- <div class="col-lg-6" style="height: 100%;">
- <table class="table table-striped table-bordered">
- <thead>
- <tr>
- <th>璁㈠崟鍙�</th>
- <th>鍔犲伐鐘舵��</th>
- <th>鍔犲伐杩涘害</th>
- <th>浜у搧鍥剧墖</th>
- <th>寤虹珛鏃ユ湡</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="item in orders2" :key="item.orderId">
- <td>{{ item.orderId }}</td>
- <td>{{ item.processStatus }}</td>
- <td>
- <div class="progress">
- <div class="progress-bar" role="progressbar"
- :style="{ width: item.progress + '%' }"
- :aria-valuenow="item.progress" aria-valuemin="0"
- aria-valuemax="100">{{ item.progress }}%</div>
- </div>
- </td>
- <td><img
- style="width: 80%; height: 30px; background-position: 50%;"
- :src="item.deviceImage" alt="Image" @mouseover="zoomIn2($event)"
- @mouseout="zoomOut($event)" /></td>
- <td>{{ item.jianlitime }}</td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="col-lg-6" style="height: 100%;">
- <div class="col-lg-24" >
- <div class="row">
- <div class="col-md-4">
- <label for="start-date" style="font-size: 16px;">璧峰鏃ユ湡</label> <input
- type="date" class="form-control" id="start-date">
- </div>
- <div class="col-md-4">
- <label for="end-date" style="font-size: 16px;">鎴鏃ユ湡</label> <input
- type="date" class="form-control" id="end-date">
- </div>
- <div class="col-md-4">
- <br>
- <button class="btn btn-primary" id="filter-btn"
- style="font-size: 12px;">绛涢��</button>
- </div>
- </div>
- </div>
- <div id="container" style="height: 200%; width: 100%;"></div>
- <div id="container2"
- style="height: 200%; width: 100%; margin-top: 1%;"></div>
- </div>
- </div>
- </div>
-
-
- <!-- <div id="container" ></div> -->
-
-
- </div>
-
-
-
-
- <script>
- Vue.prototype.$http= axios
-
-
-let app2 = new Vue({
- el: '#app2',
- mixins:[mixin],
- data() {
- return {
- orders2: [
-{
- orderId: 'NG2302020201',
- processStatus: '杩涜涓�',
- progress: 70,
- deviceImage: '鏁版嵁鍥�.png',
- jianlitime:"2023-07-01",
- },
- {
- orderId: 'NG2302020202',
- processStatus: '宸插畬鎴�',
- progress: 100,
- deviceImage: '鏁版嵁鍥�.png',
- jianlitime:"2023-07-01",
- },
- {
- orderId: 'NG2302020203',
- processStatus: '鏈紑濮�',
- progress: 0,
- deviceImage: '鏁版嵁鍥�.png',
- jianlitime:"2023-07-01",
- },
- {
- orderId: 'NG2302020204',
- processStatus: '鏈紑濮�',
- progress: 0,
- deviceImage: '鏁版嵁鍥�.png',
- jianlitime:"2023-07-01",
- },
- {
- orderId: 'NG2302020205',
- processStatus: '鏈紑濮�',
- progress: 0,
- deviceImage: '鏁版嵁鍥�.png',
- jianlitime:"2023-07-01",
- },
- {
- orderId: 'NG2302020206',
- processStatus: '鏈紑濮�',
- progress: 0,
- deviceImage: '鏁版嵁鍥�.png',
- jianlitime:"2023-07-01",
- },
- ],
-
- orders: [
- {
- orderNo: 'NG2302020101',
- imageSrc: '鏁版嵁鍥�.png',
- processedQty: 10,
- pendingQty: 5,
- damagedQty: 1,
- passRate: '100%',
- updateTime: '23:44',
- updateCycle: '5',
- countdown: ''
- }
- ]
- };
-
- },
-
-
-
- methods: {
-
- zoomIn(event) {
- event.target.style.transform = 'scale(2.2)';
- },
- zoomOut(event) {
- event.target.style.transform = 'scale(1)';
- },
- zoomIn2(event) {
- event.target.style.transform = 'scale(6.2)';
- },
-
-
-
- startCountdown() {
- setInterval(() => {
- this.orders2.forEach(order => {
- if (order.countdown > 0) {
- order.countdown--;
- } else {
- order.countdown = order.updateCycle * 60;
- }
- });
- }, 1000);
- }
- },
- mounted() {
- this.startCountdown();
-
- let sql="{call AXJ_dapingtiemodingdanchaxun()}"
- let flag=2;
-
- this.loadAjxs('璐磋啘璁㈠崟鍒濆鏌ヨ',sql,flag,"orders")
-
- }
- });
-
-
-
-/* function zoomIn(element) {
- element.classList.add("zoom");
- }
-
- function zoomOut(element) {
- element.classList.remove("zoom");
- } */
-
- var dom = document.getElementById('container');
- var myChart = echarts.init(dom, null, {
- renderer: 'canvas',
- useDirtyRect: false
- });
-
- var dom2 = document.getElementById('container2');
- var myChart2 = echarts.init(dom2, null, {
- renderer: 'canvas',
- useDirtyRect: false
- });
-
-
-
- var data = [{
- date: '2023-07-20',
- waterUsage: 10,
- electricityUsage: 5
- },
- {
- date: '2023-07-21',
- waterUsage: 52,
- electricityUsage: 26
- },
- {
- date: '2023-07-22',
- waterUsage: 200,
- electricityUsage: 100
- },
- {
- date: '2023-07-23',
- waterUsage: 334,
- electricityUsage: 167
- },
- {
- date: '2023-07-24',
- waterUsage: 390,
- electricityUsage: 195
- },
- {
- date: '2023-07-25',
- waterUsage: 330,
- electricityUsage: 165
- },
- {
- date: '2023-07-26',
- waterUsage: 390,
- electricityUsage: 195
- }
-
- ];
-
- var startInput = document.getElementById('start-date');
- var endInput = document.getElementById('end-date');
- var filterBtn = document.getElementById('filter-btn');
-
- function filterData() {
- var filteredData = [];
- var startDate = new Date(startInput.value);
- var endDate = new Date(endInput.value);
-
- data.forEach(function (item) {
- var itemDate = new Date(item.date);
- if (itemDate >= startDate && itemDate <= endDate) {
- filteredData.push(item);
- }
- });
-
- renderChart(filteredData);
- }
-
- filterBtn.addEventListener('click', filterData);
-
- function renderChart(data) {
- var option;
-
- // 绗竴涓煴褰㈠浘锛堟按鑰楋級
- option = {
- title: {
- text: '璐磋啘鍙扮粍姘磋��',
- left: 'center',
- subtext: ''
- },
- toolbox: {
- show: true,
- feature: {
- dataView: {
- show: true,
- readOnly: true
- },
- saveAsImage: {
- show: true
- }
- }
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: ''
- },
- formatter: function (params) {
- var date = params[0].name;
- var waterUsage = params[0].value;
- return date + '<br/>' + '姘磋��: ' + waterUsage + ' m鲁';
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [{
- type: 'category',
- data: data.map(function (item) {
- return item.date;
- }),
- axisTick: {
- alignWithLabel: true
- },
- axisLabel: {
- fontSize: 12
- }
- }],
- yAxis: [{
- type: 'value',
- name: '姘磋��(m鲁)'
- }],
- series: [{
- name: '姘磋��',
- type: 'bar',
- data: data.map(function (item) {
- return item.waterUsage;
- }),
- itemStyle: {
- color: '#00ff00' // 璁剧疆鏌卞舰鍥剧殑棰滆壊涓虹豢鑹�
- }
-
-
- }]
- };
-
- // 绗簩涓煴褰㈠浘锛堢數鑰楋級
- var option2 = {
- title: {
- text: '璐磋啘鍙扮粍鐢佃��',
- left: 'center',
- subtext: ''
- },
- toolbox: {
- show: true,
- feature: {
- dataView: {
- show: true,
- readOnly: true
-
- },
- saveAsImage: {
- show: true
- }
- }
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: ''
- },
- formatter: function (params) {
- var date = params[0].name;
- var electricityUsage = params[0].value;
- return date + '<br/>' + '鐢佃��: ' + electricityUsage + ' kWh';
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [{
- type: 'category',
- data: data.map(function (item) {
- return item.date;
- }),
- axisTick: {
- alignWithLabel: true
- },
- axisLabel: {
- fontSize: 12
- }
- }],
- yAxis: [{
- type: 'value',
- name: '鐢佃��(kWh)'
- }],
- series: [{
- name: '鐢佃��',
- type: 'bar',
- data: data.map(function (item) {
- return item.electricityUsage;
- })
- }]
- };
-
- myChart.setOption(option);
- myChart2.setOption(option2);
- }
- startInput.value = data[0].date;
- endInput.value = data[data.length - 1].date;
- renderChart(data);
-
-
-
-
- </script>
-</body>
-</html>
\ No newline at end of file
diff --git a/gmms/WebContent/dapingxianshi/xiacijiance1.jsp b/gmms/WebContent/dapingxianshi/xiacijiance1.jsp
deleted file mode 100644
index bb5664a..0000000
--- a/gmms/WebContent/dapingxianshi/xiacijiance1.jsp
+++ /dev/null
@@ -1,307 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
-<%@page import="builder.Manager"%>
-<%@page import="ng.db.*"%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
-<link rel="stylesheet" href="../js/static/css/element.css">
-<link rel="stylesheet" href="../js/static/css/style.css">
-<script src="../js/static/js/vue.js"></script>
-<script src="../js/mixins.js"></script>
-<script src="../js/echarts.min.js"></script>
-<!-- import JavaScript -->
-<script src="../js/static/js/element.js"></script>
-<script src="../js/static/js/echarts.min.js"></script>
-<title>鐟曠柕绾�</title>
-</head>
-<style>
-body{
-height: 100%;
-width:100%;
-flex-wrap: nowrap;
-}
- .page-scroll {
- height: 100%;
- }
-
- .page-scroll .el-scrollbar__wrap {
- overflow-x: hidden;
- }
-
-.el-table__header
-{
-height:20%;
-
-}
-#app{
-width:100%;
-height:100%;
-}
-#app1{
-width:60%;
-position:absolute;
-left:2%;
-top:3%;
-}
-#youtu{
-height:50%;
-width:30%;
-background-color: aliceblue;
-position:absolute;
-right: 2%;
-top:2%;
-text-align: center;
-line-height: 250px;
-}
-#time{
-height:50%;
-width:30%;
-position:absolute;
-top:50%;
-}
-#har{
-width:100%;
-position:absolute;
-height:2%;
-top:53%;
-background-color: darkgrey;
-}
-#app2{
-width:60%;
-position:absolute;
-left:2%;
-top:62%;
-}
-#chart-wrap {
- width:30%;
- height:40%;
- position:absolute;
- right:2%;
- top:55%;
-}
-#time{
- width:50%;
- height:5%;
- position:absolute;
- left:2%;
- top:35%;
-}
-#time2{
- width:50%;
- height:10%;
- position:absolute;
- left:2%;
- top:40%;
-}
-</style>
-<body>
-<div id='app' style=''>
-<div id='app1'>
-<el-table border
- :data="orderData"
- height='200'
- width='200'
- style="width: 100%;"
- >
- <el-table-column
- prop="name"
- label="璁㈠崟鍙�">
- </el-table-column>
- <el-table-column
- prop="ip"
- label="宸插姞宸ユ暟閲�">
- </el-table-column>
- <el-table-column
- prop="port"
- label="寰呭姞宸ユ暟閲�">
- </el-table-column>
- <el-table-column
- prop="st"
- label="鐩撮�氱巼">
- </el-table-column>
- <el-table-column
- prop="count"
- label="NG鏁伴噺">
- </el-table-column>
- <el-table-column
- prop="energy"
- label="鑳借��">
- </el-table-column>
- </el-table>
- </div>
- <div id='time'>
- <el-header style="margin-top: 3%;height: 3%;">
- <el-date-picker style="float: left;margin-bottom: 0.3%;"
- v-model="selectdate2"
- type="daterange"
- range-separator="鑷�"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡">
- </el-date-picker>
- <el-button @click="selectTimeOrder" type="primary" icon="el-icon-search"
- style="float: left;margin-left: 0.8%;margin-bottom: 0.3%;"
- >鎼滅储
- </el-button>
- </el-header>
-</div>
-
-<div id='youtu'>
-<img alt="" src="">
-<p>浜у搧鍥�</p>
-</div>
-<div id='har'></div>
-<div id='app2' style=''>
-<el-table border
- :data="orderData2"
- height='200'
- width='200'
- style="width: 100%;"
- >
- <el-table-column
- prop="name2"
- label="鏃ユ湡">
- </el-table-column>
- <el-table-column
- prop="ip2"
- label="宸插姞宸ユ暟閲�">
- </el-table-column>
- <el-table-column
- prop="port2"
- label="鐮存崯鏁伴噺">
- </el-table-column>
- <el-table-column
- prop="st2"
- label="鑳借�楁暟">
- </el-table-column>
- <el-table-column
- prop="count2"
- label="鐩撮�氱巼">
- </el-table-column>
-
- </el-table>
- </div>
-</div>
-<div id="chart-wrap">
-</div>
-</body>
-<script type="text/javascript">
-
-
-
- Vue.prototype.$echarts = echarts
- let app =new Vue({
- el: '#app',
- mixins:[mixin],
- data:{
- orderData:[{
- 'name':'NG20230726',
- 'ip':21,
- 'port':19,
- 'st':"98%",
- 'count':2,
- 'energy':280
- }],
- orderData2:[{
- 'name2':'NG20230726',
- 'ip2':21,
- 'port2':19,
- 'st2':"280",
- 'count2':"98%"
-
- }],
- },
- methods:{
- tableRowClassName({row,column,rowIndex,columnIndex}) {
-
- if (row['st'] == '鏈繛鎺�' && columnIndex==3 ) {
- return 'success-row';
- }else{
- return '';
- }
-
- }
- }, mounted(){
- }
- })
-
-
- //鏌辩姸鍥�
- function zhutu () {
-
-聽 聽 var chartDom = document.getElementById('chart-wrap');
-聽 聽 var myChart = echarts.init(chartDom);
-聽 聽 var option;
-
-聽 聽 option = {
-聽 聽 聽 tooltip: {
-聽 聽 聽 聽 trigger: 'axis',
-聽 聽 聽 聽 axisPointer: {
-聽 聽 聽 聽 聽 type: 'shadow'
-聽 聽 聽 聽 }
-聽 聽 聽 },
-聽 聽 聽 grid: {
-聽 聽 聽 聽 left: '3%',
-聽 聽 聽 聽 right: '4%',
-聽 聽 聽 聽 bottom: '3%',
-聽 聽 聽 聽 containLabel: true
-聽 聽 聽 },
-聽 聽 聽 xAxis: [
-聽 聽 聽 聽 {
-聽 聽 聽 聽 聽 type: 'category',
-聽 聽 聽 聽 聽 data: ['7/1', '7/2', '7/3', '7/4', '7/5', '7/6', '7/7'],
-聽 聽 聽 聽 聽 axisLine: { lineStyle: { color: 'rgb(30, 144, 255)' } },
-聽 聽 聽 聽 聽 axisLabel: { color: 'rgb(30, 144, 255)' },
-聽 聽 聽 聽 聽 splitLine: { lineStyle: { color: 'rgb(30, 144, 255)', type: 'dashed' } }
-聽 聽 聽 聽 }
-聽 聽 聽 ],
-聽 聽 聽 yAxis: [
-聽 聽 聽 聽 {
-聽 聽 聽 聽 聽 type: "value",
-聽 聽 聽 聽 聽 name: "鑳借��",
-聽 聽 聽 聽 聽 nameTextStyle: {
-聽 聽 聽 聽 聽 聽 color: "rgb(30, 144, 255)",
-聽 聽 聽 聽 聽 聽 fontSize: 12,
-聽 聽 聽 聽 聽 聽 padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
-聽 聽 聽 聽 聽 },
-聽 聽 聽 聽 聽 splitLine: {
-聽 聽 聽 聽 聽 聽 // 缃戞牸绾�
-聽 聽 聽 聽 聽 聽 show: false,
-聽 聽 聽 聽 聽 聽 lineStyle: { //鍒嗗壊绾�
-聽 聽 聽 聽 聽 聽 聽 color: "rgb(180, 180, 180)",
-聽 聽 聽 聽 聽 聽 聽 width: 1,
-聽 聽 聽 聽 聽 聽 聽 type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
-聽 聽 聽 聽 聽 聽 }
-聽 聽 聽 聽 聽 },
-聽 聽 聽 聽 聽 axisLabel: {
-聽 聽 聽 聽 聽 聽 // 杞存枃瀛�
-聽 聽 聽 聽 聽 聽 color: "rgb(30, 144, 255)",
-聽 聽 聽 聽 聽 聽 fontSize: 12,
-聽 聽 聽 聽 聽 },
-聽 聽 聽 聽 },
-
-聽 聽 聽 ],
-聽 聽 聽 series: [
-聽 聽 聽 聽 {
-聽 聽 聽 聽 聽 name: '鑳借��',
-聽 聽 聽 聽 聽 type: 'bar',
-聽 聽 聽 聽 聽 barWidth: '80%',
-聽 聽 聽 聽 聽 data: [220, 152, 200, 334, 390, 330, 220],
-聽 聽 聽 聽 聽 itemStyle: { color: 'rgb(180, 180, 180)' }
-聽 聽 聽 聽 },
-
-聽 聽 聽 ]
-聽 聽 };
-
-聽 聽 option && myChart.setOption(option);
-聽 }
- window.onload = function () {
- zhutu();
-
- }
- </script>
-
-
-</html>
\ No newline at end of file
diff --git a/gmms/WebContent/dapingxianshi/xiapianduiduo.jsp b/gmms/WebContent/dapingxianshi/xiapianduiduo.jsp
deleted file mode 100644
index c4aea70..0000000
--- a/gmms/WebContent/dapingxianshi/xiapianduiduo.jsp
+++ /dev/null
@@ -1,424 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>涓嬬墖鍫嗗灈</title>
-<script src="../js/jquery-3.4.1.min.js"></script>
-<script src="../js/echarts.min.js"></script>
-</head>
-<style>
- * {
- margin: 0px;
- padding: 0px;
-
-
- }
-
- body,
- html {
- width: 100%;
- height: 100%;
- background-color: #00008B;
-
- }
-
- #wai {
- width: 100%;
- height: 100%;
- display: flex;
- flex-wrap: wrap;
- position: relative;
- margin: 0px;
- padding: 0px;
- justify-content: center;
- }
-
- #wai_shang {
- width: 100%;
- height: 50%;
- display: flex;
- flex-wrap: nowrap;
- }
-
- #wai_xia {
- width: 100%;
- height: 50%;
- display: flex;
- flex-wrap: nowrap;
- }
-
- .shang_zuo {
- height: 100%;
- width: 50%;
- }
-
- .shang_you {
- height: 100%;
- width: 50%;
- }
-
- .centdv_time {
- color: white;
- width: 70%;
- height: 10%;
- position: relative;
- }
-
- .centdv_time input {
- height: 25px;
- }
-
- .btn {
- text-align: center;
- width: 100px;
- height: 29px;
- /* outline: none; */
- border: none;
- background-color: white;
- box-shadow: 15 8px 16px 15 rgba(0, 0, 0, 0), 15 6px 5px 15 rgba(0, 0, 0, 0.19);
- }
-
- .msgtab {
- width: 100%;
- height: 90%;
- /* border: 1px solid white; */
- padding: 5px;
- }
-
- .msgtab1 {
- width: 100%;
- height: 90%;
- /* border: 1px solid white; */
- padding: 5px;
- }
-
- .one1,
- .one1 input {
- background-color: #F0FFFF;
- }
-
- .double1,
- .double1 input {
- background-color: #e1f0fd;
- }
-
- .msgtab tr th {
- color: white;
- white-space: nowrap;
- text-align: center;
- height: 20px;
- line-height: 20px;
- overflow: hidden;
- }
-
- .msgtab tr td {
- white-space: nowrap;
- text-align: center;
- height: 20px;
- line-height: 20px;
- overflow: hidden;
- }
-
- .msgtab1 tr th {
- color: white;
- white-space: nowrap;
- text-align: center;
- height: 20px;
- line-height: 20px;
- overflow: hidden;
- }
-
- .msgtab1 tr td {
- white-space: nowrap;
- text-align: center;
- height: 20px;
- line-height: 20px;
- overflow: hidden;
- }
-
- .xia_zuo {
- height: 100%;
- width: 50%;
- }
-
- .xia_you {
- height: 100%;
- width: 50%;
- }
-
- #chart-wrap {
- width: 90%;
- height: 80%;
- }
-
- .title {
- color: white;
- height: 10%;
- font-size: 18px;
- }
-
- .centdv_time {
- font-size: 18px;
- }
-
- #tuopan {
- width: 80%;
- height: 90%;
- background-color: white;
- border-radius: 25px 25px 0 0;
- margin: 0 auto;
- transform: rotate(180deg);
- }
-
- .tuopan_jindu {
- border-radius: 0 0 25px 25px;
- width: 100%;
- height: 80%;
- background-color: #87CEFA;
- transform: rotate(180deg);
- }
-
- .xptile {
- color: white;
- height: 10%;
- font-size: 18px;
- text-align: center;
- }
-
- .jindu {
- color: black;
- width: 150px;
- height: 5%;
- font-size: 18px;
- position: relative;
- top: -50%;
- left: 42%
- }
-</style>
-<body>
- <div id="wai">
- <div id="wai_shang">
- <div class="shang_zuo">
- <div class="title">
- 褰撳墠鐢熶骇淇℃伅锛�
-
- 绛夊緟鎵樼洏鏁帮細
-
- 宸插畬宸ユ墭鐩樻暟锛�
-
- </div>
- <table class="msgtab">
- <thead>
- <tr>
- <th>璁㈠崟鍙�</th>
- <th>浜у搧淇℃伅</th>
- <th>宸插姞宸ユ暟</th>
- <th>寰呭姞宸ユ暟</th>
- <th>鐮存崯鏁�</th>
- </tr>
- </thead>
- <tbody>
- <tr class="one1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr class="double1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr class="one1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr class="double1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr class="one1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr class="double1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="shang_you">
- <div class="centdv_time">
- 鎬讳骇閲忔煡璇細
- <input type="date">~<input type="date">
-
- <button class="btn" type="button">鏌ヨ</button>
- </div>
- <table class="msgtab1">
- <thead>
- <tr>
- <th>璁㈠崟鍙�</th>
- <th>浜у搧淇℃伅</th>
- <th>宸插姞宸ユ暟</th>
- <th>寰呭姞宸ユ暟</th>
- <th>鐮存崯鏁�</th>
- </tr>
- </thead>
- <tbody>
- <tr class="one1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr class="double1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr class="one1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr class="double1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr class="one1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr class="double1">
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- </div>
- <div id="wai_xia">
- <div class="xia_zuo">
- <div id="chart-wrap"></div>
- </div>
- <div class="xia_you">
-
- <div id="tuopan">
- <div class="tuopan_jindu"></div>
- </div>
-
- <div class="xptile">褰撳墠涓嬬墖杩涘害</div>
- <div class="jindu">鏁伴噺锛�40/50</div>
-
- </div>
- </div>
- </div>
-</body>
-<script>
- function zhutu () {
-
- var chartDom = document.getElementById('chart-wrap');
- var myChart = echarts.init(chartDom);
- var option;
-
- option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
- axisLine: { lineStyle: { color: '#FFFFF0' } },
- axisLabel: { color: '#FFFFF0' },
- splitLine: { lineStyle: { color: '#FFFFF0', type: 'dashed' } }
- }
- ],
- yAxis: [
- {
- type: "value",
- name: "鐢佃��",
- nameTextStyle: {
- color: "#FFFFF0",
- fontSize: 12,
- padding: [0, 0, 0, -30], //name鏂囧瓧浣嶇疆 瀵瑰簲 涓婂彸涓嬪乏
- },
- splitLine: {
- // 缃戞牸绾�
- show: true,
- lineStyle: { //鍒嗗壊绾�
- color: "#FFFFF0",
- width: 1,
- type: "dashed" //dotted锛氳櫄绾� solid:瀹炵嚎
- }
- },
- axisLabel: {
- // 杞存枃瀛�
- color: "#FFFFF0",
- fontSize: 12,
- },
- },
-
- ],
- series: [
- {
- name: '鐢佃��',
- type: 'bar',
- barWidth: '80%',
- data: [10, 52, 200, 334, 390, 330, 220],
- itemStyle: { color: '#FFFFF0' }
- },
-
- ]
- };
-
- option && myChart.setOption(option);
- }
-
- window.onload = function () {
- zhutu();
- }
-</script>
-</html>
\ No newline at end of file
diff --git a/gmms/WebContent/img/cangchu.png b/gmms/WebContent/img/cangchu.png
new file mode 100644
index 0000000..0d8900d
--- /dev/null
+++ b/gmms/WebContent/img/cangchu.png
Binary files differ
diff --git "a/gmms/WebContent/img/\345\244\247\345\261\217.png" "b/gmms/WebContent/img/\345\244\247\345\261\217.png"
new file mode 100644
index 0000000..78a2039
--- /dev/null
+++ "b/gmms/WebContent/img/\345\244\247\345\261\217.png"
Binary files differ
diff --git a/gmms/WebContent/js.rar b/gmms/WebContent/js.rar
new file mode 100644
index 0000000..70e6f47
--- /dev/null
+++ b/gmms/WebContent/js.rar
Binary files differ
diff --git a/gmms/WebContent/js/bootstrap.min.css b/gmms/WebContent/js/bootstrap.min.css
deleted file mode 100644
index 92e3fe8..0000000
--- a/gmms/WebContent/js/bootstrap.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
-/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/gmms/WebContent/js/bootstrap.min.js b/gmms/WebContent/js/bootstrap.min.js
deleted file mode 100644
index c4c0d1f..0000000
--- a/gmms/WebContent/js/bootstrap.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return o}g=g&&g.hasOwnProperty("default")?g.default:g,u=u&&u.hasOwnProperty("default")?u.default:u;var e="transitionend";function n(t){var e=this,n=!1;return g(this).one(_.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||_.triggerTransitionEnd(e)},t),this}var _={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=g(t).css("transition-duration"),n=g(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){g(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&_.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?_.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null}};g.fn.emulateTransitionEnd=n,g.event.special[_.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(g(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var o="alert",r="bs.alert",a="."+r,c=g.fn[o],h={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",d="fade",m="show",p=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){g.removeData(this._element,r),this._element=null},t._getRootElement=function(t){var e=_.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=g(t).closest("."+f)[0]),n},t._triggerCloseEvent=function(t){var e=g.Event(h.CLOSE);return g(t).trigger(e),e},t._removeElement=function(e){var n=this;if(g(e).removeClass(m),g(e).hasClass(d)){var t=_.getTransitionDurationFromElement(e);g(e).one(_.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){g(t).detach().trigger(h.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(r);e||(e=new i(this),t.data(r,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();g(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),g.fn[o]=p._jQueryInterface,g.fn[o].Constructor=p,g.fn[o].noConflict=function(){return g.fn[o]=c,p._jQueryInterface};var v="button",y="bs.button",E="."+y,C=".data-api",T=g.fn[v],S="active",b="btn",I="focus",D='[data-toggle^="button"]',w='[data-toggle="buttons"]',A='input:not([type="hidden"])',N=".active",O=".btn",k={CLICK_DATA_API:"click"+E+C,FOCUS_BLUR_DATA_API:"focus"+E+C+" blur"+E+C},P=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(w)[0];if(n){var i=this._element.querySelector(A);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(S))t=!1;else{var o=n.querySelector(N);o&&g(o).removeClass(S)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(S),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(S)),t&&g(this._element).toggleClass(S)},t.dispose=function(){g.removeData(this._element,y),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(y);t||(t=new n(this),g(this).data(y,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),n}();g(document).on(k.CLICK_DATA_API,D,function(t){t.preventDefault();var e=t.target;g(e).hasClass(b)||(e=g(e).closest(O)),P._jQueryInterface.call(g(e),"toggle")}).on(k.FOCUS_BLUR_DATA_API,D,function(t){var e=g(t.target).closest(O)[0];g(e).toggleClass(I,/^focus(in)?$/.test(t.type))}),g.fn[v]=P._jQueryInterface,g.fn[v].Constructor=P,g.fn[v].noConflict=function(){return g.fn[v]=T,P._jQueryInterface};var L="carousel",j="bs.carousel",H="."+j,R=".data-api",x=g.fn[L],F={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},W="next",q="prev",M="left",K="right",Q={SLIDE:"slide"+H,SLID:"slid"+H,KEYDOWN:"keydown"+H,MOUSEENTER:"mouseenter"+H,MOUSELEAVE:"mouseleave"+H,TOUCHSTART:"touchstart"+H,TOUCHMOVE:"touchmove"+H,TOUCHEND:"touchend"+H,POINTERDOWN:"pointerdown"+H,POINTERUP:"pointerup"+H,DRAG_START:"dragstart"+H,LOAD_DATA_API:"load"+H+R,CLICK_DATA_API:"click"+H+R},B="carousel",V="active",Y="slide",z="carousel-item-right",X="carousel-item-left",$="carousel-item-next",G="carousel-item-prev",J="pointer-event",Z=".active",tt=".active.carousel-item",et=".carousel-item",nt=".carousel-item img",it=".carousel-item-next, .carousel-item-prev",ot=".carousel-indicators",rt="[data-slide], [data-slide-to]",st='[data-ride="carousel"]',at={TOUCH:"touch",PEN:"pen"},lt=function(){function r(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(ot),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(W)},t.nextWhenVisible=function(){!document.hidden&&g(this._element).is(":visible")&&"hidden"!==g(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(q)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(it)&&(_.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(tt);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?W:q;this._slide(i,this._items[t])}},t.dispose=function(){g(this._element).off(H),g.removeData(this._element,j),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},F,t),_.typeCheckConfig(L,t,U),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&g(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&g(this._element).on(Q.MOUSEENTER,function(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]?n.touchStartX=t.originalEvent.clientX:n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};g(this._element.querySelectorAll(nt)).on(Q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(g(this._element).on(Q.POINTERDOWN,function(t){return e(t)}),g(this._element).on(Q.POINTERUP,function(t){return i(t)}),this._element.classList.add(J)):(g(this._element).on(Q.TOUCHSTART,function(t){return e(t)}),g(this._element).on(Q.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),g(this._element).on(Q.TOUCHEND,function(t){return i(t)}))}},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(et)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===W,i=t===q,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===q?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(tt)),o=g.Event(Q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return g(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(Z));g(e).removeClass(V);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&g(n).addClass(V)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector(tt),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===W?(n=X,i=$,M):(n=z,i=G,K),l&&g(l).hasClass(V))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=g.Event(Q.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(g(this._element).hasClass(Y)){g(l).addClass(i),_.reflow(l),g(s).addClass(n),g(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,f):this._config.defaultInterval||this._config.interval;var d=_.getTransitionDurationFromElement(s);g(s).one(_.TRANSITION_END,function(){g(l).removeClass(n+" "+i).addClass(V),g(s).removeClass(V+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return g(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else g(s).removeClass(V),g(l).addClass(V),this._isSliding=!1,g(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=g(this).data(j),e=l({},F,g(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),g(this).data(j,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&e.ride&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=_.getSelectorFromElement(this);if(e){var n=g(e)[0];if(n&&g(n).hasClass(B)){var i=l({},g(n).data(),g(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(g(n),i),o&&g(n).data(j).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return F}}]),r}();g(document).on(Q.CLICK_DATA_API,rt,lt._dataApiClickHandler),g(window).on(Q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(st)),e=0,n=t.length;e<n;e++){var i=g(t[e]);lt._jQueryInterface.call(i,i.data())}}),g.fn[L]=lt._jQueryInterface,g.fn[L].Constructor=lt,g.fn[L].noConflict=function(){return g.fn[L]=x,lt._jQueryInterface};var ct="collapse",ht="bs.collapse",ut="."+ht,ft=g.fn[ct],dt={toggle:!0,parent:""},gt={toggle:"boolean",parent:"(string|element)"},_t={SHOW:"show"+ut,SHOWN:"shown"+ut,HIDE:"hide"+ut,HIDDEN:"hidden"+ut,CLICK_DATA_API:"click"+ut+".data-api"},mt="show",pt="collapse",vt="collapsing",yt="collapsed",Et="width",Ct="height",Tt=".show, .collapsing",St='[data-toggle="collapse"]',bt=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(St)),i=0,o=n.length;i<o;i++){var r=n[i],s=_.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){g(this._element).hasClass(mt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!g(this._element).hasClass(mt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Tt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(pt)})).length&&(t=null),!(t&&(e=g(t).not(this._selector).data(ht))&&e._isTransitioning))){var i=g.Event(_t.SHOW);if(g(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(g(t).not(this._selector),"hide"),e||g(t).data(ht,null));var o=this._getDimension();g(this._element).removeClass(pt).addClass(vt),this._element.style[o]=0,this._triggerArray.length&&g(this._triggerArray).removeClass(yt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){g(n._element).removeClass(vt).addClass(pt).addClass(mt),n._element.style[o]="",n.setTransitioning(!1),g(n._element).trigger(_t.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&g(this._element).hasClass(mt)){var e=g.Event(_t.HIDE);if(g(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",_.reflow(this._element),g(this._element).addClass(vt).removeClass(pt).removeClass(mt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=_.getSelectorFromElement(r);if(null!==s)g([].slice.call(document.querySelectorAll(s))).hasClass(mt)||g(r).addClass(yt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t.setTransitioning(!1),g(t._element).removeClass(vt).addClass(pt).trigger(_t.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){g.removeData(this._element,ht),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},dt,t)).toggle=Boolean(t.toggle),_.typeCheckConfig(ct,t,gt),t},t._getDimension=function(){return g(this._element).hasClass(Et)?Et:Ct},t._getParent=function(){var t,n=this;_.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return g(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=g(t).hasClass(mt);e.length&&g(e).toggleClass(yt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=_.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=g(this),e=t.data(ht),n=l({},dt,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ht,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return dt}}]),a}();g(document).on(_t.CLICK_DATA_API,St,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=g(this),e=_.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));g(i).each(function(){var t=g(this),e=t.data(ht)?"toggle":n.data();bt._jQueryInterface.call(t,e)})}),g.fn[ct]=bt._jQueryInterface,g.fn[ct].Constructor=bt,g.fn[ct].noConflict=function(){return g.fn[ct]=ft,bt._jQueryInterface};var It="dropdown",Dt="bs.dropdown",wt="."+Dt,At=".data-api",Nt=g.fn[It],Ot=new RegExp("38|40|27"),kt={HIDE:"hide"+wt,HIDDEN:"hidden"+wt,SHOW:"show"+wt,SHOWN:"shown"+wt,CLICK:"click"+wt,CLICK_DATA_API:"click"+wt+At,KEYDOWN_DATA_API:"keydown"+wt+At,KEYUP_DATA_API:"keyup"+wt+At},Pt="disabled",Lt="show",jt="dropup",Ht="dropright",Rt="dropleft",xt="dropdown-menu-right",Ft="position-static",Ut='[data-toggle="dropdown"]',Wt=".dropdown form",qt=".dropdown-menu",Mt=".navbar-nav",Kt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Qt="top-start",Bt="top-end",Vt="bottom-start",Yt="bottom-end",zt="right-start",Xt="left-start",$t={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Gt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Jt=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)){var t=c._getParentFromElement(this._element),e=g(this._menu).hasClass(Lt);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=g.Event(kt.SHOW,n);if(g(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof u)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=t:_.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&g(t).addClass(Ft),this._popper=new u(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===g(t).closest(Mt).length&&g(document.body).children().on("mouseover",null,g.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),g(this._menu).toggleClass(Lt),g(t).toggleClass(Lt).trigger(g.Event(kt.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||g(this._element).hasClass(Pt)||g(this._menu).hasClass(Lt))){var t={relatedTarget:this._element},e=g.Event(kt.SHOW,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Event(kt.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)&&g(this._menu).hasClass(Lt)){var t={relatedTarget:this._element},e=g.Event(kt.HIDE,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Event(kt.HIDDEN,t)))}},t.dispose=function(){g.removeData(this._element,Dt),g(this._element).off(wt),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;g(this._element).on(kt.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,g(this._element).data(),t),_.typeCheckConfig(It,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(qt))}return this._menu},t._getPlacement=function(){var t=g(this._element.parentNode),e=Vt;return t.hasClass(jt)?(e=Qt,g(this._menu).hasClass(xt)&&(e=Bt)):t.hasClass(Ht)?e=zt:t.hasClass(Rt)?e=Xt:g(this._menu).hasClass(xt)&&(e=Yt),e},t._detectNavbar=function(){return 0<g(this._element).closest(".navbar").length},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),t},c._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(Dt);if(t||(t=new c(this,"object"==typeof e?e:null),g(this).data(Dt,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(Ut)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=g(e[n]).data(Dt),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(g(o).hasClass(Lt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&g.contains(o,t.target))){var l=g.Event(kt.HIDE,s);g(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),e[n].setAttribute("aria-expanded","false"),g(a).removeClass(Lt),g(o).removeClass(Lt).trigger(g.Event(kt.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=_.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||g(t.target).closest(qt).length)):Ot.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!g(this).hasClass(Pt))){var e=c._getParentFromElement(this),n=g(e).hasClass(Lt);if(n&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Kt));if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(Ut);g(r).trigger("focus")}g(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return $t}},{key:"DefaultType",get:function(){return Gt}}]),c}();g(document).on(kt.KEYDOWN_DATA_API,Ut,Jt._dataApiKeydownHandler).on(kt.KEYDOWN_DATA_API,qt,Jt._dataApiKeydownHandler).on(kt.CLICK_DATA_API+" "+kt.KEYUP_DATA_API,Jt._clearMenus).on(kt.CLICK_DATA_API,Ut,function(t){t.preventDefault(),t.stopPropagation(),Jt._jQueryInterface.call(g(this),"toggle")}).on(kt.CLICK_DATA_API,Wt,function(t){t.stopPropagation()}),g.fn[It]=Jt._jQueryInterface,g.fn[It].Constructor=Jt,g.fn[It].noConflict=function(){return g.fn[It]=Nt,Jt._jQueryInterface};var Zt="modal",te="bs.modal",ee="."+te,ne=g.fn[Zt],ie={backdrop:!0,keyboard:!0,focus:!0,show:!0},oe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},re={HIDE:"hide"+ee,HIDDEN:"hidden"+ee,SHOW:"show"+ee,SHOWN:"shown"+ee,FOCUSIN:"focusin"+ee,RESIZE:"resize"+ee,CLICK_DISMISS:"click.dismiss"+ee,KEYDOWN_DISMISS:"keydown.dismiss"+ee,MOUSEUP_DISMISS:"mouseup.dismiss"+ee,MOUSEDOWN_DISMISS:"mousedown.dismiss"+ee,CLICK_DATA_API:"click"+ee+".data-api"},se="modal-dialog-scrollable",ae="modal-scrollbar-measure",le="modal-backdrop",ce="modal-open",he="fade",ue="show",fe=".modal-dialog",de=".modal-body",ge='[data-toggle="modal"]',_e='[data-dismiss="modal"]',me=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",pe=".sticky-top",ve=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(fe),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){g(this._element).hasClass(he)&&(this._isTransitioning=!0);var n=g.Event(re.SHOW,{relatedTarget:t});g(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),g(this._element).on(re.CLICK_DISMISS,_e,function(t){return e.hide(t)}),g(this._dialog).on(re.MOUSEDOWN_DISMISS,function(){g(e._element).one(re.MOUSEUP_DISMISS,function(t){g(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=g.Event(re.HIDE);if(g(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=g(this._element).hasClass(he);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),g(document).off(re.FOCUSIN),g(this._element).removeClass(ue),g(this._element).off(re.CLICK_DISMISS),g(this._dialog).off(re.MOUSEDOWN_DISMISS),i){var o=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return g(t).off(ee)}),g(document).off(re.FOCUSIN),g.removeData(this._element,te),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},ie,t),_.typeCheckConfig(Zt,t,oe),t},t._showElement=function(t){var e=this,n=g(this._element).hasClass(he);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),g(this._dialog).hasClass(se)?this._dialog.querySelector(de).scrollTop=0:this._element.scrollTop=0,n&&_.reflow(this._element),g(this._element).addClass(ue),this._config.focus&&this._enforceFocus();var i=g.Event(re.SHOWN,{relatedTarget:t}),o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,g(e._element).trigger(i)};if(n){var r=_.getTransitionDurationFromElement(this._dialog);g(this._dialog).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()},t._enforceFocus=function(){var e=this;g(document).off(re.FOCUSIN).on(re.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===g(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?g(this._element).on(re.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||g(this._element).off(re.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?g(window).on(re.RESIZE,function(t){return e.handleUpdate(t)}):g(window).off(re.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){g(document.body).removeClass(ce),t._resetAdjustments(),t._resetScrollbar(),g(t._element).trigger(re.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(g(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=g(this._element).hasClass(he)?he:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=le,n&&this._backdrop.classList.add(n),g(this._backdrop).appendTo(document.body),g(this._element).on(re.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&_.reflow(this._backdrop),g(this._backdrop).addClass(ue),!t)return;if(!n)return void t();var i=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){g(this._backdrop).removeClass(ue);var o=function(){e._removeBackdrop(),t&&t()};if(g(this._element).hasClass(he)){var r=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(me)),e=[].slice.call(document.querySelectorAll(pe));g(t).each(function(t,e){var n=e.style.paddingRight,i=g(e).css("padding-right");g(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),g(e).each(function(t,e){var n=e.style.marginRight,i=g(e).css("margin-right");g(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=g(document.body).css("padding-right");g(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}g(document.body).addClass(ce)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(me));g(t).each(function(t,e){var n=g(e).data("padding-right");g(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+pe));g(e).each(function(t,e){var n=g(e).data("margin-right");"undefined"!=typeof n&&g(e).css("margin-right",n).removeData("margin-right")});var n=g(document.body).data("padding-right");g(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=ae,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=g(this).data(te),e=l({},ie,g(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),g(this).data(te,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return ie}}]),o}();g(document).on(re.CLICK_DATA_API,ge,function(t){var e,n=this,i=_.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=g(e).data(te)?"toggle":l({},g(e).data(),g(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=g(e).one(re.SHOW,function(t){t.isDefaultPrevented()||r.one(re.HIDDEN,function(){g(n).is(":visible")&&n.focus()})});ve._jQueryInterface.call(g(e),o,this)}),g.fn[Zt]=ve._jQueryInterface,g.fn[Zt].Constructor=ve,g.fn[Zt].noConflict=function(){return g.fn[Zt]=ne,ve._jQueryInterface};var ye=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Ee={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Ce=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Te=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function Se(t,s,e){if(0===t.length)return t;if(e&&"function"==typeof e)return e(t);for(var n=(new window.DOMParser).parseFromString(t,"text/html"),a=Object.keys(s),l=[].slice.call(n.body.querySelectorAll("*")),i=function(t,e){var n=l[t],i=n.nodeName.toLowerCase();if(-1===a.indexOf(n.nodeName.toLowerCase()))return n.parentNode.removeChild(n),"continue";var o=[].slice.call(n.attributes),r=[].concat(s["*"]||[],s[i]||[]);o.forEach(function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===ye.indexOf(n)||Boolean(t.nodeValue.match(Ce)||t.nodeValue.match(Te));for(var i=e.filter(function(t){return t instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1})(t,r)||n.removeAttribute(t.nodeName)})},o=0,r=l.length;o<r;o++)i(o);return n.body.innerHTML}var be="tooltip",Ie="bs.tooltip",De="."+Ie,we=g.fn[be],Ae="bs-tooltip",Ne=new RegExp("(^|\\s)"+Ae+"\\S+","g"),Oe=["sanitize","whiteList","sanitizeFn"],ke={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object"},Pe={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Le={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Ee},je="show",He="out",Re={HIDE:"hide"+De,HIDDEN:"hidden"+De,SHOW:"show"+De,SHOWN:"shown"+De,INSERTED:"inserted"+De,CLICK:"click"+De,FOCUSIN:"focusin"+De,FOCUSOUT:"focusout"+De,MOUSEENTER:"mouseenter"+De,MOUSELEAVE:"mouseleave"+De},xe="fade",Fe="show",Ue=".tooltip-inner",We=".arrow",qe="hover",Me="focus",Ke="click",Qe="manual",Be=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(xe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:We},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===He&&e._leave(null,e)};if(g(this.tip).hasClass(xe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==je&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ke]=!1,this._activeTrigger[Me]=!1,this._activeTrigger[qe]=!1,g(this.tip).hasClass(xe)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ae+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ue)),this.getTitle()),g(t).removeClass(xe+" "+Fe)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Se(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Pe[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Qe){var e=t===qe?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===qe?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Me:qe]=!0),g(e.getTipElement()).hasClass(Fe)||e._hoverState===je?e._hoverState=je:(clearTimeout(e._timeout),e._hoverState=je,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===je&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Me:qe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=He,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===He&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==Oe.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(be,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ne);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(xe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ie),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ie,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Le}},{key:"NAME",get:function(){return be}},{key:"DATA_KEY",get:function(){return Ie}},{key:"Event",get:function(){return Re}},{key:"EVENT_KEY",get:function(){return De}},{key:"DefaultType",get:function(){return ke}}]),i}();g.fn[be]=Be._jQueryInterface,g.fn[be].Constructor=Be,g.fn[be].noConflict=function(){return g.fn[be]=we,Be._jQueryInterface};var Ve="popover",Ye="bs.popover",ze="."+Ye,Xe=g.fn[Ve],$e="bs-popover",Ge=new RegExp("(^|\\s)"+$e+"\\S+","g"),Je=l({},Be.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Ze=l({},Be.DefaultType,{content:"(string|element|function)"}),tn="fade",en="show",nn=".popover-header",on=".popover-body",rn={HIDE:"hide"+ze,HIDDEN:"hidden"+ze,SHOW:"show"+ze,SHOWN:"shown"+ze,INSERTED:"inserted"+ze,CLICK:"click"+ze,FOCUSIN:"focusin"+ze,FOCUSOUT:"focusout"+ze,MOUSEENTER:"mouseenter"+ze,MOUSELEAVE:"mouseleave"+ze},sn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass($e+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(nn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(on),e),t.removeClass(tn+" "+en)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ge);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ye),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Je}},{key:"NAME",get:function(){return Ve}},{key:"DATA_KEY",get:function(){return Ye}},{key:"Event",get:function(){return rn}},{key:"EVENT_KEY",get:function(){return ze}},{key:"DefaultType",get:function(){return Ze}}]),i}(Be);g.fn[Ve]=sn._jQueryInterface,g.fn[Ve].Constructor=sn,g.fn[Ve].noConflict=function(){return g.fn[Ve]=Xe,sn._jQueryInterface};var an="scrollspy",ln="bs.scrollspy",cn="."+ln,hn=g.fn[an],un={offset:10,method:"auto",target:""},fn={offset:"number",method:"string",target:"(string|element)"},dn={ACTIVATE:"activate"+cn,SCROLL:"scroll"+cn,LOAD_DATA_API:"load"+cn+".data-api"},gn="dropdown-item",_n="active",mn='[data-spy="scroll"]',pn=".nav, .list-group",vn=".nav-link",yn=".nav-item",En=".list-group-item",Cn=".dropdown",Tn=".dropdown-item",Sn=".dropdown-toggle",bn="offset",In="position",Dn=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+vn+","+this._config.target+" "+En+","+this._config.target+" "+Tn,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,g(this._scrollElement).on(dn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?bn:In,o="auto"===this._config.method?t:this._config.method,r=o===In?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=_.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[g(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){g.removeData(this._element,ln),g(this._scrollElement).off(cn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},un,"object"==typeof t&&t?t:{})).target){var e=g(t.target).attr("id");e||(e=_.getUID(an),g(t.target).attr("id",e)),t.target="#"+e}return _.typeCheckConfig(an,t,fn),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'}),n=g([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(gn)?(n.closest(Cn).find(Sn).addClass(_n),n.addClass(_n)):(n.addClass(_n),n.parents(pn).prev(vn+", "+En).addClass(_n),n.parents(pn).prev(yn).children(vn).addClass(_n)),g(this._scrollElement).trigger(dn.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(_n)}).forEach(function(t){return t.classList.remove(_n)})},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(ln);if(t||(t=new n(this,"object"==typeof e&&e),g(this).data(ln,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return un}}]),n}();g(window).on(dn.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(mn)),e=t.length;e--;){var n=g(t[e]);Dn._jQueryInterface.call(n,n.data())}}),g.fn[an]=Dn._jQueryInterface,g.fn[an].Constructor=Dn,g.fn[an].noConflict=function(){return g.fn[an]=hn,Dn._jQueryInterface};var wn="bs.tab",An="."+wn,Nn=g.fn.tab,On={HIDE:"hide"+An,HIDDEN:"hidden"+An,SHOW:"show"+An,SHOWN:"shown"+An,CLICK_DATA_API:"click"+An+".data-api"},kn="dropdown-menu",Pn="active",Ln="disabled",jn="fade",Hn="show",Rn=".dropdown",xn=".nav, .list-group",Fn=".active",Un="> li > .active",Wn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',qn=".dropdown-toggle",Mn="> .dropdown-menu .active",Kn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(Pn)||g(this._element).hasClass(Ln))){var t,i,e=g(this._element).closest(xn)[0],o=_.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?Un:Fn;i=(i=g.makeArray(g(e).find(r)))[i.length-1]}var s=g.Event(On.HIDE,{relatedTarget:this._element}),a=g.Event(On.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=g.Event(On.HIDDEN,{relatedTarget:n._element}),e=g.Event(On.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,wn),this._element=null},t._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(Fn):g(e).find(Un))[0],r=n&&o&&g(o).hasClass(jn),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=_.getTransitionDurationFromElement(o);g(o).removeClass(Hn).one(_.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(Pn);var i=g(e.parentNode).find(Mn)[0];i&&g(i).removeClass(Pn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(Pn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),t.classList.contains(jn)&&t.classList.add(Hn),t.parentNode&&g(t.parentNode).hasClass(kn)){var o=g(t).closest(Rn)[0];if(o){var r=[].slice.call(o.querySelectorAll(qn));g(r).addClass(Pn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(wn);if(e||(e=new i(this),t.data(wn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();g(document).on(On.CLICK_DATA_API,Wn,function(t){t.preventDefault(),Kn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Kn._jQueryInterface,g.fn.tab.Constructor=Kn,g.fn.tab.noConflict=function(){return g.fn.tab=Nn,Kn._jQueryInterface};var Qn="toast",Bn="bs.toast",Vn="."+Bn,Yn=g.fn[Qn],zn={CLICK_DISMISS:"click.dismiss"+Vn,HIDE:"hide"+Vn,HIDDEN:"hidden"+Vn,SHOW:"show"+Vn,SHOWN:"shown"+Vn},Xn="fade",$n="hide",Gn="show",Jn="showing",Zn={animation:"boolean",autohide:"boolean",delay:"number"},ti={animation:!0,autohide:!0,delay:500},ei='[data-dismiss="toast"]',ni=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;g(this._element).trigger(zn.SHOW),this._config.animation&&this._element.classList.add(Xn);var e=function(){t._element.classList.remove(Jn),t._element.classList.add(Gn),g(t._element).trigger(zn.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.remove($n),this._element.classList.add(Jn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(Gn)&&(g(this._element).trigger(zn.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Gn)&&this._element.classList.remove(Gn),g(this._element).off(zn.CLICK_DISMISS),g.removeData(this._element,Bn),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},ti,g(this._element).data(),"object"==typeof t&&t?t:{}),_.typeCheckConfig(Qn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(zn.CLICK_DISMISS,ei,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){t._element.classList.add($n),g(t._element).trigger(zn.HIDDEN)};if(this._element.classList.remove(Gn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Bn);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Bn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Zn}},{key:"Default",get:function(){return ti}}]),i}();g.fn[Qn]=ni._jQueryInterface,g.fn[Qn].Constructor=ni,g.fn[Qn].noConflict=function(){return g.fn[Qn]=Yn,ni._jQueryInterface},function(){if("undefined"==typeof g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=g.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=_,t.Alert=p,t.Button=P,t.Carousel=lt,t.Collapse=bt,t.Dropdown=Jt,t.Modal=ve,t.Popover=sn,t.Scrollspy=Dn,t.Tab=Kn,t.Toast=ni,t.Tooltip=Be,Object.defineProperty(t,"__esModule",{value:!0})});
-//# sourceMappingURL=bootstrap.min.js.map
\ No newline at end of file
diff --git a/gmms/WebContent/js/components.js b/gmms/WebContent/js/components.js
new file mode 100644
index 0000000..1a4395c
--- /dev/null
+++ b/gmms/WebContent/js/components.js
@@ -0,0 +1,230 @@
+Vue.component('show-table', {
+ // 澹版槑 props
+ props: ['tablehead','tabledata'],
+ // 鍚屾牱涔熷彲浠ュ湪 vm 瀹炰緥涓儚 "this.message" 杩欐牱浣跨敤
+ template: `<el-table
+ :data="tabledata"
+ height="100%"
+ style="width: 100%">
+ <el-table-column
+
+ v-for="(item,keys,index) in tablehead[0]"
+ :key="index"
+ :label="item"
+ :prop="keys.toString()"
+ >
+ <template v-slot="scope" v-if=" keys=='6_parts_change' ">
+ <el-button
+ :style="tabledata[scope.$index]['6_parts_change']==1?textColor:null"
+ type="text"
+ size="small"
+ @click='openParts(scope.$index,tabledata)'
+ >
+ 鏇存崲
+ </el-button>
+ </template>
+ </el-table-column>
+
+ </el-table>`
+ ,
+ data() {
+ return {
+ textColor:{
+ color:'orange'
+ }
+ }
+ },
+
+ methods:{
+ openParts(index,machineData){
+ this.$parent.$emit('dialogvisible',
+ {
+ 'show':true,
+ 'machineid':machineData[index]['10_id']
+ }
+ )
+ }
+ }
+
+})
+Vue.component('parts-change', {
+ // 澹版槑 props
+ props: ['machine'],
+ // 鍚屾牱涔熷彲浠ュ湪 vm 瀹炰緥涓儚 "this.message" 杩欐牱浣跨敤
+ template: `<el-dialog
+ title="鏇存崲璁惧闆堕儴浠跺垪琛�"
+ :visible.sync="centerDialogVisible"
+ width="55%"
+ center
+ >
+ <el-table :data="machineChange" width="100%" height='100%'>
+ <el-table-column
+ v-for="(item,keys,index) in machineChangeHead[0]"
+ :prop="keys"
+ :label="item"
+
+ >
+ <template v-slot="scope" v-if="keys=='4_surpass' && Object.keys(machineChange[0]).length!=0">
+ <el-button
+ :style="machineChange[scope.$index]['4_surpass']==1?textColor:null"
+ type="text"
+ size="small"
+ v-preventreclick
+ @click="partsChange(scope.$index, machineChange,0)"
+ >
+ 鏇存崲
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" v-if="Object.keys(machineChange[0]).length!=0" v-preventreclick @click="partsChange(0,0,1)">涓�閿洿鎹�</el-button>
+ </span>
+ </el-dialog>`
+ ,
+ mixins: [mixin],
+ data(){
+ return{
+ centerDialogVisible:false,
+ machineChange:[{}],
+ machineChangeHead:[{}],
+ machineId:null,
+ textColor:{
+ color:'orange'
+ }
+ }
+
+ },
+ methods:{
+ partsChange(index,data,type){//淇敼闆堕儴浠舵洿鎹㈠懆鏈燂紝type锛� 0浠h〃鍗曚釜闆堕儴浠讹紝1浠h〃姝ゆ満鍣ㄦ墍鏈夐浂閮ㄤ欢
+
+ let para
+ if(type==0){
+ para={
+ id:data[index]['6_id'],
+ machineId:data[index]['5_machine_id'],
+ type:type
+ }
+ }else{
+ para={
+ id:0,
+ machineId:this.machineId,
+ type:type
+ }
+ }
+ let sql="{call AXJ_a_largeScreen_machinePartsChange_update(?,?,?,?)}~"+JSON.stringify(para);
+ this.connects("鏇存柊鑰楁潗锛�",sql,1,1);
+ this.centerDialogVisible = false
+ }
+ },
+ watch: {
+ async machineId(){
+ let machine={
+ id:this.machineId
+ }
+ let canshu={
+ gongneng:'澶у睆鏇存崲鍛ㄦ湡鏈哄櫒闆堕儴浠舵煡璇紝鏈哄櫒鍙凤細'+this.machineId,
+ sql:"{call AXJ_a_largeScreen_machinePartsChange_select(?,?)}~"+JSON.stringify(machine),
+ flag:2,
+ vals:"machineChange"
+ }
+ this.machineChange=await this.returnloadAjxss(canshu)
+ }
+ },
+ async mounted() {
+ let parameter={
+ gongneng:'澶у睆鏇存崲鍛ㄦ湡琛ㄥご鏌ヨ',
+ sql:"{call AXJ_a_largeScreen_machinePartsChangeHead_select()}",
+ flag:2,
+ vals:"machineChangeHead"
+ }
+ this.machineChangeHead=await this.returnloadAjxss(parameter)
+
+ this.$parent.$on("dialogvisible",val=>{
+ //杩欐槸浜嬩欢鍑芥暟 涓�鏃hangeBgc浜嬩欢琚Е鍙�,灏变細鎵ц杩欓噷鐨勪唬鐮�
+ this.centerDialogVisible = val.show
+ this.machineId=val.machineid
+
+
+ })
+ }
+
+})
+Vue.component('screen-order', {//閽㈠寲璐磋啘涓嬬墖璁㈠崟缁勪欢
+ // 澹版槑 props
+ props: ['tablehead','tabledata'],
+ // 鍚屾牱涔熷彲浠ュ湪 vm 瀹炰緥涓儚 "this.message" 杩欐牱浣跨敤
+ template: `<el-table
+ :data="tabledata"
+ height="100%"
+ style="width: 100%">
+ <el-table-column
+
+ v-for="(item,keys,index) in tablehead[0]"
+ :key="index"
+ :label="item"
+ :prop="keys.toString()"
+ >
+ <template v-slot="scope" v-if=" keys=='3_ratio' && Object.keys(tabledata[0]).length!=0">
+ <el-progress :text-inside="true" :stroke-width="26"
+ :percentage="tabledata[scope.$index]['3_ratio']==null?0*1:tabledata[scope.$index]['3_ratio']*1"
+ >
+ </el-progress>
+ </template>
+ </el-table-column>
+
+ </el-table>`
+
+
+})
+
+Vue.component('screen-photo', {//鐜板満浣滀笟鍥捐疆鎹�
+ // 澹版槑 props
+ props: ['id','intime'],
+ // 鍚屾牱涔熷彲浠ュ湪 vm 瀹炰緥涓儚 "this.message" 杩欐牱浣跨敤
+ template: `<div style='width:100%;height:100%;max-width=100%;max-height=100%;position: relative;'>
+ <img class="imgCenter" :src="url"/>
+ </div>`,
+ mixins: [mixin],
+ data(){
+ return{
+ photoList:[{}],
+ indexs:-1,
+ url:null
+ }
+ },
+ watch:{
+ photoList(newVal){
+ if(Object.keys(this.photoList[0]).length==0){
+ return
+ }
+
+ this.url=newVal[0]['0_route']
+ setInterval(()=>{
+
+ this.indexs>=newVal.length-1?this.indexs=0:this.indexs++
+ this.url=newVal[this.indexs]['0_route']
+ },parseInt(this.intime/newVal.length))
+ }
+ },
+ async mounted() {
+ let para={
+ id:this.id
+ }
+ let canshu={
+ gongneng:'缁勪欢鍥剧墖鏌ヨ锛�',
+ sql:"{call AXJ_a_largeScreen_phtot_select(?,?)}~"+JSON.stringify(para),
+ flag:2,
+ vals:"photoList"
+ }
+ this.photoList=await this.returnloadAjxss(canshu)
+
+ }
+
+
+})
+
+// Vue.prototype.$watch('Vue.prototype.global.errorFlag', function (newVal, oldVal) {
+// // 杩涜鍝嶅簲寮忔搷浣�
+// })
\ No newline at end of file
diff --git a/gmms/WebContent/js/global.js b/gmms/WebContent/js/global.js
new file mode 100644
index 0000000..ca9053c
--- /dev/null
+++ b/gmms/WebContent/js/global.js
@@ -0,0 +1,10 @@
+Vue.prototype.global={
+ polling:null,
+ pollingIndex:0,
+ timer:30000,//瑙﹀彂瀹氭椂鍣ㄦ椂闂�
+ errorFlag:0
+ // getMachineElectricTimer:null,
+ // getTableDataTimer:null,
+ // getMachineWaterTimer:null,
+
+}
\ No newline at end of file
diff --git a/gmms/WebContent/js/main.js b/gmms/WebContent/js/main.js
new file mode 100644
index 0000000..b7eeb7f
--- /dev/null
+++ b/gmms/WebContent/js/main.js
@@ -0,0 +1,22 @@
+with(document){
+ write('<link rel="shortcut icon" href="../img/3.ico" />');
+ write('<link rel="stylesheet" href="../js/static/css/element.css">');
+ write('<link rel="stylesheet" href="../js/static/css/style.css">');
+
+ write('<script src="../js/static/js/vue.js"></script>');
+ write('<script src="../js/global.js"></script>');
+ write('<script src="../js/jquery-3.4.1.min.js"></script>');
+ write('<script src="../js/axios.min.js"></script>');
+
+
+ write('<script src="../js/mixins.js"></script>');
+
+ write('<script src="../js/components.js"></script>');
+ write('<script src="../js/static/js/element.js"></script>');
+ write('<script src="../js/static/js/echarts.min.js"></script>');
+ write('<script >Vue.prototype.$echarts = echarts;Vue.prototype.$http= axios</script>');
+}
+
+
+
+
diff --git a/gmms/WebContent/js/mixins.js b/gmms/WebContent/js/mixins.js
index f144ecb..e0dd8e7 100644
--- a/gmms/WebContent/js/mixins.js
+++ b/gmms/WebContent/js/mixins.js
@@ -1,4 +1,5 @@
+
let str = window.location.href.substr(window.location.href.indexOf('?') + 1)
let json = new Object()
const arr = str.split('&')
@@ -9,17 +10,25 @@
var mixin={
methods:{
- connects:function(gongneng,sql,flag,num){
+ onmouseMove(){//灞忓箷榧犳爣绉诲姩寰幆鎾斁
+ clearInterval(this.global.polling);
+
+ this.global.polling=setInterval(()=>{
+ this.global.pollingIndex>=1?this.global.pollingIndex=0:this.global.pollingIndex++
+ this.$forceUpdate();
+ },this.global.timer)//鏍规嵁鑷畾涔塚ue鍏ㄥ眬鍙橀噺杩涜鎿嶄綔
+ },
+ async connects(gongneng,sql,flag,num){
let param = new URLSearchParams();
param.append("gongneng",gongneng);
param.append("sql",sql);
param.append("flag",flag);
- param.append("anquanma",json["anquanma"]);
+ param.append("anquanma","anquanma1");
- this.$http.post( '../mysqlInsert/mysql.jsp',param)
+ await this.$http.post( '../mysqlInsert/mysql.jsp',param)
.then(function (response) {
if(num==1){
- result=$(response.data).text();
+ result=response.data;
index = result.indexOf("[[");
if(index>-1){
if(result.indexOf("[[anquanmaerr]]")>-1){
@@ -41,26 +50,21 @@
});
},
- loadAjxss:function(gongneng,sql,flag,vals){
+ async loadAjxss(gongneng,sql,flag,vals){
let param = new URLSearchParams();
param.append("yemian","123");
param.append("gongneng",gongneng);
param.append("sql",sql);
param.append("flag",flag);
- param.append("anquanma",json["anquanma"]);
-
-
- this.$http.post( '../mysqlInsert/mysql.jsp',param
- )
-
+ param.append("anquanma","anquanma1");
+ await this.$http.post( '../mysqlInsert/mysql.jsp',param)
.then(function (response) {
if(flag==2){
- let result=$(response.data).text();
+ let result=response.data;
let index = result.indexOf("[{");
if(index>-1){
result=result.substring(index).trim();
app.$data[vals]=JSON.parse(result);
- app.$data["loading"]=false;
console.log(vals+":");
console.log(app.$data[vals]);
}else if(result.indexOf("[[anquanmaerr]]")>-1){
@@ -70,17 +74,126 @@
}
})
.catch(function (error) {
- alert('Error: ' + "鏈嶅姟鍣ㄦ暟鎹彂鐢熼敊璇紒");
+ if(this.global.errorFlag==0){
+ this.global.errorFlag=1
+ alert('Error: ' + "鏈嶅姟鍣ㄦ暟鎹彂鐢熼敊璇紒")
+ }
});
+ },
+ async returnloadAjxss(parameter){//fa
+ let param = new URLSearchParams();
+ param.append("yemian","123");
+ param.append("gongneng",parameter.gongneng);
+ param.append("sql",parameter.sql);
+ param.append("flag",parameter.flag);
+ param.append("anquanma","anquanma1");
+
+ let results=''
+ await this.$http.post( '../mysqlInsert/mysql.jsp',param)
+ .then(function (response) {
+ let result=response.data;
+ let index = result.indexOf("[{");
+ if(index>-1){
+ result=result.substring(index).trim();
+ results=JSON.parse(result);
+ console.log(parameter.vals+":");
+ console.log(results);
+ }else if(result.indexOf("[[anquanmaerr]]")>-1){
+ //alert('璇峰厛鐧诲綍鍚庢搷浣�');
+ window.parent.location.href='../login/index.jsp';
+ }
+ })
+ .catch(function (error) {
+ if(this.global.errorFlag==0){
+ this.global.errorFlag=1
+ alert('Error: ' + "鏈嶅姟鍣ㄦ暟鎹彂鐢熼敊璇紒")
+ }
+ });
+
+ return results
+ },
+ async interValLoadAjxs(gongneng,sql,flag,vals,timer){//瀹氭椂鍣ㄦ嬁鏁版嵁鎶ラ敊鍚庢竻闄ゅ畾鏃跺櫒
+ let param = new URLSearchParams();
+ param.append("yemian","寰幆鏁版嵁");
+ param.append("gongneng",gongneng);
+ param.append("sql",sql);
+ param.append("flag",flag);
+ param.append("anquanma","anquanma1");
+ await this.$http.post( '../mysqlInsert/mysql.jsp',param)
+ .then(function (response) {
+ if(flag==2){
+ let result=response.data
+ let index = result.indexOf("[{");
+ if(index>-1){
+ result=result.substring(index).trim();
+ app.$data[vals]=JSON.parse(result);
+ console.log(vals+":");
+ console.log(app.$data[vals]);
+ }else if(result.indexOf("[[anquanmaerr]]")>-1){
+ //alert('璇峰厛鐧诲綍鍚庢搷浣�');
+ window.parent.location.href='../login/index.jsp';
+ }
+ }
+ })
+ .catch( (error)=> {
+ clearInterval(timer)
+ if(this.global.errorFlag==0){
+ this.global.errorFlag=1
+ alert('Error: ' + "鏈嶅姟鍣ㄦ暟鎹彂鐢熼敊璇紒")
+ window.location.reload()
+ }
+ // if(this.global.getTableDataTimer){
+ // clearInterval(this.global.getTableDataTimer)
+ // }
+ // if(this.global.getMachineElectricTimer){
+ // clearInterval(this.global.getMachineElectricTimer)
+ // }
+ // if(this.global.getMachineWaterTimer){
+ // clearInterval(this.global.getMachineWaterTimer)
+ // }
+ //alert('Error: ' + "鏈嶅姟鍣ㄦ暟鎹彂鐢熼敊璇紒")
+ });
+ },
+
+
+ async getTableData(machineType){//澶у睆鏄剧ず 鏌ヨ璁㈠崟鏁版嵁
+ //this.global.getTableDataTimer=
+ let getTableDataTimer=await setInterval(()=>{
+ let canshu={
+ machineType:machineType,//鏈哄櫒绫诲瀷
+ }
+ let sql="{call AXJ_a_largeScreen_order_machineType_select(?,?)}~"+JSON.stringify(canshu);
+ this.interValLoadAjxs('琛ㄦ暟鎹煡璇�',sql,2,"tableData",getTableDataTimer)
+ },5000)
+ },
+ async getMachineElectric(machineType,group){//澶у睆鏄剧ず 鏌ヨ鏈哄櫒鐢ㄧ數閲�
+ //this.global.getMachineElectricTimer=
+ let getMachineElectricTimer=await setInterval(()=>{
+ let canshu={
+ machineType:machineType,//鏈哄櫒绫诲瀷
+ group:group //鐢佃〃缁勫埆
+ }
+ let sql="{call AXJ_a_largeScreen_electric_select(?,?,?)}~"+JSON.stringify(canshu);
+ this.interValLoadAjxs('澶у睆鏄剧ず閽诲瓟鏌ヨ',sql,2,"machineElectric",getMachineElectricTimer)
+ },5000)
+ },
+ async getMachineWater(machineType,group){
+ //this.global.getMachineWaterTimer=
+ let getMachineWaterTimer=await setInterval(()=>{
+ let canshu={
+ machineType:machineType,//鏈哄櫒绫诲瀷
+ group:group //姘磋〃缁勫埆
+ }
+ let sql="{call AXJ_a_largeScreen_water_select(?,?,?)}~"+JSON.stringify(canshu);
+ this.interValLoadAjxs('澶у睆鏄剧ず閽诲瓟姘磋〃鏌ヨ',sql,2,"machineWater",getMachineWaterTimer)
+ },5000)
}
}
}
//gongneng:鑷畾涔夛紝sql瀛樺偍杩囩▼锛宖lag鏍囧織(0,鏄敤寮犲伐涔嬪墠鍔熻兘鎻掑叆锛�1瀛樺偍杩囩▼鏌ヨ锛�2瀛樺偍杩囩▼鎻掑叆)锛寁als锛歷ue閲宒ata鍙傛暟
-function loadAjxs(gongneng,sql,flag,vals){
-
-
- $.post("../mysqlInsert/mysql.jsp",
- {"yemian":"123","gongneng":gongneng,"sql":sql,'flag':flag,'anquanma':json["anquanma"]},
+ function loadAjxs(gongneng,sql,flag,vals){
+ $.post("../mysqlInsert/mysql.jsp",
+ {"yemian":"123","gongneng":gongneng,"sql":sql,'flag':flag,'anquanma':"anquanma1"},
function(result){
if(flag==2){
result=$(result).text();
@@ -103,3 +216,10 @@
}
+
+
+
+
+
+
+
diff --git a/gmms/WebContent/js/static/css/public.css b/gmms/WebContent/js/static/css/public.css
new file mode 100644
index 0000000..92456ad
--- /dev/null
+++ b/gmms/WebContent/js/static/css/public.css
@@ -0,0 +1,12 @@
+.el-dialog__body{
+ height: 40vh;
+ overflow: auto;
+ }
+#app,#mains{
+ height: 100%;
+ width: 100%;
+}
+*{
+ margin: 0;
+ padding: 0;
+}
\ No newline at end of file
diff --git a/gmms/WebContent/js/static/css/style.css b/gmms/WebContent/js/static/css/style.css
index 799a74b..14ce50d 100644
--- a/gmms/WebContent/js/static/css/style.css
+++ b/gmms/WebContent/js/static/css/style.css
@@ -12,7 +12,8 @@
#app{
width: 100%;
height: 100%;
- background-color: bule;
+ margin: 0;
+ padding: 0;
}
#divHead,#left,#main,.shelf{
box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
@@ -23,4 +24,28 @@
}
*{
text-align: center;
+}
+#mains{
+ height: 100%;
+ width: 100%;
+ padding: 0;
+ margin: 0;
+}
+*{
+ padding: 0%;
+ margin: 0%;
+}
+.imgCenter{
+ max-width: 100%;
+ max-height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ margin: auto;
+}
+.el-dialog__body{
+ height: 40vh;
+ overflow: auto;
}
\ No newline at end of file
diff --git a/gmms/WebContent/js/static/js/mixins.js b/gmms/WebContent/js/static/js/mixins.js
index b41e1e0..cfbe83c 100644
--- a/gmms/WebContent/js/static/js/mixins.js
+++ b/gmms/WebContent/js/static/js/mixins.js
@@ -1,3 +1,9 @@
+Vue.prototype.global={
+ polling:null,
+ pollingIndex:0,
+ timer:30000
+}
+
let str = window.location.href.substr(window.location.href.indexOf('?') + 1)
let json = new Object()
@@ -39,7 +45,7 @@
},
connects:function(gongneng,sql,flag,num){
$.ajax({
- url :'http://localhost:8080/gmms/mysqlInsert/mysql.jsp',
+ url :'../mysqlInsert/mysql.jsp',
type : "post",//涓嶅眬闄愪簬get
data:{"gongneng":gongneng,"sql":sql,'flag':flag,'anquanma':json["anquanma"]},
async : true,
@@ -72,7 +78,7 @@
}
//gongneng:鑷畾涔夛紝sql瀛樺偍杩囩▼锛宖lag鏍囧織(0,鏄敤寮犲伐涔嬪墠鍔熻兘鎻掑叆锛�1瀛樺偍杩囩▼鏌ヨ锛�2瀛樺偍杩囩▼鎻掑叆)锛寁als锛歷ue閲宒ata鍙傛暟
function loadAjxs1(gongneng,sql,flag,vals){
- $.post("localhost:8080/gmms/mysqlInsert/mysql.jsp",
+ $.post("../mysqlInsert/mysql.jsp",
{"yemian":"123","gongneng":gongneng,"sql":sql,'flag':flag,'anquanma':json["anquanma"]},
function(result){
if(flag==2){
@@ -97,7 +103,7 @@
function loadAjxs(gongneng,sql,flag,vals){
$.ajax({
- url :'http://localhost:8080/gmms/mysqlInsert/mysql.jsp',
+ url :'../mysqlInsert/mysql.jsp',
type : "GET",//涓嶅眬闄愪簬get
data:{"yemian":"123","gongneng":gongneng,"sql":sql,'flag':flag,'anquanma':json["anquanma"]},
async : true,
diff --git a/gmms/WebContent/js/static/js/vue.js b/gmms/WebContent/js/static/js/vue.js
index f900346..a70e31e 100644
--- a/gmms/WebContent/js/static/js/vue.js
+++ b/gmms/WebContent/js/static/js/vue.js
@@ -12012,7 +12012,8 @@
return Vue;
}));
-Vue.directive('preventreclick', {
+
+Vue.directive('preventreclick', {//闃叉閲嶅鐐瑰嚮
inserted(el, binding) {
el.addEventListener('click', () => {
if (!el.disabled) {
@@ -12024,3 +12025,6 @@
})
}
});
+
+
+
diff --git a/gmms/WebContent/login/admin/shezhi1.jsp b/gmms/WebContent/login/admin/shezhi1.jsp
index 42fa6e1..cfd7684 100644
--- a/gmms/WebContent/login/admin/shezhi1.jsp
+++ b/gmms/WebContent/login/admin/shezhi1.jsp
@@ -7,7 +7,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>璁剧疆鏉冮檺</title>
<%-- <link rel="stylesheet" href="${ctx}/pp/css/baobiaoyangshi.css"> --%>
-<script src="../../js/jquery-3.4.1.js"></script>
+<script src="../../js/jquery-3.4.1.min.js"></script>
<link rel="stylesheet" href="../../css/quanxiang.css">
<style>
diff --git a/gmms/WebContent/login/admin/shezhi2.jsp b/gmms/WebContent/login/admin/shezhi2.jsp
index 0451abc..372e46e 100644
--- a/gmms/WebContent/login/admin/shezhi2.jsp
+++ b/gmms/WebContent/login/admin/shezhi2.jsp
@@ -64,7 +64,7 @@
top:55px;
}
</style>
-<script src="../../js/jquery-3.4.1.js"></script>
+<script src="../../js/jquery-3.4.1.min.js"></script>
<link rel="stylesheet" href="../../css/quanxiang.css">
<link rel="shortcut icon" href="../../img/3.ico" />
diff --git a/gmms/WebContent/login/bdg.jsp b/gmms/WebContent/login/bdg.jsp
index 788e2e6..3b2dc2a 100644
--- a/gmms/WebContent/login/bdg.jsp
+++ b/gmms/WebContent/login/bdg.jsp
@@ -61,7 +61,7 @@
/* if(true){ */
if(coun!=0){
out.println("<iframe id='top' height='10%' width='100%' src='shuoming.jsp?adminid="+adminid+"&xingming="+xingming+"&dengji="+dengji+"&anquanma="+anquanma+"&yuyan="+yuyan+"' frameborder='0'></iframe>");
- out.println("<iframe id='left' height='90%' width='13%' style='float: left;' src='quanxian.jsp?adminid="+adminid+"&anquanma="+anquanma+"&yuyan="+yuyan+"' frameborder='0'></iframe>");
+ out.println("<iframe id='left' height='90%' width='13%' style='float: left;overflow-y: hidden;' src='quanxian.jsp?adminid="+adminid+"&anquanma="+anquanma+"&yuyan="+yuyan+"' frameborder='0'></iframe>");
}
else{
diff --git a/gmms/WebContent/login/index.jsp b/gmms/WebContent/login/index.jsp
index 9c95db5..8a81505 100644
--- a/gmms/WebContent/login/index.jsp
+++ b/gmms/WebContent/login/index.jsp
@@ -247,10 +247,6 @@
else{
out.print("<script type='text/javascript'>alert('瀹夊叏鐮佹棤鏁�')</script>");
}
-
-
-
-
}
else{
out.print("<script type='text/javascript'>alert('鐢ㄦ埛鍚嶆垨鑰呭瘑鐮侀敊璇�')</script>");
diff --git a/gmms/WebContent/login/machinelistcontent.jsp b/gmms/WebContent/login/machinelistcontent.jsp
index 858d43e..19a8940 100644
--- a/gmms/WebContent/login/machinelistcontent.jsp
+++ b/gmms/WebContent/login/machinelistcontent.jsp
@@ -6,13 +6,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<link rel="stylesheet" href="../js/static/css/element.css">
-<link rel="stylesheet" href="../js/static/css/style.css">
-<script src="../js/static/js/vue.js"></script>
-<script src="../js/mixins.js"></script>
-<!-- import JavaScript -->
-<script src="../js/static/js/element.js"></script>
-<script src="../js/static/js/echarts.min.js"></script>
+<script src="../js/main.js"></script>
<style type="text/css">
<style>
.el-table .warning-row {
@@ -28,10 +22,21 @@
<title>Insert title here</title>
</head>
<body>
- <div id="app" style="display:width:100%">
+<%
+String a=null;
+try{
+ a=Manager.getDevice().toString();
+}
+catch(Exception e){
+ a="[{}]";
+}
+
+
+%>
+ <div id="app" style="width:100%">
<el-table border
:data="machine"
- height='700'
+ height='100%'
style="width: 100%;"
:cell-class-name="tableRowClassName"
>
@@ -63,7 +68,7 @@
el: '#app',
mixins:[mixin],
data:{
- machine:<%out.print( Manager.getDevice().toString());%>,
+ machine:<%= a%>,
},
methods:{
tableRowClassName({row,column,rowIndex,columnIndex}) {
diff --git a/gmms/WebContent/login/machinelistcontent2.jsp b/gmms/WebContent/login/machinelistcontent2.jsp
new file mode 100644
index 0000000..520a4d2
--- /dev/null
+++ b/gmms/WebContent/login/machinelistcontent2.jsp
@@ -0,0 +1,74 @@
+<%@page import="builder.Manager"%>
+<%@page import="ng.db.*"%>
+<%@ page language="java" import="java.sql.*" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<script src="../static/js/ng/tb-2.0.js"></script>
+
+<title>Insert title here</title>
+</head>
+<body>
+ <div id="tab" style="display:width:100%">
+ </div>
+ <script type="text/javascript">
+ var a=
+ <%
+ // Manager.appStart(null);
+ out.print( Manager.getDevice().toString());
+
+ %>;
+ console.log(a);
+
+ var opt={
+ table:{
+ trStyles:["background-color:none","background-color:lightblue"],
+ style:"width:100%",
+ border:1,
+ notify:function(message){
+ if(message.data.st!="宸茶繛鎺�"){
+
+ message.tr.children[3].style["color"]="red";
+ }
+ }
+ },
+ columns:[
+ {
+ name:"璁惧鍚�",
+ binding:"name"
+
+ },
+
+ {
+ name:"IP",
+ binding:"ip"
+
+ },
+ {
+ name:"port",
+ binding:"port",
+ }
+
+ ,
+ {
+ name:"鐘舵��",
+ binding:"st"
+ }
+ ,
+ {
+ name:"璋冪敤娆℃暟",
+ binding:"count"
+ }
+
+
+ ]
+ };
+
+ var tab=createTable(document.getElementById("tab"),opt);
+ tab.update(a);
+ tab.notify();
+ </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/login/quanxian.jsp b/gmms/WebContent/login/quanxian.jsp
index 12a4a20..e409341 100644
--- a/gmms/WebContent/login/quanxian.jsp
+++ b/gmms/WebContent/login/quanxian.jsp
@@ -44,7 +44,7 @@
<%@include file="mysqlconnect.jsp"%>
-<body style='background-color:#D5EAFF'>
+<body style='background-color:#D5EAFF;overflow-y:hidden'>
<!--涓婚〉闈㈠乏渚ц彍鍗曟爮瀹炵幇-->
<div class="menu" >
@@ -60,7 +60,7 @@
Connection con=DriverManager.getConnection( urlglass,user,password);
CallableStatement cs = con.prepareCall("{call mokuai(?,?,?)}");
- id="A001";
+ id=request.getParameter("adminid");
cn="cn";
cs.setString(1, id);
cs.setString(2, cn);
@@ -69,7 +69,6 @@
while(rs.next())
{
-
mid=rs.getInt(1);
String mokuainame=rs.getString(2);
out.println("<div class='menu_title'>"+mokuainame+"<span class='indicator' id='indicator'>鈻�</span></div><ul class='test'>");
diff --git a/gmms/WebContent/login/run.jsp b/gmms/WebContent/login/run.jsp
index 2fca534..56830e6 100644
--- a/gmms/WebContent/login/run.jsp
+++ b/gmms/WebContent/login/run.jsp
@@ -1,6 +1,8 @@
<%@page import="builder.Manager"%>
+<%@page import="toTcp.TcpMain"%>
<%@include file="../mysqlInsert/mysql_connect.jsp"%>
<%
+TcpMain.getElectric();
Manager.appStart(new String[]{url,user,password });
response.sendRedirect("bdg.jsp");
%>
\ No newline at end of file
diff --git a/gmms/WebContent/mysqlInsert/getPicture.jsp b/gmms/WebContent/mysqlInsert/getPicture.jsp
new file mode 100644
index 0000000..52ac2e0
--- /dev/null
+++ b/gmms/WebContent/mysqlInsert/getPicture.jsp
@@ -0,0 +1,18 @@
+<%@page import="ng.db.*,java.util.LinkedHashMap,java.util.ArrayList,java.util.LinkedList"%>
+<%@page import="com.alibaba.fastjson.JSON,com.alibaba.fastjson.JSONObject,com.alibaba.fastjson.JSONArray,com.alibaba.fastjson.parser.Feature"%>
+<%
+if(request.getParameter("ip")!=null ){
+
+ try{
+ ArrayList<String> result=getFtpData.getImg(request.getParameter("ip"));
+ LinkedHashMap<String, String> results = new LinkedHashMap<String, String>();
+ results.put("A0", String.valueOf(result.get(0)));
+ results.put("A1", String.valueOf(result.get(1)));
+ LinkedList<String> resultss = new LinkedList<String>();
+ resultss.add(JSON.toJSONString(results));
+ out.print(resultss);
+ }catch(Exception e){
+ out.print("[{}]");
+ }
+}
+%>
diff --git a/gmms/WebContent/mysqlInsert/mysql.jsp b/gmms/WebContent/mysqlInsert/mysql.jsp
index ad67916..18161cc 100644
--- a/gmms/WebContent/mysqlInsert/mysql.jsp
+++ b/gmms/WebContent/mysqlInsert/mysql.jsp
@@ -6,10 +6,6 @@
response.setContentType("text/html; charset=utf-8");
response.setHeader("Access-Control-Allow-Origin","*");
%>
-<html>
-<head>
-</head>
-<body>
<%@include file="mysql_connect.jsp"%>
<%@page import="java.util.LinkedHashMap"%>
<%@page import="java.util.HashMap"%>
@@ -23,13 +19,9 @@
String sltcSql =request.getParameter("sql");
String anquanma=request.getParameter("anquanma");
try{
-
Class.forName(driverClass);{
- Connection conAnquan=DriverManager.getConnection( urlglass,user,password);
-
- //閫氳繃connection鏁版嵁搴撻摼鎺ュ璞� 鍒涘缓涓�涓猻tatement瀵硅薄鏁版嵁搴撴搷浣滃璞�
+ /* Connection conAnquan=DriverManager.getConnection( urlglass,user,password);
Statement stmts=conAnquan.createStatement();
- //鎵цsql璇彞
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
Date time = new Date();
long timestamp = time.getTime() / 1000L;
@@ -40,7 +32,9 @@
{
coun++;
}
- conAnquan.close();
+ rss.close();
+ stmts.close();
+ conAnquan.close(); */
//coun>0
if(true){
Connection con=DriverManager.getConnection( url,user,password);
@@ -97,31 +91,30 @@
}
-
+ cs.close();
}else{
Statement stmtss=con.createStatement();
stmtss.execute(sltcSql);
+ stmtss.close();
}
-
con.close();
}else{
out.print("[[anquanmaerr]]");
}
-}
+}
}catch(Exception e){
Class.forName(driverClass);{
Connection con=DriverManager.getConnection(url,user,password);
CallableStatement bs =con.prepareCall("{call AXJ_err(?,?,?)}");
bs.setString(1, e.toString());
bs.setString(2, gongneng);
- bs.setString(3, sltcSql+','+anquanma);
+ bs.setString(3, sltcSql);
bs.execute();
+ bs.close();
con.close();
}
- out.print("[['鍙戠敓鏈煡閿欒锛岃鑱旂郴鐩稿叧浜哄憳']]");
+ out.print("[['鍙戠敓鏈煡閿欒锛岃鑱旂郴鐩稿叧浜哄憳']]");
}
-%>
-</body>
-</html>
\ No newline at end of file
+%>
\ No newline at end of file
diff --git a/gmms/WebContent/mysqlInsert/mysql_connect.jsp b/gmms/WebContent/mysqlInsert/mysql_connect.jsp
index f7f9ca4..3867909 100644
--- a/gmms/WebContent/mysqlInsert/mysql_connect.jsp
+++ b/gmms/WebContent/mysqlInsert/mysql_connect.jsp
@@ -11,14 +11,15 @@
<%
//杩炴帴鏁版嵁搴�
+String ip="localhost";
String driverClass = "com.mysql.cj.jdbc.Driver";
-String url="jdbc:mysql://10.153.19.150/gmms?serverTimezone=GMT%2B8";
+String url="jdbc:mysql://"+ip+"/gmms?serverTimezone=GMT%2B8";
String user = "root";
String password = "beibo.123/";
-String url1 = "jdbc:mysql://10.153.19.150/gmms";
+String url1 = "jdbc:mysql://"+ip+"/gmms";
-String urlglass="jdbc:mysql://10.153.19.150/mesgglass?serverTimezone=GMT%2B8";
-String url3="jdbc:mysql://10.153.19.150/glog?serverTimezone=GMT%2B8";
+String urlglass="jdbc:mysql://"+ip+"/mesgglass?serverTimezone=GMT%2B8";
+String url3="jdbc:mysql://"+ip+"/glog?serverTimezone=GMT%2B8";
/* localhost:3307 */
diff --git a/gmms/WebContent/mysqlInsert/mysqllist.jsp b/gmms/WebContent/mysqlInsert/mysqllist.jsp
new file mode 100644
index 0000000..8d7862c
--- /dev/null
+++ b/gmms/WebContent/mysqlInsert/mysqllist.jsp
@@ -0,0 +1,83 @@
+
+<%@include file="mysql_connect.jsp"%>
+<%@page import="java.util.LinkedHashMap"%>
+<%@page import="java.util.HashMap"%>
+<%@page import="java.util.LinkedList"%>
+<%@page import="com.alibaba.fastjson.JSON,com.alibaba.fastjson.JSONObject,com.alibaba.fastjson.JSONArray,com.alibaba.fastjson.parser.Feature"%>
+<%@ page import="java.text.SimpleDateFormat,java.util.Date" %>
+<%@page import="druidConnect.JDBCUtils.*,java.sql.Connection"%>
+
+<%
+String gongneng = request.getParameter("gongneng");
+String yemian = request.getParameter("yemian");
+String sltcSql =request.getParameter("sql");
+String anquanma=request.getParameter("anquanma");
+Connection con = druidConnect.JDBCUtils.getConnection();
+CallableStatement cs =null;
+try{
+
+ if(true){
+ String flag="";
+ //sltcSql="{call AXJ_a_largeScreen_glassCut_select()}";
+ flag=request.getParameter("flag");
+ String[] sql=sltcSql.split("~");
+ cs = con.prepareCall(sql[0]);
+ if(sql.length>1){
+ HashMap<String ,String> hp = JSON.parseObject(sql[1], LinkedHashMap.class,Feature.OrderedField);
+ int indexNum=1;
+ for(String key : hp.keySet()) {
+ cs.setString(indexNum, String.valueOf(hp.get(key)));
+ //out.print("cs.setString("+indexNum+", "+String.valueOf(hp.get(key))+")");
+ indexNum++;
+ }
+ cs.registerOutParameter( indexNum , java.sql.Types.LONGNVARCHAR);
+ }
+
+
+ if(flag.equals("2")){
+ ResultSet rs = cs.executeQuery();
+ ResultSetMetaData rsmd = rs.getMetaData();
+ String[] arr;
+ LinkedList<String> results = new LinkedList<String>();
+
+ while(rs.next()){
+ LinkedHashMap<String, String> result = new LinkedHashMap<String, String>();
+ for(int i=0;i<rsmd.getColumnCount();i++){
+ // out.println(rsmd.getColumnName(i+1));String.valueOf(i)
+ String val=rs.getString(i+1)!=null?String.valueOf(rs.getString(i+1)):"";
+ result.put(String.valueOf(i+"_"+rsmd.getColumnName(i+1)),val);
+ }
+ String jsonStr = JSON.toJSONString(result);
+ results.add(jsonStr);
+ }
+ if(results.size()<1){
+ results.add("{}");
+ }
+ out.print(results);
+
+ }else{
+ cs.execute();
+ String fanhui=(String) cs.getString("fanhui");
+ // out.print("[["+cs.getString("fanhui").length()+","+cs.getString("fanhui")+"]]");
+ if(cs.getString("fanhui")!=null){
+ if(fanhui.length()>0 && !fanhui.equals("null")){
+ out.print("[["+cs.getString("fanhui")+"]]");
+ }
+ }
+
+ }
+
+ }
+
+}catch(Exception e){
+ cs =con.prepareCall("{call AXJ_err(?,?,?)}");
+ cs.setString(1, e.toString());
+ cs.setString(2, gongneng);
+ cs.setString(3, sltcSql+','+anquanma);
+ cs.execute();
+
+ out.print("[['鍙戠敓鏈煡閿欒锛岃鑱旂郴鐩稿叧浜哄憳']]");
+}finally {
+ druidConnect.JDBCUtils.close(cs, con);
+ }
+%>
\ No newline at end of file
diff --git a/gmms/WebContent/mysqlInsert/toPlc.jsp b/gmms/WebContent/mysqlInsert/toPlc.jsp
index eea7076..09e4f3e 100644
--- a/gmms/WebContent/mysqlInsert/toPlc.jsp
+++ b/gmms/WebContent/mysqlInsert/toPlc.jsp
@@ -1,24 +1,202 @@
<%@page import="builder.Manager"%>
+<%@page import="ng.devices.HexUtil"%>
+<%@page import="ng.db.sendOptFile"%>
<%
-<<<<<<< HEAD
+ String zt=request.getParameter("zt");
+String peifanhao=request.getParameter("peifanhao");
+String changpinghao=request.getParameter("changpinghao");
-Manager.sendtoPLC(76,20,4,new byte[]{0,1,0,1},0);
-Manager.sendtoPLC(77,20,4,new byte[]{0,1,0,1},0);
-=======
-String zt=request.getParameter("zt");
-String peifanhao=request.getParameter("peifanhao");
+String way_of_working=request.getParameter("way_of_working");
+String thickness=request.getParameter("thickness");
+String glass_type=request.getParameter("glass_type");
+String production_type=request.getParameter("production_type");
int zts =Integer.valueOf(zt);
int peifanhaos =Integer.valueOf(peifanhao);
-/* Manager.sendtoPLC(76,20,4,new byte[]{0,1,0,zt},0);
+
+String a=HexUtil.intTo2ByteHex(peifanhaos)+HexUtil.intTo2ByteHex(0);
+String as=HexUtil.intTo2ByteHex(peifanhaos)+HexUtil.intTo2ByteHex(0)+HexUtil.intTo2ByteHex(0);
+String b=HexUtil.intTo2ByteHex(0)+HexUtil.intTo2ByteHex(1);
+String bs=HexUtil.intTo2ByteHex(0)+HexUtil.intTo2ByteHex(0)+HexUtil.intTo2ByteHex(1);
+
+String ganghua=HexUtil.intTo2ByteHex(Integer.valueOf(way_of_working))
++HexUtil.intTo2ByteHex(Integer.valueOf(thickness))+HexUtil.intTo2ByteHex(Integer.valueOf(glass_type))
++HexUtil.intTo2ByteHex(Integer.valueOf(production_type));
+
+String ganghuas=HexUtil.intTo2ByteHex(0)
++HexUtil.intTo2ByteHex(0)+HexUtil.intTo2ByteHex(0)
++HexUtil.intTo2ByteHex(0);
+/* Manager.sendtoPLC(76,20,4,new byte[]{0,(byte)(peifanhaos&0xff),0,zt},0);
Manager.sendtoPLC(77,20,4,new byte[]{0,1,0,zt},0); */
- if(zts==2){
- Manager.sendtoPLC(76,20,4,new byte[]{0,(byte)(peifanhaos&0xff),0,0},0);
- }else if(zts==3){
- Manager.sendtoPLC(76,20,4,new byte[]{0,0,0,0},0);
- }
->>>>>>> 09a05342f4c60c834c3ee17a13529cd91c624f34
+
+
+
+
+ if(zts==2){
+ Manager.dayin(1,changpinghao);
+ //鎺扮墖鏈�
+ Manager.sendtoPLC(5,88,4,a,0);
+ //鏈烘鎵�
+ Manager.sendtoPLC(6,88,4,a,0);
+ Manager.sendtoPLC(45,88,4,a,0);
+ Manager.sendtoPLC(46,88,4,a,0);
+ Manager.sendtoPLC(47,88,4,a,0);
+ Manager.sendtoPLC(48,88,4,a,0);
+ Manager.sendtoPLC(49,88,4,a,0);
+ Manager.sendtoPLC(50,88,4,a,0);
+ Manager.sendtoPLC(51,88,4,a,0);
+ Manager.sendtoPLC(52,88,4,a,0);
+ Manager.sendtoPLC(53,88,4,a,0);
+ //纾ㄨ竟鏈�
+ Manager.sendtoPLC(7,88,4,a,0);
+ //鍊掕鏈�
+ Manager.sendtoPLC(9,88,4,a,9400);
+
+ //閽诲瓟鏈�
+ Manager.sendtoPLC(11,88,4,a,0);
+ Manager.sendtoPLC(31,88,4,a,0);
+ Manager.sendtoPLC(32,88,4,a,0);
+ Manager.sendtoPLC(33,88,4,a,0);
+ //姘村垁
+ Manager.sendtoPLC(12,176,6,as,0);
+ Manager.sendtoPLC(34,176,6,as,0);
+ Manager.sendtoPLC(35,176,6,as,0);
+ Manager.sendtoPLC(36,176,6,as,0);
+ //鍔犲伐涓績
+ Manager.sendtoPLC(14,88,4,a,0);
+ Manager.sendtoPLC(37,88,4,a,0);
+ Manager.sendtoPLC(38,88,4,a,0);
+ Manager.sendtoPLC(39,88,4,a,0);
+ //鏀嚎鍚庣墖鍙�
+ Manager.sendtoPLC(13,236,4,a,0);
+ //涓濆嵃鐑樺共
+ Manager.sendtoPLC(19,88,4,a,10000);
+ Manager.sendtoPLC(20,88,4,a,10000);
+ Manager.sendtoPLC(21,88,4,a,10000);
+ Manager.sendtoPLC(22,88,4,a,10000);
+ //閽㈠墠
+ Manager.sendtoPLC(23,88,4,a,0);
+ //閽㈠寲
+ Manager.sendtoPLC(24,26,8,ganghua,0);
+ //閽㈠悗
+ Manager.sendtoPLC(25,88,4,a,0);
+ //璐磋啘
+ Manager.sendtoPLC(26,88,4,a,0);
+ Manager.sendtoPLC(76,88,4,a,0);
+ Manager.sendtoPLC(77,88,4,a,0);
+ sendOptFile.sendOpt("\\\\192.168.10.25\\optfile/", "file://localhost/d/optfile/");
+ }else if(zts==3){
+ Manager.dayin(2,changpinghao);
+ //鎺扮墖鏈�
+ Manager.sendtoPLC(5,88,4,b,0);
+ //鏈烘鎵�
+ Manager.sendtoPLC(6,88,4,b,0);
+ Manager.sendtoPLC(45,88,4,b,0);
+ Manager.sendtoPLC(46,88,4,b,0);
+ Manager.sendtoPLC(47,88,4,b,0);
+ Manager.sendtoPLC(48,88,4,b,0);
+ Manager.sendtoPLC(49,88,4,b,0);
+ Manager.sendtoPLC(50,88,4,b,0);
+ Manager.sendtoPLC(51,88,4,b,0);
+ Manager.sendtoPLC(52,88,4,b,0);
+ Manager.sendtoPLC(53,88,4,b,0);
+ //纾ㄨ竟鏈�
+ Manager.sendtoPLC(7,88,4,b,0);
+ //鍊掕鏈�
+ Manager.sendtoPLC(9,88,4,b,9400);
+
+ //閽诲瓟鏈�
+ Manager.sendtoPLC(11,88,4,b,0);
+ Manager.sendtoPLC(31,88,4,b,0);
+ Manager.sendtoPLC(32,88,4,b,0);
+ Manager.sendtoPLC(33,88,4,b,0);
+ //姘村垁
+ Manager.sendtoPLC(12,176,6,bs,0);
+ Manager.sendtoPLC(34,176,6,bs,0);
+ Manager.sendtoPLC(35,176,6,bs,0);
+ Manager.sendtoPLC(36,176,6,bs,0);
+ //鍔犲伐涓績
+ Manager.sendtoPLC(14,88,4,b,0);
+ Manager.sendtoPLC(37,88,4,b,0);
+ Manager.sendtoPLC(38,88,4,b,0);
+ Manager.sendtoPLC(39,88,4,b,0);
+ //鏀嚎鍚庣墖鍙�
+ Manager.sendtoPLC(13,236,4,b,0);
+ //涓濆嵃鐑樺共
+ Manager.sendtoPLC(19,88,4,b,10000);
+ Manager.sendtoPLC(20,88,4,b,10000);
+ Manager.sendtoPLC(21,88,4,b,10000);
+ Manager.sendtoPLC(22,88,4,b,10000);
+ //閽㈠墠
+ Manager.sendtoPLC(23,88,4,b,0);
+ //閽㈠寲
+ Manager.sendtoPLC(24,26,8,ganghuas,0);
+ //閽㈠悗
+ Manager.sendtoPLC(25,88,4,b,0);
+ //璐磋啘
+ Manager.sendtoPLC(26,88,4,b,0);
+ Manager.sendtoPLC(76,88,4,b,0);
+ Manager.sendtoPLC(77,88,4,b,0);
+ } else if(zts==98){
+ //鎺扮墖鏈�
+ Manager.sendtoPLC(5,88,4,a,0);
+ //鏈烘鎵�
+ Manager.sendtoPLC(6,88,4,a,0);
+ Manager.sendtoPLC(45,88,4,a,0);
+ Manager.sendtoPLC(46,88,4,a,0);
+ Manager.sendtoPLC(47,88,4,a,0);
+ Manager.sendtoPLC(48,88,4,a,0);
+ Manager.sendtoPLC(49,88,4,a,0);
+ Manager.sendtoPLC(50,88,4,a,0);
+ Manager.sendtoPLC(51,88,4,a,0);
+ Manager.sendtoPLC(52,88,4,a,0);
+ Manager.sendtoPLC(53,88,4,a,0);
+ //纾ㄨ竟鏈�
+ Manager.sendtoPLC(7,88,4,a,0);
+ //鍊掕鏈�
+ Manager.sendtoPLC(9,88,4,a,9400);
+
+ //閽诲瓟鏈�
+ Manager.sendtoPLC(11,88,4,a,0);
+ Manager.sendtoPLC(31,88,4,a,0);
+ Manager.sendtoPLC(32,88,4,a,0);
+ Manager.sendtoPLC(33,88,4,a,0);
+ //姘村垁
+ Manager.sendtoPLC(12,176,6,as,0);
+ Manager.sendtoPLC(34,176,6,as,0);
+ Manager.sendtoPLC(35,176,6,as,0);
+ Manager.sendtoPLC(36,176,6,as,0);
+ //鍔犲伐涓績
+ Manager.sendtoPLC(14,88,4,a,0);
+ Manager.sendtoPLC(37,88,4,a,0);
+ Manager.sendtoPLC(38,88,4,a,0);
+ Manager.sendtoPLC(39,88,4,a,0);
+ //鏀嚎鍚庣墖鍙�
+ Manager.sendtoPLC(13,236,4,a,0);
+ //涓濆嵃鐑樺共
+ Manager.sendtoPLC(19,88,4,a,10000);
+ Manager.sendtoPLC(20,88,4,a,10000);
+ Manager.sendtoPLC(21,88,4,a,10000);
+ Manager.sendtoPLC(22,88,4,a,10000);
+ //閽㈠墠
+ Manager.sendtoPLC(23,88,4,a,0);
+ //閽㈠寲
+ Manager.sendtoPLC(24,26,8,ganghua,0);
+ //閽㈠悗
+ Manager.sendtoPLC(25,88,4,a,0);
+ //璐磋啘
+ Manager.sendtoPLC(26,88,4,a,0);
+ Manager.sendtoPLC(76,88,4,a,0);
+ Manager.sendtoPLC(77,88,4,a,0);
+
+ }
+ else if(zts==99){
+ Manager.dayin(1,changpinghao);
+ }
+
+
+
%>
\ No newline at end of file
diff --git a/gmms/WebContent/orderManage/YieldQuery.html b/gmms/WebContent/orderManage/YieldQuery.html
new file mode 100644
index 0000000..4d3485a
--- /dev/null
+++ b/gmms/WebContent/orderManage/YieldQuery.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Document</title>
+ <script src="../js/main.js"></script>
+</head>
+<body>
+ <div id="app">
+ <el-container>
+ <el-header>
+ <el-date-picker
+ v-model="dateSelect"
+ type="datetimerange"
+ :picker-options="pickerOptions"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ align="right"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ >
+
+ </el-date-picker>
+
+ <el-input style="width: 175px;"
+ placeholder="璇疯緭鍏ユ満鍣↖D"
+ v-model="machineid"
+ clearable>
+ </el-input>
+ </el-header>
+ <el-main style="height: 90vh;">
+ <show-table :tablehead="tableHead" :tabledata="tableData"></show-table>
+
+ </el-main>
+ </el-container>
+
+
+
+
+
+
+ </div>
+</body>
+<script>
+ let app= new Vue({
+ el: '#app',
+ mixins:[mixin],
+ data(){
+ return{
+ pickerOptions: {
+ shortcuts: [{
+ text: '鏈�杩戜竴鍛�',
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+ picker.$emit('pick', [start, end]);
+ }
+ }, {
+ text: '鏈�杩戜竴涓湀',
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+ picker.$emit('pick', [start, end]);
+ }
+ }, {
+ text: '鏈�杩戜笁涓湀',
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+ picker.$emit('pick', [start, end]);
+ }
+ }]
+ },
+ dateSelect:["",""],
+ machineid:"",
+ tableData:[{}],
+ tableHead:[{
+ "0_machine_id":'鏈哄櫒ID',
+ "1_machine_name":'鏈哄櫒鍚嶇О',
+ "2_jishu":'浜ч噺',
+ "3_tingji":'鍋滄満鏃堕棿'
+ }]
+
+ }
+
+ },
+ methods:{
+ },
+ async mounted() {
+ let timer1=await setInterval(()=>{
+ let arrObj={
+ machineid:this.machineid,
+ stateData:this.dateSelect[0],
+ endeData:this.dateSelect[1]
+ }
+ sql="{call glog.datetimeMachineGlassSum(?,?,?,?)}~"+JSON.stringify(arrObj)
+ this.interValLoadAjxs('浜ч噺鏌ヨ',sql,2,"tableData",timer1)
+ },5000)
+ },
+
+ })
+
+
+
+ </script>
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/orderManage/order.jsp b/gmms/WebContent/orderManage/order.jsp
index 798de1a..5fc2793 100644
--- a/gmms/WebContent/orderManage/order.jsp
+++ b/gmms/WebContent/orderManage/order.jsp
@@ -24,7 +24,7 @@
</head>
<body>
<div id="app" >
- <el-container v-loading="loading" >
+ <el-container v-loading="loading" style="width:100%;height:100%" >
<el-header style="margin-top: 3%;height: 3%;">
<el-button @click="showFlagFuc" type="primary" round style="float:right;">{{showFlag==false?'杩斿洖璁㈠崟':'鏂板璁㈠崟'}}</el-button>
<el-date-picker v-show="showFlag" style="float: left;margin-bottom: 0.3%;"
@@ -32,7 +32,9 @@
type="daterange"
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡">
+ end-placeholder="缁撴潫鏃ユ湡"
+ value-format="yyyy-MM-dd"
+ >
</el-date-picker>
<el-button @click="selectTimeOrder" v-show="showFlag" type="primary" icon="el-icon-search"
@@ -41,10 +43,10 @@
</el-button>
</el-header>
- <el-main >
+ <el-main style="width:100%;height:97%">
<el-table v-show="showFlag"
:data="orderData"
- max-height="600"
+ height="95%"
style="width: 100%;">
@@ -72,7 +74,7 @@
淇敼
</el-button>
<el-button
- v-if="orderData[scope.$index]['11_order_status']>1"
+ v-if="orderData[scope.$index]['11_order_status']==2"
@click.native.prevent="open(scope.$index, orderData)"
type="text"
size="small">
@@ -157,6 +159,7 @@
<script src="../js/jquery-3.4.1.min.js"></script>
<script src="../js/static/js/vue.js"></script>
+ <script src="../js/global.js"></script>
<script src="../js/axios.min.js"></script>
<script src="../js/mixins.js"></script>
<!-- import JavaScript -->
@@ -217,7 +220,7 @@
ruleForm: {
produceid:"",
glassNum:"",
- creator:'<%= request.getParameter("xingming") %>'
+ creator:'',
},
rules: {
produceid: [
@@ -259,6 +262,7 @@
if (!valid) {
return false;
}
+ this.ruleForm.creator='<%= request.getParameter("xingming")%>';
let sql="{call AXJ_a_order_add(?,?,?,?)}~"+JSON.stringify(this.ruleForm);
this.connects("璁㈠崟鏂板",sql,1,1);
});
@@ -285,10 +289,12 @@
if (!valid) {
return false;
}
+ this.ruleForm.creator='<%= request.getParameter("xingming")%>';
let updateGlassObj=this.ruleForm
updateGlassObj.id=this.updateOrder.id
+
let sql="{call AXJ_a_order_update(?,?,?,?,?)}~"+JSON.stringify(updateGlassObj);
- this.connects("浜у搧淇敼",sql,1,1);
+ this.connects("璁㈠崟淇敼",sql,1,1);
});
},
@@ -299,7 +305,7 @@
let sql="{call AXJ_a_order_updateState(?,?,?)}~"+JSON.stringify(updateState);
this.connects("璁㈠崟鐘舵�佸鏍镐慨鏀�",sql,1,1);
},
- selectSub:function(){
+ async selectSub(){
let arrObj={}
let arrFlag=0
for(let i in this.slectOrder){
@@ -321,9 +327,10 @@
sql="{call AXJ_a_order_select_into()}"
}
this.loading=true
- this.loadAjxss('璁㈠崟鏌ヨ',sql,2,"orderData")
+ await this.loadAjxss('璁㈠崟鏌ヨ',sql,2,"orderData")
+ this.loading=false
},
- selectTimeOrder:function(){
+ async selectTimeOrder(){
let arrObj={}
for(let i in this.slectOrder){
arrObj[i]='n*'
@@ -339,8 +346,8 @@
sql="{call AXJ_a_order_select_into()}"
}
this.loading=true
- this.loadAjxss('璁㈠崟鏌ヨ',sql,2,"orderData")
- //loadAjxs('浜у搧鏌ヨ',sql,2,"orderData")
+ await this.loadAjxss('璁㈠崟鏌ヨ',sql,2,"orderData")
+ this.loading=false
},
open(index,row) {//鎵撳紑鍒虹牬鐣岄潰
@@ -365,18 +372,19 @@
computed:{
},
- mounted() {
+ async mounted() {
let sql="{call AXJ_a_order_select_into()}"
let flag=2;
- this.loadAjxss('璁㈠崟鍒濆鏌ヨ',sql,flag,"orderData")
+ await this.loadAjxss('璁㈠崟鍒濆鏌ヨ',sql,flag,"orderData")
/* loadAjxs('璁㈠崟鍒濆鏌ヨ',sql,flag,"orderData") */
sql="{call AXJ_a_orderHeader_select()}"
- loadAjxs('璁㈠崟琛ㄥご',sql,flag,"tableHead")
+ await this.loadAjxss('璁㈠崟琛ㄥご',sql,flag,"tableHead")
sql="{call AXJ_a_order_produce_select()}"
- loadAjxs('璁㈠崟浜у搧鏌ヨ',sql,flag,"orderProduce")
+ await this.loadAjxss('璁㈠崟浜у搧鏌ヨ',sql,flag,"orderProduce")
+ this.loading=false
},
})
diff --git a/gmms/WebContent/orderManage/produce.jsp b/gmms/WebContent/orderManage/produce.jsp
index 5602e19..ad8fa71 100644
--- a/gmms/WebContent/orderManage/produce.jsp
+++ b/gmms/WebContent/orderManage/produce.jsp
@@ -5,8 +5,41 @@
<meta charset="UTF-8">
<!-- import CSS -->
<link rel="stylesheet" href="../js/static/css/element.css">
- <link rel="stylesheet" href="../js/static/css/style.css">
+ <!-- <link rel="stylesheet" href="../js/static/css/style.css"> -->
<style >
+ html,body{
+ width: 99%;
+ height: 99%;
+ background-color: #D5EAFF;
+ padding: 0%;
+ margin: auto;
+ text-align: center;
+display: flex;
+justify-content: center;
+align-items: center;
+}
+#app{
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ padding: 0;
+}
+#divHead,#left,#main,.shelf{
+ box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
+}
+input::-webkit-outer-spin-button,
+input::-webkit-inner-spin-button {
+ -webkit-appearance: none;
+}
+*{
+ text-align: center;
+}
+#mains{
+ height: 100%;
+ width: 100%;
+ padding: 0;
+ margin: 0;
+}
.page-scroll {
height: 100%;
}
@@ -24,14 +57,14 @@
</head>
<body>
<div id="app" >
- <el-container >
+ <el-container style="width:100%;height:100%" >
<el-header style="height: 3%;">
<el-button @click="showFlagFuc" type="primary" round style="float:left;">{{showFlag==false?'杩斿洖浜у搧':'娣诲姞浜у搧'}}</el-button>
</el-header>
- <el-main >
+ <el-main style="width:100%;height:97%" >
<el-table v-show="showFlag"
:data="produceData"
- max-height="600"
+ height="100%"
style="width: 100%;">
@@ -40,7 +73,7 @@
:key="index"
:label="item"
>
- <el-table-column :prop="keys" v-if="index==0">
+ <el-table-column :prop="keys" v-if="index==0" >
<template slot-scope="scope" v-if="Object.keys(produceData[0]).length!=0">
<el-button
@click.native.prevent="updateRow(scope.$index, produceData)"
@@ -61,7 +94,7 @@
</el-table-column>
</el-table>
<!-- 鏂板淇敼 -->
- <div v-show="updateShowFlag" style="width: 30%;float: left;margin-top: 10%;margin-left: 10%; ">
+ <div v-show="updateShowFlag" style="width: 30%;height: 50vh;float: left;margin-top: 10%;margin-left: 10%; ">
<img :src="ruleForm.route" >
</div>
@@ -127,6 +160,7 @@
<script src="../js/jquery-3.4.1.min.js"></script>
<script src="../js/axios.min.js"></script>
<script src="../js/static/js/vue.js"></script>
+ <script src="../js/global.js"></script>
<script src="../js/mixins.js"></script>
<!-- import JavaScript -->
<script src="../js/static/js/element.js"></script>
@@ -240,7 +274,7 @@
}
this.ruleForm.creator='<%= request.getParameter("xingming") %>';
let sql="{call AXJ_a_produce_insert(?,?,?,?,?,?,?,?,?)}~"+JSON.stringify(this.ruleForm);
- this.connects("鏂板浜у搧",sql,1,1);
+ this.connects("鏂板浜у搧",sql,1,1);
});
},
resetForm(formName) {
@@ -308,7 +342,7 @@
arrObj[i]=this.selectGlass[i]
}
let sql="{call AXJ_a_produce_select(?,?,?,?,?,?,?,?,?)}~"+JSON.stringify(arrObj);
- loadAjxs('浜у搧鏌ヨ',sql,2,"produceData");
+ this.loadAjxss('浜у搧鏌ヨ',sql,2,"produceData");
}
},
computed:{
@@ -317,13 +351,13 @@
mounted() {
let sql="{call AXJ_a_produce_select_into()}";
let flag=2;
- loadAjxs('浜у搧鍒濆鏌ヨ',sql,flag,"produceData");
+ this.loadAjxss('浜у搧鍒濆鏌ヨ',sql,flag,"produceData");
sql="{call AXJ_a_produceHeader_select()}";
- loadAjxs('浜у搧琛ㄥご',sql,flag,"tableHead");
+ this.loadAjxss('浜у搧琛ㄥご',sql,flag,"tableHead");
sql="{call AXJ_a_optFile_select()}";
- loadAjxs('浜у搧opt缂栫爜鏌ヨ',sql,flag,"optList");
+ this.loadAjxss('浜у搧opt缂栫爜鏌ヨ',sql,flag,"optList");
},
})
diff --git a/gmms/WebContent/orderManage/siteWork.jsp b/gmms/WebContent/orderManage/siteWork.jsp
new file mode 100644
index 0000000..712408f
--- /dev/null
+++ b/gmms/WebContent/orderManage/siteWork.jsp
@@ -0,0 +1,354 @@
+<%@ page contentType="text/html;charset=UTF-8"%>
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="UTF-8">
+ <!-- import CSS -->
+ <link rel="stylesheet" href="../js/static/css/element.css">
+ <!-- <link rel="stylesheet" href="../js/static/css/style.css"> -->
+ <style >
+ html,body{
+ width: 99%;
+ height: 99%;
+ background-color: #D5EAFF;
+ padding: 0%;
+ margin: auto;
+ text-align: center;
+display: flex;
+justify-content: center;
+align-items: center;
+}
+#app{
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ padding: 0;
+}
+#divHead,#left,#main,.shelf{
+ box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
+}
+input::-webkit-outer-spin-button,
+input::-webkit-inner-spin-button {
+ -webkit-appearance: none;
+}
+*{
+ text-align: center;
+}
+#mains{
+ height: 100%;
+ width: 100%;
+ padding: 0;
+ margin: 0;
+}
+ .page-scroll {
+ height: 100%;
+ }
+
+ .page-scroll .el-scrollbar__wrap {
+ overflow-x: hidden;
+ }
+ img{
+ width: auto;
+ height: auto;
+ max-width: 100%;
+ max-height: 100%;
+}
+ </style>
+</head>
+<body>
+ <div id="app" v-loading="loading" element-loading-background="white" >
+ <el-container style="width:100%;height:100%" >
+ <el-header style="height: 3%;">
+ <el-button @click="showFlagFuc" type="primary" round style="float:left;">{{showFlag==false?'杩斿洖':'娣诲姞浣滀笟鍥�'}}</el-button>
+ </el-header>
+ <el-main style="width:100%;height:97%" >
+ <el-table v-show="showFlag"
+ :data="produceData"
+ height="100%"
+ style="width: 100%;">
+
+
+ <el-table-column
+ v-for="(item,keys,index) in tableHead[0]"
+ :key="index"
+ :label="item"
+
+ >
+ <el-table-column :prop="keys" v-if="index==0" >
+ <template slot-scope="scope" v-if="Object.keys(produceData[0]).length!=0">
+ <el-button
+ @click.native.prevent="updateRow(scope.$index, produceData)"
+ type="text"
+ size="small">
+ 淇敼
+ </el-button>
+
+ <el-button
+ @click.native.prevent="updateRow1(scope.$index, produceData)"
+ type="text"
+ size="small">
+ 浣滃簾
+ </el-button>
+ </template>
+ </el-table-column>
+
+ <el-table-column :prop="keys" v-if="index>0">
+
+ </el-table-column>
+
+ </el-table-column>
+ </el-table>
+<!-- 鏂板淇敼 -->
+ <div v-show="updateShowFlag" style="width: 30%;height: 50vh;float: left;margin-top: 10%;margin-left: 10%; ">
+ <img :src="ruleForm.route" >
+ </div>
+
+ <el-form v-show="!showFlag" :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" style="width: 25%;float: right;margin-right: 20%;">
+ <el-form-item>
+ <el-button v-show="updateShowFlag" type="primary" @click="updateGlassSub('ruleForm')" v-preventReClick ='3000'>淇敼</el-button>
+ <el-button v-show="!updateShowFlag" type="primary" @click="submitForm('ruleForm')" v-preventReClick='3000'>鎻愪氦</el-button>
+ <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+ </el-form-item>
+
+
+
+ <el-form-item label="澶у睆閫夋嫨" prop="optNum">
+ <template>
+ <el-select v-model="ruleForm.optNum" placeholder="璇烽�夋嫨" clearable filterable>
+ <el-option
+ v-for="item in optList"
+ :key="item['0_screen_id']"
+ :label="item['2_screen']"
+ :value="item['0_screen_id']">
+ </el-option>
+ </el-select>
+ </template>
+ </el-form-item>
+
+ <el-form-item label="浣滀笟鍥剧墖涓婁紶" prop="route" >
+ <el-upload
+ :limit="1"
+ :on-change="changeFile"
+ class="upload-demo"
+ ref="upload"
+ action="https://jsonplaceholder.typicode.com/posts/"
+ :file-list="fileList"
+ :auto-upload="false">
+ <el-button slot="trigger" size="small" type="primary" >閫夊彇鏂囦欢</el-button>
+ <div slot="tip" class="el-upload__tip">鍙兘涓婁紶jpg/png鏂囦欢锛屼笖涓嶈秴杩�5m</div>
+ </el-upload>
+ </el-form-item>
+
+ </el-form>
+
+ </el-main>
+ <!-- <el-footer style="background-color: azure;"></el-footer> -->
+ </el-container>
+ </div>
+</body>
+ <!-- import Vue before Element -->
+ <script src="../js/jquery-3.4.1.min.js"></script>
+
+ <script src="../js/static/js/vue.js"></script>
+ <script src="../js/axios.min.js"></script>
+
+ <script src="../js/mixins.js"></script>
+ <script src="../js/global.js"></script>
+ <!-- import JavaScript -->
+ <script src="../js/static/js/element.js"></script>
+ <script src="../js/static/js/echarts.min.js"></script>
+
+ <script >
+ //import * as echarts from '../js/echarts.min.js';
+ Vue.prototype.$echarts = echarts
+ Vue.prototype.$http= axios
+ let app =new Vue({
+ el: '#app',
+ mixins:[mixin],
+ data(){
+ var checkNum = (rule, value, callback) => {
+ if (!value) {
+ return callback(new Error('涓嶈兘涓虹┖'));
+ }
+ setTimeout(() => {
+ let reg = new RegExp(`^[0-9]{1,4}(\.[0-9]{0,2})?$`)
+
+ if (!reg.test(value)) {
+ callback(new Error('璇疯緭鍏�0.01-9999.99鐨勬暟瀛�'));
+ }else {
+ callback();
+ }
+
+ }, 1000);
+ };
+ var checkString = (rule, value, callback) => {
+ if (!value) {
+ return callback(new Error('涓嶈兘涓虹┖'));
+ }
+ setTimeout(() => {
+ // if (value.length>255) {
+ // callback(new Error('鏈�澶ч暱搴�255'));
+ // }else {
+ // callback();
+ // }
+ callback();
+ }, 1000);
+ };
+ var checkThickness = (rule, value, callback) => {
+ if (!value) {
+ return callback(new Error('涓嶈兘涓虹┖鎴栬��0'));
+ }
+ setTimeout(() => {
+ let reg = new RegExp(`^[0-9]*[1-9][0-9]*$`)
+
+ if (!reg.test(value)) {
+ callback(new Error('璇疯緭鍏ユ鏁存暟鐨勫帤搴�'));
+ }else {
+ callback();
+ }
+
+ }, 1000);
+ };
+ return {
+ ruleForm: {
+ optNum:'',
+ route:'',
+ photoName:''
+ },
+ rules: {
+ optNum: [
+ { validator: checkString, trigger: 'blur' }
+ ],
+ route: [
+ { validator: checkString, trigger: 'blur' }
+ ],
+
+ },
+ tableHead:[],
+ produceData:[],
+ showFlag:true,
+ updateShowFlag:false,
+ updateGlass:{
+ id:''
+ },
+ optList:[],
+ fileList:[],
+ selectGlass:["","","","","","","",""],
+ loading:true,
+
+
+ };
+
+ },
+ methods: {
+ submitForm(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (!valid) {
+ return false
+ }
+ let sql="{call AXJ_a_largeScreen_phtot_insert(?,?,?,?)}~"+JSON.stringify(this.ruleForm);
+ this.connects("鏂板鐜板満浣滀笟鍥�",sql,1,1)
+ });
+ },
+ resetForm(formName) {
+ this.$refs[formName].resetFields();
+ },
+ showFlagFuc(){
+ Object.keys(this.ruleForm).forEach((key) => (this.ruleForm[key] = ''));
+ this.showFlag=!this.showFlag
+ this.updateShowFlag=false;
+ },
+ updateRow(index,row){//淇敼浜у搧鏁版嵁鏄剧ず
+ this.showFlag=!this.showFlag
+ this.updateShowFlag=true;
+ let rowObj=row[index]
+ this.ruleForm.optNum=rowObj["1_screen_id"]
+ this.ruleForm.route=rowObj["4_route"]
+ this.ruleForm.photoName=rowObj["3_photo_name"]
+ this.updateGlass.id=rowObj["0_id"]
+ },
+ updateRow1(index,row){//淇敼浜у搧鏁版嵁鏄剧ず
+
+ if(!confirm("纭浣滃簾澶у睆鏂囦欢")){
+ return false
+ }
+ let rowObj=row[index]
+ this.updateGlass.id=rowObj["0_id"]
+ let sql="{call AXJ_a_largeScreen_phtot_delete(?,?)}~"+JSON.stringify(this.updateGlass);
+ this.connects("澶у睆浣滀笟鍥句綔搴�",sql,1,1);
+ },
+ updateGlassSub(formName){
+ this.$refs[formName].validate((valid) => {
+ if (!valid) {
+ return false;
+ }
+ let updateGlassObj=this.ruleForm
+ updateGlassObj.id=this.updateGlass.id
+
+ let sql="{call AXJ_a_largeScreen_phtot_update(?,?,?,?,?)}~"+JSON.stringify(updateGlassObj);
+ this.connects("澶у睆浣滀笟鍥句慨鏀�",sql,1,1);
+ });
+
+ },
+ changeFile(file){//娣诲姞鏂囦欢瑙﹀彂鐢熸垚base64鏂囦欢
+ const isJPG = file.raw.type === 'image/jpeg' || file.raw.type === 'image/png' ;
+ const isLt2M = file.size / 1024 / 1024 < 5;
+
+ if (!isJPG) {
+ this.$message.error('涓婁紶澶村儚鍥剧墖鍙兘鏄� JPG鎴栬�匬NG 鏍煎紡!')
+ this.$refs.upload.clearFiles()
+ return
+ }
+ if (!isLt2M) {
+ this.$message.error('涓婁紶澶村儚鍥剧墖澶у皬涓嶈兘瓒呰繃 5MB!')
+ this.$refs.upload.clearFiles()
+ return
+ }
+
+ return new Promise((resolve, reject) => {
+ let reader = new FileReader();
+ console.log(file.raw.name);
+ reader.readAsDataURL(file.raw);
+ reader.onload = (e) => {
+ resolve(e.target.result);
+
+ this.ruleForm.route=e.target.result;
+ this.ruleForm.photoName=file.raw.name;
+ };
+ });
+ },
+ selectSub:function(){
+ let arrObj={}
+ for(let i in this.selectGlass){
+ arrObj[i]=this.selectGlass[i]
+ }
+ let sql="{call AXJ_a_produce_select(?,?,?,?,?,?,?,?,?)}~"+JSON.stringify(arrObj);
+ this.loadAjxss('浜у搧鏌ヨ',sql,2,"produceData");
+ }
+ },
+ computed:{
+
+ },
+ watch:{
+ produceData(){
+ this.loading=false
+ }
+ },
+ mounted() {
+ let sql="{call AXJ_a_largeScreen_phtotList_select()}";
+ let flag=2;
+ this.loadAjxss('浜у搧鍒濆鏌ヨ',sql,flag,"produceData");
+
+ sql="{call AXJ_a_largeScreen_phtotHead_select()}";
+ this.loadAjxss('浜у搧琛ㄥご',sql,flag,"tableHead");
+
+ sql="{call AXJ_a_largeScreen_phtotScreenList_select()}";
+ this.loadAjxss('浣滀笟鍥惧ぇ灞忓垪琛�',sql,flag,"optList");
+ },
+
+ })
+
+
+
+ </script>
+</html>
\ No newline at end of file
diff --git a/gmms/WebContent/qiegeguanli/qiegerenwu.jsp b/gmms/WebContent/qiegeguanli/qiegerenwu.jsp
index ce9c01d..ab66e5b 100644
--- a/gmms/WebContent/qiegeguanli/qiegerenwu.jsp
+++ b/gmms/WebContent/qiegeguanli/qiegerenwu.jsp
@@ -47,7 +47,7 @@
<div id='app'>
<!-- <div style='height:20px;width:300px;background-color:#3C8DBC;float:right;'><span style = 'color:#fff;' >鏁呴殰鎯呭喌:</span><span id='infos'></span></div> -->
<section class="content-header" style="padding: 0px 15px 0 15px;">
- <h1>璁㈠崟浠诲姟 <small></small></h1>
+ <h1 @dblclick="dangqianpeifang()">璁㈠崟浠诲姟 </h1>
<ol class="breadcrumb">
@@ -86,7 +86,7 @@
</tr>
</thead>
<tbody>
- <tr v-for="item in shuzu">
+ <tr v-for="item in shuzu" style="height: 51px;">
<td>{{item['1_order_id']}}</td>
<td>{{item['2_original_width']}}</td>
<td>{{item['3_original_height']}}</td>
@@ -121,7 +121,7 @@
</td>
<td v-else-if="item['11_order_status']==2">
- <button @click="dainjishijian('缁撴潫浠诲姟',item['0_id'])" style='background-color: #5CADFE' class='btn btn-large btn-success' >缁撴潫浠诲姟</button>
+ <button @click="dainjishijian('缁撴潫浠诲姟',item['0_id'])" style='background-color: red' class='btn btn-large btn-success' >缁撴潫浠诲姟</button>
<button @click="dainjishijian('鍙栨秷浠诲姟',item['0_id'])" style='background-color: #5CADFE' class='btn btn-large btn-success' >鍙栨秷浠诲姟</button>
</td>
@@ -163,6 +163,50 @@
</form>
</div>
+
+ <div class="modal fade" id="modify-infos" tabindex="-1" role="dialog"
+ aria-labelledby="myModalLabel" aria-hidden="true" style="height: 600px;">
+
+ <div class="modal-dialog" >
+ <div class="modal-content" >
+ <table class="table table-striped table-hover"
+ style="overflow-x: auto;font-size: 12px;">
+ <thead>
+ <tr>
+ <th>鏈哄櫒缂栧彿</th>
+ <th>鏈哄櫒鍚嶇О</th>
+ <th>閰嶆柟绫诲瀷</th>
+ <th>閰嶆柟鍊�</th>
+
+ </tr>
+ </thead>
+ <tbody>
+ <tr v-for="item in shuzu2">
+ <td>{{item['0_id']}}</td>
+ <td>{{item['1_machine_name']}}</td>
+ <td>{{item['2_class_html']}}</td>
+ <td>{{item['3_content_value']}}</td>
+
+ </tr>
+ </tbody>
+ </table>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default btn-lg"
+ data-dismiss="modal">鍏抽棴</button>
+ <button v-if="peifanhao[0]['0_recipe_no']!=null" id="tiebiaoji" @click="peifangxiafa(2)" type="button" class="btn btn-primary btn-lg"
+ id="tiebiaoji">璐存爣鏈烘暟鎹笅鍙�</button>
+ <button v-if="peifanhao[0]['0_recipe_no']!=null" id="peifangxiafa" @click="peifangxiafa(1)" type="button" class="btn btn-primary btn-lg"
+ id="peifangxiafa">閰嶆柟涓嬪彂</button>
+
+
+
+ </div>
+ </div>
+
+ </div>
+
+ </div>
+
</section>
<!-- /.content -->
</div>
@@ -180,16 +224,27 @@
data:{
shuzu:[],
shuzu1:[],
+ shuzu2:[],
lines:<%= request.getParameter("id") %>,
- peifanhao:[],
+ peifanhao:[{}],
subval:{
id:'',
type:''
}
},
methods:{
- dainjishijian:function(type,id){
- console.log(type,id);
+ dangqianpeifang(){
+
+ this.shuzu2="";
+ let sql="{call AXJ_a_get_machine_recipe_select()}";
+ let flag=2;
+ this.loadAjxss('浠诲姟鏌ヨ鎴愬姛',sql,flag,"shuzu2");
+ let sql1="{call AXJ_qiegeguanli_peifanghao_cahxun1()}";
+ this.loadAjxss('閰嶆柟鍙锋煡璇�',sql1,2,"peifanhao")
+
+ $("#modify-infos").modal('show');
+ },
+ dainjishijian(type,id){
$("#modify-info").modal('show');
if(type=="棰嗗彇浠诲姟"){
this.subval.type=2;
@@ -201,9 +256,15 @@
this.subval.type=1;
}
this.subval.id=id
+ let para={
+ ids:id
+ }
+ let sql="{call AXJ_qiegeguanli_peifanghao_cahxun(?,?)}~"+JSON.stringify(para);
+ this.loadAjxss('閰嶆柟鍙锋煡璇�',sql,2,"peifanhao")
},
getMSg(){
//this.getMSgs();
+
this.renwuguanli();
},
getMSgs(){
@@ -216,8 +277,8 @@
param.append("flag",1);
param.append("anquanma",json["anquanma"]);
- this.$http.post('../mysqlInsert/mysql.jsp',param).then(({ data }) => {
- let result=$(data).text();
+ this.$http.post('../mysqlInsert/mysql.jsp',param).then(( datas ) => {
+ let result=datas.data;
index = result.indexOf("[[");
if(index>-1){
if(result.indexOf("[[anquanmaerr]]")>-1){
@@ -231,6 +292,7 @@
}
}else{
alert("浠诲姟淇敼鎴愬姛锛�")
+ resolve();
window.location.reload();
}
@@ -244,6 +306,11 @@
let param = new URLSearchParams();
param.append("zt",this.subval.type);
param.append("peifanhao",this.peifanhao[0]['0_recipe_no']);
+ param.append("changpinghao",this.peifanhao[0]['1_changpinghao']);
+ param.append("way_of_working",this.peifanhao[0]['2_way_of_working']);
+ param.append("thickness",this.peifanhao[0]['3_thickness']);
+ param.append("glass_type",this.peifanhao[0]['4_glass_type']);
+ param.append("production_type",this.peifanhao[0]['5_production_type']);
this.$http.post( '../mysqlInsert/toPlc.jsp',param)
.then(function (response) {
console.log(response);
@@ -253,6 +320,40 @@
alert('Error: ' + "鏈嶅姟鍣ㄦ満鍣ㄨ繛鎺ュ彂鐢熼敊璇紒");
});
})
+ },
+ peifangxiafa(leixing){
+ if(leixing=1){
+ let param = new URLSearchParams();
+ param.append("zt",98);
+ param.append("peifanhao",this.peifanhao[0]['0_recipe_no']);
+ this.$http.post( '../mysqlInsert/toPlc.jsp',param)
+ .then(function (response) {
+ console.log(response);
+ })
+
+ .catch(function (error) {
+ alert('Error: ' + "鏈嶅姟鍣ㄦ満鍣ㄨ繛鎺ュ彂鐢熼敊璇紒");
+ });
+ }else if(leixing=2){
+ let param = new URLSearchParams();
+ param.append("zt",99);
+ param.append("peifanhao",this.peifanhao[0]['0_recipe_no']);
+ param.append("changpinghao",this.peifanhao[0]['1_changpinghao']);
+ param.append("way_of_working",this.peifanhao[0]['2_way_of_working']);
+ param.append("thickness",this.peifanhao[0]['3_thickness']);
+ param.append("glass_type",this.peifanhao[0]['4_glass_type']);
+ param.append("production_type",this.peifanhao[0]['5_production_type']);
+ this.$http.post( '../mysqlInsert/toPlc.jsp',param)
+ .then(function (response) {
+ console.log(response);
+ })
+
+ .catch(function (error) {
+ alert('Error: ' + "鏈嶅姟鍣ㄦ満鍣ㄨ繛鎺ュ彂鐢熼敊璇紒");
+ });
+ }
+
+
},
renwuguanliquxiao:function(){
this.subval='';
@@ -266,9 +367,9 @@
this.shuzu="";
let sql="{call AXJ_qiegeguanli_threelinetask_list1()}";
let flag=2;
- loadAjxs('浠诲姟鏌ヨ鎴愬姛',sql,flag,"shuzu");
- sql="{call AXJ_qiegeguanli_peifanghao_cahxun()}";
- loadAjxs('閰嶆柟鍙锋煡璇�',sql,flag,"peifanhao");
+ this.loadAjxss('浠诲姟鏌ヨ鎴愬姛',sql,flag,"shuzu");
+ /* sql="{call AXJ_qiegeguanli_peifanghao_cahxun()}";
+ loadAjxs('閰嶆柟鍙锋煡璇�',sql,flag,"peifanhao"); */
}
})
diff --git a/gmms/WebContent/qiegeguanli/shangpianweixinxi.jsp b/gmms/WebContent/qiegeguanli/shangpianweixinxi.jsp
index 5e31eca..ad7eb3e 100644
--- a/gmms/WebContent/qiegeguanli/shangpianweixinxi.jsp
+++ b/gmms/WebContent/qiegeguanli/shangpianweixinxi.jsp
@@ -271,7 +271,7 @@
</button>
<ul class="dropdown-menu" style="height: 320px; overflow: auto;">
<li v-for='items in shelfRack' style="font-size: 20px">
- <a href="#" onclick="$('#shelfRankInput').val($(this).text())">{{items[0]}}</a>
+ <a href="#" onclick="$('#shelfRankInput').val($(this).text())">{{items['0_number']}}</a>
</li>
</ul>
</div>
@@ -295,7 +295,7 @@
</button>
<ul class="dropdown-menu" style="height: 280px; overflow: auto;background-color:bule">
<li v-for='color in colors' style="font-size: 20px;background-color:bule"><a href="#"
- onclick="$('#colors').val($(this).text())">{{color[0]}}</a></li>
+ onclick="$('#colors').val($(this).text())">{{color['0_glass_id']}}</a></li>
</ul>
</div>
@@ -497,17 +497,20 @@
</body>
<script type="text/javascript" src="../static/bootstrap/3.3.7/js/bootstrap.min.js"></script>
-<script src="../js/vue.min.js"></script>
+ <script src="../js/axios.min.js"></script>
<script src="../js/mixins.js"></script>
+<script src="../js/vue.min.js"></script>
+
<script>
+Vue.prototype.$http= axios
let app = new Vue({
el:'#app',
mixins:[mixin],
data:{
shuzu:[],
shuzu1:[],
- shelfRack:<%= DBHelper.getDBHelper("mes").query(false,"SELECT number from storage_rack where state='浣跨敤涓�' and falg='鍚敤';") %>,
- colors:<%= DBHelper.getDBHelper("mes").query(false,"SELECT glass_id from glass_number_color ") %>,
+ shelfRack:[{}],
+ colors:[{}],
updateGlassId:"",
pieces:"",
clearGlassMsg:{
@@ -601,10 +604,14 @@
this.shuzu1="";
let sql="{call AXJ_qiegeguanli_shangpianwei_chaxun()}";
let flag=2;
- loadAjxs('浠撳偍浠诲姟涓婇潰鏌ヨ',sql,flag,"shuzu");
+ this.loadAjxss('浠撳偍浠诲姟涓婇潰鏌ヨ',sql,flag,"shuzu");
let sql1="{call AXJ_qiegeguanli_shangpianwei_chaxun1()}";
- loadAjxs('浠撳偍浠诲姟涓婇潰鏌ヨ',sql1,flag,"shuzu1");
+ this.loadAjxss('浠撳偍浠诲姟涓婇潰鏌ヨ',sql1,flag,"shuzu1");
+ sql="{call AXJ_liaojiaguanli_colors(?)}";
+ this.loadAjxss('涓婄墖浣嶉鑹叉煡璇�',sql,flag,"colors");
+ sql="{call AXJ_liaojiaguanli_shelfrack_shangpianwei()}";
+ this.loadAjxss('涓婄墖浣嶆灦瀛愭煡璇�',sql,flag,"shelfRack");
}
})
diff --git a/gmms/WebContent/yuanpiancangchu/cangchurenwuxinxi.jsp b/gmms/WebContent/yuanpiancangchu/cangchurenwuxinxi.jsp
index f8a42c0..58102e6 100644
--- a/gmms/WebContent/yuanpiancangchu/cangchurenwuxinxi.jsp
+++ b/gmms/WebContent/yuanpiancangchu/cangchurenwuxinxi.jsp
@@ -19,8 +19,7 @@
<!-- jQuery 3 -->
<script src="../js/jquery-3.4.1.min.js"></script>
<!-- Bootstrap 3.3.7 -->
-<script
- src="../static/AdminLTE/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
+
<!-- DataTables -->
<!-- SlimScroll -->
<!-- FastClick -->
@@ -90,7 +89,7 @@
<div class="box box-default" style="background-color:#D5EAFF;">
<div class="box-header with-border">
<h3 class="box-title">浠撳偍</h3>
- <span :class="connect[0]['1_classname']">{{connect[0]['0_connect_state']}}</span>
+ <span :class="classname">{{connect[0]['0_connect_state']}}</span>
</div>
<!-- /.box-header -->
<button type="button" @click="delAll('閲嶆柊寮�濮�')" class="btn btn-primary ">閲嶆柊寮�濮�</button>
@@ -112,7 +111,7 @@
</thead>
<tbody>
<tr v-for="items in shuzu">
- <td><input v-model="shelftaskids" type='checkbox' :value="items[0]"/></td>
+ <td><input v-model="shelftaskids" type='checkbox' :value="items['0_id']"/></td>
<td>{{items['0_id']}}</td>
<td>{{items['1_task_type']}}</td>
<td>{{items['2_task_state']}}</td>
@@ -147,9 +146,10 @@
<!-- /.content-wrapper -->
<!-- page script -->
+<script src="../js/main.js"></script>
+<script
+ src="../static/AdminLTE/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
-<script src="../js/vue.min.js"></script>
-<script src="../js/mixins.js"></script>
<script>
let app = new Vue({
el:'#app',
@@ -157,7 +157,8 @@
data:{
shuzu:[],
connect:"",
- shelftaskids:[]
+ shelftaskids:[],
+ classname:''
},
methods:{
delAll:function(types){
@@ -173,12 +174,37 @@
}
}
},
- mounted:function(){
+ watch:{
+ shuzu(newVal){
+ for(let i=0;i<newVal.length;i++){
+ switch (newVal[i]['1_task_type']) {
+ case "浠庝粨浣嶅埌涓婄墖浣�":
+ newVal[i]['1_task_type']="浠庛��"+newVal[i]['3_shelf_rack']+"銆戜粨浣嶅埌銆�"+newVal[i]['4_load_rack']+"銆戜笂鐗囦綅";
+ break;
+ case "浠庝笂鐗囦綅鍒颁粨浣�":
+ newVal[i]['1_task_type']="浠庛��"+newVal[i]['4_load_rack']+"銆戜笂鐗囦綅鍒般��"+newVal[i]['3_shelf_rack']+"銆戜粨浣�";
+ break;
+
+ case "浠庝粨浣嶅埌鍚婅浣�":
+ newVal[i]['1_task_type']="浠庛��"+newVal[i]['3_shelf_rack']+"銆戜粨浣嶅埌銆�"+newVal[i]['4_load_rack']+"銆戝悐瑁呬綅";
+ break;
+ case "浠庡悐瑁呬綅鍒颁粨浣�":
+ newVal[i]['1_task_type']="浠庛��"+newVal[i]['4_load_rack']+"銆戝悐瑁呬綅鍒般��"+newVal[i]['3_shelf_rack']+"銆戜粨浣�";
+ break;
+
+ default:
+ break;
+ }
+ }
+ }
+ },
+ async mounted(){
let sql="{call AXJ_liaojiaguanli_cangchurenwuxiangxi(?)}";
let flag=2;
- loadAjxs('浠撳偍浠诲姟涓婇潰鏌ヨ',sql,flag,"shuzu");
+ this.loadAjxss('浠撳偍浠诲姟涓婇潰鏌ヨ',sql,flag,"shuzu");
sql="{call AXJ_liaojiaguanli_cangchurenwu_lianjie(?)}";
- loadAjxs('浠撳偍浠诲姟杩炴帴',sql,flag,"connect");
+ await this.loadAjxss('浠撳偍浠诲姟杩炴帴',sql,flag,"connect");
+ this.classname=this.connect[0]['1_classname']
}
})
diff --git a/gmms/WebContent/yuanpiancangchu/liaojiaguanli.jsp b/gmms/WebContent/yuanpiancangchu/liaojiaguanli.jsp
index 9ccb85f..4702c56 100644
--- a/gmms/WebContent/yuanpiancangchu/liaojiaguanli.jsp
+++ b/gmms/WebContent/yuanpiancangchu/liaojiaguanli.jsp
@@ -38,7 +38,7 @@
<script type="text/javascript" src="../static/js/sucaijiayuan.js"></script>
<script type="text/javascript" src="../static/laydate/laydate.js"></script>
<script type="text/javascript" src="../static/util/utilAlert.js"></script>
-<script type="text/javascript" src="../static/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+
<style type="text/css">
.rank {
font-weight: bolder;
@@ -103,11 +103,11 @@
<script type="text/javascript">
-/* var interval = setInterval('refreshStatus()', 20000); */
+ //let interval = setInterval('refreshStatus()', 20000);
//璁惧椤甸潰鑷姩鍒锋柊
/* function refreshStatus() {
window.location.reload();
-} */
+}
//鍋滄椤甸潰鑷姩鍒锋柊
function disableAutoRefresh() {
clearInterval(interval);
@@ -568,7 +568,6 @@
<div v-show="item['9_rukutime']*1>7" :style="{height:item['10_bfb']}" class='progress-bar progress-bar-danger progress-bar-striped progress-bar-red'>
<span>{{item['5_left_pieces']}}/{{item['8_pieces']}}</span>
</div>
-
</div>
<div>{{item['0_number']}}</div>
</td>
@@ -596,7 +595,7 @@
<table id="example" class="table table-bordered table-condensed" style="font-size: 12px;">
<thead style="font-size: 20px; Height: 40px">
<tr>
- <th><input type="checkbox" name="allChecked" /></th>
+ <th><input type="checkbox" v-model="checkFlag" name="allChecked" @click="quanxuan" /></th>
<th style="display:none">缂栧彿</th>
<th>搴撲綅鍙�</th>
<th>绫诲瀷</th>
@@ -1065,8 +1064,10 @@
</section>
</div>
</body>
-<script src="../js/mixins.js"></script>
-<script src="../js/vue.min.js"></script>
+
+<script src="../js/main.js"></script>
+<script type="text/javascript" src="../static/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+
<script>
let app = new Vue({
mixins:[mixin],
@@ -1101,6 +1102,7 @@
shuzu:[],
shelfRack:[],
colors:[],
+ checkFlag:false
},
methods:{
start:function(func){
@@ -1158,7 +1160,6 @@
}
//鑾峰彇閫夋嫨鐨勫悐瑁呬綅
this.glass.dzw=$("#dzw").val();
- alert(JSON.stringify(this.glass));
let sql="{call AXJ_liaojiaguanli_ruku(?,?,?,?,?,?,?,?,?,?)}~"+JSON.stringify(this.glass);
//console.log(sql);
$("#myModal-add-info").modal('hide');
@@ -1244,17 +1245,30 @@
this.load_rack=$("#dzw").val();
let sql="{call AXJ_liaojiaguanli_diaozhuangweiruku(?,?)}~"+"{'load_rack':'"+this.load_rack+"'}";
this.connects("鍚婅浣嶅叆搴�",sql,1,1);
+ },
+ quanxuan(){
+ this.checkFlag=!this.checkFlag;
+ this.shelfId=[];
+ if(this.checkFlag){
+ for(let item in this.shuzu){
+ this.shelfId.push(this.shuzu[item]["0_number"]);
+ }
+ }else{
+ this.shelfId=[];
+ }
+
+
}
},
mounted:function(){
let sql="{call AXJ_liaojiaguanli_kucunchaxun(?)}";
let flag=2;
- loadAjxs('鍘熺墖浠撳偍鐜荤拑鏌ヨ',sql,flag,"shuzu");
+ this.loadAjxss('鍘熺墖浠撳偍鐜荤拑鏌ヨ',sql,flag,"shuzu");
sql="{call AXJ_liaojiaguanli_shelfrack(?)}";
- loadAjxs('鍘熺墖浠撳偍鏋跺瓙鏌ヨ',sql,flag,"shelfRack");
+ this.loadAjxss('鍘熺墖浠撳偍鏋跺瓙鏌ヨ',sql,flag,"shelfRack");
sql="{call AXJ_liaojiaguanli_colors(?)}";
- loadAjxs('鍘熺墖浠撳偍棰滆壊鏌ヨ',sql,flag,"colors");
+ this.loadAjxss('鍘熺墖浠撳偍棰滆壊鏌ヨ',sql,flag,"colors");
}
})
--
Gitblit v1.8.0