damon227 2 lat temu
rodzic
commit
3523466b28
2 zmienionych plików z 125 dodań i 30 usunięć
  1. 36 0
      src/api/home.js
  2. 89 30
      src/views/common/home.vue

+ 36 - 0
src/api/home.js

@@ -16,4 +16,40 @@ export function getContractAlarmList (params) {
         method: 'get',
         params
     })
+}
+
+//客户排名列表
+export function getCustomerRankList (params) {
+    return request({
+        url: request.adornUrl('/biz-service/DashboardCtl/customerRank'),
+        method: 'get',
+        params
+    })
+}
+
+//报损记录列表
+export function getDamageList (params) {
+    return request({
+        url: request.adornUrl('/biz-service/DashboardCtl/list'),
+        method: 'get',
+        params
+    })
+}
+
+//出库记录列表
+export function getOutboundRecordList (params) {
+    return request({
+        url: request.adornUrl('/biz-service/DashboardCtl/outboundRecord'),
+        method: 'get',
+        params
+    })
+}
+
+//合同生产记录列表
+export function getContractProdList (params) {
+    return request({
+        url: request.adornUrl('/biz-service/DashboardCtl/contractProd'),
+        method: 'get',
+        params
+    })
 }

+ 89 - 30
src/views/common/home.vue

@@ -54,19 +54,19 @@
         <el-row :span="24" class="bg1-2-3">
           <div class="box-contract-table">
             <div class="contract-table 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 :data="contractProdList" 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="orderCode" label="合同号"></el-table-column>
                 <el-table-column prop="productName" label="产品名称"></el-table-column>
-                <el-table-column prop="productNo" label="产品编号"></el-table-column>
+                <el-table-column prop="prodCode" label="产品编号"></el-table-column>
                 <el-table-column prop="batchNo" label="批次号"></el-table-column>
-                <el-table-column prop="progress" label="生产进度" width="180">
+                <el-table-column label="生产进度" width="180">
                   <template slot-scope="scope">
-                    <el-progress :percentage="100" status="success"></el-progress>
+                    <el-progress :percentage="parseInt(scope.row.progressBar)"></el-progress>
                   </template>
                 </el-table-column>
-                <el-table-column prop="customName" label="客户名称"></el-table-column>
-                <el-table-column prop="operatorName" label="当前操作人"></el-table-column>
+                <el-table-column prop="customerName" label="客户名称"></el-table-column>
+                <el-table-column prop="curOperator" label="当前操作人"></el-table-column>
               </el-table>
             </div>
           </div>
@@ -82,11 +82,11 @@
           <div class="box-custom-ranking">
             <div class="custom-ranking">
               <div class="table">
-                  <el-table :data="contractList" height="100%" row-class-name="custom-ranking-table-row" style="width:100%;">
-                    <el-table-column prop="productName" label="客户名称"></el-table-column>
-                    <el-table-column prop="progress" label="合同金额占比">
+                  <el-table :data="customerRankList" height="100%" row-class-name="custom-ranking-table-row" style="width:100%;">
+                    <el-table-column prop="customerName" label="客户名称"></el-table-column>
+                    <el-table-column label="合同金额占比">
                       <template slot-scope="scope">
-                        <el-progress :text-inside="true" :stroke-width="16" :percentage="90" status="success"></el-progress>
+                        <el-progress :text-inside="true" :stroke-width="16" :percentage="scope.row.percentage * 100" status="success"></el-progress>
                       </template>
                     </el-table-column>
                     <el-table-column prop="no" label="增长率" width="80" fixed="right"></el-table-column>
@@ -132,14 +132,13 @@
           <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="damageList" 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="productName" label="产品"></el-table-column>
+                    <el-table-column prop="prodCode" label="编号"></el-table-column>
+                    <el-table-column prop="damageReason" label="原因"></el-table-column>
+                    <el-table-column prop="liableUserName" label="报损人"></el-table-column>
+                    <el-table-column prop="createTime" label="报损时间"></el-table-column>
                 </el-table>
               </div>
             </div>
@@ -157,7 +156,7 @@
             <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 type="index" 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>
@@ -180,14 +179,12 @@
           <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="outboundRecordList" 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="materialName" label="物品"></el-table-column>
+                    <el-table-column prop="cnt" label="数量"></el-table-column>
+                    <el-table-column prop="createTime" label="时间"></el-table-column>
+                    <el-table-column prop="applicant" label="申请人"></el-table-column>
                 </el-table>
               </div>
             </div>
@@ -199,7 +196,7 @@
 </template>
 
 <script>
- import { getAnalytics, getContractAlarmList } from '@/api/home'
+ import { getAnalytics, getContractAlarmList, getCustomerRankList, getDamageList, getOutboundRecordList, getContractProdList } from '@/api/home'
  export default {
   name: 'home',
   components: {
@@ -214,6 +211,14 @@
       analyticsTimer: null,
       //合同预警列表
       contractAlarmList: [],
+      //客户排名列表
+      customerRankList: [],
+      //报损记录列表
+      damageList: [],
+      //出库记录列表
+      outboundRecordList: [],
+      //合同生产记录列表
+      contractProdList: [],
       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:"小王"},
@@ -230,11 +235,16 @@
     this.analyticsTimer = setInterval(this.getAnalytics,1000 * 3600);
 
     this.getContractAlarmList();
+    this.getCustomerRankList();
+    this.getDamageList();
+    this.getOutboundRecordList();
+    this.getContractProdList();
   },
   beforeDestroy () {
     clearInterval(this.analyticsTimer);
   },
   methods: {
+    //合同统计
     getAnalytics(){
       getAnalytics({}).then(({data}) => {
          if (data && data.code === '200') {
@@ -242,6 +252,7 @@
          }
       })
     },
+    //合同预警列表
     getContractAlarmList(){
       let params = {
         'current': 1,
@@ -252,6 +263,54 @@
             this.contractAlarmList = data.data.records;
         }
       })
+    },
+    //客户排名列表
+    getCustomerRankList(){
+      let params = {
+        'current': 1,
+        'size': 20
+      }
+      getCustomerRankList(params).then(({data}) => {
+        if(data && data.code === '200') {
+          this.customerRankList = data.data;
+        }
+      })
+    },
+    //报损记录列表
+    getDamageList (){
+      let params = {
+        'current': 1,
+        'size': 20
+      }
+       getDamageList(params).then(({data}) => {
+        if(data && data.code === '200') {
+          this.damageList = data.data.records;
+        }
+      })
+    },
+    //出库记录列表
+    getOutboundRecordList (){
+      let params = {
+        'current': 1,
+        'size': 20
+      }
+       getOutboundRecordList(params).then(({data}) => {
+        if(data && data.code === '200') {
+          this.outboundRecordList = data.data.records;
+        }
+      })
+    },
+    //合同生产记录列表
+    getContractProdList(){
+      let params = {
+        'current': 1,
+        'size': 20
+      }
+       getContractProdList(params).then(({data}) => {
+        if(data && data.code === '200') {
+          this.contractProdList = data.data.records;
+        }
+      })
     }
   }
 }