diff --git a/Laravel/app/Http/Controllers/API/H5/ComboController.php b/Laravel/app/Http/Controllers/API/H5/ComboController.php
index 9b36976..4ad11ad 100644
--- a/Laravel/app/Http/Controllers/API/H5/ComboController.php
+++ b/Laravel/app/Http/Controllers/API/H5/ComboController.php
@@ -538,6 +538,7 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4)
$item_list[]=$item;
}
}
+ $item_list=$this->KeShiPaiXu($item_list);
$combo->items=$item_list;
$count = DB::table('orders')->where(['combo_id' => $combo->combo_id])->whereIn('status', [2, 4])->count();
$combo->saleCount = $count;
diff --git a/h5/pages/buy/contrast/contrast.vue b/h5/pages/buy/contrast/contrast.vue
index 90d742e..3406ddd 100644
--- a/h5/pages/buy/contrast/contrast.vue
+++ b/h5/pages/buy/contrast/contrast.vue
@@ -23,59 +23,40 @@
const combo_info = ref([null, null, null])
const item_info = computed(() => {
- let item_map = {}
- for (let i = 0; i <= 2; i++) {
- if (!!combo_info.value[i]) {
- for (let j = 0; j <= combo_info.value[i].items.length - 1; j++) {
- let item_id = combo_info.value[i].items[j].id
- if (!(item_id in item_map)) {
- item_map[item_id] = {
- name: combo_info.value[i].items[j].name,
- group: combo_info.value[i].items[j].keshi_name,
- value: [false, false, false]
- }
- }
- item_map[item_id].value[i] = true
- }
- }
- }
- let data = []
- for (let i in item_map) {
- if (!same_item_show.value) {
- data.push(item_map[i])
- } else {
- let count = 0;
- for (let j = 0; j <= 2; j++) {
- if (!combo_info.value[j]) {
- count++
- } else {
- let item_id = combo_info.value[j].items[j].id
- if (item_map[i].value[j]) {
- count++
- }
- }
- }
- if (count !== 3) {
- data.push(item_map[i])
- }
- }
- }
- let group_map = {}
- for (let i in data) {
- if (!(data[i].group in group_map)) {
- group_map[data[i].group] = {
- group: data[i].group,
- items: []
- }
- }
- group_map[data[i].group].items.push(data[i])
- }
- let ret_list = []
- for (let i in group_map) {
- ret_list.push(group_map[i])
- }
- return ret_list
- })
+ let item_map = [];
+ for (let i = 0; i <= 2; i++) {
+ if (!!combo_info.value[i]) {
+ for (let j = 0; j <= combo_info.value[i].items.length - 1; j++) {
+ let item_id = combo_info.value[i].items[j].id;
+ let existingItem = item_map.find(item => item.id === item_id);
+ if (!existingItem) {
+ item_map.push({
+ id: item_id,
+ name: combo_info.value[i].items[j].name,
+ group: combo_info.value[i].items[j].keshi_name,
+ value: [false, false, false]
+ });
+ existingItem = item_map[item_map.length - 1];
+ }
+ existingItem.value[i] = true;
+ }
+ }
+ }
+
+ let data = item_map.filter(item => !same_item_show.value || item.value.some(v => v));
+
+ let group_map = [];
+ data.forEach(item => {
+ let group = group_map.find(g => g.group === item.group);
+ if (!group) {
+ group = { group: item.group, items: [] };
+ group_map.push(group);
+ }
+ group.items.push(item);
+ });
+
+ return group_map;
+ });
const base_info = computed(() => {
let data = [{
title: '体检类型',
diff --git a/h5/pages/main/question/info/info.vue b/h5/pages/main/question/info/info.vue
index 00b87f1..501beca 100644
--- a/h5/pages/main/question/info/info.vue
+++ b/h5/pages/main/question/info/info.vue
@@ -118,10 +118,10 @@
本方案根据您的身体状况进行基础检查,经济实用,避免过度检查
-
+
查看详细方案
@@ -141,10 +141,10 @@
本方案根据您的身体状况进行基础检查,经济实用,避免过度检查
-
+
查看详细方案
@@ -164,10 +164,10 @@
本方案根据您的身体状况进行基础检查,经济实用,避免过度检查
-
+
查看详细方案