wh vor 2 Jahren
Ursprung
Commit
82ac1080ea
7 geänderte Dateien mit 111 neuen und 102 gelöschten Zeilen
  1. 27 0
      src/App.vue
  2. 1 1
      src/router/index.js
  3. 3 0
      src/store/index.js
  4. 3 1
      src/utils/api.js
  5. 2 2
      src/utils/request.js
  6. 73 66
      src/views/home.vue
  7. 2 32
      src/views/login.vue

+ 27 - 0
src/App.vue

@@ -5,6 +5,33 @@
   <!-- 开启底部安全区适配 -->
   <van-number-keyboard safe-area-inset-bottom />
 </template>
+<script>
+import Api from "./utils/api";
+export default {
+  data(){
+    return{
+
+    }
+  },
+  created(){
+    if(localStorage.getItem('token')){
+      this.getUserInfo();
+    }
+  },
+  methods:{
+     getUserInfo() {
+      Api.getUserInfo().then((res) => {
+        if (res.code == 0) {
+          this.$store.state.username=res.data.username;
+          this.$store.state.userMobile=res.data.mobile;
+        } else {
+          this.$notify({ type: "danger", message: res.msg });
+        }
+      });
+    },
+  }
+}
+</script>
 <style lang="scss">
 #app {
   font-family: PingFangSC-Regular, PingFang SC;

+ 1 - 1
src/router/index.js

@@ -3,7 +3,7 @@ import { createRouter, createWebHashHistory } from 'vue-router'
 const routes = [
   {
     path: '/',
-    redirect: '/login'
+    redirect: '/home'
   },
   {
     name: 'login',

+ 3 - 0
src/store/index.js

@@ -3,6 +3,9 @@ import { createStore } from 'vuex'
 
 export default createStore({
   state: {
+    username:'',
+    userMobile:'',
+    password:''
   },
   mutations: {
   },

+ 3 - 1
src/utils/api.js

@@ -2,5 +2,7 @@
 import { service } from './request'
 export default {
     loginByPwd: (params) => service.post("/app/login", params),
-    getUserInfo: (params) => service.get("/app/login", params)
+    getUserInfo: (params) => service.get("/app/user/userInfo",{ params: params }),
+    //首页信息
+    homedata:(params) => service.get("/app/home/homedata", params)
 }

+ 2 - 2
src/utils/request.js

@@ -12,8 +12,8 @@ export const getBaseURI = () => {
     //    return 'http://112.30.213.162:8082/stayhome-app'
     //return 'http://192.168.1.101:9013/stayhome-app';
     // return 'https://s-stg.ringzle.com/stayhome-app'
-    //    return 'http://192.168.1.102:9013/stayhome-app';
-    return "https://s.ringzle.com/stayhome-app";
+    //return 'http://192.168.1.51:9013/witcarbon-app';
+    return "http://gpu.ringzle.com:8082/witcarbon-app";
   }
 
   // 集成测试环境

+ 73 - 66
src/views/home.vue

@@ -79,6 +79,16 @@
         </div>
       </div>
       <div class="list_item">
+         <div
+          class="item_info"
+        >
+          <span class="label">{{abnormalNum.label}}</span>
+          <v-count-up
+            :end-val="Number(abnormalNum.count)"
+            class="count_up"
+            style="color: #fa5555"
+          />
+        </div>
         <div
           class="item_info"
           v-for="(item, index) in deviceErrorList"
@@ -93,10 +103,10 @@
           />
         </div>
       </div>
-      <div class="sub_title">
+      <div class="sub_title ">
         <span>欠费待收</span>
         <div class="function_btn">
-          <span>立即处理</span>
+          <span>立即催收</span>
           <van-image
             :src="require('@/assets/btn-arrow-right.svg')"
             width="24"
@@ -105,30 +115,17 @@
           />
         </div>
       </div>
-      <div class="list_item list_table">
-        <div class="table_info">
-          <div class="table_header">
-            <span>欠费类型</span>
-            <span>欠费租户数</span>
-            <span>累计欠费</span>
-          </div>
-          <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
-            <van-list
-              v-model:loading="loading"
-              :finished="finished"
-              :error="error"
-              error-text="请求失败,点击重新加载"
-              finished-text="没有更多了"
-              @load="onLoad"
-            >
-              <van-row v-for="item in list" :key="item.id">
-                <van-cell :value="item.type" />
-                <van-cell :value="item.fee" />
-                <van-cell :value="item.totalFee" />
-              </van-row>
-            </van-list>
-          </van-pull-refresh>
-        </div>
+      <div class="list_table">
+        <van-row class="billTit" style="padding-bottom:10px">
+  <van-col span="8">欠费类型</van-col>
+  <van-col span="8">欠费租户数</van-col>
+  <van-col span="8">累计欠费</van-col>
+</van-row>
+<van-row v-for="(item,index) in billPaymentList" :key="index" class="billList">
+  <van-col span="8" class="billTit">{{item.payType}}</van-col>
+  <van-col span="8" class="billAmount">{{item.arrearageNum}}</van-col>
+  <van-col span="8" class="billAmount">{{item.arrearageAmount}}</van-col>
+</van-row>
       </div>
     </div>
     <van-tabbar
@@ -155,6 +152,7 @@
   </div>
 </template>
 <script>
+import api from '../utils/api';
 import VCountUp from "./CountUp";
 export default {
   components: {
@@ -169,59 +167,54 @@ export default {
         { src: require("@/assets/check-review.svg"), label: "巡检记录" },
         { src: require("@/assets/reduce-record.svg"), label: "扣缴记录" },
       ],
+      billPaymentList:[],
+      abnormalNum:{label:'异常总数',count:''},
       workList: [
         {
           label: "待指派",
           count: 3,
-          options: {
-            separator: ",",
-          },
         },
         {
           label: "待维修",
           count: 2,
-          options: {
-            separator: ",",
-          },
         },
         {
           label: "已维修",
-          count: 1,
-          options: {
-            separator: ",",
-          },
+          count: 0,
         },
       ],
-      deviceErrorList: [
-        {
-          label: "异常总数",
-          count: 7,
-          options: {
-            separator: ",",
-          },
-        },
-        {
-          label: "电表异常",
-          count: 5,
-          options: {
-            separator: ",",
-          },
-        },
-        {
-          label: "水表异常",
-          count: 2,
-          options: {
-            separator: ",",
-          },
-        },
-      ],
-      list: [],
+      deviceErrorList: [],
       loading: false,
-      refreshing: false,
-      finished: false,
     };
   },
+  created(){
+    this.getHomeData();
+  },
   methods: {
+    getHomeData(){
+      api.homedata().then(res=>{
+        console.log(res)
+        if(res.code==0){
+          //工单代办数据
+          for(let k in res.data.workOrder){
+            this.workList[k-1].count=res.data.workOrder[k]
+          }
+          //设备异常数据
+          let mapsArr=[];
+           for(let k in res.data.equip.maps){
+            let json={};
+            json.label=k;
+            json.count=res.data.equip.maps[k];
+            mapsArr.push(json);
+          }
+          this.deviceErrorList=mapsArr;
+          //赋值异常总数
+          this.abnormalNum.count=res.data.equip.abnormalNum;
+          //欠费待收数据
+          this.billPaymentList=res.data.billPaymentList;
+        }
+      })
+    },
     onLoad() {
       setTimeout(() => {
         if (this.refreshing.value) {
@@ -239,7 +232,6 @@ export default {
         }
       }, 1000);
     },
-
     onRefresh() {
       // 清空列表数据
       this.finished.value = false;
@@ -258,6 +250,8 @@ export default {
 <style lang="scss" scoped>
 .page_home {
   position: relative;
+  height: calc(100vh - 60px);
+  overflow: auto;
   .home_bg {
     width: 100%;
     height: 102px;
@@ -284,9 +278,6 @@ export default {
           text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.04);
         }
       }
-
-      .user-info {
-      }
     }
   }
   .home_info {
@@ -375,6 +366,7 @@ export default {
       }
     }
     .list_table {
+      background: #fff;
       padding: 16px 20px;
       .table_info {
         .table_header {
@@ -393,6 +385,21 @@ export default {
         }
       }
     }
+    .billList{
+      padding: 15px 0;
+      border-top:1px solid #eee;
+    }
+    .billTit{
+          height: 16px;
+    font-size: 12px;
+    font-weight: 400;
+    color: #697081;
+    line-height: 16px;
+    }
+    .billAmount{
+      font-size: 16px;
+
+    }
   }
 }
 </style>

+ 2 - 32
src/views/login.vue

@@ -64,7 +64,7 @@
 </template>
 
 <script>
-import { getUserInfo } from "../utils/api";
+import Api from "../utils/api";
 export default {
   data() {
     return {
@@ -79,37 +79,7 @@ export default {
   },
   methods: {
     onSubmit() {
-      this.loading = true;
-      setTimeout(() => {
-        this.loading = false;
-        this.$router.push("/home");
-      }, 2000);
-      // Api.loginByPwd({
-      //   username: this.tel,
-      //   password: this.password,
-      //   captcha: "1",
-      //   uuid: "1",
-      // }).then((res) => {
-      // this.loading = false
-      //   if (res.code == 0) {
-      //     this.$toast.clear();
-      //     window.localStorage.setItem("token", res.data.token);
-      // this.getUserInfo();
-      //   } else {
-      //     this.$notify({ type: "danger", message: res.msg });
-      //   }
-      // });
-    },
-    getUserInfo() {
-      Api.getUserInfo({
-        username: this.tel,
-        password: this.password,
-      }).then((res) => {
-        if (res.code == 0) {
-        } else {
-          this.$notify({ type: "danger", message: res.msg });
-        }
-      });
+       window.location.href = "/?username=" + this.tel + "&&pwd=" + this.password;
     },
   },
 };