gorden 11 mesi fa
parent
commit
a8873a52c3

+ 62 - 33
app/admin/controller/member/WellnessRecordController.php

@@ -6,6 +6,7 @@ use app\admin\validate\life\CinemaIlkValidate;
 use app\admin\validate\member\WellnessRecordValidate;
 use app\controller\Curd;
 use app\model\CinemaIlk as CinemaIlkModel;
+use app\model\SysField;
 use app\model\SysUpload;
 use app\model\WellnessRecord;
 use support\exception\BusinessException;
@@ -33,7 +34,7 @@ class WellnessRecordController extends Curd
      */
     public function my($memberId)
     {
-        $query = $this->model->where('wellness_record_category', '档案')
+        $query = $this->model->where('wellness_record_category', 'Archives')
             ->where('join_wellness_record_member_id', $memberId);
         $paginator = $query->paginate(20);
         $total = $paginator->total();
@@ -83,7 +84,7 @@ class WellnessRecordController extends Curd
      */
     public function advice($memberId)
     {
-        $query = $this->model->where('wellness_record_category', '医嘱')
+        $query = $this->model->where('wellness_record_category', 'Advice')
             ->where('join_wellness_record_member_id', $memberId)
             ->orderBy('wellness_record_addtimes', 'desc');
         $paginator = $query->paginate(20);
@@ -139,44 +140,72 @@ class WellnessRecordController extends Curd
      */
     public function archives($memberId)
     {
-        $query = $this->model->where('wellness_record_category', '档案')
+        $archives = $this->model->where('wellness_record_category', 'Archives')
             ->where('join_wellness_record_member_id', $memberId)
-            ->orderBy('wellness_record_addtimes', 'desc');
-        $paginator = $query->paginate(20);
-        $total = $paginator->total();
-        $items = $paginator->items();
-        $itemsNew = [];
-        foreach ($items as $item) {
-            $itemNew = [
-                'wellness_record_id' => $item->wellness_record_id,
-                'join_wellness_record_member_id' => $item->join_wellness_record_member_id,
-                'wellness_record_status' => $item->wellness_record_status,
-                'wellness_record_name' => $item->wellness_record_name,
-                'wellness_record_datetime' => $item->wellness_record_datetime,
-                'wellness_record_json' => $item->wellness_record_json,
-                'wellness_record_content' => $item->wellness_record_content,
-                'wellness_record_remark' => $item->wellness_record_remark,
-                'wellness_record_extend_json' => $item->wellness_record_extend_json,
-                'wellness_record_addtimes' => $item->wellness_record_addtimes,
-            ];
-            if (!empty($item->wellness_record_file_json)) {
-                $item->wellness_record_file_json = json_decode($item->wellness_record_file_json, true);
-                foreach ($item->wellness_record_file_json as $value) {
-                    $itemNew['wellness_record_file_json'][] = [
+            ->first();
+        if ($archives) {
+            if (!empty($archives->wellness_record_json)) {
+                $recordJson = json_decode($archives->wellness_record_json);
+                $fields = SysField::pluck('field_name', 'field_form_key');
+                $newJson = [];
+                foreach ($recordJson as $key => $item) {
+                    if (isset($fields[$key])) {
+                        $newJson[$fields[$key]] = is_array($item) ? implode(',', $item) : $item;
+                    }
+                }
+                $archives->wellness_record_json = $newJson;
+            }
+            if (!empty($archives->wellness_record_file_json)) {
+                $archives->wellness_record_file_json = json_decode($archives->wellness_record_file_json, true);
+                $recordFileJson = [];
+                foreach ($archives->wellness_record_file_json as $value) {
+                    $recordFileJson[] = [
                         'url' => isset($value['url']) ? getenv('STORAGE_DOMAIN') . $value['url'] : '',
                         'name' => isset($value['name']) ? $value['name'] : ''
                     ];
                 }
-            }
 
-            $itemsNew[] = $itemNew;
+                $archives->wellness_record_file_json = $recordFileJson;
+            }
         }
+//            ->orderBy('wellness_record_addtimes', 'desc');
+//        $paginator = $query->paginate(20);
+//        $total = $paginator->total();
+//        $items = $paginator->items();
+//        $itemsNew = [];
+//        foreach ($items as $item) {
+//            $itemNew = [
+//                'wellness_record_id' => $item->wellness_record_id,
+//                'join_wellness_record_member_id' => $item->join_wellness_record_member_id,
+//                'wellness_record_status' => $item->wellness_record_status,
+//                'wellness_record_name' => $item->wellness_record_name,
+//                'wellness_record_datetime' => $item->wellness_record_datetime,
+//                'wellness_record_json' => $item->wellness_record_json,
+//                'wellness_record_content' => $item->wellness_record_content,
+//                'wellness_record_remark' => $item->wellness_record_remark,
+//                'wellness_record_extend_json' => $item->wellness_record_extend_json,
+//                'wellness_record_addtimes' => $item->wellness_record_addtimes,
+//            ];
+//            if (!empty($item->wellness_record_file_json)) {
+//                $item->wellness_record_file_json = json_decode($item->wellness_record_file_json, true);
+//                foreach ($item->wellness_record_file_json as $value) {
+//                    $itemNew['wellness_record_file_json'][] = [
+//                        'url' => isset($value['url']) ? getenv('STORAGE_DOMAIN') . $value['url'] : '',
+//                        'name' => isset($value['name']) ? $value['name'] : ''
+//                    ];
+//                }
+//            }
+//
+//            $itemsNew[] = $itemNew;
+//        }
+//
+//        $data = [
+//            'total' => $total,
+//            'rows' => $itemsNew
+//        ];
+//        return json(['code' => 200, 'msg' => 'success', 'data' => $data]);
 
-        $data = [
-            'total' => $total,
-            'rows' => $itemsNew
-        ];
-        return json(['code' => 200, 'msg' => 'success', 'data' => $data]);
+        return json_success('', $archives);
     }
 
     public function checkup($memberId)
@@ -277,7 +306,7 @@ class WellnessRecordController extends Curd
         [$where, $format, $limit, $field, $order] = $this->selectInput($request);
         $field = $field ?? 'wellness_record_addtimes';
         $order = $request->get('order', 'desc');
-        $where['wellness_record_category'] = '档案';
+        $where['wellness_record_category'] = 'Archives';
         $query = $this->doSelect($where, $field, $order);
         return $this->doFormat($query, $format, $limit);
     }

+ 1 - 1
app/admin/validate/member/WellnessRecordValidate.php

@@ -10,7 +10,7 @@ class WellnessRecordValidate extends Validate
         'wellness_record_id' => 'require|integer',
         'join_wellness_record_member_id' => 'require',
         'wellness_record_status|状态' => 'max:32',
-        'wellness_record_category|分类' => 'in:档案,体检,病例,医嘱,来访,其他',
+        'wellness_record_category|分类' => 'in:Archives,体检,病例,Advice,来访,其他',
         'wellness_record_name|名称' => 'require',
 //        'wellness_record_datetime' => 'max:20',
         'wellness_record_file_json|文件' => 'isJson',