damon227 2 жил өмнө
parent
commit
b117781945
2 өөрчлөгдсөн 67 нэмэгдсэн , 13 устгасан
  1. 19 0
      src/api/home.js
  2. 48 13
      src/views/common/home.vue

+ 19 - 0
src/api/home.js

@@ -0,0 +1,19 @@
+import request from '@/utils/httpRequest'
+
+//合同统计
+export function getAnalytics (params) {
+    return request({
+        url: request.adornUrl('/biz-service/DashboardCtl/analytics'),
+        method: 'get',
+        params
+    })
+}
+
+//合同预警列表
+export function getContractAlarmList (params) {
+    return request({
+        url: request.adornUrl('/biz-service/DashboardCtl/contractAlarm'),
+        method: 'get',
+        params
+    })
+}

+ 48 - 13
src/views/common/home.vue

@@ -9,17 +9,17 @@
         </el-row>
         <el-row :span="24" class="bg1-1-2">
           <div class="box-custom-number">
-            <div class="custom-number">客户数:10</div>
+            <div class="custom-number">客户数:{{analytics.clients}}</div>
           </div>
         </el-row>
         <el-row :span="24" class="bg1-1-1">
           <div class="box-contract-number">
-            <div class="contract-number">合同数:10</div>
+            <div class="contract-number">合同数:{{analytics.num}}</div>
           </div>
         </el-row>
         <el-row :span="24" class="bg1-1-2">
           <div class="box-contract-amount">
-            <div class="contract-amount">合同总金额:10</div>
+            <div class="contract-amount">合同总金额:{{analytics.totalAmount}}</div>
           </div>
         </el-row>
       </el-col>
@@ -89,7 +89,7 @@
                         <el-progress :text-inside="true" :stroke-width="16" :percentage="90" status="success"></el-progress>
                       </template>
                     </el-table-column>
-                    <el-table-column prop="no" label="增长率" width="80" :fixed="right"></el-table-column>
+                    <el-table-column prop="no" label="增长率" width="80" fixed="right"></el-table-column>
                 </el-table>
               </div>
             </div>
@@ -108,14 +108,14 @@
           <div class="box-contract-alert">
             <div class="contract-alert">
               <div class="table">
-                  <el-table :data="contractList" height="100%" row-class-name="custom-ranking-table-row" style="width:100%;">
-                    <el-table-column prop="no" label="序号"></el-table-column>
-                    <el-table-column prop="contractNo" label="合同号"></el-table-column>
-                    <el-table-column prop="contractNo" label="订单号"></el-table-column>
-                    <el-table-column prop="progress" label="剩余时间"></el-table-column>
-                    <el-table-column prop="progress" label="交付日期"></el-table-column>
-                    <el-table-column prop="customName" label="客户名称"></el-table-column>
-                    <el-table-column prop="customName" label="业务员"></el-table-column>
+                  <el-table :data="contractAlarmList" height="100%" row-class-name="custom-ranking-table-row" style="width:100%;">
+                    <el-table-column type="index" label="序号"></el-table-column>
+                    <el-table-column prop="contractNumber" label="合同号"></el-table-column>
+                    <el-table-column prop="orderCode" label="订单号"></el-table-column>
+                    <el-table-column prop="remainTime" label="剩余时间"></el-table-column>
+                    <el-table-column prop="deliveryTime" label="交付日期"></el-table-column>
+                    <el-table-column prop="customerName" label="客户名称"></el-table-column>
+                    <el-table-column prop="salesmenName" label="业务员"></el-table-column>
                 </el-table>
               </div>
             </div>
@@ -199,12 +199,21 @@
 </template>
 
 <script>
+ import { getAnalytics, getContractAlarmList } from '@/api/home'
  export default {
   name: 'home',
   components: {
   },
   data () {
     return {
+      analytics: {
+        clients:'',//客户数
+        num:'',//合同数
+        totalAmount:''//合同总金额
+      },
+      analyticsTimer: null,
+      //合同预警列表
+      contractAlarmList: [],
       contractList:[
         {no:"1",contractNo:"NKDI98SDF",productName:"课桌粉笔",productNo:"KIHDSDF",batchNo:"N23",progress:"80",customName:"中国联通",operatorName:"小王"},
         {no:"1",contractNo:"NKDI98SDF",productName:"课桌粉笔",productNo:"KIHDSDF",batchNo:"N23",progress:"80",customName:"中国联通",operatorName:"小王"},
@@ -216,8 +225,34 @@
       ]
     }
   },
+  created () {
+    this.getAnalytics();
+    this.analyticsTimer = setInterval(this.getAnalytics,1000 * 3600);
+
+    this.getContractAlarmList();
+  },
+  beforeDestroy () {
+    clearInterval(this.analyticsTimer);
+  },
   methods: {
-    
+    getAnalytics(){
+      getAnalytics({}).then(({data}) => {
+         if (data && data.code === '200') {
+            this.analytics = {...data.data};
+         }
+      })
+    },
+    getContractAlarmList(){
+      let params = {
+        'current': 1,
+        'size': 20
+      }
+      getContractAlarmList(params).then(({data}) => {
+        if(data && data.code === '200') {
+            this.contractAlarmList = data.data.records;
+        }
+      })
+    }
   }
 }
 </script>