From cce02df7e391b8937c04ab4a5ebd8629c7350319 Mon Sep 17 00:00:00 2001 From: yanzai Date: Sun, 23 Feb 2025 22:19:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=BD=AC=E8=B5=A0=EF=BC=8C?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E6=89=8B=E6=9C=BA=E5=8F=B7=E6=8C=89=E5=BB=BA?= =?UTF-8?q?=E6=A1=A3=E4=BF=A1=E6=81=AF=E8=BD=AC=E8=B5=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/API/ApiMapController.php | 1 + .../Controllers/API/AspNetZhuanController.php | 5 ++ .../Controllers/API/H5/OrderNewController.php | 29 ++++--- .../Controllers/API/H5/UserController.php | 24 ++++++ Laravel/routes/web.php | 1 + h5/pages/main/order/src/order.vue | 75 +++++++++++++++++-- h5/pages/main/tj/choose.vue | 23 ++++++ h5/pages/user/choose/choose.vue | 30 +------- 8 files changed, 143 insertions(+), 45 deletions(-) diff --git a/Laravel/app/Http/Controllers/API/ApiMapController.php b/Laravel/app/Http/Controllers/API/ApiMapController.php index 022852a..e9ce6a7 100644 --- a/Laravel/app/Http/Controllers/API/ApiMapController.php +++ b/Laravel/app/Http/Controllers/API/ApiMapController.php @@ -92,6 +92,7 @@ class ApiMapController extends Controller 'CreateTransferCode' => $base_url . '/api/H5/CreateTransferCode', // 创建转赠码 'OrderZhuanZeng' => $base_url . '/api/H5/OrderZhuanZeng', // 订单转赠 'OrderReceiveZhuanZeng' => $base_url . '/api/H5/OrderReceiveZhuanZeng', // 接受订单转赠 + 'GetPersonJianDangInfo' => $base_url . '/api/H5/GetPersonJianDangInfo', // 根据多种条件查询建档信息 ]; } diff --git a/Laravel/app/Http/Controllers/API/AspNetZhuanController.php b/Laravel/app/Http/Controllers/API/AspNetZhuanController.php index 0545d10..88faead 100644 --- a/Laravel/app/Http/Controllers/API/AspNetZhuanController.php +++ b/Laravel/app/Http/Controllers/API/AspNetZhuanController.php @@ -115,6 +115,11 @@ class AspNetZhuanController extends Controller if($data['action']==2) return $res; return $res['data'] ?? false; } + public static function GetPersonInfo2($data) + { + $res= self::Post(self::$BaseUrl . '/renyuan.aspx',$data,'获取人员档案'); + return $res['data'] ?? false; + } //获取报告解读日期和状态 public static function GetReportAnalysis($data) { diff --git a/Laravel/app/Http/Controllers/API/H5/OrderNewController.php b/Laravel/app/Http/Controllers/API/H5/OrderNewController.php index 7d40432..8699c02 100644 --- a/Laravel/app/Http/Controllers/API/H5/OrderNewController.php +++ b/Laravel/app/Http/Controllers/API/H5/OrderNewController.php @@ -521,10 +521,9 @@ class OrderNewController extends Controller public function ZhuanZeng() { $order_id = request('order_id'); - $person_id = request('person_id'); + $person = request('person_info'); $openid = request('openid'); - $person=DB::table('web_user_person')->where(['id'=>$person_id,'is_del'=>0])->first(); - if(!$person) return \Yz::echoError1('转赠用户不存在'); + if(!isset($person)) return \Yz::echoError1("转赠人不能为空"); $user = DB::table('web_users')->where(['openid' => $openid, 'status' => 1, 'is_del' => 0])->first(); if (!$user) return \Yz::echoError1('用户不存在'); $order = DB::table('orders') @@ -540,7 +539,7 @@ class OrderNewController extends Controller })->first(); if(!$order) return \Yz::echoError1('此订单无法转赠他人'); if($order->web_user_id<>$user->id) return \Yz::echoError1('无权操作此订单'); - if($order->person_id==$person_id) return \Yz::echoError1('被转赠人不能和原用户相同'); + if($order->id_number==$person['ID_No']) return \Yz::echoError1('被转赠人不能和原用户相同'); //查询转赠码表是否生成了对应的转赠码 $transfer_code=DB::table('transfer_code')->where(['link_order_id'=>$order->id,'is_del'=>0])->first(); if(!!$transfer_code) return \Yz::echoError1('此订单已生成转赠码,无法再次转赠'); @@ -552,7 +551,7 @@ class OrderNewController extends Controller if($comboDetail_sex=='全部') $comboDetail_sex=0; if($comboDetail_sex=='男') $comboDetail_sex=1; if($comboDetail_sex=='女') $comboDetail_sex=2; - if($comboDetail_sex <> 0 and $comboDetail_sex <> $person->sex) return \Yz::echoError1('性别不符,此套餐不适合转赠给此用户'); + if($comboDetail_sex <> 0 and $comboDetail_sex <> $person['Patsexid']) return \Yz::echoError1('性别不符,此套餐不适合转赠给此用户'); DB::beginTransaction(); $now_datetime=date('Y-m-d H:i:s'); @@ -563,8 +562,8 @@ class OrderNewController extends Controller 'web_user_id' => 0, 'checkup_type_id' => $order->checkup_type_id, 'person_id' => 0, - 'name' => $person->name, - 'id_number' => $person->id_number, + 'name' => $person['Patname'], + 'id_number' => $person['ID_No'], 'buy_info' => $order->buy_info, 'price' => $order->price, 'true_price' =>$order->true_price, @@ -573,10 +572,10 @@ class OrderNewController extends Controller 'erxian_appointment_info' => $order->erxian_appointment_info, 'combo_id' => $order->combo_id, 'hospital_id' => $order->hospital_id, - 'phone' => $person->phone, - 'sex' => $person->sex, - 'birthday' => $person->birthday, - 'married' => $person->married, + 'phone' => $person['Fixphone'], + 'sex' => $person['Patsexid'], + 'birthday' => $this->formatDate($person['Patbdate']), + 'married' => 0, 'created_at' => $now_datetime, 'paycheck_time' => $now_datetime ]; @@ -633,4 +632,12 @@ class OrderNewController extends Controller return $orderNumber; } + function formatDate($dateString) { + $dateTime = DateTime::createFromFormat('Y/n/j G:i:s', $dateString); + // 检查是否有错误发生 + if (!$dateTime || $dateTime->format('Y/n/j G:i:s') !== $dateString) { + return "1900-01-01"; + } + return $dateTime->format('Y-m-d'); + } } diff --git a/Laravel/app/Http/Controllers/API/H5/UserController.php b/Laravel/app/Http/Controllers/API/H5/UserController.php index 1a37e70..f9221ed 100644 --- a/Laravel/app/Http/Controllers/API/H5/UserController.php +++ b/Laravel/app/Http/Controllers/API/H5/UserController.php @@ -31,6 +31,30 @@ class UserController extends Controller return \Yz::echoError1('身份证不能为空'); } } + //获取建档信息 + public function GetPersonJianDangInfo(Request $request) + { + $sfz = $request->post('sfz'); + $tel = $request->post('tel'); + $dnet = new AspNetZhuanController(); + $data=[]; + if(isset($sfz)) { + $data=[ + "zjh" => $sfz, + "action" => "2", + "ghzid" => "" + ]; + } + if(isset($tel)) { + $data=[ + "sjh" => $tel, + "action" => "3", + "ghzid" => "" + ]; + } + $res = $dnet->GetPersonInfo2($data); + return \Yz::Return(true,"查询完成",['info'=>$res]); + } public function hunjian(Request $request) { $person_id = $request->post('person_id'); diff --git a/Laravel/routes/web.php b/Laravel/routes/web.php index 27158fb..9914884 100644 --- a/Laravel/routes/web.php +++ b/Laravel/routes/web.php @@ -73,6 +73,7 @@ Route::group(['middleware' => ['log'],'prefix' => 'api/H5'], function () { Route::post('/AnalysisTypeGetList', 'App\Http\Controllers\API\H5\AnalysisTypeController@GetList');//趋势分析项目列表 Route::post('/HunQianQuestionSubmit', 'App\Http\Controllers\API\H5\QuestionController@HunQianQuestionSubmit');//婚前问卷提交 Route::post('/hunjianBySFZ', 'App\Http\Controllers\API\H5\UserController@hunjianBySFZ');//根据身份证查询建档信息 + Route::post('/GetPersonJianDangInfo', 'App\Http\Controllers\API\H5\UserController@GetPersonJianDangInfo');//根据多种条件查询建档信息 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');//验证验证码 diff --git a/h5/pages/main/order/src/order.vue b/h5/pages/main/order/src/order.vue index 7e0a9e8..1c3e460 100644 --- a/h5/pages/main/order/src/order.vue +++ b/h5/pages/main/order/src/order.vue @@ -135,6 +135,7 @@ if (response.status) { OrderInfoDetail.value = response.data.info TransferPopupRef.value.open() + ZhuanZengType.value=0 } }) } @@ -157,11 +158,13 @@ } }) } + let ZhuanZengType=ref(0); //转赠指定人 - const ZhuanZengPerson=async()=>{ - uni.navigateTo({ - url: "/pages/user/choose/choose?do=transfer&orderid="+OrderInfoDetail.value.id - }); + const ZhuanZengPerson=async(type)=>{ + ZhuanZengType.value=type + // uni.navigateTo({ + // url: "/pages/user/choose/choose?do=transfer&orderid="+OrderInfoDetail.value.id + // }); } //接受转赠 const ReceiveZhuanZeng=async()=>{ @@ -200,6 +203,62 @@ } }) } + let SearchUserInfo=ref(''); + let JianDangPersonList=ref([]); + const GetPersonJianDangInfo=async()=>{ + uni.showLoading(); + const response = await $api("GetPersonJianDangInfo", { + tel: SearchUserInfo.value, + }); + uni.hideLoading(); + $response(response, () => { + if (response.status) { + JianDangPersonList.value= response.data.info + ShowJianDangPersonList() + } + }) + } + //展示建档用户信息 + const ShowJianDangPersonList=()=>{ + let temp=[] + JianDangPersonList.value.forEach((v,i)=>{ + temp.push(v.Patname) + }) + uni.showActionSheet({ + itemList: temp, + success: function (res) { + TransferPopupRef.value.close() + ZhuanZengChoosePersonClick(JianDangPersonList.value[res.tapIndex]) + // console.log('选中了第' + (res.tapIndex + 1) + '个按钮'); + }, + fail: function (res) { + console.log(res.errMsg); + } + }); + } + //订单转赠 + const ZhuanZengChoosePersonClick=async(info)=>{ + uni.showLoading(); + const response = await $api("OrderZhuanZeng", { + order_id: OrderInfoDetail.value.id, + person_info:info + }); + uni.hideLoading(); + $response(response, () => { + if (response.status) { + uni.showToast({ + title: '转赠成功' + }); + setTimeout(()=>{ + uni.redirectTo({ + url: "/pages/main/order/order" + }); + },1000) + + + } + }) + } onMounted(() => { deepInfo(); }); @@ -208,8 +267,12 @@ - - 指定转赠人 + + + 查询 + + + 指定转赠人 生成转赠码 diff --git a/h5/pages/main/tj/choose.vue b/h5/pages/main/tj/choose.vue index 590b8aa..2ecf511 100644 --- a/h5/pages/main/tj/choose.vue +++ b/h5/pages/main/tj/choose.vue @@ -37,9 +37,32 @@ const configRef = (e) => { getPersonList(); } }; +const getUserInfo = async () => { + const response = await $api("UserInfo"); + $response(response, () => { + // $store.user = response.data.info + $store.setUser(response.data.info); + $store.setYytjInfo({}); // 切换体检人的时候清空预约信息 + + let buyinfo=$store.getBuyInfo() + buyinfo.person_id=response.data.info.person_id + $store.setBuyInfo(buyinfo); + + // uni.$lu.toast("切换成功"); + // uni.navigateBack({ + // delta: 1, + // }); + }); +}; const choosePersonClick = async (info) => { uni.showLoading(); + const response1 = await $api("SetDefaultPerson", { + person_id: info.id, + }); + $response(response1, () => { + getUserInfo(); + }); // 查询团检ID const response = await $api("GetGroupUnit", { hospital_id: $store.save.hospital, diff --git a/h5/pages/user/choose/choose.vue b/h5/pages/user/choose/choose.vue index e4129a6..04b3f91 100644 --- a/h5/pages/user/choose/choose.vue +++ b/h5/pages/user/choose/choose.vue @@ -11,17 +11,6 @@ import { onShow } from "@dcloudio/uni-app"; import { useStore } from "@/store"; const $store = useStore(); -const $props = defineProps({ - do: { - type: String, - default: "", - }, - orderid: { - type: String, - default: "", - }, - }) - const person_list = ref([]); const getPersonList = async () => { const response = await $api("GetPersonList"); @@ -54,18 +43,7 @@ const getUserInfo = async () => { }); }); }; -const choosePersonClick = async (info) => { - if($store.getBuyInfo().combo_sex && info.sex != 0 && info.sex != $store.getBuyInfo().combo_sex ){ - uni.$lu.toast("当前套餐性别与此用户不符,不能预约"); - return false; - } - const response = await $api("SetDefaultPerson", { - person_id: info.id, - }); - $response(response, () => { - getUserInfo(); - }); -}; + const ZhuanZengChoosePersonClick=async(info)=>{ uni.showLoading(); const response = await $api("OrderZhuanZeng", { @@ -118,11 +96,7 @@ onShow(() => { @click="choosePersonClick(i)" class="person_choose_wrapper" >切换 - 转赠 +