diff --git a/Laravel/app/Http/Controllers/API/Admin/QuestionItemController.php b/Laravel/app/Http/Controllers/API/Admin/QuestionItemController.php index 3433546..122a3a2 100644 --- a/Laravel/app/Http/Controllers/API/Admin/QuestionItemController.php +++ b/Laravel/app/Http/Controllers/API/Admin/QuestionItemController.php @@ -86,7 +86,11 @@ class QuestionItemController extends Controller public function list(Request $request) { $search = $request->post('search'); - $list = DB::table('question_items')->where('name', $search)->get(); + $db = DB::table('question_items'); + if (!!$search) { + $db->where('name', $search); + } + $list = $db->paginate(20); return \Yz::Return(true, '操作完成', [ 'list' => $list ]); diff --git a/Laravel/app/Http/Controllers/API/Admin/QuestionQuestionController.php b/Laravel/app/Http/Controllers/API/Admin/QuestionQuestionController.php index cdaa4a2..ead8514 100644 --- a/Laravel/app/Http/Controllers/API/Admin/QuestionQuestionController.php +++ b/Laravel/app/Http/Controllers/API/Admin/QuestionQuestionController.php @@ -3,9 +3,78 @@ namespace App\Http\Controllers\API\Admin; use App\Http\Controllers\Controller; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; -class -QuestionQuestionController extends Controller +class QuestionQuestionController extends Controller { - // + public function create(Request $request) + { + $question = $request->post('question'); + $type = $request->post('type'); + $option = $request->post('option'); + if (!$question) { + return \Yz::echoError('请填写题目'); + } + if (mb_strlen($question) > 200) { + return \Yz::echoError('题目过长'); + } + $type_array = ['select', 'input']; + if (!in_array($type, $type_array)) { + return \Yz::echoError('题目类型异常'); + } + DB::table('question_questions')->insert([ + 'question' => $question, + 'type' => $type, + 'option' => $option ?? '{}', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + return \Yz::Return(true, '操作完成'); + } + + public function update(Request $request) + { + $id = $request->post('id'); + $question = $request->post('question'); + $type = $request->post('type'); + $option = $request->post('option'); + if (!$question) { + return \Yz::echoError('请填写题目'); + } + if (mb_strlen($question) > 200) { + return \Yz::echoError('题目过长'); + } + $type_array = ['select', 'input']; + if (!in_array($type, $type_array)) { + return \Yz::echoError('题目类型异常'); + } + DB::table('question_questions')->where('id', $id)->update([ + 'question' => $question, + 'type' => $type, + 'option' => $option ?? '{}', + 'updated_at' => date('Y-m-d H:i:s'), + ]); + return \Yz::Return(true, '操作完成'); + } + + public function delete(Request $request) + { + $id = $request->post('id'); + DB::table('question_questions')->where('id', $id)->delete(); + return \Yz::Return(true, '操作完成'); + } + + public function list(Request $request) + { + $search = $request->post('search'); + $db = DB::table('question_questions'); + if (!!$search) { + $db->where('question', 'like', "%$search%"); + } + $list = $db->paginate(20); + return \Yz::Return(true, '操作完成', [ + 'list' => $list + ]); + } } diff --git a/Laravel/app/Http/Controllers/API/Admin/QuestionnaireController.php b/Laravel/app/Http/Controllers/API/Admin/QuestionnaireController.php index e58f248..373725e 100644 --- a/Laravel/app/Http/Controllers/API/Admin/QuestionnaireController.php +++ b/Laravel/app/Http/Controllers/API/Admin/QuestionnaireController.php @@ -3,8 +3,86 @@ namespace App\Http\Controllers\API\Admin; use App\Http\Controllers\Controller; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; class QuestionnaireController extends Controller { - // + public function create(Request $request) + { + $type = $request->post('type'); + $name = $request->post('name'); + $items = $request->post('items'); + $questions = $request->post('questions'); + if (!$name) { + return \Yz::echoError('请填写问卷名称'); + } + if (mb_strlen($name) > 50) { + return \Yz::echoError('问卷名称过长'); + } + $type_array = ['检前评估', '问卷调查']; + if (!in_array($type, $type_array)) { + return \Yz::echoError('问卷类型异常'); + } + DB::table('questionnaires')->insert([ + 'type' => $type, + 'name' => $name, + 'items' => $items ?? '[]', + 'questions' => $questions ?? '[]', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + return \Yz::Return(true, '操作完成'); + } + + public function update(Request $request) + { + $id = $request->post('id'); + $type = $request->post('type'); + $name = $request->post('name'); + $items = $request->post('items'); + $questions = $request->post('questions'); + if (!$name) { + return \Yz::echoError('请填写问卷名称'); + } + if (mb_strlen($name) > 50) { + return \Yz::echoError('问卷名称过长'); + } + $type_array = ['检前评估', '问卷调查']; + if (!in_array($type, $type_array)) { + return \Yz::echoError('问卷类型异常'); + } + DB::table('questionnaires')->where('id', $id)->update([ + 'type' => $type, + 'name' => $name, + 'items' => $items ?? '[]', + 'questions' => $questions ?? '[]', + 'updated_at' => date('Y-m-d H:i:s'), + ]); + return \Yz::Return(true, '操作完成'); + } + + public function delete(Request $request) + { + $id = $request->post('id'); + DB::table('questionnaires')->where('id', $id)->delete(); + return \Yz::Return(true, '操作完成'); + } + + public function list(Request $request) + { + $search = $request->post('search'); + $type = $request->post('type'); + $db = DB::table('questionnaires'); + if (!!$search) { + $db->where('name', 'like', "%$search%"); + } + if (!!$type) { + $db->where('type', $type); + } + $list = $db->paginate(20); + return \Yz::Return(true, '操作完成', [ + 'list' => $list + ]); + } } diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index 5245c51..77147f5 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -24,6 +24,16 @@ Route::post('/tokenRefresh', 'App\Http\Controllers\API\TokenController@TokenRefr Route::group(['middleware' => ['checktoken', 'log'], 'prefix' => 'v1'], function () { //路由分组 // 问卷调查 开始 + Route::post('admin/question/create', 'App\Http\Controllers\API\Admin\QuestionnaireController@create'); + Route::post('admin/question/update', 'App\Http\Controllers\API\Admin\QuestionnaireController@update'); + Route::post('admin/question/delete', 'App\Http\Controllers\API\Admin\QuestionnaireController@delete'); + Route::post('admin/question/list', 'App\Http\Controllers\API\Admin\QuestionnaireController@list'); + + Route::post('admin/questionQuestion/create', 'App\Http\Controllers\API\Admin\QuestionQuestionController@create'); + Route::post('admin/questionQuestion/update', 'App\Http\Controllers\API\Admin\QuestionQuestionController@update'); + Route::post('admin/questionQuestion/delete', 'App\Http\Controllers\API\Admin\QuestionQuestionController@delete'); + Route::post('admin/questionQuestion/list', 'App\Http\Controllers\API\Admin\QuestionQuestionController@list'); + Route::post('admin/questionItem/item', 'App\Http\Controllers\API\Admin\QuestionItemController@item'); Route::post('admin/questionItem/create', 'App\Http\Controllers\API\Admin\QuestionItemController@create'); Route::post('admin/questionItem/update', 'App\Http\Controllers\API\Admin\QuestionItemController@update');