Browse Source

http添加

xsh 4 years ago
parent
commit
9a02303096
6 changed files with 135 additions and 23 deletions
  1. 1 1
      package-lock.json
  2. 2 0
      src/main.js
  3. 74 0
      src/utils/http.js
  4. 1 1
      src/views/MainLayout.vue
  5. 2 1
      src/views/pastureData/Home.vue
  6. 55 20
      src/views/pastureData/dayData.vue

+ 1 - 1
package-lock.json

@@ -7129,7 +7129,7 @@
     },
     "lodash": {
       "version": "4.17.21",
-      "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz",
+      "resolved": "https://registry.nlark.com/lodash/download/lodash-4.17.21.tgz?cache=0&sync_timestamp=1618847150612&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flodash%2Fdownload%2Flodash-4.17.21.tgz",
       "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw="
     },
     "lodash-es": {

+ 2 - 0
src/main.js

@@ -5,10 +5,12 @@ import store from './store'
 import ElementUI from 'element-ui'
 import 'element-ui/lib/theme-chalk/index.css'
 import echarts from 'echarts'
+import http from "./utils/http";
 
 Vue.config.productionTip = false
 Vue.use(ElementUI);
 Vue.prototype.$echarts = echarts
+Vue.prototype.$http = http;
 
 new Vue({
   router,

+ 74 - 0
src/utils/http.js

@@ -0,0 +1,74 @@
+import axios from 'axios'
+import router from '../router'
+import qs from 'qs'
+import merge from 'lodash/merge'
+
+
+const http = axios.create({
+  baseURL: 'http://192.168.1.171:8210',
+  timeout: 1000 * 30,
+  // withCredentials: true,
+  headers: {
+    'Content-Type': 'application/json; charset=utf-8'
+  }
+})
+
+/**
+ * 请求拦截
+ */
+http.interceptors.request.use(config => {
+  // config.headers['token'] = Vue.cookie.get('token') // 请求头带上token
+  return config
+}, error => {
+  return Promise.reject(error)
+})
+
+/**
+ * 响应拦截
+ */
+http.interceptors.response.use(response => {
+  if (response.data && response.data.code === 401) { // 401, token失效
+    router.push({ name: 'login' })
+  }
+  return response
+}, error => {
+  return Promise.reject(error)
+})
+
+/**
+ * 请求地址处理
+ * @param {*} actionName action方法名称
+ */
+http.adornUrl = (actionName) => {
+  // 非生产环境 && 开启代理, 接口前缀统一使用[/proxyApi/]前缀做代理拦截!
+  return actionName
+}
+
+/**
+ * get请求参数处理
+ * @param {*} params 参数对象
+ * @param {*} openDefultParams 是否开启默认参数?
+ */
+http.adornParams = (params = {}, openDefultParams = true) => {
+  var defaults = {
+
+  }
+  return openDefultParams ? merge(defaults, params) : params
+}
+
+/**
+ * post请求数据处理
+ * @param {*} data 数据对象
+ * @param {*} openDefultdata 是否开启默认数据?
+ * @param {*} contentType 数据格式
+ *  json: 'application/json; charset=utf-8'
+ *  form: 'application/x-www-form-urlencoded; charset=utf-8'
+ */
+http.adornData = (data = {}, openDefultdata = true, contentType = 'json') => {
+  var defaults = {
+  }
+  data = openDefultdata ? merge(defaults, data) : data
+  return contentType === 'json' ? JSON.stringify(data) : qs.stringify(data)
+}
+
+export default http

+ 1 - 1
src/views/MainLayout.vue

@@ -13,7 +13,7 @@
         </div>
       </el-header>
       <el-container style="height: calc(100vh - 170px); margin-top: 10px">
-        <el-aside width="220px">
+        <el-aside width="215px">
           <sideMenu :navIndex="navIndex" :defaultUrl="defaultUrl" :menuItem="menuItem"></sideMenu>
         </el-aside>
         <el-main>

+ 2 - 1
src/views/pastureData/Home.vue

@@ -213,7 +213,7 @@ export default {
 
 <style scoped>
   /deep/ .el-form--inline .el-form-item {
-    margin-right: 20px;
+    margin-right: 15px;
   }
   .box{
     width: 100%;
@@ -247,6 +247,7 @@ export default {
     width: 100%;
     box-sizing: border-box;
     margin-top: 10px;
+    padding-right: 10px;
     /*padding: 10px;*/
   }
 </style>

+ 55 - 20
src/views/pastureData/dayData.vue

@@ -61,50 +61,69 @@
           height="700"
           style="width: 100%;">
         <el-table-column
-            prop="date"
-            label="采集时间">
+            prop="time"
+            label="采集时间"
+            width="160">
         </el-table-column>
         <el-table-column
-            prop="date"
-            label="采集器编码">
+            prop="eartagNo"
+            label="耳标号"
+            width="150">
         </el-table-column>
         <el-table-column
-            prop="date"
-            label="耳标号">
+            prop="eartagNo"
+            label="配标时间"
+            width="160">
         </el-table-column>
         <el-table-column
-            prop="date"
+            prop="dayAge"
             label="佩标日龄">
         </el-table-column>
         <el-table-column
-            prop="date"
-            width="180"
-            label="日龄 (佩标日龄+戴标日龄)"
-            :render-header="renderHeader">
+            prop="dayAge2"
+            label="日龄">
         </el-table-column>
         <el-table-column
-            prop="date"
             label="耳根温度">
+          <template slot-scope="scope">
+            <span>{{scope.row.earTemp}}℃</span>
+          </template>
         </el-table-column>
         <el-table-column
-            prop="date"
+            label="环境温度">
+          <template slot-scope="scope">
+            <span>{{scope.row.envTemp}}℃</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+            prop="exercise"
             label="运动量">
         </el-table-column>
         <el-table-column
-            prop="date"
-            label="栋舍">
+            label="电池电量">
+          <template slot-scope="scope">
+            <span>{{scope.row.bat}}%</span>
+          </template>
         </el-table-column>
         <el-table-column
-            prop="date"
-            label="环境温度">
+            prop="rssi"
+            label="信号强度">
+          <template slot-scope="scope">
+            <span>-{{scope.row.rssi}}db</span>
+          </template>
         </el-table-column>
         <el-table-column
             prop="date"
-            label="电池电量">
+            label="阶段">
         </el-table-column>
         <el-table-column
             prop="date"
-            label="信号强度">
+            label="栋舍">
+        </el-table-column>
+        <el-table-column
+            prop="deviceCode"
+            label="采集器编码"
+            width="150">
         </el-table-column>
         <el-table-column label="操作">
           <template slot-scope="scope">
@@ -195,7 +214,23 @@ export default {
     },
     jump() {
       this.$router.push('/dataDetail');
-    }
+    },
+    // 初始化
+    init() {
+      this.$http({
+        url: this.$http.adornUrl("/manager/eartagdata/list"),
+        method: 'post',
+        data: this.$http.adornData(),
+      }).then(res => {
+        console.log(res);
+        if(res.data.code === 0) {
+          this.tableData = res.data.page.list;
+        }
+      })
+    },
+  },
+  mounted() {
+    this.init();
   }
 }
 </script>