no message

main
鹿和sa0ChunLuyu 1 year ago
parent 472e0fc47b
commit dd6f75f3c4

@ -21,6 +21,155 @@ class ViewController extends Controller
return $site;
}
public function public_config()
{
$request = request();
$search = $request->get('search') ?? '';
return [
'search_value' => $search,
'search_tags' => ['女性', '男性', '入职', '父母', '高端']
];
}
public function combo_list(Request $request)
{
$site = self::site();
if (!$site) return '站点暂时关闭';
$hospital_ids = json_decode($site->hospital, true);
$type = $request->get('type') ?? '';
$combo_type = $request->get('combo_type') ?? '';
$price = $request->get('price') ?? '';
$sex = $request->get('sex') ?? '';
$order = $request->get('order') ?? 'zh';
$search = $request->get('search') ?? '';
$combos = DB::table('combos')
->whereIn('hospital_id', $hospital_ids)
->where(function ($query) use ($type) {
if ($type != '') $query->where('tags', 'like', "%\"$type\"%");
})
->where(function ($query) use ($combo_type) {
if ($combo_type != '') $query->where('tags', 'like', "%\"$combo_type\"%");
})
->where(function ($query) use ($price) {
if ($price != '') {
$price_arr = explode('-', $price);
if (count($price_arr) == 2) {
$query->whereBetween('price', [$price_arr[0], $price_arr[1]]);
} else {
$price_arr = explode('u', $price);
$query->where('price', '>=', $price_arr[0]);
}
}
})
->where(function ($query) use ($sex) {
if ($sex != '') $query->whereIn('sex', [0, $sex]);
})
->where(function ($query) use ($search) {
if ($search != '') $query->where('tags', 'like', "%\"$search\"%")
->orWhere('name', 'like', "%$search%");
})
->orderBy($order == 'zh' ? 'id' : 'price', $order == 'zh' ? 'desc' : 'asc')
->paginate(20)
->withQueryString()
->toArray();
$combo_count = DB::table('combos')
->whereIn('hospital_id', $hospital_ids)
->where(function ($query) use ($type) {
if ($type != '') $query->where('tags', 'like', "%\"$type\"%");
})
->where(function ($query) use ($combo_type) {
if ($combo_type != '') $query->where('tags', 'like', "%\"$combo_type\"%");
})
->where(function ($query) use ($price) {
if ($price != '') {
$price_arr = explode('-', $price);
if (count($price_arr) == 2) {
$query->whereBetween('price', [$price_arr[0], $price_arr[1]]);
} else {
$price_arr = explode('u', $price);
$query->where('price', '>=', $price_arr[0]);
}
}
})
->where(function ($query) use ($sex) {
if ($sex != '') $query->whereIn('sex', [0, $sex]);
})
->where(function ($query) use ($search) {
if ($search != '') $query->where('tags', 'like', "%\"$search\"%")
->orWhere('name', 'like', "%$search%");
})
->count();
$search_arr = [[
'label' => '体检类型',
'value' => 'type',
'options' => [
['label' => '不限', 'value' => ''],
['label' => '中老年', 'value' => '中老年'],
['label' => '青年女性', 'value' => '青年女性'],
['label' => '基础套餐', 'value' => '基础套餐'],
['label' => '入职体检', 'value' => '入职体检'],
]
], [
'label' => '体检套餐',
'value' => 'combo_type',
'options' => [
['label' => '不限', 'value' => ''],
['label' => '肝脏疾病', 'value' => '肝脏疾病'],
['label' => '糖尿病', 'value' => '糖尿病'],
['label' => '泌尿系统疾病', 'value' => '泌尿系统疾病'],
['label' => '高血脂', 'value' => '高血脂'],
['label' => '高血糖', 'value' => '高血糖'],
['label' => '消化系统疾病', 'value' => '消化系统疾病'],
['label' => '前列腺疾病', 'value' => '前列腺疾病'],
['label' => '妇科疾病', 'value' => '妇科疾病'],
['label' => '甲状腺疾病', 'value' => '甲状腺疾病'],
['label' => '心血管疾病', 'value' => '心血管疾病'],
['label' => '心脏病', 'value' => '心脏病'],
['label' => '骨质疏松', 'value' => '骨质疏松'],
['label' => '腰颈肩病', 'value' => '腰颈肩病'],
['label' => '风湿病', 'value' => '风湿病'],
['label' => '肺部疾病', 'value' => '肺部疾病'],
]
], [
'label' => '价格区间',
'value' => 'price',
'options' => [
['label' => '不限', 'value' => ''],
['label' => '100-300', 'value' => '100-300'],
['label' => '300-500', 'value' => '300-500'],
['label' => '500-800', 'value' => '500-800'],
['label' => '800以上', 'value' => '800u'],
]
], [
'label' => '性别',
'value' => 'sex',
'options' => [
['label' => '不限', 'value' => ''],
['label' => '男', 'value' => '1'],
['label' => '女', 'value' => '2'],
]
]];
foreach ($combos['data'] as $combo) {
$combo->tags_arr = json_decode($combo->tags, true);
}
// Yz::debug(['a' => $combos]);
return view('combo_list.combo_list', [
'public_config' => self::public_config(),
'combos' => $combos,
'combo_count' => $combo_count,
'search_arr' => $search_arr,
'search_choose' => [
'type' => $type,
'combo_type' => $combo_type,
'price' => $price,
'sex' => $sex,
'order' => $order,
]
]);
}
public function home()
{
$site = self::site();
@ -29,6 +178,7 @@ class ViewController extends Controller
$combos = DB::table('combos')
->whereIn('hospital_id', $hospital_ids)
->limit(8)
->orderBy('id', 'desc')
->get();
foreach ($combos as $combo) {
$combo->tags_arr = json_decode($combo->tags, true);
@ -36,11 +186,13 @@ class ViewController extends Controller
$hospital_list = DB::table('hospital')
->whereIn('id', $hospital_ids)
->limit(8)
->orderBy('id', 'desc')
->get();
foreach ($hospital_list as $hospital) {
$hospital->tags_arr = json_decode($hospital->tags, true);
}
return view('home.home', [
'public_config' => self::public_config(),
'combos' => $combos,
'hospitals' => $hospital_list,
]);
@ -61,7 +213,11 @@ class ViewController extends Controller
->where('id', $combo->hospital_id)
->first();
$url = $hospital->mp_jump . '?combo=' . $combo->combo_id . '&hospital=' . $hospital->code;
// Yz::debug([
// 'a' => $hospital
// ]);
return view('combo.combo', [
'public_config' => self::public_config(),
'qrcode' => $url,
'combo' => $combo,
'hospital' => $hospital,

@ -2,6 +2,57 @@
--style-color-1: #86b883;
--style-color-2: #d35050;
--style-color-3: #aee3ab;
--style-color-4: #e19898;
}
.footer_beian_wrapper {
padding-top: 30px;
margin-top: 30px;
border-top: 1px solid #8c939d30;
text-align: center;
line-height: 40px;
font-size: 16px;
color: #8c939d;
}
.footer_web_icon_wrapper {
width: 500px;
}
.footer_web_icon_wrapper img {
width: 500px;
}
.footer_web_wrapper {
display: flex;
justify-content: space-between;
align-items: center;
}
.footer_web_logo_wrapper {
}
.footer_web_logo_icon_wrapper {
width: 200px;
height: 80px;
line-height: 80px;
font-weight: bold;
font-size: 30px;
}
.footer_web_logo_text_wrapper {
width: 400px;
line-height: 28px;
font-size: 16px;
color: #8c939d;
}
.footer_wrapper {
background: #f1f2f4;
padding: 30px 50px;
margin-top: 20px;
}
.header_info_wrapper {
@ -60,6 +111,11 @@
cursor: pointer;
}
.header_search_tag_active_wrapper {
color: #ffffff;
background: var(--style-color-1);
}
.header_search_wrapper {
margin-left: 30px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@ -12,7 +12,12 @@
<div class="combo_title_wrapper">{{ $combo->name }}</div>
<div class="combo_price_wrapper">
<div class="combo_price_title_wrapper">优惠价</div>
<div class="combo_price_content_wrapper">¥ {{ $combo->price }}</div>
<div class="combo_price_content_wrapper">
<span>¥ {{ $combo->price }}</span>
@if($combo->price < $combo->original_price)
<span class="combo_price_original_price_wrapper">{{ $combo->original_price }}</span>
@endif
</div>
</div>
<div class="combo_intro_wrapper">
<div class="combo_intro_title_wrapper">套餐简介:</div>
@ -99,6 +104,11 @@
</div>
<div class="combo_desc_combo_title_wrapper">医院简介</div>
<div class="combo_desc_combo_text_wrapper">{!! $hospital->desc !!}</div>
<div class="combo_desc_combo_title_wrapper">地图</div>
<div class="combo_desc_combo_text_wrapper">
<div :ref="(e)=>{hospitalMapRef(e,Number({{$hospital->longitude}}),Number({{$hospital->latitude}}))}"
id="hospital_map_container"></div>
</div>
</div>
</div>
@endsection

@ -3,6 +3,11 @@
text-align: center;
}
#hospital_map_container {
width: 100%;
height: 400px;
}
.qrcode_box_wrapper {
width: 200px;
height: 200px;
@ -225,10 +230,18 @@
margin-left: 20px;
}
.combo_price_original_price_wrapper {
font-size: 18px;
margin-left: 10px;
color: var(--style-color-4);
font-weight: 400;
text-decoration: line-through;
}
.combo_wrapper {
display: flex;
width: 1200px;
margin: 0 auto;
margin: 20px auto 0;
justify-content: space-between;
}

@ -29,12 +29,21 @@ const qrcodeRef = (e) => {
qrcode_ref.value = e
qrcodeCreate()
}
const hospital_map_ref = ref(null)
const hospitalMapRef = (e, longitude, latitude) => {
hospital_map_ref.value = e
const map = new BMapGL.Map(hospital_map_ref.value);
const point = new BMapGL.Point(longitude, latitude);
map.centerAndZoom(point, 16);
map.enableScrollWheelZoom(true);
}
// SCRIPT END
// MOUNTED
// MOUNTED END
// RETURN
const ret_ = {
hospitalMapRef,
qrcodeRef,
qrcode_show,
showQrcodeClick,

@ -0,0 +1,92 @@
@extends('layout.layout')
@section('content')
<div class="combo_list_nav_wrapper">
<div class="combo_list_nav_item_wrapper combo_list_nav_item_active_wrapper">体检套餐</div>
<a href="">
<div class="combo_list_nav_item_wrapper">体检机构</div>
</a>
</div>
<div class="combo_list_search_wrapper">
@foreach($search_arr as $search_list)
<div class="combo_list_search_line_wrapper">
<div class="combo_list_search_line_title_wrapper">{{ $search_list['label'] }}</div>
<div class="combo_list_search_line_content_wrapper">
@foreach($search_list['options'] as $search_item)
<div @click="pageJump('{{ $search_list['value'] }}','{{ $search_item['value'] }}')" class="combo_list_search_line_content_item_wrapper
@if($search_item['value'] == $search_choose[$search_list['value']]) combo_list_search_line_content_active_wrapper @endif
">{{ $search_item['label'] }}</div>
@endforeach
</div>
</div>
@endforeach
</div>
<div class="combo_list_order_wrapper">
<div class="combo_list_order_line_wrapper">
<div class="combo_list_order_line_title_wrapper">排序方式</div>
<div class="combo_list_order_line_content_wrapper">
<div @click="pageJump('order','zh')" class="combo_list_order_line_content_item_wrapper
@if('zh' == $search_choose['order']) combo_list_order_line_content_active_wrapper @endif
">综合排序
</div>
<div @click="pageJump('order','zk')" class="combo_list_order_line_content_item_wrapper
@if('zk' == $search_choose['order']) combo_list_order_line_content_active_wrapper @endif
">折扣最多
</div>
</div>
<div class="combo_list_count_wrapper">共有<span
class="combo_list_count_number_wrapper">{{ $combo_count }}</span>个符合条件的套餐
</div>
</div>
</div>
<div class="combo_wrapper">
<div class="combo_list_wrapper">
@foreach($combos['data'] as $combo)
<a href="/combo?id={{ $combo->id }}" class="combo_item_wrapper">
<div class="combo_cover_wrapper">
@if($combo->cover != '')
<img src="{{ $combo->cover }}" alt="">
@else
<div>暂无封面图</div>
@endif
</div>
<div class="combo_name_wrapper">{{ $combo->name }}</div>
<div class="combo_tags_wrapper">
@foreach($combo->tags_arr as $tag)
<div class="combo_tag_wrapper">{{ $tag }}</div>
@endforeach
</div>
<div class="combo_price_wrapper">
<span>¥ {{ $combo->price }}</span>
@if($combo->price < $combo->original_price)
<span class="combo_original_price_wrapper">{{ $combo->original_price }}</span>
@endif
</div>
</a>
@endforeach
</div>
</div>
@if(count($combos['data']) > 0)
<div class="page_wrapper">
@foreach($combos['links'] as $key => $item)
<a @if (!!$item['url'])
href="{{ $item['url'] }}"
@endif>
<div class="page_item_wrapper @if(!!$item['active'])
page_item_active_wrapper
@endif">
@if($key == 0)
上一页
@elseif($key == count($combos['links']) - 1)
下一页
@else
{{ $item['label'] }}
@endif
</div>
</a>
@endforeach
</div>
@else
<div class="no_data_wrapper">未搜索到符合条件的套餐</div>
@endif
@endsection

@ -0,0 +1,206 @@
.combo_list_search_wrapper,
.combo_list_order_wrapper {
width: 1200px;
margin: 20px auto 0;
border: 1px solid #cccccc;
padding: 10px;
}
.combo_list_order_line_wrapper,
.combo_list_search_line_wrapper {
display: flex;
line-height: 60px;
border-bottom: 1px dashed #cccccc;
padding: 10px 0;
}
.combo_list_order_line_wrapper {
border-bottom: none;
}
.combo_list_count_number_wrapper {
color: var(--style-color-1);
margin: 5px;
}
.combo_list_order_line_title_wrapper,
.combo_list_search_line_title_wrapper {
width: 80px;
font-size: 16px;
font-weight: bold;
color: #aaaaaa;
margin-left: 20px;
}
.combo_list_order_line_content_wrapper,
.combo_list_search_line_content_wrapper {
display: flex;
margin-left: 20px;
width: calc(100% - 120px - 40px);
flex-wrap: wrap;
align-items: center;
}
.combo_list_count_wrapper {
text-align: right;
width: 420px;
}
.combo_list_order_line_content_wrapper {
width: calc(100% - 120px - 40px - 400px);
}
.combo_list_order_line_content_item_wrapper,
.combo_list_search_line_content_item_wrapper {
padding: 0 20px;
text-align: center;
height: 40px;
line-height: 40px;
cursor: pointer;
}
.combo_list_order_line_content_active_wrapper,
.combo_list_search_line_content_active_wrapper {
background: var(--style-color-1);
color: #fff;
}
.combo_list_nav_wrapper {
height: 60px;
line-height: 60px;
border-bottom: 5px solid var(--style-color-1);
width: 1200px;
margin: 20px auto 0;
display: flex;
align-items: center;
}
.combo_list_nav_item_wrapper {
height: 60px;
line-height: 60px;
width: 140px;
text-align: center;
cursor: pointer;
}
.combo_list_nav_item_active_wrapper {
background: var(--style-color-1);
color: #fff;
}
.combo_price_wrapper {
font-size: 24px;
color: var(--style-color-2);
font-weight: bold;
margin-top: 10px;
}
.combo_original_price_wrapper {
font-size: 18px;
margin-left: 10px;
color: var(--style-color-4);
font-weight: 400;
text-decoration: line-through;
}
.combo_tag_wrapper {
padding: 5px 10px;
background: #eaeaea;
border-radius: 6px;
color: #676767;
margin-right: 5px;
}
.combo_tags_wrapper {
display: flex;
flex-wrap: wrap;
}
.combo_name_wrapper {
font-size: 20px;
line-height: 40px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.combo_cover_wrapper {
width: 100%;
height: 200px;
background: #cccccc;
line-height: 200px;
text-align: center;
color: #333333;
border-radius: 6px;
overflow: hidden;
}
.combo_cover_wrapper img {
width: 100%;
height: 200px;
object-fit: cover;
}
.combo_item_wrapper {
width: 25%;
padding: 5px;
margin-bottom: 10px;
}
.combo_list_wrapper {
display: flex;
flex-wrap: wrap;
margin-top: 20px;
}
.combo_wrapper {
width: 1200px;
margin: 20px auto 0;
}
.page_wrapper {
display: flex;
justify-content: center;
flex-wrap: wrap;
margin-top: 40px;
margin-bottom: 70px;
}
.page_item_wrapper {
margin: 5px;
padding: 0 10px;
height: 30px;
background: #FFFFFF;
border: 1px solid #E5E7EC;
line-height: 30px;
text-align: center;
font-size: 16px;
color: #B5B5C4;
cursor: pointer;
}
.page_item_wrapper:hover {
background: #FAFAFA;
border: 1px solid #E5E7EC;
font-size: 16px;
color: var(--style-color-1);
}
.page_item_active_wrapper {
background: #FAFAFA;
border: 1px solid #E5E7EC;
font-weight: bold;
font-size: 16px;
color: var(--style-color-1);
}
.no_data_wrapper {
width: 100%;
font-size: 14px;
color: #999999;
line-height: 300px;
margin-top: 20px;
text-align: center;
height: 300px;
}

@ -0,0 +1,39 @@
// SCRIPT
const pageJump = (key, value) => {
let search_data = {
...page_options.value,
}
search_data[key] = value
if (key !== 'page') {
search_data.page = 1
}
let url = `/combo_list?`
for (let i in search_data) {
if (search_data[i]) {
url += `${i}=${search_data[i]}&`
}
}
window.location.href = url
}
// SCRIPT END
// MOUNTED
// MOUNTED END
// RETURN
const ret_ = {
pageJump,
}
// RETURN END
// OPTIONS
const opt = (g) => {
return {
type: 'type' in g ? g.type : '',
combo_type: 'combo_type' in g ? g.combo_type : '',
price: 'price' in g ? g.price : '',
sex: 'sex' in g ? g.sex : '',
order: 'order' in g ? g.order : 'zh',
search: 'search' in g ? g.search : '',
page: 'page' in g ? Number(g.page) : 1,
}
}
// OPTIONS END

@ -1,3 +1,16 @@
<div class="footer_wrapper">
Footer
<div class="footer_web_wrapper">
<div class="footer_web_logo_wrapper">
<div class="footer_web_logo_icon_wrapper">体检平台</div>
<div class="footer_web_logo_text_wrapper">
一个方便快捷认真负责。提供全国公立医院及体检机构的个人/团体体检预约,体检报告查询,体检报告解读。以及其他企业健康福利预约服务。
</div>
</div>
<div class="footer_web_icon_wrapper">
<img src="./assets/images/footer-icon.png" alt="">
</div>
</div>
<div class="footer_beian_wrapper">
copyright © 2018-2024 易捷健康体检平台 版权所有
</div>
</div>

@ -24,17 +24,17 @@
</div>
<div class="header_search_wrapper">
<div class="header_search_input_wrapper">
<input class="header_search_input_input_wrapper" type="text">
<div class="header_search_input_icon_wrapper">
<input v-model="search_input" class="header_search_input_input_wrapper" type="text">
<div @click="searchButtonClick()" class="header_search_input_icon_wrapper">
<i class="czs-search-l"></i>
</div>
</div>
<div class="header_search_tags_wrapper">
<div class="header_search_tag_wrapper">女性</div>
<div class="header_search_tag_wrapper">男性</div>
<div class="header_search_tag_wrapper">入职</div>
<div class="header_search_tag_wrapper">父母</div>
<div class="header_search_tag_wrapper">高端</div>
@foreach($public_config['search_tags'] as $tag)
<div @click="searchTagClick('{{ $tag }}')" class="header_search_tag_wrapper
@if($tag == $public_config['search_value']) header_search_tag_active_wrapper @endif
">{{ $tag }}</div>
@endforeach
</div>
</div>
<div class="header_info_wrapper">

@ -12,10 +12,12 @@
</div>
<div class="banner_menu_wrapper">
<div class="banner_menu_list_wrapper">
<div class="banner_menu_item_wrapper">
<div class="banner_menu_item_title_wrapper">体检套餐</div>
<div class="banner_menu_item_subtitle_wrapper">适应人群 高发疾病</div>
</div>
<a href="/combo_list">
<div class="banner_menu_item_wrapper">
<div class="banner_menu_item_title_wrapper">体检套餐</div>
<div class="banner_menu_item_subtitle_wrapper">适应人群 高发疾病</div>
</div>
</a>
<div class="banner_menu_item_wrapper">
<div class="banner_menu_item_title_wrapper">体检机构</div>
<div class="banner_menu_item_subtitle_wrapper">公立医院 体检机构</div>
@ -61,7 +63,12 @@
<div class="combo_tag_wrapper">{{ $tag }}</div>
@endforeach
</div>
<div class="combo_price_wrapper">¥ {{ $combo->price }}</div>
<div class="combo_price_wrapper">
<span>¥ {{ $combo->price }}</span>
@if($combo->price < $combo->original_price)
<span class="combo_original_price_wrapper">{{ $combo->original_price }}</span>
@endif
</div>
</a>
@endforeach
</div>
@ -94,4 +101,36 @@
@endforeach
</div>
</div>
<div class="combo_wrapper">
<div class="combo_top_wrapper">
<div class="combo_title_wrapper">部分合作医院&机构</div>
</div>
<div class="hospital_list_wrapper">
@for($i = 0; $i < 8; $i++)
<div class="hospital_item_wrapper">
<img src="./assets/images/yy-logo.png" alt="">
</div>
@endfor
<div class="hospital_item_blank_wrapper"></div>
<div class="hospital_item_blank_wrapper"></div>
<div class="hospital_item_blank_wrapper"></div>
<div class="hospital_item_blank_wrapper"></div>
</div>
</div>
<div class="combo_wrapper">
<div class="combo_top_wrapper">
<div class="combo_title_wrapper">部分合作企业&单位</div>
</div>
<div class="hospital_list_wrapper">
@for($i = 0; $i < 8; $i++)
<div class="hospital_item_wrapper">
<img src="./assets/images/qy-logo.png" alt="">
</div>
@endfor
<div class="hospital_item_blank_wrapper"></div>
<div class="hospital_item_blank_wrapper"></div>
<div class="hospital_item_blank_wrapper"></div>
<div class="hospital_item_blank_wrapper"></div>
</div>
</div>
@endsection

@ -4,6 +4,35 @@
font-weight: bold;
}
.hospital_list_wrapper {
display: flex;
align-items: center;
flex-wrap: wrap;
width: 1200px;
margin: 20px auto 0;
justify-content: space-around;
}
.hospital_item_wrapper {
width: 280px;
height: 100px;
border: 1px solid #8c939d;
margin: 10px 5px;
overflow: hidden;
}
.hospital_item_wrapper img {
width: 280px;
height: 100px;
display: block;
object-fit: contain;
}
.hospital_item_blank_wrapper {
width: 290px;
}
.hospital_address_text_wrapper {
margin-left: 5px;
width: calc(100% - 50px);
@ -76,7 +105,6 @@
.banner_menu_item_wrapper {
padding-left: 30px;
margin-top: 20px;
display: none;
}
.banner_wrapper {
@ -89,6 +117,7 @@
text-align: center;
height: 50px;
line-height: 50px;
display: none;
}
.banner_nav_group_wrapper {
@ -116,6 +145,14 @@
margin-top: 10px;
}
.combo_original_price_wrapper {
font-size: 18px;
margin-left: 10px;
color: var(--style-color-4);
font-weight: 400;
text-decoration: line-through;
}
.combo_tag_wrapper {
padding: 5px 10px;
background: #eaeaea;

@ -1,87 +1,112 @@
<!doctype html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link type="image/x-icon" rel="shortcut icon" href="./favicon.png"/>
<link rel="stylesheet" href="./assets/import/element-plus.css"/>
<link rel="stylesheet" href="./assets/css/layout.css"/>
<link href="./assets/import/tailwind.min.css" rel="stylesheet">
<script src="./assets/import/vue.js"></script>
<script src="./assets/import/element-plus.js"></script>
<script src="./assets/import/qrcode.min.js"></script>
<title>体检平台</title>
<link rel="stylesheet" href="./assets/icon/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
{!! include_content('style') !!}
</style>
<style>
[v-cloak] {
display: none;
}
</style>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link type="image/x-icon" rel="shortcut icon" href="./favicon.png"/>
<link rel="stylesheet" href="./assets/import/element-plus.css"/>
<link rel="stylesheet" href="./assets/css/layout.css"/>
<link href="./assets/import/tailwind.min.css" rel="stylesheet">
<script src="./assets/import/vue.js"></script>
<script src="./assets/import/element-plus.js"></script>
<script src="./assets/import/qrcode.min.js"></script>
<script type="text/javascript"
src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=mJh1fI35HIuC959obt0blESEQdopSzpn"></script>
<title>体检平台</title>
<link rel="stylesheet" href="./assets/icon/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
{!! include_content('style') !!}
</style>
<style>
[v-cloak] {
display: none;
}
</style>
</head>
<body>
<div id="app" v-cloak>
<el-config-provider :button="button_config">
<el-watermark :content="['', '']">
<div>
@include('components.header')
</div>
<div>
@yield('content')
</div>
<div>
@include('components.footer')
</div>
</el-watermark>
</el-config-provider>
<el-config-provider :button="button_config">
<el-watermark :content="['', '']">
<div>
@include('components.header')
</div>
<div>
@yield('content')
</div>
<div>
@include('components.footer')
</div>
</el-watermark>
</el-config-provider>
</div>
</body>
<script>
const {createApp, onMounted, ref, nextTick, computed} = Vue
const {ElLoading, ElMessage, ElMessageBox} = ElementPlus
const {createApp, onMounted, ref, nextTick, computed} = Vue
const {ElLoading, ElMessage, ElMessageBox} = ElementPlus
</script>
<script src="./assets/mounting.js"></script>
<script>
const App = {
setup() {
const button_config = {
autoInsertSpace: true,
}
const App = {
setup() {
const button_config = {
autoInsertSpace: true,
}
const onMountedAction = () => {
{!! include_content('mounted') !!}
}
{!! include_content('script') !!}
const onMountedAction = () => {
{!! include_content('mounted') !!}
}
{!! include_content('script') !!}
const pageOptions = (g) => {
{!! include_content('options') !!}
}
const
pageOptions = (g) => {
{!! include_content('options') !!}
}
const page_options = ref(pageOptions(@json($_GET)))
const search_input = ref('')
const page_options = ref(pageOptions(@json($_GET)))
const search_input = ref('')
onMounted(() => {
if (!!page_options.value && !!page_options.value.search) {
search_input.value = page_options.value.search
}
onMountedAction()
})
const searchTagClick = (tag) => {
search_input.value = tag
searchButtonClick()
}
return {
search_input,
button_config,
page_options,
{!! include_content('return') !!}
}
const searchButtonClick = () => {
let search_data = {
...page_options.value,
page: 1,
search: search_input.value,
}
let url = `/combo_list?`
for (let i in search_data) {
if (search_data[i]) {
url += `${i}=${search_data[i]}&`
}
}
window.location.href = url
}
onMounted(() => {
if (!!page_options.value && !!page_options.value.search) {
search_input.value = page_options.value.search
}
onMountedAction()
})
return {
searchButtonClick,
searchTagClick,
search_input,
button_config,
page_options,
{!! include_content('return') !!}
}
}
}
}
const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')
const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')
</script>
</html>

@ -14,6 +14,7 @@ use Illuminate\Support\Facades\Route;
*/
Route::get('/Qrcode/combo', [\App\Http\Controllers\QrcodeController::class, 'combo_jump']);
Route::get('/combo_list', [\App\Http\Controllers\ViewController::class, 'combo_list']);
Route::get('/combo', [\App\Http\Controllers\ViewController::class, 'combo']);
Route::get('/', [\App\Http\Controllers\ViewController::class, 'home']);

Loading…
Cancel
Save