From b9ffd276b4fa8ca1918f486e70d7e4d0d04d9d9f Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 10 Aug 2022 08:47:46 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/zhny-dsjdp
---
src/styles/publicBox/equirment-vid-details.css | 46
src/styles/publicBox/equirment-station-details.scss | 101 +
src/api/farm/source.js | 10
src/styles/publicBox/equirment-station-details.css | 108 +
src/views/equipment/index.vue | 30
src/styles/publicBox/equirment-vid-details.min.css | 1
src/views/manage/index.vue | 3792 ++++++++++++++++++++++-----------------------
src/styles/publicBox/equirment-station-details.min.css | 1
src/api/farm/farmingrecord.js | 20
src/views/farm/index.vue | 512 +++++
src/views/home/index.vue | 52
src/styles/index.css | 137 +
public/img/icon/down_menu.png | 0
src/main.js | 2
src/styles/publicBox/equirment-vid-details.scss | 49
public/img/icon/icon_3788.png | 0
public/img/icon/up_menu.png | 0
src/api/equipment/equipment.js | 58
public/img/icon/close.png | 0
src/api/land/land.js | 24
src/styles/index.scss | 2
src/styles/index.min.css | 2
22 files changed, 2,932 insertions(+), 2,015 deletions(-)
diff --git a/public/img/icon/close.png b/public/img/icon/close.png
new file mode 100644
index 0000000..e78bb92
--- /dev/null
+++ b/public/img/icon/close.png
Binary files differ
diff --git a/public/img/icon/down_menu.png b/public/img/icon/down_menu.png
new file mode 100644
index 0000000..b229742
--- /dev/null
+++ b/public/img/icon/down_menu.png
Binary files differ
diff --git a/public/img/icon/icon_3788.png b/public/img/icon/icon_3788.png
new file mode 100644
index 0000000..226547e
--- /dev/null
+++ b/public/img/icon/icon_3788.png
Binary files differ
diff --git a/public/img/icon/up_menu.png b/public/img/icon/up_menu.png
new file mode 100644
index 0000000..a519ef4
--- /dev/null
+++ b/public/img/icon/up_menu.png
Binary files differ
diff --git a/src/api/equipment/equipment.js b/src/api/equipment/equipment.js
new file mode 100644
index 0000000..9e73128
--- /dev/null
+++ b/src/api/equipment/equipment.js
@@ -0,0 +1,58 @@
+import request from '@/router/axios'
+
+// 获取在线设备信息
+export const getStationAndVideoCount = (params) => {
+ return request({
+ url: 'http://dev.jxpskj.com:8030/pyh-station/stationAndVideo/count',
+ method: 'get',
+ params: {
+ ...params
+ }
+ })
+}
+
+// 获取监控/监测设备列表
+export const getStationAndVideoList = (params) => {
+ return request({
+ url: 'http://dev.jxpskj.com:8030/pyh-station/stationAndVideo/queryStationAndVideoInfo',
+ method: 'get',
+ params: {
+ ...params
+ }
+ })
+}
+
+// 根据地块获取监测监控设备
+export const getStationAndVideoByLandId = (landId, type) => {
+ return request({
+ url: 'http://dev.jxpskj.com:8030/pyh-station/stationAndVideo/queryStationAndVideoByLandId',
+ method: 'get',
+ params: {
+ land_id: landId,
+ type: type
+ }
+ })
+}
+// 根据设备号获取监测设备数据
+export const getStationDateByStcd = (stcd, startTime, endTime) => {
+ return request({
+ url: 'http://dev.jxpskj.com:8030/pyh-station/naturalFactors/findElementDataByTime',
+ method: 'get',
+ params: {
+ stcd: stcd,
+ startTime: startTime,
+ endTime: endTime
+ }
+ })
+}
+
+// 根据农场id获取设备列表 监控和监测在同一个集合
+export const queryEquipmentList = (params) => {
+ return request({
+ url: 'http://dev.jxpskj.com:8030/pyh-station/stationAndVideo/queryEquipmentList',
+ method: 'get',
+ params: {
+ ...params
+ }
+ })
+}
diff --git a/src/api/farm/farmingrecord.js b/src/api/farm/farmingrecord.js
index e2aa52e..2ff1d1e 100644
--- a/src/api/farm/farmingrecord.js
+++ b/src/api/farm/farmingrecord.js
@@ -299,24 +299,4 @@
}
})
}
-// 获取在线设备信息
-export const getStationAndVideoCount = (params) => {
- return request({
- url: 'http://dev.jxpskj.com:8030/pyh-station/stationAndVideo/count',
- method: 'get',
- params: {
- ...params
- }
- })
-}
-// 获取监控/监测设备列表
-export const getStationAndVideoList = (params) => {
- return request({
- url: 'http://dev.jxpskj.com:8030/pyh-station/stationAndVideo/queryStationAndVideoInfo',
- method: 'get',
- params: {
- ...params
- }
- })
-}
diff --git a/src/api/farm/source.js b/src/api/farm/source.js
index 2c78f7e..0e4b2d6 100644
--- a/src/api/farm/source.js
+++ b/src/api/farm/source.js
@@ -9,3 +9,13 @@
}
})
}
+
+export const getSimpleInfo = (code) => {
+ return request({
+ url: '/traceability/getSimpleInfo',
+ method: 'get',
+ params: {
+ code
+ }
+ })
+}
diff --git a/src/api/land/land.js b/src/api/land/land.js
index 373bd42..c957fa6 100644
--- a/src/api/land/land.js
+++ b/src/api/land/land.js
@@ -68,27 +68,3 @@
}
})
}
-
-// 根据地块获取监测监控设备
-export const getStationAndVideoByLandId = (landId, type) => {
- return request({
- url: 'http://dev.jxpskj.com:8030/pyh-station/stationAndVideo/queryStationAndVideoByLandId',
- method: 'get',
- params: {
- land_id: landId,
- type: type
- }
- })
-}
-// 根据设备号获取监测设备数据
-export const getStationDateByStcd = (stcd, startTime, endTime) => {
- return request({
- url: 'http://dev.jxpskj.com:8030/pyh-station/naturalFactors/findElementDataByTime',
- method: 'get',
- params: {
- stcd: stcd,
- startTime: startTime,
- endTime: endTime
- }
- })
-}
diff --git a/src/main.js b/src/main.js
index 456d761..0c7b472 100644
--- a/src/main.js
+++ b/src/main.js
@@ -31,6 +31,8 @@
import '@dvgis/dc-sdk/dist/dc.core.min.css'
+
+
Vue.prototype.$echarts = echarts
global.DC = DC // 将DC提升到全局变量,方便在工程中直接使用
diff --git a/src/styles/index.css b/src/styles/index.css
index 6c7234d..cd0a317 100644
--- a/src/styles/index.css
+++ b/src/styles/index.css
@@ -27,6 +27,39 @@
visibility: hidden;
}
+.el-icon-my-nc-menu {
+ background: url("/img/icon/nc-menu.png") center no-repeat;
+ /* background-size: cover;*/
+}
+
+.el-icon-my-nc-menu:before {
+ content: "替";
+ font-size: 24px;
+ visibility: hidden;
+}
+
+.el-icon-my-jksb-menu {
+ background: url("/img/icon/jksb-menu.png") center no-repeat;
+ /* background-size: cover;*/
+}
+
+.el-icon-my-jksb-menu:before {
+ content: "替";
+ font-size: 24px;
+ visibility: hidden;
+}
+
+.el-icon-my-jcsb-menu {
+ background: url("/img/icon/jcsb-menu.png") center no-repeat;
+ /* background-size: cover;*/
+}
+
+.el-icon-my-jcsb-menu:before {
+ content: "替";
+ font-size: 24px;
+ visibility: hidden;
+}
+
.dialog-fixed {
margin: 0 !important;
position: fixed;
@@ -764,6 +797,110 @@
width: 120px;
}
+.public-equirment-station-details {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 648px;
+ height: 401px;
+ background-color: transparent;
+ z-index: 99;
+ font-size: 16px;
+ box-shadow: inset 0px 3px 20px 1px #5BC3D1;
+ opacity: 1;
+ border: 1px solid #69E2ED;
+ background: rgba(20, 66, 104, 0.8);
+ border-radius: 10px;
+ margin: 0;
+ padding: 0;
+}
+
+.public-equirment-station-details .header {
+ position: relative;
+ width: 270px;
+ height: 24px;
+ font-size: 18px;
+ font-family: Microsoft YaHei-Bold, Microsoft YaHei;
+ font-weight: bold;
+ color: #58BFCD;
+ line-height: 20px;
+ margin: 20px auto;
+}
+
+.public-equirment-station-details .header .close {
+ position: absolute;
+ top: -20px;
+ right: -260px;
+ cursor: pointer;
+}
+
+.public-equirment-station-details .content {
+ overflow: scroll;
+ height: 330px;
+}
+
+.public-equirment-station-details .content .itemTitle {
+ box-sizing: border-box;
+ width: 607px;
+ height: 70px;
+ background: #0D1E34;
+ border-radius: 0px 0px 0px 0px;
+ opacity: 1;
+ margin-left: 17px;
+ margin-bottom: 10px;
+ padding: 15px 20px;
+ border: 1px solid transparent;
+}
+
+.public-equirment-station-details .content .itemTitle img {
+ float: left;
+}
+
+.public-equirment-station-details .content .itemTitle .type {
+ float: left;
+ margin-left: 20px;
+}
+
+.public-equirment-station-details .content .itemTitle .type h1 {
+ font-size: 16px;
+ color: #58BFCD;
+ margin-bottom: 4px;
+}
+
+.public-equirment-station-details .content .itemTitle .type span {
+ font-size: 13px;
+ color: #FFFFFF;
+ opacity: 0.5;
+}
+
+.public-equirment-station-details .content .itemTitle .data {
+ float: left;
+ margin-left: 208px;
+ width: 80px;
+ height: 34px;
+ font-size: 34px;
+ font-family: DS-Digital-Italic, DS-Digital;
+ font-weight: normal;
+ color: #58BFCD;
+ line-height: 32px;
+}
+
+.public-equirment-station-details .content .itemTitle .openMenuIcon {
+ margin-left: 95px;
+ margin-top: 4px;
+ cursor: pointer;
+}
+
+.public-equirment-station-details .content .EchartsBox_div {
+ width: 607px;
+ height: 210px;
+ background: #0D1E34;
+ margin-left: 17px;
+ margin-top: -11px;
+ margin-bottom: 10px;
+}
+
.public-nape-plot-details {
position: fixed;
top: 50%;
diff --git a/src/styles/index.min.css b/src/styles/index.min.css
index 1ae2515..257487c 100644
--- a/src/styles/index.min.css
+++ b/src/styles/index.min.css
@@ -1 +1 @@
-.emit-el-date-picker input{background:#003555;border-color:#849EAE;color:rgba(255,255,255,0.6)}.el-icon-my-sy{background:url("/img/icon/1016.png") center no-repeat}.el-icon-my-sy:before{content:"替";font-size:18px;visibility:hidden}.el-icon-my-sb{background:url("/img/icon/3666.png") center no-repeat}.el-icon-my-sb:before{content:"替";font-size:24px;visibility:hidden}.dialog-fixed{margin:0 !important;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);z-index:99}.equipment-plot-select .el-input{position:relative;display:flex;align-items:center;justify-content:center}.equipment-plot-select .el-input .el-input__suffix{display:flex;align-items:center;justify-content:center}.equipment-plot-select input{color:#fff;font-size:28px !important;font-weight:bold;background:transparent !important;border:none !important}.manage-select{background-color:#05243e !important}.manage-option{background-color:#05243e !important;color:#a5cacc}.public-org-nav-bar{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:1208px;background-color:transparent;z-index:99;font-size:14px;box-shadow:inset 0px 0px 30px 1px rgba(33,186,196,0.16);border:1px solid #69E2ED;background:rgba(20,66,104,0.8)}.public-org-nav-bar .header{position:relative;border-radius:8px 8px 0 0;width:100%;height:58px;line-height:58px;background:linear-gradient(96deg, #142B4B 0%, #0F1525 100%)}.public-org-nav-bar .header .logo{position:aboslute;top:0;left:0;width:8px;height:100%;background:#69E2ED}.public-org-nav-bar .header .title{position:absolute;top:0;left:25px;font-size:18px;font-weight:bold;color:#66DDE9}.public-org-nav-bar .header .close{position:absolute;right:20px;top:0;left:auto;bottom:0;margin:auto;width:28px;height:28px;cursor:pointer;opacity:0.6}.public-org-nav-bar .content{clear:both;width:100%;height:500px;margin-top:0px;text-align:center;overflow-y:auto;border-radius:0 0 8px 8px}.public-org-nav-bar .content .farm-profiles{position:relative}.public-org-nav-bar .content .farm-profiles .btn-grounp{position:absolute;top:18px;right:20px}.public-org-nav-bar .content .farm-profiles .btn-grounp .details{text-align:right;font-size:18px;color:#08F4FF;cursor:pointer}.public-org-nav-bar .content .farm-profiles .btn-grounp .scene{margin-top:24px;display:flex;align-items:center;justify-content:center;width:100px;height:30px;background:rgba(102,221,233,0.16);border-radius:4px 4px 4px 4px;border:1px solid #66DDE9;box-sizing:border-box}.public-org-nav-bar .content .farm-profiles .btn-grounp .scene img{height:24px}.public-org-nav-bar .content .farm-profiles .farm-content{padding:30px 20px;font-size:16px;color:#fff}.public-org-nav-bar .content .farm-profiles .farm-content .row{margin-top:30px;display:flex;justify-content:space-between}.public-org-nav-bar .content .farm-profiles .farm-content .row .l{display:flex;align-items:flex-start;justify-content:flex-end;width:100px;height:24px;color:#A9D1D7}.public-org-nav-bar .content .farm-profiles .farm-content .row .r{display:flex;align-items:center;justify-content:flex-start;text-align:left;margin-left:24px;flex:1}.public-org-nav-bar .content .farm-profiles .farm-content .row .r img{margin-right:16px;width:102px;height:102px;border-radius:4px 4px 4px 4px}.public-org-nav-bar .content .farm-profiles .farm-content .row:first-child{margin-top:0}.public-org-market-bar{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:1208px;background-color:transparent;z-index:99;font-size:14px;box-shadow:inset 0px 0px 30px 1px rgba(33,186,196,0.16);border:1px solid #69E2ED;background:rgba(20,66,104,0.8)}.public-org-market-bar .header{position:relative;border-radius:8px 8px 0 0;width:100%;height:58px;line-height:58px;background:linear-gradient(96deg, #142B4B 0%, #0F1525 100%)}.public-org-market-bar .header .logo{position:aboslute;top:0;left:0;width:8px;height:100%;background:#69E2ED}.public-org-market-bar .header .title{position:absolute;top:0;left:25px;font-size:18px;font-weight:bold;color:#66DDE9}.public-org-market-bar .header .close{position:absolute;right:20px;top:0;left:auto;bottom:0;margin:auto;width:28px;height:28px;cursor:pointer;opacity:0.6}.public-org-market-bar .content{clear:both;width:100%;height:650px;margin-top:0px;text-align:center;overflow-y:auto;border-radius:0 0 8px 8px}.public-org-market-bar .content .market-title{display:-webkit-box;padding-left:30px;padding-top:30px}.public-org-market-bar .content .market-title .date{padding-left:30px}.public-org-market-bar .content .market-title .query-button{width:47%;text-align:end}.public-org-market-bar .content .market-content{display:-webkit-box;padding-left:30px;padding-top:30px}.public-org-market-bar .content .market-content .market-chart{width:758px;height:520px}.public-org-market-bar .content .market-content .market-list{margin-left:30px;width:31%;height:520px}.public-org-market-bar .content .market-content .market-list .market-list-item{flex:1;display:flex;flex-direction:column}.public-org-market-bar .content .market-content .market-list .market-list-item>div{position:relative;flex:1;padding:15px 20px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(102,221,233,0.1);border-radius:8px;font-size:18px;color:#a9d1d7}.public-org-market-bar .content .market-content .market-list .market-list-item>div>.t-item{display:flex;align-items:center;justify-content:space-between}.public-org-market-bar .content .market-content .market-list .market-list-item>div>.t-item>div:first-child{font-weight:bold;color:#66dde9}.public-org-market-bar .content .market-content .market-list .market-list-item>div>.b-item{display:flex;align-items:center;justify-content:space-between}.public-org-market-bar .content .market-content .market-list .market-list-item>div>.b-item>div:first-child{color:#fff}.public-org-market-bar .content .market-content .market-list .market-list-item>div .t-border{top:0;bottom:auto}.public-org-market-bar .content .market-content .market-list .market-list-item>div .b-border{top:auto;bottom:0}.public-org-market-bar .content .market-content .market-list .market-list-item>div .t-border,.public-org-market-bar .content .market-content .market-list .market-list-item>div .b-border{position:absolute;left:0;right:0;margin:auto;width:80%;height:1px;background:linear-gradient(89deg, rgba(102,221,233,0) 0%, #66dde9 51%, rgba(102,221,233,0) 100%)}.public-org-market-bar .content .market-content .market-list .market-list-item>div:first-child{margin-bottom:15px}.public-trace-table{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:1208px;background-color:transparent;z-index:99;font-size:16px;box-shadow:inset 0px 0px 30px 1px rgba(33,186,196,0.16);border:1px solid #69E2ED;background:rgba(20,66,104,0.8)}.public-trace-table .header{position:relative;border-radius:8px 8px 0 0;width:100%;height:58px;line-height:58px;background:linear-gradient(96deg, #142B4B 0%, #0F1525 100%)}.public-trace-table .header .logo{position:aboslute;top:0;left:0;width:8px;height:100%;background:#69E2ED}.public-trace-table .header .title{position:absolute;top:0;left:25px;font-size:18px;font-weight:bold;color:#66DDE9}.public-trace-table .header .close{position:absolute;right:20px;top:0;left:auto;bottom:0;margin:auto;width:28px;height:28px;cursor:pointer;opacity:0.6}.public-trace-table .content{display:flex;flex-direction:column;clear:both;width:100%;height:600px;margin-top:0px;text-align:center;overflow:hidden;border-radius:0 0 8px 8px}.public-trace-table .content .action-bar{padding:0 30px;display:flex;align-items:center;justify-content:space-between;height:74px}.public-trace-table .content .action-bar>.search .search-input input{color:#fff;background:rgba(33,186,196,0.2);border-color:#21BAC4}.public-trace-table .content .action-bar .btn-grounp .search{color:#fff;background:#21BAC4;border-color:#21BAC4}.public-trace-table .content .action-bar .btn-grounp .reset{color:#fff;background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.2)}.public-trace-table .content .table-list{flex:1;display:flex;flex-direction:column}.public-trace-table .content .table-list .t-header{display:flex;align-items:center;justify-content:space-between;height:56px;font-size:18px;font-weight:bold;color:#fff;background:linear-gradient(90deg, rgba(49,137,153,0.5) 0%, rgba(49,161,168,0.5) 44%, rgba(49,137,153,0.5) 100%)}.public-trace-table .content .table-list .t-header .sym-style{text-align:left}.public-trace-table .content .table-list .t-body{flex:1;overflow-y:auto}.public-trace-table .content .table-list .table-list{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:94px;border-bottom:1px solid #E8ECEF;color:#fff}.public-trace-table .content .table-list .table-list .sym-style{display:flex;justify-content:space-between}.public-trace-table .content .table-list .table-list .sym-style .l{display:flex;align-items:center}.public-trace-table .content .table-list .table-list .sym-style .l img{width:94px;height:56px}.public-trace-table .content .table-list .table-list .sym-style .r{margin-left:20px;flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-around}.public-trace-table .content .table-list .table-list .sym-style .r .title{font-size:18px;font-weight:bold}.public-trace-table .content .table-list .table-list .sym-style .r .unit{font-size:14px}.public-trace-table .content .table-list .table-list:last-child{border:none}.public-trace-table .content .table-list .t-header>div:first-child,.public-trace-table .content .table-list .table-list>div:first-child{margin-left:30px;flex:1}.public-trace-table .content .table-list .t-header>div:nth-child(2),.public-trace-table .content .table-list .table-list>div:nth-child(2){width:200px}.public-trace-table .content .table-list .t-header>div:nth-child(3),.public-trace-table .content .table-list .table-list>div:nth-child(3){width:240px}.public-trace-table .content .table-list .t-header>div:nth-child(4),.public-trace-table .content .table-list .table-list>div:nth-child(4){width:260px}.public-trace-table .content .table-list .t-header>div:nth-child(5),.public-trace-table .content .table-list .table-list>div:nth-child(5){width:200px}.public-trace-table .content .table-list .t-header>div:nth-child(5) .look,.public-trace-table .content .table-list .table-list>div:nth-child(5) .look{color:#00F0FF;background:rgba(0,240,255,0.2);border-color:#00F0FF}.el-scrollbar{position:relative}.el-scrollbar .el-scrollbar__wrap{overflow-x:hidden}.public-farm-oper-table{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:1208px;background-color:transparent;z-index:99;font-size:16px;box-shadow:inset 0px 0px 30px 1px rgba(33,186,196,0.16);border:1px solid #69E2ED;background:rgba(20,66,104,0.8)}.public-farm-oper-table .header{position:relative;border-radius:8px 8px 0 0;width:100%;height:58px;line-height:58px;background:linear-gradient(96deg, #142B4B 0%, #0F1525 100%)}.public-farm-oper-table .header .logo{position:aboslute;top:0;left:0;width:8px;height:100%;background:#69E2ED}.public-farm-oper-table .header .title{position:absolute;top:0;left:25px;font-size:18px;font-weight:bold;color:#66DDE9}.public-farm-oper-table .header .close{position:absolute;right:20px;top:0;left:auto;bottom:0;margin:auto;width:28px;height:28px;cursor:pointer;opacity:0.6}.public-farm-oper-table .content{display:flex;flex-direction:column;clear:both;width:100%;height:600px;margin-top:0px;text-align:center;overflow:hidden;border-radius:0 0 8px 8px}.public-farm-oper-table .content .action-bar{padding:0 30px;display:flex;align-items:center;justify-content:space-between;height:74px}.public-farm-oper-table .content .action-bar>.search .search-input input{color:#fff;background:rgba(33,186,196,0.2);border-color:#21BAC4}.public-farm-oper-table .content .action-bar>.search .select-type input{color:#fff;background:rgba(33,186,196,0.2);border-color:#21BAC4}.public-farm-oper-table .content .action-bar>.search .select-plot{margin-left:30px}.public-farm-oper-table .content .action-bar>.search .select-plot input{color:#fff;background:rgba(33,186,196,0.2);border-color:#21BAC4}.public-farm-oper-table .content .action-bar .btn-grounp .search{color:#fff;background:#21BAC4;border-color:#21BAC4}.public-farm-oper-table .content .action-bar .btn-grounp .reset{color:#fff;background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.2)}.public-farm-oper-table .content .table-list{height:calc(100% - 74px);display:flex;flex-direction:column}.public-farm-oper-table .content .table-list .t-header{display:flex;align-items:center;justify-content:space-between;height:56px;font-size:18px;font-weight:bold;color:#fff;background:linear-gradient(90deg, rgba(49,137,153,0.5) 0%, rgba(49,161,168,0.5) 44%, rgba(49,137,153,0.5) 100%)}.public-farm-oper-table .content .table-list .t-body{height:calc(100% - 56px);overflow-y:auto}.public-farm-oper-table .content .table-list .table-list{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:65px;border-bottom:1px solid #E8ECEF;color:#fff}.public-farm-oper-table .content .table-list .table-list:last-child{border:none}.public-farm-oper-table .content .table-list .t-header>div:first-child,.public-farm-oper-table .content .table-list .table-list>div:first-child{width:132px}.public-farm-oper-table .content .table-list .t-header>div:nth-child(2),.public-farm-oper-table .content .table-list .table-list>div:nth-child(2){width:124px}.public-farm-oper-table .content .table-list .t-header>div:nth-child(3),.public-farm-oper-table .content .table-list .table-list>div:nth-child(3){width:172px}.public-farm-oper-table .content .table-list .t-header>div:nth-child(4),.public-farm-oper-table .content .table-list .table-list>div:nth-child(4){width:144px}.public-farm-oper-table .content .table-list .t-header>div:nth-child(5),.public-farm-oper-table .content .table-list .table-list>div:nth-child(5){width:132px}.public-farm-oper-table .content .table-list .t-header>div:nth-child(6),.public-farm-oper-table .content .table-list .table-list>div:nth-child(6){flex:1}.public-farm-oper-table .content .table-list .t-header>div:nth-child(7),.public-farm-oper-table .content .table-list .table-list>div:nth-child(7){flex:1}.public-farm-oper-table .content .table-list .t-header>div:nth-child(8),.public-farm-oper-table .content .table-list .table-list>div:nth-child(8){width:120px}.public-nape-plot-details{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:700px;z-index:99;font-size:16px;box-shadow:inset 0px 3px 20px 1px #5BC3D1;border:1px solid #58BFCD;background:rgba(20,66,104,0.8);border-radius:16px}.public-nape-plot-details .header{display:flex;align-items:center;justify-content:space-around;position:relative;border-radius:8px 8px 0 0;width:100%;height:86px;box-sizing:border-box;border:1px solid #3F7D93}.public-nape-plot-details .header .nav{display:flex;align-items:center;justify-content:center;width:200px;height:50px;color:#fff;background:url(/img/icon/popup-nav-btn.png) no-repeat;background-size:100% 100%;cursor:pointer;font-size:18px}.public-nape-plot-details .header .nav.on{background:url(/img/icon/popup-nav-btn-sel.png) no-repeat;background-size:100% 100%}.public-nape-plot-details .header .close{position:absolute;top:0;right:-30px;transform:translate(100%, 0);cursor:pointer}.public-nape-plot-details .content{display:flex;flex-direction:column;clear:both;width:100%;height:484px;margin-top:0px;text-align:center;overflow:hidden;border-radius:0 0 8px 8px}.public-nape-plot-details .content .box{margin:20px 25px;height:calc(100% - 40px);overflow-y:auto}.public-nape-plot-details .content .box>div{margin-top:20px;padding:0 20px}.public-nape-plot-details .content .box>div:first-child{margin:0}.public-nape-plot-details .content .zypz-box>div{display:flex;align-items:center;height:120px;color:#A9D1D7;background:#0D1E34}.public-nape-plot-details .content .zypz-box>div .logo{width:90px;height:90px;border-radius:50%}.public-nape-plot-details .content .zypz-box>div .titles-box{margin-left:30px;display:flex;align-items:flex-start;flex-direction:column}.public-nape-plot-details .content .zypz-box>div .titles-box .title{font-size:18px;font-weight:bold}.public-nape-plot-details .content .zypz-box>div .titles-box .time{margin-top:15px;font-size:14px}.public-nape-plot-details .content .nscz-box>div{position:relative;height:84px;margin-top:10px;padding:10px 20px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;background:rgba(102,221,233,0.1);border-radius:8px;font-size:18px;color:#a9d1d7}.public-nape-plot-details .content .nscz-box>div .t-border{position:absolute;top:0;left:0;right:0;bottom:auto;margin:auto;width:80%;height:1px;background:linear-gradient(89deg, rgba(102,221,233,0) 0%, #66dde9 51%, rgba(102,221,233,0) 100%)}.public-nape-plot-details .content .nscz-box>div .t-item{display:flex;align-items:center;justify-content:space-between}.public-nape-plot-details .content .nscz-box>div .t-item>div{flex:1}.public-nape-plot-details .content .nscz-box>div .t-item>div:first-child{text-align:left;font-size:18px;font-weight:bold;color:#66dde9}.public-nape-plot-details .content .nscz-box>div .t-item>div:last-child{text-align:right}.public-nape-plot-details .content .nscz-box>div .b-item{display:flex;align-items:center;justify-content:space-between}.public-nape-plot-details .content .nscz-box>div .b-item>div{flex:1}.public-nape-plot-details .content .nscz-box>div .b-item>div:first-child{text-align:left;color:#fff}.public-nape-plot-details .content .nscz-box>div .b-item>div:last-child{text-align:right}.public-nape-plot-details .content .base-box>div{height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0D1E34}.public-nape-plot-details .content .base-box>div .current-val{margin-top:12px;font-size:32px}.public-nape-plot-details .content .base-box .plot-name{color:#62D4E0}.public-nape-plot-details .content .base-box .plot-area{color:#53B5F9}.public-nape-plot-details .content .base-box .plot-type{color:#9270DE}html,body{font-size:16px}html div,html ul,body div,body ul{scrollbar-width:thin}p{margin:0;padding:0}ul{margin:0;padding:0}ul li{margin:0;padding:0;list-style:none}.deblurring{image-rendering:-moz-crisp-edges;image-rendering:-o-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-ms-interpolation-mode:nearest-neighbor}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);background:rgba(0,0,0,0.2)}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);border-radius:0;background:rgba(0,0,0,0.1)}.div-icon{background:transparent !important}.farm-map-icon{font-weight:bold;color:#fca607;text-align:center}.farm-map-icon img{width:24px}
+.emit-el-date-picker input{background:#003555;border-color:#849EAE;color:rgba(255,255,255,0.6)}.el-icon-my-sy{background:url("/img/icon/1016.png") center no-repeat}.el-icon-my-sy:before{content:"替";font-size:18px;visibility:hidden}.el-icon-my-sb{background:url("/img/icon/3666.png") center no-repeat}.el-icon-my-sb:before{content:"替";font-size:24px;visibility:hidden}.el-icon-my-nc-menu{background:url("/img/icon/nc-menu.png") center no-repeat}.el-icon-my-nc-menu:before{content:"替";font-size:24px;visibility:hidden}.el-icon-my-jksb-menu{background:url("/img/icon/jksb-menu.png") center no-repeat}.el-icon-my-jksb-menu:before{content:"替";font-size:24px;visibility:hidden}.el-icon-my-jcsb-menu{background:url("/img/icon/jcsb-menu.png") center no-repeat}.el-icon-my-jcsb-menu:before{content:"替";font-size:24px;visibility:hidden}.dialog-fixed{margin:0 !important;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);z-index:99}.equipment-plot-select .el-input{position:relative;display:flex;align-items:center;justify-content:center}.equipment-plot-select .el-input .el-input__suffix{display:flex;align-items:center;justify-content:center}.equipment-plot-select input{color:#fff;font-size:28px !important;font-weight:bold;background:transparent !important;border:none !important}.manage-select{background-color:#05243e !important}.manage-option{background-color:#05243e !important;color:#a5cacc}.public-org-nav-bar{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:1208px;background-color:transparent;z-index:99;font-size:14px;box-shadow:inset 0px 0px 30px 1px rgba(33,186,196,0.16);border:1px solid #69E2ED;background:rgba(20,66,104,0.8)}.public-org-nav-bar .header{position:relative;border-radius:8px 8px 0 0;width:100%;height:58px;line-height:58px;background:linear-gradient(96deg, #142B4B 0%, #0F1525 100%)}.public-org-nav-bar .header .logo{position:aboslute;top:0;left:0;width:8px;height:100%;background:#69E2ED}.public-org-nav-bar .header .title{position:absolute;top:0;left:25px;font-size:18px;font-weight:bold;color:#66DDE9}.public-org-nav-bar .header .close{position:absolute;right:20px;top:0;left:auto;bottom:0;margin:auto;width:28px;height:28px;cursor:pointer;opacity:0.6}.public-org-nav-bar .content{clear:both;width:100%;height:500px;margin-top:0px;text-align:center;overflow-y:auto;border-radius:0 0 8px 8px}.public-org-nav-bar .content .farm-profiles{position:relative}.public-org-nav-bar .content .farm-profiles .btn-grounp{position:absolute;top:18px;right:20px}.public-org-nav-bar .content .farm-profiles .btn-grounp .details{text-align:right;font-size:18px;color:#08F4FF;cursor:pointer}.public-org-nav-bar .content .farm-profiles .btn-grounp .scene{margin-top:24px;display:flex;align-items:center;justify-content:center;width:100px;height:30px;background:rgba(102,221,233,0.16);border-radius:4px 4px 4px 4px;border:1px solid #66DDE9;box-sizing:border-box}.public-org-nav-bar .content .farm-profiles .btn-grounp .scene img{height:24px}.public-org-nav-bar .content .farm-profiles .farm-content{padding:30px 20px;font-size:16px;color:#fff}.public-org-nav-bar .content .farm-profiles .farm-content .row{margin-top:30px;display:flex;justify-content:space-between}.public-org-nav-bar .content .farm-profiles .farm-content .row .l{display:flex;align-items:flex-start;justify-content:flex-end;width:100px;height:24px;color:#A9D1D7}.public-org-nav-bar .content .farm-profiles .farm-content .row .r{display:flex;align-items:center;justify-content:flex-start;text-align:left;margin-left:24px;flex:1}.public-org-nav-bar .content .farm-profiles .farm-content .row .r img{margin-right:16px;width:102px;height:102px;border-radius:4px 4px 4px 4px}.public-org-nav-bar .content .farm-profiles .farm-content .row:first-child{margin-top:0}.public-org-market-bar{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:1208px;background-color:transparent;z-index:99;font-size:14px;box-shadow:inset 0px 0px 30px 1px rgba(33,186,196,0.16);border:1px solid #69E2ED;background:rgba(20,66,104,0.8)}.public-org-market-bar .header{position:relative;border-radius:8px 8px 0 0;width:100%;height:58px;line-height:58px;background:linear-gradient(96deg, #142B4B 0%, #0F1525 100%)}.public-org-market-bar .header .logo{position:aboslute;top:0;left:0;width:8px;height:100%;background:#69E2ED}.public-org-market-bar .header .title{position:absolute;top:0;left:25px;font-size:18px;font-weight:bold;color:#66DDE9}.public-org-market-bar .header .close{position:absolute;right:20px;top:0;left:auto;bottom:0;margin:auto;width:28px;height:28px;cursor:pointer;opacity:0.6}.public-org-market-bar .content{clear:both;width:100%;height:650px;margin-top:0px;text-align:center;overflow-y:auto;border-radius:0 0 8px 8px}.public-org-market-bar .content .market-title{display:-webkit-box;padding-left:30px;padding-top:30px}.public-org-market-bar .content .market-title .date{padding-left:30px}.public-org-market-bar .content .market-title .query-button{width:47%;text-align:end}.public-org-market-bar .content .market-content{display:-webkit-box;padding-left:30px;padding-top:30px}.public-org-market-bar .content .market-content .market-chart{width:758px;height:520px}.public-org-market-bar .content .market-content .market-list{margin-left:30px;width:31%;height:520px}.public-org-market-bar .content .market-content .market-list .market-list-item{flex:1;display:flex;flex-direction:column}.public-org-market-bar .content .market-content .market-list .market-list-item>div{position:relative;flex:1;padding:15px 20px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(102,221,233,0.1);border-radius:8px;font-size:18px;color:#a9d1d7}.public-org-market-bar .content .market-content .market-list .market-list-item>div>.t-item{display:flex;align-items:center;justify-content:space-between}.public-org-market-bar .content .market-content .market-list .market-list-item>div>.t-item>div:first-child{font-weight:bold;color:#66dde9}.public-org-market-bar .content .market-content .market-list .market-list-item>div>.b-item{display:flex;align-items:center;justify-content:space-between}.public-org-market-bar .content .market-content .market-list .market-list-item>div>.b-item>div:first-child{color:#fff}.public-org-market-bar .content .market-content .market-list .market-list-item>div .t-border{top:0;bottom:auto}.public-org-market-bar .content .market-content .market-list .market-list-item>div .b-border{top:auto;bottom:0}.public-org-market-bar .content .market-content .market-list .market-list-item>div .t-border,.public-org-market-bar .content .market-content .market-list .market-list-item>div .b-border{position:absolute;left:0;right:0;margin:auto;width:80%;height:1px;background:linear-gradient(89deg, rgba(102,221,233,0) 0%, #66dde9 51%, rgba(102,221,233,0) 100%)}.public-org-market-bar .content .market-content .market-list .market-list-item>div:first-child{margin-bottom:15px}.public-trace-table{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:1208px;background-color:transparent;z-index:99;font-size:16px;box-shadow:inset 0px 0px 30px 1px rgba(33,186,196,0.16);border:1px solid #69E2ED;background:rgba(20,66,104,0.8)}.public-trace-table .header{position:relative;border-radius:8px 8px 0 0;width:100%;height:58px;line-height:58px;background:linear-gradient(96deg, #142B4B 0%, #0F1525 100%)}.public-trace-table .header .logo{position:aboslute;top:0;left:0;width:8px;height:100%;background:#69E2ED}.public-trace-table .header .title{position:absolute;top:0;left:25px;font-size:18px;font-weight:bold;color:#66DDE9}.public-trace-table .header .close{position:absolute;right:20px;top:0;left:auto;bottom:0;margin:auto;width:28px;height:28px;cursor:pointer;opacity:0.6}.public-trace-table .content{display:flex;flex-direction:column;clear:both;width:100%;height:600px;margin-top:0px;text-align:center;overflow:hidden;border-radius:0 0 8px 8px}.public-trace-table .content .action-bar{padding:0 30px;display:flex;align-items:center;justify-content:space-between;height:74px}.public-trace-table .content .action-bar>.search .search-input input{color:#fff;background:rgba(33,186,196,0.2);border-color:#21BAC4}.public-trace-table .content .action-bar .btn-grounp .search{color:#fff;background:#21BAC4;border-color:#21BAC4}.public-trace-table .content .action-bar .btn-grounp .reset{color:#fff;background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.2)}.public-trace-table .content .table-list{flex:1;display:flex;flex-direction:column}.public-trace-table .content .table-list .t-header{display:flex;align-items:center;justify-content:space-between;height:56px;font-size:18px;font-weight:bold;color:#fff;background:linear-gradient(90deg, rgba(49,137,153,0.5) 0%, rgba(49,161,168,0.5) 44%, rgba(49,137,153,0.5) 100%)}.public-trace-table .content .table-list .t-header .sym-style{text-align:left}.public-trace-table .content .table-list .t-body{flex:1;overflow-y:auto}.public-trace-table .content .table-list .table-list{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:94px;border-bottom:1px solid #E8ECEF;color:#fff}.public-trace-table .content .table-list .table-list .sym-style{display:flex;justify-content:space-between}.public-trace-table .content .table-list .table-list .sym-style .l{display:flex;align-items:center}.public-trace-table .content .table-list .table-list .sym-style .l img{width:94px;height:56px}.public-trace-table .content .table-list .table-list .sym-style .r{margin-left:20px;flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-around}.public-trace-table .content .table-list .table-list .sym-style .r .title{font-size:18px;font-weight:bold}.public-trace-table .content .table-list .table-list .sym-style .r .unit{font-size:14px}.public-trace-table .content .table-list .table-list:last-child{border:none}.public-trace-table .content .table-list .t-header>div:first-child,.public-trace-table .content .table-list .table-list>div:first-child{margin-left:30px;flex:1}.public-trace-table .content .table-list .t-header>div:nth-child(2),.public-trace-table .content .table-list .table-list>div:nth-child(2){width:200px}.public-trace-table .content .table-list .t-header>div:nth-child(3),.public-trace-table .content .table-list .table-list>div:nth-child(3){width:240px}.public-trace-table .content .table-list .t-header>div:nth-child(4),.public-trace-table .content .table-list .table-list>div:nth-child(4){width:260px}.public-trace-table .content .table-list .t-header>div:nth-child(5),.public-trace-table .content .table-list .table-list>div:nth-child(5){width:200px}.public-trace-table .content .table-list .t-header>div:nth-child(5) .look,.public-trace-table .content .table-list .table-list>div:nth-child(5) .look{color:#00F0FF;background:rgba(0,240,255,0.2);border-color:#00F0FF}.el-scrollbar{position:relative}.el-scrollbar .el-scrollbar__wrap{overflow-x:hidden}.public-farm-oper-table{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:1208px;background-color:transparent;z-index:99;font-size:16px;box-shadow:inset 0px 0px 30px 1px rgba(33,186,196,0.16);border:1px solid #69E2ED;background:rgba(20,66,104,0.8)}.public-farm-oper-table .header{position:relative;border-radius:8px 8px 0 0;width:100%;height:58px;line-height:58px;background:linear-gradient(96deg, #142B4B 0%, #0F1525 100%)}.public-farm-oper-table .header .logo{position:aboslute;top:0;left:0;width:8px;height:100%;background:#69E2ED}.public-farm-oper-table .header .title{position:absolute;top:0;left:25px;font-size:18px;font-weight:bold;color:#66DDE9}.public-farm-oper-table .header .close{position:absolute;right:20px;top:0;left:auto;bottom:0;margin:auto;width:28px;height:28px;cursor:pointer;opacity:0.6}.public-farm-oper-table .content{display:flex;flex-direction:column;clear:both;width:100%;height:600px;margin-top:0px;text-align:center;overflow:hidden;border-radius:0 0 8px 8px}.public-farm-oper-table .content .action-bar{padding:0 30px;display:flex;align-items:center;justify-content:space-between;height:74px}.public-farm-oper-table .content .action-bar>.search .search-input input{color:#fff;background:rgba(33,186,196,0.2);border-color:#21BAC4}.public-farm-oper-table .content .action-bar>.search .select-type input{color:#fff;background:rgba(33,186,196,0.2);border-color:#21BAC4}.public-farm-oper-table .content .action-bar>.search .select-plot{margin-left:30px}.public-farm-oper-table .content .action-bar>.search .select-plot input{color:#fff;background:rgba(33,186,196,0.2);border-color:#21BAC4}.public-farm-oper-table .content .action-bar .btn-grounp .search{color:#fff;background:#21BAC4;border-color:#21BAC4}.public-farm-oper-table .content .action-bar .btn-grounp .reset{color:#fff;background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.2)}.public-farm-oper-table .content .table-list{height:calc(100% - 74px);display:flex;flex-direction:column}.public-farm-oper-table .content .table-list .t-header{display:flex;align-items:center;justify-content:space-between;height:56px;font-size:18px;font-weight:bold;color:#fff;background:linear-gradient(90deg, rgba(49,137,153,0.5) 0%, rgba(49,161,168,0.5) 44%, rgba(49,137,153,0.5) 100%)}.public-farm-oper-table .content .table-list .t-body{height:calc(100% - 56px);overflow-y:auto}.public-farm-oper-table .content .table-list .table-list{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:65px;border-bottom:1px solid #E8ECEF;color:#fff}.public-farm-oper-table .content .table-list .table-list:last-child{border:none}.public-farm-oper-table .content .table-list .t-header>div:first-child,.public-farm-oper-table .content .table-list .table-list>div:first-child{width:132px}.public-farm-oper-table .content .table-list .t-header>div:nth-child(2),.public-farm-oper-table .content .table-list .table-list>div:nth-child(2){width:124px}.public-farm-oper-table .content .table-list .t-header>div:nth-child(3),.public-farm-oper-table .content .table-list .table-list>div:nth-child(3){width:172px}.public-farm-oper-table .content .table-list .t-header>div:nth-child(4),.public-farm-oper-table .content .table-list .table-list>div:nth-child(4){width:144px}.public-farm-oper-table .content .table-list .t-header>div:nth-child(5),.public-farm-oper-table .content .table-list .table-list>div:nth-child(5){width:132px}.public-farm-oper-table .content .table-list .t-header>div:nth-child(6),.public-farm-oper-table .content .table-list .table-list>div:nth-child(6){flex:1}.public-farm-oper-table .content .table-list .t-header>div:nth-child(7),.public-farm-oper-table .content .table-list .table-list>div:nth-child(7){flex:1}.public-farm-oper-table .content .table-list .t-header>div:nth-child(8),.public-farm-oper-table .content .table-list .table-list>div:nth-child(8){width:120px}.public-equirment-station-details{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:648px;height:401px;background-color:transparent;z-index:99;font-size:16px;box-shadow:inset 0px 3px 20px 1px #5BC3D1;opacity:1;border:1px solid #69E2ED;background:rgba(20,66,104,0.8);border-radius:10px;margin:0;padding:0}.public-equirment-station-details .header{position:relative;width:270px;height:24px;font-size:18px;font-family:Microsoft YaHei-Bold, Microsoft YaHei;font-weight:bold;color:#58BFCD;line-height:20px;margin:20px auto}.public-equirment-station-details .header .close{position:absolute;top:-20px;right:-260px;cursor:pointer}.public-equirment-station-details .content{overflow:scroll;height:330px}.public-equirment-station-details .content .itemTitle{box-sizing:border-box;width:607px;height:70px;background:#0D1E34;border-radius:0px 0px 0px 0px;opacity:1;margin-left:17px;margin-bottom:10px;padding:15px 20px;border:1px solid transparent}.public-equirment-station-details .content .itemTitle img{float:left}.public-equirment-station-details .content .itemTitle .type{float:left;margin-left:20px}.public-equirment-station-details .content .itemTitle .type h1{font-size:16px;color:#58BFCD;margin-bottom:4px}.public-equirment-station-details .content .itemTitle .type span{font-size:13px;color:#FFFFFF;opacity:0.5}.public-equirment-station-details .content .itemTitle .data{float:left;margin-left:208px;width:80px;height:34px;font-size:34px;font-family:DS-Digital-Italic, DS-Digital;font-weight:normal;color:#58BFCD;line-height:32px}.public-equirment-station-details .content .itemTitle .openMenuIcon{margin-left:95px;margin-top:4px;cursor:pointer}.public-equirment-station-details .content .EchartsBox_div{width:607px;height:210px;background:#0D1E34;margin-left:17px;margin-top:-11px;margin-bottom:10px}.public-nape-plot-details{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:700px;z-index:99;font-size:16px;box-shadow:inset 0px 3px 20px 1px #5BC3D1;border:1px solid #58BFCD;background:rgba(20,66,104,0.8);border-radius:16px}.public-nape-plot-details .header{display:flex;align-items:center;justify-content:space-around;position:relative;border-radius:8px 8px 0 0;width:100%;height:86px;box-sizing:border-box;border:1px solid #3F7D93}.public-nape-plot-details .header .nav{display:flex;align-items:center;justify-content:center;width:200px;height:50px;color:#fff;background:url(/img/icon/popup-nav-btn.png) no-repeat;background-size:100% 100%;cursor:pointer;font-size:18px}.public-nape-plot-details .header .nav.on{background:url(/img/icon/popup-nav-btn-sel.png) no-repeat;background-size:100% 100%}.public-nape-plot-details .header .close{position:absolute;top:0;right:-30px;transform:translate(100%, 0);cursor:pointer}.public-nape-plot-details .content{display:flex;flex-direction:column;clear:both;width:100%;height:484px;margin-top:0px;text-align:center;overflow:hidden;border-radius:0 0 8px 8px}.public-nape-plot-details .content .box{margin:20px 25px;height:calc(100% - 40px);overflow-y:auto}.public-nape-plot-details .content .box>div{margin-top:20px;padding:0 20px}.public-nape-plot-details .content .box>div:first-child{margin:0}.public-nape-plot-details .content .zypz-box>div{display:flex;align-items:center;height:120px;color:#A9D1D7;background:#0D1E34}.public-nape-plot-details .content .zypz-box>div .logo{width:90px;height:90px;border-radius:50%}.public-nape-plot-details .content .zypz-box>div .titles-box{margin-left:30px;display:flex;align-items:flex-start;flex-direction:column}.public-nape-plot-details .content .zypz-box>div .titles-box .title{font-size:18px;font-weight:bold}.public-nape-plot-details .content .zypz-box>div .titles-box .time{margin-top:15px;font-size:14px}.public-nape-plot-details .content .nscz-box>div{position:relative;height:84px;margin-top:10px;padding:10px 20px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;background:rgba(102,221,233,0.1);border-radius:8px;font-size:18px;color:#a9d1d7}.public-nape-plot-details .content .nscz-box>div .t-border{position:absolute;top:0;left:0;right:0;bottom:auto;margin:auto;width:80%;height:1px;background:linear-gradient(89deg, rgba(102,221,233,0) 0%, #66dde9 51%, rgba(102,221,233,0) 100%)}.public-nape-plot-details .content .nscz-box>div .t-item{display:flex;align-items:center;justify-content:space-between}.public-nape-plot-details .content .nscz-box>div .t-item>div{flex:1}.public-nape-plot-details .content .nscz-box>div .t-item>div:first-child{text-align:left;font-size:18px;font-weight:bold;color:#66dde9}.public-nape-plot-details .content .nscz-box>div .t-item>div:last-child{text-align:right}.public-nape-plot-details .content .nscz-box>div .b-item{display:flex;align-items:center;justify-content:space-between}.public-nape-plot-details .content .nscz-box>div .b-item>div{flex:1}.public-nape-plot-details .content .nscz-box>div .b-item>div:first-child{text-align:left;color:#fff}.public-nape-plot-details .content .nscz-box>div .b-item>div:last-child{text-align:right}.public-nape-plot-details .content .base-box>div{height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0D1E34}.public-nape-plot-details .content .base-box>div .current-val{margin-top:12px;font-size:32px}.public-nape-plot-details .content .base-box .plot-name{color:#62D4E0}.public-nape-plot-details .content .base-box .plot-area{color:#53B5F9}.public-nape-plot-details .content .base-box .plot-type{color:#9270DE}html,body{font-size:16px}html div,html ul,body div,body ul{scrollbar-width:thin}p{margin:0;padding:0}ul{margin:0;padding:0}ul li{margin:0;padding:0;list-style:none}.deblurring{image-rendering:-moz-crisp-edges;image-rendering:-o-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-ms-interpolation-mode:nearest-neighbor}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);background:rgba(0,0,0,0.2)}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);border-radius:0;background:rgba(0,0,0,0.1)}.div-icon{background:transparent !important}.farm-map-icon{font-weight:bold;color:#fca607;text-align:center}.farm-map-icon img{width:24px}
diff --git a/src/styles/index.scss b/src/styles/index.scss
index 8b63ca9..078a880 100644
--- a/src/styles/index.scss
+++ b/src/styles/index.scss
@@ -3,6 +3,8 @@
@import "./publicBox/market-nav-bar.scss";
@import "./publicBox/trace-table.scss";
@import "./publicBox/farm-oper-table.scss";
+@import "./publicBox/equirment-station-details.scss";
+@import "./publicBox/equirment-vid-details.scss";
@import "./publicNapeBox/nape-plot-details.scss";
diff --git a/src/styles/publicBox/equirment-station-details.css b/src/styles/publicBox/equirment-station-details.css
new file mode 100644
index 0000000..48a3670
--- /dev/null
+++ b/src/styles/publicBox/equirment-station-details.css
@@ -0,0 +1,108 @@
+.public-equirment-station-details {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 648px;
+ height: 401px;
+ background-color: transparent;
+ z-index: 99;
+ font-size: 16px;
+ box-shadow: inset 0px 3px 20px 1px #5BC3D1;
+ opacity: 1;
+ border: 1px solid #69E2ED;
+ background: rgba(20, 66, 104, 0.8);
+ border-radius: 10px;
+ margin: 0;
+ padding: 0;
+}
+
+.public-equirment-station-details .header {
+ position: relative;
+ width: 270px;
+ height: 24px;
+ font-size: 18px;
+ font-family: Microsoft YaHei-Bold, Microsoft YaHei;
+ font-weight: bold;
+ color: #58BFCD;
+ line-height: 20px;
+ margin: 20px auto;
+}
+
+.public-equirment-station-details .header div {
+ text-align: center;
+}
+
+.public-equirment-station-details .header .close {
+ position: absolute;
+ top: -20px;
+ right: -260px;
+ cursor: pointer;
+}
+
+.public-equirment-station-details .content {
+ overflow: scroll;
+ height: 330px;
+}
+
+.public-equirment-station-details .content .itemTitle {
+ box-sizing: border-box;
+ width: 607px;
+ height: 70px;
+ background: #0D1E34;
+ border-radius: 0px 0px 0px 0px;
+ opacity: 1;
+ margin-left: 17px;
+ margin-bottom: 10px;
+ padding: 15px 20px;
+ border: 1px solid transparent;
+}
+
+.public-equirment-station-details .content .itemTitle img {
+ float: left;
+}
+
+.public-equirment-station-details .content .itemTitle .type {
+ float: left;
+ margin-left: 20px;
+ width: 150px;
+}
+
+.public-equirment-station-details .content .itemTitle .type h1 {
+ font-size: 16px;
+ color: #58BFCD;
+ margin-bottom: 4px;
+}
+
+.public-equirment-station-details .content .itemTitle .type span {
+ font-size: 13px;
+ color: #FFFFFF;
+ opacity: 0.5;
+}
+
+.public-equirment-station-details .content .itemTitle .data {
+ float: left;
+ margin-left: 158px;
+ width: 80px;
+ height: 34px;
+ font-size: 34px;
+ font-family: DS-Digital-Italic, DS-Digital;
+ font-weight: normal;
+ color: #58BFCD;
+ line-height: 32px;
+}
+
+.public-equirment-station-details .content .itemTitle .openMenuIcon {
+ margin-left: 90px;
+ margin-top: 4px;
+ cursor: pointer;
+}
+
+.public-equirment-station-details .content .EchartsBox_div {
+ width: 607px;
+ height: 210px;
+ background: #0D1E34;
+ margin-left: 17px;
+ margin-top: -11px;
+ margin-bottom: 10px;
+}
diff --git a/src/styles/publicBox/equirment-station-details.min.css b/src/styles/publicBox/equirment-station-details.min.css
new file mode 100644
index 0000000..d462786
--- /dev/null
+++ b/src/styles/publicBox/equirment-station-details.min.css
@@ -0,0 +1 @@
+.public-equirment-station-details{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:648px;height:401px;background-color:transparent;z-index:99;font-size:16px;box-shadow:inset 0px 3px 20px 1px #5BC3D1;opacity:1;border:1px solid #69E2ED;background:rgba(20,66,104,0.8);border-radius:10px;margin:0;padding:0}.public-equirment-station-details .header{position:relative;width:270px;height:24px;font-size:18px;font-family:Microsoft YaHei-Bold, Microsoft YaHei;font-weight:bold;color:#58BFCD;line-height:20px;margin:20px auto}.public-equirment-station-details .header div{text-align:center}.public-equirment-station-details .header .close{position:absolute;top:-20px;right:-260px;cursor:pointer}.public-equirment-station-details .content{overflow:scroll;height:330px}.public-equirment-station-details .content .itemTitle{box-sizing:border-box;width:607px;height:70px;background:#0D1E34;border-radius:0px 0px 0px 0px;opacity:1;margin-left:17px;margin-bottom:10px;padding:15px 20px;border:1px solid transparent}.public-equirment-station-details .content .itemTitle img{float:left}.public-equirment-station-details .content .itemTitle .type{float:left;margin-left:20px;width:150px}.public-equirment-station-details .content .itemTitle .type h1{font-size:16px;color:#58BFCD;margin-bottom:4px}.public-equirment-station-details .content .itemTitle .type span{font-size:13px;color:#FFFFFF;opacity:0.5}.public-equirment-station-details .content .itemTitle .data{float:left;margin-left:158px;width:80px;height:34px;font-size:34px;font-family:DS-Digital-Italic, DS-Digital;font-weight:normal;color:#58BFCD;line-height:32px}.public-equirment-station-details .content .itemTitle .openMenuIcon{margin-left:90px;margin-top:4px;cursor:pointer}.public-equirment-station-details .content .EchartsBox_div{width:607px;height:210px;background:#0D1E34;margin-left:17px;margin-top:-11px;margin-bottom:10px}
diff --git a/src/styles/publicBox/equirment-station-details.scss b/src/styles/publicBox/equirment-station-details.scss
new file mode 100644
index 0000000..fea4d3a
--- /dev/null
+++ b/src/styles/publicBox/equirment-station-details.scss
@@ -0,0 +1,101 @@
+.public-equirment-station-details {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 648px;
+ height: 401px;
+ background-color: transparent;
+ z-index: 99;
+ font-size: 16px;
+ box-shadow: inset 0px 3px 20px 1px #5BC3D1;
+ opacity: 1;
+ border: 1px solid #69E2ED;
+ background: rgba(20, 66, 104, 0.8);
+ border-radius: 10px;
+ margin: 0;
+ padding: 0;
+
+ .header {
+ position: relative;
+ width: 270px;
+ height: 24px;
+ font-size: 18px;
+ font-family: Microsoft YaHei-Bold, Microsoft YaHei;
+ font-weight: bold;
+ color: #58BFCD;
+ line-height: 20px;
+ margin: 20px auto;
+
+ div {
+ text-align: center;
+ }
+ .close {
+ position: absolute;
+ top:-20px;
+ right:-260px;
+ cursor: pointer;
+ }
+ }
+ .content {
+ overflow: scroll;
+ height: 330px;
+ .itemTitle {
+ box-sizing: border-box;
+ width: 607px;
+ height: 70px;
+ background: #0D1E34;
+ border-radius: 0px 0px 0px 0px;
+ opacity: 1;
+ margin-left: 17px;
+ margin-bottom: 10px;
+ padding: 15px 20px;
+ border: 1px solid transparent;
+
+ img{
+ float: left;
+ }
+ .type {
+ float: left;
+ margin-left: 20px;
+ width: 150px;
+ h1{
+ font-size: 16px;
+ color: #58BFCD ;
+ margin-bottom: 4px;
+ }
+ span{
+ font-size: 13px;
+ color: #FFFFFF;
+ opacity: 0.5;
+ }
+ }
+ .data {
+ float: left;
+ margin-left: 158px;
+ width: 80px;
+ height: 34px;
+ font-size: 34px;
+ font-family: DS-Digital-Italic, DS-Digital;
+ font-weight: normal;
+ color: #58BFCD;
+ line-height: 32px;
+ }
+ .openMenuIcon {
+ margin-left: 90px;
+ margin-top: 4px;
+ cursor: pointer;
+ }
+ }
+ .EchartsBox_div {
+ width: 607px;
+ height: 210px;
+ background: #0D1E34;
+ margin-left: 17px;
+ margin-top: -11px;
+ margin-bottom: 10px;
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/src/styles/publicBox/equirment-vid-details.css b/src/styles/publicBox/equirment-vid-details.css
new file mode 100644
index 0000000..5468b0d
--- /dev/null
+++ b/src/styles/publicBox/equirment-vid-details.css
@@ -0,0 +1,46 @@
+.public-equirment-vid-details {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 648px;
+ height: 401px;
+ background-color: transparent;
+ z-index: 99;
+ font-size: 16px;
+ box-shadow: inset 0px 3px 20px 1px #5BC3D1;
+ opacity: 1;
+ border: 1px solid #69E2ED;
+ background: rgba(20, 66, 104, 0.8);
+ border-radius: 10px;
+ margin: 0;
+ padding: 0;
+}
+
+.public-equirment-vid-details .header {
+ position: relative;
+ width: 270px;
+ height: 24px;
+ font-size: 18px;
+ font-family: Microsoft YaHei-Bold, Microsoft YaHei;
+ font-weight: bold;
+ color: #58BFCD;
+ line-height: 20px;
+ margin: 20px auto;
+}
+
+.public-equirment-vid-details .header div {
+ text-align: center;
+}
+
+.public-equirment-vid-details .header .close {
+ position: absolute;
+ top: -20px;
+ right: -260px;
+ cursor: pointer;
+}
+
+.public-equirment-vid-details .content .video {
+ height: 310px;
+ margin: 0 40px;
+}
diff --git a/src/styles/publicBox/equirment-vid-details.min.css b/src/styles/publicBox/equirment-vid-details.min.css
new file mode 100644
index 0000000..82a1356
--- /dev/null
+++ b/src/styles/publicBox/equirment-vid-details.min.css
@@ -0,0 +1 @@
+.public-equirment-vid-details{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:648px;height:401px;background-color:transparent;z-index:99;font-size:16px;box-shadow:inset 0px 3px 20px 1px #5BC3D1;opacity:1;border:1px solid #69E2ED;background:rgba(20,66,104,0.8);border-radius:10px;margin:0;padding:0}.public-equirment-vid-details .header{position:relative;width:270px;height:24px;font-size:18px;font-family:Microsoft YaHei-Bold, Microsoft YaHei;font-weight:bold;color:#58BFCD;line-height:20px;margin:20px auto}.public-equirment-vid-details .header div{text-align:center}.public-equirment-vid-details .header .close{position:absolute;top:-20px;right:-260px;cursor:pointer}.public-equirment-vid-details .content .video{height:310px;margin:0 40px}
diff --git a/src/styles/publicBox/equirment-vid-details.scss b/src/styles/publicBox/equirment-vid-details.scss
new file mode 100644
index 0000000..a8e7126
--- /dev/null
+++ b/src/styles/publicBox/equirment-vid-details.scss
@@ -0,0 +1,49 @@
+.public-equirment-vid-details {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 648px;
+ height: 401px;
+ background-color: transparent;
+ z-index: 99;
+ font-size: 16px;
+ box-shadow: inset 0px 3px 20px 1px #5BC3D1;
+ opacity: 1;
+ border: 1px solid #69E2ED;
+ background: rgba(20, 66, 104, 0.8);
+ border-radius: 10px;
+ margin: 0;
+ padding: 0;
+
+ .header {
+ position: relative;
+ width: 270px;
+ height: 24px;
+ font-size: 18px;
+ font-family: Microsoft YaHei-Bold, Microsoft YaHei;
+ font-weight: bold;
+ color: #58BFCD;
+ line-height: 20px;
+ margin: 20px auto;
+
+ div {
+ text-align: center;
+ }
+ .close {
+ position: absolute;
+ top:-20px;
+ right:-260px;
+ cursor: pointer;
+ }
+
+ }
+ .content {
+ .video {
+ height: 310px;
+ margin: 0 40px;
+ }
+ }
+
+
+ }
\ No newline at end of file
diff --git a/src/views/equipment/index.vue b/src/views/equipment/index.vue
index d4934d9..3fb109e 100644
--- a/src/views/equipment/index.vue
+++ b/src/views/equipment/index.vue
@@ -69,6 +69,7 @@
</ul>
</div>
<div class="nape-boxs">
+ <!-- 气象监测 -->
<div v-for="(item, index) in stationData.weatherList" :key="index">
<div class="top">
<div class="l">
@@ -94,6 +95,7 @@
>{{tmpTDiff(item.valueDataList[item.valueDataList.length-1].startTime)}}天前更新</div>
</div>
</div>
+ <!-- 土壤监测 -->
<div v-for="(item, index) in stationData.soliList" :key="index">
<div class="top">
<div class="l">
@@ -114,9 +116,12 @@
<span class="old-btn" @click="historyData(item)">历史数据</span>
</div>
- <div class="r">{{tmpTDiff(item.valueDataList[item.valueDataList.length-1].startTime)}}天前更新</div>
+ <div
+ class="r"
+ >{{tmpTDiff(item.valueDataList[item.valueDataList.length-1].startTime)}}天前更新</div>
</div>
</div>
+ <!-- 空气监测 -->
<div v-for="(item, index) in stationData.airList" :key="index">
<div class="top">
<div class="l">
@@ -137,9 +142,12 @@
<span class="old-btn" @click="historyData(item)">历史数据</span>
</div>
- <div class="r">{{tmpTDiff(item.valueDataList[item.valueDataList.length-1].startTime)}}天前更新</div>
+ <div
+ class="r"
+ >{{tmpTDiff(item.valueDataList[item.valueDataList.length-1].startTime)}}天前更新</div>
</div>
</div>
+ <!-- 水质监测 -->
<div v-for="(item, index) in stationData.waterList" :key="index">
<div class="top">
<div class="l">
@@ -196,10 +204,12 @@
<script>
import {
- getLandList,
- getStationAndVideoByLandId,
- getStationDateByStcd
+ getLandList
} from '@/api/land/land'
+import {
+ getStationAndVideoByLandId,
+ getStationDateByStcd
+} from '@/api/equipment/equipment'
import { nextTick } from 'vue'
import flvjs from 'flv.js'
import dateUtils from '@/utils/dateUtils' // 1.先引入
@@ -359,12 +369,12 @@
},
historyData (item) {
- var valueDataList = item.valueDataList
- var values = []
- var names = []
+ const valueDataList = item.valueDataList
+ const values = []
+ const names = []
valueDataList.forEach(item => {
values.push(item.value)
- names.push(item.startTime.substring(5,10) + ' ' + item.startTime.substring(11) + ':00')
+ names.push(item.startTime.substring(5, 10) + ' ' + item.startTime.substring(11) + ':00')
})
this.initLine('EchartsBox', '单位' + item.unit, names, values)
@@ -464,7 +474,7 @@
this.stationData = res.data.data
if (this.stationData.soilList.length == 0 && this.stationData.weatherList.length == 0 &&
- this.stationData.airList.length == 0 && this.stationData.waterList.length == 0) {
+ this.stationData.airList.length == 0 && this.stationData.waterList.length == 0) {
this.isNostaList = false
} else {
this.isNostaList = true
diff --git a/src/views/farm/index.vue b/src/views/farm/index.vue
index 779c7ea..e77f1a4 100644
--- a/src/views/farm/index.vue
+++ b/src/views/farm/index.vue
@@ -71,7 +71,7 @@
</div>
<div v-show="ncjscz == 'cz'" class="lists-box nscz">
- <div v-for="(item, index) in farmRecordList" :key="index">
+ <div v-for="(item, index) in farmRecordList" :key="'item'+index">
<div class="t-border"></div>
<div class="t-item">
<div>{{item.typeName}}</div>
@@ -117,7 +117,7 @@
</div>
<div v-show="zydksb == 'zy'" class="lists-box dk">
- <div v-for="(item, index) in farmPlantList" :key="index">
+ <div v-for="(item, index) in farmPlantList" :key="'farmPlantList'+index">
<div class="title">
<img :src="item.url" alt />
{{item.strainName}}
@@ -130,7 +130,7 @@
</div>
<div v-show="zydksb == 'dk'" class="lists-box dk">
- <div v-for="(item, index) in plotLists" :key="index" @click="setCenter(item)">
+ <div v-for="(item, index) in plotLists" :key="'plotLists'+index" @click="setCenter(item)">
<div class="title">
<img :src="item.url" alt />
{{item.landName}}
@@ -143,12 +143,55 @@
</div>
<div v-show="zydksb =='sb'" class="lists-box sb">
- <div v-for="(item, index) in equipmentList" :key="index">
+ <div
+ v-for="(item, index) in equipmentList"
+ :key="'equipmentList' + index"
+ class="lists-item"
+ @click="item.dictTypeNum == 0?goToJkDetail(item
+ ):goToDetail(item)"
+ >
<div class="title">
- <img src="/img/icon/jk.png" alt />{{item.name}}
+ <img v-if="item.dictTypeNum == 0" src="/img/icon/jk.png" alt />
+ <img v-else-if="item.dictTypeNum == 1" src="/img/icon/qx.png" alt />
+ <img v-else-if="item.dictTypeNum == 2" src="/img/icon/qx.png" alt />
+ <img v-else-if="item.dictTypeNum == 3" src="/img/icon/sz.png" alt />
+ <img v-else-if="item.dictTypeNum == 4" src="/img/icon/tr.png" alt />
+ <img v-else src="/img/icon/qx.png" alt />
+ {{item.name}}
</div>
- <div class="type off">在线</div>
+ <div class="type on" v-if="item.status">在线</div>
+ <div class="type off" v-else>离线</div>
</div>
+ <!-- 视频监控数据 -->
+<!-- <div v-for="(item, index) in equipmentList.vidList"-->
+<!-- :key="'vidList'+index"-->
+<!-- class="lists-item"-->
+<!-- @click="goToJkDetail(item)">-->
+<!-- <div class="title">-->
+<!-- <img src="/img/icon/jk.png" alt />-->
+<!-- {{item.name}}-->
+<!-- </div>-->
+<!-- <div class="type on" v-if="item.onLine == 0">在线</div>-->
+<!-- <div class="type off" v-else>离线</div>-->
+<!-- </div>-->
+ <!-- 监测设备数据 -->
+<!-- <div-->
+<!-- v-for="(item, index) in equipmentList.staList"-->
+<!-- :key="'staList' + index"-->
+<!-- class="lists-item"-->
+<!-- @click="goToDetail(item)"-->
+<!-- >-->
+<!-- <div class="title">-->
+<!-- <img v-if="item.dictTypeNum == 1" src="/img/icon/qx.png" alt />-->
+<!-- <img v-else-if="item.dictTypeNum == 2" src="/img/icon/qx.png" alt />-->
+<!-- <img v-else-if="item.dictTypeNum == 3" src="/img/icon/sz.png" alt />-->
+<!-- <img v-else-if="item.dictTypeNum == 4" src="/img/icon/tr.png" alt />-->
+<!-- <img v-else src="/img/icon/qx.png" alt />-->
+<!-- {{item.name}}-->
+<!-- </div>-->
+<!-- <div class="type on" v-if="item.onLine == 0">在线</div>-->
+<!-- <div class="type off" v-else>离线</div>-->
+<!-- </div>-->
</div>
</div>
@@ -197,29 +240,31 @@
</div>
<div class="table-list">
<div class="t-header">
- <div class="sym-style">溯源码样式</div>
+<!-- <div class="sym-style">溯源码样式</div>-->
+ <div>产品名称</div>
<div>溯源码编号</div>
<div>已绑定溯源/总数</div>
<div>创建时间</div>
<div>操作</div>
</div>
<div class="t-body">
- <div class="table-list" v-for="(item, index) in sourceList" :key="index">
- <div class="sym-style">
- <div class="l">
- <img src="/img/icon/sym.png" alt />
- </div>
- <div class="r">
- <div class="title">常规-样式1</div>
- <div class="unit">5cm*3cm</div>
- </div>
- </div>
+ <div class="table-list" v-for="(item, index) in sourceList" :key="'sourceList'+index">
+<!-- <div class="sym-style">-->
+<!-- <div class="l">-->
+<!-- <img src="/img/icon/sym.png" alt />-->
+<!-- </div>-->
+<!-- <div class="r">-->
+<!-- <div class="title">常规-样式1</div>-->
+<!-- <div class="unit">5cm*3cm</div>-->
+<!-- </div>-->
+<!-- </div>-->
+ <div>{{item.productName}}</div>
<div>{{item.code}}</div>
<div>{{item.bind == 0 ? 1 : 0}}/1</div>
<div>{{item.createTime}}</div>
<div>
<el-button
- @click="openPopup('/img/icon/sym.png')"
+ @click="openPopup(item.code)"
size="small"
class="look"
type="info"
@@ -255,7 +300,7 @@
</template>
<template slot="public-box-content">
<div v-show="plotDetailsNape == 'zypz'" class="box zypz-box">
- <div v-for="(item, index) in plotDetailsPlantList" :key="index">
+ <div v-for="(item, index) in plotDetailsPlantList" :key="'plotDetailsPlantList'+index">
<img class="logo" :src="item.url" alt />
<div class="titles-box">
<div class="title">{{item.strainName}}</div>
@@ -266,7 +311,7 @@
</div>
</div>
<div v-show="plotDetailsNape == 'nscz'" class="box nscz-box">
- <div v-for="(item, index) in plotDetailsRecordList" :key="index">
+ <div v-for="(item, index) in plotDetailsRecordList" :key="'plotDetailsRecordList'+index">
<div class="t-border"></div>
<div class="t-item">
<div class="type">{{item.typeName}}</div>
@@ -299,26 +344,176 @@
</template>
</public-nape-box>
- <el-dialog
- title="溯源码"
- custom-class="dialog-fixed"
- :visible.sync="dialogVisible"
- :before-close="handleClose"
- >
+ <el-dialog title="溯源码" custom-class="dialog-fixed" :visible.sync="dialogVisible">
<img style="width: 500px;" :src="currentUrl" alt />
</el-dialog>
+
+ <public-box
+ v-show="staionDetail"
+ :closeFlag="'staionDetail'"
+ :className="'public-equirment-station-details'"
+ >
+ <template slot="public-box-header">
+ <div>{{staInfo.name}}</div>
+ <img
+ @click="staionDetail = false"
+ src="../../../public/img/icon/close.png"
+ class="close"
+ />
+ </template>
+ <template slot="public-box-content">
+ <!-- 气象监测 -->
+ <div class="item" v-for="(item, staListIndex) in stationData.weatherList"
+ :key="'weatherList' + staListIndex">
+ <div class="itemTitle">
+ <img src="../../../public/img/icon/icon_3788.png" alt />
+ <div class="type">
+ <h1>{{item.name}}</h1>
+ <span>单位:{{item.unit}}</span>
+ </div>
+ <div class="data">{{item.valueDataList[item.valueDataList.length-1].value}}</div>
+ <img
+ src="../../../public/img/icon/up_menu.png"
+ class="openMenuIcon"
+ @click="showEchart(staListIndex,null)"
+ v-if="echartIsShow && jcIndex == staListIndex"
+ alt
+ />
+ <img
+ src="../../../public/img/icon/down_menu.png"
+ class="openMenuIcon"
+ @click="showEchart(staListIndex,item)"
+ v-else
+ alt
+ />
+ </div>
+ <div class="echart" v-show="echartIsShow && jcIndex == staListIndex">
+ <div :id="'EchartsBox'+staListIndex" class="EchartsBox_div"></div>
+ </div>
+ </div>
+ <!-- 土壤监测 -->
+ <div class="item" v-for="(item, staListIndex) in stationData.soliList"
+ :key="'soliList' + staListIndex">
+ <div class="itemTitle">
+ <img src="../../../public/img/icon/icon_3788.png" alt />
+ <div class="type">
+ <h1>{{item.name}}</h1>
+ <span>单位:{{item.unit}}</span>
+ </div>
+ <div class="data">{{item.valueDataList[item.valueDataList.length-1].value}}</div>
+ <img
+ src="../../../public/img/icon/up_menu.png"
+ class="openMenuIcon"
+ @click="showEchart(staListIndex,null)"
+ v-if="echartIsShow && jcIndex == staListIndex"
+ alt
+ />
+ <img
+ src="../../../public/img/icon/down_menu.png"
+ class="openMenuIcon"
+ @click="showEchart(staListIndex,item)"
+ v-else
+ alt
+ />
+ </div>
+ <div class="echart" v-show="echartIsShow && jcIndex == staListIndex">
+ <div :id="'EchartsBox'+staListIndex" class="EchartsBox_div"></div>
+ </div>
+ </div>
+ <!-- 空气监测 -->
+ <div class="item" v-for="(item, staListIndex) in stationData.airList"
+ :key="'airList' + staListIndex">
+ <div class="itemTitle">
+ <img src="../../../public/img/icon/icon_3788.png" alt />
+ <div class="type">
+ <h1>{{item.name}}</h1>
+ <span>单位:{{item.unit}}</span>
+ </div>
+ <div class="data">{{item.valueDataList[item.valueDataList.length-1].value}}</div>
+ <img
+ src="../../../public/img/icon/up_menu.png"
+ class="openMenuIcon"
+ @click="showEchart(staListIndex,null)"
+ v-if="echartIsShow && jcIndex == staListIndex"
+ alt
+ />
+ <img
+ src="../../../public/img/icon/down_menu.png"
+ class="openMenuIcon"
+ @click="showEchart(staListIndex,item)"
+ v-else
+ alt
+ />
+ </div>
+ <div class="echart" v-show="echartIsShow && jcIndex == staListIndex">
+ <div :id="'EchartsBox'+staListIndex" class="EchartsBox_div"></div>
+ </div>
+ </div>
+ <!-- 水质监测 -->
+ <div class="item" v-for="(item, staListIndex) in stationData.waterList"
+ :key="'waterList' + staListIndex">
+ <div class="itemTitle">
+ <img src="../../../public/img/icon/icon_3788.png" alt />
+ <div class="type">
+ <h1>{{item.name}}</h1>
+ <span>单位:{{item.unit}}</span>
+ </div>
+ <div class="data">{{item.valueDataList[item.valueDataList.length-1].value}}</div>
+ <img
+ src="../../../public/img/icon/up_menu.png"
+ class="openMenuIcon"
+ @click="showEchart(staListIndex,null)"
+ v-if="echartIsShow && jcIndex == staListIndex"
+ alt
+ />
+ <img
+ src="../../../public/img/icon/down_menu.png"
+ class="openMenuIcon"
+ @click="showEchart(staListIndex,item)"
+ v-else
+ alt
+ />
+ </div>
+ <div class="echart" v-show="echartIsShow && jcIndex == staListIndex">
+ <div :id="'EchartsBox'+staListIndex" class="EchartsBox_div"></div>
+ </div>
+ </div>
+ </template>
+ </public-box>
+
+ <public-box
+ v-show="JkDetail"
+ :closeFlag="'JkDetail'"
+ :className="'public-equirment-vid-details'"
+ >
+ <template slot="public-box-header">
+ <div>{{vidInfo.name}}</div>
+ <img
+ @click="JkDetail = false"
+ src="../../../public/img/icon/close.png"
+ class="close"
+ />
+ </template>
+ <template slot="public-box-content">
+ <div class="video">
+ <video id="videoElement" autoplay muted width="100%" height="100%"></video>
+ </div>
+ </template>
+ </public-box>
</div>
</template>
<script>
-import { getSourceList } from '@/api/farm/source'
+import { getSimpleInfo, getSourceList } from '@/api/farm/source'
+import flvjs from 'flv.js'
import {
getLandList,
getFarmingRecordList,
- getFarmPlantList,
- getStationAndVideoList
+ getFarmPlantList
} from '@/api/farm/farmingrecord'
+import dateUtils from '@/utils/dateUtils'
+import { getStationDateByStcd, queryEquipmentList } from '@/api/equipment/equipment'
export default {
data () {
@@ -346,6 +541,18 @@
currentClickPlot: {},
// 物联网设备
equipmentList: {},
+ // 监测设备详情
+ staionDetail: false,
+ // 监控设备详情
+ JkDetail: false,
+ // 监测设备echart展示
+ echartIsShow: false,
+ // 监测列表index
+ jcIndex: 0,
+ flvPlayer: null,
+ vidInfo: {}, // 视频数据
+ staInfo: {}, // 监测数据
+ stationData: {} // 监测详细数据
}
},
created () {
@@ -413,8 +620,11 @@
this.$router.go(-1)
},
- openPopup (url) {
- this.currentUrl = url
+ openPopup (code) {
+ getSimpleInfo(code).then(res => {
+ this.currentUrl = res.data.data.qrcode
+ })
+
this.dialogVisible = true
},
@@ -480,10 +690,243 @@
},
getStationAndVideo () {
var that = this
- getStationAndVideoList({ type: 'ALL',farmId: this.currentDetails.id }).then((res) => {
+ queryEquipmentList({ type: 'ALL', farmId: this.currentDetails.id }).then((res) => {
if (JSON.stringify(res.data) != '{}' && res.data.data) {
- that.equipmentList = res.data.data.staList
+ that.equipmentList = res.data.data.equipmentList
}
+ })
+ },
+ // 跳转 监测 设备详情窗口
+ goToDetail (item) {
+ this.staInfo = item
+ this.getStationDateByStcd(item.stcd)
+ this.staionDetail = true
+ },
+ // 跳转 监控 设备详情窗口
+ goToJkDetail (item) {
+ this.vidInfo = item
+ this.JkDetail = true
+ this.$nextTick(() => {
+ this.playFlvVideo('wss://www.ainfo.top:700/rtp/34020000001110000105_34020000001310000002.flv')
+ })
+ },
+ // echart
+ initLine (dom, yName, x, y) {
+ const that = this
+ const chartDom = document.getElementById(dom)
+ const myChart = this.$echarts.init(chartDom)
+
+ const option = {
+ tooltip: {},
+ grid: {
+ top: '30px',
+ left: '28px',
+ right: '28px',
+ bottom: '0px',
+ containLabel: true
+ },
+ xAxis: [
+ {
+
+ type: 'category',
+ boundaryGap: false,
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: '#697B89'
+ }
+ },
+ axisLabel: {
+ // 坐标轴刻度标签的相关设置
+ lineHeight: 18,
+ textStyle: {
+ color: '#A9D1D7',
+ margin: 8
+ },
+ formatter: function (value) {
+ var ret = ''// 拼接加\n返回的类目项
+ var maxLength = 5// 每项显示文字个数
+ value = value.replace(/\s*/g, '')
+ var valLength = value.length// X轴类目项的文字个数
+
+ var rowN = Math.ceil(valLength / maxLength) // 类目项需要换行的行数
+ // 如果类目项的文字大于5,
+ if (rowN > 1) {
+ for (var i = 0; i < rowN; i++) {
+ var temp = ''// 每次截取的字符串
+ var start = i * maxLength// 开始截取的位置
+ var end = start + maxLength// 结束截取的位置
+ // 这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
+ temp = value.substring(start, end) + '\n'
+ ret += temp // 凭借最终的字符串
+ }
+ return ret
+ } else {
+ return value
+ }
+ }
+ },
+ axisTick: { show: false },
+ data: x
+ }
+ ],
+ yAxis: [
+ {
+ name: yName,
+ nameTextStyle: {
+ color: '#A9D1D7'
+ },
+ type: 'value',
+ min: 0,
+ splitLine: {
+ show: false
+ },
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: '#697B89'
+ }
+ },
+ axisLabel: {
+ margin: 8,
+ textStyle: {
+ color: '#A9D1D7'
+ }
+ },
+ axisTick: { show: false }
+ }
+ ],
+ series: [
+ {
+ type: 'line',
+ smooth: true, // 是否平滑曲线显示
+ symbolSize: 0,
+ lineStyle: {
+ normal: {
+ color: '#5ABF78' // 线条颜色
+ }
+ },
+ areaStyle: {
+ // 区域填充样式
+ normal: {
+ // 线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
+ color: new that.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+ offset: 0,
+ color: 'rgba(90, 191, 120, 0.5000)'
+ }, {
+ offset: 1,
+ color: 'rgba(90, 191, 120, 0)'
+ }]),
+
+ shadowColor: 'rgba(53,142,215, 0.9)', // 阴影颜色
+ shadowBlur: 20 // shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
+ }
+ },
+ data: y
+ }
+ ]
+ }
+
+ option && myChart.setOption(option)
+ },
+ // 点击展示监测设备echart图
+ showEchart (index, item) {
+ if (this.jcIndex == index) {
+ this.echartIsShow = !this.echartIsShow
+ } else {
+ this.jcIndex = index
+ this.echartIsShow = true
+ }
+ if (item) {
+ const valueDataList = item.valueDataList
+ const values = []
+ const names = []
+ valueDataList.forEach(item => {
+ values.push(item.value)
+ names.push(item.startTime.substring(5, 10) + ' ' + item.startTime.substring(11) + ':00')
+ })
+ this.initLine('EchartsBox' + index, '单位' + item.unit, names, values)
+ }
+ },
+ // flv视频播放
+ playFlvVideo (url) {
+ // 先销毁
+ if (this.flvPlayer) {
+ this.flvPlayer.pause()
+ this.flvPlayer.unload()
+ this.flvPlayer.detachMediaElement()
+ this.flvPlayer.destroy()
+ this.flvPlayer = null
+ }
+ if (flvjs.isSupported()) {
+ var videoElement = document.getElementById('videoElement')
+ this.flvPlayer = flvjs.createPlayer({
+ type: 'flv',
+ isLive: true,
+ hasAudio: false,
+ stashInitialSize: 128,
+ url: url
+ }, {
+ enableStashBuffer: false,
+ fixAudioTimestampGap: false
+ })
+ this.flvPlayer.attachMediaElement(videoElement)
+ this.flvPlayer.load()
+ this.flvPlayer.play()
+ }
+ },
+ // 根据设备号获取监测数据
+ getStationDateByStcd (stcd) {
+ // const startTime = dateUtils.getSpecifyMonthDate(3)// 获取3个月前时间
+ const startTime = dateUtils.getSpecifyDayDate(10)// 获取10天前时间
+ const endTime = dateUtils.getDayLast()// 获取今天最后日期
+ getStationDateByStcd(stcd, startTime, endTime).then((res) => {
+ // 遍历气象大集合
+ res.data.data.weatherList.forEach(function (item, index) {
+ // 把气象无效数据过滤掉
+ var list = item.valueDataList.filter(vaItem => {
+ return vaItem.value != '0.0'
+ })
+ // 如果没有找到就不做操作
+ if (list.length > 0) {
+ item.valueDataList = list
+ }
+ })
+ // 遍历水质
+ res.data.data.waterList.forEach(function (item, index) {
+ // 把水质无效数据过滤掉
+ var list = item.valueDataList.filter(vaItem => {
+ return vaItem.value != '0.0'
+ })
+ // 如果没有找到就不做操作
+ if (list.length > 0) {
+ item.valueDataList = list
+ }
+ })
+ // 遍历土壤
+ res.data.data.soilList.forEach(function (item, index) {
+ // 把水质无效数据过滤掉
+ var list = item.valueDataList.filter(vaItem => {
+ return vaItem.value != '0.0'
+ })
+ // 如果没有找到就不做操作
+ if (list.length > 0) {
+ item.valueDataList = list
+ }
+ })
+ // 遍历空气
+ res.data.data.airList.forEach(function (item, index) {
+ // 把水质无效数据过滤掉
+ var list = item.valueDataList.filter(vaItem => {
+ return vaItem.value != '0.0'
+ })
+ // 如果没有找到就不做操作
+ if (list.length > 0) {
+ item.valueDataList = list
+ }
+ })
+
+ this.stationData = res.data.data
})
}
}
@@ -788,6 +1231,9 @@
& > div:last-child {
border: none;
}
+ .lists-item {
+ cursor: pointer;
+ }
}
.dk.lists-box {
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index eb9c23e..5dbbcfc 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -334,19 +334,26 @@
</template>
<template slot="public-box-content">
<div class="market-title">
- <el-select placeholder="请选择农场"></el-select>
+ <el-select v-model="farm.id" placeholder="请选择农场" @change="scFarmChange">
+ <el-option
+ v-for="item in farmNumArray"
+ :key="item.id"
+ :label="item.farmName"
+ :value="item.id">
+ </el-option>
+ </el-select>
<div class="date">
<el-date-picker
- v-model="value1"
- type="daterange"
+ v-model="scSelectTime"
+ type="daterange" value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
></el-date-picker>
</div>
<div class="query-button">
- <el-button type="primary" icon="el-icon-search">查询</el-button>
- <el-button type="info" icon="el-icon-refresh-right">重置</el-button>
+ <el-button type="primary" icon="el-icon-search" @click="searchMarketDistrict">查询</el-button>
+ <el-button type="info" icon="el-icon-refresh-right" @click="scltReset">重置</el-button>
</div>
</div>
@@ -522,6 +529,10 @@
<script>
// eslint-disable-next-line no-unused-vars
import {
+ getStationAndVideoCount,
+ getStationAndVideoList
+} from '@/api/equipment/equipment'
+import {
getFarmingCount,
getFarmingStatis,
pagePalnt,
@@ -531,9 +542,7 @@
selectMarketDistrict,
getFarmList,
getLandList,
- getFarmingRecordList,
- getStationAndVideoCount,
- getStationAndVideoList
+ getFarmingRecordList
} from '@/api/farm/farmingrecord'
// eslint-disable-next-line no-unused-vars
import { selectXCount } from '@/api/land/land'
@@ -559,6 +568,10 @@
salaNumY: [],
// 市场流通
marketDistrict: [],
+ farm: {},
+ scSelectTime: '',
+ scStartTime: '',
+ scEndTime: '',
ncListShow: false,
jkListShow: false,
jcListShow: false,
@@ -1037,6 +1050,20 @@
that.marketDistrict = res.data.data
})
},
+ // 市场流通条件筛选
+ searchMarketDistrict () {
+ var that = this
+ var params = {}
+ params.farmId = this.farm.id
+ if (that.scSelectTime) {
+ params.startTime = that.scSelectTime[0]
+ params.endTime = that.scSelectTime[1]
+ }
+ selectMarketDistrict(Object.assign(params)).then((res) => {
+ that.marketDistrict = res.data.data
+ this.setMarketChart('marketChartQx')
+ })
+ },
// 统计今年和去年的销售总额
selctSaletZ () {
var that = this
@@ -1330,6 +1357,13 @@
})
}
})
+ },
+ scFarmChange (data) {
+ this.farm.id = data
+ },
+ scltReset () {
+ this.farm.id = ''
+ this.scSelectTime = ''
}
}
}
@@ -1982,6 +2016,7 @@
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
+ cursor: pointer;
}
.box:hover {
@@ -2005,6 +2040,7 @@
font-size: 14px;
color: #6de9f3;
box-sizing: border-box;
+ cursor: pointer;
.icon {
width: 24px;
diff --git a/src/views/manage/index.vue b/src/views/manage/index.vue
index f810ba4..c43eb9c 100644
--- a/src/views/manage/index.vue
+++ b/src/views/manage/index.vue
@@ -6,2017 +6,1971 @@
* 经营主体监管
*/
<template>
- <div class="container">
- <div class="toggle-plot">
- <el-select
- popper-class="manage-select"
- v-model="farmValue"
- @change="farmSelectChange"
- placeholder="请选择农场"
- :popper-append-to-body="false"
- >
- <el-option
- v-for="item in farmSelect"
- :key="item.id"
- :label="item.farmName"
- :value="item.id"
- class=".manage-option"
- >
- </el-option>
- </el-select>
- </div>
- <div class="main-content">
- <div class="t">
- <statistics-num
- :className="'td'"
- :totalRegion="znum"
- :imgUrl="'/img/icon/mj.png'"
- :unit="'亩'"
- :title="'土地面积'"
- :subOneTitle="'使用面积'"
- :subOneNum="landsnum"
- :subTwoTitle="'未使用面积'"
- :subTwoNum="landwnum"
- ></statistics-num>
- <statistics-num
- :className="'kc'"
- :totalRegion="stockTj"
- :imgUrl="'/img/icon/kc.png'"
- :unit="'公斤'"
- :title="'库存数量'"
- :subOneTitle="'农产品'"
- :subOneNum="stockNCP"
- :subTwoTitle="'加工产品'"
- :subTwoNum="stockJG"
- ></statistics-num>
- <statistics-num
- :className="'nz'"
- :totalRegion="jnStock"
- :imgUrl="'/img/icon/syl.png'"
- :unit="'公斤'"
- :title="'农资年使用量'"
- :subOneTitle="'去年使用'"
- :subOneNum="qnStock"
- :subTwoTitle="'本月使用'"
- :subTwoNum="byStock"
- ></statistics-num>
- <statistics-num
- :className="'cl'"
- :totalRegion="yieldTj"
- :imgUrl="'/img/icon/ncl.png'"
- :unit="'公斤'"
- :title="'年产量'"
- :subOneTitle="'农产品'"
- :subOneNum="yieldNCP"
- :subTwoTitle="'加工产品'"
- :subTwoNum="yieldJG"
- ></statistics-num>
- <statistics-num
- :className="'lt'"
- :totalRegion="salaNumBN"
- :imgUrl="'/img/icon/lt.png'"
- :unit="'公斤'"
- :title="'市场流通量'"
- :subOneTitle="'去年流通量'"
- :subOneNum="salaNumQN"
- :subTwoTitle="'本月流通量'"
- :subTwoNum="salaNumBY"
- ></statistics-num>
- </div>
- <div class="c">
- <div class="time-box">
- <time-box
- :imgUrl="'/img/icon/current.png'"
- :title="'溯源次数'"
- :currentNum="sweepList['todayNum']"
- :subTitle="'昨日溯源次数对比'"
- :contrast="sweepList['yesterdayNum']"
- :upDown="
+ <div class="container">
+ <div class="toggle-plot">
+ <el-select
+ popper-class="manage-select"
+ v-model="farmValue"
+ @change="farmSelectChange"
+ placeholder="请选择农场"
+ :popper-append-to-body="false"
+ >
+ <el-option
+ v-for="item in farmSelect"
+ :key="item.id"
+ :label="item.farmName"
+ :value="item.id"
+ class=".manage-option"
+ ></el-option>
+ </el-select>
+ </div>
+ <div class="main-content">
+ <div class="t">
+ <statistics-num
+ :className="'td'"
+ :totalRegion="znum"
+ :imgUrl="'/img/icon/mj.png'"
+ :unit="'亩'"
+ :title="'土地面积'"
+ :subOneTitle="'使用面积'"
+ :subOneNum="landsnum"
+ :subTwoTitle="'未使用面积'"
+ :subTwoNum="landwnum"
+ ></statistics-num>
+ <statistics-num
+ :className="'kc'"
+ :totalRegion="stockTj"
+ :imgUrl="'/img/icon/kc.png'"
+ :unit="'公斤'"
+ :title="'库存数量'"
+ :subOneTitle="'农产品'"
+ :subOneNum="stockNCP"
+ :subTwoTitle="'加工产品'"
+ :subTwoNum="stockJG"
+ ></statistics-num>
+ <statistics-num
+ :className="'nz'"
+ :totalRegion="jnStock"
+ :imgUrl="'/img/icon/syl.png'"
+ :unit="'公斤'"
+ :title="'农资年使用量'"
+ :subOneTitle="'去年使用'"
+ :subOneNum="qnStock"
+ :subTwoTitle="'本月使用'"
+ :subTwoNum="byStock"
+ ></statistics-num>
+ <statistics-num
+ :className="'cl'"
+ :totalRegion="yieldTj"
+ :imgUrl="'/img/icon/ncl.png'"
+ :unit="'公斤'"
+ :title="'年产量'"
+ :subOneTitle="'农产品'"
+ :subOneNum="yieldNCP"
+ :subTwoTitle="'加工产品'"
+ :subTwoNum="yieldJG"
+ ></statistics-num>
+ <statistics-num
+ :className="'lt'"
+ :totalRegion="salaNumBN"
+ :imgUrl="'/img/icon/lt.png'"
+ :unit="'公斤'"
+ :title="'市场流通量'"
+ :subOneTitle="'去年流通量'"
+ :subOneNum="salaNumQN"
+ :subTwoTitle="'本月流通量'"
+ :subTwoNum="salaNumBY"
+ ></statistics-num>
+ </div>
+ <div class="c">
+ <div class="time-box">
+ <time-box
+ :imgUrl="'/img/icon/current.png'"
+ :title="'溯源次数'"
+ :currentNum="sweepList['todayNum']"
+ :subTitle="'昨日溯源次数对比'"
+ :contrast="sweepList['yesterdayNum']"
+ :upDown="
sweepList['todayNum'] > sweepList['yesterdayNum'] ? 'up' : 'down'
"
- ></time-box>
- <time-box
- :imgUrl="'/img/icon/week.png'"
- :title="'溯源次数'"
- :currentNum="sweepList['thisWeekNum']"
- :subTitle="'上周溯源次数对比'"
- :contrast="sweepList['lastWeekNum']"
- :upDown="
+ ></time-box>
+ <time-box
+ :imgUrl="'/img/icon/week.png'"
+ :title="'溯源次数'"
+ :currentNum="sweepList['thisWeekNum']"
+ :subTitle="'上周溯源次数对比'"
+ :contrast="sweepList['lastWeekNum']"
+ :upDown="
sweepList['thisWeekNum'] > sweepList['lastWeekNum']
? 'up'
: 'down'
"
- ></time-box>
- <time-box
- :imgUrl="'/img/icon/month.png'"
- :title="'溯源次数'"
- :currentNum="sweepList['thisMonthNum']"
- :subTitle="'上月溯源次数对比'"
- :contrast="sweepList['lastMonthNum']"
- :upDown="
+ ></time-box>
+ <time-box
+ :imgUrl="'/img/icon/month.png'"
+ :title="'溯源次数'"
+ :currentNum="sweepList['thisMonthNum']"
+ :subTitle="'上月溯源次数对比'"
+ :contrast="sweepList['lastMonthNum']"
+ :upDown="
sweepList['thisMonthNum'] > sweepList['lastMonthNum']
? 'up'
: 'down'
"
- ></time-box>
- </div>
- <div class="task-box">
- <div class="title">任务总数</div>
-
- <date-select :type="'taskSelect'"></date-select>
-
- <div class="echarts-box" id="TaskNumEcharts"></div>
- </div>
- <div class="nz-ncp">
- <div class="title-box">
- <div>
- <div class="item" :class="{ on: nzOrNcp == 'ncp' }">
- <div @click="nzOrNcp = 'ncp'" class="title">农产品投入</div>
- <span></span>
- </div>
- </div>
- <div>
- <div class="item" :class="{ on: nzOrNcp == 'nz' }">
- <div @click="nzOrNcp = 'nz'" class="title">农资投入</div>
- <span></span>
- </div>
- </div>
- </div>
- <date-select
- :type="'ncptrSelect'"
- v-if="nzOrNcp == 'ncp'"
- ></date-select>
- <date-select
- :type="'nztrSelect'"
- v-if="nzOrNcp == 'nz'"
- ></date-select>
- <div v-if="nzOrNcp == 'ncp'" class="lists-box">
- <div v-for="(item, index) in ncptr" :key="index">
- <div>{{ index + 1 }}</div>
- <div>{{ item.strainName }}</div>
- <div>{{ item.area }}亩</div>
- </div>
- <!-- <div>-->
- <!-- <div>2</div>-->
- <!-- <div>玉米</div>-->
- <!-- <div>75.12亩</div>-->
- <!-- </div>-->
- </div>
- <div v-if="nzOrNcp == 'nz'" class="lists-box">
- <div v-for="(item, index) in nztr" :key="index">
- <div>{{ index + 1 }}</div>
- <div>{{ item.agrname }}</div>
- <div>{{ item.cnum }}公斤</div>
- </div>
- <!-- <div>-->
- <!-- <div>2</div>-->
- <!-- <div>复合肥料</div>-->
- <!-- <div>68公斤</div>-->
- <!-- </div>-->
- </div>
- </div>
- <div class="trp-ncp">
- <div class="title-box">
- <div>
- <div class="item" :class="{ on: trpOrNcp == 'trp' }">
- <div @click="trpOrNcpChange('trp')" class="title">
- 投入品监管
+ ></time-box>
</div>
- <span></span>
- </div>
- </div>
- <div>
- <div class="item" :class="{ on: trpOrNcp == 'ncp' }">
- <div @click="trpOrNcpChange('ncp')" class="title">
- 农产品监管
+ <div class="task-box">
+ <div class="title">任务总数</div>
+
+ <date-select :type="'taskSelect'"></date-select>
+
+ <div class="echarts-box" id="TaskNumEcharts"></div>
</div>
- <span></span>
- </div>
- </div>
+ <div class="nz-ncp">
+ <div class="title-box">
+ <div>
+ <div class="item" :class="{ on: nzOrNcp == 'ncp' }">
+ <div @click="nzOrNcp = 'ncp'" class="title">农产品投入</div>
+ <span></span>
+ </div>
+ </div>
+ <div>
+ <div class="item" :class="{ on: nzOrNcp == 'nz' }">
+ <div @click="nzOrNcp = 'nz'" class="title">农资投入</div>
+ <span></span>
+ </div>
+ </div>
+ </div>
+ <date-select :type="'ncptrSelect'" v-if="nzOrNcp == 'ncp'"></date-select>
+ <date-select :type="'nztrSelect'" v-if="nzOrNcp == 'nz'"></date-select>
+ <div v-if="nzOrNcp == 'ncp'" class="lists-box">
+ <div v-for="(item, index) in ncptr" :key="index">
+ <div>{{ index + 1 }}</div>
+ <div>{{ item.strainName }}</div>
+ <div>{{ item.area }}亩</div>
+ </div>
+ <!-- <div>-->
+ <!-- <div>2</div>-->
+ <!-- <div>玉米</div>-->
+ <!-- <div>75.12亩</div>-->
+ <!-- </div>-->
+ </div>
+ <div v-if="nzOrNcp == 'nz'" class="lists-box">
+ <div v-for="(item, index) in nztr" :key="index">
+ <div>{{ index + 1 }}</div>
+ <div>{{ item.agrname }}</div>
+ <div>{{ item.cnum }}公斤</div>
+ </div>
+ <!-- <div>-->
+ <!-- <div>2</div>-->
+ <!-- <div>复合肥料</div>-->
+ <!-- <div>68公斤</div>-->
+ <!-- </div>-->
+ </div>
+ </div>
+ <div class="trp-ncp">
+ <div class="title-box">
+ <div>
+ <div class="item" :class="{ on: trpOrNcp == 'trp' }">
+ <div @click="trpOrNcpChange('trp')" class="title">投入品监管</div>
+ <span></span>
+ </div>
+ </div>
+ <div>
+ <div class="item" :class="{ on: trpOrNcp == 'ncp' }">
+ <div @click="trpOrNcpChange('ncp')" class="title">农产品监管</div>
+ <span></span>
+ </div>
+ </div>
- <div class="more" @click="popDetailedSupervise">
- 明细
- <img src="/img/icon/more.png" alt />
- </div>
- </div>
+ <div class="more" @click="popDetailedSupervise">
+ 明细
+ <img src="/img/icon/more.png" alt />
+ </div>
+ </div>
- <div class="echarts-box" id="TrpEcharts"></div>
- <!-- <div v-show="trpOrNcp == 'ncp'" class="echarts-box" id="NcpEcharts"></div>-->
+ <div class="echarts-box" id="TrpEcharts"></div>
+ <!-- <div v-show="trpOrNcp == 'ncp'" class="echarts-box" id="NcpEcharts"></div>-->
+ </div>
+ </div>
+ <div class="b">
+ <div class="cl-sy">
+ <div class="title-box">
+ <div>
+ <div class="item" :class="{ on: cltjOrsym == 'cltj' }">
+ <div @click="cltjOrSymChange('cltj')" class="title">产量统计</div>
+ <span></span>
+ </div>
+ </div>
+ <div>
+ <div class="item" :class="{ on: cltjOrsym == 'sym' }">
+ <div @click="cltjOrSymChange('sym')" class="title">溯源查询趋势图</div>
+ <span></span>
+ </div>
+ </div>
+
+ <div class="date">
+ <date-select :type="'cltjSelect'" v-if="cltjOrsym == 'cltj'"></date-select>
+ <date-select :type="'symSelect'" v-if="cltjOrsym == 'sym'"></date-select>
+ </div>
+ </div>
+
+ <div class="echarts-box" id="ClSyEcharts"></div>
+ </div>
+ <div class="ns-nz">
+ <div class="title-box">
+ <div>
+ <div class="item" :class="{ on: nsjlOrnz == 'nsjl' }">
+ <div @click="nsjlOrnz = 'nsjl'" class="title">农事记录</div>
+ <span></span>
+ </div>
+ </div>
+ <div>
+ <div class="item" :class="{ on: nsjlOrnz == 'nzcr' }">
+ <div @click="nsjlOrnz = 'nzcr'" class="title">农资出入库记录</div>
+ <span></span>
+ </div>
+ </div>
+
+ <div class="more" @click="popDetailedFarming({ type: '', landId: '' })">
+ 更多
+ <img src="/img/icon/more.png" alt />
+ </div>
+ </div>
+
+ <div v-if="nsjlOrnz == 'nsjl'" class="lists-box">
+ <div v-for="(item, index) in farminList" :key="index">
+ <div class="t-border"></div>
+ <div class="t-item">
+ <div>{{ item.typeName }}</div>
+ <div>{{ item.time }}</div>
+ </div>
+ <div class="b-item">
+ <div>{{ item.strainName }}</div>
+ <div>{{ item.realName }}</div>
+ <div>{{ item.landName }}</div>
+ </div>
+ <div class="b-border"></div>
+ </div>
+ </div>
+ <div v-if="nsjlOrnz == 'nzcr'" class="lists-box">
+ <div v-for="(item, index) in stockrecordList" :key="index">
+ <div class="t-border"></div>
+ <div class="t-item">
+ <div>{{ item.agrname }}</div>
+ <div>{{ item.time1 }}</div>
+ </div>
+ <div class="b-item">
+ <div>{{ item.spn }}</div>
+ <div>{{ item.type1 }}</div>
+ <div>{{ item.czr }}</div>
+ </div>
+ <div class="b-border"></div>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
- </div>
- <div class="b">
- <div class="cl-sy">
- <div class="title-box">
- <div>
- <div class="item" :class="{ on: cltjOrsym == 'cltj' }">
- <div @click="cltjOrSymChange('cltj')" class="title">
- 产量统计
+
+ <public-box
+ v-show="trpPopupFlag"
+ :closeFlag="'trpPopupFlag'"
+ :className="'public-farm-oper-table'"
+ >
+ <template slot="public-box-header">
+ <div class="logo"></div>
+ <div class="title">投入品监管明细</div>
+ <img
+ @click="trpPopupFlag = false"
+ src="/img/icon/public-close.png"
+ alt
+ class="close"
+ />
+ </template>
+ <template slot="public-box-content">
+ <div class="action-bar">
+ <div class="search">
+ <el-input
+ class="search-input"
+ size="small"
+ prefix-icon="el-icon-search"
+ placeholder="请输入农资"
+ v-model="inputTRP_nzname"
+ ></el-input>
+ </div>
+ <div class="btn-grounp">
+ <el-button
+ size="small"
+ class="search"
+ type="primary"
+ icon="el-icon-search"
+ @click="TRP_query"
+ >查询</el-button>
+ <el-button
+ size="small"
+ class="reset"
+ type="info"
+ icon="el-icon-refresh-right"
+ @click="TRP_refresh"
+ >重置</el-button>
+ </div>
</div>
- <span></span>
- </div>
- </div>
- <div>
- <div class="item" :class="{ on: cltjOrsym == 'sym' }">
- <div @click="cltjOrSymChange('sym')" class="title">
- 溯源查询趋势图
+ <div class="table-list">
+ <div class="t-header">
+ <div>农资</div>
+ <div>分类</div>
+ <div>规格</div>
+ <div>库存</div>
+ <div>数量</div>
+ <div>厂家</div>
+ </div>
+ <div class="t-body">
+ <div class="table-list" v-for="(item, index) in nztrAll" :key="index">
+ <div>{{ item.agrname }}</div>
+ <div>{{ item.stype }}</div>
+ <div>{{ item.spn }}</div>
+ <div>{{ item.amount }}{{ item.dic2 }}</div>
+ <div>{{ item.cnum }}{{ item.dic1 }}</div>
+ <div>{{ item.factoryName }}</div>
+ </div>
+ </div>
</div>
- <span></span>
- </div>
- </div>
+ </template>
+ </public-box>
- <div class="date">
- <date-select
- :type="'cltjSelect'"
- v-if="cltjOrsym == 'cltj'"
- ></date-select>
- <date-select
- :type="'symSelect'"
- v-if="cltjOrsym == 'sym'"
- ></date-select>
- </div>
- </div>
-
- <div class="echarts-box" id="ClSyEcharts"></div>
- </div>
- <div class="ns-nz">
- <div class="title-box">
- <div>
- <div class="item" :class="{ on: nsjlOrnz == 'nsjl' }">
- <div @click="nsjlOrnz = 'nsjl'" class="title">农事记录</div>
- <span></span>
- </div>
- </div>
- <div>
- <div class="item" :class="{ on: nsjlOrnz == 'nzcr' }">
- <div @click="nsjlOrnz = 'nzcr'" class="title">
- 农资出入库记录
+ <public-box
+ v-show="nzcrPopupFlag"
+ :closeFlag="'nzcrPopupFlag'"
+ :className="'public-farm-oper-table'"
+ >
+ <template slot="public-box-header">
+ <div class="logo"></div>
+ <div class="title">农资出入库记录</div>
+ <img
+ @click="nzcrPopupFlag = false"
+ src="/img/icon/public-close.png"
+ alt
+ class="close"
+ />
+ </template>
+ <template slot="public-box-content">
+ <div class="action-bar">
+ <div class="search">
+ <el-input
+ class="search-input"
+ size="small"
+ prefix-icon="el-icon-search"
+ placeholder="请输入农资"
+ v-model="inputNZ_nzname"
+ ></el-input>
+ </div>
+ <div class="btn-grounp">
+ <el-button
+ size="small"
+ class="search"
+ type="primary"
+ icon="el-icon-search"
+ @click="NZCR_query"
+ >查询</el-button>
+ <el-button
+ size="small"
+ class="reset"
+ type="info"
+ icon="el-icon-refresh-right"
+ @click="NZCR_refresh"
+ >重置</el-button>
+ </div>
</div>
- <span></span>
- </div>
- </div>
+ <div class="table-list">
+ <div class="t-header">
+ <div style="width: 225px">农资</div>
+ <div>分类</div>
+ <div>规格</div>
+ <div>类型</div>
+ <div>数量</div>
+ <div>操作时间</div>
+ <div>操作人</div>
+ </div>
+ <div class="t-body">
+ <div
+ class="table-list"
+ v-for="(item, index) in stockrecordAll"
+ :key="index"
+ >
+ <div style="width: 225px">{{ item.agrname }}</div>
+ <div>{{ item.stype == 0 ? "采购入库" : "调拨入库" }}</div>
+ <div>{{ item.spn }}</div>
+ <div>{{ item.type1 }}</div>
+ <div>{{ item.count }}</div>
+ <div>{{ item.createTime }}</div>
+ <div>{{ item.czr }}</div>
+ </div>
+ </div>
+ </div>
+ </template>
+ </public-box>
- <div
- class="more"
- @click="popDetailedFarming({ type: '', landId: '' })"
- >
- 更多
- <img src="/img/icon/more.png" alt />
- </div>
- </div>
+ <public-box
+ v-show="ncpPopupFlag"
+ :closeFlag="'ncpPopupFlag'"
+ :className="'public-farm-oper-table'"
+ >
+ <template slot="public-box-header">
+ <div class="logo"></div>
+ <div class="title">农产品监管</div>
+ <img
+ @click="ncpPopupFlag = false"
+ src="/img/icon/public-close.png"
+ alt
+ class="close"
+ />
+ </template>
+ <template slot="public-box-content">
+ <div class="action-bar">
+ <div class="search">
+ <el-input
+ class="search-input"
+ size="small"
+ prefix-icon="el-icon-search"
+ placeholder="请输入农产品"
+ v-model="inputNCP_nzname"
+ ></el-input>
+ </div>
+ <div class="btn-grounp">
+ <el-button
+ size="small"
+ class="search"
+ type="primary"
+ icon="el-icon-search"
+ @click="NCP_query"
+ >查询</el-button>
+ <el-button
+ size="small"
+ class="reset"
+ type="info"
+ icon="el-icon-refresh-right"
+ @click="NCP_refresh"
+ >重置</el-button>
+ </div>
+ </div>
+ <div class="table-list">
+ <div class="t-header">
+ <div>农产品</div>
+ <div>作业方式</div>
+ <div>采收地块</div>
+ <div>类型</div>
+ <div>采收数量</div>
+ <div>操作时间</div>
+ <div>操作人</div>
+ </div>
+ <div class="t-body">
+ <div class="table-list" v-for="(item, index) in ncpAll" :key="index">
+ <div>{{ item.strainName }}</div>
+ <div>{{ item.jobWay == 0 ? "人工" : "机械" }}</div>
+ <div>{{ item.landName }}</div>
+ <div>{{ Number(item.leaves) + 1 }}等品</div>
+ <div>{{ item.weight }}公斤</div>
+ <div>{{ item.createTime }}</div>
+ <div>{{ item.realName }}</div>
+ </div>
+ </div>
+ </div>
+ </template>
+ </public-box>
- <div v-if="nsjlOrnz == 'nsjl'" class="lists-box">
- <div v-for="(item, index) in farminList" :key="index">
- <div class="t-border"></div>
- <div class="t-item">
- <div>{{ item.typeName }}</div>
- <div>{{ item.time }}</div>
- </div>
- <div class="b-item">
- <div>{{ item.strainName }}</div>
- <div>{{ item.realName }}</div>
- <div>{{ item.landName }}</div>
- </div>
- <div class="b-border"></div>
- </div>
- </div>
- <div v-if="nsjlOrnz == 'nzcr'" class="lists-box">
- <div v-for="(item, index) in stockrecordList" :key="index">
- <div class="t-border"></div>
- <div class="t-item">
- <div>{{ item.agrname }}</div>
- <div>{{ item.time1 }}</div>
- </div>
- <div class="b-item">
- <div>{{ item.spn }}</div>
- <div>{{ item.type1 }}</div>
- <div>{{ item.czr }}</div>
- </div>
- <div class="b-border"></div>
- </div>
- </div>
- </div>
- </div>
+ <public-box
+ v-show="nsjlPopupFlag"
+ :closeFlag="'nsjlPopupFlag'"
+ :className="'public-farm-oper-table'"
+ >
+ <template slot="public-box-header">
+ <div class="logo"></div>
+ <div class="title">农事操作</div>
+ <img
+ @click="nsjlPopupFlag = false"
+ src="/img/icon/public-close.png"
+ alt
+ class="close"
+ />
+ </template>
+ <template slot="public-box-content">
+ <div class="action-bar">
+ <div class="search">
+ <el-select
+ class="select-type"
+ size="small"
+ v-model="farmOperType"
+ placeholder="选择农事类型"
+ >
+ <el-option
+ v-for="(item, index) in farmingList"
+ :key="index"
+ :label="item.name"
+ :value="item.type"
+ ></el-option>
+ </el-select>
+
+ <el-select
+ class="select-plot"
+ size="small"
+ v-model="farmPlotId"
+ placeholder="选择地块"
+ >
+ <el-option
+ v-for="(item, index) in plotNumArray"
+ :key="index"
+ :label="item.landName"
+ :value="item.id"
+ ></el-option>
+ </el-select>
+ </div>
+ <div class="btn-grounp">
+ <el-button
+ size="small"
+ class="search"
+ type="primary"
+ icon="el-icon-search"
+ @click="farmSelectList"
+ >查询</el-button>
+ <el-button
+ size="small"
+ class="reset"
+ type="info"
+ icon="el-icon-refresh-right"
+ @click="farmResetList"
+ >重置</el-button>
+ </div>
+ </div>
+ <div class="table-list">
+ <div class="t-header">
+ <div>农事类型</div>
+ <div>地块</div>
+ <div>备注</div>
+ <div>农资</div>
+ <div>作业方式</div>
+ <div>农事操作时间</div>
+ <div>创建时间</div>
+ <div>操作人</div>
+ </div>
+ <div class="t-body">
+ <div class="table-list" v-for="(item, index) in farmOperList" :key="index">
+ <div>{{ item.typeName }}</div>
+ <div>{{ item.landName }}</div>
+ <div>{{ item.remarks == "" ? "--" : item.remarks }}</div>
+ <div>{{ item.agriculturalName }}</div>
+ <div>{{ item.jobWay == 0 ? "人工" : "机械" }}</div>
+ <div>{{ item.time }}</div>
+ <div>{{ item.createTime.substr(0, 10) }}</div>
+ <div>{{ item.realName }}</div>
+ </div>
+ </div>
+ </div>
+ </template>
+ </public-box>
</div>
-
- <public-box
- v-show="trpPopupFlag"
- :closeFlag="'trpPopupFlag'"
- :className="'public-farm-oper-table'"
- >
- <template slot="public-box-header">
- <div class="logo"></div>
- <div class="title">投入品监管明细</div>
- <img
- @click="trpPopupFlag = false"
- src="/img/icon/public-close.png"
- alt
- class="close"
- />
- </template>
- <template slot="public-box-content">
- <div class="action-bar">
- <div class="search">
- <el-input
- class="search-input"
- size="small"
- prefix-icon="el-icon-search"
- placeholder="请输入农资"
- v-model="inputTRP_nzname"
- ></el-input>
- </div>
- <div class="btn-grounp">
- <el-button
- size="small"
- class="search"
- type="primary"
- icon="el-icon-search"
- @click="TRP_query"
- >查询</el-button
- >
- <el-button
- size="small"
- class="reset"
- type="info"
- icon="el-icon-refresh-right"
- @click="TRP_refresh"
- >重置</el-button
- >
- </div>
- </div>
- <div class="table-list">
- <div class="t-header">
- <div>农资</div>
- <div>分类</div>
- <div>规格</div>
- <div>库存</div>
- <div>数量</div>
- <div>厂家</div>
- </div>
- <div class="t-body">
- <div
- class="table-list"
- v-for="(item, index) in nztrAll"
- :key="index"
- >
- <div>{{ item.agrname }}</div>
- <div>{{ item.stype }}</div>
- <div>{{ item.spn }}</div>
- <div>{{ item.amount }}{{ item.dic2 }}</div>
- <div>{{ item.cnum }}{{ item.dic1 }}</div>
- <div>{{ item.factoryName }}</div>
- </div>
- </div>
- </div>
- </template>
- </public-box>
-
- <public-box
- v-show="nzcrPopupFlag"
- :closeFlag="'nzcrPopupFlag'"
- :className="'public-farm-oper-table'"
- >
- <template slot="public-box-header">
- <div class="logo"></div>
- <div class="title">农资出入库记录</div>
- <img
- @click="nzcrPopupFlag = false"
- src="/img/icon/public-close.png"
- alt
- class="close"
- />
- </template>
- <template slot="public-box-content">
- <div class="action-bar">
- <div class="search">
- <el-input
- class="search-input"
- size="small"
- prefix-icon="el-icon-search"
- placeholder="请输入农资"
- v-model="inputNZ_nzname"
- ></el-input>
- </div>
- <div class="btn-grounp">
- <el-button
- size="small"
- class="search"
- type="primary"
- icon="el-icon-search"
- @click="NZCR_query"
- >查询</el-button
- >
- <el-button
- size="small"
- class="reset"
- type="info"
- icon="el-icon-refresh-right"
- @click="NZCR_refresh"
- >重置</el-button
- >
- </div>
- </div>
- <div class="table-list">
- <div class="t-header">
- <div style="width: 225px">农资</div>
- <div>分类</div>
- <div>规格</div>
- <div>类型</div>
- <div>数量</div>
- <div>操作时间</div>
- <div>操作人</div>
- </div>
- <div class="t-body">
- <div
- class="table-list"
- v-for="(item, index) in stockrecordAll"
- :key="index"
- >
- <div style="width: 225px">{{ item.agrname }}</div>
- <div>{{ item.stype == 0 ? "采购入库" : "调拨入库" }}</div>
- <div>{{ item.spn }}</div>
- <div>{{ item.type1 }}</div>
- <div>{{ item.count }}</div>
- <div>{{ item.createTime }}</div>
- <div>{{ item.czr }}</div>
- </div>
- </div>
- </div>
- </template>
- </public-box>
-
- <public-box
- v-show="ncpPopupFlag"
- :closeFlag="'ncpPopupFlag'"
- :className="'public-farm-oper-table'"
- >
- <template slot="public-box-header">
- <div class="logo"></div>
- <div class="title">农产品监管</div>
- <img
- @click="ncpPopupFlag = false"
- src="/img/icon/public-close.png"
- alt
- class="close"
- />
- </template>
- <template slot="public-box-content">
- <div class="action-bar">
- <div class="search">
- <el-input
- class="search-input"
- size="small"
- prefix-icon="el-icon-search"
- placeholder="请输入农资"
- v-model="inputNCP_nzname"
- ></el-input>
- </div>
- <div class="btn-grounp">
- <el-button
- size="small"
- class="search"
- type="primary"
- icon="el-icon-search"
- @click="NCP_query"
- >查询</el-button
- >
- <el-button
- size="small"
- class="reset"
- type="info"
- icon="el-icon-refresh-right"
- @click="NCP_refresh"
- >重置</el-button
- >
- </div>
- </div>
- <div class="table-list">
- <div class="t-header">
- <div>农资</div>
- <div>作业方式</div>
- <div>采收地块</div>
- <div>类型</div>
- <div>采收数量</div>
- <div>操作时间</div>
- <div>操作人</div>
- </div>
- <div class="t-body">
- <div
- class="table-list"
- v-for="(item, index) in ncpAll"
- :key="index"
- >
- <div>{{ item.strainName }}</div>
- <div>{{ item.jobWay == 0 ? "人工" : "机械" }}</div>
- <div>{{ item.landName }}</div>
- <div>{{ Number(item.leaves) + 1 }}等品</div>
- <div>{{ item.weight }}公斤</div>
- <div>{{ item.createTime }}</div>
- <div>{{ item.realName }}</div>
- </div>
- </div>
- </div>
- </template>
- </public-box>
-
- <public-box
- v-show="nsjlPopupFlag"
- :closeFlag="'nsjlPopupFlag'"
- :className="'public-farm-oper-table'"
- >
- <template slot="public-box-header">
- <div class="logo"></div>
- <div class="title">农事操作</div>
- <img
- @click="nsjlPopupFlag = false"
- src="/img/icon/public-close.png"
- alt
- class="close"
- />
- </template>
- <template slot="public-box-content">
- <div class="action-bar">
- <div class="search">
- <el-select
- class="select-type"
- size="small"
- v-model="farmOperType"
- placeholder="选择农事类型"
- >
- <el-option
- v-for="(item, index) in farmingList"
- :key="index"
- :label="item.name"
- :value="item.type"
- ></el-option>
- </el-select>
-
- <el-select
- class="select-plot"
- size="small"
- v-model="farmPlotId"
- placeholder="选择地块"
- >
- <el-option
- v-for="(item, index) in plotNumArray"
- :key="index"
- :label="item.landName"
- :value="item.id"
- ></el-option>
- </el-select>
- </div>
- <div class="btn-grounp">
- <el-button
- size="small"
- class="search"
- type="primary"
- icon="el-icon-search"
- @click="farmSelectList"
- >查询</el-button
- >
- <el-button
- size="small"
- class="reset"
- type="info"
- icon="el-icon-refresh-right"
- @click="farmResetList"
- >重置</el-button
- >
- </div>
- </div>
- <div class="table-list">
- <div class="t-header">
- <div>农事类型</div>
- <div>地块</div>
- <div>备注</div>
- <div>农资</div>
- <div>作业方式</div>
- <div>农事操作时间</div>
- <div>创建时间</div>
- <div>操作人</div>
- </div>
- <div class="t-body">
- <div
- class="table-list"
- v-for="(item, index) in farmOperList"
- :key="index"
- >
- <div>{{ item.typeName }}</div>
- <div>{{ item.landName }}</div>
- <div>{{ item.remarks == "" ? "--" : item.remarks }}</div>
- <div>{{ item.agriculturalName }}</div>
- <div>{{ item.jobWay == 0 ? "人工" : "机械" }}</div>
- <div>{{ item.time }}</div>
- <div>{{ item.createTime.substr(0, 10) }}</div>
- <div>{{ item.realName }}</div>
- </div>
- </div>
- </div>
- </template>
- </public-box>
- </div>
</template>
<script>
-import { selectXCount } from "@/api/land/land";
+import { selectXCount } from "@/api/land/land"
// eslint-disable-next-line no-unused-vars
import {
- getStockCount,
- statisticsStockAndYield,
- pageCount,
- pageCountNz,
- selectMarketCirculate,
- countTaskNum,
- farmingRecords,
- statisticsStockMonth,
- productsSupervise,
- pageCountNzCrk,
- getSweepRecordStatistics,
- getSweepRecordStatisticsByDayOrMonthOrYear,
- getFarmingRecordList,
- getFarmingStatis,
- getLandList,
- productsSuperviseList,
- farmSelectQuery,
-} from "@/api/farm/farmingrecord";
+ getStockCount,
+ statisticsStockAndYield,
+ pageCount,
+ pageCountNz,
+ selectMarketCirculate,
+ countTaskNum,
+ farmingRecords,
+ statisticsStockMonth,
+ productsSupervise,
+ pageCountNzCrk,
+ getSweepRecordStatistics,
+ getSweepRecordStatisticsByDayOrMonthOrYear,
+ getFarmingRecordList,
+ getFarmingStatis,
+ getLandList,
+ productsSuperviseList,
+ farmSelectQuery,
+} from "@/api/farm/farmingrecord"
export default {
- data() {
- return {
- landsnum: 0,
- landwnum: 0,
- znum: 0,
- jnStock: 0,
- qnStock: 0,
- byStock: 0,
- // 库存数量统计
- stockTj: 0,
- // 农产品数量统计
- stockNCP: 0,
- // 加工产品数量统计
- stockJG: 0,
- // 产量按月统计
- yieldMonth: [],
- // 年产量统计
- yieldTj: 0,
- // 农产品年产量统计
- yieldNCP: 0,
- // 加工产品年产量统计
- yieldJG: 0,
- // 农产品投入
- ncptr: [],
- nztr: [],
- // 统计市场流通/去年流通量/本月流通量
- salaNumBN: [],
- salaNumBY: [],
- salaNumQN: [],
- // 统计任务总数
- taskNum: [],
- // 农事记录
- farminList: [],
- // 农资出入库记录
- stockrecordList: [],
- // 农产品监管
- NcpJg: [],
- // 溯源次数
- sweepList: {},
- // 溯源趋势
- sweepTrend: [],
- nzOrNcp: "ncp",
- trpOrNcp: "trp",
- nsjlOrnz: "nsjl",
- cltjOrsym: "cltj",
- // 投入品监管窗体控制
- trpPopupFlag: false,
- // 农事记录窗体控制
- nsjlPopupFlag: false,
- // 农资出入记录窗体控制
- nzcrPopupFlag: false,
- // 农产品监管窗体控制
- ncpPopupFlag: false,
- // 农事操作记录列表
- farmOperList: [],
- // 选择的农事类型
- farmOperType: "",
- // 农场地块id
- farmPlotId: "",
- // 地块下拉
- plotNumArray: [],
- // 农事类型下拉
- farmingList: [],
- // 农资投入记录窗体
- nztrAll: [],
- // 农资出入库记录弹窗
- stockrecordAll: [],
- // 农产品监管记录弹窗
- ncpAll: [],
- // 农场下拉
- farmSelect: [],
- // 所选值
- farmValue: 1,
- inputNZ_nzname: "",
- inputTRP_nzname: "",
- inputNCP_nzname: "",
- };
- },
- created() {
- // 农场下拉列表
- this.farmSelectQuery();
-
- // 默认查询第一个农场数据
- this.AllDataUpdate();
- },
- mounted() {},
- methods: {
- // 农场下拉选中事件
- farmSelectChange(e) {
- this.AllDataUpdate();
- },
- // 全局数据刷新事件
- AllDataUpdate() {
- // 获取当前时间
- var date = new Date();
- var y = date.getFullYear() + "-" + this.checkTime(date.getMonth() + 1);
- var n = date.getFullYear() + "";
- this.selectXCount();
- this.getStockCount();
- // 年产量与库存数量
- this.statisticsStockAndYield(n);
- // 按月统计产量
- this.statisticsStockMonth(y);
- // 农产品投入
- this.pageCount(y);
- // 农资投入
- this.pageCountNz(y);
- // 统计市场流通/去年流通量/本月流通量
- this.selectMarketCirculate(n);
- // 统计任务总数
- this.countTaskNum(y);
- // 溯源趋势统计
- this.getSweepRecordStatisticsByDayOrMonthOrYear(y);
- // 农事操作
- this.farmingRecords();
- // 农产品监管
- this.productsSupervise(n);
- // 农资出入库记录
- this.pageCountNzCrk();
- // 溯源次数统计
- this.getSweepRecordStatistics();
- },
- // 农场下拉列表
- farmSelectQuery() {
- var params = {};
- params.current = "1";
- params.size = "999";
- farmSelectQuery(Object.assign(params)).then((res) => {
- this.farmSelect = res.data.data.records;
- });
- },
- // 投入品监管明细弹窗
- popDetailedSupervise() {
- if (this.trpOrNcp == "trp") {
- this.trpPopupFlag = true;
- } else {
- var params = {};
- params.codes = "000000";
- params.farmId = this.farmValue;
- params.current = "1";
- params.size = "999";
- productsSuperviseList(Object.assign(params)).then((res) => {
- this.ncpPopupFlag = true;
- this.ncpAll = res.data.data.records;
- });
- }
- },
- // 农事记录明细弹窗
- popDetailedFarming(item) {
- if (this.nsjlOrnz == "nsjl") {
- this.getFarmingStatis();
- this.getLandList();
- getFarmingRecordList({ type: item.type, landId: item.landId }).then(
- (res) => {
- this.farmOperList = res.data.data;
- this.nsjlPopupFlag = true;
- }
- );
- } else {
- var params = {};
- params.codes = "000000";
- params.farmId = this.farmValue;
- params.current = "1";
- params.size = "999";
- pageCountNzCrk(Object.assign(params)).then((res) => {
- this.nzcrPopupFlag = true;
- this.stockrecordAll = res.data.data.records;
- });
- }
- },
- // 农事操作搜索
- farmSelectList() {
- this.farmOperClick({ type: this.farmOperType, landId: this.farmPlotId });
- },
- // 农事操作重置
- farmResetList() {
- this.farmOperType = "";
- this.farmPlotId = "";
- this.farmOperClick({ type: this.farmOperType, landId: this.farmPlotId });
- },
- farmOperClick(item) {
- getFarmingRecordList({ type: item.type, landId: item.landId }).then(
- (res) => {
- this.farmOperList = res.data.data;
- this.farmOperPopup = true;
+ data () {
+ return {
+ landsnum: 0,
+ landwnum: 0,
+ znum: 0,
+ jnStock: 0,
+ qnStock: 0,
+ byStock: 0,
+ // 库存数量统计
+ stockTj: 0,
+ // 农产品数量统计
+ stockNCP: 0,
+ // 加工产品数量统计
+ stockJG: 0,
+ // 产量按月统计
+ yieldMonth: [],
+ // 年产量统计
+ yieldTj: 0,
+ // 农产品年产量统计
+ yieldNCP: 0,
+ // 加工产品年产量统计
+ yieldJG: 0,
+ // 农产品投入
+ ncptr: [],
+ nztr: [],
+ // 统计市场流通/去年流通量/本月流通量
+ salaNumBN: [],
+ salaNumBY: [],
+ salaNumQN: [],
+ // 统计任务总数
+ taskNum: [],
+ // 农事记录
+ farminList: [],
+ // 农资出入库记录
+ stockrecordList: [],
+ // 农产品监管
+ NcpJg: [],
+ // 溯源次数
+ sweepList: {},
+ // 溯源趋势
+ sweepTrend: [],
+ nzOrNcp: "ncp",
+ trpOrNcp: "trp",
+ nsjlOrnz: "nsjl",
+ cltjOrsym: "cltj",
+ // 投入品监管窗体控制
+ trpPopupFlag: false,
+ // 农事记录窗体控制
+ nsjlPopupFlag: false,
+ // 农资出入记录窗体控制
+ nzcrPopupFlag: false,
+ // 农产品监管窗体控制
+ ncpPopupFlag: false,
+ // 农事操作记录列表
+ farmOperList: [],
+ // 选择的农事类型
+ farmOperType: "",
+ // 农场地块id
+ farmPlotId: "",
+ // 地块下拉
+ plotNumArray: [],
+ // 农事类型下拉
+ farmingList: [],
+ // 农资投入记录窗体
+ nztrAll: [],
+ // 农资出入库记录弹窗
+ stockrecordAll: [],
+ // 农产品监管记录弹窗
+ ncpAll: [],
+ // 农场下拉
+ farmSelect: [],
+ // 所选值
+ farmValue: 1,
+ inputNZ_nzname: "",
+ inputTRP_nzname: "",
+ inputNCP_nzname: "",
}
- );
},
- // 任务总数时间查询
- getTaskTime(e) {
- this.countTaskNum(e);
- },
- // 农产品投入时间查询
- getNcptrTime(e) {
- this.pageCount(e);
- },
- // 农资投入时间查询
- getNztrTime(e) {
- this.pageCountNz(e);
- },
- // 产量统计时间查询
- getCltjTime(e) {
- this.statisticsStockMonth(e);
- },
- // 溯源趋势时间查询
- getSymTime(e) {
- this.getSweepRecordStatisticsByDayOrMonthOrYear(e);
- },
- // 农资出库记录查询按钮
- NZCR_query() {
- var params = {};
- params.codes = "000000";
- params.farmId = this.farmValue;
- params.agrname = this.inputNZ_nzname;
- params.current = "1";
- params.size = "999";
- pageCountNzCrk(Object.assign(params)).then((res) => {
- this.nzcrPopupFlag = true;
- this.stockrecordAll = res.data.data.records;
- });
- },
- // 农资出库记录重置按钮
- NZCR_refresh() {
- var params = {};
- this.inputNZ_nzname = "";
- params.codes = "000000";
- params.farmId = this.farmValue;
- params.current = "1";
- params.size = "999";
- pageCountNzCrk(Object.assign(params)).then((res) => {
- this.nzcrPopupFlag = true;
- this.stockrecordAll = res.data.data.records;
- });
- },
- // 投入品监管查询按钮
- TRP_query() {
- var params = {};
- params.codes = "000000";
- params.agrname = this.inputTRP_nzname;
- params.farmId = this.farmValue;
- pageCountNz(Object.assign(params)).then((res) => {
- this.nztrAll = res.data.data.records;
- });
- },
- // 投入品监管重置按钮
- TRP_refresh() {
- var params = {};
- params.codes = "000000";
- this.inputTRP_nzname = "";
- params.farmId = this.farmValue;
- pageCountNz(Object.assign(params)).then((res) => {
- this.nztrAll = res.data.data.records;
- });
- },
- // 农产品监管查询按钮
- NCP_query() {
- var params = {};
- params.codes = "000000";
- params.strainName = this.inputNCP_nzname;
- params.farmId = this.farmValue;
- params.current = "1";
- params.size = "999";
- productsSuperviseList(Object.assign(params)).then((res) => {
- this.ncpPopupFlag = true;
- this.ncpAll = res.data.data.records;
- });
- },
- // 农产品监管重置按钮
- NCP_refresh() {
- var params = {};
- params.codes = "000000";
- this.inputNCP_nzname = "";
- params.farmId = this.farmValue;
- params.current = "1";
- params.size = "999";
- productsSuperviseList(Object.assign(params)).then((res) => {
- this.ncpPopupFlag = true;
- this.ncpAll = res.data.data.records;
- });
- },
- initBar(dom) {
- const that = this;
- const chartDom = document.getElementById(dom);
- const myChart = this.$echarts.init(chartDom);
- var y = [];
- for (let i = 0; i < that.taskNum.length; i++) {
- y.push(that.taskNum[i].count);
- }
+ created () {
+ // 农场下拉列表
+ this.farmSelectQuery()
- const option = {
- grid: {
- top: "14%",
- left: "2%",
- right: "2%",
- bottom: "2%",
- containLabel: true,
+ // 默认查询第一个农场数据
+ this.AllDataUpdate()
+ },
+ mounted () { },
+ methods: {
+ // 农场下拉选中事件
+ farmSelectChange (e) {
+ this.AllDataUpdate()
},
- xAxis: {
- type: "category",
- data: ["已完成", "未完成", "超期完成"],
- axisLine: {
- lineStyle: {
- color: "rgba(153,153,153,.4)",
- },
- },
- axisTick: {
- show: false,
- },
- axisLabel: {
- color: "rgba(255,255,255,.4)",
- rotate: 0,
- },
+ // 全局数据刷新事件
+ AllDataUpdate () {
+ // 获取当前时间
+ var date = new Date()
+ var y = date.getFullYear() + "-" + this.checkTime(date.getMonth() + 1)
+ var n = date.getFullYear() + ""
+ this.selectXCount()
+ this.getStockCount()
+ // 年产量与库存数量
+ this.statisticsStockAndYield(n)
+ // 按月统计产量
+ this.statisticsStockMonth(y)
+ // 农产品投入
+ this.pageCount(y)
+ // 农资投入
+ this.pageCountNz(y)
+ // 统计市场流通/去年流通量/本月流通量
+ this.selectMarketCirculate(n)
+ // 统计任务总数
+ this.countTaskNum(y)
+ // 溯源趋势统计
+ this.getSweepRecordStatisticsByDayOrMonthOrYear(y)
+ // 农事操作
+ this.farmingRecords()
+ // 农产品监管
+ this.productsSupervise(n)
+ // 农资出入库记录
+ this.pageCountNzCrk()
+ // 溯源次数统计
+ this.getSweepRecordStatistics()
},
- yAxis: {
- name: "(次)",
- nameTextStyle: {
- color: "rgba(255,255,255,.4)",
- },
- axisLine: {
- lineStyle: {
- color: "#657CA8",
- },
- },
- axisTick: {
- show: false,
- },
- splitLine: {
- show: true,
- lineStyle: {
- color: "rgba(62,81,97, .5)",
- type: "dashed",
- },
- },
- axisLabel: {
- color: "rgba(255,255,255,.4)",
- },
+ // 农场下拉列表
+ farmSelectQuery () {
+ var params = {}
+ params.current = "1"
+ params.size = "999"
+ farmSelectQuery(Object.assign(params)).then((res) => {
+ this.farmSelect = res.data.data.records
+ })
},
- series: [
- {
- type: "bar",
- barWidth: 32,
- data: y,
- label: {
- show: true,
- position: "top",
- textStyle: {
- color: "rgba(255,255,255,.4)",
- },
- },
- itemStyle: {
- normal: {
- color: function (params) {
- var colorList = [
- ["#24A5DF", "#01E2D2"],
- ["#E59438", "#FEF880 "],
- ["#E34C4C", "#E6945E"],
- ];
- var index = params.dataIndex;
- if (params.dataIndex >= colorList.length) {
- index = params.dataIndex - colorList.length;
- }
- return new that.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
- {
- offset: 0,
- color: colorList[index][0],
- },
- {
- offset: 0.5,
- color: colorList[index][0],
- },
- {
- offset: 1,
- color: colorList[index][1],
- },
- ]);
+ // 投入品监管明细弹窗
+ popDetailedSupervise () {
+ if (this.trpOrNcp == "trp") {
+ this.trpPopupFlag = true
+ } else {
+ var params = {}
+ params.codes = "000000"
+ params.farmId = this.farmValue
+ params.current = "1"
+ params.size = "999"
+ productsSuperviseList(Object.assign(params)).then((res) => {
+ this.ncpPopupFlag = true
+ this.ncpAll = res.data.data.records
+ })
+ }
+ },
+ // 农事记录明细弹窗
+ popDetailedFarming (item) {
+ if (this.nsjlOrnz == "nsjl") {
+ this.getFarmingStatis()
+ this.getLandList()
+ getFarmingRecordList({ type: item.type, landId: item.landId }).then(
+ (res) => {
+ this.farmOperList = res.data.data
+ this.nsjlPopupFlag = true
+ }
+ )
+ } else {
+ var params = {}
+ params.codes = "000000"
+ params.farmId = this.farmValue
+ params.current = "1"
+ params.size = "999"
+ pageCountNzCrk(Object.assign(params)).then((res) => {
+ this.nzcrPopupFlag = true
+ this.stockrecordAll = res.data.data.records
+ })
+ }
+ },
+ // 农事操作搜索
+ farmSelectList () {
+ this.farmOperClick({ type: this.farmOperType, landId: this.farmPlotId })
+ },
+ // 农事操作重置
+ farmResetList () {
+ this.farmOperType = ""
+ this.farmPlotId = ""
+ this.farmOperClick({ type: this.farmOperType, landId: this.farmPlotId })
+ },
+ farmOperClick (item) {
+ getFarmingRecordList({ type: item.type, landId: item.landId }).then(
+ (res) => {
+ this.farmOperList = res.data.data
+ this.farmOperPopup = true
+ }
+ )
+ },
+ // 任务总数时间查询
+ getTaskTime (e) {
+ this.countTaskNum(e)
+ },
+ // 农产品投入时间查询
+ getNcptrTime (e) {
+ this.pageCount(e)
+ },
+ // 农资投入时间查询
+ getNztrTime (e) {
+ this.pageCountNz(e)
+ },
+ // 产量统计时间查询
+ getCltjTime (e) {
+ this.statisticsStockMonth(e)
+ },
+ // 溯源趋势时间查询
+ getSymTime (e) {
+ this.getSweepRecordStatisticsByDayOrMonthOrYear(e)
+ },
+ // 农资出库记录查询按钮
+ NZCR_query () {
+ var params = {}
+ params.codes = "000000"
+ params.farmId = this.farmValue
+ params.agrname = this.inputNZ_nzname
+ params.current = "1"
+ params.size = "999"
+ pageCountNzCrk(Object.assign(params)).then((res) => {
+ this.nzcrPopupFlag = true
+ this.stockrecordAll = res.data.data.records
+ })
+ },
+ // 农资出库记录重置按钮
+ NZCR_refresh () {
+ var params = {}
+ this.inputNZ_nzname = ""
+ params.codes = "000000"
+ params.farmId = this.farmValue
+ params.current = "1"
+ params.size = "999"
+ pageCountNzCrk(Object.assign(params)).then((res) => {
+ this.nzcrPopupFlag = true
+ this.stockrecordAll = res.data.data.records
+ })
+ },
+ // 投入品监管查询按钮
+ TRP_query () {
+ var params = {}
+ params.codes = "000000"
+ params.agrname = this.inputTRP_nzname
+ params.farmId = this.farmValue
+ pageCountNz(Object.assign(params)).then((res) => {
+ this.nztrAll = res.data.data.records
+ })
+ },
+ // 投入品监管重置按钮
+ TRP_refresh () {
+ var params = {}
+ params.codes = "000000"
+ this.inputTRP_nzname = ""
+ params.farmId = this.farmValue
+ pageCountNz(Object.assign(params)).then((res) => {
+ this.nztrAll = res.data.data.records
+ })
+ },
+ // 农产品监管查询按钮
+ NCP_query () {
+ var params = {}
+ params.codes = "000000"
+ params.strainName = this.inputNCP_nzname
+ params.farmId = this.farmValue
+ params.current = "1"
+ params.size = "999"
+ productsSuperviseList(Object.assign(params)).then((res) => {
+ this.ncpPopupFlag = true
+ this.ncpAll = res.data.data.records
+ })
+ },
+ // 农产品监管重置按钮
+ NCP_refresh () {
+ var params = {}
+ params.codes = "000000"
+ this.inputNCP_nzname = ""
+ params.farmId = this.farmValue
+ params.current = "1"
+ params.size = "999"
+ productsSuperviseList(Object.assign(params)).then((res) => {
+ this.ncpPopupFlag = true
+ this.ncpAll = res.data.data.records
+ })
+ },
+ initBar (dom) {
+ const that = this
+ const chartDom = document.getElementById(dom)
+ const myChart = this.$echarts.init(chartDom)
+ var y = []
+ for (let i = 0; i < that.taskNum.length; i++) {
+ y.push(that.taskNum[i].count)
+ }
+
+ const option = {
+ grid: {
+ top: "14%",
+ left: "2%",
+ right: "2%",
+ bottom: "2%",
+ containLabel: true,
},
- },
- },
- },
- ],
- };
-
- option && myChart.setOption(option);
- },
-
- initTrpBar(dom) {
- const that = this;
- const chartDom = document.getElementById(dom);
- const myChart = this.$echarts.init(chartDom);
- myChart.clear();
- var nztrData = this.nztr;
- var nztrX = [];
- var nztrY = [];
- for (let i = 0; i < nztrData.length; i++) {
- nztrX.push(nztrData[i].agrname);
- nztrY.push(nztrData[i].cnum);
- }
- const option = {
- grid: {
- top: "14%",
- left: "2%",
- right: "2%",
- bottom: "2%",
- containLabel: true,
- },
- xAxis: {
- type: "category",
- data: nztrX,
- axisLine: {
- lineStyle: {
- color: "rgba(153,153,153,.4)",
- },
- },
- axisTick: {
- show: false,
- },
- axisLabel: {
- color: "rgba(255,255,255,.4)",
- rotate: 0,
- },
- },
- yAxis: {
- max: 600,
- name: "(公斤)",
- nameTextStyle: {
- color: "rgba(255,255,255,.4)",
- },
- axisLine: {
- lineStyle: {
- color: "#657CA8",
- },
- },
- axisTick: {
- show: false,
- },
- splitLine: {
- show: true,
- lineStyle: {
- color: "rgba(62,81,97, .5)",
- type: "dashed",
- },
- },
- axisLabel: {
- color: "rgba(255,255,255,.4)",
- },
- },
- series: [
- {
- type: "bar",
- barWidth: 32,
- data: nztrY,
- label: {
- show: true,
- position: "top",
- textStyle: {
- color: "rgba(255,255,255,.4)",
- },
- },
- itemStyle: {
- normal: {
- color: new that.$echarts.graphic.LinearGradient(
- // 前四个参数用于配置渐变色的起止位置,这四个参数依次对应 右下左上 四个方位。也就是从右边开始顺时针方向。
- // 通过修改前4个参数,可以实现不同的渐变方向
- /* 第五个参数则是一个数组,用于配置颜色的渐变过程。
- 每项为一个对象,包含offset和color两个参数
- */
- 0,
- 0,
- 0,
- 1,
- [
- {
- // 代表渐变色从正上方开始
- offset: 0, // offset范围是0~1,用于表示位置,0是指0%处的颜色
- color: "#24A5DF",
- }, // 柱图渐变色
- {
- offset: 1, // 指100%处的颜色
- color: "#01E2D2",
+ xAxis: {
+ type: "category",
+ data: ["已完成", "未完成", "超期完成"],
+ axisLine: {
+ lineStyle: {
+ color: "rgba(153,153,153,.4)",
+ },
},
- ]
- ),
- },
- },
- },
- ],
- };
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: "rgba(255,255,255,.4)",
+ rotate: 0,
+ },
+ },
+ yAxis: {
+ name: "(次)",
+ nameTextStyle: {
+ color: "rgba(255,255,255,.4)",
+ },
+ axisLine: {
+ lineStyle: {
+ color: "#657CA8",
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: "rgba(62,81,97, .5)",
+ type: "dashed",
+ },
+ },
+ axisLabel: {
+ color: "rgba(255,255,255,.4)",
+ },
+ },
+ series: [
+ {
+ type: "bar",
+ barWidth: 32,
+ data: y,
+ label: {
+ show: true,
+ position: "top",
+ textStyle: {
+ color: "rgba(255,255,255,.4)",
+ },
+ },
+ itemStyle: {
+ normal: {
+ color: function (params) {
+ var colorList = [
+ ["#24A5DF", "#01E2D2"],
+ ["#E59438", "#FEF880 "],
+ ["#E34C4C", "#E6945E"],
+ ]
+ var index = params.dataIndex
+ if (params.dataIndex >= colorList.length) {
+ index = params.dataIndex - colorList.length
+ }
+ return new that.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
+ {
+ offset: 0,
+ color: colorList[index][0],
+ },
+ {
+ offset: 0.5,
+ color: colorList[index][0],
+ },
+ {
+ offset: 1,
+ color: colorList[index][1],
+ },
+ ])
+ },
+ },
+ },
+ },
+ ],
+ }
- option && myChart.setOption(option);
- },
-
- initNcpBar(dom) {
- const that = this;
- const chartDom = document.getElementById(dom);
- const myChart = this.$echarts.init(chartDom);
- myChart.clear();
-
- var data = that.NcpJg;
- var dj = ["一等品", "二等品", "三等品", "四等品", "五等品"];
- var echartData = [];
- var sum = 0;
- for (var i = 0; i < 5; i++) {
- sum += Number(data[i]);
- echartData.push({
- name: dj[i],
- value: data[i],
- });
- }
- const option = {
- tooltip: {
- trigger: "item",
+ option && myChart.setOption(option)
},
- legend: {
- top: "5%",
- padding: [50, 100, 0, 0],
- orient: "vertical",
- left: "right",
- },
- series: [
- {
- name: "品质",
- type: "pie",
- radius: ["40%", "70%"],
- avoidLabelOverlap: false,
- label: {
- normal: {
- show: true,
- formatter: "产品总数\n\n" + sum,
- position: "center",
- lineHight: 30,
- },
- },
- labelLine: {
- show: false,
- },
- data: echartData,
- },
- ],
- };
- option && myChart.setOption(option);
- },
+ initTrpBar (dom) {
+ const that = this
+ const chartDom = document.getElementById(dom)
+ const myChart = this.$echarts.init(chartDom)
+ myChart.clear()
+ var nztrData = this.nztr
+ var nztrX = []
+ var nztrY = []
+ for (let i = 0; i < nztrData.length; i++) {
+ nztrX.push(nztrData[i].agrname)
+ nztrY.push(nztrData[i].cnum)
+ }
+ const option = {
+ grid: {
+ top: "14%",
+ left: "2%",
+ right: "2%",
+ bottom: "2%",
+ containLabel: true,
+ },
+ xAxis: {
+ type: "category",
+ data: nztrX,
+ axisLine: {
+ lineStyle: {
+ color: "rgba(153,153,153,.4)",
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: "rgba(255,255,255,.4)",
+ rotate: 0,
+ },
+ },
+ yAxis: {
+ max: 600,
+ name: "(公斤)",
+ nameTextStyle: {
+ color: "rgba(255,255,255,.4)",
+ },
+ axisLine: {
+ lineStyle: {
+ color: "#657CA8",
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: "rgba(62,81,97, .5)",
+ type: "dashed",
+ },
+ },
+ axisLabel: {
+ color: "rgba(255,255,255,.4)",
+ },
+ },
+ series: [
+ {
+ type: "bar",
+ barWidth: 32,
+ data: nztrY,
+ label: {
+ show: true,
+ position: "top",
+ textStyle: {
+ color: "rgba(255,255,255,.4)",
+ },
+ },
+ itemStyle: {
+ normal: {
+ color: new that.$echarts.graphic.LinearGradient(
+ // 前四个参数用于配置渐变色的起止位置,这四个参数依次对应 右下左上 四个方位。也就是从右边开始顺时针方向。
+ // 通过修改前4个参数,可以实现不同的渐变方向
+ /* 第五个参数则是一个数组,用于配置颜色的渐变过程。
+ 每项为一个对象,包含offset和color两个参数
+ */
+ 0,
+ 0,
+ 0,
+ 1,
+ [
+ {
+ // 代表渐变色从正上方开始
+ offset: 0, // offset范围是0~1,用于表示位置,0是指0%处的颜色
+ color: "#24A5DF",
+ }, // 柱图渐变色
+ {
+ offset: 1, // 指100%处的颜色
+ color: "#01E2D2",
+ },
+ ]
+ ),
+ },
+ },
+ },
+ ],
+ }
- initClSyBar(dom) {
- const chartDom = document.getElementById(dom);
- const myChart = this.$echarts.init(chartDom);
- myChart.clear();
- var data = [];
- var data1 = ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"];
- var data2 = [];
- var ncp = this.yieldMonth;
- for (let i = 0; i < ncp.length; i++) {
- data.push(ncp[i].time);
- data2.push(ncp[i].num);
- }
+ option && myChart.setOption(option)
+ },
- const option = {
- grid: {
- top: "10%",
- right: "0%",
- left: "0%",
- bottom: "0%",
- containLabel: true,
- },
- tooltip: {
- trigger: "axis",
- axisPointer: {
- type: "shadow",
- },
- },
- legend: {
- left: "center",
- data: ["加工产品", "农产品"],
- textStyle: {
- color: "#A9D1D7",
- },
- },
- xAxis: {
- data: data,
- axisLabel: {
- interval: 0,
- show: true,
- textStyle: {
- color: "rgba(255,255,255,0.6)",
- },
- },
- axisTick: {
- show: false,
- },
- axisLine: {
- show: true,
- lineStyle: {
- color: "#697B89",
- width: 1,
- },
- },
- },
- yAxis: [
- {
- min: 0,
- type: "value",
- axisLabel: {
- interval: 0,
- show: true,
- textStyle: {
- color: "#B4B5BE",
- },
- },
- axisLine: {
- show: true,
- lineStyle: {
- color: "#697B89",
- width: 1,
- },
- },
- splitLine: {
- show: true,
- lineStyle: {
- color: "rgba(62,81,97, .5)",
- type: "dashed",
- },
- },
- },
- ],
- series: [
- {
- name: "加工产品",
- type: "bar",
- barWidth: 14,
- silent: true,
- itemStyle: {
- normal: {
- color: "#E29646",
- },
- },
- data: data1,
- },
- {
- name: "农产品",
- type: "bar",
- barWidth: 14,
- silent: true,
- itemStyle: {
- normal: {
- color: "#6AE081",
- },
- },
- data: data2,
- },
- ],
- };
+ initNcpBar (dom) {
+ const that = this
+ const chartDom = document.getElementById(dom)
+ const myChart = this.$echarts.init(chartDom)
+ myChart.clear()
- option && myChart.setOption(option);
- },
- initSymyBar(dom) {
- const chartDom = document.getElementById(dom);
- const myChart = this.$echarts.init(chartDom);
- myChart.clear();
+ var data = that.NcpJg
+ var dj = ["一等品", "二等品", "三等品", "四等品", "五等品"]
+ var echartData = []
+ var sum = 0
+ for (var i = 0; i < 5; i++) {
+ sum += Number(data[i])
+ echartData.push({
+ name: dj[i],
+ value: data[i],
+ })
+ }
+ const option = {
+ tooltip: {
+ trigger: "item",
+ },
+ legend: {
+ top: "5%",
+ padding: [50, 100, 0, 0],
+ orient: "vertical",
+ left: "right",
+ },
+ series: [
+ {
+ name: "品质",
+ type: "pie",
+ radius: ["40%", "70%"],
+ avoidLabelOverlap: false,
+ label: {
+ normal: {
+ show: true,
+ formatter: "产品总数\n\n" + sum,
+ position: "center",
+ lineHight: 30,
+ },
+ },
+ labelLine: {
+ show: false,
+ },
+ data: echartData,
+ },
+ ],
+ }
- var data = this.sweepTrend;
- var x = [];
- var y = [];
- for (var i = 0; i < data.length; i++) {
- y.push(data[i].num);
- x.push(data[i].time);
- }
-
- var option = {
- grid: {
- top: "10%",
- right: "0%",
- left: "0%",
- bottom: "0%",
- containLabel: true,
+ option && myChart.setOption(option)
},
- xAxis: {
- type: "category",
- boundaryGap: false,
- data: x,
- },
- yAxis: [
- {
- min: 0,
- type: "value",
- axisLabel: {
- interval: 0,
- show: true,
- textStyle: {
- color: "#B4B5BE",
- },
- },
- axisLine: {
- show: true,
- lineStyle: {
- color: "#697B89",
- width: 1,
- },
- },
- splitLine: {
- show: true,
- lineStyle: {
- color: "rgba(62,81,97, .5)",
- type: "dashed",
- },
- },
- },
- ],
- series: [
- {
- data: y,
- type: "line",
- smooth: true,
- areaStyle: {},
- },
- ],
- };
- option && myChart.setOption(option);
- },
- // 农场使用率
- selectXCount() {
- // eslint-disable-next-line no-unused-vars
- var that = this;
- var farmId = that.farmValue;
- selectXCount(farmId).then((res) => {
- that.landsnum = res.data.data.snum.toFixed(0);
- that.landwnum = res.data.data.wnum.toFixed(0);
- that.znum = res.data.data.num.toFixed(0);
- });
- },
- // 农资使用概况
- getStockCount() {
- var that = this;
- var farmId = that.farmValue;
- getStockCount(farmId).then((res) => {
- that.jnStock = res.data.data.jn.toFixed(0);
- that.qnStock = res.data.data.qn.toFixed(0);
- that.byStock = res.data.data.by.toFixed(0);
- });
- },
- // 大屏经营概况库存数量与年产量
- statisticsStockAndYield(year) {
- var params = {};
- params.tenantId = "000000";
- params.farmId = this.farmValue;
- params.year = year;
- statisticsStockAndYield(Object.assign(params)).then((res) => {
- this.stockNCP = res.data.data.sum;
- this.stockJG = res.data.data.jgsum;
- this.stockTj = res.data.data.jgsum + res.data.data.sum;
- this.yieldNCP = res.data.data.ncpNcl;
- this.yieldJG = res.data.data.jgNcl;
- this.yieldTj = res.data.data.ncpNcl + res.data.data.jgNcl;
- });
- },
- // 按月统计产量
- statisticsStockMonth(e) {
- var params = {};
- params.tenantId = "000000";
- params.farmId = this.farmValue;
- params.year = e;
- statisticsStockMonth(Object.assign(params)).then((res) => {
- this.yieldMonth = res.data.data;
- this.initClSyBar("ClSyEcharts");
- });
- },
- // 农产品监管
- productsSupervise(year) {
- var params = {};
- params.tenantId = "000000";
- params.farmId = this.farmValue;
- params.year = year;
- productsSupervise(Object.assign(params)).then((res) => {
- this.NcpJg = res.data.data;
- });
- },
- // 农产品投入
- pageCount(e) {
- var params = {};
- params.tenantId = "000000";
- params.farmId = this.farmValue;
- params.year = e;
- params.status = "1";
- pageCount(Object.assign(params)).then((res) => {
- this.ncptr = res.data.data;
- });
- },
- // 农资投入
- pageCountNz(e) {
- var params = {};
- params.codes = "000000";
- params.farmId = this.farmValue;
- params.year = e;
- pageCountNz(Object.assign(params)).then((res) => {
- this.nztr = res.data.data.records;
- this.nztrAll = res.data.data.records;
- // 投入品监管图表
- this.initTrpBar("TrpEcharts");
- });
- },
- // 统计市场流通/去年流通量/本月流通量
- selectMarketCirculate(year) {
- var params = {};
- params.codes = "000000";
- params.farmId = this.farmValue;
- params.year = year;
- selectMarketCirculate(Object.assign(params)).then((res) => {
- this.salaNumBN = res.data.data[0].num;
- this.salaNumQN = res.data.data[1].num;
- this.salaNumBY = res.data.data[2].num;
- });
- },
- // 统计任务总数
- countTaskNum(year) {
- var params = {};
- params.codes = "000000";
- params.farmId = this.farmValue;
- params.year = year;
- countTaskNum(Object.assign(params)).then((res) => {
- this.taskNum = res.data.data;
- this.initBar("TaskNumEcharts");
- });
- },
- // 农事记录
- farmingRecords() {
- var params = {};
- params.tenantId = "000000";
- params.farmId = this.farmValue;
- params.current = "1";
- params.size = "3";
- farmingRecords(Object.assign(params)).then((res) => {
- var data = [];
- for (var i = 0; i < res.data.data.length; i++) {
- data.push(res.data.data[i]);
- if (i == 3) {
- break;
- }
- }
- this.farminList = data;
- });
- },
- // 农资出入库记录
- pageCountNzCrk() {
- var params = {};
- params.codes = "000000";
- params.farmId = this.farmValue;
- params.current = "1";
- params.size = "3";
- pageCountNzCrk(Object.assign(params)).then((res) => {
- this.stockrecordList = res.data.data.records;
- });
- },
- // 溯源次数统计
- getSweepRecordStatistics() {
- var params = {};
- // 农场id
- params.farmId = this.farmValue;
- getSweepRecordStatistics(Object.assign(params)).then((res) => {
- this.sweepList = res.data.data;
- });
- },
- // 溯源趋势统计
- getSweepRecordStatisticsByDayOrMonthOrYear(year) {
- var params = {};
- // 农场id
- params.farmId = this.farmValue;
- params.time = year;
- getSweepRecordStatisticsByDayOrMonthOrYear(Object.assign(params)).then(
- (res) => {
- this.sweepTrend = res.data.data;
- if (this.cltjOrsym == "sym") {
- this.initSymyBar("ClSyEcharts");
- }
- }
- );
- },
- // 监管图表切换
- trpOrNcpChange(item) {
- var that = this;
- that.trpOrNcp = item;
- if (item == "trp") {
- that.initTrpBar("TrpEcharts");
- } else {
+ initClSyBar (dom) {
+ const chartDom = document.getElementById(dom)
+ const myChart = this.$echarts.init(chartDom)
+ myChart.clear()
+ var data = []
+ var data1 = ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]
+ var data2 = []
+ var ncp = this.yieldMonth
+ for (let i = 0; i < ncp.length; i++) {
+ data.push(ncp[i].time)
+ data2.push(ncp[i].num)
+ }
+
+ const option = {
+ grid: {
+ top: "10%",
+ right: "0%",
+ left: "0%",
+ bottom: "0%",
+ containLabel: true,
+ },
+ tooltip: {
+ trigger: "axis",
+ axisPointer: {
+ type: "shadow",
+ },
+ },
+ legend: {
+ left: "center",
+ data: ["加工产品", "农产品"],
+ textStyle: {
+ color: "#A9D1D7",
+ },
+ },
+ xAxis: {
+ data: data,
+ axisLabel: {
+ interval: 0,
+ show: true,
+ textStyle: {
+ color: "rgba(255,255,255,0.6)",
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: "#697B89",
+ width: 1,
+ },
+ },
+ },
+ yAxis: [
+ {
+ min: 0,
+ type: "value",
+ axisLabel: {
+ interval: 0,
+ show: true,
+ textStyle: {
+ color: "#B4B5BE",
+ },
+ },
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: "#697B89",
+ width: 1,
+ },
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: "rgba(62,81,97, .5)",
+ type: "dashed",
+ },
+ },
+ },
+ ],
+ series: [
+ {
+ name: "加工产品",
+ type: "bar",
+ barWidth: 14,
+ silent: true,
+ itemStyle: {
+ normal: {
+ color: "#E29646",
+ },
+ },
+ data: data1,
+ },
+ {
+ name: "农产品",
+ type: "bar",
+ barWidth: 14,
+ silent: true,
+ itemStyle: {
+ normal: {
+ color: "#6AE081",
+ },
+ },
+ data: data2,
+ },
+ ],
+ }
+
+ option && myChart.setOption(option)
+ },
+ initSymyBar (dom) {
+ const chartDom = document.getElementById(dom)
+ const myChart = this.$echarts.init(chartDom)
+ myChart.clear()
+
+ var data = this.sweepTrend
+ var x = []
+ var y = []
+ for (var i = 0; i < data.length; i++) {
+ y.push(data[i].num)
+ x.push(data[i].time)
+ }
+
+ var option = {
+ grid: {
+ top: "10%",
+ right: "0%",
+ left: "0%",
+ bottom: "0%",
+ containLabel: true,
+ },
+ xAxis: {
+ type: "category",
+ boundaryGap: false,
+ data: x,
+ },
+ yAxis: [
+ {
+ min: 0,
+ type: "value",
+ axisLabel: {
+ interval: 0,
+ show: true,
+ textStyle: {
+ color: "#B4B5BE",
+ },
+ },
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: "#697B89",
+ width: 1,
+ },
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: "rgba(62,81,97, .5)",
+ type: "dashed",
+ },
+ },
+ },
+ ],
+ series: [
+ {
+ data: y,
+ type: "line",
+ smooth: true,
+ areaStyle: {},
+ },
+ ],
+ }
+ option && myChart.setOption(option)
+ },
+ // 农场使用率
+ selectXCount () {
+ // eslint-disable-next-line no-unused-vars
+ var that = this
+ var farmId = that.farmValue
+ selectXCount(farmId).then((res) => {
+ that.landsnum = res.data.data.snum.toFixed(0)
+ that.landwnum = res.data.data.wnum.toFixed(0)
+ that.znum = res.data.data.num.toFixed(0)
+ })
+ },
+ // 农资使用概况
+ getStockCount () {
+ var that = this
+ var farmId = that.farmValue
+ getStockCount(farmId).then((res) => {
+ that.jnStock = res.data.data.jn.toFixed(0)
+ that.qnStock = res.data.data.qn.toFixed(0)
+ that.byStock = res.data.data.by.toFixed(0)
+ })
+ },
+ // 大屏经营概况库存数量与年产量
+ statisticsStockAndYield (year) {
+ var params = {}
+ params.tenantId = "000000"
+ params.farmId = this.farmValue
+ params.year = year
+ statisticsStockAndYield(Object.assign(params)).then((res) => {
+ this.stockNCP = res.data.data.sum
+ this.stockJG = res.data.data.jgsum
+ this.stockTj = res.data.data.jgsum + res.data.data.sum
+
+ this.yieldNCP = res.data.data.ncpNcl
+ this.yieldJG = res.data.data.jgNcl
+ this.yieldTj = res.data.data.ncpNcl + res.data.data.jgNcl
+ })
+ },
+ // 按月统计产量
+ statisticsStockMonth (e) {
+ var params = {}
+ params.tenantId = "000000"
+ params.farmId = this.farmValue
+ params.year = e
+ statisticsStockMonth(Object.assign(params)).then((res) => {
+ this.yieldMonth = res.data.data
+ this.initClSyBar("ClSyEcharts")
+ })
+ },
// 农产品监管
- that.initNcpBar("TrpEcharts");
- }
+ productsSupervise (year) {
+ var params = {}
+ params.tenantId = "000000"
+ params.farmId = this.farmValue
+ params.year = year
+ productsSupervise(Object.assign(params)).then((res) => {
+ this.NcpJg = res.data.data
+ })
+ },
+ // 农产品投入
+ pageCount (e) {
+ var params = {}
+ params.tenantId = "000000"
+ params.farmId = this.farmValue
+ params.year = e
+ params.status = "1"
+ pageCount(Object.assign(params)).then((res) => {
+ this.ncptr = res.data.data
+ })
+ },
+ // 农资投入
+ pageCountNz (e) {
+ var params = {}
+ params.codes = "000000"
+ params.farmId = this.farmValue
+ params.year = e
+ pageCountNz(Object.assign(params)).then((res) => {
+ this.nztr = res.data.data.records
+ this.nztrAll = res.data.data.records
+ // 投入品监管图表
+ this.initTrpBar("TrpEcharts")
+ })
+ },
+ // 统计市场流通/去年流通量/本月流通量
+ selectMarketCirculate (year) {
+ var params = {}
+ params.codes = "000000"
+ params.farmId = this.farmValue
+ params.year = year
+ selectMarketCirculate(Object.assign(params)).then((res) => {
+ this.salaNumBN = res.data.data[0].num
+ this.salaNumQN = res.data.data[1].num
+ this.salaNumBY = res.data.data[2].num
+ })
+ },
+ // 统计任务总数
+ countTaskNum (year) {
+ var params = {}
+ params.codes = "000000"
+ params.farmId = this.farmValue
+ params.year = year
+ countTaskNum(Object.assign(params)).then((res) => {
+ this.taskNum = res.data.data
+ this.initBar("TaskNumEcharts")
+ })
+ },
+ // 农事记录
+ farmingRecords () {
+ var params = {}
+ params.tenantId = "000000"
+ params.farmId = this.farmValue
+ params.current = "1"
+ params.size = "3"
+ farmingRecords(Object.assign(params)).then((res) => {
+ var data = []
+ for (var i = 0; i < res.data.data.length; i++) {
+ data.push(res.data.data[i])
+ if (i == 3) {
+ break
+ }
+ }
+ this.farminList = data
+ })
+ },
+ // 农资出入库记录
+ pageCountNzCrk () {
+ var params = {}
+ params.codes = "000000"
+ params.farmId = this.farmValue
+ params.current = "1"
+ params.size = "3"
+ pageCountNzCrk(Object.assign(params)).then((res) => {
+ this.stockrecordList = res.data.data.records
+ })
+ },
+ // 溯源次数统计
+ getSweepRecordStatistics () {
+ var params = {}
+ // 农场id
+ params.farmId = this.farmValue
+ getSweepRecordStatistics(Object.assign(params)).then((res) => {
+ this.sweepList = res.data.data
+ })
+ },
+ // 溯源趋势统计
+ getSweepRecordStatisticsByDayOrMonthOrYear (year) {
+ var params = {}
+ // 农场id
+ params.farmId = this.farmValue
+ params.time = year
+ getSweepRecordStatisticsByDayOrMonthOrYear(Object.assign(params)).then(
+ (res) => {
+ this.sweepTrend = res.data.data
+ if (this.cltjOrsym == "sym") {
+ this.initSymyBar("ClSyEcharts")
+ }
+ }
+ )
+ },
+ // 监管图表切换
+ trpOrNcpChange (item) {
+ var that = this
+ that.trpOrNcp = item
+ if (item == "trp") {
+ that.initTrpBar("TrpEcharts")
+ } else {
+ // 农产品监管
+ that.initNcpBar("TrpEcharts")
+ }
+ },
+ // 产量统计图表切换
+ cltjOrSymChange (item) {
+ var that = this
+ that.cltjOrsym = item
+ if (item == "cltj") {
+ this.initClSyBar("ClSyEcharts")
+ } else {
+ // 溯源码
+ this.initSymyBar("ClSyEcharts")
+ }
+ },
+ // 本年农事操作记录,分组统计
+ getFarmingStatis () {
+ var that = this
+ var farmId = that.farmValue
+ getFarmingStatis(farmId).then((res) => {
+ that.farmingList = res.data.data
+ })
+ },
+ // 地块下拉
+ getLandList () {
+ var params = {}
+ // 农场id
+ params.farmId = this.farmValue
+ getLandList(Object.assign(params)).then((res) => {
+ this.plotNumArray = res.data.data
+ })
+ },
+ checkTime (i) {
+ if (i < 10) {
+ i = "0" + i
+ }
+ return i
+ },
},
- // 产量统计图表切换
- cltjOrSymChange(item) {
- var that = this;
- that.cltjOrsym = item;
- if (item == "cltj") {
- this.initClSyBar("ClSyEcharts");
- } else {
- // 溯源码
- this.initSymyBar("ClSyEcharts");
- }
- },
- // 本年农事操作记录,分组统计
- getFarmingStatis() {
- var that = this;
- var farmId = that.farmValue;
- getFarmingStatis(farmId).then((res) => {
- that.farmingList = res.data.data;
- });
- },
- // 地块下拉
- getLandList() {
- var params = {};
- // 农场id
- params.farmId = this.farmValue;
- getLandList(Object.assign(params)).then((res) => {
- this.plotNumArray = res.data.data;
- });
- },
- checkTime(i) {
- if (i < 10) {
- i = "0" + i;
- }
- return i;
- },
- },
};
</script>
<style scoped lang="scss">
.container {
- padding: 20px;
- position: relative;
- width: 100%;
- height: 100%;
- background: #08192e;
- box-sizing: border-box;
+ padding: 20px;
+ position: relative;
+ width: 100%;
+ height: 100%;
+ background: #08192e;
+ box-sizing: border-box;
- .toggle-plot {
- text-align: left;
- height: 36px;
- line-height: 36px;
- font-size: 24px;
- font-weight: bold;
- color: #fff;
+ .toggle-plot {
+ text-align: left;
+ height: 36px;
+ line-height: 36px;
+ font-size: 24px;
+ font-weight: bold;
+ color: #fff;
- /deep/.el-input__inner {
- background-color: #0e3960;
- color: #66dde9;
- border: 1px solid #00f5fe;
- }
-
- /deep/.popper__arrow::after {
- border-bottom-color: #00f5fe;
- top: 0px;
- }
- /deep/.el-select-dropdown {
- // background-color: transparent;
- border: 1px solid #00f5fe;
- }
- /deep/.el-icon-arrow-up:before {
- color: #00f5fe;
- }
- .el-select-dropdown__item:hover,
- .el-select-dropdown__item.hover {
- background-color: #00f5fe;
- }
- }
-
- .main-content {
- margin-top: 10px;
- height: calc(100% - 46px);
- display: flex;
- flex-direction: column;
-
- .t {
- display: flex;
- justify-content: space-between;
-
- & > div:first-child {
- margin-left: 0;
- }
- }
-
- .c {
- margin-top: 20px;
- display: flex;
- justify-content: space-between;
-
- & > div {
- margin-left: 20px;
- width: calc((100% - 80px) / 5);
- height: 346px;
- border-radius: 8px 8px 8px 8px;
- background: rgba(0, 52, 85, 0.4);
- }
-
- & > div:first-child {
- margin-left: 0;
- }
-
- & > div:last-child {
- width: calc((100% - 80px) / 5 * 2 + 20px);
- }
-
- .time-box {
- padding: 0 25px;
- display: flex;
- flex-direction: column;
- box-sizing: border-box;
-
- & > div:last-child {
- border: none;
- }
- }
-
- .task-box {
- padding: 20px;
- display: flex;
- flex-direction: column;
- box-sizing: border-box;
-
- .title {
- text-align: left;
- font-size: 18px;
- font-weight: bold;
- color: #7ccfd6;
+ /deep/.el-input__inner {
+ background-color: #0e3960;
+ color: #66dde9;
+ border: 1px solid #00f5fe;
}
- .echarts-box {
- margin-top: 16px;
- flex: 1;
+ /deep/.popper__arrow::after {
+ border-bottom-color: #00f5fe;
+ top: 0px;
}
- }
+ /deep/.el-select-dropdown {
+ // background-color: transparent;
+ border: 1px solid #00f5fe;
+ }
+ /deep/.el-icon-arrow-up:before {
+ color: #00f5fe;
+ }
+ .el-select-dropdown__item:hover,
+ .el-select-dropdown__item.hover {
+ background-color: #00f5fe;
+ }
+ }
- .nz-ncp {
- padding: 20px;
+ .main-content {
+ margin-top: 10px;
+ height: calc(100% - 46px);
display: flex;
flex-direction: column;
- box-sizing: border-box;
- .title-box {
- display: flex;
-
- & > div {
+ .t {
display: flex;
- align-items: flex-start;
- font-size: 18px;
- color: #a9d1d7;
-
- .title {
- cursor: pointer;
- }
-
- .on {
- position: relative;
- font-weight: bold;
- color: #7ccfd6;
-
- span {
- position: absolute;
- bottom: -8px;
- left: 0;
- width: 100%;
- height: 3px;
- border-radius: 3px;
- background: #66dde9;
- }
- }
- }
-
- & > div:nth-child(2) {
- margin-left: 60px;
- }
- }
-
- .lists-box {
- margin-top: 16px;
- flex: 1;
- overflow-y: auto;
-
- & > div:nth-child(even) {
- background: rgba(102, 221, 233, 0.1);
- }
-
- & > div {
- display: flex;
- align-items: center;
justify-content: space-between;
- line-height: 48px;
- font-size: 18px;
- color: #a9d1d7;
& > div:first-child {
- margin-left: 16px;
+ margin-left: 0;
+ }
+ }
+
+ .c {
+ margin-top: 20px;
+ display: flex;
+ justify-content: space-between;
+
+ & > div {
+ margin-left: 20px;
+ width: calc((100% - 80px) / 5);
+ height: 346px;
+ border-radius: 8px 8px 8px 8px;
+ background: rgba(0, 52, 85, 0.4);
+ }
+
+ & > div:first-child {
+ margin-left: 0;
}
& > div:last-child {
- margin-right: 18px;
- color: #66dde9;
- }
- }
- }
- }
-
- .trp-ncp {
- padding: 20px;
- display: flex;
- flex-direction: column;
- box-sizing: border-box;
-
- .title-box {
- position: relative;
- display: flex;
-
- & > div {
- display: flex;
- align-items: flex-start;
- font-size: 18px;
- color: #a9d1d7;
-
- .title {
- cursor: pointer;
+ width: calc((100% - 80px) / 5 * 2 + 20px);
}
- .on {
- position: relative;
- font-weight: bold;
- color: #7ccfd6;
+ .time-box {
+ padding: 0 25px;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
- span {
- position: absolute;
- bottom: -8px;
- left: 0;
- width: 100%;
- height: 3px;
- border-radius: 3px;
- background: #66dde9;
- }
+ & > div:last-child {
+ border: none;
+ }
}
- }
- & > div:nth-child(2) {
- margin-left: 60px;
- }
+ .task-box {
+ padding: 20px;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
- .more {
- position: absolute;
- top: 0;
- left: auto;
- right: 0;
- bottom: 0;
- margin: auto;
- display: flex;
- align-items: center;
- font-size: 16px;
- cursor: pointer;
- img {
- margin-left: 6px;
- vertical-align: middle;
+ .title {
+ text-align: left;
+ font-size: 18px;
+ font-weight: bold;
+ color: #7ccfd6;
+ }
+
+ .echarts-box {
+ margin-top: 16px;
+ flex: 1;
+ }
}
- }
+
+ .nz-ncp {
+ padding: 20px;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+
+ .title-box {
+ display: flex;
+
+ & > div {
+ display: flex;
+ align-items: flex-start;
+ font-size: 18px;
+ color: #a9d1d7;
+
+ .title {
+ cursor: pointer;
+ }
+
+ .on {
+ position: relative;
+ font-weight: bold;
+ color: #7ccfd6;
+
+ span {
+ position: absolute;
+ bottom: -8px;
+ left: 0;
+ width: 100%;
+ height: 3px;
+ border-radius: 3px;
+ background: #66dde9;
+ }
+ }
+ }
+
+ & > div:nth-child(2) {
+ margin-left: 60px;
+ }
+ }
+
+ .lists-box {
+ margin-top: 16px;
+ flex: 1;
+ overflow-y: auto;
+
+ & > div:nth-child(even) {
+ background: rgba(102, 221, 233, 0.1);
+ }
+
+ & > div {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ line-height: 48px;
+ font-size: 18px;
+ color: #a9d1d7;
+
+ & > div:first-child {
+ margin-left: 16px;
+ }
+
+ & > div:last-child {
+ margin-right: 18px;
+ color: #66dde9;
+ }
+ }
+ }
+ }
+
+ .trp-ncp {
+ padding: 20px;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+
+ .title-box {
+ position: relative;
+ display: flex;
+
+ & > div {
+ display: flex;
+ align-items: flex-start;
+ font-size: 18px;
+ color: #a9d1d7;
+
+ .title {
+ cursor: pointer;
+ }
+
+ .on {
+ position: relative;
+ font-weight: bold;
+ color: #7ccfd6;
+
+ span {
+ position: absolute;
+ bottom: -8px;
+ left: 0;
+ width: 100%;
+ height: 3px;
+ border-radius: 3px;
+ background: #66dde9;
+ }
+ }
+ }
+
+ & > div:nth-child(2) {
+ margin-left: 60px;
+ }
+
+ .more {
+ position: absolute;
+ top: 0;
+ left: auto;
+ right: 0;
+ bottom: 0;
+ margin: auto;
+ display: flex;
+ align-items: center;
+ font-size: 16px;
+ cursor: pointer;
+ img {
+ margin-left: 6px;
+ vertical-align: middle;
+ }
+ }
+ }
+
+ .echarts-box {
+ margin-top: 16px;
+ flex: 1;
+ }
+ }
}
- .echarts-box {
- margin-top: 16px;
- flex: 1;
- }
- }
- }
-
- .b {
- margin-top: 20px;
- flex: 1;
- display: flex;
- justify-content: space-between;
-
- & > div {
- margin-left: 20px;
- border-radius: 8px 8px 8px 8px;
- background: rgba(0, 52, 85, 0.4);
- }
-
- & > div:first-child {
- margin-left: 0;
- flex: 1;
- }
-
- & > div:last-child {
- width: 444px;
- }
-
- .cl-sy {
- padding: 20px;
- display: flex;
- flex-direction: column;
- box-sizing: border-box;
-
- .title-box {
- height: 34px;
- position: relative;
- display: flex;
-
- & > div {
- display: flex;
- align-items: flex-start;
- font-size: 18px;
- color: #a9d1d7;
-
- .on {
- position: relative;
- font-weight: bold;
- color: #7ccfd6;
-
- span {
- position: absolute;
- bottom: -8px;
- left: 0;
- width: 100%;
- height: 3px;
- border-radius: 3px;
- background: #66dde9;
- }
- }
- }
-
- & > div:nth-child(2) {
- margin-left: 60px;
- }
-
- .date {
- position: absolute;
- top: -20px;
- left: auto;
- right: 0;
- bottom: auto;
- margin: auto;
- width: 320px;
- }
- }
-
- .echarts-box {
- margin-top: 16px;
- flex: 1;
- }
- }
-
- .ns-nz {
- padding: 20px;
- display: flex;
- flex-direction: column;
- box-sizing: border-box;
-
- .title-box {
- position: relative;
- display: flex;
-
- & > div {
- display: flex;
- align-items: flex-start;
- font-size: 18px;
- color: #a9d1d7;
-
- .title {
- cursor: pointer;
- }
-
- .on {
- position: relative;
- font-weight: bold;
- color: #7ccfd6;
-
- span {
- position: absolute;
- bottom: -8px;
- left: 0;
- width: 100%;
- height: 3px;
- border-radius: 3px;
- background: #66dde9;
- }
- }
- }
-
- & > div:nth-child(2) {
- margin-left: 60px;
- }
-
- .more {
- position: absolute;
- top: 0;
- left: auto;
- right: 0;
- bottom: 0;
- margin: auto;
- display: flex;
- align-items: center;
- font-size: 16px;
- cursor: pointer;
- img {
- margin-left: 6px;
- vertical-align: middle;
- }
- }
- }
-
- .lists-box {
- margin-top: 16px;
- flex: 1;
-
- display: flex;
- flex-direction: column;
-
- & > div {
- position: relative;
+ .b {
+ margin-top: 20px;
flex: 1;
- margin-top: 10px;
- padding: 10px 20px;
display: flex;
- flex-direction: column;
justify-content: space-between;
- background: rgba(102, 221, 233, 0.1);
- border-radius: 8px;
- font-size: 18px;
- color: #a9d1d7;
-
- & > .t-item {
- display: flex;
- align-items: center;
- justify-content: space-between;
-
- & > div:first-child {
- font-weight: bold;
- color: #66dde9;
- }
+ & > div {
+ margin-left: 20px;
+ border-radius: 8px 8px 8px 8px;
+ background: rgba(0, 52, 85, 0.4);
}
- & > .b-item {
- display: flex;
- align-items: center;
- justify-content: space-between;
-
- & > div:first-child {
- color: #fff;
- }
+ & > div:first-child {
+ margin-left: 0;
+ flex: 1;
}
- .t-border {
- top: 0;
- bottom: auto;
+ & > div:last-child {
+ width: 444px;
}
- .b-border {
- top: auto;
- bottom: 0;
+ .cl-sy {
+ padding: 20px;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+
+ .title-box {
+ height: 34px;
+ position: relative;
+ display: flex;
+
+ & > div {
+ display: flex;
+ align-items: flex-start;
+ font-size: 18px;
+ color: #a9d1d7;
+
+ .on {
+ position: relative;
+ font-weight: bold;
+ color: #7ccfd6;
+
+ span {
+ position: absolute;
+ bottom: -8px;
+ left: 0;
+ width: 100%;
+ height: 3px;
+ border-radius: 3px;
+ background: #66dde9;
+ }
+ }
+ }
+
+ & > div:nth-child(2) {
+ margin-left: 60px;
+ }
+
+ .date {
+ position: absolute;
+ top: -20px;
+ left: auto;
+ right: 0;
+ bottom: auto;
+ margin: auto;
+ width: 320px;
+ }
+ }
+
+ .echarts-box {
+ margin-top: 16px;
+ flex: 1;
+ }
}
- .t-border,
- .b-border {
- position: absolute;
- left: 0;
- right: 0;
- margin: auto;
- width: 80%;
- height: 1px;
- background: linear-gradient(
- 89deg,
- rgba(102, 221, 233, 0) 0%,
- #66dde9 51%,
- rgba(102, 221, 233, 0) 100%
- );
- }
- }
+ .ns-nz {
+ padding: 20px;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
- & > div:first-child {
- margin-top: 10px;
- }
+ .title-box {
+ position: relative;
+ display: flex;
+
+ & > div {
+ display: flex;
+ align-items: flex-start;
+ font-size: 18px;
+ color: #a9d1d7;
+
+ .title {
+ cursor: pointer;
+ }
+
+ .on {
+ position: relative;
+ font-weight: bold;
+ color: #7ccfd6;
+
+ span {
+ position: absolute;
+ bottom: -8px;
+ left: 0;
+ width: 100%;
+ height: 3px;
+ border-radius: 3px;
+ background: #66dde9;
+ }
+ }
+ }
+
+ & > div:nth-child(2) {
+ margin-left: 60px;
+ }
+
+ .more {
+ position: absolute;
+ top: 0;
+ left: auto;
+ right: 0;
+ bottom: 0;
+ margin: auto;
+ display: flex;
+ align-items: center;
+ font-size: 16px;
+ cursor: pointer;
+ img {
+ margin-left: 6px;
+ vertical-align: middle;
+ }
+ }
+ }
+
+ .lists-box {
+ margin-top: 16px;
+ flex: 1;
+
+ display: flex;
+ flex-direction: column;
+
+ & > div {
+ position: relative;
+ flex: 1;
+ margin-top: 10px;
+ padding: 10px 20px;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+
+ background: rgba(102, 221, 233, 0.1);
+ border-radius: 8px;
+ font-size: 18px;
+ color: #a9d1d7;
+
+ & > .t-item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ & > div:first-child {
+ font-weight: bold;
+ color: #66dde9;
+ }
+ }
+
+ & > .b-item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ & > div:first-child {
+ color: #fff;
+ }
+ }
+
+ .t-border {
+ top: 0;
+ bottom: auto;
+ }
+
+ .b-border {
+ top: auto;
+ bottom: 0;
+ }
+
+ .t-border,
+ .b-border {
+ position: absolute;
+ left: 0;
+ right: 0;
+ margin: auto;
+ width: 80%;
+ height: 1px;
+ background: linear-gradient(
+ 89deg,
+ rgba(102, 221, 233, 0) 0%,
+ #66dde9 51%,
+ rgba(102, 221, 233, 0) 100%
+ );
+ }
+ }
+
+ & > div:first-child {
+ margin-top: 10px;
+ }
+ }
+ }
}
- }
}
- }
}
</style>
--
Gitblit v1.9.3