From 3b9477e4179ac9fca90a1abeb2cf544155d832bc Mon Sep 17 00:00:00 2001
From: heyujie <516346543@qq.com>
Date: 星期五, 20 八月 2021 14:27:54 +0800
Subject: [PATCH] 长春跟踪app

---
 src/pages/desktop/index/components/Desktop.vue |  292 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 283 insertions(+), 9 deletions(-)

diff --git a/src/pages/desktop/index/components/Desktop.vue b/src/pages/desktop/index/components/Desktop.vue
index 673329c..ef4586e 100644
--- a/src/pages/desktop/index/components/Desktop.vue
+++ b/src/pages/desktop/index/components/Desktop.vue
@@ -1,25 +1,299 @@
 <template>
   <div class="desktop">
-    <d-frame v-for="item in this.$store.state.desktop.frames" :data="item" :key="item.id"></d-frame>
-    <safari :data="$store.state.desktop.safari" v-if="$store.state.desktop.safari.active"></safari>
+    <d-frame
+      v-for="item in this.$store.state.desktop.frames"
+      :data="item"
+      :key="item.id"
+    ></d-frame>
+    <safari
+      :data="$store.state.desktop.safari"
+      v-if="$store.state.desktop.safari.active"
+    ></safari>
+
+    <div class="warn-tag" v-if="showFreeVersion">
+      <span class="text"
+        >璇曠敤鐗堝皻鏈縺娲伙紝浠呮敮鎸侀儴鍒嗗姛鑳戒娇鐢紝濡傞渶浣跨敤鍏ㄩ儴鍔熻兘锛岃灏藉揩婵�娲荤郴缁熴��</span
+      >
+      <span class="go-to" @click="gotoActive">鍓嶅線婵�娲�</span>
+      <span class="icon iconfont" @click="showFreeVersion = false"
+        >&#xe61b;</span
+      >
+    </div>
+
+    <el-dialog title="婵�娲籗martAI" :visible.sync="dialogVisible" width="40%">
+      <div class="ver"><span class="ver-text">鐗堟湰锛�</span>{{ version }}</div>
+      <div class="ver">
+        <span class="ver-text">鐘舵�侊細</span>{{ versionState }}
+      </div>
+      <el-divider></el-divider>
+      <div class="info">
+        濡傛灉杩樻病鏈変骇鍝佸瘑閽ワ紝浣犲彲浠ヤ娇鐢ㄦ墜鏈烘壂鐮佹垨鍓嶅線姝ら摼鎺�
+        <a href="http://os.smartai.com:7004" target="_blank"
+          >http://os.smartai.com:7004</a
+        >
+        璐拱銆�
+      </div>
+
+      <!-- <img class="qr-code-img" src="/images/desktop/weather.png" /> -->
+      <!-- <img class="qr-code-img" src="http://192.168.8.10:7009/version/offline/qrcode" /> -->
+      <img
+        class="qr-code-img"
+        src="http://192.168.20.189:7009/version/offline/qrcode"
+      />
+
+      <el-divider></el-divider>
+
+      <div class="ask">
+        濡傛灉浣犲叿鏈塖martAI鎻愪緵鐨勪骇鍝佸瘑閽ワ紝璇峰湪姝ゅ杈撳叆婵�娲籗martAI銆�
+      </div>
+
+      <div class="validate">
+        <form id="myForm">
+          <!-- <el-input
+            class="single-input"
+            size="small"
+            ref="secrectKey"
+            :maxlength="4"
+            v-model="secrectKey"
+            placeholder=""
+            @input="onInput(1)"
+          ></el-input
+          >-
+          <el-input
+            class="single-input"
+            size="small"
+            ref="input2"
+            :maxlength="4"
+            v-model="input2"
+            placeholder=""
+            @input="onInput(2)"
+          ></el-input
+          >-
+          <el-input
+            class="single-input"
+            size="small"
+            ref="input3"
+            :maxlength="4"
+            v-model="input3"
+            placeholder=""
+            @input="onInput(3)"
+          ></el-input>
+          -
+          <el-input
+            class="single-input"
+            size="small"
+            ref="input4"
+            :maxlength="4"
+            v-model="input4"
+            placeholder=""
+            @input="onInput(4)"
+          ></el-input
+          >-
+          <el-input
+            class="single-input"
+            size="small"
+            ref="input5"
+            :maxlength="4"
+            v-model="input5"
+            placeholder=""
+            @input="onInput(5)"
+          ></el-input> -->
+
+          <el-input
+            type="textarea"
+            autosize
+            style="width: 480px"
+            placeholder="灏嗕骇鍝佸瘑閽ョ矘璐村湪姝ゅ"
+            v-model="secrectKey"
+          >
+          </el-input>
+        </form>
+
+        <el-upload
+          class="upload-demo"
+          action
+          :http-request="uploadKey"
+          :limit="1"
+          :show-file-list="false"
+        >
+          <el-button size="small" type="primary">瀵煎叆浜у搧瀵嗛挜鏂囦欢</el-button>
+
+          <!-- <div class="el-upload__tip" slot="tip"></div> -->
+        </el-upload>
+      </div>
+
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">缁х画璇曠敤</el-button>
+        <el-button type="primary" @click="activateVersion">婵�娲�</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import DFrame from './DFrame';
-import Safari from './Safari';
-
+import DFrame from "./DFrame";
+import Safari from "./Safari";
+import {
+  getActiveQrCode,
+  getSN,
+  activateVersion,
+  uploadKey,
+} from "@/api/system";
 export default {
   name: "Desktop",
   components: {
-    DFrame, Safari
-  }
-}
+    DFrame,
+    Safari,
+  },
+  data() {
+    return {
+      showFreeVersion: true,
+      dialogVisible: false,
+      version: "SmartAI璇曠敤鐗�",
+      versionState: "灏氭湭婵�娲�",
+      secrectKey: "",
+      input2: "",
+      input4: "",
+      input3: "",
+      input5: "",
+    };
+  },
+  mounted() {
+    getSN().then((res) => {
+      this.showFreeVersion = res.data.sn == "";
+    });
+  },
+  methods: {
+    activateVersion() {
+      if (this.secrectKey.trim()=="") {
+        this.$message.warning("璇峰厛濉啓浜у搧瀵嗛挜")
+        return 
+      }
+      activateVersion({code:this.secrectKey.trim()}).then((res) => {
+        debugger
+        if (res.code==200) {
+          this.$notify.success("婵�娲绘垚鍔�")
+          this.goToSysInfo()
+          this.dialogVisible = false;
+
+        }else{
+          this.$notify.error(res.msg)
+        }
+      }).catch((err) => {
+          this.$notify.error(err.msg)
+      })
+    },
+    goToSysInfo() {
+      window.parent.postMessage({ msg: `toVindicate?menu=绯荤粺淇℃伅` }, "*");
+    },
+    gotoActive() {
+      this.showFreeVersion = false;
+      this.dialogVisible = true;
+    },
+    uploadKey(params) {
+      let param = new FormData();
+      param.append("code", params.file);
+      uploadKey(param).then(
+        (res) => {
+          this.$message.success("瀵煎叆鎴愬姛");
+          this.secrectKey = res.data;
+        },
+        (err) => {
+          this.$message.error("瀵煎叆澶辫触");
+        }
+      );
+    },
+    onInput(val) {
+      if (this[`input${val}`].length == 4 && val < 5) {
+        this.$refs[`input${val + 1}`].focus();
+      }
+      if (this[`input${val}`].length == 0 && val > 0) {
+        this.$refs[`input${val - 1}`].focus();
+      }
+    },
+  },
+};
 </script>
 
-<style scoped>
+<style lang="scss" >
 .desktop {
   width: 100%;
   height: 100%;
+  .el-dialog__header {
+    padding: 15px 20px 10px;
+    text-align: left;
+    font-weight: 600;
+  }
+  .el-dialog__body {
+    text-align: left;
+    padding: 30px 50px;
+    padding-top: 20px;
+  }
+  .el-divider--horizontal {
+    margin: 20px 0;
+  }
+  .validate {
+    display: flex;
+    align-items: baseline;
+    margin-top: 15px;
+  }
+  #myForm {
+    display: flex;
+    align-items: center;
+    margin-right: 10px;
+    .single-input {
+      margin: 0 8px;
+      width: 60px;
+    }
+  }
+  .ver {
+    margin-bottom: 10px;
+    font-size: 16px;
+    .ver-text {
+      font-weight: 600;
+    }
+  }
+  .info {
+    font-size: 15px;
+    margin-bottom: 10px;
+  }
+  .qr-code-img {
+    // width: 120px;
+    // height: 120px;
+  }
+  .ask {
+    margin-top: 20px;
+    font-size: 15px;
+  }
+}
+.warn-tag {
+  width: 35%;
+  text-align: left;
+  box-sizing: border-box;
+  padding: 0 25px;
+  height: 45px;
+  background-color: rgba(255, 238, 230, 1);
+  z-index: 99999;
+  position: absolute;
+  display: flex;
+  justify-content: space-between;
+  top: 55px;
+  left: calc(50% - 17.5%);
+  line-height: 45px;
+  border-radius: 5px;
+  .go-to {
+    color: rgba(71, 153, 247, 1);
+    cursor: pointer;
+    text-decoration: underline;
+    font-weight: 600;
+    font-size: 13px;
+  }
+  .text {
+    font-size: 13px;
+  }
+  .icon {
+    font-size: 14px;
+    cursor: pointer;
+  }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.8.0