详情排序

main
岩仔88 2 days ago
parent 1f4c8c11ea
commit 4c2bd7e000

@ -62,8 +62,16 @@ class ComboItemController extends Controller
public function combo_info($hospital, $data) public function combo_info($hospital, $data)
{ {
$peis = new PEISApiController(); $peis = new PEISApiController();
$combo_info = $peis::Post('套餐详情查询', $hospital, $data)['data'][0]; // 假设 Post 方法调用正确,这里保持原有逻辑
//Yo::error_exit(['message'=>"res",'code'=>200,'data'=>$combo_info]); $response = $peis::Post('套餐详情查询', $hospital, $data);
// 增加简单的容错处理,防止数据为空报错
if (empty($response['data']) || !isset($response['data'][0])) {
return []; // 或者返回默认结构,视业务需求而定
}
$combo_info = $response['data'][0];
$info = [ $info = [
'id' => $combo_info['Id'], 'id' => $combo_info['Id'],
'name' => $combo_info['名称'], 'name' => $combo_info['名称'],
@ -72,15 +80,51 @@ class ComboItemController extends Controller
'sex' => $combo_info['性别限制'], 'sex' => $combo_info['性别限制'],
'items' => [], 'items' => [],
]; ];
// 定义指定的排序顺序
$sortOrder = [
"一般检查" => 1,
"内科" => 2,
"外科" => 3,
"眼科" => 4,
"心电图" => 5,
"妇科" => 6,
"检验科" => 7,
"超声科" => 8,
"DR" => 9,
"CT" => 10,
];
foreach ($combo_info['包含项目'] as $item) { foreach ($combo_info['包含项目'] as $item) {
$info['items'][] = [ $info['items'][] = [
'id' => $item['Id'], 'id' => $item['Id'],
'name' => $item['名称'], 'name' => $item['名称'],
'price' => $item['价格'], 'price' => $item['价格'],
'jianjie' => $item['简介'], 'jianjie' => $item['简介'],
'keshi_name' => $item['科室名称'],
]; ];
} }
// 执行排序
usort($info['items'], function ($a, $b) use ($sortOrder) {
$deptA = $a['keshi_name'];
$deptB = $b['keshi_name'];
// 获取排名,如果不在列表中,赋予一个很大的值(排在最后)
$rankA = isset($sortOrder[$deptA]) ? $sortOrder[$deptA] : 9999;
$rankB = isset($sortOrder[$deptB]) ? $sortOrder[$deptB] : 9999;
// 如果排名相同(例如都在列表中且相同,或都不在列表中),保持原有相对顺序或按名称排序(可选)
// 这里简单处理如果排名一样返回0
if ($rankA == $rankB) {
return 0;
}
return ($rankA < $rankB) ? -1 : 1;
});
$info['count'] = count($info['items']); $info['count'] = count($info['items']);
return $info; return $info;
} }

@ -1,7 +1,7 @@
let url_ = "https://bjrrtj-api.sixinyun.com"; let url_ = "https://bjrrtj-api.sixinyun.com";
let report_url_ = "https://bjrrtj-api.sixinyun.com"; let report_url_ = "https://bjrrtj-api.sixinyun.com";
let h5_url_ = "https://bjrrtj-api.sixinyun.com"; let h5_url_ = "https://bjrrtj-api.sixinyun.com";
const dev = 0; const dev = 1;
if (dev === 1) { if (dev === 1) {
url_ = "http://localbeijingrenren"; url_ = "http://localbeijingrenren";
report_url_ = "http://192.168.31.106:5173"; report_url_ = "http://192.168.31.106:5173";

@ -3,7 +3,7 @@ import {
} from '@/lu/axios.js' } from '@/lu/axios.js'
import $api from './api.js' import $api from './api.js'
let url_ = "https://bjrrtj-api.sixinyun.com"; let url_ = "https://bjrrtj-api.sixinyun.com";
const dev =0 const dev =1
if (dev === 1) { if (dev === 1) {
url_ = "http://localbeijingrenren" url_ = "http://localbeijingrenren"
} }

Loading…
Cancel
Save