diff --git a/Laravel/app/Http/Controllers/API/H5/ComboController.php b/Laravel/app/Http/Controllers/API/H5/ComboController.php
index 016e034..7929f63 100644
--- a/Laravel/app/Http/Controllers/API/H5/ComboController.php
+++ b/Laravel/app/Http/Controllers/API/H5/ComboController.php
@@ -139,13 +139,20 @@ select combo_id as c_id,count(*) as count from orders where status in(2,4) group
if(json_decode($combo->duo_xuan_yi)){
$N1=json_decode($combo->duo_xuan_yi);
foreach ($N1 as $k=>$v){
+ $duo_xuan_yi[$k][]=[
+ 'zu_name'=>$v->组名称,
+ 'item_list'=>[]
+ ];
foreach ($v->包含项目 as $k2=>$v2){
-
- $duo_xuan_yi[$k][]=[
+ $duo_xuan_yi[$k]['item_list'][]=
+ [
'item_id' =>$v2->Id,
'item_name' => $v2->名称,
'price'=>$v2->价格
];
+
+
+
}
}
@@ -208,6 +215,7 @@ select combo_id as c_id,count(*) as count from orders where status in(2,4) group
$hospital_id = request('hospital');
$combo_id = request('combo_id'); //购买的套餐id
$item_ids = request('item_ids'); //自选项目ids
+ $duo_xuan_yi = request('duo_xuan_yi'); //多选1
$group_id = request('group_id'); //团检登记id
if (!isset($hospital_id)) return \Yz::echoError1("医院id不能为空");
$hospital = DB::table('hospitals')->where(['id' => 1, 'status' => 1, 'is_del' => 0])->first();
@@ -216,6 +224,7 @@ select combo_id as c_id,count(*) as count from orders where status in(2,4) group
$all_original_price = 0;
$true_price = 0;
$nmr_list=[];
+
if (isset($combo_id) and $combo_id != 0) {
// $combo=DB::table('combos')->where(['hospital_id'=>$hospital_id,'combo_id'=>$combo_id,'status'=>1])->first();
$combo = DB::select("select a.*,b.*,c.name as crowd_name from combos as a LEFT JOIN (
@@ -223,7 +232,32 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4)
) as b on a.combo_id=b.c_id left join combo_crowd as c on a.crowd_id=c.id where a.combo_id=? and a.status=1 ", [$combo_id]);
if (!$combo) return \Yz::echoError1("套餐不存在");
+
+
$combo = $combo[0];
+ //构建多选一数据
+ $Nx1_arrInfo=[];
+ if(isset($duo_xuan_yi) and !empty($duo_xuan_yi)){
+ $combo_Nx1=json_decode($combo->duo_xuan_yi,true);
+ foreach ($duo_xuan_yi as $r_k=>$r_v){
+ foreach ($combo_Nx1 as $k=> $n1v){
+ if($r_v['zu_name'] == $n1v['组名称']){
+ foreach ($n1v['包含项目'] as $k2 => $v2){
+ if($v2['Id'] == $r_v['item_id']){
+ $Nx1_arrInfo[] = [
+ 'id' => $v2['Id'],
+ 'name' => $v2['名称'],
+ 'desc' => $v2['简介'],
+ 'keshi_name' => $v2['科室名称'],
+ ];
+ }
+ }
+ }
+
+ }
+ }
+
+ }
$combo_info['hospital_name'] = $hospital->name;
$combo_info['combo_name'] = $combo->name;
$combo_info['crowd_name'] = $combo->crowd_name;
@@ -249,6 +283,7 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4)
$combo_info['original_price'] = $combo->original_price;
$all_original_price += $combo_info['original_price'];
$combo_items = json_decode($combo->items, true);
+ $combo_items=array_merge($combo_items,$Nx1_arrInfo); //合并多选一
$groupedData = [];
foreach ($combo_items as $item) {
$keshiName = $item['keshi_name'];
diff --git a/Laravel/app/Http/Controllers/API/H5/OrderController.php b/Laravel/app/Http/Controllers/API/H5/OrderController.php
index 59226ad..b0db579 100644
--- a/Laravel/app/Http/Controllers/API/H5/OrderController.php
+++ b/Laravel/app/Http/Controllers/API/H5/OrderController.php
@@ -70,6 +70,7 @@ class OrderController extends Controller
$type = request('type');//1个检2团检
$group_id = request('group_id');//团检id
$item_ids = request('item_ids');//自选item的ids
+ $duo_xuan_yi = request('duo_xuan_yi'); //多选1
$plan_id = request('plan_id');//号源id
$plan_nmr_id = request('plan_nmr_id');//核磁号源id
$doctor = request('doctor');//预约的医生名字
@@ -105,6 +106,7 @@ class OrderController extends Controller
'nmr_list'=>[]
];
//如果是套餐
+ $Nx1_arrInfo=[];
$TJ_Leixing_id=1;//存储用体检类型
$checkup_type_id = false; //体检类型id
if (isset($combo_id) and $combo_id <> 0) {
@@ -112,6 +114,27 @@ class OrderController extends Controller
if (!$combo_info) return \Yz::echoError1("套餐不存在");
if (!isset($combo_info->checkup_type_id)) return \Yz::echoError1("套餐未关联体检类型");
$checkup_type_id = $combo_info->checkup_type_id;
+
+ //构建多选一数据
+ if(isset($duo_xuan_yi) and !empty($duo_xuan_yi)){
+ $combo_Nx1=json_decode($combo_info->duo_xuan_yi,true);
+ foreach ($duo_xuan_yi as $r_k=>$r_v){
+ foreach ($combo_Nx1 as $k=> $n1v){
+ if($r_v['zu_name'] == $n1v['组名称']){
+ foreach ($n1v['包含项目'] as $k2 => $v2){
+ if($v2['Id'] == $r_v['item_id']){
+ $Nx1_arrInfo[] = [
+ 'id' => $v2['Id'],
+ 'name' => $v2['名称'],
+ 'price' =>0
+ ];
+ }
+ }
+ }
+ }
+ }
+ }
+
$TJ_Leixing_id=$checkup_type_id;
$price += $combo_info->price;
$title = $combo_info->name;
@@ -156,6 +179,10 @@ class OrderController extends Controller
$missingIds = array_diff($item_ids, $existingIds);
if (count($missingIds) > 0) return \Yz::echoError1("部分自选项目不可用,Id:" . implode(', ', $missingIds));
}
+ //如果有 多选一项目
+ if(!empty($Nx1_arrInfo)){
+ $buy_info['items']=array_merge($buy_info['items'],$Nx1_arrInfo);
+ }
$true_price = $price;
//如果是团检
$group_info = false;
diff --git a/h5/pages/main/index/index.vue b/h5/pages/main/index/index.vue
index 09dab1f..3186be7 100644
--- a/h5/pages/main/index/index.vue
+++ b/h5/pages/main/index/index.vue
@@ -261,7 +261,7 @@
- 10131106
+ 10151056