瀏覽代碼

会员健康档案

gorden 4 月之前
父節點
當前提交
1b6d5dbb3b

+ 7 - 5
app/admin/controller/member/WellnessRecordController.php

@@ -36,7 +36,7 @@ class WellnessRecordController extends Curd
         }
 
         $data = $this->model->where($primaryKey, $request->get('id'))->first();
-        if ($data['wellness_record_category'] == 'Examine'){
+        if ($data['wellness_record_category'] == 'Examine') {
             $data->wellness_record_status = 'ACTIVED';
             $data->save();
         }
@@ -63,7 +63,7 @@ class WellnessRecordController extends Curd
                     $data['wellness_record_file_json'] = json_encode($file);
                     $this->doInsert($data);
                 }
-            }else{
+            } else {
                 $this->doInsert($data);
             }
 
@@ -134,8 +134,9 @@ class WellnessRecordController extends Curd
      * @param $memberId
      * @return Response
      */
-    public function advice($memberId)
+    public function advice(Request $request)
     {
+        $memberId = $request->get('member_id');
         $query = $this->model->where('wellness_record_category', 'Advice')
             ->where('join_wellness_record_member_id', $memberId)
             ->orderBy('wellness_record_addtimes', 'desc');
@@ -260,8 +261,9 @@ class WellnessRecordController extends Curd
         return json_success('', $archives);
     }
 
-    public function checkup($memberId)
+    public function checkup(Request $request)
     {
+        $memberId = $request->get('member_id');
         $query = $this->model->where('wellness_record_category', 'Examine')
             ->where('join_wellness_record_member_id', $memberId)
             ->orderBy('wellness_record_addtimes', 'desc');
@@ -286,7 +288,7 @@ class WellnessRecordController extends Curd
                 $item->wellness_record_file_json = json_decode($item->wellness_record_file_json, true);
                 if (isset($item->wellness_record_file_json['file_filename']) && isset($item->wellness_record_file_json['file_savepath'])) {
                     $itemNew['wellness_record_file_json'][] = [
-                        'url' => getenv('APP_IMAGE_DOMAIN') .$item->wellness_record_file_json['file_savepath'].$item->wellness_record_file_json['file_savename'],
+                        'url' => getenv('APP_IMAGE_DOMAIN') . $item->wellness_record_file_json['file_savepath'] . $item->wellness_record_file_json['file_savename'],
                         'name' => $item->wellness_record_file_json['file_filename']
                     ];
                 } else if (isset($item->wellness_record_file_json['url']) && isset($item->wellness_record_file_json['name'])) {

+ 8 - 8
app/admin/controller/sys_manage/FieldController.php

@@ -62,10 +62,10 @@ class FieldController extends Curd
      */
     public function addField(Request $request)
     {
-        $validate = new FieldValidate();
-        if (!$validate->scene('add')->check($request->post())) {
-            return json_fail($validate->getError());
-        }
+//        $validate = new FieldValidate();
+//        if (!$validate->scene('add')->check($request->post())) {
+//            return json_fail($validate->getError());
+//        }
 
         // 验证数据表是否存在
         if (!FieldService::checkTableExist($request->post('field_table'))) {
@@ -90,10 +90,10 @@ class FieldController extends Curd
      */
     public function updateFields($id, Request $request)
     {
-        $validate = new FieldValidate();
-        if (!$validate->scene('update')->check($request->post())) {
-            return json_fail($validate->getError());
-        }
+//        $validate = new FieldValidate();
+//        if (!$validate->scene('update')->check($request->post())) {
+//            return json_fail($validate->getError());
+//        }
         // 验证数据表是否存在
         if (!FieldService::checkTableExist($request->post('field_table'))) {
             return json_fail('数据表不存在');

+ 73 - 56
app/admin/service/sys_manage/FieldService.php

@@ -27,15 +27,16 @@ class FieldService
         $pageSize = $request->get('pageSize', 10);
         $fieldName = $request->get('field_name', '');
         $tableName = $request->get('table_name', '');
+        $fieldCategory = $request->get('field_category', '');
 
         $rows = SysField::select('*')
             ->when($fieldName != '', function ($query) use ($fieldName) {
                 $query->where('field_name', 'like', '%' . $fieldName . '%');
-            })
-            ->when($tableName != '', function ($query) use ($tableName) {
+            })->when($tableName != '', function ($query) use ($tableName) {
                 $query->where('field_table', 'like', '%' . $tableName . '%');
-            })
-            ->orderBy('field_addtimes', 'DESC')
+            })->when($fieldCategory != '', function ($query) use ($fieldCategory) {
+                $query->where('field_category', $fieldCategory);
+            })->orderBy('field_addtimes', 'DESC')
             ->forPage($page, $pageSize)
             ->get()
             ->toArray();
@@ -45,7 +46,7 @@ class FieldService
             $query->where('field_table', 'like', '%' . $tableName . '%');
         })->count();
 
-        foreach ($rows as &$row){
+        foreach ($rows as &$row) {
             $row['field_refer_json'] = json_decode($row['field_refer_json']);
         }
 
@@ -80,7 +81,7 @@ class FieldService
      */
     public static function addField($params)
     {
-        if (!empty($params['field_refer_json']['key'])){
+        if (!empty($params['field_refer_json']['key'])) {
             $params['field_refer_json']['val'] = $params['field_refer_json']['key'];
         }
         Db::beginTransaction();
@@ -104,24 +105,26 @@ class FieldService
             // 入库
             SysField::insert($data);
 
-            // 字段设置
-            $column = [
-                'type' => $params['field_column_datatype'],
-                'field' => $params['field_column_key'],
-                'primary_key' => false,
-                'nullable' => true,
-                'default' => $params['field_column_default'],
-                'auto_increment' => false,
-                'comment' => $params['field_name']
-            ];
-            $defaultLength = Util::fieldDefaultLength();
-            if (isset($defaultLength[$column['type']])) {
-                $column['length'] = $defaultLength[$column['type']];
+            if (!empty($params['field_table'])) {
+                // 字段设置
+                $column = [
+                    'type' => self::$column[$params['field_column_datatype']],
+                    'field' => $params['field_column_key'],
+                    'primary_key' => false,
+                    'nullable' => true,
+                    'default' => $params['field_column_default'],
+                    'auto_increment' => false,
+                    'comment' => $params['field_name']
+                ];
+                $defaultLength = Util::fieldDefaultLength();
+                if (isset($defaultLength[$column['type']])) {
+                    $column['length'] = $defaultLength[$column['type']];
+                }
+                // 写入字段
+                Util::schema()->table($params['field_table'], function (Blueprint $table) use ($column) {
+                    self::createColumn($table, $column);
+                });
             }
-            // 写入字段
-            Util::schema()->table($params['field_table'], function (Blueprint $table) use ($column) {
-                self::createColumn($table, $column);
-            });
             Db::commit();
         } catch (\Exception $e) {
             Db::rollBack();
@@ -155,47 +158,48 @@ class FieldService
                 'field_form_key' => $params['field_form_key'],
                 'field_form_type' => $params['field_form_type'],
                 'field_form_default' => $params['field_form_default'],
-                'field_refer_json' => !empty($params['field_refer_json']) ? $params['field_refer_json'] : [],
+                'field_refer_json' => !empty($params['field_refer_json']) ? json_encode($params['field_refer_json']) : '[]',
                 'field_remark' => $params['field_remark'],
-                'field_extend_json' => !empty($params['field_extend_json']) ? $params['field_extend_json'] : []
+//                'field_extend_json' => !empty($params['field_extend_json']) ? $params['field_extend_json'] : '[]'
             ];
             // 更新
             SysField::where('field_id', $id)->update($data);
-
-            // 字段设置
-            $column = [
-                'type' => $params['field_column_datatype'],
-                'field' => $params['field_column_key'],
-                'old_field' => $field->field_column_key,
-                'primary_key' => false,
-                'nullable' => true,
-                'default' => $params['field_column_default'],
-                'auto_increment' => false,
-                'comment' => $params['field_name']
-            ];
-            // 设置字段长度
-            $defaultLength = Util::fieldDefaultLength();
-            if (isset($defaultLength[$column['type']])) {
-                $column['length'] = $defaultLength[$column['type']];
-            }
-            // 表变动
-            if ($field->field_table != $params['field_table']) {
-                if (!empty($field->field_table)){
-                    // 删原表字段
-                    Util::db()->statement("ALTER TABLE " . getenv('DB_PREFIX') . $field->field_table . " DROP COLUMN `$field->field_column_key`");
+            if (!empty($params['field_table'])) {
+                // 字段设置
+                $column = [
+                    'type' => self::$column[$params['field_column_datatype']],
+                    'field' => $params['field_column_key'],
+                    'old_field' => $field->field_column_key,
+                    'primary_key' => false,
+                    'nullable' => true,
+                    'default' => $params['field_column_default'],
+                    'auto_increment' => false,
+                    'comment' => $params['field_name']
+                ];
+                // 设置字段长度
+                $defaultLength = Util::fieldDefaultLength();
+                if (isset($defaultLength[$column['type']])) {
+                    $column['length'] = $defaultLength[$column['type']];
+                }
+                // 表变动
+                if ($field->field_table != $params['field_table']) {
+                    if (!empty($field->field_table)) {
+                        // 删原表字段
+                        Util::db()->statement("ALTER TABLE " . getenv('DB_PREFIX') . $field->field_table . " DROP COLUMN `$field->field_column_key`");
+                    }
+                    // 在新表创建
+                    Util::schema()->table($params['field_table'], function (Blueprint $table) use ($column) {
+                        self::createColumn($table, $column);
+                    });
+                } else {
+                    // 表没变,改就行
+                    self::modifyColumn($params['field_table'], $column);
                 }
-                // 在新表创建
-                Util::schema()->table($params['field_table'], function (Blueprint $table) use ($column) {
-                    self::createColumn($table, $column);
-                });
-            } else {
-                // 表没变,改就行
-                self::modifyColumn(getenv('DB_PREFIX') . $params['field_table'], $column);
             }
             Db::commit();
         } catch (\Exception $e) {
             Db::rollBack();
-//            dump($e->getTrace());
+            dump($e->getMessage());
             return json_fail('修改字段失败');
         }
 
@@ -258,8 +262,12 @@ class FieldService
 
     public static function checkTableExist($table)
     {
+        if (empty($table)) {
+            return true;
+        }
+
         try {
-            $table = getenv('DB_PREFIX') . $table;
+//            $table = $table;
             $desc = (new SysField)->getConnection()->select("desc `$table`");
             if ($desc) {
                 return true;
@@ -280,6 +288,9 @@ class FieldService
      */
     public static function checkFieldExist($table, $field)
     {
+        if (empty($table)) {
+            return true;
+        }
         return SysField::where('field_table', $table)
             ->where('field_column_key', $field)
             ->exists();
@@ -440,4 +451,10 @@ class FieldService
         Util::db()->statement($sql);
     }
 
+    public static $column = [
+        'VARCHAR' => 'string',
+        'DATETIME' => 'dateTime',
+        'INT' => 'integer',
+        'DECIMAL' => 'decimal'
+    ];
 }

+ 4 - 4
app/admin/validate/sys_manage/FieldValidate.php

@@ -8,14 +8,14 @@ class FieldValidate extends Validate
 {
     protected $rule = [
         'field_status|状态' => 'require|in:ACTIVED,DISABLED',
-        'field_category|分类' => 'in:NORMAL,PAGE,OTHER',
+//        'field_category|分类' => 'in:NORMAL,PAGE,OTHER',
         'field_name|名称' => 'require',
         'field_table|所属表' => 'require|alphaDash',
         'field_column_key|字段列名' => 'alphaDash',
-        'field_column_datatype|数据类型' => 'in:string,decimal,text,dateTime',
-        'field_column_default|列默认值' => 'checkDefault',
+//        'field_column_datatype|数据类型' => 'in:string,decimal,text,dateTime',
+//        'field_column_default|列默认值' => 'checkDefault',
 //        'field_form_key' => 'in:id,name',
-        'field_form_type|DOM表单类型' => 'alphaDash',
+//        'field_form_type|DOM表单类型' => 'alphaDash',
 //        'field_form_default' => 'chsDash',
 //        'field_refer_json' => 'isJson',
 //        'field_remark' => 'chsDash',

+ 2 - 2
route/admin.php

@@ -884,9 +884,9 @@ Route::group('/admin', function () {
         /* 档案管理 */
         Route::group('/wellnessRecord', function () {
             Route::get('/my/{id:[0-9a-zA-Z]+}', [\app\admin\controller\member\WellnessRecordController::class, 'my']);
-            Route::get('/advice/{id:[0-9a-zA-Z]+}', [\app\admin\controller\member\WellnessRecordController::class, 'advice']);
+            Route::get('/advice', [\app\admin\controller\member\WellnessRecordController::class, 'advice']);
             Route::get('/archives/{id:[0-9a-zA-Z]+}', [\app\admin\controller\member\WellnessRecordController::class, 'archives']);
-            Route::get('/checkup/{id:[0-9a-zA-Z]+}', [\app\admin\controller\member\WellnessRecordController::class, 'checkup']);
+            Route::get('/checkup', [\app\admin\controller\member\WellnessRecordController::class, 'checkup']);
             Route::get('/visit/{id:[0-9a-zA-Z]+}', [\app\admin\controller\member\WellnessRecordController::class, 'visit']);
             Route::get('/list', [\app\admin\controller\member\WellnessRecordController::class, 'select']);
             Route::get('/info', [\app\admin\controller\member\WellnessRecordController::class, 'info']);