|
@ -1,20 +1,20 @@
|
||||||
@charset "UTF-8";
|
@charset "UTF-8";
|
||||||
.scroll, .el-dropdown-menu, .formula .page-content, .history .page-content .el-table--scrollable-x .el-table__body-wrapper {
|
.scroll, .el-dropdown-menu, .index .index-content .right.right-page .page-content, .formula .page-content, .realTime, .history .page-content .el-table--scrollable-x .el-table__body-wrapper {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll::-webkit-scrollbar, .el-dropdown-menu::-webkit-scrollbar, .formula .page-content::-webkit-scrollbar, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar {
|
.scroll::-webkit-scrollbar, .el-dropdown-menu::-webkit-scrollbar, .index .index-content .right.right-page .page-content::-webkit-scrollbar, .formula .page-content::-webkit-scrollbar, .realTime::-webkit-scrollbar, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar {
|
||||||
/*滚动条整体*/
|
/*滚动条整体*/
|
||||||
width: 10px;
|
width: 10px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll::-webkit-scrollbar-track, .el-dropdown-menu::-webkit-scrollbar-track, .formula .page-content::-webkit-scrollbar-track, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-track {
|
.scroll::-webkit-scrollbar-track, .el-dropdown-menu::-webkit-scrollbar-track, .index .index-content .right.right-page .page-content::-webkit-scrollbar-track, .formula .page-content::-webkit-scrollbar-track, .realTime::-webkit-scrollbar-track, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-track {
|
||||||
/*滚动条轨道*/
|
/*滚动条轨道*/
|
||||||
background: #013769;
|
background: #013769;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll::-webkit-scrollbar-thumb, .el-dropdown-menu::-webkit-scrollbar-thumb, .formula .page-content::-webkit-scrollbar-thumb, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb {
|
.scroll::-webkit-scrollbar-thumb, .el-dropdown-menu::-webkit-scrollbar-thumb, .index .index-content .right.right-page .page-content::-webkit-scrollbar-thumb, .formula .page-content::-webkit-scrollbar-thumb, .realTime::-webkit-scrollbar-thumb, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb {
|
||||||
/*滚动条里面的滑块*/
|
/*滚动条里面的滑块*/
|
||||||
width: 4px;
|
width: 4px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
@ -22,11 +22,11 @@
|
||||||
border: 3px solid #013769;
|
border: 3px solid #013769;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll::-webkit-scrollbar-thumb:hover, .el-dropdown-menu::-webkit-scrollbar-thumb:hover, .formula .page-content::-webkit-scrollbar-thumb:hover, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb:hover {
|
.scroll::-webkit-scrollbar-thumb:hover, .el-dropdown-menu::-webkit-scrollbar-thumb:hover, .index .index-content .right.right-page .page-content::-webkit-scrollbar-thumb:hover, .formula .page-content::-webkit-scrollbar-thumb:hover, .realTime::-webkit-scrollbar-thumb:hover, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb:hover {
|
||||||
/*滚动条鼠标事件,鼠标放上去出现的事件*/
|
/*滚动条鼠标事件,鼠标放上去出现的事件*/
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll::-webkit-scrollbar-corner, .el-dropdown-menu::-webkit-scrollbar-corner, .formula .page-content::-webkit-scrollbar-corner, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-corner {
|
.scroll::-webkit-scrollbar-corner, .el-dropdown-menu::-webkit-scrollbar-corner, .index .index-content .right.right-page .page-content::-webkit-scrollbar-corner, .formula .page-content::-webkit-scrollbar-corner, .realTime::-webkit-scrollbar-corner, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-corner {
|
||||||
/*滚动条边角*/
|
/*滚动条边角*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -404,6 +404,19 @@
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.index .index-content .right.right-page {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.index .index-content .right.right-page .page-content {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: rgba(0, 92, 178, 0.15);
|
||||||
|
border: 2px solid rgba(0, 186, 255, 0.2);
|
||||||
|
padding: 30px 30px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
.input-view {
|
.input-view {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -1467,15 +1480,22 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.realTime .new-data {
|
||||||
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.realTime .page-content {
|
.realTime .page-content {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: auto;
|
||||||
|
flex-shrink: 0;
|
||||||
background: rgba(0, 92, 178, 0.15);
|
background: rgba(0, 92, 178, 0.15);
|
||||||
border: 2px solid rgba(0, 186, 255, 0.2);
|
border: 2px solid rgba(0, 186, 255, 0.2);
|
||||||
padding: 30px 30px 20px;
|
padding: 30px 20px 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.realTime .page-content .control-view {
|
.realTime .page-content .control-view {
|
||||||
|
@ -1635,6 +1655,62 @@
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .status-view {
|
||||||
|
width: 300px;
|
||||||
|
height: 300px;
|
||||||
|
background: rgba(0, 132, 255, 0.15);
|
||||||
|
border: 2px solid rgba(0, 186, 255, 0.35);
|
||||||
|
margin: 7.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .status-view .status-view-top {
|
||||||
|
padding: 0 10px 0 20px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 50px;
|
||||||
|
border-bottom: 1px solid rgba(0, 180, 255, 0.35);
|
||||||
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .status-view .status-view-top .status-view-top-left {
|
||||||
|
font-size: 20px;
|
||||||
|
font-family: Microsoft YaHei;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .status-view .status-view-top .status-view-top-right {
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .status-view .status-view-content {
|
||||||
|
width: 100%;
|
||||||
|
height: calc(100% - 51px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .status-view .status-view-content .status-noTrue {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .status-view .status-view-content .status-noTrue > img {
|
||||||
|
width: 40px;
|
||||||
|
height: 35px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .status-view .status-view-content .status-noTrue > div {
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: Microsoft YaHei;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #8BEAFF;
|
||||||
|
}
|
||||||
|
|
||||||
.history .page-content {
|
.history .page-content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
@ -2032,3 +2108,25 @@
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.plantingPlan {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plantingPlan .btn {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plantingPlan .btn .img {
|
||||||
|
height: 20px;
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plantingPlan .plan-view {
|
||||||
|
width: 440px;
|
||||||
|
height: 200px;
|
||||||
|
background: url(../img/plan-bg.png) no-repeat center;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
margin: 7.5px 15px;
|
||||||
|
}
|
||||||
|
|
|
@ -426,6 +426,20 @@
|
||||||
width: calc(100% - 240px);
|
width: calc(100% - 240px);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
|
||||||
|
&.right-page {
|
||||||
|
padding: 20px;
|
||||||
|
|
||||||
|
.page-content {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: rgba(0, 92, 178, 0.15);
|
||||||
|
border: 2px solid rgba(0, 186, 255, 0.20);
|
||||||
|
padding: 30px 30px 20px;
|
||||||
|
@extend .scroll;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1047,6 +1061,7 @@
|
||||||
|
|
||||||
.sensorSet {
|
.sensorSet {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
.sensor-view {
|
.sensor-view {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -1117,14 +1132,15 @@
|
||||||
.right-sel {
|
.right-sel {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
>div {
|
>div {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
margin-right: 30px;
|
margin-right: 30px;
|
||||||
padding:0 0 15px 0;
|
padding: 0 0 15px 0;
|
||||||
|
|
||||||
>.no-sel {
|
>.no-sel {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
width: 35px;
|
width: 35px;
|
||||||
|
@ -1161,26 +1177,30 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.sensorSet-con{
|
&.sensorSet-con {
|
||||||
.sensor-view{
|
.sensor-view {
|
||||||
height: calc(100% - 120px);
|
height: calc(100% - 120px);
|
||||||
}
|
}
|
||||||
.right-sel{
|
|
||||||
|
.right-sel {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
.sensor-type-div{
|
|
||||||
|
.sensor-type-div {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
background: unset;
|
background: unset;
|
||||||
border: none;
|
border: none;
|
||||||
height: auto;
|
height: auto;
|
||||||
.sensor-sel{
|
|
||||||
>div{
|
.sensor-sel {
|
||||||
|
>div {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sensor-type {
|
.sensor-type {
|
||||||
.sensor-title {
|
.sensor-title {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
|
@ -1188,8 +1208,9 @@
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
padding: 20px 0;
|
padding: 20px 0;
|
||||||
.sensor-sel{
|
|
||||||
>div{
|
.sensor-sel {
|
||||||
|
>div {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1553,34 +1574,46 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: unset;
|
||||||
|
@extend .scroll;
|
||||||
|
|
||||||
|
.new-data {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
.page-content {
|
.page-content {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: auto;
|
||||||
|
flex-shrink: 0;
|
||||||
background: rgba(0, 92, 178, 0.15);
|
background: rgba(0, 92, 178, 0.15);
|
||||||
border: 2px solid rgba(0, 186, 255, 0.20);
|
border: 2px solid rgba(0, 186, 255, 0.20);
|
||||||
padding: 30px 30px 20px;
|
padding: 30px 20px 20px;
|
||||||
.control-view{
|
|
||||||
|
.control-view {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 30px;
|
right: 30px;
|
||||||
top: 10px;
|
top: 10px;
|
||||||
.title{
|
|
||||||
|
.title {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
.control-list{
|
|
||||||
|
.control-list {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
max-width: 806px;
|
max-width: 806px;
|
||||||
|
|
||||||
>div {
|
>div {
|
||||||
// width: 100%!important;
|
// width: 100%!important;
|
||||||
display: flex;
|
display: flex;
|
||||||
overflow: unset !important;
|
overflow: unset !important;
|
||||||
|
|
||||||
>div {
|
>div {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -1588,18 +1621,20 @@
|
||||||
margin-right: 100px;
|
margin-right: 100px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.list-view{
|
|
||||||
|
.list-view {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
.icon{
|
|
||||||
|
.icon {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeNow {
|
.timeNow {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
// position: absolute;
|
// position: absolute;
|
||||||
|
@ -1725,6 +1760,63 @@
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.status-view {
|
||||||
|
width: 300px;
|
||||||
|
height: 300px;
|
||||||
|
background: rgba(0, 132, 255, 0.15);
|
||||||
|
border: 2px solid rgba(0, 186, 255, 0.35);
|
||||||
|
margin: 7.5px;
|
||||||
|
|
||||||
|
.status-view-top {
|
||||||
|
padding: 0 10px 0 20px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 50px;
|
||||||
|
border-bottom: 1px solid rgba(0, 180, 255, .35);
|
||||||
|
|
||||||
|
.status-view-top-left {
|
||||||
|
font-size: 20px;
|
||||||
|
font-family: Microsoft YaHei;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-view-top-right {
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-view-content {
|
||||||
|
width: 100%;
|
||||||
|
height: calc(100% - 51px);
|
||||||
|
|
||||||
|
.status-noTrue {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
>img {
|
||||||
|
width: 40px;
|
||||||
|
height: 35px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
>div {
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: Microsoft YaHei;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #8BEAFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2062,11 +2154,11 @@
|
||||||
border-top: 1px solid rgba(0, 180, 255, .75);
|
border-top: 1px solid rgba(0, 180, 255, .75);
|
||||||
border-bottom: 1px solid rgba(0, 180, 255, .75);
|
border-bottom: 1px solid rgba(0, 180, 255, .75);
|
||||||
padding-bottom: 17px;
|
padding-bottom: 17px;
|
||||||
|
|
||||||
.table-header{
|
.table-header {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-family: Microsoft YaHei;
|
font-family: Microsoft YaHei;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2075,16 +2167,19 @@ font-weight: bold;
|
||||||
border-top: 1px solid rgba(0, 180, 255, .75);
|
border-top: 1px solid rgba(0, 180, 255, .75);
|
||||||
border-bottom: 1px solid rgba(0, 180, 255, .75);
|
border-bottom: 1px solid rgba(0, 180, 255, .75);
|
||||||
overflow-x: scroll;
|
overflow-x: scroll;
|
||||||
>div{
|
|
||||||
|
>div {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
.table-header{
|
|
||||||
|
.table-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
>div{
|
|
||||||
width:70px;
|
>div {
|
||||||
|
width: 70px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -2092,14 +2187,16 @@ font-weight: bold;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.table-tr{
|
|
||||||
>div{
|
.table-tr {
|
||||||
|
>div {
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
>div{
|
|
||||||
width:70px;
|
>div {
|
||||||
|
width: 70px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -2109,19 +2206,24 @@ font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.table-tr{
|
|
||||||
|
.table-tr {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
>div{
|
|
||||||
|
>div {
|
||||||
height: 60px;
|
height: 60px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 60px;
|
line-height: 60px;
|
||||||
}
|
}
|
||||||
>div:nth-child(odd){
|
|
||||||
|
>div:nth-child(odd) {
|
||||||
background: rgba(0, 47, 94, .35);
|
background: rgba(0, 47, 94, .35);
|
||||||
}
|
}
|
||||||
>div:nth-child(even){
|
|
||||||
background: rgba(0,180,255,0.2);
|
>div:nth-child(even) {
|
||||||
|
background: rgba(0, 180, 255, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
.no-sel {
|
.no-sel {
|
||||||
width: 35px;
|
width: 35px;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
|
@ -2139,6 +2241,7 @@ font-weight: bold;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-header {
|
.table-header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
|
@ -2146,9 +2249,31 @@ font-weight: bold;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: rgba(0, 180, 255, 0.2);
|
background: rgba(0, 180, 255, 0.2);
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-family: Arial;
|
font-family: Arial;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.plantingPlan {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
opacity: 1;
|
||||||
|
|
||||||
|
.img {
|
||||||
|
height: 20px;
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.plan-view {
|
||||||
|
width: 440px;
|
||||||
|
height: 200px;
|
||||||
|
background: url(../img/plan-bg.png) no-repeat center;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
margin: 7.5px 15px;
|
||||||
|
}
|
||||||
}
|
}
|
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 376 B |
After Width: | Height: | Size: 160 B |
After Width: | Height: | Size: 441 B |
After Width: | Height: | Size: 519 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 682 B |
After Width: | Height: | Size: 272 B |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 908 B |
After Width: | Height: | Size: 744 B |
After Width: | Height: | Size: 1.5 KiB |
|
@ -97,6 +97,18 @@ const routes = [
|
||||||
},]
|
},]
|
||||||
},]
|
},]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
path: '/vrcode',
|
||||||
|
name: 'vrcode',
|
||||||
|
component: () => import('../views/vrcode.vue'),
|
||||||
|
redirect: '/plantingPlan',
|
||||||
|
children: [{
|
||||||
|
path: '/plantingPlan',
|
||||||
|
name: 'plantingPlan',
|
||||||
|
component: () => import('../views/vrcode/plantingPlan.vue')
|
||||||
|
}]
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
const router = new VueRouter({
|
const router = new VueRouter({
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="formula realTime">
|
<div class="formula realTime">
|
||||||
<div class="page-content">
|
<div class="page-content new-data">
|
||||||
|
|
||||||
<div class="control-view" v-if="deviceName == 10">
|
<div class="control-view" v-if="deviceName == 10">
|
||||||
<div class="title">气象站:</div>
|
<div class="title">气象站:</div>
|
||||||
|
@ -62,6 +62,7 @@
|
||||||
<div class="right" id="realTime-line"></div>
|
<div class="right" id="realTime-line"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
@ -102,6 +103,8 @@ export default {
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
statusList:[{name:'左向天窗',open:true,progress:55,isTrue:true,index:1},
|
||||||
|
{name:'右向天窗',open:true,progress:55,isTrue:false,index:2}],
|
||||||
time: null,//右上角时间
|
time: null,//右上角时间
|
||||||
list: [],
|
list: [],
|
||||||
inputData: [],
|
inputData: [],
|
||||||
|
@ -120,15 +123,15 @@ export default {
|
||||||
this.indexs = this.$route.query.index ? this.$route.query.index : store.equipmentIndex;
|
this.indexs = this.$route.query.index ? this.$route.query.index : store.equipmentIndex;
|
||||||
this.deviceName = store.equipmentList[this.indexs - 1].deviceName
|
this.deviceName = store.equipmentList[this.indexs - 1].deviceName
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
||||||
if(this.player){
|
if (this.player) {
|
||||||
this.player.stop()
|
this.player.stop()
|
||||||
that.player.destroy()
|
that.player.destroy()
|
||||||
that.player=null
|
that.player = null
|
||||||
}
|
}
|
||||||
that.dataInit();
|
that.dataInit();
|
||||||
|
|
||||||
|
|
||||||
}, 0);
|
}, 0);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -155,7 +158,7 @@ export default {
|
||||||
// this.player.dispose();
|
// this.player.dispose();
|
||||||
this.player.stop()
|
this.player.stop()
|
||||||
this.player.destroy()
|
this.player.destroy()
|
||||||
this.player=null
|
this.player = null
|
||||||
}
|
}
|
||||||
that.timer && clearInterval(that.timer)
|
that.timer && clearInterval(that.timer)
|
||||||
this.$bus.$off('refreshTime')
|
this.$bus.$off('refreshTime')
|
||||||
|
@ -165,7 +168,7 @@ export default {
|
||||||
// divW和divH是获取了父级宽高 使播放容器能铺满div
|
// divW和divH是获取了父级宽高 使播放容器能铺满div
|
||||||
let divW = this.$refs.monitor.clientWidth
|
let divW = this.$refs.monitor.clientWidth
|
||||||
let divH = this.$refs.monitor.clientHeight
|
let divH = this.$refs.monitor.clientHeight
|
||||||
this.player = new EZUIKit.EZUIKitPlayer({
|
this.player = new EZUIKit.EZUIKitPlayer({
|
||||||
id: 'video-js', // 视频容器ID
|
id: 'video-js', // 视频容器ID
|
||||||
accessToken: 'at.757ro68z1ur26g6f1ondfwl1cl1bivxy-4ckiflya3u-1192hd2-ucup11mjb',
|
accessToken: 'at.757ro68z1ur26g6f1ondfwl1cl1bivxy-4ckiflya3u-1192hd2-ucup11mjb',
|
||||||
url: this.url,
|
url: this.url,
|
||||||
|
@ -330,14 +333,14 @@ export default {
|
||||||
// channelid: '1'
|
// channelid: '1'
|
||||||
// }
|
// }
|
||||||
if (!this.player) {
|
if (!this.player) {
|
||||||
this.api.getGethls(data2).then(res => {
|
this.api.getGethls(data2).then(res => {
|
||||||
if (res.data.code == 200) {
|
if (res.data.code == 200) {
|
||||||
this.url = res.data.msg
|
this.url = res.data.msg
|
||||||
this.createVideoNew()
|
this.createVideoNew()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (this.deviceName == 10) {
|
} else if (this.deviceName == 10) {
|
||||||
this.api.getControlRtdata(equipmentId).then((res) => {
|
this.api.getControlRtdata(equipmentId).then((res) => {
|
||||||
if (res.data.code == 200) {
|
if (res.data.code == 200) {
|
||||||
|
@ -454,4 +457,39 @@ export default {
|
||||||
.video-js-select-quality-item {
|
.video-js-select-quality-item {
|
||||||
color: rgba(0, 0, 0, 0.85) !important;
|
color: rgba(0, 0, 0, 0.85) !important;
|
||||||
}
|
}
|
||||||
</style>
|
|
||||||
|
.set-status-blue {
|
||||||
|
color: #409eff;
|
||||||
|
font-size: 14px;
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 5px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.set-status-red {
|
||||||
|
color: red;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 14px;
|
||||||
|
padding: 5px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.del-text {
|
||||||
|
color: #000;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color-blue {
|
||||||
|
span {
|
||||||
|
color: #409eff;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-save {
|
||||||
|
width: 45px;
|
||||||
|
height: 28px;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid #dcdfe6;
|
||||||
|
color: #606266;
|
||||||
|
font-size: 14px;
|
||||||
|
}</style>
|
|
@ -0,0 +1,170 @@
|
||||||
|
<template>
|
||||||
|
<div class="index">
|
||||||
|
<div class="header">
|
||||||
|
<div class="header-left">
|
||||||
|
<img src="../assets/image/logo.png" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="header-right" v-if="userInfo">
|
||||||
|
<img src="../assets/image/avatar.png" alt="">
|
||||||
|
<div class="user-data">
|
||||||
|
<div class="name">欢迎,{{ userInfo.nickName }}</div>
|
||||||
|
<div class="time" v-if="time"> {{ time.year.year }}-{{ time.year.month }}-{{ time.year.date }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="login-out" @click="loginOut"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="index-content">
|
||||||
|
<div class="left collapse scroll">
|
||||||
|
<el-collapse v-model="activeNames">
|
||||||
|
<template v-for="item, index in leftList">
|
||||||
|
<el-collapse-item :name="index + 1" :key="index" v-if="!item.isRouter">
|
||||||
|
<template slot="title" class="collapse-title">
|
||||||
|
<div class="img"><img :src="item.img" alt=""></div> {{ item.name }}
|
||||||
|
</template>
|
||||||
|
<ul class="table-ul">
|
||||||
|
<li class="table-li" @click="toRouter1(item1)"
|
||||||
|
:class="item.routerList.indexOf(routerNow) != -1 && routerIndex == item1.index ? 'active' : ''"
|
||||||
|
v-for="item1, index1 in item.list" :key="index1">{{ item1.name }}
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</el-collapse-item>
|
||||||
|
<div @click="toRouter1(item)" :class="routerNow == item.router ? 'active' : ''" class="no-list"
|
||||||
|
v-else>
|
||||||
|
<div class="img"><img :src="item.img" alt=""></div>{{ item.name }}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</el-collapse>
|
||||||
|
</div>
|
||||||
|
<div class="right right-page">
|
||||||
|
<router-view></router-view>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { getnowtime } from '../assets/js/nowTime'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
time: null,//当前时间
|
||||||
|
|
||||||
|
|
||||||
|
activeNames: [3],
|
||||||
|
leftList: [
|
||||||
|
{ name: '种植计划', img: require('../assets/image/vrcode-icon0.png'), list: [], router: '', isRouter: true, },
|
||||||
|
{ name: '生产环节', routerList: [], img: require('../assets/image/vrcode-icon1.png'), list: [{ name: '农事管理' }, { name: '施肥记录' }, { name: '打药记录' }, { name: '采摘记录' }, { name: '清洁记录' }, { name: '病虫害管理' },] },
|
||||||
|
{ name: '产品追溯', routerList: [], img: require('../assets/image/vrcode-icon2.png'), list: [{ name: '溯源批次' }, { name: '配置溯源版面' }, { name: '各种报告库' }] },
|
||||||
|
{ name: '基础信息设置', routerList: [], img: require('../assets/image/vrcode-icon3.png'), list: [{ name: '作物品种' }, { name: '种植栽培模式' }, { name: '农事作业工序' }, { name: '人员管理' }, { name: '农场信息管理' }, { name: '供应商管理' }, { name: '生产资料管理' }, { name: '农机工具管理' }, { name: '作物外观图片库' },] },],
|
||||||
|
routerNow: 'plantingPlan',
|
||||||
|
deviceName: 1,
|
||||||
|
routerIndex: 1,
|
||||||
|
equipmentList: [],
|
||||||
|
userInfo: null,
|
||||||
|
loading: true,//页面加载
|
||||||
|
IDTimer: null,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
"$route"(newName, oldName) {
|
||||||
|
this.gerRouter();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
const that = this
|
||||||
|
this.getTime()
|
||||||
|
var router = this.$route.query
|
||||||
|
if (router.token && router.userid) {
|
||||||
|
localStorage.setItem('token', router.token)
|
||||||
|
|
||||||
|
this.api.getUser({ userId: router.userid }).then(res => {
|
||||||
|
var data = res.data.data
|
||||||
|
data.userid = router.userid
|
||||||
|
localStorage.setItem('userInfo', JSON.stringify(data))
|
||||||
|
this.userInfo = JSON.parse(localStorage.getItem('userInfo'))
|
||||||
|
this.gerRouter();
|
||||||
|
// this.getEqbyid()
|
||||||
|
})
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if (localStorage.getItem('token')) {
|
||||||
|
this.userInfo = JSON.parse(localStorage.getItem('userInfo'))
|
||||||
|
}
|
||||||
|
this.gerRouter();
|
||||||
|
// this.getEqbyid()
|
||||||
|
}
|
||||||
|
this.IDTimer && clearInterval(this.IDTimer)
|
||||||
|
this.IDTimer = setInterval(() => {
|
||||||
|
// that.getEqbyid()
|
||||||
|
}, 120000);
|
||||||
|
|
||||||
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
this.IDTimer && clearInterval(this.IDTimer)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
gerRouter() {
|
||||||
|
var store = this.$store.state
|
||||||
|
this.routerIndex = this.$route.query.index ? this.$route.query.index : store.equipmentIndex
|
||||||
|
this.routerNow = this.$route.name;
|
||||||
|
if (store.equipmentList.length) {
|
||||||
|
this.deviceName = store.equipmentList[this.routerIndex - 1].deviceName
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
loginOut() {
|
||||||
|
this.api.loginOut().then((res) => {
|
||||||
|
|
||||||
|
if (res.data.code == 200) {
|
||||||
|
this.$message({
|
||||||
|
message: '退出登录成功',
|
||||||
|
type: "success",
|
||||||
|
});
|
||||||
|
localStorage.removeItem('token')
|
||||||
|
localStorage.removeItem('userInfo')
|
||||||
|
this.$router.push({ name: 'login' })
|
||||||
|
} else {
|
||||||
|
this.$message.error("请求出错");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
toHome() {
|
||||||
|
this.$router.push({ name: 'home' })
|
||||||
|
},
|
||||||
|
toRouter(item) {
|
||||||
|
if (item.router) {
|
||||||
|
if (item.http) {
|
||||||
|
window.location.href = item.http;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$message('当前页面正在努力开发中');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toRouter1(item) {
|
||||||
|
if (item.router) {
|
||||||
|
if (item.http) {
|
||||||
|
window.location.href = item.http;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$message('当前页面正在努力开发中');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getTime() {
|
||||||
|
this.time = getnowtime()
|
||||||
|
const that = this
|
||||||
|
setInterval(() => {
|
||||||
|
that.time = getnowtime()
|
||||||
|
}, 1000);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss"></style>
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
<template>
|
||||||
|
<div class="plantingPlan">
|
||||||
|
<div class="page-content">
|
||||||
|
<div class="table-title">
|
||||||
|
<img src="../../assets/img/plan.png" alt="" />
|
||||||
|
种植计划
|
||||||
|
</div>
|
||||||
|
<div class="flex-view">
|
||||||
|
<div class="btn green"><img src="../../assets/img/add.png" alt="">新增种植计划</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-view border-none">
|
||||||
|
<div class="plan-view" v-for="item,index in 10">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
mounted() { },
|
||||||
|
methods: {},
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss"></style>
|
||||||
|
|
||||||
|
|