From fe4a354593a1c48037415beed5fce323ab9ffbc0 Mon Sep 17 00:00:00 2001 From: yanzai Date: Fri, 11 Oct 2024 21:43:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=B0=E6=A3=80=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=9B=A2=E6=A3=80=E5=B1=8F=E8=94=BD=E6=9D=90=E6=96=99=E8=B4=B9?= =?UTF-8?q?=EF=BC=8C=E8=AF=A6=E6=83=85=E8=BF=94=E5=9B=9Ect=E5=92=8C?= =?UTF-8?q?=E6=A0=B8=E7=A3=81=E3=80=82=E6=94=B9=E7=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/API/H5/ComboController.php | 33 ++++++++++++--- .../Controllers/API/H5/OrderController.php | 2 + .../API/Internal/OrderController.php | 41 +++++++++++++++++++ .../Controllers/API/PEISApiController.php | 2 +- .../Controllers/API/Web/ComboController.php | 31 ++++++++++++-- Laravel/routes/web.php | 1 + h5/pages/main/ctime/ctime.vue | 14 ++++--- h5/pages/main/index/index.vue | 2 +- h5/pages/main/order/src/order.vue | 8 +++- h5/pages/main/tj/tjxq.vue | 28 ++++--------- 10 files changed, 123 insertions(+), 39 deletions(-) create mode 100644 Laravel/app/Http/Controllers/API/Internal/OrderController.php diff --git a/Laravel/app/Http/Controllers/API/H5/ComboController.php b/Laravel/app/Http/Controllers/API/H5/ComboController.php index c6a03b0..f90c678 100644 --- a/Laravel/app/Http/Controllers/API/H5/ComboController.php +++ b/Laravel/app/Http/Controllers/API/H5/ComboController.php @@ -182,6 +182,7 @@ select combo_id as c_id,count(*) as count from orders where status in(2,4) group $pay_item_count = 0;//需自费项目个数 $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 ( @@ -231,6 +232,17 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) } $pay_item_count += $combo->item_count; $true_price += $combo_info['price']; + + //如果有影像科,则存储在nmr_list + $comboItem=DB::table('combo_items')->where(['combo_id' => $combo_id, 'status' => 1,'keshi_name'=>'影像科'])->get(); + if(count($comboItem)>0){ + foreach ($comboItem as $item){ + $nmr_list[]=[ + 'item_id' => $item->item_id, + 'name' => $item->name, + ]; + } + } } $items_info = false;//自选项目信息 if (isset($item_ids) and !empty($item_ids)) { @@ -250,6 +262,14 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) $groupedData[$keshiName] = []; } $groupedData[$keshiName][] = ['desc' => $item->jianjie, 'name' => $item->name,'price'=>$item->price]; + + //如果有影像科,则存储在nmr_list字段 + if($item->keshi_name=='影像科'){ + $nmr_list[]=[ + 'item_id' => $item->item_id, + 'name' => $item->name, + ]; + } } $items_info['price'] = $price; $items_info['original_price'] = $items_original_price; @@ -300,6 +320,12 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) if ($it->item_id == $item['id']) { $item['keshi_name'] = $it->keshi_name; $item['desc'] = $it->jianjie; + if($it->keshi_name=='影像科'){ + $nmr_list[]=[ + 'item_id' => $it->item_id, + 'name' => $it->name, + ]; + } break; } } @@ -335,12 +361,7 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) 'original_price' =>number_format($all_original_price, 2, '.', '') ,//总原价 'pay_item_count' => $pay_item_count,//需要付费的项目数量 'lose_price'=>number_format($lose_price, 2, '.', ''),//剩余的不用就会浪费的金额 - 'nmr_list' => [ - [ - 'item_id' => "1", - "name" => "磁共振平扫(腰椎)" - ] - ]//核磁项目列表 + 'nmr_list' => $nmr_list//核磁项目列表 ]; return \Yz::Return(true, "查询成功", $data); } diff --git a/Laravel/app/Http/Controllers/API/H5/OrderController.php b/Laravel/app/Http/Controllers/API/H5/OrderController.php index 8cd5838..22efb12 100644 --- a/Laravel/app/Http/Controllers/API/H5/OrderController.php +++ b/Laravel/app/Http/Controllers/API/H5/OrderController.php @@ -51,6 +51,8 @@ class OrderController extends Controller $order_info = DB::table('orders')->where(['id' => $id])->first(); if(!!$order_info){ $order_info->buy_info=json_decode($order_info->buy_info,true); + }else{ + return \Yz::echoError1('未找到有效订单'); } return \Yz::Return(true, '获取成功', [ 'info' => $order_info diff --git a/Laravel/app/Http/Controllers/API/Internal/OrderController.php b/Laravel/app/Http/Controllers/API/Internal/OrderController.php new file mode 100644 index 0000000..c426bc6 --- /dev/null +++ b/Laravel/app/Http/Controllers/API/Internal/OrderController.php @@ -0,0 +1,41 @@ +where('appointment_number',$serve_id)->orderBy('id','desc')->first(); + if(!$orderInfo) return \Yz::echoError1("未找到有效订单"); + if(!!$exam_id){ + if($orderInfo->status==1) return \Yz::echoError1("订单未付款"); + if($orderInfo->status==3) return \Yz::echoError1("订单已取消"); + if($orderInfo->status==4 || $orderInfo->check_status==2) return \Yz::echoError1("人员已经到检"); + if($orderInfo->status==5) return \Yz::echoError1("订单已退款"); + $peis = new PEISApiController(); + $data = [ + "电话号码" => $orderInfo->phone, + "证件号码" => $orderInfo->id_number, + ]; + $info = $peis::Post('分诊查询体检号', $orderInfo->hospital_id,$data); + DB::table('orders')->where('id',$orderInfo->id)->update([ + 'status'=>4, + 'tj_number'=>$info['data'][0]['体检号'], + 'check_status'=>2, + 'check_time'=>date('Y-m-d H:i:s') + ]); + } + return \Yz::Return(true,"",['id'=>$orderInfo->id]); + } +} diff --git a/Laravel/app/Http/Controllers/API/PEISApiController.php b/Laravel/app/Http/Controllers/API/PEISApiController.php index 1f80a83..7f6b962 100644 --- a/Laravel/app/Http/Controllers/API/PEISApiController.php +++ b/Laravel/app/Http/Controllers/API/PEISApiController.php @@ -30,7 +30,7 @@ class PEISApiController extends Controller $api['体检报告查询'] = "{$url}/PEISCommon/QueryExamReport/{$code}"; $api['预约时段修改'] = "{$url}/PEISCommon/ModifyAppointmentDTRange/{$code}"; $api['修改用户预约时间'] = "http://10.0.20.227:8888/ExtAPI/SetAppointmentMoment?key=YmMxOGI2MDUxZmFh&{$code}"; - + $api['分诊查询体检号'] = "{$url}/PEISCommon/QueryEventNo/{$code}"; return $api["{$url_code}"] ?? $url_code; } diff --git a/Laravel/app/Http/Controllers/API/Web/ComboController.php b/Laravel/app/Http/Controllers/API/Web/ComboController.php index 4d99e1c..afc5614 100644 --- a/Laravel/app/Http/Controllers/API/Web/ComboController.php +++ b/Laravel/app/Http/Controllers/API/Web/ComboController.php @@ -108,6 +108,7 @@ select combo_id as c_id,count(*) as count from orders where status in(2,4) group $pay_item_count = 0;//需自费项目个数 $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 ( @@ -157,6 +158,17 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) } $pay_item_count += $combo->item_count; $true_price += $combo_info['price']; + + //如果有影像科,则存储在nmr_list + $comboItem=DB::table('combo_items')->where(['combo_id' => $combo_id, 'status' => 1,'keshi_name'=>'影像科'])->get(); + if(count($comboItem)>0){ + foreach ($comboItem as $item){ + $nmr_list[]=[ + 'item_id' => $item->item_id, + 'name' => $item->name, + ]; + } + } } $items_info = false;//自选项目信息 if (isset($item_ids) and !empty($item_ids)) { @@ -176,6 +188,14 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) $groupedData[$keshiName] = []; } $groupedData[$keshiName][] = ['id'=>$item->item_id,'desc' => $item->jianjie, 'name' => $item->name,'price'=>$item->price]; + //如果有影像科,则存储在nmr_list字段 + if($item->keshi_name=='影像科'){ + $nmr_list[]=[ + 'item_id' => $item->item_id, + 'name' => $item->name, + ]; + } + } $items_info['price'] = $price; $items_info['original_price'] = $items_original_price; @@ -226,6 +246,12 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) if ($it->item_id == $item['id']) { $item['keshi_name'] = $it->keshi_name; $item['desc'] = $it->jianjie; + if($it->keshi_name=='影像科'){ + $nmr_list[]=[ + 'item_id' => $it->item_id, + 'name' => $it->name, + ]; + } break; } } @@ -261,10 +287,7 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) 'original_price' =>number_format($all_original_price, 2, '.', '') ,//总原价 'pay_item_count' => $pay_item_count,//需要付费的项目数量 'lose_price'=>number_format($lose_price, 2, '.', ''),//剩余的不用就会浪费的金额 - 'nmr_list' => [[ - 'item_id' => "1", - "name" => "磁共振平扫(腰椎)" - ]]//核磁项目列表 + 'nmr_list' => $nmr_list//核磁项目列表 ]; return \Yz::Return(true, "查询成功", $data); } diff --git a/Laravel/routes/web.php b/Laravel/routes/web.php index 24c2d3f..9f23ae3 100644 --- a/Laravel/routes/web.php +++ b/Laravel/routes/web.php @@ -88,3 +88,4 @@ Route::group(['prefix' => 'api/Web'], function () { //对外------ Route::any('/TJPushInfo', 'App\Http\Controllers\API\Internal\SiXinPushController@PushInfo');//接收思信推送 +Route::any('/TJCheck', 'App\Http\Controllers\API\Internal\OrderController@TJCheck');//到检 diff --git a/h5/pages/main/ctime/ctime.vue b/h5/pages/main/ctime/ctime.vue index 7d915c9..ebe1c20 100644 --- a/h5/pages/main/ctime/ctime.vue +++ b/h5/pages/main/ctime/ctime.vue @@ -60,7 +60,7 @@ } from "@/store"; const $store = useStore(); import { - onShow + onShow,onLoad } from "@dcloudio/uni-app"; import WeeklyCalendar from '@/common/WeeklyCalendar.vue'; let nmr_date = ref(null); @@ -111,7 +111,7 @@ const GetOrderInfo = async () => { uni.showLoading(); const response = await $api("GetOrderDetail", { - id: 38 + id: OrderId.value }); uni.hideLoading(); $response(response, () => { @@ -324,8 +324,8 @@ uni.showLoading(); let data = { orderid: orderInfo.value.id, - planid: tj_plan_id, - nmrPlanid:nmr_plan_id, + planid: tj_plan_id.value, + nmrPlanid:nmr_plan_id.value, doctor: doctor_name.value } const response = await $api("ChangeAppointment", data); @@ -351,8 +351,12 @@ GetOrderInfo() }); + let OrderId=ref(0) + onLoad((e)=>{ + OrderId.value=e.id + }) onShow(() => { - + temp = $store.getYytjInfo() if (temp.doctor_name != null && temp.doctor_name != '') { doctor_name.value = temp.doctor_name diff --git a/h5/pages/main/index/index.vue b/h5/pages/main/index/index.vue index 9e70cbe..0ea1d4d 100644 --- a/h5/pages/main/index/index.vue +++ b/h5/pages/main/index/index.vue @@ -261,7 +261,7 @@ - 10111124 + 10111151 diff --git a/h5/pages/main/order/src/order.vue b/h5/pages/main/order/src/order.vue index 7adc5b8..4c3496c 100644 --- a/h5/pages/main/order/src/order.vue +++ b/h5/pages/main/order/src/order.vue @@ -107,7 +107,11 @@ const Refound = async (id) => { } }); }; - +const GaiYueClick=(id)=>{ + uni.navigateTo({ + url:'/pages/main/ctime/ctime?id='+id + }) +} onMounted(() => { deepInfo(); }); @@ -188,7 +192,7 @@ onMounted(() => { class="button_item_wrapper pay_button_wrapper" >继续付款 - + 改约 { 检查指标意义 - - - {{ val.keshi_name }}({{ val.children.length }}) + + + + {{ val.keshi_name }}({{ val.children.length }}) - - + + {{ v.name }} - {{ - v.desc || "-" - }} + {{v.desc || "-" }} +