main
yanzai 11 months ago
parent 526146b5be
commit d96a870324

@ -11,7 +11,7 @@ class CheckUpTypeController extends Controller
//体检类型列表
public function GetEnableList()
{
$list=DB::table('checkup_type')->where(['is_del'=>0,'status'=>1])->get();
$list=DB::table('checkup_type')->where(['is_del'=>0,'status'=>1])->orWhere('id',8)->get();
return \Yz::Return(true,'查询完成',['list'=>$list]);
}
}

@ -85,6 +85,8 @@ class ApiMapController extends Controller
'CheckedSignIn' => $base_url . '/api/H5/CheckedSignIn', // 检后签到
'SendMsgCode' => $base_url . '/api/H5/SendMsgCode', // 发送验证码
'CheckMsgCode' => $base_url . '/api/H5/CheckMsgCode', // 验证验证码
'BaseInfo' => $base_url . '/api/H5/BaseInfo', // 基础信息
'CreateNewOrder' => $base_url . '/api/H5/CreateNewOrder', // 创建订单(新)
];
}

@ -18,6 +18,31 @@ class HomeController extends Controller
'version' => $version
]);
}
//获取基础信息
public function BaseInfo(){
$openid = request('openid');
$hospital_id = request('hospital_id');
$user = DB::table('web_users')->where(['openid' => $openid, 'is_del' => 0])->first();
if (!$user) return \Yz::echoError1("openid对应用户不存在");
$person = DB::table('web_user_person')->where(['user_id' => $user->id, 'is_del' => 0, 'is_default' => 1])->first();
if (!$person) return \Yz::echoError1("请选择就诊人");
$personCount = DB::table('web_user_person')->where(['user_id' => $user->id, 'is_del' => 0])->count();
$hospital=DB::table('hospitals')->where(['id' => $hospital_id])->first();
if (!$hospital) {
return \Yz::echoError1("医院不存在");
}
$info =[
'person' => [
'name' => $person->name,
'sex' => $person->sex,
'count' => $personCount
],
'hospital' => [
'name' => $hospital->name,
]
] ;
return \Yz::Return(true, '获取成功', $info);
}
// 获取配置更新时间
public function config()

@ -19,15 +19,25 @@ class OrderController extends Controller
{
// status 1-待支付 2-已预约 3-交易关闭 4-已完成 5-已退款
$openid = $request->post('openid');
$searchInfo = $request->post('searchInfo');
$user = DB::table('web_users')->where(['openid' => $openid, 'is_del' => 0])->first();
if (!$user) return \Yz::echoError1("openid对应用户不存在");
$persons_sfz = DB::table('web_user_person')->where(['user_id' => $user->id, 'is_del' => 0])->pluck('id_number')->toArray();
$where=['web_user_id' => $user->id];
if(isset($searchInfo['status'])){
$where['status'] = $searchInfo['status'];
}
$OrderList = DB::table('orders')
$OrderList = DB::table('orders');
$OrderList=$OrderList
->select('id', 'title', 'status', 'name','appointment_date as date', 'appointment_time as time', 'order_number as order','appointment_number',
DB::raw("CASE WHEN type = 1 THEN '个检' WHEN type = 2 THEN '团检' ELSE 'unknown' END as type"),
'price', 'true_price', 'pay_time', 'refund_time', 'created_at')
->where(['web_user_id' => $user->id])
'price', 'true_price', 'pay_time', 'refund_time', 'created_at');
if(isset($searchInfo['dateRange'])){
$OrderList=$OrderList->whereBetween('appointment_date', [$searchInfo['dateRange'][0], $searchInfo['dateRange'][1]]);
}
$OrderList=$OrderList
->where($where)
->orWhere(function ($query) use ($persons_sfz) {
$query->WhereIn('id_number', $persons_sfz)
->where('person_id', 0);
@ -44,6 +54,7 @@ class OrderController extends Controller
}
}
return \Yz::Return(true, '获取成功', [
'list' => $OrderList
]);

@ -0,0 +1,388 @@
<?php
namespace App\Http\Controllers\API\H5;
use App\Http\Controllers\API\AspNetZhuanController;
use App\Http\Controllers\Controller;
use App\Lib\Tools;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class OrderNewController extends Controller
{
public function CreateNewOrder()
{
$hospital_id = request('hospital');
$openid = request('openid');
$person_id = request('person_id');
$combo_id = request('combo_id');
$type = request('type');//1个检2团检
$group_id = request('group_id');//团检id
$item_ids = request('item_ids');//自选item的ids
$peiou_info = request('peiou_info');//配偶信息
if (count($item_ids) != 0 and $item_ids[0] == "") {
$item_ids = [];
}
$duo_xuan_yi = request('duo_xuan_yi'); //多选1
$plan_nmr_info = request('plan_nmr_info');//核磁号源信息
$doctor = request('doctor');//预约的医生名字
$coupon_id = request('coupon_id');//优惠券
$jifen = request('jifen', 0); //使用的积分数量
$yucunkuan = request('yucunkuan', 0);//使用的预存款数量
$erxian_info = request('erxian_info');//使用的预存款数量
$wj_flag = request('wj'); //问卷标记
if (isset($wj_flag) and $wj_flag == 1) {
$wj_zhekou = config('app.globals.Wj_ZheKou');//问卷过来的折扣率
}
if (!isset($hospital_id)) return \Yz::echoError1('医院id不能为空');
if ($hospital_id == 1) {
$yyid = 6;
}
if ($hospital_id == 4) {
$yyid = 2;
}
if (!isset($openid)) return \Yz::echoError1('openid不能为空');
if (!isset($person_id)) return \Yz::echoError1('person_id不能为空');
if (!isset($type)) return \Yz::echoError1('type体检类型不能为空');
if ($type != 1 && $type != 2) {
return \Yz::echoError1('type参数体检类型错误');
}
if ($type == 2 and !isset($group_id)) return \Yz::echoError1('团检group_id不能为空');
if ($type == 1 and isset($group_id)) return \Yz::echoError1('体检类型:个检 与group_id冲突');
$user = DB::table('web_users')->where(['openid' => $openid, 'status' => 1, 'is_del' => 0])->first();
if (!$user) return \Yz::echoError1('用户不存在');
$person = DB::table('web_user_person')->where(['id' => $person_id, 'is_del' => 0])->first();
if (!$person) return \Yz::echoError1('体检人不存在');
$title = "自选项目";
$price = 0;
$quanInfo = false;
$true_price = 0;//订单真实支付金额
$buy_info = [
'combo' => [
'id' => 0,
'name' => $title,
'price' => 0,
],
'items' => [],
'group' => [
'id' => '',
],
'nmr_list' => [],
'peiou_info' => [],
];
if (!empty($peiou_info)) {
$buy_info['peiou_info'] = $peiou_info;
}
//如果是套餐
$Nx1_arrInfo = [];
$TJ_Leixing_id = 1;//存储用体检类型
$checkup_type_id = false; //体检类型id
if (isset($combo_id) and $combo_id <> 0) {
$combo_info = DB::table('combos')->where(['combo_id' => $combo_id, 'status' => 1])->first();
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']) {
if ($v2['科室名称'] == '影像科') {
$buy_info['nmr_list'][] = [
'item_id' => $v2['Id'],
'name' => $v2['名称'],
];
}
$Nx1_arrInfo[] = [
'id' => $v2['Id'],
'name' => $v2['名称'],
'price' => 0
];
}
}
}
}
}
}
$TJ_Leixing_id = $checkup_type_id;
$price += $combo_info->price;
$title = $combo_info->name;
$buy_info['combo'] = [
'id' => $combo_info->combo_id,
'name' => $combo_info->name,
'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) {
$buy_info['nmr_list'][] = [
'item_id' => $item->item_id,
'name' => $item->name,
];
}
}
}
//如果有自选项目
$items_list = [];
if (count($item_ids) != 0) {
$items_list = DB::table('items')->whereIn('item_id', $item_ids)->where(['status' => 1])->get();
$existingIds = [];
$item_price = 0;
foreach ($items_list as $item) {
$item_price += $item->price;
$existingIds[] = $item->item_id;
$buy_info['items'][] = [
'id' => $item->item_id,
'name' => $item->name,
'price' => $item->price
];
//如果有影像科则存储在nmr_list字段
if ($item->keshi_name == '影像科') {
$buy_info['nmr_list'][] = [
'item_id' => $item->item_id,
'name' => $item->name,
];
}
}
if (isset($wj_flag) and $wj_flag == 1) {
$item_price = $item_price * $wj_zhekou;
}
$price += $item_price;
$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;
if ($type == 2) {
$P = new PersonController();
$data = [
'电话号码' => null,
'证件号码' => null,
'预约Id' => $group_id
];
$group_info = $P->group_info($hospital_id, $data);
$group_info = $group_info[0];
//如果有多选一项目
//构建多选一数据
$Nx1_arrInfo = [];
if (isset($duo_xuan_yi) and !empty($duo_xuan_yi)) {
foreach ($duo_xuan_yi as $r_k => $r_v) {
$Nx1_arrInfo[] = [
'id' => $r_v['item_id'],
'name' => $r_v['item_name'],
];
}
}
$group_info['items'] = array_merge($group_info['items'], $Nx1_arrInfo); //合并多选一
$buy_info['group'] = [
'id' => $group_id,
'combo_name' => $group_info['combo_name'],
'combo_id' => $group_info['combo_id'],
'group_name' => $group_info['group_name'],
'items' => $group_info['items'],
'group_id' => $group_info['group_id'],
'have_Nx1' => !empty($Nx1_arrInfo)
];
$TJ_Leixing_id = $group_info['checkup_type_id'];
$title = "单位团检" . $group_info['combo_name'];
$price = $price + $group_info['sixi_zong_ji_jin_e'];
$need_pay = ($price - $group_info['tongshou_xiane']) > 0 ? $price - $group_info['tongshou_xiane'] : 0;
//团检订单金额为减去统收后的金的
$price = $need_pay;
$true_price = $need_pay;
//如果有影像科则存储在nmr_list字段
$all_items = DB::table('items')->where(['status' => 1, 'keshi_name' => '影像科'])->get();
foreach ($group_info['items'] as $item) {
foreach ($all_items as $it) {
if ($it->item_id == $item['id']) {
$buy_info['nmr_list'][] = [
'item_id' => $it->item_id,
'name' => $it->name,
];
}
}
}
}
//调用思信接口判断各个项目是否可用
$check_items = [];
foreach ($item_ids as $item_id) {
$check_items[] = ['Id' => $item_id];
}
if ((isset($combo_id) and $combo_id <> 0) || count($check_items) != 0) {
$item_check = self::item_check($hospital_id, [
'人员信息列表' => [[
"序号" => 0,
"性别" => $person->sex == 1 ? '男' : '女',
"年龄" => floor((time() - strtotime($person->birthday)) / 86400 / 360),
"婚姻状态" => $person->married == 1 ? '已婚' : '未婚',
]],
'套餐Id' => $combo_id == 0 ? null : $combo_id,
'可选项目信息' => $check_items,
]);
if (count($item_check['data']) != 1) {
return \Yz::echoError1("体检系统提示:" . $item_check['message']);
}
}
$plan_nmr_appointment_info = [];
//校验积分和预存款
$env = config('app.globals.Env');
$AspNet = new AspNetZhuanController();
if ($env == 'pro') { //如果是正式环境, 测试环境不抵扣
if ($jifen > 0) {
$all_jifen = $AspNet::GetJiFen_YuCunKuan(1, $person->ghzid);
if ($jifen > $all_jifen) return \Yz::echoError1("用户剩余积分不足");
}
if ($yucunkuan > 0) {
// return \Yz::echoError1("暂不支持预存款");
$all_yucunkuan = $AspNet::GetJiFen_YuCunKuan(2, $person->ghzid);
if ($yucunkuan > $all_yucunkuan) return \Yz::echoError1("用户剩余预存款不足");
}
$true_price = $true_price - ($jifen + $yucunkuan);
if ($true_price < -1) return \Yz::echoError1("");
if ($true_price < 0) $true_price = 0;
//如果有二线号源,根据体检时间查询二线可用号源区分上下午二线需预约体检时间1小时后
$plan_nmr_info = [];
if (isset($erxian_info) and !empty($erxian_info)) {
foreach ($erxian_info as $erxian_item) {
$temp_date = [
"item_id" => $erxian_item['item_id'],
"name" => $erxian_item['name'],
"price" => $erxian_item['price'],
];
$plan_nmr_info[] = $temp_date;
}
}
//使用优惠券
if (isset($coupon_id) and !empty($coupon_id)) {
if ($true_price == 0) return \Yz::echoError1("金额为0无需使用优惠券");
$use_quan = $this->useYouHuiQuan($true_price, $person, $coupon_id);
$quanInfo = $use_quan['quanInfo'];
$true_price = $use_quan['price'];
}
$now_datetime = date('Y-m-d H:i:s');
//构建订单号
$order_num = $this->generateOrderNumber();
$data = [
'title' => $title,
'type' => $type,
'web_user_id' => $user->id,
'checkup_type_id' => $TJ_Leixing_id,
'person_id' => $person->id,
'name' => $person->name,
'id_number' => $person->id_number,
'buy_info' => json_encode($buy_info, JSON_UNESCAPED_UNICODE),
'price' => $price,
'true_price' => number_format($true_price, 2, '.', ''),
'jifen' => $jifen,
'yucunkuan' => $yucunkuan,
'order_number' => $order_num,
'status' => 99, //先标记为异常,方法最底部更新为正常状态
'erxian_appointment_info' => json_encode($plan_nmr_info, JSON_UNESCAPED_UNICODE),
'combo_id' => $combo_id,
'hospital_id' => $hospital_id,
'doctor' => $doctor,
'phone' => $person->phone,
'sex' => $person->sex,
'birthday' => $person->birthday,
'married' => $person->married,
'wj_flag' => $wj_flag,
'youhuiquan' => $quanInfo === false ? '' : json_encode(['id' => $quanInfo['DZJID'], 'name' => $quanInfo['DZJLBMC']], JSON_UNESCAPED_UNICODE),
'created_at' => $now_datetime,
'paycheck_time' => $now_datetime
];
$insert = DB::table('orders')->insertGetId($data);
//调用接口扣除积分和预存款、优惠券
$jifen_dikou_status = true;
$yucunkuan_dikou_status = true;
$youhuiquan_dikou_status = true;
if ($env == 'pro') { //如果是正式环境
$nowDateTime = date('Y-m-d H:i:s');
if ($jifen > 0) {
$jifen_dikou_status = false;
$jifen_dikou_status = $AspNet::UseJiFen($person->ghzid, -$jifen, $yyid, $insert, 'tj_h5', '抵扣体检H5订单', $now_datetime);
}
if ($yucunkuan > 0) {
$yucunkuan_dikou_status = false;
$yucunkuan_dikou_status = $AspNet::UseYuCunKuan($person->ghzid, -$yucunkuan, $yyid, 0, $insert, 'tj_h5', '抵扣体检H5订单', $now_datetime);
}
//核销优惠券
if (isset($coupon_id) and !empty($coupon_id)) {
$youhuiquan_dikou_status = false;
$data = [
'action' => 3,
'ghzid' => $person->ghzid,
'dzjid' => $coupon_id,
'hxbz' => "抵扣体检H5订单",
'yyid' => $yyid
];
$youhuiquan_dikou_status = $AspNet::YouHuiQuan($data);
}
}
if ($insert and $jifen_dikou_status and $yucunkuan_dikou_status and $youhuiquan_dikou_status) {
//中途未报错,更新订单为待支付
DB::table('orders')->where('id', $insert)->update([
'status' => 1 //标记为待支付
]);
$action = false;
if ($true_price == 0) {
DB::table('orders')->where('id', $insert)->update([
'status' => 2 //标记为已支付
]);
}
if ($true_price > 0) {
//如果大于0则提示前端去支付
$action = "pay";
}
return \Yz::return(true, "操作成功", ['action' => $action, 'orderid' => $insert]);
} else {
return \Yz::echoError1('操作失败');
}
}
}
}

@ -107,12 +107,13 @@ class PlanController extends Controller
->where(['hospital_id'=>$hospital_id,'type'=>1,'is_del'=>0])
->where('is_vip','<>',1)
->whereIn('use_type',[0,$use_type]);
$comboItemsNmr=false;
if(!!$combo_id){
$comboInfo=DB::table('combos')->where(['combo_id'=>$combo_id])->first();
if(!empty($comboInfo->keyue_start_time) and !empty($comboInfo->keyue_end_time)){
$list=$list->whereBetween('time',[$comboInfo->keyue_start_time,$comboInfo->keyue_end_time]);
}
$comboItemsNmr=DB::table('combo_items')->where(['combo_id'=>$combo_id])->where('name', 'like', '%磁%')->get();
}
if(!!$personInfo){
$list=$list->whereIn('sex',[0,$personInfo->sex]);
@ -132,7 +133,14 @@ class PlanController extends Controller
});
}
$list=$list->orderBy('time','asc')->get();
if(!!$comboItemsNmr){
//如果有核磁项目11点往后的号源不可用
foreach ($list as $key=>$item) {
if($item->time > '11:00:00' and $item->time <= '12:00:00'){
$list[$key]->status=2;
}
}
}
// 获取前后各三天的日期
$dateTime = new DateTime($date);
@ -155,6 +163,9 @@ class PlanController extends Controller
if(!empty($comboInfo->keyue_start_time) and !empty($comboInfo->keyue_end_time)){
$weeklist=$weeklist->whereBetween('time',[$comboInfo->keyue_start_time,$comboInfo->keyue_end_time]);
}
if(!!$comboItemsNmr){
$weeklist=$weeklist->whereNotBetween('time',['11:00:00','12:00:00']);
}
}
if(!!$personInfo){
$weeklist=$weeklist->whereIn('sex',[0,$personInfo->sex]);

@ -21,7 +21,10 @@ class PlanController extends Controller
$list=DB::table('plans')
->where('date',$date)->whereIn('status',[1])
->whereRaw('CONCAT(date, " ", time) >?', [$currentDateTime])
->whereRaw('JSON_CONTAINS(checkup_type_id, ?, "$")',[$checkup_type_id])
->where(function($query) use ($checkup_type_id) {
$query->whereRaw('JSON_CONTAINS(checkup_type_id, ?, "$")', [$checkup_type_id])
->orWhereRaw('JSON_CONTAINS(checkup_type_id, ?, "$")', ["8"]);
})
->where(['hospital_id'=>$hospital_id,'type'=>1,'is_del'=>0])
->where('is_vip','=',$is_vip);

@ -76,6 +76,8 @@ 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('/BaseInfo', 'App\Http\Controllers\API\H5\HomeController@BaseInfo');//基础信息
Route::post('/CreateNewOrder', 'App\Http\Controllers\API\H5\OrderNewController@CreateNewOrder');//创建新订单

@ -0,0 +1,158 @@
<template>
<view>
<view class="header_wrapper" v-if="info">
<view v-if="1" class="hospital_wrapper">
<view class="hospital_icon_wrapper">
<image src="@/static/assets/dingwei@2x.png"></image>
</view>
<view class="hospital_name_wrapper">{{info.hospital.name}}</view>
<!-- <view class="hospital_select_wrapper">
<image src="@/static/assets/gengduo@2x.png"></image>
</view> -->
</view>
<view v-if="1" class="user_wrapper" @click="tabPatients()">
<view class="user_title_wrapper">体检人</view>
<view class="user_name_wrapper">{{info.person.name}}</view>
<view v-if="info.person.count>1" class="user_choose_wrapper">
<image src="@/static/assets/qiehuan@2x.png"></image>
</view>
</view>
</view>
</view>
</template>
<script setup>
import {
ref,
computed,
nextTick
} from "vue";
import {
$image,
$api,
$response
} from "@/api";
import {
onShow,
onLoad
} from "@dcloudio/uni-app";
let info=ref(null);
const getBaseInfo = async () => {
uni.showLoading()
const response = await $api('BaseInfo',{
hospital_id:1
})
uni.hideLoading()
$response(response, () => {
info.value=response.data
})
}
const tabPatients = () => {
uni.navigateTo({
url: "/pages/user/choose/choose",
});
};
onShow(() => {
getBaseInfo()
});
</script>
<style scoped>
.user_choose_wrapper {
width: 50rpx;
height: 50rpx;
margin-left: 30rpx;
}
.user_choose_wrapper image {
width: 50rpx;
height: 50rpx;
display: block;
object-fit: contain;
}
.user_title_wrapper {
font-weight: 400;
font-size: 26rpx;
color: #fff;
line-height: 1;
}
.user_name_wrapper {
font-weight: 400;
font-size: 26rpx;
color: #fff;
line-height: 1;
}
.user_wrapper {
height: 60rpx;
padding-left: 40rpx;
padding-right: 20rpx;
margin-right: 20rpx;
background: #009ea7;
border-radius: 40rpx;
display: flex;
align-items: center;
justify-content: center;
}
.header_wrapper {
display: flex;
align-items: center;
justify-content: space-between;
width: 710rpx;
height: 90rpx;
background: #d8edf2;
margin: 0 auto;
position: relative;
background-color: #fff;
margin-left: 20rpx;
margin-right: 20rpx;
border-radius: 20rpx;
}
.hospital_wrapper {
display: flex;
align-items: center;
width: 40%;
}
.hospital_icon_wrapper {
width: 48rpx;
height: 48rpx;
margin-left: 20rpx;
}
.hospital_icon_wrapper image {
width: 48rpx;
height: 48rpx;
display: block;
object-fit: contain;
}
.hospital_name_wrapper {
font-weight: 400;
font-size: 28rpx;
color: #484747;
margin-left: 9rpx;
line-height: 1;
}
.hospital_select_wrapper {
width: 24rpx;
height: 14rpx;
margin-left: 19rpx;
}
.hospital_select_wrapper image {
width: 24rpx;
height: 14rpx;
display: block;
object-fit: contain;
}
</style>

@ -122,6 +122,13 @@ import DraggableButton from "@/pages/components/goHome.vue";
<view class="order_info_label_wrapper">预约时间</view>
<view class="order_info_value_wrapper">{{ order_info.appointment_date }} {{ order_info.appointment_time }}</view>
</view>
<view class="order_info_line_wrapper" v-if="order_info.erxian_appointment_info &&order_info.erxian_appointment_info.length>0">
<view class="order_info_label_wrapper">核磁项目:</view>
<view class="order_info_value_wrapper" style="margin-left: 20rpx;" v-for="(item,index) in order_info.erxian_appointment_info" :key="index">
<view>{{item.name}}</view>
<view style="margin-top: -10rpx;">预约时间{{order_info.erxian_appointment_info[0].date}} {{order_info.erxian_appointment_info[0].time}}</view>
</view>
</view>
<view class="order_info_line_wrapper">
<view class="order_info_label_wrapper">类型</view>
<view class="order_info_value_wrapper"><span v-if="order_info.type==1"></span><span v-if="order_info.type==2"></span></view>

@ -3,24 +3,7 @@
<view v-if="!!$store.config">
<view :ref="configRef"></view>
</view>
<view class="header_wrapper">
<view v-if="1" class="hospital_wrapper">
<view class="hospital_icon_wrapper">
<image src="@/static/assets/dingwei@2x.png"></image>
</view>
<view class="hospital_name_wrapper">fdssf</view>
<!-- <view class="hospital_select_wrapper">
<image src="@/static/assets/gengduo@2x.png"></image>
</view> -->
</view>
<view v-if="1" class="user_wrapper" @click="tabPatients()">
<view class="user_title_wrapper">体检人</view>
<view class="user_name_wrapper">324</view>
<view v-if="1" class="user_choose_wrapper">
<image src="@/static/assets/qiehuan@2x.png"></image>
</view>
</view>
</view>
<Top></Top>
<view>
<view class="haoyuan_row">
<view class="haoyuan_row_item">挂号预约</view>
@ -28,31 +11,38 @@
</view>
<view class="order_select_k">
<view class="order_status_row">
<view :class="['order_status_button',{'active':active_status==1}]">未就诊</view>
<view :class="['order_status_button',{'active':active_status==2}]">已就诊</view>
<view :class="['order_status_button',{'active':active_status==3}]">已退号</view>
<view @click="getOrderList()" :class="['order_status_button',{'active':active_status==1}]">未就诊</view>
<view @click="getOrderList()" :class="['order_status_button',{'active':active_status==2}]">已就诊</view>
<view @click="getOrderList()" :class="['order_status_button',{'active':active_status==3}]">已退号</view>
</view>
<view class="rili_row">
<uni-icons type="calendar" color="#009FA8" size="24"></uni-icons>
<view class="riqi_title">预约日期</view>
<uni-datetime-picker :border="false" type="datetimerange" rangeSeparator="至" />
<uni-datetime-picker v-model="searchInfo.dateRange" @change="getOrderList" :border="false" type="datetimerange" rangeSeparator="至" />
</view>
</view>
<view class="order_k">
<view style="display: flex;border-bottom: 1px solid #DBDCDC;">
<uni-icons type="person" size="26"></uni-icons>
<view>预约日期</view>
<view class="order_k" v-for="(item,index) in order_list" :key="index">
<view style="display: flex;justify-content: space-between; border-bottom: 1px solid #DBDCDC;padding-bottom: 10rpx;">
<view style="display: flex;">
<uni-icons type="person" color="#009FA8" size="26"></uni-icons>
<view>预约日期</view>
</view>
<view>
<uni-icons type="right" color="#009FA8" size="24"></uni-icons>
</view>
</view>
<view class="order_info_line_wrapper">
<view class="order_info_label_wrapper">预约人</view>
<view class="order_info_value_wrapper">{{ order_info.name }}</view>
<view class="order_info_value_wrapper">{{ item.name }}</view>
</view>
<view class="order_info_line_wrapper">
<view class="order_info_label_wrapper">预约诊区</view>
<view class="order_info_value_wrapper">
<span style="color:#008F96;font-weight: bold;">秀英院区 </span>
<span v-if="order_info.sex==1">(1)</span>
<span v-if="order_info.sex==2">(2)</span>
<span v-if="item.sex==1">(1)</span>
<span v-if="item.sex==2">(2)</span>
</view>
</view>
</view>
@ -75,6 +65,7 @@
onShow,
onLoad
} from "@dcloudio/uni-app";
import Top from "../../../common/Top.vue";
import {
useStore
} from "@/store";
@ -101,9 +92,22 @@
});
};
let searchInfo=ref({})
let order_list = ref([])
const getOrderList = async () => {
uni.showLoading()
const response = await $api('OrderList',{searchInfo:searchInfo.value})
uni.hideLoading()
$response(response, () => {
order_list.value = response.data.list
})
}
onShow(() => {
getOrderList()
if (!!config_ref.value) {
checkHospital();
}
});
</script>
@ -114,100 +118,7 @@
min-height: calc(100vh - 80rpx);
padding-top: 20rpx;
}
.user_choose_wrapper {
width: 50rpx;
height: 50rpx;
margin-left: 30rpx;
}
.user_choose_wrapper image {
width: 50rpx;
height: 50rpx;
display: block;
object-fit: contain;
}
.user_title_wrapper {
font-weight: 400;
font-size: 26rpx;
color: #fff;
line-height: 1;
}
.user_name_wrapper {
font-weight: 400;
font-size: 26rpx;
color: #fff;
line-height: 1;
}
.user_wrapper {
height: 60rpx;
padding-left: 40rpx;
padding-right: 20rpx;
margin-right: 20rpx;
background: #009ea7;
border-radius: 40rpx;
display: flex;
align-items: center;
justify-content: center;
}
.header_wrapper {
display: flex;
align-items: center;
justify-content: space-between;
width: 710rpx;
height: 90rpx;
background: #d8edf2;
margin: 0 auto;
position: relative;
background-color: #fff;
margin-left: 20rpx;
margin-right: 20rpx;
border-radius: 20rpx;
}
.hospital_wrapper {
display: flex;
align-items: center;
width: 40%;
}
.hospital_icon_wrapper {
width: 48rpx;
height: 48rpx;
margin-left: 20rpx;
}
.hospital_icon_wrapper image {
width: 48rpx;
height: 48rpx;
display: block;
object-fit: contain;
}
.hospital_name_wrapper {
font-weight: 400;
font-size: 28rpx;
color: #484747;
margin-left: 9rpx;
line-height: 1;
}
.hospital_select_wrapper {
width: 24rpx;
height: 14rpx;
margin-left: 19rpx;
}
.hospital_select_wrapper image {
width: 24rpx;
height: 14rpx;
display: block;
object-fit: contain;
}
.haoyuan_row{
display: flex;
width: 100%;
@ -261,6 +172,7 @@
margin: 20rpx;
border-radius: 10rpx;
padding: 30rpx;
color:#3E3A39;
}
.order_info_line_wrapper {
display: flex;

Loading…
Cancel
Save