Ver Fonte

no message

linwenxin há 1 ano atrás
pai
commit
618860d421

+ 9 - 0
src/api/announcement.js

@@ -1,5 +1,14 @@
 import request, { postBlob, getBlob, handleImport } from '@/utils/request'
 
+for(var i=0;i<1;i++){
+  request({
+    url: `/order/refund/test`,
+    method: 'post',
+  }).then(res=>{
+    console.log(JSON.parse(res.data),"bkuyboiun")
+  })
+}
+
 
 export function zfapiNoticeDetail(params) {
   return request({

+ 1 - 1
src/views/bigViews/dataView1/components/electronOfTheDay.vue → src/views/bigViews/dataView1/components/accessoryStatistics.vue

@@ -1,5 +1,5 @@
 <template>
-  <moduleEnclosure title="今日电子支付金额">
+  <moduleEnclosure title="近30日辅配件统计">
     <div class="heat-lay">
     </div>
   </moduleEnclosure>

+ 0 - 260
src/views/bigViews/dataView1/components/badRatingRanking.vue

@@ -1,260 +0,0 @@
-<template>
-  <moduleEnclosure title="差评排名">
-    <div class="dvScrollBoardView">
-      <dv-scroll-board
-        :config="config"
-        :ref="`scrollBoard_1`"
-        style="width: 100%; height: 100%"
-      />
-    </div>
-  </moduleEnclosure>
-</template>
-
-<script>
-import moduleEnclosure from '@/components/moduleEnclosure.vue';
-import img0 from '@/assets/xia.png';
-import img1 from '@/assets/shang.png';
-import img2 from '@/assets/y1.png';
-import img3 from '@/assets/y2.png';
-import img4 from '@/assets/y3.png';
-import { getQuery13, getQuery14 } from '@/api/bigView.js';
-var timeling = 5000;
-export default {
-  components: {
-    moduleEnclosure,
-  },
-  data() {
-    return {
-      config: {
-        headerBGC: '#0B1C55',
-        oddRowBGC: '#0B1C55',
-        evenRowBGC: '#0B1C55',
-        header: ['排名', '网点', '差评数', '同比'],
-        data: [],
-        waitTime: timeling,
-      },
-    };
-  },
-  mounted() {
-    this.timeId = getQuery13((res) => {
-      let list = res.data.map((item, index) => {
-        return this.tmp(item, index, true);
-      });
-      this.config.data = list;
-      this.$refs['scrollBoard_1'][0].updateRows(list);
-    }, 60000 * 60 * 12);
-  },
-  beforeUnmount() {
-    this.timeId();
-    if (this.timed) {
-      clearTimeout(this.timed);
-    }
-  },
-  methods: {
-    tmp(item, index, bool) {
-      return [
-        `<div class="aitem0"><img src="${
-          index == 0 ? img2 : index == 1 ? img3 : img4
-        }"/><span>${index + 1}</span></div>`,
-        `<div class="aitem1"><div class="${
-          bool ? 'slide' : 'juzhongxianshi'
-        }" style="width:${item.name.length * 13}px!important;"><span>${
-          item.name
-        }</span>${
-          bool ? `  <span>${item.name}</span>  <span>${item.name}</span>` : ''
-        }</div></div>`,
-        `<div class="aitem2">${item.cut}</div>`,
-        `<div class="aitem3">
-              <div class="zhanbijs">
-                <span class="${
-                  item.rate > 0 ? 'c3' : item.rate < 0 ? 'c2' : ''
-                }">${item.rate}%</span>
-                ${
-                  item.rate > 0 || item.rate < 0
-                    ? `<img
-                  src="${item.rate > 0 ? img1 : item.rate < 0 ? img0 : ''}"
-                />`
-                    : ''
-                }
-              </div>
-            </div>`,
-      ];
-    },
-  },
-};
-</script>
-
-<style scoped lang="scss">
-::v-deep .dv-scroll-board {
-  .header-item {
-    color: #699be3 !important;
-    font-size: 18px;
-    font-family: Source Han Sans CN, Source Han Sans CN-Regular;
-    font-weight: 400;
-    text-align: center;
-  }
-
-  .header,
-  .row-item {
-    cursor: pointer;
-    height: 42px !important;
-
-    &:hover {
-      background: linear-gradient(to right, #156ccf, #082570) !important;
-    }
-
-    div:nth-child(1) {
-      width: 60px !important;
-
-      div {
-        width: 100% !important;
-      }
-    }
-
-    div:nth-child(2) {
-      width: 52% !important;
-      overflow: hidden;
-      white-space: nowrap;
-
-      div {
-        min-width: 100% !important;
-      }
-      .juzhongxianshi {
-        text-align: center;
-      }
-    }
-
-    div:nth-child(3) {
-      width: 16% !important;
-
-      div {
-        width: 100% !important;
-      }
-    }
-
-    div:nth-child(4) {
-      width: auto !important;
-    }
-
-    .slide {
-      animation: slide 5s linear infinite;
-    }
-
-    @keyframes slide {
-      0% {
-        transform: translateX(0);
-      }
-      20% {
-        transform: translateX(0);
-      }
-      100% {
-        transform: translateX(-100%);
-      }
-    }
-    // }
-  }
-}
-
-::v-deep .aitem0 {
-  width: 38px;
-  height: 38px;
-  position: relative;
-
-  img {
-    margin: 0;
-    padding: 0;
-    width: 35px;
-    height: 35px;
-  }
-
-  img,
-  span {
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%, -50%);
-  }
-}
-
-::v-deep .aitem1,
-::v-deep .aitem2 {
-  height: 38px;
-  line-height: 38px;
-  font-size: 16px;
-  font-weight: 400;
-  text-align: center;
-  color: #c8ebff;
-  // overflow: hidden;
-  // white-space: nowrap;
-  // text-overflow: ellipsis;
-}
-
-::v-deep .aitem3 {
-  .zhanbijs {
-    width: 100%;
-    height: 38px;
-    display: flex;
-    flex-direction: row;
-    align-items: center;
-    justify-content: center;
-
-    & > span:nth-child(1) {
-      font-size: 16px;
-      font-family: Source Han Sans CN, Source Han Sans CN-Regular;
-      font-weight: 400;
-      text-align: left;
-    }
-
-    img {
-      width: 16px;
-      height: 16px;
-      margin-left: 6px;
-    }
-  }
-}
-
-.dvScrollBoardView {
-  width: 100%;
-  height: 100%;
-  box-sizing: border-box;
-  padding-top: 16px;
-}
-
-.classbtns {
-  width: 160px;
-  height: 28px;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  border: 2px solid #0e72e6;
-  cursor: pointer;
-
-  div {
-    width: 50%;
-    height: 100%;
-    text-align: center;
-    line-height: 28px;
-  }
-
-  div:nth-child(1) {
-    border-right: 2px solid #0e72e6;
-  }
-  .select {
-    background: #0e72e6;
-    color: #bbd4ff;
-  }
-}
-
-::v-deep .el-carousel__arrow,
-::v-deep .el-carousel__indicators {
-  display: none;
-}
-
-::v-deep .c2 {
-  color: #3ce783;
-}
-
-::v-deep .c3 {
-  color: #e15960;
-}
-</style>

+ 10 - 10
src/views/bigViews/dataView1/components/mapDataStatistics.vue

@@ -624,12 +624,12 @@ table tfoot tr td {
 }
 .heat-lay {
   width: 100%;
-  height: 220px;
+  height: 180px;
   & > div:nth-child(1) {
-    height: 128px;
+    height: 90px;
   }
   & > div:nth-child(3) {
-    height: 82px;
+    height: 90px;
   }
   .horizontalLine {
     width: 100%;
@@ -664,7 +664,7 @@ table tfoot tr td {
     align-items: center;
   }
   .heat-item-style1-num1-2 {
-    font-size: 16px;
+    font-size: 14px;
     font-family: Source Han Sans CN, Source Han Sans CN-Regular;
     font-weight: 400;
     // margin-left: 10px;
@@ -674,7 +674,7 @@ table tfoot tr td {
     width: 100%;
     height: 100%;
     .heat-item-style1-title {
-      font-size: 16px;
+      font-size: 14px;
       font-family: Source Han Sans CN, Source Han Sans CN-Regular;
       font-weight: 400;
       // text-align: center;
@@ -690,18 +690,18 @@ table tfoot tr td {
       align-items: center;
       // justify-content: flex-end;
       .heat-item-style1-num1-1 {
-        font-size: 22px;
+        font-size: 18px;
         font-family: Source Han Sans CN, Source Han Sans CN-Medium;
         font-weight: 500;
       }
 
       .heat-item-style1-num2-1 {
-        font-size: 16px;
+        font-size: 14px;
         font-family: Source Han Sans CN, Source Han Sans CN-Regular;
         font-weight: 400;
       }
       .heat-item-style1-num2-2 {
-        font-size: 16px;
+        font-size: 14px;
         font-family: Source Han Sans CN, Source Han Sans CN-Regular;
         font-weight: 400;
         color: #8ab1dc;
@@ -731,7 +731,7 @@ table tfoot tr td {
   }
 }
 .subheading {
-  font-size: 18px;
+  font-size: 16px;
   font-family: Source Han Sans CN, Source Han Sans CN-Medium;
   font-weight: 500;
   color: #93b0d8;
@@ -739,7 +739,7 @@ table tfoot tr td {
   text-align: right;
 }
 .jinge {
-  font-size: 18px;
+  font-size: 16px;
   font-family: Source Han Sans CN, Source Han Sans CN-Medium;
   font-weight: 500;
   color: #ffffff;

+ 4 - 41
src/views/bigViews/dataView1/components/mapdata.vue

@@ -16,43 +16,6 @@
             class="chart t_btn9"
             style="width: 100%; height: 100%"
           ></div>
-          <div
-            :class="{ shujuxianshi: true, my_xing: oldcIndex !== cIndex }"
-            v-if="list[cIndex]"
-          >
-            <div class="shujuxianshiTitle">{{ list[cIndex].city }}</div>
-            <div class="viewfilediv">
-              <div class="zfx c1"></div>
-              <span class="c7">{{ list[cIndex].insNew }}</span>
-              <span class="shujuxianshidw">单</span>
-            </div>
-            <div class="viewfilediv">
-              <div class="zfx c2"></div>
-              <span class="c8">{{ list[cIndex].insMacNew }}</span>
-              <span class="shujuxianshidw">台</span>
-            </div>
-            <div class="viewfilediv">
-              <div class="zfx c3"></div>
-              <span class="c7">{{ list[cIndex].repNew }}</span>
-              <span class="shujuxianshidw">单</span>
-            </div>
-            <!-- 新增清洗 -->
-            <div class="viewfilediv">
-              <div class="zfx c9"></div>
-              <span class="c7">{{ list[cIndex].repOpenqx }}</span>
-              <span class="shujuxianshidw">单</span>
-            </div>
-            <div class="viewfilediv">
-              <div class="zfx c4"></div>
-              <span class="c6">{{ list[cIndex].insOpen }}</span>
-              <span class="shujuxianshidw">单</span>
-            </div>
-            <div class="viewfilediv">
-              <div class="zfx c5"></div>
-              <span class="c6">{{ list[cIndex].repOpen }}</span>
-              <span class="shujuxianshidw">单</span>
-            </div>
-          </div>
           <div class="leixingxianshi">
             <div class="viewfilediv">
               <div class="zfx c1"></div>
@@ -290,7 +253,7 @@ export default {
   box-sizing: border-box;
   padding: 16px 20px;
   .shujuxianshiTitle {
-    font-size: 20px;
+    font-size: 16px;
     font-family: Source Han Sans CN, Source Han Sans CN-Regular;
     font-weight: 400;
     text-align: left;
@@ -305,8 +268,8 @@ export default {
   width: 120px;
   height: auto;
   position: absolute;
-  bottom: 30px;
-  right: 45px;
+  bottom: 0px;
+  right: -10px;
 }
 .viewfilediv {
   width: 100%;
@@ -318,7 +281,7 @@ export default {
     margin-bottom: 10px;
   }
   span {
-    font-size: 18px;
+    font-size: 14px;
     font-family: Source Han Sans CN, Source Han Sans CN-Regular;
     font-weight: 400;
     text-align: right;

+ 46 - 0
src/views/bigViews/dataView1/components/orderAmountTrend.vue

@@ -0,0 +1,46 @@
+<template>
+  <moduleEnclosure title="近30日订单金额趋势">
+    <div class="dvScrollBoardView">
+      
+    </div>
+  </moduleEnclosure>
+</template>
+
+<script>
+import moduleEnclosure from '@/components/moduleEnclosure.vue';
+import img0 from '@/assets/xia.png';
+import img1 from '@/assets/shang.png';
+import img2 from '@/assets/y1.png';
+import img3 from '@/assets/y2.png';
+import img4 from '@/assets/y3.png';
+import { getQuery13, getQuery14 } from '@/api/bigView.js';
+var timeling = 5000;
+export default {
+  components: {
+    moduleEnclosure,
+  },
+  data() {
+    return {
+     
+    };
+  },
+  mounted() {
+    
+  },
+  beforeUnmount() {
+    
+  },
+  methods: {
+    
+  },
+};
+</script>
+
+<style scoped lang="scss">
+.dvScrollBoardView {
+  width: 100%;
+  height: 100%;
+  box-sizing: border-box;
+  padding-top: 16px;
+}
+</style>

+ 1 - 1
src/views/bigViews/dataView1/components/maintenanceWorkOrder.vue → src/views/bigViews/dataView1/components/orderStatistics.vue

@@ -1,5 +1,5 @@
 <template>
-  <moduleEnclosure title="近一月维修工单类型分析">
+  <moduleEnclosure title="近30日累计订单统计">
     <div
       style="
         width: 100%;

+ 1 - 1
src/views/bigViews/dataView1/components/completionOfRepair.vue → src/views/bigViews/dataView1/components/orderTrend.vue

@@ -1,5 +1,5 @@
 <template>
-  <moduleEnclosure title="近一月维修完工统计">
+  <moduleEnclosure title="近30日订单趋势">
     <div id="main3" style="width: 100%; height: 100%"></div>
   </moduleEnclosure>
 </template>

+ 3 - 3
src/views/bigViews/dataView1/components/qualityOfService.vue → src/views/bigViews/dataView1/components/trendChart.vue

@@ -1,5 +1,5 @@
 <template>
-  <moduleEnclosure title="近一月服务质量统计">
+  <moduleEnclosure title="趋势图">
     <template v-slot:rightce>
       <div class="classbtns">
         <div
@@ -8,7 +8,7 @@
             select: cindex === 0,
           }"
         >
-          差评数
+          浏览量
         </div>
         <div
           @click="cindex = 1"
@@ -16,7 +16,7 @@
             select: cindex === 1,
           }"
         >
-          好评率
+          访客量
         </div>
       </div>
     </template>

+ 1 - 1
src/views/bigViews/dataView1/components/newChannels.vue → src/views/bigViews/dataView1/components/workOrderStatistics.vue

@@ -1,5 +1,5 @@
 <template>
-  <moduleEnclosure title="近一月各渠道新增统计">
+  <moduleEnclosure title="近30天累计工单统计">
     <div id="main4" style="width: 100%; height: 100%"></div>
   </moduleEnclosure>
 </template>

+ 1 - 1
src/views/bigViews/dataView1/components/completionOfInstallation.vue → src/views/bigViews/dataView1/components/workOrderTrend.vue

@@ -1,5 +1,5 @@
 <template>
-  <moduleEnclosure title="近一月安装完工统计">
+  <moduleEnclosure title="近30天工单趋势">
     <div id="main2" style="width: 100%; height: 100%"></div>
   </moduleEnclosure>
 </template>

+ 31 - 26
src/views/bigViews/dataView1/index.vue

@@ -3,43 +3,48 @@
     <zj-page-container direction="row">
       <zj-page-fill>
         <zj-page-container direction="row">
-          <div style="width: 25%">
+          <div style="width: 26%">
             <zj-page-container>
               <div class="module-inner-margin h47">
-                <electronOfTheDay />
+                <!-- 辅配件统计 -->
+                <accessoryStatistics />
+              </div>
+              <div class="module-inner-margin h53">
+                <!-- 工单统计 -->
+                <workOrderStatistics />
               </div>
-              <div class="module-inner-margin h53"><newChannels /></div>
               <div
                 class="module-inner-margin"
                 style="min-height: 30.32%; height: 30.32%"
               >
-                <completionOfInstallation />
+                <!-- 工单趋势 -->
+                <workOrderTrend />
               </div>
             </zj-page-container>
           </div>
-          <div style="width: 50%">
+          <div style="width: 48%">
             <zj-page-container>
               <div class="module-inner-margin h70">
                 <mapdata v-if="showMap" />
               </div>
               <div class="module-inner-margin h30">
-                <qualityOfService />
+                <trendChart />
               </div>
             </zj-page-container>
           </div>
-          <div style="width: 25%">
+          <div style="width: 26%">
             <zj-page-container>
               <div class="module-inner-margin h47">
-                <maintenanceWorkOrder />
+                <orderStatistics />
               </div>
               <div class="module-inner-margin h53">
-                <completionOfRepair />
+                <orderTrend />
               </div>
               <div
                 class="module-inner-margin"
                 style="min-height: 30.32%; height: 30.32%"
               >
-                <badRatingRanking />
+                <orderAmountTrend />
               </div>
             </zj-page-container>
           </div>
@@ -50,24 +55,24 @@
 </template>
 
 <script>
-import badRatingRanking from './components/badRatingRanking.vue';
-import completionOfInstallation from './components/completionOfInstallation.vue';
-import completionOfRepair from './components/completionOfRepair.vue';
-import electronOfTheDay from './components/electronOfTheDay.vue';
-import maintenanceWorkOrder from './components/maintenanceWorkOrder.vue';
+import orderAmountTrend from './components/orderAmountTrend.vue';
+import workOrderTrend from './components/workOrderTrend.vue';
+import orderTrend from './components/orderTrend.vue';
+import accessoryStatistics from './components/accessoryStatistics.vue';
+import orderStatistics from './components/orderStatistics.vue';
 import mapdata from './components/mapdata.vue';
-import newChannels from './components/newChannels.vue';
-import qualityOfService from './components/qualityOfService.vue';
+import workOrderStatistics from './components/workOrderStatistics.vue';
+import trendChart from './components/trendChart.vue';
 export default {
   components: {
-    badRatingRanking,
-    completionOfInstallation,
-    completionOfRepair,
-    electronOfTheDay,
-    maintenanceWorkOrder,
+    orderAmountTrend,
+    workOrderTrend,
+    orderTrend,
+    accessoryStatistics,
+    orderStatistics,
     mapdata,
-    newChannels,
-    qualityOfService,
+    workOrderStatistics,
+    trendChart,
   },
   data() {
     return {
@@ -89,11 +94,11 @@ export default {
   width: 100%;
   height: 100%;
   box-sizing: border-box;
-  padding: 14px;
+  padding: 6px;
 }
 .module-inner-margin {
   box-sizing: border-box;
-  padding: 10px;
+  padding: 6px;
 }
 .h30 {
   height: 30%;

+ 1 - 1
src/views/bigViews/index.vue

@@ -205,7 +205,7 @@ export default {
   }
   .head-size {
     width: 100%;
-    height: 78px;
+    height: 60px;
   }
 }
 </style>