diff --git a/src/views/modules/order/buyorder.vue b/src/views/modules/order/buyorder.vue
index 6963481..64da14d 100644
--- a/src/views/modules/order/buyorder.vue
+++ b/src/views/modules/order/buyorder.vue
@@ -769,31 +769,42 @@
8: '心理学VIP'
};
- const vipTypes = userVips.map(vip => vip.type);
- const isMedicalVip = [4, 5, 6].every(type => vipTypes.includes(type));
- const isPsychologyVip = [7,8].every(type => vipTypes.includes(type));
-
- // 特殊情况:医学 + 心理学
- if (isMedicalVip && isPsychologyVip) {
- return `医学SVIP
- 国学与心理学SVIP`;
- }
-
- // 只有医学VIP
- if (isMedicalVip) {
- return `医学超级VIP`;
+ // 将 userVips 转为数组形式,以便处理(如果是数字则转为数字数组)
+ let vipTypes = [];
+ if (typeof userVips === 'number') {
+ vipTypes = String(userVips).split('').map(Number); // 数字转为数组
+ } else {
+ vipTypes = userVips.map(vip => vip.type); // 如果是对象数组,获取每个对象的 type
}
- // 只有心理学VIP
- if (isPsychologyVip) {
- return `国学与心理学超级VIP`;
+ // 判断是否同时包含 4、5、6(医学SVIP)
+ const hasMedicalSVip = [4, 5, 6].every(type => vipTypes.includes(type));
+ // 判断是否同时包含 7、8(心理学SVIP)
+ const hasPsychologySVip = [7, 8].every(type => vipTypes.includes(type));
+
+ const tags = [];
+
+ // 1. 医学SVIP(只显示一次)
+ if (hasMedicalSVip) {
+ tags.push(`医学SVIP`);
}
- // **普通情况**:单独展示所有 `type` 对应的内容
- return vipTypes
- .filter(type => vipMap[type]) // 过滤出有对应名称的类型
- .map(type => `${vipMap[type]}`)
- .join(' ');
+ // 2. 心理学SVIP(只显示一次)
+ if (hasPsychologySVip) {
+ tags.push(`心理学SVIP`);
+ }
+
+ // 3. 普通VIP标签(确保不重复显示SVIP相关的类型)
+ vipTypes
+ .filter(type => vipMap[type] && !(
+ (hasMedicalSVip && [4, 5, 6].includes(type)) || // 医学SVIP已显示,排除 4、5、6
+ (hasPsychologySVip && [7, 8].includes(type)) // 心理学SVIP已显示,排除 7、8
+ ))
+ .forEach(type => {
+ tags.push(`${vipMap[type]}`);
+ });
+
+ return tags.join(' ');
},
diff --git a/src/views/modules/user/user.vue b/src/views/modules/user/user.vue
index 27ee534..61365c6 100644
--- a/src/views/modules/user/user.vue
+++ b/src/views/modules/user/user.vue
@@ -456,32 +456,47 @@ export default {
8: '心理学VIP'
};
- const vipTypes = userVips.map(vip => vip.type);
- const isMedicalVip = [4, 5, 6].every(type => vipTypes.includes(type));
- const isPsychologyVip = [7,8].every(type => vipTypes.includes(type));
-
- // 特殊情况:医学 + 心理学
- if (isMedicalVip && isPsychologyVip) {
- return `医学SVIP
- 国学与心理学SVIP`;
- }
-
- // 只有医学VIP
- if (isMedicalVip) {
- return `医学超级VIP`;
+ // 将 userVips 转为数组形式,以便处理(如果是数字则转为数字数组)
+ let vipTypes = [];
+ if (typeof userVips === 'number') {
+ vipTypes = String(userVips).split('').map(Number); // 数字转为数组
+ } else {
+ vipTypes = userVips.map(vip => vip.type); // 如果是对象数组,获取每个对象的 type
}
- // 只有心理学VIP
- if (isPsychologyVip) {
- return `国学与心理学超级VIP`;
+ // 判断是否同时包含 4、5、6(医学SVIP)
+ const hasMedicalSVip = [4, 5, 6].every(type => vipTypes.includes(type));
+ // 判断是否同时包含 7、8(心理学SVIP)
+ const hasPsychologySVip = [7, 8].every(type => vipTypes.includes(type));
+
+ const tags = [];
+
+ // 1. 医学SVIP(只显示一次)
+ if (hasMedicalSVip) {
+ tags.push(`医学SVIP`);
}
- // **普通情况**:单独展示所有 `type` 对应的内容
- return vipTypes
- .filter(type => vipMap[type]) // 过滤出有对应名称的类型
- .map(type => `${vipMap[type]}`)
- .join(' ');
-},
+ // 2. 心理学SVIP(只显示一次)
+ if (hasPsychologySVip) {
+ tags.push(`心理学SVIP`);
+ }
+
+ // 3. 普通VIP标签(确保不重复显示SVIP相关的类型)
+ vipTypes
+ .filter(type => vipMap[type] && !(
+ (hasMedicalSVip && [4, 5, 6].includes(type)) || // 医学SVIP已显示,排除 4、5、6
+ (hasPsychologySVip && [7, 8].includes(type)) // 心理学SVIP已显示,排除 7、8
+ ))
+ .forEach(type => {
+ tags.push(`${vipMap[type]}`);
+ });
+
+ return tags.join(' ');
+}
+
+
+,
+
getVipMoney(data) {
console.log("data at line 420:", data.id);
diff --git a/src/views/modules/vip/personnel-management.vue b/src/views/modules/vip/personnel-management.vue
index 140af4a..4633f1e 100644
--- a/src/views/modules/vip/personnel-management.vue
+++ b/src/views/modules/vip/personnel-management.vue
@@ -200,31 +200,42 @@ export default {
8: '心理学VIP'
};
- const vipTypes = userVips.map(vip => vip.type);
- const isMedicalVip = [4, 5, 6].every(type => vipTypes.includes(type));
- const isPsychologyVip = [7,8].every(type => vipTypes.includes(type));
-
- // 特殊情况:医学 + 心理学
- if (isMedicalVip && isPsychologyVip) {
- return `医学SVIP
- 国学与心理学SVIP`;
- }
-
- // 只有医学VIP
- if (isMedicalVip) {
- return `医学超级VIP`;
+ // 将 userVips 转为数组形式,以便处理(如果是数字则转为数字数组)
+ let vipTypes = [];
+ if (typeof userVips === 'number') {
+ vipTypes = String(userVips).split('').map(Number); // 数字转为数组
+ } else {
+ vipTypes = userVips.map(vip => vip.type); // 如果是对象数组,获取每个对象的 type
}
- // 只有心理学VIP
- if (isPsychologyVip) {
- return `国学与心理学超级VIP`;
+ // 判断是否同时包含 4、5、6(医学SVIP)
+ const hasMedicalSVip = [4, 5, 6].every(type => vipTypes.includes(type));
+ // 判断是否同时包含 7、8(心理学SVIP)
+ const hasPsychologySVip = [7, 8].every(type => vipTypes.includes(type));
+
+ const tags = [];
+
+ // 1. 医学SVIP(只显示一次)
+ if (hasMedicalSVip) {
+ tags.push(`医学SVIP`);
}
- // **普通情况**:单独展示所有 `type` 对应的内容
- return vipTypes
- .filter(type => vipMap[type]) // 过滤出有对应名称的类型
- .map(type => `${vipMap[type]}`)
- .join(' ');
+ // 2. 心理学SVIP(只显示一次)
+ if (hasPsychologySVip) {
+ tags.push(`心理学SVIP`);
+ }
+
+ // 3. 普通VIP标签(确保不重复显示SVIP相关的类型)
+ vipTypes
+ .filter(type => vipMap[type] && !(
+ (hasMedicalSVip && [4, 5, 6].includes(type)) || // 医学SVIP已显示,排除 4、5、6
+ (hasPsychologySVip && [7, 8].includes(type)) // 心理学SVIP已显示,排除 7、8
+ ))
+ .forEach(type => {
+ tags.push(`${vipMap[type]}`);
+ });
+
+ return tags.join(' ');
},
// 获取列表数据
getDataList () {