各种更新

main
yanzai 10 months ago
parent e992574e16
commit d5aaf868ae

@ -93,6 +93,9 @@ class ApiMapController extends Controller
'OrderZhuanZeng' => $base_url . '/api/H5/OrderZhuanZeng', // 订单转赠 'OrderZhuanZeng' => $base_url . '/api/H5/OrderZhuanZeng', // 订单转赠
'OrderReceiveZhuanZeng' => $base_url . '/api/H5/OrderReceiveZhuanZeng', // 接受订单转赠 'OrderReceiveZhuanZeng' => $base_url . '/api/H5/OrderReceiveZhuanZeng', // 接受订单转赠
'GetPersonJianDangInfo' => $base_url . '/api/H5/GetPersonJianDangInfo', // 根据多种条件查询建档信息 'GetPersonJianDangInfo' => $base_url . '/api/H5/GetPersonJianDangInfo', // 根据多种条件查询建档信息
'GetSanFangList' => $base_url . '/api/H5/GetSanFangList', // 获取三方机构列表
'GetSanFangCode' => $base_url . '/api/H5/GetSanFangCode', // 获取三方机构code
'HeXiaoSanFangCode' => $base_url . '/api/H5/HeXiaoSanFangCode', // 核销三方机构code
]; ];
} }

@ -45,6 +45,7 @@ class ComboController extends Controller
$combo_type = $request->post('combo_type'); $combo_type = $request->post('combo_type');
$combo_crowd = $request->post('combo_crowd'); $combo_crowd = $request->post('combo_crowd');
$combo_price = $request->post('combo_price'); $combo_price = $request->post('combo_price');
$combo_sex = $request->post('combo_sex');
$combo_item = $request->post('combo_item'); $combo_item = $request->post('combo_item');
$checkup_type_id = $request->post('checkup_type_id'); $checkup_type_id = $request->post('checkup_type_id');
$keshi_name=$request->post('keshi_name'); $keshi_name=$request->post('keshi_name');
@ -61,7 +62,12 @@ class ComboController extends Controller
//用户绑定就诊人数量 //用户绑定就诊人数量
$personCount = DB::table('web_user_person')->where(['user_id' => $user->id, 'is_del' => 0])->count(); $personCount = DB::table('web_user_person')->where(['user_id' => $user->id, 'is_del' => 0])->count();
$canshu = []; $canshu = [];
$canshu[]=$person->sex; if(isset($combo_sex)){
$canshu[]=$combo_sex;
}else{
$canshu[]=$person->sex;
}
$sql = ''; $sql = '';
if (isset($combo_price) and !isset($price_range)) { if (isset($combo_price) and !isset($price_range)) {
$price_list = [ $price_list = [
@ -232,13 +238,18 @@ select combo_id as c_id,count(*) as count from combo_items where status in(1) gr
]; ];
//获取套餐价格分布 //获取套餐价格分布
$step = 500; $step = 500;
$maxPrice = 20000 + $step; $maxPrice = 9500 + $step;
$db_maxPrice = DB::table('configs')->where(['label'=>'H5价格筛选最大值'])->first();
if(!!$db_maxPrice){
$maxPrice = $db_maxPrice->value;
}
$result=DB::select("SELECT FLOOR(price / ?) * ? AS price_range_start, COUNT(*) AS count $result=DB::select("SELECT FLOOR(price / ?) * ? AS price_range_start, COUNT(*) AS count
FROM combos FROM combos
WHERE price >= 0 AND price < ? WHERE price >= 0 AND price < ?
GROUP BY price_range_start;",[$step,$step,$maxPrice]); GROUP BY price_range_start;",[$step,$step,$maxPrice]);
$price_ranges = []; $price_ranges = [];
for ($i = 0; $i <= 20000; $i += $step) { for ($i = 0; $i <= $maxPrice-$step; $i += $step) {
$price_ranges[$i] = 0; $price_ranges[$i] = 0;
} }
foreach ($result as $row) { foreach ($result as $row) {
@ -312,6 +323,7 @@ FROM combos;");
$group_id = request('group_id'); //团检登记id $group_id = request('group_id'); //团检登记id
$wj_flag= request('wj'); //问卷标记 $wj_flag= request('wj'); //问卷标记
$coupon_id=request('coupon_id'); //代金券id $coupon_id=request('coupon_id'); //代金券id
$sanfang_code=request('sanfang_code'); //第三方code
$person_id = request('person_id'); //就诊人id $person_id = request('person_id'); //就诊人id
$person=DB::table('web_user_person')->where(['id' => $person_id,'is_del'=>0])->first(); $person=DB::table('web_user_person')->where(['id' => $person_id,'is_del'=>0])->first();
@ -417,6 +429,12 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4)
$combo_info['items']= $this->KeShiPaiXu($combo_info['items']); $combo_info['items']= $this->KeShiPaiXu($combo_info['items']);
$pay_item_count += $combo->item_count; $pay_item_count += $combo->item_count;
$true_price += $combo_info['price']; $true_price += $combo_info['price'];
//如果使用了第三方券
if(isset($sanfang_code) and isset($sanfang_code['code_num'])){
if($sanfang_code['combo_id']<>$combo_id) return \Yz::echoError1("转赠码与套餐不匹配");
$true_price=$true_price-$sanfang_code['price'];
if($true_price<0) $true_price=0;
}
$combo_info['tags'][0]['text']=$comboItemCount. '个项目'; $combo_info['tags'][0]['text']=$comboItemCount. '个项目';
//如果有影像科则存储在nmr_list //如果有影像科则存储在nmr_list
$comboItem=DB::table('combo_items')->where(['combo_id' => $combo_id, 'status' => 1,'keshi_name'=>'影像科'])->get(); $comboItem=DB::table('combo_items')->where(['combo_id' => $combo_id, 'status' => 1,'keshi_name'=>'影像科'])->get();
@ -455,21 +473,21 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4)
if (!isset($groupedData[$keshiName])) { if (!isset($groupedData[$keshiName])) {
$groupedData[$keshiName] = []; $groupedData[$keshiName] = [];
} }
$groupedData[$keshiName][] = ['desc' => $item->jianjie, 'name' => $item->name,'price'=>$item->price,'original_price'=>$item->original_price,'id'=>$item->item_id]; $groupedData[$keshiName][] = ['desc' => $item->jianjie, 'name' => $item->name,'price'=>number_format( $item->price * config('app.globals.ZiXuan_ZheKou'), 2, '.', ''),'original_price'=>$item->original_price,'id'=>$item->item_id];
//如果有影像科则存储在nmr_list字段 //如果有影像科则存储在nmr_list字段
if($item->keshi_name=='影像科'){ if($item->keshi_name=='影像科'){
$nmr_list[]=[ $nmr_list[]=[
'item_id' => $item->item_id, 'item_id' => $item->item_id,
'name' => $item->name, 'name' => $item->name,
'price' => $item->price, 'price' =>number_format( $item->price * config('app.globals.ZiXuan_ZheKou'), 2, '.', '') ,
]; ];
} }
} }
if(isset($wj_flag) and $wj_flag==1){ // if(isset($wj_flag) and $wj_flag==1){
$item_price=number_format($item_price*$wj_zhekou, 2, '.', '') ; // $item_price=number_format($item_price*$wj_zhekou, 2, '.', '') ;
} // }
$item_price=number_format($item_price * config('app.globals.ZiXuan_ZheKou'), 2, '.', '') ;
$items_info['price'] =$item_price; $items_info['price'] =$item_price;
$items_info['original_price'] = $items_original_price; $items_info['original_price'] = $items_original_price;

@ -106,7 +106,7 @@ class DoctorController extends Controller
'name' => $value['U_NAME'], 'name' => $value['U_NAME'],
'id' => $value['U_ID'], 'id' => $value['U_ID'],
'level' => $value['ZC_NAME'], 'level' => $value['ZC_NAME'],
'hospital' => '', 'hospital' => '秀英院区',
'time' => $value['U_GDPB'], 'time' => $value['U_GDPB'],
'desc' => $value['U_JIANJIE'], 'desc' => $value['U_JIANJIE'],
'keshiname'=>$keshiname, 'keshiname'=>$keshiname,

@ -24,6 +24,7 @@ class ItemController extends Controller
$group_list = []; $group_list = [];
$items= $this->KeShiPaiXu($items); $items= $this->KeShiPaiXu($items);
foreach ($items as $item) { foreach ($items as $item) {
$item->price=number_format($item->price * config('app.globals.ZiXuan_ZheKou'), 2, '.', '') ;
if($item->sex <> $person->sex and $item->sex<>0){ if($item->sex <> $person->sex and $item->sex<>0){
continue; continue;
} }

@ -6,6 +6,7 @@ use App\Http\Controllers\API\AspNetZhuanController;
use App\Http\Controllers\API\PEISApiController; use App\Http\Controllers\API\PEISApiController;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Lib\Tools; use App\Lib\Tools;
use App\Services\SanFangCodeService;
use DateTime; use DateTime;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
@ -22,6 +23,7 @@ class OrderNewController extends Controller
$group_id = request('group_id');//团检id $group_id = request('group_id');//团检id
$item_ids = request('item_ids');//自选item的ids $item_ids = request('item_ids');//自选item的ids
$peiou_info = request('peiou_info');//配偶信息 $peiou_info = request('peiou_info');//配偶信息
$sanfang_code=request('sanfang_code'); //第三方code
if (count($item_ids) != 0 and $item_ids[0] == "") { if (count($item_ids) != 0 and $item_ids[0] == "") {
$item_ids = []; $item_ids = [];
@ -90,6 +92,9 @@ class OrderNewController extends Controller
$combo_info = DB::table('combos')->where(['combo_id' => $combo_id, 'status' => 1])->first(); $combo_info = DB::table('combos')->where(['combo_id' => $combo_id, 'status' => 1])->first();
if (!$combo_info) return \Yz::echoError1("套餐不存在"); if (!$combo_info) return \Yz::echoError1("套餐不存在");
if (!isset($combo_info->checkup_type_id)) return \Yz::echoError1("套餐未关联体检类型"); if (!isset($combo_info->checkup_type_id)) return \Yz::echoError1("套餐未关联体检类型");
if($combo_info->sex<>0 and $combo_info->sex<>$person->sex) {
return \Yz::echoError1("套餐性别与体检人性别不匹配");
}
$checkup_type_id = $combo_info->checkup_type_id; $checkup_type_id = $combo_info->checkup_type_id;
//构建多选一数据 //构建多选一数据
@ -120,6 +125,20 @@ class OrderNewController extends Controller
$TJ_Leixing_id = $checkup_type_id; $TJ_Leixing_id = $checkup_type_id;
$price += $combo_info->price; $price += $combo_info->price;
//如果使用了第三方券
$cha_sanfang_code=false;
if(isset($sanfang_code) and isset($sanfang_code['code_num'])){
if($sanfang_code['combo_id']<>$combo_id) return \Yz::echoError1("转赠码与套餐不匹配");
//校验有效性,临时抵消套餐价格
if($sanfang_code['qudao_type']==1){
$cha_sanfang_code = DB::table('transfer_code')->where(['code' => $sanfang_code['code_num'], 'status' => 1, 'is_del' => 0])->first();
if (!$cha_sanfang_code) return \Yz::echoError1("此转赠码不可用");
$price=$price-$cha_sanfang_code->price;
if($price<0){
$price=0;
}
}
}
$title = $combo_info->name; $title = $combo_info->name;
$buy_info['combo'] = [ $buy_info['combo'] = [
'id' => $combo_info->combo_id, 'id' => $combo_info->combo_id,
@ -160,10 +179,10 @@ class OrderNewController extends Controller
]; ];
} }
} }
if (isset($wj_flag) and $wj_flag == 1) { // if (isset($wj_flag) and $wj_flag == 1) {
$item_price = $item_price * $wj_zhekou; // $item_price = $item_price * $wj_zhekou;
} // }
$item_price = $item_price *0.8; //所有自选项目打8折
$price += $item_price; $price += $item_price;
$missingIds = array_diff($item_ids, $existingIds); $missingIds = array_diff($item_ids, $existingIds);
@ -361,6 +380,12 @@ class OrderNewController extends Controller
]; ];
$youhuiquan_dikou_status = $AspNet::YouHuiQuan($data); $youhuiquan_dikou_status = $AspNet::YouHuiQuan($data);
} }
//核销三方券码(转赠码等)
if(!!$cha_sanfang_code){
$s= new SanFangCodeService();
$hexiao=$s->HeXiaoSanFangCode($sanfang_code['qudao_type'],$cha_sanfang_code->code,$insert);
if($hexiao['status']===false) return \Yz::echoError1($hexiao['msg']);
}
} }

@ -0,0 +1,56 @@
<?php
namespace App\Http\Controllers\API\H5;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class SanFangController extends Controller
{
public function GetSanFangList(Request $request)
{
$list = DB::table('sanfang')->where(['status' => 1])->get();
return \Yz::Return(true, "查询完成", ['list' => $list]);
}
//查询三方码
public function GetSanFangCode(Request $request)
{
$code = request('code');
$qudao_type = request('qudao_type');//1H5转赠码2有赞
if ($qudao_type == 1) {
$code = DB::table('transfer_code')->where(['code' => $code, 'status' => 1, 'is_del' => 0])->first();
if (!$code) return \Yz::echoError1("此转赠码不可用");
$data = [
'code_num' => $code->code,
'status' => $code->status,
'price' => $code->price,
'combo_id' => $code->combo_id,
'qudao_type' => $qudao_type,
];
return \Yz::Return(true, "查询成功", $data);
}
}
//操作三方码
public function HeXiaoSanFangCode(Request $request)
{
$qudao_type = request('qudao_type');//1H5转赠码2有赞
$code = request('code');
if ($qudao_type == 1) {
$u = false;
$data = [
'status' => 2,
'tj_num' => isset($tj_num) ? $tj_num : null,
];
$u = DB::table('transfer_code')->where(['code' => $code, 'status' => 1, 'is_del' => 0])->update($data);
if ($u) {
return \Yz::Return(true, "操作成功", ['code_num' => $code]);
} else {
return \Yz::echoError1("操作失败");
}
}
}
}

@ -38,4 +38,5 @@ class TransferCodeController extends Controller
} }
} }

@ -177,6 +177,12 @@ class OrderService
$AspNet::YouHuiQuan($data); $AspNet::YouHuiQuan($data);
} }
} }
$sanfangcode=json_decode($orderInfo->sanfang_code,true);
if($sanfangcode and !empty($sanfangcode)){
$s=new SanFangCodeService();
$cancel_hexiao=$s->CancelSanFangCode($sanfangcode['qudao_type'],$sanfangcode['code'],$orderInfo->id );
}
DB::table('orders')->where(['id' => $orderInfo->id,'status'=>1])->update([ DB::table('orders')->where(['id' => $orderInfo->id,'status'=>1])->update([
'status' => 3 'status' => 3
@ -286,7 +292,11 @@ class OrderService
$AspNet::YouHuiQuan($data); $AspNet::YouHuiQuan($data);
} }
} }
$sanfangcode=json_decode($orderInfo->sanfang_code,true);
if($sanfangcode and !empty($sanfangcode)){
$s=new SanFangCodeService();
$cancel_hexiao=$s->CancelSanFangCode($sanfangcode['qudao_type'],$sanfangcode['code'],$orderInfo->id );
}
DB::table('orders')->where(['id' => $id])->update([ DB::table('orders')->where(['id' => $id])->update([
'status' => 5, 'status' => 5,
'refund_time'=>$now_datetime 'refund_time'=>$now_datetime

@ -0,0 +1,47 @@
<?php
namespace App\Services;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class SanFangCodeService
{
//核销三方code
public function HeXiaoSanFangCode($qudao_type, $code,$orderid)
{
if ($qudao_type == 1) {
$u = false;
$data = [
'status' => 2,
'pay_order_id' => $orderid,
];
$u = DB::table('transfer_code')->where(['code' => $code, 'status' => 1, 'is_del' => 0])->update($data);
$data2=[
'qudao_type' => $qudao_type,
'code' => $code,
];
DB::table('orders')->where(['id'=>$orderid])->update(['sanfang_code'=>json_encode($data2,JSON_UNESCAPED_UNICODE)]);
if ($u) {
return ['status'=>true,'msg'=>'操作成功'];
} else {
return ['status'=>false,'msg'=>'核销失败'];
}
}
}
//撤销核销
public function CancelSanFangCode($qudao_type, $code,$orderid){
if ($qudao_type == 1) {
$u = false;
$data = [
'status' => 1,
'pay_order_id' => null,
];
$u = DB::table('transfer_code')->where(['code' => $code, 'status' => 2, 'is_del' => 0])->update($data);
if ($u) {
return ['status'=>true,'msg'=>'操作成功'];
} else {
return ['status'=>false,'msg'=>'撤销失败'];
}
}
}
}

@ -11,6 +11,7 @@ return [
// 'Env'=>'pro', // 'Env'=>'pro',
'Env'=>'dev', 'Env'=>'dev',
'Wj_ZheKou'=>1,//问卷带出项目,折扣率 'Wj_ZheKou'=>1,//问卷带出项目,折扣率
'ZiXuan_ZheKou'=>0.8,//自选项目折扣
'erxian_kuadu'=>3,//二线时间跨度,单位天 'erxian_kuadu'=>3,//二线时间跨度,单位天
'KeShiPaiXu'=>["预检咨询","体格检查","人体成分","呼气试验","采血室(化验)","内科","妇科","妇科(化验)","妇科(病理)","婚前医学检查","外科","眼科","耳鼻喉科","肺功能室","口腔科","骨密度室","CT室","影像科","住院体检","胃肠镜室"] 'KeShiPaiXu'=>["预检咨询","体格检查","人体成分","呼气试验","采血室(化验)","内科","妇科","妇科(化验)","妇科(病理)","婚前医学检查","外科","眼科","耳鼻喉科","肺功能室","口腔科","骨密度室","CT室","影像科","住院体检","胃肠镜室"]
], ],

@ -85,6 +85,9 @@ Route::group(['middleware' => ['log'],'prefix' => 'api/H5'], function () {
Route::post('/OrderZhuanZeng', 'App\Http\Controllers\API\H5\OrderNewController@ZhuanZeng');//订单转赠 Route::post('/OrderZhuanZeng', 'App\Http\Controllers\API\H5\OrderNewController@ZhuanZeng');//订单转赠
Route::post('/OrderReceiveZhuanZeng', 'App\Http\Controllers\API\H5\OrderNewController@ReceiveZhuanZeng');//接受订单转赠 Route::post('/OrderReceiveZhuanZeng', 'App\Http\Controllers\API\H5\OrderNewController@ReceiveZhuanZeng');//接受订单转赠
Route::post('/CreateTransferCode', 'App\Http\Controllers\API\H5\TransferCodeController@CreateTransferCode');//创建转赠码 Route::post('/CreateTransferCode', 'App\Http\Controllers\API\H5\TransferCodeController@CreateTransferCode');//创建转赠码
Route::post('/GetSanFangList', 'App\Http\Controllers\API\H5\SanFangController@GetSanFangList');//获取三方机构列表
Route::post('/GetSanFangCode', 'App\Http\Controllers\API\H5\SanFangController@GetSanFangCode');//获取三方code
Route::post('/HeXiaoSanFangCode', 'App\Http\Controllers\API\H5\SanFangController@HeXiaoSanFangCode');//核销三方code

@ -55,6 +55,11 @@
"style": { "style": {
"navigationBarTitleText": "个检预约" "navigationBarTitleText": "个检预约"
} }
},{
"path": "pages/buy/choose/sanfang",
"style": {
"navigationBarTitleText": "核销"
}
}, },
{ {
"path": "pages/posts/posts/posts", "path": "pages/posts/posts/posts",

@ -96,6 +96,11 @@
}; };
onShow(() => { onShow(() => {
let buyinfo=$store.getBuyInfo()
buyinfo.combo_id=''
buyinfo.combo_sex=''
buyinfo.sanfang_code={}
$store.setBuyInfo(buyinfo)
if (!!config_ref.value) { if (!!config_ref.value) {
mountedAction(); mountedAction();
} }

@ -0,0 +1,200 @@
<script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/**
* name
* usersa0ChunLuyu
* date2024年9月11日 19:24:50
*/
import {
ref
} from "vue";
import {
$api,
$image,
$response
} from "@/api";
import {
onShow
} from "@dcloudio/uni-app";
import {
useStore
} from "@/store";
const $store = useStore();
const $props = defineProps({
url: {
type: String,
default: "",
},
});
let HeXiaoPopupRef=ref(null);
const button_list = ref([]);
let select_sanfang_info=ref(null);
let hexiao_code=ref('')
let buy_info=ref({});
const getSanfang = async () => {
uni.showLoading();
const response = await $api("GetSanFangList");
uni.hideLoading();
$response(response, async () => {
button_list.value=response.data.list
});
};
const mountedAction = () => {
getSanfang()
};
const config_ref = ref(null);
const configRef = (e) => {
if (!config_ref.value) {
config_ref.value = e;
mountedAction();
}
};
const buttonClick = (info) => {
select_sanfang_info.value=info
HeXiaoPopupRef.value.open()
};
const search=async()=>{
uni.showLoading();
const response = await $api("GetSanFangCode",{
qudao_type:select_sanfang_info.value.id,
code:hexiao_code.value
});
uni.hideLoading();
$response(response, async () => {
if(response.status){
buy_info.value.sanfang_code=response.data
$store.setBuyInfo(buy_info.value)
let query="?comboId="+response.data.combo_id
uni.navigateTo({
url: "/pages/main/tj/tjxq" + query,
});
}
});
}
onShow(() => {
buy_info.value=$store.getBuyInfo()
buy_info.value.sanfang_code={}
$store.setBuyInfo(buy_info.value)
if (!!config_ref.value) {
mountedAction();
}
});
</script>
<template>
<DraggableButton />
<uni-popup ref="HeXiaoPopupRef" style="z-index: 999;">
<view class="tishi_main">
<view class="tishi_title">查询</view>
<view class="tishi_title2">{{select_sanfang_info.name}}</view>
<view class="tishi_content">
<uni-easyinput type="text" v-model="hexiao_code" placeholder="请输入核销码" />
</view>
<view class="tishi_button" @click="search()"></view>
</view>
</uni-popup>
<view class="choose_main">
<view v-if="!!$store.config">
<view :ref="configRef"></view>
</view>
<view class="button_list_wrapper">
<view @click="buttonClick(i)" class="button_item_wrapper" v-for="(i, k) in button_list" :key="k">
<view class="button_icon_wrapper">
<image :src="$image(i.logo)"></image>
</view>
<view :class="['button_name_wrapper',{'active':i.id==99}]">{{ i.name }}</view>
<view class="button_right_wrapper">
<uni-icons type="compose" size="20"></uni-icons>
</view>
</view>
</view>
</view>
</template>
<style scoped>
.choose_main{
background-color: #E0F1F5;
min-height: calc(100vh - 80rpx);
}
.button_list_wrapper {
width: 750rpx;
margin: 0 auto;
overflow-y: auto;
}
.button_item_wrapper {
width: 552rpx;
height: 140rpx;
background: #ffffff;
box-shadow: 0rpx 1rpx 4rpx 0rpx rgba(0, 164, 172, 0.16);
border-radius: 15rpx;
margin: 50rpx auto 0;
display: flex;
align-items: center;
justify-content: space-between;
}
.active{
color:#008F96 !important;
}
.button_icon_wrapper {
width: 82rpx;
height: 82rpx;
margin-left: 48rpx;
}
.button_icon_wrapper image {
width: 82rpx;
height: 82rpx;
display: inline-block;
object-fit: contain;
}
.button_name_wrapper {
font-weight: 500;
font-size: 32rpx;
color: #000000;
line-height: 1;
}
.button_right_wrapper {
margin-right: 48rpx;
}
.tishi_main{
background-color: #fff;
padding: 40rpx 50rpx;
width:600rpx;
border-radius: 40rpx;
}
.tishi_button{
width: 365rpx;
background-color: #009da5;
color:#fff;
text-align: center;
padding-top: 10rpx;
padding-bottom: 10rpx;
border-radius: 40rpx;
margin: 40rpx auto 10rpx auto;
}
.tishi_title{
text-align: center;
font-size: 30rpx;
font-weight: 600;
color:#2b2827;
}
.tishi_title2{
font-size: 28rpx;
margin-top: 30rpx;
font-weight: 600;
color:#3a3635;
border-left: 3px solid #009da5;
padding-left: 5rpx;
}
.tishi_content{
font-size: 28rpx;
margin-top: 30rpx;
color:#474241;
}
</style>

@ -130,7 +130,7 @@
<uni-icons type="info-filled" size="18" color="#009DA6"></uni-icons> <uni-icons type="info-filled" size="18" color="#009DA6"></uni-icons>
</view> </view>
<view style="line-height: 38rpx;margin-left: 6rpx;"> <view style="line-height: 38rpx;margin-left: 6rpx;">
请提前10分钟凭身份证原件到现代妇儿秀英院区健康管理中心(2楼女宾区)签到建议体检前3天清淡饮食禁烟酒体检当天需空腹禁水禁食咨询电话6659555565781993 请提前10分钟凭身份证原件到现代妇儿秀英院区健康管理中心(<span v-if="order_info.sex==1"></span><span v-if="order_info.sex==2"></span>)36659555565781993
</view> </view>
</view> </view>

@ -131,6 +131,13 @@
<view class="order_info_label_wrapper">预约号源</view> <view class="order_info_label_wrapper">预约号源</view>
<view class="order_info_value_wrapper">{{ order_info.appointment_date }} {{ order_info.appointment_time }}</view> <view class="order_info_value_wrapper">{{ order_info.appointment_date }} {{ order_info.appointment_time }}</view>
</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="tishi"> <!-- <view class="tishi">
<view> <view>
<uni-icons type="info-filled" size="18" color="#009DA6"></uni-icons> <uni-icons type="info-filled" size="18" color="#009DA6"></uni-icons>

@ -65,6 +65,12 @@
let zhuangjianType=ref(19); let zhuangjianType=ref(19);
let TiShiPopupRef=ref(null);// let TiShiPopupRef=ref(null);//
let SelectedComboInfo=ref(null);// let SelectedComboInfo=ref(null);//
let sex_range=ref([
{ value: 0, text: "不限" },
{ value: 1, text: "男" },
{ value: 2, text: "女" },
]);
const selectItemClick = async (index, key) => { const selectItemClick = async (index, key) => {
// //
@ -140,6 +146,7 @@
} }
await getComboList(); await getComboList();
popup_new.value.close(); popup_new.value.close();
shaixuan_popup_status.value=false;
}; };
const remake = () => { const remake = () => {
@ -149,6 +156,8 @@
delete screenObj.value.price_range delete screenObj.value.price_range
delete screenObj.value.combo_crowd delete screenObj.value.combo_crowd
delete screenObj.value.combo_type delete screenObj.value.combo_type
screenObj.value.combo_sex=$store.getUser()?.sex
price_max_min.value=[0,combo_list.value.price_max]; price_max_min.value=[0,combo_list.value.price_max];
priceIndex.value = null; priceIndex.value = null;
projectIds.value = []; projectIds.value = [];
@ -219,7 +228,7 @@
doctor: $store.save.doctor, doctor: $store.save.doctor,
hospital: hospital_active.value, hospital: hospital_active.value,
search: e?.value, search: e?.value,
keshi_name: keshi_name.value keshi_name: keshi_name.value,
}; };
if ($store.getCheckupTypeId()) { if ($store.getCheckupTypeId()) {
let b = $store.getCheckupTypeId(); let b = $store.getCheckupTypeId();
@ -275,7 +284,7 @@
url: "/pages/user/choose/choose", url: "/pages/user/choose/choose",
}); });
}; };
let shaixuan_popup_status=ref(false);//
const open = (key) => { const open = (key) => {
if (key) { if (key) {
// //
@ -290,11 +299,18 @@
// //
popup.value.close(); popup.value.close();
popup_new.value.close(); popup_new.value.close();
if(shaixuan_popup_status.value===true){
popup_new.value.close();
shaixuan_popup_status.value=false;
return false
}
selectKey.value = "screen"; selectKey.value = "screen";
// combo_select.value.combo_sex=screenObj.value.combo_sex
let time = setTimeout(() => { let time = setTimeout(() => {
popup_new.value.open("top"); popup_new.value.open("top");
shaixuan_popup_status.value=true
clearTimeout(time); clearTimeout(time);
}, 400); }, 400);
@ -329,9 +345,12 @@
onShow(() => { onShow(() => {
$store.setDuoXuanYi({}); $store.setDuoXuanYi({});
itemIds.value = []; itemIds.value = [];
screenObj.value.combo_sex=$store.getUser()?.sex
if (!!config_ref.value) { if (!!config_ref.value) {
checkHospital(); checkHospital();
} }
if($props.tabs==1){ if($props.tabs==1){
tabsClickFunc(1) tabsClickFunc(1)
} }
@ -339,6 +358,7 @@
let keshi_name = ref(null); let keshi_name = ref(null);
onLoad((e) => { onLoad((e) => {
keshi_name.value = e.keshi_name keshi_name.value = e.keshi_name
}) })
const buyClick = async (item) => { const buyClick = async (item) => {
@ -360,10 +380,10 @@
multipleList.value = item.duo_xuan_yi; multipleList.value = item.duo_xuan_yi;
return; return;
} }
if(item.type_id==zhuangjianType.value){ // if(item.type_id==zhuangjianType.value){
TiShiPopupRef.value.open(); // TiShiPopupRef.value.open();
return // return
} // }
toDetail(); toDetail();
}; };
@ -443,6 +463,9 @@
screenObj.value.price_range=value screenObj.value.price_range=value
price_max_min.value=value price_max_min.value=value
console.log(price_max_min.value); console.log(price_max_min.value);
}
const combosex_change=()=>{
} }
const tabsClickFunc=(value)=>{ const tabsClickFunc=(value)=>{
tabs_active_id.value=value tabs_active_id.value=value
@ -528,7 +551,8 @@
}" class="mx-20rpx center text-#2f2f2f text-26rpx"> }" class="mx-20rpx center text-#2f2f2f text-26rpx">
<view>筛选</view> <view>筛选</view>
<view class="select_item_icon2_wrapper"> <view class="select_item_icon2_wrapper">
<image src="@/static/assets/shaixuan@2x.png"></image> <image v-if="screenObj.combo_price || screenObj.combo_item || screenObj.price_range || screenObj.combo_crowd || screenObj.combo_type" src="@/static/assets/shaixuan_active@2x.png"></image>
<image v-else src="@/static/assets/shaixuan@2x.png"></image>
</view> </view>
</view> </view>
</view> </view>
@ -560,7 +584,7 @@
<text class="combo_true_price_number_wrapper">{{ i.price }}</text> <text class="combo_true_price_number_wrapper">{{ i.price }}</text>
</view> </view>
<view v-if="i.type_id!=zhuangjianType" class="combo_original_price_wrapper">¥{{ i.original_price }}</view> <view v-if="i.type_id!=zhuangjianType" class="combo_original_price_wrapper">¥{{ i.original_price }}</view>
<view v-if="i.type_id==zhuangjianType" class="combo_original_price_wrapper2"></view> <!-- <view v-if="i.type_id==zhuangjianType" class="combo_original_price_wrapper2"></view> -->
</view> </view>
<!-- <view class="combo_count_wrapper">已售{{ i.count }}</view> --> <!-- <view class="combo_count_wrapper">已售{{ i.count }}</view> -->
</view> </view>
@ -643,6 +667,16 @@
<view class="pt-292rpx w-full h-100vh" > <view class="pt-292rpx w-full h-100vh" >
<view class="bg-[rgba(0,0,0,0.3)] h-100%"> <view class="bg-[rgba(0,0,0,0.3)] h-100%">
<view class="popup_new_main"> <view class="popup_new_main">
<view style="">
<view class="shaixuan_title">性别</view>
<view>
<uni-data-select
v-model="screenObj.combo_sex"
:localdata="sex_range"
@change="combosex_change"
></uni-data-select>
</view>
</view>
<view class="shaixuan_title">套餐类型</view> <view class="shaixuan_title">套餐类型</view>
<view style="display: flex;flex-wrap: wrap; "> <view style="display: flex;flex-wrap: wrap; ">
<view v-for="(item,index) in combo_select.combo_type" @click="ComboTypeClickFunc(item.id)" :class="['shaixuan_button',{'shaixuan_button_active': comboIndex==item.id}]"> <view v-for="(item,index) in combo_select.combo_type" @click="ComboTypeClickFunc(item.id)" :class="['shaixuan_button',{'shaixuan_button_active': comboIndex==item.id}]">
@ -843,9 +877,9 @@
} }
.combo_true_price_wrapper { .combo_true_price_wrapper {
font-weight: 500; font-weight:600;
font-size: 18rpx; font-size: 18rpx;
color: #ec3d15; color: #E95513;
line-height: 1; line-height: 1;
} }
@ -897,13 +931,13 @@
font-size: 18rpx; font-size: 18rpx;
color: #47abd8; color: #47abd8;
margin: 10rpx 8rpx 10rpx 0rpx; margin: 10rpx 8rpx 10rpx 0rpx;
border: 1rpx solid #009da5; border: 2rpx solid #009da5;
} }
.combo_name_wrapper { .combo_name_wrapper {
font-weight: 400; font-weight: 900;
font-size: 32rpx; font-size: 32rpx;
color: #0e0e0e; color: #3E3A39;
line-height: 32rpx; line-height: 32rpx;
} }
@ -1126,6 +1160,8 @@
background-color: #fff; background-color: #fff;
border-radius: 0rpx 0rpx 20rpx 20rpx; border-radius: 0rpx 0rpx 20rpx 20rpx;
padding: 40rpx 20rpx 20rpx 20rpx; padding: 40rpx 20rpx 20rpx 20rpx;
max-height: calc(100vh - 500rpx);
overflow-y: auto;
} }
.top_button_row { .top_button_row {

@ -237,6 +237,7 @@
let buyinfo=$store.getBuyInfo() let buyinfo=$store.getBuyInfo()
buyinfo.combo_id='' buyinfo.combo_id=''
buyinfo.combo_sex='' buyinfo.combo_sex=''
buyinfo.sanfang_code={}
$store.setBuyInfo(buyinfo) $store.setBuyInfo(buyinfo)
$store.setCheckupTypeId({}); $store.setCheckupTypeId({});
@ -294,7 +295,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="botm_blank_wrapper" style="font-size: 18rpx;color: #ccc;">01031940</view> <view class="botm_blank_wrapper" style="font-size: 18rpx;color: #ccc;">02261310</view>
</view> </view>
</view> </view>
</template> </template>

@ -16,7 +16,7 @@
import { import {
onShow onShow
} from "@dcloudio/uni-app"; } from "@dcloudio/uni-app";
import wx from "weixin-js-sdk"; import wx from "weixin-js-sdk";
const $props = defineProps({ const $props = defineProps({
info: { info: {
type: Object, type: Object,
@ -100,7 +100,25 @@
}; };
const emit = defineEmits(); const emit = defineEmits();
const Refound = async (id) => { const Refound = async (order) => {
let content='确定要为 '+order.title+' 退款吗?'
if(order.appointment_date?.length>0){
content='您已经预约'+order.appointment_date+'的体检,'+content;
}
uni.showModal({
title: '提示',
content: content,
success: function (res) {
if (res.confirm) {
tuikuan(order.id)
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
};
const tuikuan=async(id)=>{
uni.showLoading(); uni.showLoading();
const response = await $api("Refund", { const response = await $api("Refund", {
openid: localStorage.getItem("OPENID"), openid: localStorage.getItem("OPENID"),
@ -115,7 +133,7 @@
emit("updateValue", "orderUpdate"); emit("updateValue", "orderUpdate");
} }
}); });
}; }
// //
const toPlan=(id)=>{ const toPlan=(id)=>{
uni.navigateTo({ uni.navigateTo({
@ -268,7 +286,20 @@
} }
}) })
} }
const fuzhi=()=>{
uni.setClipboardData({
data:OrderInfoDetail.value.transfer_code,
success: function () {
uni.showToast({
title: '复制成功'
});
}
});
}
onMounted(() => { onMounted(() => {
deepInfo(); deepInfo();
}); });
</script> </script>
@ -286,7 +317,19 @@
</view> </view>
<view v-if="OrderInfoDetail.transfer_type==2"> <view v-if="OrderInfoDetail.transfer_type==2">
<view>转赠码</view> <view>转赠码</view>
<view>{{OrderInfoDetail.transfer_code?OrderInfoDetail.transfer_code:''}}</view>
<view style="display: flex;align-items: center;">
<view style="margin-right: 10rpx;">{{OrderInfoDetail.transfer_code?OrderInfoDetail.transfer_code:''}}</view>
<button size="mini" type="default" @click="fuzhi()"></button>
</view>
<view style="margin-top: 10rpx;width: 100%;display: flex;align-items: center;justify-items: center;">
<w-qrcode :options="{
level: 4,
size: 460,
code: OrderInfoDetail.transfer_code?OrderInfoDetail.transfer_code:'',
}"></w-qrcode>
</view>
</view> </view>
<view v-if="OrderInfoDetail.transfer_type==1"> <view v-if="OrderInfoDetail.transfer_type==1">
<view>已转赠至</view> <view>已转赠至</view>
@ -364,7 +407,10 @@
<view class="OrderInfoRow" v-if="OrderInfoDetail.transfer_type==2"> <view class="OrderInfoRow" v-if="OrderInfoDetail.transfer_type==2">
<view class="row_label">转赠码:</view> <view class="row_label">转赠码:</view>
<view class="row_value"> <view class="row_value">
<view style="font-weight: 900;">{{OrderInfoDetail.transfer_code?OrderInfoDetail.transfer_code:''}}</view> <view style="display: flex;align-items: center;">
<view style="margin-right: 10rpx;">{{OrderInfoDetail.transfer_code?OrderInfoDetail.transfer_code:''}}</view>
<button @click="fuzhi()" size="mini" type="default" >复制</button>
</view>
<w-qrcode :options="{ <w-qrcode :options="{
level: 4, level: 4,
size: 240, size: 240,
@ -489,7 +535,7 @@
<view v-if="[4].includes(order_info.status) && order_info.report && !order_info.decode" class="button_item_wrapper decode_button_wrapper"> <view v-if="[4].includes(order_info.status) && order_info.report && !order_info.decode" class="button_item_wrapper decode_button_wrapper">
报告解读 报告解读
</view> --> </view> -->
<view v-if="[2].includes(order_info.status) && !order_info.source?.includes('')" @click="Refound(order_info.id)" <view v-if="[2].includes(order_info.status) && !order_info.source?.includes('')" @click="Refound(order_info)"
class="button_item_wrapper refund_button_wrapper">退款</view> class="button_item_wrapper refund_button_wrapper">退款</view>
</view> </view>
</view> </view>

@ -279,8 +279,8 @@
}}</span> }}</span>
</view> </view>
<view class="mt-33rpx mb-10rpx line-clamp-1"> <view class="mt-33rpx mb-10rpx line-clamp-1">
<text v-if="false">{{ item.hospital }}:</text> <text v-if=" item.time" >{{ item.hospital }}:</text>
<text>{{ item.time }}</text> <text v-if=" item.time" >{{ item.time }}</text>
</view> </view>
<view class="line-clamp-2"> <view class="line-clamp-2">
{{ item.desc }} {{ item.desc }}

@ -43,6 +43,7 @@
let active_keshi=ref([]); let active_keshi=ref([]);
let popupXuZhi=ref(null); let popupXuZhi=ref(null);
let active_miaoshu=ref([]);// let active_miaoshu=ref([]);//
let buy_info=ref({});
const GetReadmeDetails = async () => { const GetReadmeDetails = async () => {
const response = await $api("GetReadme"); const response = await $api("GetReadme");
@ -86,7 +87,8 @@
wj: { wj: {
type: String, type: String,
default: "", default: "",
}, }
}); });
const WenHaoClick=(i)=>{ const WenHaoClick=(i)=>{
console.log(active_miaoshu.value) console.log(active_miaoshu.value)
@ -165,6 +167,7 @@
hospital: $store.save_info.hospital, hospital: $store.save_info.hospital,
duo_xuan_yi: $store.getDuoXuanYi(), duo_xuan_yi: $store.getDuoXuanYi(),
wj: wj.value, wj: wj.value,
sanfang_code:buy_info.value.sanfang_code?.code_num?buy_info.value.sanfang_code:null
}); });
if (!!$store.yytjInfo.doctor_name) { if (!!$store.yytjInfo.doctor_name) {
$store.setYytjInfo({ $store.setYytjInfo({
@ -176,6 +179,7 @@
$store.setYytjInfo({}); $store.setYytjInfo({});
} }
uni.setStorageSync("yytjInfoS", {}); uni.setStorageSync("yytjInfoS", {});
popupXuZhi.value.close()
uni.navigateTo({ uni.navigateTo({
url: "/pages/main/tjyy/tjyy", url: "/pages/main/tjyy/tjyy",
}); });
@ -192,10 +196,12 @@
group_id: groupId.value, group_id: groupId.value,
duo_xuan_yi: $store.getDuoXuanYi(), duo_xuan_yi: $store.getDuoXuanYi(),
wj: wj.value, wj: wj.value,
sanfang_code:buy_info.value.sanfang_code?.code_num?buy_info.value.sanfang_code:null
}; };
const response = await $api("BuyInfo", obj); const response = await $api("BuyInfo", obj);
$response(response, () => { $response(response, () => {
uni.hideLoading(); uni.hideLoading();
contentInfo.value=[]
if (groupId.value && response.data.group_info.length) { if (groupId.value && response.data.group_info.length) {
// //
groupInfo.value = response.data.group_info[0]; groupInfo.value = response.data.group_info[0];
@ -264,6 +270,7 @@
popupTip.value.close() popupTip.value.close()
} }
onShow(() => { onShow(() => {
buy_info.value=$store.getBuyInfo()
if (!!config_ref.value) { if (!!config_ref.value) {
mountedAction(); mountedAction();
} }
@ -394,7 +401,9 @@
<uni-popup ref="popupXuZhi"> <uni-popup ref="popupXuZhi">
<view class="tishi_main"> <view class="tishi_main">
<!-- 体检须知 --> <!-- 体检须知 -->
<view style="display: flex;justify-content: end;height: 1rpx;">
<uni-icons @click="popupXuZhi.close()" type="closeempty" size="20"></uni-icons>
</view>
<view class="text-#2E2E2E text-30rpx font-900 text-center"> <view class="text-#2E2E2E text-30rpx font-900 text-center">
体检须知 体检须知
</view> </view>
@ -452,8 +461,8 @@
}}</text> }}</text>
</view> </view>
</view> </view>
<view class="flex"> <view class="flex">
<button @click="addCombo()" class="button bgcolor_huang"> <button v-if="!buy_info?.sanfang_code?.code_num" @click="addCombo()" class="button bgcolor_huang">
增加项目 增加项目
</button> </button>
<button @click="buy(1)" class="button"> <button @click="buy(1)" class="button">

@ -374,26 +374,29 @@
<view style="font-size: 20rpx;">清空</view> <view style="font-size: 20rpx;">清空</view>
</view> </view>
</view> </view>
<view v-for="(item,index) in selectItems"> <view class="item_k">
<view class="itemlist_list" @click="XuanZeItem(item)"> <view v-for="(item,index) in selectItems">
<view> <view class="itemlist_list" @click="XuanZeItem(item)">
<view style="display: flex; align-items: center;margin-bottom: 20rpx;"> <view>
<view class="itemlist_bianhao">{{index+1}}</view> <view style="display: flex; align-items: center;margin-bottom: 20rpx;">
<view class="itemlist_itemname">{{item.name}}</view> <view class="itemlist_bianhao">{{index+1}}</view>
<view class="itemlist_itemname">{{item.name}}</view>
</view>
<view style="display: flex;align-items: end;">
<view class="itemlist_price"><span style="font-size: 20rpx;"></span>{{item.price}}</view>
<view class="itemlist_org_price line-through">{{item.original_price}}</view>
</view>
</view> </view>
<view style="display: flex;align-items: end;"> <view :class="{
<view class="itemlist_price"><span style="font-size: 20rpx;"></span>{{item.price}}</view> '!bg-#009fa8 !b-#008e99': selectIds.includes(item.id),
<view class="itemlist_org_price line-through">{{item.original_price}}</view> }" class="w-24rpx h-24rpx b-1 b-solid b-#009fa8 bg-#fff rounded-24rpx center">
<image v-if="selectIds.includes(item.id)" class="w-20rpx" src="@/static/assets/select.png"
mode="widthFix" />
</view> </view>
</view> </view>
<view :class="{
'!bg-#009fa8 !b-#008e99': selectIds.includes(item.id),
}" class="w-24rpx h-24rpx b-1 b-solid b-#009fa8 bg-#fff rounded-24rpx center">
<image v-if="selectIds.includes(item.id)" class="w-20rpx" src="@/static/assets/select.png"
mode="widthFix" />
</view>
</view> </view>
</view> </view>
</view> </view>
</uni-popup> </uni-popup>
<uni-popup ref="popupTip"> <uni-popup ref="popupTip">
@ -558,8 +561,8 @@
<text class="text-46rpx text-#e95513 mr-10rpx font-bold">{{ <text class="text-46rpx text-#e95513 mr-10rpx font-bold">{{
optionalPrice || 0 optionalPrice || 0
}}</text> }}</text>
<text v-if="optionalOriginalPrice" class="text-26rpx text-#3e3a39 line-through">¥ <text v-if="optionalOriginalPrice" class="text-26rpx text-#3e3a39 line-through">
{{ optionalOriginalPrice }}</text> ¥{{ optionalOriginalPrice }}</text>
</view> </view>
</view> </view>
<view @click="confirm()" class="button"> <view @click="confirm()" class="button">
@ -678,4 +681,8 @@
text-align: center; text-align: center;
background: linear-gradient(to right, #67a8aa, #8ce7e7); background: linear-gradient(to right, #67a8aa, #8ce7e7);
} }
.item_k{
max-height:calc(100vh - 600rpx) ;
overflow-y: auto;
}
</style> </style>

@ -307,7 +307,8 @@ const comfrimyy = async () => {
coupon_id:yytjInfo.value?.couponId || null, coupon_id:yytjInfo.value?.couponId || null,
wj: buyInfo.value.wj, wj: buyInfo.value.wj,
erxian_info:erxianInfo.value, erxian_info:erxianInfo.value,
peiou_info:$store.getPeiOuUser()// peiou_info:$store.getPeiOuUser(),//
sanfang_code:buyInfo.value.sanfang_code?.code_num?buyInfo.value.sanfang_code:null
}; };
console.log(obj); console.log(obj);
const response = await $api("CreateNewOrder", obj); const response = await $api("CreateNewOrder", obj);
@ -550,7 +551,7 @@ const toRouter = (url, status, index) => {
</view> </view>
</view> </view>
<uni-icons @click="toRouter('/pages/user/choose/choose')" type="trash" color="#31AEB6" size="25"></uni-icons> <uni-icons @click="toRouter('/pages/user/choose/choose')" type="loop" color="#31AEB6" size="25"></uni-icons>
</view> </view>
</view> </view>
</view> </view>

@ -109,6 +109,7 @@
use_type: use_type.value, use_type: use_type.value,
checkup_type_id: checkup_type_id.value, checkup_type_id: checkup_type_id.value,
amount: amount.value, amount: amount.value,
combo_id:orderInfo.value.combo_id
} }
const response = await $api("GetDayPlanList", data); const response = await $api("GetDayPlanList", data);
uni.hideLoading(); uni.hideLoading();

@ -43,22 +43,19 @@ const getUserInfo = async () => {
}); });
}); });
}; };
const choosePersonClick = async (info) => {
const ZhuanZengChoosePersonClick=async(info)=>{ if($store.getBuyInfo().combo_sex && info.sex != 0 && info.sex != $store.getBuyInfo().combo_sex ){
uni.showLoading(); uni.$lu.toast("当前套餐性别与此用户不符,不能预约");
const response = await $api("OrderZhuanZeng", { return false;
order_id: $props.orderid,
person_id:info.id
});
uni.hideLoading();
$response(response, () => {
if (response.status) {
uni.redirectTo({
url: "/pages/main/order/order"
});
} }
}) const response = await $api("SetDefaultPerson", {
} person_id: info.id,
});
$response(response, () => {
getUserInfo();
});
};
onShow(() => { onShow(() => {
if (!!config_ref.value) { if (!!config_ref.value) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Loading…
Cancel
Save