From cbf18809270976db8af332fb80bedd6509c60245 Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Tue, 06 Sep 2022 11:12:02 +0800
Subject: [PATCH] 溯源码页面修改

---
 /dev/null                   |  945 ----------------------
 vue.config.js               |    4 
 public/js/WebRtcPlayer.js   |   79 
 src/views/land/landAdd.vue  |  628 +++++++-------
 public/traceablityInfo.html |  836 +++++++++----------
 5 files changed, 742 insertions(+), 1,750 deletions(-)

diff --git a/public/js/WebRtcPlayer.js b/public/js/WebRtcPlayer.js
index 5836516..8a2d3a7 100644
--- a/public/js/WebRtcPlayer.js
+++ b/public/js/WebRtcPlayer.js
@@ -4,73 +4,72 @@
      * @param {Element} ele 
      */
     constructor(ele) {
-        this.ele = ele;
+        this.ele = ele
         // this.PeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
-        this.PeerConnection = window.RTCPeerConnection;
+        this.PeerConnection = window.RTCPeerConnection
 
     }
-    Open(url) {
-        if(this.localpc){
-            this.Close();
+    Open (url) {
+        if (this.localpc) {
+            this.Close()
         }
-        this.localpc = new this.PeerConnection(null);
+        this.localpc = new this.PeerConnection(null)
         const AudioTransceiverInit = {
             direction: 'recvonly',
             sendEncodings: []
-        };
+        }
         const VideoTransceiverInit = {
             direction: 'recvonly',
             sendEncodings: []
-        };
-        this.localpc.addTransceiver('audio', AudioTransceiverInit);
-        this.localpc.addTransceiver('video', VideoTransceiverInit);
-        let that = this;
+        }
+        this.localpc.addTransceiver('audio', AudioTransceiverInit)
+        this.localpc.addTransceiver('video', VideoTransceiverInit)
+        let that = this
         this.localpc.ontrack = function (e) {
             if (!that.localpc.stream) {
-                that.localpc.streamId = e.track.id;
-                that.localpc.stream = new MediaStream();
-                that.ele.srcObject = that.localpc.stream;
-                that.ele.muted = true;
-                that.ele.autoplay = true;
+                that.localpc.streamId = e.track.id
+                that.localpc.stream = new MediaStream()
+                that.ele.srcObject = that.localpc.stream
+                that.ele.muted = true
+                that.ele.autoplay = true
             }
-            that.localpc.stream.addTrack(e.track);
+            that.localpc.stream.addTrack(e.track)
         }
 
         this.localpc.createOffer()
             .then(offer => this.localpc.setLocalDescription(offer))
             .then(() => {
                 that.getSdp(url, this.localpc.localDescription.sdp, function (data) {
-                    console.log("pullStreamRes:", data);
-                    data = JSON.parse(data);
-                    if (data.code != 0) return;
-                    let anwser = {};
-                    anwser.sdp = data.sdp;
-                    anwser.type = 'answer';
+                    data = JSON.parse(data)
+                    if (data.code != 0) return
+                    let anwser = {}
+                    anwser.sdp = data.sdp
+                    anwser.type = 'answer'
                     that.localpc.setRemoteDescription(anwser).then(() => {
-                        console.log("播放成功");
+                        console.log("播放成功")
                     }).catch(e => {
-                        console.error("播放错误:" + e);
-                    });
-                });
+                        console.error("播放错误:" + e)
+                    })
+                })
             })
-            .catch(e => "添加ICE候选人过程错误: " + e);
+            .catch(e => "添加ICE候选人过程错误: " + e)
     }
-    Close() {
-        if(this.localpc){
-            this.localpc.close();
-            this.localpc = null;
+    Close () {
+        if (this.localpc) {
+            this.localpc.close()
+            this.localpc = null
         }
     }
-    getSdp(url, body, success) {
-        let xhr = new XMLHttpRequest();
-        xhr.open('POST', url);
-        xhr.setRequestHeader('Content-Type', 'text/plain;charset=utf-8');
+    getSdp (url, body, success) {
+        let xhr = new XMLHttpRequest()
+        xhr.open('POST', url)
+        xhr.setRequestHeader('Content-Type', 'text/plain;charset=utf-8')
         xhr.onreadystatechange = function () {
-            if (xhr.responseText.length < 1) return;
+            if (xhr.responseText.length < 1) return
             if (xhr.status === 200) {
-                success(xhr.responseText);
+                success(xhr.responseText)
             }
-        };
-        xhr.send(body);
+        }
+        xhr.send(body)
     }
 }
\ No newline at end of file
diff --git a/public/newtrac.html b/public/newtrac.html
deleted file mode 100644
index 0f3aa56..0000000
--- a/public/newtrac.html
+++ /dev/null
@@ -1,945 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
-  <meta charset="UTF-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <title>查看溯源</title>
-  <style>
-    .top-log {
-      position: relative;
-      height: 520px;
-    }
-
-    .top-log .btn-grounp {
-      position: absolute;
-      left: 0;
-      bottom: -1px;
-      width: 100%;
-      height: 100px;
-      display: flex;
-      align-items: center;
-      justify-content: space-around;
-      background: transparent;
-    }
-
-    .main-content {
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
-    }
-
-    .main-content .logo {
-      position: relative;
-      margin-top: 3.5rem;
-      width: 18.75rem;
-      height: 18.75rem;
-      border-radius: 50%;
-      overflow: hidden;
-    }
-
-    .main-content .logo .btn {
-      position: absolute;
-      bottom: 0;
-      width: 100%;
-      height: 4rem;
-      line-height: 4rem;
-      text-align: center;
-      background: rgba(0, 0, 0, .4);
-      font-size: 1.5rem;
-      color: #fff;
-    }
-
-    .main-content .title {
-      margin-top: 1.875rem;
-      font-size: 48px;
-      font-weight: bold;
-      color: #333333;
-    }
-
-    .main-content .type {
-      display: flex;
-      margin-top: 10px;
-      width: 180px;
-      height: 36px;
-      font-size: 24px;
-      background: #7BDA8F;
-      color: #fff;
-      border-radius: 8px;
-      overflow: hidden;
-    }
-
-    .main-content .type .sub {
-      flex: 1;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-    }
-
-    .main-content .type .icon {
-      width: 36px;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      background: #6AC077;
-    }
-
-    .main-content .date {
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      margin-top: 40px;
-      width: calc(100% - 60px);
-      height: 110px;
-      background: #E4F0F1;
-      border-radius: 34px;
-      font-size: 34px;
-      color: #5ABF78;
-    }
-
-    .model-box {
-      margin-top: 60px;
-      padding: 0 30px;
-    }
-
-    .model-box .model-title {
-      display: flex;
-      align-items: center;
-      height: 50px;
-    }
-
-    .model-box .model-title .l {
-      width: 5px;
-      height: 36px;
-      background: #5ABF78;
-    }
-
-    .model-box .model-title .title {
-      margin-left: 20px;
-      font-size: 36px;
-      font-weight: bold;
-      color: #333333;
-    }
-
-    .model-box .model-title .border {
-      flex: 1;
-      margin: 13px;
-      border-top: 1px dashed #D4DBE8;
-      border-bottom: 1px dashed #D4DBE8;
-    }
-
-    .model-box .model-title .status {
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      font-size: 24px;
-      color: #5ABF78;
-    }
-
-    .model-box .model-title .statu.no {
-      color: #EC9144;
-    }
-
-    .model-box .model-title .status view {
-      display: flex;
-      align-items: center;
-      justify-content: center;
-    }
-
-    .model-box.qw .model-content {
-      display: flex;
-      flex-direction: column;
-      margin-top: 30px;
-      background: #fff;
-      border-radius: 30px;
-    }
-
-    .model-box.qw .model-content .box:first-child {
-      border-bottom: 2px solid #EEEEEE;
-    }
-
-    .model-box.qw .model-content .box {
-      flex: 1;
-      display: flex;
-      padding: 30px;
-    }
-
-    .model-box.qw .model-content .box>.r {
-      margin-left: 26px;
-      flex: 1;
-      font-size: 24px;
-    }
-
-    .model-box.qw .model-content .box>.r .title {
-      font-size: 32px;
-      font-weight: bold;
-      color: #333333;
-    }
-
-    .model-box.qw .model-content .box>.r .line-box {
-      margin-top: 16px;
-      display: flex;
-    }
-
-    .model-box.qw .model-content .box>.r .line-box .sub {
-      width: 120px;
-      color: #333333;
-      line-height: 36px;
-    }
-
-    .model-box.qw .model-content .box>.r .line-box .content {
-      flex: 1;
-      color: #666666;
-      line-height: 36px;
-    }
-
-    /* 容器 */
-
-    .model-box.cd .model-content {
-      margin-top: 30px;
-      background: #fff;
-      border-radius: 30px;
-    }
-
-    /* 头部 */
-
-    .model-box.cd .model-content .content-header {
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      height: 90px;
-      font-size: 30px;
-      color: #5ABF78;
-    }
-
-    .model-box.cd .model-content.jk .content-header {
-      color: #A255B5;
-      border-bottom: 2px solid #ECECEC;
-    }
-
-    /* 中间 */
-
-    .model-box.cd .model-content.dk .content-body {
-      height: 450px;
-      background: greenyellow;
-    }
-
-    .model-box.cd .model-content.jksp .content-body {
-      height: 385px;
-      /* background: #A255B5; */
-    }
-
-    .model-box.cd .model-content.jk .content-body {
-      border-bottom: 1px solid transparent;
-    }
-
-    .model-box.cd .model-content.jk .content-body .site-box {
-      margin: 26px 22px;
-      border-radius: 28px;
-      border: 2px solid #E3E3E3;
-    }
-
-    .model-box.cd .model-content.jk .content-body .site-box .site-title {
-      padding: 0 22px;
-      /* margin-top: 10px; */
-      height: 100px;
-      line-height: 100px;
-      /* display: flex;
-      align-items: center;
-      justify-content: space-between; */
-      font-size: 28px;
-      font-weight: bold;
-      color: #333333;
-      width: 100%;
-    }
-
-    .model-box.cd .model-content.jk .content-body .site-box .site-date {
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      margin: 13px 0;
-      height: 2px;
-      background: #ECECEC;
-    }
-
-    .model-box.cd .model-content.jk .content-body .site-box .site-date .site-date-text {
-      padding: 0 18px;
-      /* height: 36px; */
-      background: #F4F4F4;
-      border-radius: 18px;
-      font-size: 24px;
-      color: #929292;
-    }
-
-    .model-box.cd .model-content.jk .content-body .site-box .site-content {
-      padding: 24px 22px;
-      display: flex;
-      flex-wrap: wrap;
-      justify-content: space-between;
-    }
-
-    .model-box.cd .model-content.jk .content-body .site-box .site-content>div {
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-      margin-top: 16px;
-      padding: 16px 12px;
-      width: calc((100% - 18px) / 2);
-      background: #E9F1FC;
-      border-radius: 8px;
-      box-sizing: border-box;
-    }
-
-    .model-box.cd .model-content.jk .content-body .site-box .site-content>div:nth-child(1),
-    .model-box.cd .model-content.jk .content-body .site-box .site-content>div:nth-child(2) {
-      margin-top: 0;
-    }
-
-    .model-box.cd .model-content.jk .content-body .site-box .site-content>div .type {
-      font-size: 28px;
-      color: #333333;
-    }
-
-    .model-box.cd .model-content.jk .content-body .site-box .site-content>div .unit {
-      margin-top: 4px;
-      font-size: 24px;
-      color: #84898F;
-    }
-
-    .model-box.cd .model-content.jk .content-body .site-box .site-content>div .r {
-      font-size: 38px;
-      color: #5ABF78;
-    }
-
-    /* 底部 */
-
-    .model-box.cd .model-content .content-footer {
-      display: flex;
-      align-items: center;
-      height: 120px;
-      font-size: 24px;
-    }
-
-    .model-box.cd .model-content.dk .content-footer {
-      padding: 0 26px;
-    }
-
-    .model-box.cd .model-content.dk .content-footer .l {
-      width: 480px;
-      color: #666666;
-    }
-
-    .model-box.cd .model-content.dk .content-footer .r {
-      flex: 1;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      color: #5ABF78;
-    }
-
-    .model-box.cd .model-content.jksp .content-footer {
-      padding: 0 30px;
-    }
-
-    .model-box.cd .model-content.jksp .content-footer .equi-btn {
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      margin-left: 12px;
-      width: 196px;
-      height: 60px;
-      background: #F2F5F9;
-      border-radius: 9px;
-      border: 1px solid #DCDCDC;
-      font-size: 24px;
-      color: #697580;
-    }
-
-    .model-box.cd .model-content.jksp .content-footer .equi-btn:first-child {
-      margin-left: 0;
-    }
-
-    .model-box.cd .model-content.jksp .content-footer .equi-btn.on {
-      background: linear-gradient(90deg, #5ABB82 0%, #7BDA8F 100%);
-      border: none;
-      color: #fff;
-    }
-
-    /* 种植环节 */
-
-    .model-box.zz .model-content {
-      margin-top: 30px;
-    }
-
-    .model-box.zz .model-content .msg {
-      display: flex;
-      align-items: center;
-      height: 126px;
-    }
-
-    .model-box.zz .model-content .msg .r {
-      margin-left: 30px;
-      padding: 10px 26px;
-      position: relative;
-      flex: 1;
-      background: #fff;
-      font-size: 24px;
-      color: #999999;
-      border-radius: 16px;
-    }
-
-    .model-box.zz .model-content .msg .r text {
-      font-weight: bold;
-      color: #EC9144;
-    }
-
-    .model-box.zz .model-content .msg .r .r-b-msg {
-      margin-top: 10px;
-      color: #333333;
-    }
-
-    .model-box.zz .model-content .msg .r .point-to {
-      position: absolute;
-      top: 0;
-      left: -18px;
-      right: auto;
-      bottom: 0;
-      margin: auto;
-      width: 0;
-      height: 0;
-      border-top: 14px solid transparent;
-      border-right: 30px solid #fff;
-      border-bottom: 14px solid transparent;
-      z-index: -1;
-    }
-
-    .model-box.zz .model-content .record-box {
-      display: flex;
-      align-items: center;
-    }
-
-    .model-box.zz .model-content .record-box .l {
-      margin-left: 40px;
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
-    }
-
-    .model-box.zz .model-content .record-box .l .point {
-      width: 20px;
-      height: 20px;
-      background: #5ABF78;
-      border-radius: 50%;
-    }
-
-    .model-box.zz .model-content .record-box .l .line {
-      width: 2px;
-      height: 150px;
-      background: #DEE3E7;
-    }
-
-    .model-box.zz .model-content .record-box .l .line.one {
-      width: 2px;
-      height: 100px;
-      background: #DEE3E7;
-    }
-
-    .model-box.zz .model-content .record-box .l .line.two {
-      width: 2px;
-      height: 100px;
-      background: #DEE3E7;
-    }
-
-    .model-box.zz .model-content .record-box .r {
-      margin-left: 64px;
-      flex: 1;
-    }
-
-    .model-box.zz .model-content .record-box .r .record-item {
-      margin-top: 30px;
-      padding: 32px 30px 42px;
-      background: #FFFFFF;
-      border-radius: 30px;
-    }
-
-    .model-box.zz .model-content .record-box .r .record-item .type {
-      font-size: 32px;
-      font-weight: bold;
-      color: #333333;
-    }
-
-    .model-box.zz .model-content .record-box .r .record-item .date-pel {
-      margin-top: 10px;
-      display: flex;
-      justify-content: space-between;
-    }
-
-    .model-box.zz .model-content .record-box .r .record-item .date-pel .date {
-      padding: 2px 20px;
-      font-size: 24px;
-      color: #fff;
-      background: linear-gradient(89deg, #60BA84 0%, #73DB90 100%);
-      border-radius: 10px;
-    }
-
-    .model-box.zz .model-content .record-box .r .record-item .date-pel .pel {
-      font-size: 28px;
-      color: #666666;
-    }
-
-    /* 生产企业 */
-
-    .model-box.sc .model-content {
-      margin-top: 30px;
-      /* padding-bottom: 30px; */
-      background: #fff;
-      border-radius: 30px;
-    }
-
-    .model-box.sc .model-content .content-header {
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      height: 124px;
-      font-size: 36px;
-      font-weight: bold;
-      color: #000000;
-    }
-
-    .model-box.sc .model-content .content-body {
-      height: 390px;
-    }
-
-    .model-box.sc .model-content .content-body .swiper {
-      height: 100%;
-      width: 100%;
-    }
-
-    .model-box.sc .model-content .content-body .swiper-image {
-      height: 100%;
-      width: 100%;
-    }
-
-    .model-box.sc .model-content .content-body .slide-image {
-      height: 100%;
-      width: 100%;
-    }
-
-    .model-box.sc .model-content .text-intro {
-      margin: 0 25px;
-      padding: 20px 0 34px;
-      line-height: 42px;
-      font-size: 24px;
-      color: #818592;
-      border-bottom: 2px solid #EAEEF4;
-    }
-
-    .model-box.sc .model-content .content-footer {
-      margin-top: 24px;
-      display: flex;
-      align-items: flex-start;
-      justify-content: space-around;
-    }
-
-    .model-box.sc .model-content .content-footer>view {
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-    }
-
-    .model-box.sc .model-content .content-footer>view .type {
-      margin-top: 6px;
-      font-size: 24px;
-      color: #697580;
-    }
-
-    .model-box.sc .model-content .content-footer>view .msg {
-      margin-top: 2px;
-      padding: 2px 6px;
-      background: #E4EBEE;
-      border-radius: 13px 13px 13px 13px;
-      font-size: 20px;
-      color: #697580;
-    }
-
-    .btn-grounp {
-      margin-top: 84px;
-      display: flex;
-      height: 148px;
-      background: #FFFFFF;
-    }
-
-    .btn-grounp .l {
-      margin-right: 76px;
-      width: 194px;
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
-    }
-
-    .btn-grounp .l .plan {
-      font-size: 34px;
-      font-weight: bold;
-      color: #D55B26;
-    }
-
-    .btn-grounp .l .text {
-      margin-top: 2px;
-      font-size: 20px;
-      color: #A5AEB5;
-    }
-
-    .btn-grounp .r {
-      flex: 1;
-      display: flex;
-      align-items: center;
-    }
-
-    /* #video-body {
-      display: inline-block;
-      height: 100%;
-      position: relative;
-      overflow: hidden;
-    } */
-
-    #video-footer {
-      width: 100%;
-      height: 60px;
-      background: rgba(0, 0, 0, 0.5);
-      margin-top: -63px;
-      position: relative;
-    }
-
-    #oper-btn {
-      position: absolute;
-      top: 10px;
-      left: 20px;
-      cursor: pointer;
-    }
-
-    #full-btn {
-      position: absolute;
-      top: 12px;
-      right: 20px;
-      cursor: pointer;
-    }
-
-  </style>
-  <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
-  <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
-  <script src="js/flv.min.js" type="text/javascript" charset="utf-8"></script>
-</head>
-
-<body>
-  <div class="page-main-container" style="background: #F1F9F8;width:100%;height: 100%;">
-    <!-- str0 -->
-    <!-- 顶部图片 -->
-    <div class="top-log">
-      <img width="100%" height="520px" src="http://182.106.212.58:8014/assets/images/sym/2.png" />
-      <div class="btn-grounp">
-        <img bindtap="scrollTo" data-class=".qw" width="200px" height="100px"
-          src="http://182.106.212.58:8014/assets/images/sy/1418.png" />
-        <img bindtap="scrollTo" data-class=".cd" width="200px" height="100px"
-          src="http://182.106.212.58:8014/assets/images/sy/1416.png" />
-        <img bindtap="scrollTo" data-class=".zz" width="200px" height="100px"
-          src="http://182.106.212.58:8014/assets/images/sy/1415.png" />
-        <img bindtap="scrollTo" data-class=".sc" width="200px" height="100px"
-          src="http://182.106.212.58:8014/assets/images/sy/1414.png" />
-      </div>
-    </div>
-
-    <!-- 农产品信息 -->
-    <div class="main-content">
-      <div class="logo">
-        <img width="100%" height="100%" id="logoImg" />
-      </div>
-      <div class="title" id="titleName"></div>
-      <div class="type">
-        <div class="sub" id="sub1">${recovery.lx}</div>
-      </div>
-      <div class="date" id="date1"></div>
-    </div>
-
-    <!-- 权威检测 -->
-    <div class="qw model-box">
-      <div class="model-title">
-        <div class="l"></div>
-        <div class="title">权威检测</div>
-        <div class="border"></div>
-        <div class="status">
-          <div>
-            <van-icon style="margin-right: 10px;" name="http://182.106.212.58:8014/assets/images/sym/1265.png" />
-          </div>
-          可追溯
-        </div>
-      </div>
-      <div class="model-content" id="str1Dom">
-        <!-- str1 -->
-        <!-- str2 -->
-      </div>
-    </div>
-
-    <!-- 产地信息 -->
-    <div class="cd model-box">
-      <div class="model-title">
-        <div class="l"></div>
-        <div class="title">产地信息</div>
-        <div class="border"></div>
-        <div class="status">
-          <div>
-            <van-icon style="margin-right: 10px;" name="http://182.106.212.58:8014/assets/images/sym/1265.png" />
-          </div>
-          可追溯
-        </div>
-      </div>
-
-      <div class="dk model-content">
-        <div class="content-header">
-          <van-icon style="margin-right: 12px;" name="http://182.106.212.58:8014/assets/images/sy/1267.png" /> 种植地块
-        </div>
-        <div class="content-body">
-          <img id="contentImg1" />
-        </div>
-        <div class="content-footer">
-          <div class="l" id="farmAddress"></div>
-        </div>
-      </div>
-
-      <div class="jksp model-content">
-        <div class="content-header">
-          <van-icon style="margin-right: 12px;" name="http://182.106.212.58:8014/assets/images/sy/1272.png" />
-          良心生产,不怕监督,24小时视频监控
-        </div>
-        <!-- str10 -->
-      </div>
-    </div>
-
-    <!-- 监控监测数据展示 -->
-    <div class="jk model-content">
-      <div class="content-header">
-        物联网监控保证产地养分充足,且不被污染
-      </div>
-      <div class="content-body">
-        <div class="site-box">
-          <!-- strdetection -->
-          <div class="site-title">
-            <div class="l">
-              <select id="select" style="font-weight: bold;color: #333333;border: none;font-size: 28px;width:96%">
-                <option>${item.name}</option>
-              </select>
-            </div>
-          </div>
-          <div class="site-date">
-            <div class="site-date-text" id="sitedatetext">更新时间</div>
-          </div>
-          <div class="site-content" id="detectionlist">
-            <div class="list">
-              <div class="l">
-                <div class="type">${item.name}</div>
-                <div class="unit">
-                  单位:${item.unit}
-                </div>
-              </div>
-              <div class="r">
-                ${item.value}
-              </div>
-            </div>
-            <!-- <div class="site-content">
-              <div class="list">
-                <div class="l">
-                  <div class="type">${item.name}</div>
-                  <div class="unit">
-                    单位:${item.unit}
-                  </div>
-                </div>
-                <div class="r">
-                  ${item.value}
-                </div>
-              </div> -->
-            <!-- str11 -->
-            <!-- </div> -->
-          </div>
-        </div>
-      </div>
-    </div>
-
-    <!-- 种植环节 -->
-    <div class="zz model-box">
-      <div class="model-title">
-        <div class="l"></div>
-        <div class="title">种植环节</div>
-        <div class="border"></div>
-        <div class="status no"></div>
-      </div>
-      <div class="model-content">
-        <div class="msg">
-          <div class="l">
-            <img width="126px" height="126px" src="http://182.106.212.58:8014/assets/images/sy/zz-log.png" />
-          </div>
-          <div class="r">
-            <div>
-              我是基地管理员:
-            </div>
-            <div class="r-b-msg">
-              以下农事操作,是在我的监督下完成
-            </div>
-
-            <div class="point-to"></div>
-          </div>
-        </div>
-        <!-- str3 -->
-        <div id="recordBox"></div>
-        <!-- str4 -->
-      </div>
-    </div>
-
-    <!-- 生产企业 -->
-    <div class="sc model-box">
-      <div class="model-title">
-        <div class="l"></div>
-        <div class="title">生产企业</div>
-        <div class="border"></div>
-        <div class="status no">
-        </div>
-      </div>
-      <div class="model-content">
-        <div class="content-header" id="contentHeader"></div>
-        <div class="content-body">
-          <swiper class="swiper" indicator-dots="true" autoplay="true" interval="3000" duration="1000">
-            <block class="swiper-image" id="swImg">
-              <!-- str5 -->
-              <!-- str6 -->
-            </block>
-          </swiper>
-
-        </div>
-        <div class="text-intro" id="textIntro"></div>
-        <div class="content-footer">
-        </div>
-      </div>
-    </div>
-  </div>
-</body>
-<script>
-  $(function () {
-    var getData = function (name) {
-      var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
-      var r = window.location.search.substr(1).match(reg);
-      if (r != null) return decodeURI(r[2]);
-      return null;
-    };
-    var code = getData("code");
-    axios.get('https://dev.jxpskj.com:8023/api/traceability/getTraceabilityDetailInfos?code=' + code).then(
-      function (res) {
-        // 初始化数据begin
-        var data = res.data.data;
-        var farm = data.farm;
-        var land = data.landVO;
-        var num = data.num;
-        var paperList = data.paperVOList;
-        var recordVOList = data.recordVOList;
-        var recovery = data.recoveryVO;
-        // 初始化数据end
-
-        // 页面数据渲染begin
-        $('#titleName').text(recovery.strainName)
-        $('#logoImg').attr('src', recovery.url)
-        $('#sub1').text(recovery.lx)
-        $('#date1').text('采收时间:' + recovery.time.replaceAll("-", "."))
-        $('#contentHeader').text(farm.farmName)
-        $('#textIntro').text(farm.introduce)
-        // $('#slideImg').attr(item)
-        // 页面数据渲染end
-
-        // 权威检测页面遍历begin
-        var str1 = '';
-        if (paperList.length > 0) {
-          paperList.forEach(item => {
-            var url = item.pictures.split(",")[0];
-            str1 = str1 + `<div class="box">
-                        <div class="l">
-                            <img width="204px" height="204px" src="${url}" />
-                        </div>
-                        <div class="r">
-                            <div class="title">
-                                ${item.name}
-                            </div>
-                            <div class="org line-box">
-                                <div class="sub">检测机构:</div>
-                                <div class="content">${item.organName}</div>
-                            </div>
-                            <div class="ser line-box">
-                                <div class="sub">证书编号:</div>
-                                <div class="content">${item.code}</div>
-                            </div>
-                            <div class="date line-box">
-                                <div class="sub">颁发日期:</div>
-                                <div class="content">${item.time.replaceAll("-", ".")}</div>
-                            </div>
-                        </div>
-                    </div>`
-          });
-        } else {
-          str1 = str1 + `<div class="box"></div>`
-        }
-        $('#str1Dom').append(str1)
-        $('#contentImg1').attr('src', land.url)
-        $('#farmAddress').text(farm.farmAddress)
-        // 权威检测页面遍历end       
-
-        // 种植环节遍历begin
-        var str3 = '';
-        recordVOList.forEach((item, index) => {
-          str3 = str3 + `<div class="record-box">
-                    <div class="l">
-
-                        <div class="one  line" style="${index == 0 ? 'background: transparent !important;' : ''}">
-                        </div>
-
-                        <div class="point">
-                        </div>
-
-                        <div class="two line" style="${index == recordVOList.length - 1 ? 'background: transparent !important;' : ''}">
-                        </div>
-
-                    </div>
-                    <div class="r">
-                        <div class="record-item">
-                            <div class="type">${item.typeName}</div>
-                            <div class="date-pel">
-                                <div class="date">${item.time}</div>
-                                <div class="pel">操作人:${item.realName}</div>
-                            </div>
-                        </div>
-                    </div>
-                </div>`
-        });
-        console.log(str3);
-        $('#recordBox').append(str3)
-        // 种植环节遍历end
-
-        // 监测数据更新begin
-        // 监测数据更新end
-
-        //生产企业begin
-        var str5 = ''
-        var urls = farm.picture.split(",");
-        if (urls.length > 0) {
-          urls.forEach(item => {
-            str5 = str5 + `<swiper-item>
-                                <image src="${item}" class="slide-image" />
-                            </swiper-item>`
-          })
-        }
-        $('#swImg').append(str5)
-        //生产企业end
-      })
-  })
-
-</script>
-
-</html>
diff --git a/public/traceablityInfo.html b/public/traceablityInfo.html
index 2c45870..b799edc 100644
--- a/public/traceablityInfo.html
+++ b/public/traceablityInfo.html
@@ -5,6 +5,8 @@
 <head>
   <meta charset="UTF-8">
   <meta name="divport" content="width=device-width, initial-scale=1.0">
+  <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
+  <title>查看溯源</title>
   <style>
     .top-log {
       position: relative;
@@ -222,7 +224,6 @@
 
     .model-box.cd .model-content.dk .content-body {
       height: 450px;
-      background: greenyellow;
     }
 
     .model-box.cd .model-content.jksp .content-body {
@@ -355,8 +356,13 @@
       font-size: 24px;
       color: #697580;
       white-space: nowrap;
+      padding: 0 5px;
       overflow: hidden;
-      text-overflow: ellipsis;
+    }
+
+    .equiBtnOn {
+      background-color: rgb(28, 235, 28) !important;
+      color: #fff !important;
     }
 
     .model-box.cd .model-content.jksp .content-footer .equi-btn:first-child {
@@ -607,6 +613,15 @@
       position: relative;
       overflow: hidden;
     } */
+    #video-body {
+      width: 94%;
+      padding: 0 3%;
+      height: 400px;
+    }
+
+    #video-body video {
+      object-fit: fill;
+    }
 
     #video-footer {
       width: 100%;
@@ -633,19 +648,187 @@
   </style>
   <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
   <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
-  <script src="js/flv.min.js" type="text/javascript" charset="utf-8"></script>
+  <script src="js/WebRtcPlayer.js"></script>
 </head>
-
 
 <body>
   <div class="page-main-container" style="background: #F1F9F8;width:100%;height: 100%;">
+    <!-- str0 -->
+    <!-- 顶部图片 -->
+    <div class="top-log">
+      <img width="100%" height="520px" src="https://dev.jxpskj.com:8023/zhny-web/assets/images/sym/2.png" />
+      <div class="btn-grounp">
+        <img bindtap="scrollTo" data-class=".qw" width="200px" height="100px"
+          src="https://dev.jxpskj.com:8023/zhny-web/assets/images/sy/1418.png" />
+        <img bindtap="scrollTo" data-class=".cd" width="200px" height="100px"
+          src="https://dev.jxpskj.com:8023/zhny-web/assets/images/sy/1416.png" />
+        <img bindtap="scrollTo" data-class=".zz" width="200px" height="100px"
+          src="https://dev.jxpskj.com:8023/zhny-web/assets/images/sy/1415.png" />
+        <img bindtap="scrollTo" data-class=".sc" width="200px" height="100px"
+          src="https://dev.jxpskj.com:8023/zhny-web/assets/images/sy/1414.png" />
+      </div>
+    </div>
 
-    <!-- <scroll-div scroll-top="{{scrollTop}}" refresher-enabled="{{true}}" bindrefresherrefresh="refresh" refresher-triggered="{{triggered}}" style="height: {{clientHeight}}" scroll-y bindscrolltolower="upcroll"> -->
+    <!-- 农产品信息 -->
+    <div class="main-content">
+      <div class="logo">
+        <img width="100%" height="100%" id="logoImg" />
+      </div>
+      <div class="title" id="titleName"></div>
+      <div class="type">
+        <div class="sub" id="sub1">${recovery.lx}</div>
+      </div>
+      <div class="date" id="date1"></div>
+    </div>
 
-    <!-- </scroll-div> -->
+    <!-- 权威检测 -->
+    <div class="qw model-box">
+      <div class="model-title">
+        <div class="l"></div>
+        <div class="title">权威检测</div>
+        <div class="border"></div>
+        <div class="status">
+          <div>
+            <van-icon style="margin-right: 10px;"
+              name="https://dev.jxpskj.com:8023/zhny-web/assets/images/sym/1265.png" />
+          </div>
+          可追溯
+        </div>
+      </div>
+      <div class="model-content" id="str1Dom">
+        <!-- str1 -->
+        <!-- str2 -->
+      </div>
+    </div>
 
+    <!-- 产地信息 -->
+    <div class="cd model-box">
+      <div class="model-title">
+        <div class="l"></div>
+        <div class="title">产地信息</div>
+        <div class="border"></div>
+        <div class="status">
+          <div>
+            <van-icon style="margin-right: 10px;"
+              name="https://dev.jxpskj.com:8023/zhny-web/assets/images/sym/1265.png" />
+          </div>
+          可追溯
+        </div>
+      </div>
+
+      <div class="dk model-content">
+        <div class="content-header">
+          <van-icon style="margin-right: 12px;" name="https://dev.jxpskj.com:8023/zhny-web/assets/images/sy/1267.png" />
+          种植地块
+        </div>
+        <div class="content-body">
+          <img width="94%" height="100%" style="margin-left:3%" id="contentImg1" />
+        </div>
+        <div class="content-footer">
+          <div class="l" id="farmAddress"></div>
+        </div>
+      </div>
+
+      <!-- 监控数据展示 -->
+      <div class="jksp model-content">
+        <div class="content-header">
+          <van-icon style="margin-right: 12px;" name="https://dev.jxpskj.com:8023/zhny-web/assets/images/sy/1272.png" />
+          良心生产,不怕监督,24小时视频监控
+        </div>
+        <div class="content-body">
+          <div id="video-body">
+            <video autoplay muted controls id="videoElement"
+              style="width:100%;height: 100%;">你的浏览器太老了,不支持HTML5视频。</video>
+          </div>
+        </div>
+        <div class="content-footer" id="videoFooter"></div>
+        <!-- str10 -->
+      </div>
+      <!-- 监测数据展示-->
+      <div class="jk model-content">
+        <div class="content-header">
+          物联网监控保证产地养分充足,且不被污染
+        </div>
+        <div class="content-body">
+          <div class="site-box">
+            <!-- strdetection -->
+            <div class="site-title">
+              <div class="l">
+                <select id="select" style="font-weight: bold;color: #333333;border: none;font-size: 28px;width:96%">
+                </select>
+              </div>
+            </div>
+            <div class="site-date">
+              <div class="site-date-text" id="sitedatetext">更新时间</div>
+            </div>
+            <div class="site-content" id="detectionlist">
+              <!-- str11 -->
+              <!-- </div> -->
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <!-- 种植环节 -->
+    <div class="zz model-box">
+      <div class="model-title">
+        <div class="l"></div>
+        <div class="title">种植环节</div>
+        <div class="border"></div>
+        <div class="status no"></div>
+      </div>
+      <div class="model-content">
+        <div class="msg">
+          <div class="l">
+            <img width="126px" height="126px" src="https://dev.jxpskj.com:8023/zhny-web/assets/images/sy/zz-log.png" />
+          </div>
+          <div class="r">
+            <div>
+              我是基地管理员:
+            </div>
+            <div class="r-b-msg">
+              以下农事操作,是在我的监督下完成
+            </div>
+
+            <div class="point-to"></div>
+          </div>
+        </div>
+        <!-- str3 -->
+        <div id="recordBox"></div>
+        <!-- str4 -->
+      </div>
+    </div>
+
+    <!-- 生产企业 -->
+    <div class="sc model-box">
+      <div class="model-title">
+        <div class="l"></div>
+        <div class="title">生产企业</div>
+        <div class="border"></div>
+        <div class="status no">
+        </div>
+      </div>
+      <div class="model-content">
+        <div class="content-header" id="contentHeader"></div>
+        <div class="content-body">
+          <swiper class="swiper" indicator-dots="true" autoplay="true" interval="3000" duration="1000">
+            <block class="swiper-image" id="swImg">
+              <!-- str5 -->
+              <!-- str6 -->
+            </block>
+          </swiper>
+
+        </div>
+        <div class="text-intro" id="textIntro"></div>
+        <div class="content-footer">
+        </div>
+      </div>
+    </div>
   </div>
-  <script>
+</body>
+<script>
+  $(function () {
     var getData = function (name) {
       var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
       var r = window.location.search.substr(1).match(reg);
@@ -653,72 +836,34 @@
       return null;
     };
     var code = getData("code");
+    axios.get('https://dev.jxpskj.com:8023/api/traceability/getTraceabilityDetailInfos?code=' + code).then(
+      function (res) {
+        // 初始化数据begin
+        var data = res.data.data;
+        var farm = data.farm;
+        var land = data.landVO;
+        var num = data.num;
+        var paperList = data.paperVOList;
+        var recordVOList = data.recordVOList;
+        var recovery = data.recoveryVO;
+        // 初始化数据end
 
-    // var code = "22070000001";
+        // 页面数据渲染begin
+        $('#titleName').text(recovery.strainName)
+        $('#logoImg').attr('src', recovery.url)
+        $('#sub1').text(recovery.lx)
+        $('#date1').text('采收时间:' + recovery.time.replaceAll("-", "."))
+        $('#contentHeader').text(farm.farmName)
+        $('#textIntro').text(farm.introduce)
+        // $('#slideImg').attr(item)
+        // 页面数据渲染end
 
-
-    axios.get('https://dev.jxpskj.com:8023/api/traceability/getTraceabilityDetailInfos?code=' + code).then(function (
-      res) {
-      // axios.get('http://192.168.0.114:89/traceability/getTraceabilityDetailInfo?code=' + code).then(function(res) {
-
-      var data = res.data.data;
-      var farm = data.farm;
-      var land = data.landVO;
-      var num = data.num;
-      var paperList = data.paperVOList;
-      var recordVOList = data.recordVOList;
-      var recovery = data.recoveryVO;
-      var str0 = `<div class="top-log">
-            <img width="100%" height="520px" src="http://182.106.212.58:8014/assets/images/sym/2.png" />
-            <div class="btn-grounp">
-                <img bindtap="scrollTo" data-class=".qw" width="200px" height="100px" src="http://182.106.212.58:8014/assets/images/sy/1418.png" />
-                <img bindtap="scrollTo" data-class=".cd" width="200px" height="100px" src="http://182.106.212.58:8014/assets/images/sy/1416.png" />
-                <img bindtap="scrollTo" data-class=".zz" width="200px" height="100px" src="http://182.106.212.58:8014/assets/images/sy/1415.png" />
-                <img bindtap="scrollTo" data-class=".sc" width="200px" height="100px" src="http://182.106.212.58:8014/assets/images/sy/1414.png" />
-            </div>
-        </div>
-
-        <div class="main-content">
-
-            <div class="logo">
-                <img width="100%" height="100%" src="${recovery.url}" />
-                <!-- <div class="btn">更换图片</div> -->
-            </div>
-
-            <div class="title">${recovery.strainName}</div>
-
-            <div class="type">
-                <div class="sub">${recovery.lx}</div>
-                <!-- <div class="icon">
-                <van-icon name="play" />
-              </div> -->
-            </div>
-
-            <div class="date">
-                采收时间:${recovery.time.replaceAll("-", ".")}
-            </div>
-
-        </div>
-        <div class="qw model-box">
-
-        <div class="model-title">
-            <div class="l"></div>
-            <div class="title">权威检测</div>
-            <div class="border"></div>
-            <div class="status">
-                <div>
-                    <van-icon style="margin-right: 10px;" name="http://182.106.212.58:8014/assets/images/sym/1265.png" />
-                </div>
-                可追溯
-            </div>
-        </div>
-
-        <div class="model-content">`
-      var str1 = '';
-      if (paperList.length > 0) {
-        paperList.forEach(item => {
-          var url = item.pictures.split(",")[0];
-          str1 = str1 + `<div class="box">
+        // 权威检测页面遍历begin
+        var str1 = '';
+        if (paperList.length > 0) {
+          paperList.forEach(item => {
+            var url = item.pictures.split(",")[0];
+            str1 = str1 + `<div class="box">
                         <div class="l">
                             <img width="204px" height="204px" src="${url}" />
                         </div>
@@ -740,226 +885,16 @@
                             </div>
                         </div>
                     </div>`
-        });
-      } else {
-        str1 = str1 + `<div class="box"></div>`
-      }
-
-
-      var str2 = `
-            </div>
-        </div>
-
-        <div class="cd model-box">
-            <div class="model-title">
-                <div class="l"></div>f
-                <div class="title">产地信息</div>
-                <div class="border"></div>
-                <div class="status">
-                    <div>
-                        <van-icon style="margin-right: 10px;" name="http://182.106.212.58:8014/assets/images/sym/1265.png" />
-                    </div>
-                    可追溯
-                </div>
-            </div>
-
-            <div class="dk model-content">
-                <div class="content-header">
-                    <van-icon style="margin-right: 12px;" name="http://182.106.212.58:8014/assets/images/sy/1267.png" /> 种植地块
-                </div>
-                <div class="content-body">
-                    <image style="width: 100%;height:100%" src="${land.url}" />
-                </div>
-                <div class="content-footer">
-                    <div class="l">
-                        ${farm.farmAddress}
-                    </div>
-                    <!-- <div class="r">
-                  <van-icon name="star" />
-                  导航
-                </div> -->
-                </div>
-            </div>
-
-            <div class="jksp model-content">
-                <div class="content-header">
-                    <van-icon style="margin-right: 12px;" name="http://182.106.212.58:8014/assets/images/sy/1272.png" /> 良心生产,不怕监督,24小时视频监控
-                </div>`
-
-      var dom = $('.page-main-container');
-      dom.empty();
-      dom.append(str0 + str1 + str2);
-
-      //请求检测数据
-      axios.get(
-        'http://dev.jxpskj.com:8030/pyh-station/stationAndVideo/queryStationAndVideoInfoData?type=All&landId=' +
-        recovery.landId).then(function (res) {
-        var staList = res.data.data.staList;
-        var vidList = res.data.data.vidList;
-
-        window.detectionList = staList;
-        window.videoList = vidList;
-
-
-
-
-
-
-        //监控
-        var strvedio = '';
-        // vidList.push({
-        //   name:"1号摄像头"
-        // })
-        // vidList.push({
-        //   name:"2号摄像头"
-        // })
-        if (vidList.length > 0) {
-          //读取第一个视频 url
-          strvedio = strvedio + `<div class="content-body">
-                  <div id="video-body">
-                    <video controls id="video-element" autoplay muted>你的浏览器太老了,不支持HTML5视频。</video>
-                  </div>
-                </div><div class="content-footer">`
-          //遍历监控点
-          vidList.forEach((item, index) => {
-            strvedio = strvedio + `<div class="equi-btn on">
-                        ${item.name}
-                    </div>`
-            if (index >= 1) {
-              // equibtn.style.color = "#fff";
-            }
-          })
+          });
         } else {
-          strvedio = strvedio + `<div class="content-body">
-                </div><div class="content-footer">`
+          str1 = str1 + `<div class="box"></div>`
         }
+        $('#str1Dom').append(str1)
+        $('#contentImg1').attr('src', land.url)
+        $('#farmAddress').text(farm.farmAddress)
+        // 权威检测页面遍历end       
 
-        var str10 =
-          `</div>
-              </div>
-            <div class="jk model-content">
-                <div class="content-header">
-                    物联网监控保证产地养分充足,且不被污染
-                </div>
-                <div class="content-body">
-                    <div class="site-box">`
-
-        var strdetection = '';
-
-        if (staList.length > 0) {
-          var sta = staList[0];
-          var timeStr = '';
-          var time = sta.weatherTime;
-          //当前时间
-          var date = new Date();
-          //计算时间差
-          var crud = date.getTime() - new Date(time).getTime();
-          //计算出相差天数
-          var days = Math.floor(crud / (24 * 3600 * 1000))
-          timeStr = days + "天";
-
-          if (days == 0) {
-            //计算出小时数
-            var leave1 = crud % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
-            var hours = Math.floor(leave1 / (3600 * 1000))
-            timeStr = hours + "小时";
-
-            if (hours == 0) {
-              //计算相差分钟数
-              var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
-              var minutes = Math.floor(leave2 / (60 * 1000))
-              timeStr = minutes + "分钟";
-
-              if (minutes == 0) {
-                //计算相差秒数
-                var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
-                var seconds = Math.round(leave3 / 1000)
-                timeStr = seconds + "秒";
-              }
-            }
-          }
-
-          //读取第一个检测设备
-          strdetection = strdetection +
-            `<div class="site-title">
-                            <div class="l">
-                              <select id="select" style="font-weight: bold;color: #333333;border: none;font-size: 28px;width:96%">`
-
-
-
-          staList.forEach(item => {
-            strdetection = strdetection + `<option>${item.name}</option>`
-          })
-
-          strdetection = strdetection + `</select>
-                            </div>
-                        </div>
-                        <div class="site-date">
-                            <div class="site-date-text" id="sitedatetext">
-                              ${timeStr}前更新</div>
-                        </div>
-                        <div class="site-content" id="detectionlist">`
-          //遍历检测信息
-          var weatherList = staList[0].weatherList;
-          if (weatherList.length > 0) {
-            weatherList.forEach(item => {
-              if (item.name != '监测时间') {
-                strdetection = strdetection + `<div class="list">
-                                  <div class="l">
-                                      <div class="type">${item.name}</div>
-                                      <div class="unit">
-                                          单位:${item.unit}
-                                      </div>
-                                  </div>
-                                  <div class="r">
-                                    ${item.value}
-                                  </div>
-                              </div>`
-              }
-            })
-          }
-        } else {
-          strdetection = strdetection + `
-                        <div class="site-content">`
-        }
-
-        var str11 = `</div>
-                    </div>
-                </div>
-            </div>
-        </div>
-
-        <div class="zz model-box">
-            <div class="model-title">
-                <div class="l"></div>
-                <div class="title">种植环节</div>
-                <div class="border"></div>
-                <div class="status no">
-                    <!-- 去完善 -->
-                    <!-- <div>
-                  <van-icon style="margin-left: 10px;" color="#EC9144" name="arrow" />
-                </div> -->
-                </div>
-            </div>
-
-            <div class="model-content">
-
-                <div class="msg">
-                    <div class="l">
-                        <img width="126px" height="126px" src="http://182.106.212.58:8014/assets/images/sy/zz-log.png" />
-                    </div>
-                    <div class="r">
-                        <div>
-                            我是基地管理员:
-                        </div>
-                        <div class="r-b-msg">
-                            以下农事操作,是在我的监督下完成
-                        </div>
-
-                        <div class="point-to"></div>
-                    </div>
-                </div>`
-
+        // 种植环节遍历begin
         var str3 = '';
         recordVOList.forEach((item, index) => {
           str3 = str3 + `<div class="record-box">
@@ -986,31 +921,11 @@
                     </div>
                 </div>`
         });
+        $('#recordBox').append(str3)
+        // 种植环节遍历end
 
-        var str4 = `</div>
-        </div>
-
-        <div class="sc model-box">
-            <div class="model-title">
-                <div class="l"></div>
-                <div class="title">生产企业</div>
-                <div class="border"></div>
-                <div class="status no">
-                    <!-- 去完善
-                <div>
-                  <van-icon style="margin-left: 10px;" color="#EC9144" name="arrow" />
-                </div> -->
-                </div>
-            </div>
-
-            <div class="model-content">
-                <div class="content-header">
-                    ${farm.farmName}
-                </div>
-                <div class="content-body">
-                    <swiper class="swiper" indicator-dots="true" autoplay="true" interval="3000" duration="1000">
-                        <block class="swiper-image">`
-        var str5 = '';
+        //生产企业begin
+        var str5 = ''
         var urls = farm.picture.split(",");
         if (urls.length > 0) {
           urls.forEach(item => {
@@ -1019,102 +934,122 @@
                             </swiper-item>`
           })
         }
-        var str6 = `</block></swiper>
+        $('#swImg').append(str5)
+        //生产企业end
 
-                </div>
-                <div class="text-intro">
-                    ${farm.introduce}
-                </div>
-                <div class="content-footer">
-                </div>
-            </div>
-        </div>`
-
-        // <div class="btn-grounp">
-        //     <div class="l">
-        //         <div class="plan">
-        //             ${num} %
-        //         </div>
-        //         <div class="text">
-        //             溯源完整度
-        //         </div>
-        //     </div>
-        //     <div class="r">
-        //         <van-button bind:click="editTracability" round custom-style="margin-right: 40px; width: 200px; height: 72px; border: 2px solid #5ABF78; background: #fff; color: #5ABF78; font-size: 30px;">编辑溯源</van-button>
-
-        //         <van-button bind:click="submit" round custom-style="width: 200px; height: 72px; border: none; background: #5ABF78; color: #fff; font-size: 30px;">分享</van-button>
-        //     </div>
-        // </div>
-
-        // var dom = $('.page-main-container');
-        dom.empty();
-        dom.append(str0 + str1 + str2 + strvedio + str10 + strdetection + str11 + str3 + str4 + str5 + str6);
-
-        var videoBody = document.getElementById('video-body'),
-          videoElement = document.getElementById('video-element');
-
-        var slide = false,
-          soundWidth = 0;
-        var flvPlayer = null;
-        //初始化视频配置
-        if (flvjs.isSupported()) {
-          flvPlayer = flvjs.createPlayer({
-            type: 'flv',
-            url: window.videoList[0].wssFlv,
-            hasAudio: false
-          });
-
-
-          flvPlayer.attachMediaElement(videoElement);
-          flvPlayer.load();
-        }
-
-        videoElement.style.width = "100%";
-        videoElement.style.height = "385px";
-        videoElement.style.objectFit = "fill";
-
-        //切换视频
-        $('.jksp .content-footer .equi-btn').click(function () {
-          var ind = $(this).index()
-          window.videoList.some((item, index) => {
-            console.log('1112', item, index);
-            if (ind == index) {
-              //暂停播放数据流
-              flvPlayer.pause();
-              //取消数据流加载
-              flvPlayer.unload();
-              //将播放实例从节点中取出
-              flvPlayer.detachMediaElement();
-              //销毁播放实例
-              flvPlayer.destroy();
-              //重新创建流实例
-              flvPlayer = flvjs.createPlayer({
-                type: 'flv',
-                url: window.videoList[index].wssFlv,
-                hasAudio: false
-              });
-
-              flvPlayer.attachMediaElement(videoElement);
-              flvPlayer.load();
-            }
+        // 监控/监测数据begin
+        axios.get(
+          'https://dev.jxpskj.com:8023/pyh-station/stationAndVideo/queryStationAndVideoInfoData?type=All&landId=' +
+          recovery.landId).then(function (res) {
+          var staList = res.data.data.staList;
+          var vidList = res.data.data.vidList;
+          window.detectionList = staList;
+          window.videoList = vidList;
+          //监控展示
+          var ele = document.getElementById("videoElement");
+          var player = new WebRtcPlayer(ele);
+          var videoUrl = vidList[0].webRtc
+          player.Open(videoUrl)
+          //监控列表
+          var jkBtn = ''
+          vidList.forEach((item, index) => {
+            jkBtn = jkBtn + `<div class="equi-btn">${item.name}</div>`
           })
-        })
+          $('#videoFooter').append(jkBtn)
+          $('.equi-btn')[0].classList.add('equiBtnOn')
 
-        //检测点下拉切换事件
-        $('#select').change(function () {
-          var bind = $(this).val()
-          window.detectionList.some((e, index) => {
-            if (bind == e.name) {
-              var detectionlist = document.getElementById("detectionlist");
-              //先清空
-              detectionlist.innerHTML = "";
-              //再追加
-              var weatherList = e.weatherList;
-              var strdetection = "";
-              if (weatherList.length > 0) {
-                weatherList.forEach(item => {
-                  if (item.name != '监测时间') {
-                    strdetection = strdetection + `<div class="list">
+          //切换视频
+          $('.jksp .content-footer .equi-btn').click(function () {
+            for (var i = 0; i < $('.equi-btn').length; i++) {
+              $('.equi-btn')[i].classList.remove('equiBtnOn')
+            }
+            $(this)[0].classList.add('equiBtnOn')
+            var btnText = $(this)[0].innerText
+            vidList.forEach((item, index) => {
+              if (item.name == btnText) {
+                var newVideoUrl = item.webRtc
+                player.Open(newVideoUrl)
+              }
+            })
+          })
+          //监测点
+          var jcList = ''
+          staList.forEach(item => {
+            jcList = jcList + `<option>${item.name}</option>`
+          })
+          $('#select').append(jcList)
+          //更新时间
+          var timeStr = ''
+          if (staList.length > 0) {
+            var sta = staList[0];
+            var time = sta.weatherTime;
+            //当前时间
+            var date = new Date();
+            //计算时间差
+            var crud = date.getTime() - new Date(time).getTime();
+            //计算出相差天数
+            var days = Math.floor(crud / (24 * 3600 * 1000))
+            timeStr = days + "天";
+
+            if (days == 0) {
+              //计算出小时数
+              var leave1 = crud % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
+              var hours = Math.floor(leave1 / (3600 * 1000))
+              timeStr = hours + "小时";
+
+              if (hours == 0) {
+                //计算相差分钟数
+                var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
+                var minutes = Math.floor(leave2 / (60 * 1000))
+                timeStr = minutes + "分钟";
+
+                if (minutes == 0) {
+                  //计算相差秒数
+                  var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
+                  var seconds = Math.round(leave3 / 1000)
+                  timeStr = seconds + "秒";
+                }
+              }
+            }
+            timeStr = timeStr + '前更新'
+          }
+          $('#sitedatetext').text(timeStr)
+          //监测数据展示
+          var jcStr = ''
+          var weatherList = staList[0].weatherList;
+          if (weatherList.length > 0) {
+            weatherList.forEach(item => {
+              if (item.name != '监测时间') {
+                jcStr = jcStr + `<div class="list">
+                                  <div class="l">
+                                      <div class="type">${item.name}</div>
+                                      <div class="unit">
+                                          单位:${item.unit}
+                                      </div>
+                                  </div>
+                                  <div class="r">
+                                    ${item.value}
+                                  </div>
+                              </div>`
+              }
+            })
+          }
+          $('#detectionlist').append(jcStr)
+          //检测点下拉切换事件
+          $('#select').change(function () {
+            var bind = $(this).val()
+            window.detectionList.some((e, index) => {
+              if (bind == e.name) {
+                var detectionlist = document.getElementById("detectionlist");
+                //先清空
+                detectionlist.innerHTML = "";
+                //再追加
+                var weatherList = e.weatherList;
+                var strdetection = "";
+                if (weatherList.length > 0) {
+                  weatherList.forEach(item => {
+                    if (item.name != '监测时间') {
+                      strdetection = strdetection + `<div class="list">
                                       <div class="l">
                                           <div class="type">${item.name}</div>
                                           <div class="unit">
@@ -1125,59 +1060,62 @@
                                         ${item.value}
                                       </div>
                                   </div>`
-                  }
-                })
-              }
-              detectionlist.innerHTML = strdetection;
+                    }
+                  })
+                }
+                detectionlist.innerHTML = strdetection;
 
-              //更新时间替换
-              var sitedatetext = document.getElementById("sitedatetext");
-              //先清空
-              sitedatetext.innerHTML = "";
-              var timeStr = '';
-              var time = e.weatherTime;
-              //当前时间
-              var date = new Date();
-              //计算时间差
-              var crud = date.getTime() - new Date(time).getTime();
-              //计算出相差天数
-              var days = Math.floor(crud / (24 * 3600 * 1000))
-              timeStr = days + "天";
+                //更新时间替换
+                var sitedatetext = document.getElementById("sitedatetext");
+                //先清空
+                sitedatetext.innerHTML = "";
+                var timeStr = '';
+                var time = e.weatherTime;
+                //当前时间
+                var date = new Date();
+                //计算时间差
+                var crud = date.getTime() - new Date(time).getTime();
+                //计算出相差天数
+                var days = Math.floor(crud / (24 * 3600 * 1000))
+                timeStr = days + "天";
 
-              if (days == 0) {
-                //计算出小时数
-                var leave1 = crud % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
-                var hours = Math.floor(leave1 / (3600 * 1000))
-                timeStr = hours + "小时";
+                if (days == 0) {
+                  //计算出小时数
+                  var leave1 = crud % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
+                  var hours = Math.floor(leave1 / (3600 * 1000))
+                  timeStr = hours + "小时";
 
-                if (hours == 0) {
-                  //计算相差分钟数
-                  var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
-                  var minutes = Math.floor(leave2 / (60 * 1000))
-                  timeStr = minutes + "分钟";
+                  if (hours == 0) {
+                    //计算相差分钟数
+                    var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
+                    var minutes = Math.floor(leave2 / (60 * 1000))
+                    timeStr = minutes + "分钟";
 
-                  if (minutes == 0) {
-                    //计算相差秒数
-                    var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
-                    var seconds = Math.round(leave3 / 1000)
-                    timeStr = seconds + "秒";
+                    if (minutes == 0) {
+                      //计算相差秒数
+                      var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
+                      var seconds = Math.round(leave3 / 1000)
+                      timeStr = seconds + "秒";
+                    }
                   }
                 }
-              }
-              //填充时间参数
-              sitedatetext.innerHTML = `<div class="site-date-text" id="sitedatetext">
+                //填充时间参数
+                if (time != null) {
+                  sitedatetext.innerHTML = `<div class="site-date-text" id="sitedatetext">
                                 ${timeStr}前更新</div>`;
-            }
+                } else {
+                  sitedatetext.innerHTML = '暂无数据'
+                }
+
+              }
+            })
           })
+
         })
-      });
-    });
+        // 监控/监测数据end
+      })
+  })
 
-  </script>
-
-  <script>
-
-  </script>
-</body>
+</script>
 
 </html>
diff --git a/src/views/land/landAdd.vue b/src/views/land/landAdd.vue
index 6664737..ea3c364 100644
--- a/src/views/land/landAdd.vue
+++ b/src/views/land/landAdd.vue
@@ -1,343 +1,343 @@
 <template>
-  <el-dialog
-    :title="title"
-    :modal-append-to-body="false"
-    :append-to-body="true"
-    :close-on-click-modal="false"
-    width="80%"
-    :visible.sync="visible"
-    top="10vh"
-  >
-    <avue-form ref="form" v-model="form" :option="option" @submit="submit">
-      <!-- 地图插入 -->
-      <template slot-scope="{ type, disabled }" slot="line">
-        <!-- <getMapDataInThere ref="getMapData" id="getMapData" @setMapData="setMapData"></getMapDataInThere> -->
-      </template>
-    </avue-form>
-    <div class="map">
-      <iframe :src="url" frameborder="0" width="100%" height="100%"></iframe>
-    </div>
-  </el-dialog>
+    <el-dialog
+        :title="title"
+        :modal-append-to-body="false"
+        :append-to-body="true"
+        :close-on-click-modal="false"
+        width="80%"
+        :visible.sync="visible"
+        top="10vh"
+    >
+        <avue-form ref="form" v-model="form" :option="option" @submit="submit">
+            <!-- 地图插入 -->
+            <template slot-scope="{ type, disabled }" slot="line">
+                <!-- <getMapDataInThere ref="getMapData" id="getMapData" @setMapData="setMapData"></getMapDataInThere> -->
+            </template>
+        </avue-form>
+        <div class="map">
+            <iframe :src="url" frameborder="0" width="100%" height="100%"></iframe>
+        </div>
+    </el-dialog>
 </template>
 
 <script>
-import { mapGetters } from "vuex";
-import { getFarmList,getDetail } from "@/api/farm/farm";
-import { getDeptTree } from "@/api/system/dept";
-import { add } from "@/api/land/land";
-import website from "@/config/website";
-import domtoimage from "dom-to-image";
-import h2 from "html2canvas";
-import getMapDataInThere from "./getMapDataInThere.vue";
-import { number } from "echarts";
+import { mapGetters } from "vuex"
+import { getFarmList, getDetail } from "@/api/farm/farm"
+import { getDeptTree } from "@/api/system/dept"
+import { add } from "@/api/land/land"
+import website from "@/config/website"
+import domtoimage from "dom-to-image"
+// import h2 from "html2canvas";
+import getMapDataInThere from "./getMapDataInThere.vue"
+import { number } from "echarts"
 // import canvas2Image from 'canvas2Image'
 
 export default {
-  components: {
-    getMapDataInThere,
-  },
-  data() {
-    return {
-      title: "新增地块",
-      form: {},
-      option: {
-        emptyBtn: false,
-        submitText: "保存",
-        submitBtn: false,
-        gutter: 30,
-        column: [
-          {
-            label: "地块名称",
-            prop: "landName",
-            rules: [
-              {
-                required: true,
-                message: "请输入地块名称",
-                trigger: "blur",
-              },
-            ],
-          },
-          {
-            label: "所属农场",
-            prop: "farmId",
-            type: "tree",
-            value: "",
-            dicData: [],
-            props: {
-              label: "farmName",
-              value: "id",
+    components: {
+        getMapDataInThere,
+    },
+    data () {
+        return {
+            title: "新增地块",
+            form: {},
+            option: {
+                emptyBtn: false,
+                submitText: "保存",
+                submitBtn: false,
+                gutter: 30,
+                column: [
+                    {
+                        label: "地块名称",
+                        prop: "landName",
+                        rules: [
+                            {
+                                required: true,
+                                message: "请输入地块名称",
+                                trigger: "blur",
+                            },
+                        ],
+                    },
+                    {
+                        label: "所属农场",
+                        prop: "farmId",
+                        type: "tree",
+                        value: "",
+                        dicData: [],
+                        props: {
+                            label: "farmName",
+                            value: "id",
+                        },
+                        disabled: true,
+                        slot: true,
+                        rules: [
+                            {
+                                required: true,
+                                message: "请选择所属农场",
+                                trigger: "click",
+                            },
+                        ],
+                    },
+                    {
+                        label: "地块类型",
+                        type: "select",
+                        prop: "landType",
+                        dicUrl: "/api/blade-system/dict-biz/dictionary?code=land",
+                        props: {
+                            label: "dictValue",
+                            value: "dictKey",
+                        },
+                        dataType: "number",
+                        rules: [
+                            {
+                                required: true,
+                                message: "请选择地块类型",
+                                trigger: "blur",
+                            },
+                        ],
+                    },
+                    {
+                        label: "面积",
+                        prop: "landArea",
+                        rules: [
+                            {
+                                required: true,
+                                message: "请输入面积",
+                                trigger: "click",
+                            },
+                        ],
+                        span: 6,
+                        type: "number",
+                        controls: false,
+                    },
+                    {
+                        label: "面积单位",
+                        prop: "landUnit",
+                        value: "0",
+                        type: "select",
+                        dicUrl: "/api/blade-system/dict-biz/dictionary?code=landunit",
+                        props: {
+                            label: "dictValue",
+                            value: "dictKey",
+                        },
+                        rules: [
+                            {
+                                required: true,
+                                message: "请选择面积单位",
+                                trigger: "click",
+                            },
+                        ],
+                        dataType: "number",
+                        span: 6,
+                    },
+                    // {
+                    //     label: "地块展示",
+                    //     labelWidth: "0",
+                    //     prop: "line",
+                    //     className: "mapClass",
+                    //     span: 24,
+                    //     formslot: true,
+                    // }
+                ],
             },
-            disabled: true,
-            slot: true,
-            rules: [
-              {
-                required: true,
-                message: "请选择所属农场",
-                trigger: "click",
-              },
-            ],
-          },
-          {
-            label: "地块类型",
-            type: "select",
-            prop: "landType",
-            dicUrl: "/api/blade-system/dict-biz/dictionary?code=land",
-            props: {
-              label: "dictValue",
-              value: "dictKey",
-            },
-            dataType: "number",
-            rules: [
-              {
-                required: true,
-                message: "请选择地块类型",
-                trigger: "blur",
-              },
-            ],
-          },
-          {
-            label: "面积",
-            prop: "landArea",
-            rules: [
-              {
-                required: true,
-                message: "请输入面积",
-                trigger: "click",
-              },
-            ],
-            span: 6,
-            type: "number",
-            controls: false,
-          },
-          {
-            label: "面积单位",
-            prop: "landUnit",
-            value: "0",
-            type: "select",
-            dicUrl: "/api/blade-system/dict-biz/dictionary?code=landunit",
-            props: {
-              label: "dictValue",
-              value: "dictKey",
-            },
-            rules: [
-              {
-                required: true,
-                message: "请选择面积单位",
-                trigger: "click",
-              },
-            ],
-            dataType: "number",
-            span: 6,
-          },
-          // {
-          //     label: "地块展示",
-          //     labelWidth: "0",
-          //     prop: "line",
-          //     className: "mapClass",
-          //     span: 24,
-          //     formslot: true,
-          // }
-        ],
-      },
-      url: "",
-      landUrl: "",
-      polygon: [],
-      area: "",
-      farmInfo:{},
-      visible: false,
-    };
-  },
-  created() {
-    
-  },
-  computed: {
-    ...mapGetters([
-      "userInfo",
-      "permission",
-      "polygons",
-      "$farmId",
-      "drawMapUrlBase",
-    ]),
-  },
-  watch: {
-    landUrl: {
-      handler(newVal, oldVal) {
-        if (newVal) {
-          this.$refs.form.submit();
+            url: "",
+            landUrl: "",
+            polygon: [],
+            area: "",
+            farmInfo: {},
+            visible: false,
         }
-      },
     },
-    "form.landName": {
-      handler(newVal, oldVal) {
-        this.landUrl = "";
-      },
-    },
-    "form.landType": {
-      handler(newVal, oldVal) {
-        this.landUrl = "";
-      },
-    },
-    "form.landArea": {
-      handler(newVal, oldVal) {
-        this.landUrl = "";
-      },
-    },
-    "form.landUnit": {
-      handler(newVal, oldVal) {
-        this.landUrl = "";
-      },
-    },
-  },
-  mounted() {
-    this.initData(this.userInfo.tenant_id);
-    window.addEventListener("message", this.handleMessage);
-  },
-  methods: {
-    handleMessage(event) {
-      if (Number.isFinite(event.data)) {
-        this.form.landArea = (event.data * 0.0015).toFixed(2);
-      }
-
-      if (Object.prototype.toString.call(event.data) === "[object Object]") {
-        var obj = event.data;
-        this.polygon = obj.polygons;
-        this.landUrl = obj.url;
-      }
-    },
-    initData(tenantId) {
-      getFarmList().then((res) => {
-        const column = this.findObject(this.option.column, "farmId");
-        column.dicData = res.data.data;
-      });
-    },
-    //初始化
-    init() {
-      //清空面的数据
-      this.$store.commit("clear_polygon");
-      this.form.landArea = 0
-      this.visible = true;
-      this.form.farmId = this.$farmId;
-
-        getDetail(this.form.farmId).then(res=>{
-            this.farmInfo = res.data.data
-            this.url = this.drawMapUrlBase + "/base?type=1&lng=112&lat=24&status=manage&longitude="+this.farmInfo.longitude+"&latitude="+this.farmInfo.latitude;
-
-        })
-
-
+    created () {
 
     },
-    // 表单提交
-    submit(row, done) {
-      row["deptId"] = this.userInfo.dept_id;
-      // row.farmId = this.farm.id
-
-      var that = this;
-      var poly = [];
-      if (this.polygon.length != 0) {
-        this.polygon.forEach((e) => {
-          poly.push({
-            lng: e[0],
-            lat: e[1],
-          });
-        });
-        this.polygon = poly;
-      }
-
-      if (this.polygon.length == 0) {
-        //没有面的数据
-        // this.$refs.getMapData.isCheck = true
-        // loading()
-      } else {
-        //如果有值,空间坐标转换
-        let pol = this.polygon;
-        let polLength = this.polygon.length - 1;
-        let usePolygons = "";
-        for (let k in pol) {
-          usePolygons += pol[k].lng + "," + pol[k].lat;
-          if (k != polLength) {
-            usePolygons += ";";
-          }
-        }
-        //设置坐标点
-        row.userId = this.userInfo.user_id;
-        row.landRange = usePolygons;
-      }
-
-      // if (this.polygons.length == 0) {
-      //     //没有面的数据
-      //     // this.$refs.getMapData.isCheck = true
-      //     // loading()
-      // } else {
-      //     //如果有值,空间坐标转换
-      //     let pol = this.polygons
-      //     let polLength = this.polygons.length - 1
-      //     let usePolygons = ""
-      //     for (let k in pol) {
-      //         usePolygons += pol[k].lng + "," + pol[k].lat
-      //         if (k != polLength) {
-      //             usePolygons += ";"
-      //         }
-      //     }
-      //     //设置坐标点
-      //     row.userId = this.userInfo.user_id
-      //     row.landRange = usePolygons
-      //     console.log(row.landRange)
-      // }
-
-      row["url"] = this.landUrl;
-      // row['landArea'] = this.area
-
-      if (row.landArea < 0) {
-        this.$message.warning("地块面积不能为负数");
-        done();
-        return;
-      }
-
-      add(row).then(
-        () => {
-          that.$emit("refreshOnLoad");
-          that.$refs.form.resetFields();
-          that.form.landUnit = "0";
-          that.visible = false;
-          this.$message({
-            type: "success",
-            message: "操作成功!",
-          });
-          done();
+    computed: {
+        ...mapGetters([
+            "userInfo",
+            "permission",
+            "polygons",
+            "$farmId",
+            "drawMapUrlBase",
+        ]),
+    },
+    watch: {
+        landUrl: {
+            handler (newVal, oldVal) {
+                if (newVal) {
+                    this.$refs.form.submit()
+                }
+            },
         },
-        (error) => {
-          // loading()
-          window.console.log(error);
-        }
-      );
+        "form.landName": {
+            handler (newVal, oldVal) {
+                this.landUrl = ""
+            },
+        },
+        "form.landType": {
+            handler (newVal, oldVal) {
+                this.landUrl = ""
+            },
+        },
+        "form.landArea": {
+            handler (newVal, oldVal) {
+                this.landUrl = ""
+            },
+        },
+        "form.landUnit": {
+            handler (newVal, oldVal) {
+                this.landUrl = ""
+            },
+        },
     },
+    mounted () {
+        this.initData(this.userInfo.tenant_id)
+        window.addEventListener("message", this.handleMessage)
+    },
+    methods: {
+        handleMessage (event) {
+            if (Number.isFinite(event.data)) {
+                this.form.landArea = (event.data * 0.0015).toFixed(2)
+            }
 
-    setMapData(val) {
-      this.LineData = val[0];
-      this.PointData = val[1];
-    },
+            if (Object.prototype.toString.call(event.data) === "[object Object]") {
+                var obj = event.data
+                this.polygon = obj.polygons
+                this.landUrl = obj.url
+            }
+        },
+        initData (tenantId) {
+            getFarmList().then((res) => {
+                const column = this.findObject(this.option.column, "farmId")
+                column.dicData = res.data.data
+            })
+        },
+        //初始化
+        init () {
+            //清空面的数据
+            this.$store.commit("clear_polygon")
+            this.form.landArea = 0
+            this.visible = true
+            this.form.farmId = this.$farmId
 
-    showMap() {
-      this.mapVisible = true;
+            getDetail(this.form.farmId).then(res => {
+                this.farmInfo = res.data.data
+                this.url = this.drawMapUrlBase + "/base?type=1&lng=112&lat=24&status=manage&longitude=" + this.farmInfo.longitude + "&latitude=" + this.farmInfo.latitude
+
+            })
+
+
+
+        },
+        // 表单提交
+        submit (row, done) {
+            row["deptId"] = this.userInfo.dept_id
+            // row.farmId = this.farm.id
+
+            var that = this
+            var poly = []
+            if (this.polygon.length != 0) {
+                this.polygon.forEach((e) => {
+                    poly.push({
+                        lng: e[0],
+                        lat: e[1],
+                    })
+                })
+                this.polygon = poly
+            }
+
+            if (this.polygon.length == 0) {
+                //没有面的数据
+                // this.$refs.getMapData.isCheck = true
+                // loading()
+            } else {
+                //如果有值,空间坐标转换
+                let pol = this.polygon
+                let polLength = this.polygon.length - 1
+                let usePolygons = ""
+                for (let k in pol) {
+                    usePolygons += pol[k].lng + "," + pol[k].lat
+                    if (k != polLength) {
+                        usePolygons += ";"
+                    }
+                }
+                //设置坐标点
+                row.userId = this.userInfo.user_id
+                row.landRange = usePolygons
+            }
+
+            // if (this.polygons.length == 0) {
+            //     //没有面的数据
+            //     // this.$refs.getMapData.isCheck = true
+            //     // loading()
+            // } else {
+            //     //如果有值,空间坐标转换
+            //     let pol = this.polygons
+            //     let polLength = this.polygons.length - 1
+            //     let usePolygons = ""
+            //     for (let k in pol) {
+            //         usePolygons += pol[k].lng + "," + pol[k].lat
+            //         if (k != polLength) {
+            //             usePolygons += ";"
+            //         }
+            //     }
+            //     //设置坐标点
+            //     row.userId = this.userInfo.user_id
+            //     row.landRange = usePolygons
+            //     console.log(row.landRange)
+            // }
+
+            row["url"] = this.landUrl
+            // row['landArea'] = this.area
+
+            if (row.landArea < 0) {
+                this.$message.warning("地块面积不能为负数")
+                done()
+                return
+            }
+
+            add(row).then(
+                () => {
+                    that.$emit("refreshOnLoad")
+                    that.$refs.form.resetFields()
+                    that.form.landUnit = "0"
+                    that.visible = false
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!",
+                    })
+                    done()
+                },
+                (error) => {
+                    // loading()
+                    window.console.log(error)
+                }
+            )
+        },
+
+        setMapData (val) {
+            this.LineData = val[0]
+            this.PointData = val[1]
+        },
+
+        showMap () {
+            this.mapVisible = true
+        },
     },
-  },
 };
 </script>
 <style lang="scss" scoped>
 .mapClass div label {
-  display: none;
+    display: none;
 }
 
 #getMapData {
-  width: 90%;
-  position: relative;
-  height: 400px;
-  top: 10px;
-  left: 90px;
+    width: 90%;
+    position: relative;
+    height: 400px;
+    top: 10px;
+    left: 90px;
 }
 
 .map {
-  height: 450px;
+    height: 450px;
 }
 </style>
diff --git a/vue.config.js b/vue.config.js
index d37c94c..e752b80 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -45,9 +45,9 @@
         proxy: {
             '/api': {
                 //本地服务接口地址
-                target: 'http://192.168.0.207:89',
+                // target: 'http://192.168.0.207:89',
                 //远程演示服务地址,可用于直接启动项目
-                // target: 'http://182.106.212.58:8013/api',
+                target: 'http://182.106.212.58:8020/api',
                 ws: true,
                 pathRewrite: {
                     '^/api': '/'

--
Gitblit v1.9.3