diff --git a/Laravel/app/Http/Controllers/API/ApiMapController.php b/Laravel/app/Http/Controllers/API/ApiMapController.php index 6d3218b..83274bd 100644 --- a/Laravel/app/Http/Controllers/API/ApiMapController.php +++ b/Laravel/app/Http/Controllers/API/ApiMapController.php @@ -85,6 +85,7 @@ class ApiMapController extends Controller 'CheckedSignIn' => $base_url . '/api/H5/CheckedSignIn', // 检后签到 'SendMsgCode' => $base_url . '/api/H5/SendMsgCode', // 发送验证码 'CheckMsgCode' => $base_url . '/api/H5/CheckMsgCode', // 验证验证码 + 'CheckEnableNmrTime' => $base_url . '/api/H5/CheckEnableNmrTime', // 查询是否有可用核磁号源 ]; } diff --git a/Laravel/app/Http/Controllers/API/H5/NMRController.php b/Laravel/app/Http/Controllers/API/H5/NMRController.php index 266ab70..a4d8c1d 100644 --- a/Laravel/app/Http/Controllers/API/H5/NMRController.php +++ b/Laravel/app/Http/Controllers/API/H5/NMRController.php @@ -164,4 +164,12 @@ class NMRController extends Controller // } return \Yz::Return(true,"查询完成",['list'=>$list,'weeklist'=>$week7]); } + //检查核磁时间是否可用 + public function CheckEnableNmrTime(){ + $date=request('date'); + $time=request('time'); + $service=new \App\Services\NmrService(); + $res=$service->CheckEnableNmrTime($date,$time); + return \Yz::Return($res['status'],'',['datetime'=>$res['datetime']]); + } } diff --git a/Laravel/app/Services/NmrService.php b/Laravel/app/Services/NmrService.php new file mode 100644 index 0000000..2573d02 --- /dev/null +++ b/Laravel/app/Services/NmrService.php @@ -0,0 +1,32 @@ +6,'data'=>[$date],'action'=>"1"],uniqid()); + if($time<="12:00") $end_time="12:00"; + if($time>"12:00") $end_time="23:59"; + if(!isset($nmrPlans[$date]) or empty($nmrPlans[$date])) return ['status'=>false,'datetime'=>'']; + $planTime = new DateTime($time); + $planTime->modify('+1 hour'); + $plan_time=$planTime->format('H:i'); + $enable_datetime=''; + foreach ($nmrPlans[$date] as $nmp_p){ + if($nmp_p['Time']>=$plan_time and $nmp_p['Time']<=$end_time and $nmp_p['keyong']==="0"){ + $enable_datetime=$date." ".$nmp_p['Time']; + break; + } + } + if($enable_datetime<>''){ + return ['status'=>true,'datetime'=>$enable_datetime]; + }else{ + return ['status'=>false,'datetime'=>$enable_datetime]; + } + } +} diff --git a/Laravel/routes/web.php b/Laravel/routes/web.php index 248564f..c368d7a 100644 --- a/Laravel/routes/web.php +++ b/Laravel/routes/web.php @@ -76,6 +76,7 @@ Route::group(['middleware' => ['log'],'prefix' => 'api/H5'], function () { Route::post('/CheckedSignIn', 'App\Http\Controllers\API\H5\OrderController@CheckedSignIn');//检后签到 Route::post('/SendMsgCode', 'App\Http\Controllers\API\SendMsgCodeController@SendMsgCode');//发送验证码 Route::post('/CheckMsgCode', 'App\Http\Controllers\API\SendMsgCodeController@CheckMsgCode');//验证验证码 + Route::post('/CheckEnableNmrTime', 'App\Http\Controllers\API\H5\NMRController@CheckEnableNmrTime');//查询是否有可用核磁号源 diff --git a/h5/pages/main/yytjsj/yytjsj.vue b/h5/pages/main/yytjsj/yytjsj.vue index e09f5a9..465518b 100755 --- a/h5/pages/main/yytjsj/yytjsj.vue +++ b/h5/pages/main/yytjsj/yytjsj.vue @@ -19,7 +19,7 @@ } from "@dcloudio/uni-app"; import { useStore - } from "@/store"; + } from "@/store"; const $store = useStore(); let date_list = ref(false); @@ -39,6 +39,7 @@ let calendarShow = ref(false); // 日历显示 const rl_list = ref(false); //日历插槽 let isClickDoctor = ref(0); // 是否点击了医生 + let erxianInfo=ref(null); const mountedAction = async () => { uni.showLoading({ @@ -68,6 +69,7 @@ comboInfo.value = response.data.combo_info; itemsInfo.value = response.data.items_info; truePrice.value = response.data.true_price; + erxianInfo.value = response.data.nmr_list2; currentDate.value = getToday(); //huo获取今天的日期 console.log(yytjInfo.value, "cfvghbjnkmljhbgvfcgvhbjnk"); if (!yytjInfo.value?.nmr_list?.length) { @@ -396,12 +398,35 @@ getTjTimeList(item); //带着选中的日期重新选择 } }; - const getCurrentTime = (item, index) => { + //查询是否有可用二线号源 + const CheckEnableNmrTimeFunc= async (date,time)=>{ + uni.showLoading({ + title: "加载中", + }); + const response = await $api("CheckEnableNmrTime", {date:date,time:time}); + uni.hideLoading(); + let status=false; + $response(response, () => { + status=response.status + }) + return status; + } + const getCurrentTime = async (item, index) => { // 选择时分 if (item.status == 2) { uni.$lu.toast("该号源已被其他人预约"); return; - } + } + //如果有核磁,查询核磁是否有可用号源 + if(erxianInfo.value.length>0){ + let checknmr= await CheckEnableNmrTimeFunc(item.date,item.newTime); + console.log('------',checknmr); + if(checknmr !==true){ + uni.$lu.toast("此时间点,无可用二线号源,请选择其他时间"); + return; + } + } + let pick_day = 3 let active_item = yytjInfo.value.nmr_list[nmrIndex.value] if (active_item.item_id !== -1) {