liyongli 2 年之前
父節點
當前提交
bf7edfaee6
共有 1 個文件被更改,包括 64 次插入59 次删除
  1. 64 59
      src/views/report/Calendar/index.vue

+ 64 - 59
src/views/report/Calendar/index.vue

@@ -17,33 +17,36 @@
         :key="item.title + index"
       >
         <p class="headTitle" v-text="item.title"></p>
+        <div v-if="item.data.length">
+          <div v-for="(v1, i1) in item.data" :key="i1">
+            <!-- 月历主页 -->
+            <div class="monthlyCalendar">
+              <div class="title" v-text="v1.month"></div>
 
-        <!-- 月历主页 -->
-        <div class="monthlyCalendar">
-          <div class="title" v-text="item.Month"></div>
+              <div class="CalenMain">
+                <div class="CalenRow CalenHead">
+                  <div class="CalenCol">MON</div>
+                  <div class="CalenCol">TUE</div>
+                  <div class="CalenCol">WED</div>
+                  <div class="CalenCol">THU</div>
+                  <div class="CalenCol">FRI</div>
+                  <div class="CalenCol">SAT</div>
+                  <div class="CalenCol">SUN</div>
+                </div>
+                <div
+                  class="CalenRow CalenBody"
+                  v-for="(v, i) in v1.list"
+                  :key="i"
+                >
+                  <div v-for="(son, o) in v" :key="o" class="CalenCol">
+                    <div v-if="son">
+                      <div class="dayDate">
+                        <div class="dayDate_son">{{ son.day }}</div>
+                      </div>
 
-          <div class="CalenMain">
-            <div class="CalenRow CalenHead">
-              <div class="CalenCol">MON</div>
-              <div class="CalenCol">TUE</div>
-              <div class="CalenCol">WED</div>
-              <div class="CalenCol">THU</div>
-              <div class="CalenCol">FRI</div>
-              <div class="CalenCol">SAT</div>
-              <div class="CalenCol">SUN</div>
-            </div>
-            <div
-              class="CalenRow CalenBody"
-              v-for="(v, i) in item.data"
-              :key="i"
-            >
-              <div v-for="(son, o) in v" :key="o" class="CalenCol">
-                <div v-if="son">
-                  <div class="dayDate">
-                    <div class="dayDate_son">{{ son.day }}</div>
+                      <div class="text" v-text="son.value"></div>
+                    </div>
                   </div>
-
-                  <div class="text" v-text="son.value"></div>
                 </div>
               </div>
             </div>
@@ -76,7 +79,7 @@
 import watermark from "watermark-package";
 import DayJs from "dayjs";
 // import {} from "../utils/tool";
-import { jsonCalendarOne, jsonCalendarTwo } from "../../../api/index";
+import { jsonCalendarOne } from "../../../api/index";
 
 // import echarts from "../../../utils/echarts";
 
@@ -117,43 +120,46 @@ export default {
       time: Date.now(),
     }).then(res => {
       let dataOne = res || [];
+          console.log(dataOne );
       for (let i = 0; i < dataOne.length; i++) {
-        const li = [];
-        const v = dataOne[i];
-        // 判断第一天是周几,不是周一向前补到周一,最后一天不是周日补到周日
-        const Month = JSON.parse(JSON.stringify(v.data || []));
-        v.Month = this.getMonth(Month[0].dt);
-        for (let o = 0; o < Month.length; o++) {
-          const item = Month[o];
-          console.log(item)
-          for (let p = 0; p < (item.list).length; p++) {
-            
-          const dt = new DayJs(Month[o][p].dt);
-          Month[o][p].week = dt.format("ddd").toLocaleUpperCase();
-          Month[o].weekNum = dt.format("d") === 0 ? 7 : dt.format("d");
-          Month[o].day = dt.format("D");
-          if (o % 7 === 0) li.push([]);
-          const li_index = li.length ? li.length - 1 : 0;
-          li[li_index].push(Month[o]);
-            
+        const item1 = dataOne[i].data ? dataOne[i].data || [] : [];
+        for (let o = 0; o < item1.length; o++) {
+          const item2 =
+            dataOne[i].data && dataOne[i].data
+              ? dataOne[i].data[o] || []
+              : undefined;
+          if (item2 === undefined) continue;
+          const dayjs_Start =
+            item2.list[0] && item2.list[0].dt ? new DayJs(item2.list[0].dt) : undefined;
+          const item2_Length = item2.list.length ? item2.list.length - 1 : 0;
+          const dayjs_Last =
+            item2.list[item2_Length] 
+              ? new DayJs(item2.list[item2_Length].dt)
+              : undefined;
+          let first = dayjs_Start ? dayjs_Start.format("d") : undefined;
+          let last = dayjs_Last ? dayjs_Last.format("d") : undefined;
+          last && last != 0 && (last = 7 - last);
+          first && dataOne[i].data[o].list.unshift(...new Array(first - 1));
+          last && dataOne[i].data[o].list.push(...new Array(last - 0));
+          let li = []
+          for (let p = 0; p < dataOne[i].data[o].list.length; p++) {
+            const item3 = dataOne[i].data[o].list[p] || undefined;
+            if(p%7 === 0) li.push([]);
+            let end = li.length ? li.length - 1 : 0;
+            if(!item3) {
+                li[end].push(undefined);
+                continue;
+            }
+            let dt3 = new DayJs(item3.dt);
+            item3.day = dt3.format("D");
+            li[end].push(item3);
           }
+          dataOne[i].data[o].list = li;
         }
-        if (Month[0].weekNum !== 1)
-          li[0].unshift(...new Array(Month[0].weekNum - 1));
-        const li_out_index = li.length ? li.length - 1 : 0;
-        if (Month.reverse()[0].weekNum !== 7)
-          li[li_out_index].push(...new Array(7 - Month[0].weekNum));
-        v.data = li;
       }
+      console.log(dataOne);
       this.dataOne = dataOne;
     });
-
-    jsonCalendarTwo({
-      date: this.$route.params.date,
-      time: Date.now(),
-    }).then(r=>{
-        console.log(r)
-    })
   },
   computed: {},
   methods: {
@@ -164,8 +170,7 @@ export default {
     },
   },
   beforeUnmount() {},
-  components: {
-  },
+  components: {},
 };
 </script>
 
@@ -202,7 +207,7 @@ export default {
   font-weight: bold;
   color: #be651a;
   line-height: 30px;
-  text-shadow: 0 0 10px #fff,0 0 20px #fff,0 0 30px #fff;
+  text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff;
 }
 
 .headSubTitle {