فهرست منبع

Merge branch '04/22-index' into test

mo 4 سال پیش
والد
کامیت
11a1e37e34

+ 0 - 1
src/views/main/api.js

@@ -4,7 +4,6 @@ import request2 from '@/utils/request2'
 export const getIndex = data => request2({
   url: '/api-web/newIndex',
   params: data,
-  loading: false,
   method: 'get',
 })
 export const getInspectionItem = data => request2({

+ 91 - 35
src/views/main/baseinfo/curriculum.vue

@@ -112,11 +112,15 @@ export default {
     },
     chartDataForMoth() {
       const values = Object.values(this.items);
+      //   console.log(values)
+      // values['VIP_GROUP_COURSE'].forEach(item=>{
+      //     console.log(item.month)
+      //   })
       const months = {};
+
       for (const item of values) {
         for (const row of item.indexMonthData || []) {
           const key = this.$helpers.dayjs(row.month).format("YYYY-MM");
-
           if (!months[key]) {
             months[key] = {
               月份: key,
@@ -131,7 +135,7 @@ export default {
           }
         }
       }
-
+      console.log(Object.values(months));
       return {
         columns: ["月份", ...values.map((item) => item.title)],
         rows: Object.values(months),
@@ -163,7 +167,6 @@ export default {
             },
           },
           formatter: (item) => {
-            let str = "";
             let strArr = [];
             let dotStr =
               '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;opacity:0;"></span>';
@@ -172,39 +175,32 @@ export default {
                 (d) => `<br/>${d.marker}${d.seriesName}: ${d.value[1]}节`
               ),
             ];
-            if (
-              this.items["VIP_GROUP_COURSE"]["indexMonthData"][
-                item[0].dataIndex
-              ]?.extendInfo
-            ) {
-              str = this.items["VIP_GROUP_COURSE"]["indexMonthData"][
-                item[0].dataIndex
-              ]?.extendInfo;
-              str.replace("/", "");
-              try {
-                let strObj = JSON.parse(str);
-                for (let item in strObj) {
-                  strArr.push({ name: item, num: strObj[item] });
-                }
-                // console.log(strArr)
-              } catch (e) {
-                console.log(e);
-                str = "";
-              }
-              // console.log(lodash.valuesIn(str))
-
-              let vipIndex = 0;
-              item.forEach((i, indx) => {
+            if (this.timer == "day") {
+              strArr = this.setVipDayDetail(item);
+            } else {
+              let vipDEtail = this.setVipMonthDetail();
+              item.forEach((i) => {
                 if (i.seriesName == "VIP课") {
-                  vipIndex = indx;
+                  for (let items in vipDEtail[i.name]) {
+                    strArr.push({ name: items, num: vipDEtail[i.name][items] });
+                  }
                 }
               });
-              array.splice(
-                vipIndex + 1,
-                0,
-                ...strArr.map((d) => `<br/>${dotStr}${d.name}: ${d.num}节`)
-              );
+              strArr.sort(function (item1, item2) {
+                return item1.name.localeCompare(item2.name, "zh-CN");
+              });
             }
+            let vipIndex = 0;
+            item.forEach((i, indx) => {
+              if (i.seriesName == "VIP课") {
+                vipIndex = indx;
+              }
+            });
+            array.splice(
+              vipIndex + 1,
+              0,
+              ...strArr.map((d) => `<br/>${dotStr}${d.name}: ${d.num}节`)
+            );
             return [item[0].axisValueLabel, ...array].join("");
           },
         },
@@ -219,16 +215,18 @@ export default {
       loading: false,
     };
   },
+  watch: {},
   methods: {
     changeValue(date) {
       // 请求更改数据
       this.mdate = date;
       this.isDayOrMoth(date);
+
       this.FetchDetail();
     },
     async FetchDetail() {
       this.loading = true;
-      const data = this.data;
+      let data = [];
       try {
         const { dates, ...rest } = this.search;
         const res = await getIndex({
@@ -251,9 +249,7 @@ export default {
       } catch (error) {
         console.log(error);
       }
-
       this.loading = false;
-      this.dataInfo = data;
       this.$emit("resetDate", data);
     },
     isDayOrMoth(arr) {
@@ -268,6 +264,66 @@ export default {
           : (this.timer = "day");
       }
     },
+    setVipMonthDetail() {
+      console.log("调用");
+      const vipdetail = {};
+      let datas = this.items["VIP_GROUP_COURSE"]["indexMonthData"];
+      datas.forEach((item) => {
+        let str = item.extendInfo;
+        let strArr = [];
+        let strObj = {};
+        str.replace("/", "");
+        if (str) {
+          try {
+            strObj = JSON.parse(str);
+            // for (let item in strObj) {
+            //   strArr.push({ name: item, num: parseFloat(strObj[item]) });
+            // }
+          } catch (e) {
+            console.log(e);
+            str = "";
+          }
+        }
+        const key = this.$helpers.dayjs(item.month).format("YYYY-MM");
+        if (!vipdetail[key]) {
+          vipdetail[key] = strObj;
+        } else {
+          for (let element in strObj) {
+            if (vipdetail[key].hasOwnProperty(element)) {
+              vipdetail[key][element] += strObj[element];
+            } else {
+              vipdetail[key][element] = strObj[element];
+            }
+          }
+        }
+      });
+      return vipdetail;
+    },
+    setVipDayDetail(item) {
+      let strArr = [];
+      let str = "";
+      if (
+        this.items["VIP_GROUP_COURSE"]["indexMonthData"][item[0].dataIndex]
+          ?.extendInfo
+      ) {
+        str = this.items["VIP_GROUP_COURSE"]["indexMonthData"][
+          item[0].dataIndex
+        ]?.extendInfo;
+        str.replace("/", "");
+        try {
+          let strObj = JSON.parse(str);
+          for (let item in strObj) {
+            strArr.push({ name: item, num: strObj[item] });
+          }
+          // console.log(strArr)
+        } catch (e) {
+          console.log(e);
+          str = "";
+        }
+        // console.log(lodash.valuesIn(str))
+      }
+      return strArr;
+    },
   },
 };
 </script>

+ 14 - 1
src/views/main/baseinfo/index.vue

@@ -221,7 +221,20 @@ export default {
       }
     },
     resetDate(data) {
-      this.dataInfo = {...this.dataInfo,...data};
+      let arr = null
+      for(let item in data){
+        // console.log(item)
+        if(item =='VIP_GROUP_COURSE'){
+          console.log(data[item])
+          arr = data[item].indexMonthData
+        }
+        this.dataInfo[item] = data[item]
+
+      }
+
+
+      // console.log(this.dataInfo)
+      // this.dataInfo = {...this.dataInfo,...data};
     },
   },
 };

+ 0 - 1
src/views/main/baseinfo/management.vue

@@ -250,7 +250,6 @@ export default {
       } catch (error) {
         console.log(error);
       }
-      console.log(data)
       this.loading = false;
       this.$emit("resetDate", data);
     },

+ 1 - 0
src/views/main/baseinfo/modals/searchHeader.vue

@@ -75,6 +75,7 @@ export default {
       this.submitDate(this.date);
     },
     changeQuick(val) {
+
       let startDate;
       let endDate;
       if (val == "month") {

+ 1 - 1
src/views/main/baseinfo/student.vue

@@ -210,7 +210,7 @@ export default {
     },
     async FetchDetail() {
       this.loading = true;
-      const data = this.data;
+      let data = [];
       try {
         const { dates, ...rest } = this.search;
         const res = await getIndex({

+ 1 - 0
src/views/main/index.vue

@@ -138,6 +138,7 @@ export default {
       });
     },
     reloadItem() {
+      console.log('调用')
       if (this.$refs.teamSchedule) {
         this.$refs.teamSchedule.getList();
       }