diff --git a/Laravel/app/Http/Controllers/API/Admin/QuestionItemController.php b/Laravel/app/Http/Controllers/API/Admin/QuestionItemController.php
new file mode 100644
index 0000000..3433546
--- /dev/null
+++ b/Laravel/app/Http/Controllers/API/Admin/QuestionItemController.php
@@ -0,0 +1,94 @@
+post('hospital_id');
+ $items = DB::table('items')
+ ->select(['item_id', 'name', 'pinyin', 'sex'])
+ ->where(['hospital_id' => $hospital_id])
+ ->get();
+ return \Yz::Return(true, '操作完成', [
+ 'list' => $items
+ ]);
+ }
+
+ public function create(Request $request)
+ {
+ $name = $request->post('name');
+ $desc = $request->post('desc');
+ $jichu = $request->post('jichu');
+ $tuijian = $request->post('tuijian');
+ $gaoduan = $request->post('gaoduan');
+ if (!$name) {
+ return \Yz::echoError('请填写项目名称');
+ }
+ if (mb_strlen($name) > 20) {
+ return \Yz::echoError('项目名称过长');
+ }
+ if (mb_strlen($desc) > 200) {
+ return \Yz::echoError('项目说明过长');
+ }
+ DB::table('question_items')->insert([
+ 'name' => $name,
+ 'desc' => $desc ?? '',
+ 'jichu' => $jichu ?? '[]',
+ 'tuijian' => $tuijian ?? '[]',
+ 'gaoduan' => $gaoduan ?? '[]',
+ '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');
+ $name = $request->post('name');
+ $desc = $request->post('desc');
+ $jichu = $request->post('jichu');
+ $tuijian = $request->post('tuijian');
+ $gaoduan = $request->post('gaoduan');
+ if (!$name) {
+ return \Yz::echoError('请填写项目名称');
+ }
+ if (mb_strlen($name) > 20) {
+ return \Yz::echoError('项目名称过长');
+ }
+ if (mb_strlen($desc) > 200) {
+ return \Yz::echoError('项目说明过长');
+ }
+ DB::table('question_items')->where('id', $id)->update([
+ 'name' => $name,
+ 'desc' => $desc ?? '',
+ 'jichu' => $jichu ?? '[]',
+ 'tuijian' => $tuijian ?? '[]',
+ 'gaoduan' => $gaoduan ?? '[]',
+ '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_items')->where('id', $id)->delete();
+ return \Yz::Return(true, '操作完成');
+ }
+
+ public function list(Request $request)
+ {
+ $search = $request->post('search');
+ $list = DB::table('question_items')->where('name', $search)->get();
+ 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
new file mode 100644
index 0000000..cdaa4a2
--- /dev/null
+++ b/Laravel/app/Http/Controllers/API/Admin/QuestionQuestionController.php
@@ -0,0 +1,11 @@
+id();
+ $table->string('question', 200)->comment('问题名称');
+ $table->string('type', 20)->comment('类型 input select');
+ $table->longText('option')->comment('问题参数');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('question_questions');
+ }
+}
diff --git a/Laravel/database/migrations/2024_10_12_103134_create_question_items_table.php b/Laravel/database/migrations/2024_10_12_103134_create_question_items_table.php
new file mode 100644
index 0000000..22ec3ed
--- /dev/null
+++ b/Laravel/database/migrations/2024_10_12_103134_create_question_items_table.php
@@ -0,0 +1,36 @@
+id();
+ $table->string('name', 50)->comment('风险名称');
+ $table->string('desc', 200)->comment('风险说明');
+ $table->longText('jichu')->comment('基础项目');
+ $table->longText('tuijian')->comment('优先推荐');
+ $table->longText('gaoduan')->comment('高端推荐');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('question_items');
+ }
+}
diff --git a/Laravel/database/migrations/2024_10_12_155737_create_questionnaires_table.php b/Laravel/database/migrations/2024_10_12_155737_create_questionnaires_table.php
new file mode 100644
index 0000000..3bd833c
--- /dev/null
+++ b/Laravel/database/migrations/2024_10_12_155737_create_questionnaires_table.php
@@ -0,0 +1,35 @@
+id();
+ $table->string('type', 20)->comment('问卷类型 检前评估 问卷调查');
+ $table->string('name', 50)->comment('问卷名称');
+ $table->longText('items')->comment('一般检查项IDs');
+ $table->longText('questions')->comment('问题IDs');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('questionnaires');
+ }
+}
diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php
index 001cb56..5245c51 100644
--- a/Laravel/routes/api.php
+++ b/Laravel/routes/api.php
@@ -23,6 +23,13 @@ Route::post('admin/login', 'App\Http\Controllers\API\Admin\LoginController@Login
Route::post('/tokenRefresh', 'App\Http\Controllers\API\TokenController@TokenRefresh')->middleware('log'); //刷新token
Route::group(['middleware' => ['checktoken', 'log'], 'prefix' => 'v1'], function () { //路由分组
+ // 问卷调查 开始
+ 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');
+ Route::post('admin/questionItem/delete', 'App\Http\Controllers\API\Admin\QuestionItemController@delete');
+ Route::post('admin/questionItem/list', 'App\Http\Controllers\API\Admin\QuestionItemController@list');
+ // 问卷调查 结束
Route::post('admin/getBaseMenuList', 'App\Http\Controllers\API\Admin\BaseInfoController@GetBaseMenuList'); //登录后获取admin后台用户对应菜单列表
Route::post('admin/GetBaseUserInfo', 'App\Http\Controllers\API\Admin\BaseInfoController@GetBaseUserInfo'); //获取admin用户基本信息
Route::post('admin/getMenuList', 'App\Http\Controllers\API\Admin\MenuController@GetList'); //admin后台所有菜单管理
diff --git a/admin/src/router/index.js b/admin/src/router/index.js
index 5d3795a..46e671a 100644
--- a/admin/src/router/index.js
+++ b/admin/src/router/index.js
@@ -162,6 +162,34 @@ const router = createRouter({
meta: {
title: '文章管理'
}
+ },{
+ path: '/Question/Question',
+ name: 'Question',
+ component: () => import('../views/Question/Question.vue'),
+ meta: {
+ title: '问卷管理'
+ }
+ },{
+ path: '/Question/Question',
+ name: 'Question',
+ component: () => import('../views/Question/Question.vue'),
+ meta: {
+ title: '问卷管理'
+ }
+ },{
+ path: '/Question/QuestionQuestion',
+ name: 'QuestionQuestion',
+ component: () => import('../views/Question/QuestionQuestion.vue'),
+ meta: {
+ title: '问卷题库'
+ }
+ },{
+ path: '/Question/QuestionItem',
+ name: 'QuestionItem',
+ component: () => import('../views/Question/QuestionItem.vue'),
+ meta: {
+ title: '问卷项目'
+ }
}]
},
diff --git a/admin/src/views/Question/Question.vue b/admin/src/views/Question/Question.vue
new file mode 100644
index 0000000..59c8579
--- /dev/null
+++ b/admin/src/views/Question/Question.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/admin/src/views/Question/QuestionItem.vue b/admin/src/views/Question/QuestionItem.vue
new file mode 100644
index 0000000..59c8579
--- /dev/null
+++ b/admin/src/views/Question/QuestionItem.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/admin/src/views/Question/QuestionQuestion.vue b/admin/src/views/Question/QuestionQuestion.vue
new file mode 100644
index 0000000..59c8579
--- /dev/null
+++ b/admin/src/views/Question/QuestionQuestion.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+