|
@@ -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>
|