|  | @@ -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,7 @@ 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 +176,29 @@ 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}节`)
 | 
	
		
			
				|  |  | -              );
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            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 +213,19 @@ export default {
 | 
	
		
			
				|  |  |        loading: false,
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  | +  watch: {},
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  |      changeValue(date) {
 | 
	
		
			
				|  |  |        // 请求更改数据
 | 
	
		
			
				|  |  |        this.mdate = date;
 | 
	
		
			
				|  |  |        this.isDayOrMoth(date);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        this.FetchDetail();
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      async FetchDetail() {
 | 
	
		
			
				|  |  | +      console.log("vip单独调用");
 | 
	
		
			
				|  |  |        this.loading = true;
 | 
	
		
			
				|  |  | -      const data = this.data;
 | 
	
		
			
				|  |  | +      let data = [];
 | 
	
		
			
				|  |  |        try {
 | 
	
		
			
				|  |  |          const { dates, ...rest } = this.search;
 | 
	
		
			
				|  |  |          const res = await getIndex({
 | 
	
	
		
			
				|  | @@ -251,9 +248,7 @@ export default {
 | 
	
		
			
				|  |  |        } catch (error) {
 | 
	
		
			
				|  |  |          console.log(error);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |        this.loading = false;
 | 
	
		
			
				|  |  | -      this.dataInfo = data;
 | 
	
		
			
				|  |  |        this.$emit("resetDate", data);
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      isDayOrMoth(arr) {
 | 
	
	
		
			
				|  | @@ -268,6 +263,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>
 |