Commit 52935ca0 by 赵增煜

json处理bug修复

parent f978627e
...@@ -35,14 +35,22 @@ protected function grid() ...@@ -35,14 +35,22 @@ protected function grid()
$grid->column('patient_id_card'); $grid->column('patient_id_card');
$grid->column('doctor_name'); $grid->column('doctor_name');
$grid->column('diagnosis'); $grid->column('diagnosis');
$grid->column('drug_info'); $grid->column('drug_info')->display(function ($drugInfoJson) {
$grid->column('drug_info')->pluck('drug_name')->label(); // 尝试将 $drugInfoJson 解码为数组
$grid->column('drug_info')->display(function ($drugInfo) { $drugInfoArray = json_decode($drugInfoJson, true);
return array_map(function ($item) { // 检查解码是否成功且 $drugInfoArray 是一个数组
$item = json_decode($item, true); if (is_array($drugInfoArray)) {
return $item['drug_name'].' : '.($item['drug_spec'] ?? '').' : '.$item['drug_num']; // 使用 array_map 来格式化每个药物的信息
}, $drugInfo); $formattedDrugs = array_map(function ($item) {
})->label(); return $item['drug_name'] . ' : ' . ($item['drug_spec'] ?? '') . ' : ' . $item['drug_num'];
}, $drugInfoArray);
// 将数组转换为以逗号分隔的字符串(或根据您的需求进行其他格式化)
return implode(', ', $formattedDrugs);
} else {
// 如果解码失败或 $drugInfoJson 不是一个有效的 JSON 字符串,返回原始值或错误消息
return $drugInfoJson; // 或者返回一个错误消息,如 'Invalid JSON'
}
})->label(); // 设置列的标签
$grid->column('pharmacist_name'); $grid->column('pharmacist_name');
$grid->column('review_at'); $grid->column('review_at');
$grid->column('pharmacist_attr'); $grid->column('pharmacist_attr');
...@@ -62,6 +70,7 @@ protected function grid() ...@@ -62,6 +70,7 @@ protected function grid()
$filter->expand(); // 默认展开搜索框 $filter->expand(); // 默认展开搜索框
$filter->equal('external_prescription_id','580处方单编号')->width(3); $filter->equal('external_prescription_id','580处方单编号')->width(3);
$filter->equal('pharmacy_id')->select(PharmacyModel::all()->pluck('name', 'id'))->width(3); $filter->equal('pharmacy_id')->select(PharmacyModel::all()->pluck('name', 'id'))->width(3);
$filter->equal('pharmacy_id','药店编号')->width(3);
}); });
// 行按钮控制 // 行按钮控制
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment