Commit eec0b0aa authored by 任国军's avatar 任国军

fix report calc class score

parent 98694127
Pipeline #23027 passed with stage
in 13 seconds
......@@ -527,39 +527,39 @@ class ReportService extends Service {
if (v.column_type === 1) {
switch (v.column) {
case 'filter_price':
score += await this.checkScore(classInfo.filter_price, v.option, v.column_value, v.column_score);
score += await this.checkScore(classInfo.filter_price, v.column_option, v.column_value, v.column_score);
break;
case 'price_type':
score += await this.checkScore(classInfo.price_type, v.option, v.column_value, v.column_score);
score += await this.checkScore(classInfo.price_type, v.column_option, v.column_value, v.column_score);
break;
case 'mode':
score += await this.checkScore(classInfo.mode, v.option, v.column_value, v.column_score);
score += await this.checkScore(classInfo.mode, v.column_option, v.column_value, v.column_score);
break;
case 'time':
score += await this.checkScore(classInfo.time, v.option, v.column_value, v.column_score);
score += await this.checkScore(classInfo.time, v.column_option, v.column_value, v.column_score);
break;
case 'class_amount':
score += await this.checkScore(classInfo.class_amount, v.option, v.column_value, v.column_score);
score += await this.checkScore(classInfo.class_amount, v.column_option, v.column_value, v.column_score);
break;
case 'multi_classes':
score += await this.checkScore(classInfo.multi_classes, v.option, v.column_value, v.column_score);
score += await this.checkScore(classInfo.multi_classes, v.column_option, v.column_value, v.column_score);
break;
case 'cycle':
score += await this.checkScore(classInfo.cycle, v.option, v.column_value, v.column_score);
score += await this.checkScore(classInfo.cycle, v.column_option, v.column_value, v.column_score);
break;
case 'type':
for (const j of classInfo.type_list) {
score += await this.checkScore(String(j.id), v.option, v.column_value, v.column_score);
score += await this.checkScore(String(j.id), v.column_option, v.column_value, v.column_score);
}
break;
case 'frequency':
for (const j of classInfo.frequency_list) {
score += await this.checkScore(String(j.id), v.option, v.column_value, v.column_score);
score += await this.checkScore(String(j.id), v.column_option, v.column_value, v.column_score);
}
break;
case 'age':
for (const j of classInfo.age_list) {
score += await this.checkScore(String(j.id), v.option, v.column_value, v.column_score);
score += await this.checkScore(String(j.id), v.column_option, v.column_value, v.column_score);
}
break;
default:
......@@ -568,7 +568,7 @@ class ReportService extends Service {
} else {
for (const j of classInfo.column_list) {
if (v.column === j.id) {
score += await this.checkScore(j.value, v.option, v.column_value, v.column_score);
score += await this.checkScore(j.value, v.column_option, v.column_value, v.column_score);
}
}
}
......@@ -581,6 +581,7 @@ class ReportService extends Service {
// 判断是否符合条件
async checkScore(value, option, filter, score) {
let ret = 0;
switch (option) {
case 1:
ret = value === filter ? Number(score) : 0;
......@@ -599,9 +600,10 @@ class ReportService extends Service {
break;
case 6:
filter = eval(filter);
score = eval(score);
for (const i in filter) {
if (filter[i] === value && score.length > i) {
ret += score[i];
ret += Number(score[i]);
}
}
break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment