diff --git a/Laravel/app/Http/Controllers/API/Admin/QuestionListController.php b/Laravel/app/Http/Controllers/API/Admin/QuestionListController.php new file mode 100644 index 0000000..e9a541e --- /dev/null +++ b/Laravel/app/Http/Controllers/API/Admin/QuestionListController.php @@ -0,0 +1,104 @@ +post('name'); + $desc = $request->post('desc'); + $icon = $request->post('icon'); + $order = $request->post('order'); + $question = $request->post('question'); + if (!$question) { + return \Yz::echoError('请选择问卷'); + } + if (!$name) { + return \Yz::echoError('请填写名称'); + } + if (mb_strlen($name) > 20) { + return \Yz::echoError('名称过长'); + } + if (mb_strlen($desc) > 200) { + return \Yz::echoError('说明过长'); + } + if (!$icon) { + return \Yz::echoError('请上传图片'); + } + if (mb_strlen($icon) > 200) { + return \Yz::echoError('图片链接过长'); + } + DB::table('question_lists')->insert([ + 'name' => $name, + 'desc' => $desc ?? '', + 'icon' => $icon, + 'order' => $order ?? 0, + 'question' => $question ?? 0, + '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'); + $icon = $request->post('icon'); + $order = $request->post('order'); + $question = $request->post('question'); + if (!$question) { + return \Yz::echoError('请选择问卷'); + } + if (!$name) { + return \Yz::echoError('请填写名称'); + } + if (mb_strlen($name) > 20) { + return \Yz::echoError('名称过长'); + } + if (mb_strlen($desc) > 200) { + return \Yz::echoError('说明过长'); + } + if (!$icon) { + return \Yz::echoError('请上传图片'); + } + if (mb_strlen($icon) > 200) { + return \Yz::echoError('图片链接过长'); + } + DB::table('question_lists')->where('id', $id)->update([ + 'name' => $name, + 'desc' => $desc ?? '', + 'icon' => $icon, + 'order' => $order ?? 0, + 'question' => $question ?? 0, + 'created_at' => date('Y-m-d H:i:s'), + '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_lists')->where('id', $id)->delete(); + return \Yz::Return(true, '操作完成'); + } + + public function list(Request $request) + { + $search = $request->post('search'); + $db = DB::table('question_lists'); + if (!!$search) { + $db->where('name', 'like', "%$search%"); + } + $list = $db->orderBy('order', 'desc')->get(); + 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 385f0ef..7c5a1e6 100644 --- a/Laravel/app/Http/Controllers/API/Admin/QuestionnaireController.php +++ b/Laravel/app/Http/Controllers/API/Admin/QuestionnaireController.php @@ -85,4 +85,13 @@ class QuestionnaireController extends Controller 'list' => $list ]); } + + public function select(Request $request) + { + $db = DB::table('questionnaires'); + $list = $db->select(['id', 'name'])->where('type', '问卷调查')->orderBy('id', 'desc')->get(); + return \Yz::Return(true, '操作完成', [ + 'list' => $list + ]); + } } diff --git a/Laravel/app/Http/Controllers/API/H5/QuestionnaireController.php b/Laravel/app/Http/Controllers/API/H5/QuestionnaireController.php index f6f0be3..fe90bba 100644 --- a/Laravel/app/Http/Controllers/API/H5/QuestionnaireController.php +++ b/Laravel/app/Http/Controllers/API/H5/QuestionnaireController.php @@ -10,23 +10,17 @@ class QuestionnaireController extends Controller { public function list(Request $request) { - $list = [[ - 'id' => 3, - 'title' => '健康问卷完整版', - 'icon' => '/assets/h5/question1.png', - 'desc' => '共20道题,约3分钟', - ], [ - 'id' => 3, - 'title' => '健康问卷简易版', - 'icon' => '/assets/h5/question1.png', - 'desc' => '共10道题,约1分钟', - ], [ - 'id' => 3, - 'title' => '心理健康评估问卷', - 'icon' => '/assets/h5/question2.png', - 'desc' => '共15道题,约2分钟', - ]]; - + $db = DB::table('question_lists'); + $question = $db->orderBy('order', 'desc')->get(); + $list = []; + foreach ($question as $key => $value) { + $list[] = [ + 'id' => $value->id, + 'title' => $value->name, + 'icon' => $value->icon, + 'desc' => $value->desc, + ]; + } return \Yz::Return(true, '操作完成', [ 'list' => $list ]); diff --git a/Laravel/app/Models/QuestionList.php b/Laravel/app/Models/QuestionList.php new file mode 100644 index 0000000..7c2359b --- /dev/null +++ b/Laravel/app/Models/QuestionList.php @@ -0,0 +1,11 @@ +id(); + $table->string('name', 50); + $table->string('desc', 200); + $table->string('icon', 200); + $table->bigInteger('order'); + $table->bigInteger('question'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('question_lists'); + } +} diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index 41cb9c1..2375264 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -24,10 +24,16 @@ Route::post('/tokenRefresh', 'App\Http\Controllers\API\TokenController@TokenRefr Route::group(['middleware' => ['checktoken', 'log'], 'prefix' => 'v1'], function () { //路由分组 // 问卷调查 开始 + Route::post('admin/questionList/create', 'App\Http\Controllers\API\Admin\QuestionListController@create'); + Route::post('admin/questionList/update', 'App\Http\Controllers\API\Admin\QuestionListController@update'); + Route::post('admin/questionList/delete', 'App\Http\Controllers\API\Admin\QuestionListController@delete'); + Route::post('admin/questionList/list', 'App\Http\Controllers\API\Admin\QuestionListController@list'); + 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/question/select', 'App\Http\Controllers\API\Admin\QuestionnaireController@select'); Route::post('admin/questionQuestion/select', 'App\Http\Controllers\API\Admin\QuestionQuestionController@select'); Route::post('admin/questionQuestion/create', 'App\Http\Controllers\API\Admin\QuestionQuestionController@create'); diff --git a/admin/src/api/api.js b/admin/src/api/api.js index 6ad2706..ccaa486 100644 --- a/admin/src/api/api.js +++ b/admin/src/api/api.js @@ -1,322 +1,363 @@ -import axios from "@/tools/axios.js"; +import axios from '@/tools/axios.js' //登录 -export const Login = (data) => { - return axios({url:import.meta.env.VITE_APP_API+'admin/login',data:data}) +export const Login = (data) => { + return axios({ url: import.meta.env.VITE_APP_API + 'admin/login', data: data }) } //admin后台获取当前用户菜单 -export const GetAdminBaseMenuList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/getBaseMenuList',data:data}) +export const GetAdminBaseMenuList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/getBaseMenuList', data: data }) } //Token刷新 -export const TokenRefresh = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'tokenRefresh',data:data}) +export const TokenRefresh = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'tokenRefresh', data: data }) } //获取admin后台用户list -export const getAdminUserList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/getUserList',data:data}) +export const getAdminUserList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/getUserList', data: data }) } //admin后台获取所有菜单列表 -export const GetAdminMenuList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/getMenuList',data:data}) +export const GetAdminMenuList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/getMenuList', data: data }) } //admin后台获取一级菜单 -export const GetFatherMenuList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetFatherMenuList',data:data}) +export const GetFatherMenuList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetFatherMenuList', data: data }) } //admin后台添加菜单 -export const AddMenu = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/AddMenu',data:data}) +export const AddMenu = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/AddMenu', data: data }) } //admin后台编辑菜单 -export const EditMenu = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/EditMenu',data:data}) +export const EditMenu = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/EditMenu', data: data }) } //admin后台组列表 -export const getGroupList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/getGroupList',data:data}) +export const getGroupList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/getGroupList', data: data }) } //admin后台修改组菜单 -export const GroupChangeMenu = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GroupChangeMenu',data:data}) +export const GroupChangeMenu = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GroupChangeMenu', data: data }) } //admin后台添加组 -export const SaveGroup = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/SaveGroup',data:data}) +export const SaveGroup = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/SaveGroup', data: data }) } //admin后台保存用户信息 -export const SaveSystemUserInfo = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/SaveSystemUserInfo',data:data}) +export const SaveSystemUserInfo = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/SaveSystemUserInfo', data: data }) } //admin后台获取用户详细信息 -export const GetSystemUserDetail = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetSystemUserDetail',data:data}) +export const GetSystemUserDetail = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetSystemUserDetail', data: data }) } //admin后台修改密码 -export const adminChangePwd = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/adminChangePwd',data:data}) +export const adminChangePwd = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/adminChangePwd', data: data }) } //admin后台获取登录用户基本信息 -export const GetBaseAdminUserInfo = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetBaseUserInfo',data:data}) +export const GetBaseAdminUserInfo = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetBaseUserInfo', data: data }) } //admin后台管理员查询分组使用的菜单 -export const AdminGetGroupMenuList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetGroupMenuList',data:data}) +export const AdminGetGroupMenuList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetGroupMenuList', data: data }) } //admin后台创建体检日历 -export const CreateCalendar = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/CreateCalendar',data:data}) +export const CreateCalendar = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/CreateCalendar', data: data }) } //admin后台获取日历列表 -export const CalendarGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/CalendarGetList',data:data}) +export const CalendarGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/CalendarGetList', data: data }) } //admin后台删除日历列表 -export const CalendarDel = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/CalendarListDel',data:data}) +export const CalendarDel = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/CalendarListDel', data: data }) } //admin后台更新日历 -export const CalendarChangeInfo = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/CalendarChangeInfo',data:data}) +export const CalendarChangeInfo = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/CalendarChangeInfo', data: data }) } //admin后台更新日历 -export const CheckMenuAuth = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/CheckMenuAuth',data:data}) +export const CheckMenuAuth = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/CheckMenuAuth', data: data }) } //上传图片 // export const UpFile = (data={}) => { // return axios({url:import.meta.env.VITE_APP_API+'v1/UpFile',data:data}) // } -export const UpFileUrl= () => { - return import.meta.env.VITE_APP_API+'v1/UpFile' +export const UpFileUrl = () => { + return import.meta.env.VITE_APP_API + 'v1/UpFile' } //admin后台修改自身用户信息 -export const ChangInfo = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ChangInfo',data:data}) +export const ChangInfo = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ChangInfo', data: data }) } //admin后台获取站点配置信息 -export const GetConfigInfo = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetConfigInfo',data:data}) +export const GetConfigInfo = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetConfigInfo', data: data }) } //admin后台保存站点配置信息 -export const SaveConfigInfo = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/SaveConfigInfo',data:data}) +export const SaveConfigInfo = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/SaveConfigInfo', data: data }) } //获取日志列表 -export const SystemLogGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/SystemLogGetList',data:data}) +export const SystemLogGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/SystemLogGetList', data: data }) } //获取日志表名 -export const GetLogTableName = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetLogTableName',data:data}) +export const GetLogTableName = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetLogTableName', data: data }) } //获取号源类型列表 -export const PlanTypeGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanTypeGetList',data:data}) +export const PlanTypeGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanTypeGetList', data: data }) } //可用体检类型列表 -export const CheckUpTypeGetEnableList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/CheckUpTypeGetEnableList',data:data}) +export const CheckUpTypeGetEnableList = (data = {}) => { + return axios({ + url: import.meta.env.VITE_APP_API + 'v1/admin/CheckUpTypeGetEnableList', + data: data + }) } //号源类型保存 -export const PlanTypeSave = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanTypeSave',data:data}) +export const PlanTypeSave = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanTypeSave', data: data }) } //号源类型详情 -export const PlanTypeGetDetail = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanTypeGetDetail',data:data}) +export const PlanTypeGetDetail = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanTypeGetDetail', data: data }) } //删除号源类型 -export const PlanTypeDel = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanTypeDel',data:data}) +export const PlanTypeDel = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanTypeDel', data: data }) } //号源模板获取时间段列表 -export const PlanModelTimeList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanModelTimeList',data:data}) +export const PlanModelTimeList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanModelTimeList', data: data }) } //保存号源模板 -export const PlanModelSave = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanModelSave',data:data}) +export const PlanModelSave = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanModelSave', data: data }) } //号源模板列表 -export const PlanModelGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanModelGetList',data:data}) +export const PlanModelGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanModelGetList', data: data }) } //号源模板详情 -export const PlanModelGetDetail = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanModelGetDetail',data:data}) +export const PlanModelGetDetail = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanModelGetDetail', data: data }) } //删除号源模板 -export const PlanModelDel = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanModelDel',data:data}) +export const PlanModelDel = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanModelDel', data: data }) } //生成号源 -export const PlanCreate = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/CreatePlan',data:data}) +export const PlanCreate = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/CreatePlan', data: data }) } //号源列表 -export const PlanGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanGetList',data:data}) +export const PlanGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanGetList', data: data }) } //号源详情 -export const PlanGetDetail = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanGetDetail',data:data}) +export const PlanGetDetail = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanGetDetail', data: data }) } //号源详情 -export const PlanSave = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanSave',data:data}) +export const PlanSave = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/PlanSave', data: data }) } //获取套餐列表 -export const ComboGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboGetList',data:data}) +export const ComboGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ComboGetList', data: data }) } //获取套餐详情 -export const ComboGetDetail = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboGetDetail',data:data}) +export const ComboGetDetail = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ComboGetDetail', data: data }) } //保存套餐详情 -export const ComboSave = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboSave',data:data}) +export const ComboSave = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ComboSave', data: data }) } //保存医院信息 -export const HospitalSave = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/HospitalSave',data:data}) +export const HospitalSave = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/HospitalSave', data: data }) } //获取医院列表 -export const HospitalGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/HospitalGetList',data:data}) +export const HospitalGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/HospitalGetList', data: data }) } //获取可用的医院列表 -export const HospitalGetEnableList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/HospitalGetEnableList',data:data}) +export const HospitalGetEnableList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/HospitalGetEnableList', data: data }) } //获取医院基本信息 -export const GetBaseInfoDetail = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetBaseInfoDetail',data:data}) +export const GetBaseInfoDetail = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetBaseInfoDetail', data: data }) } //更新套餐 -export const UpdateCombo = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'admin/UpdateCombo',data:data}) +export const UpdateCombo = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'admin/UpdateCombo', data: data }) } //更新缓存 -export const SaveCacheInfo = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/SaveCacheInfo',data:data}) +export const SaveCacheInfo = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/SaveCacheInfo', data: data }) } //获取套餐类型 -export const ComboTypeGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboTypeGetList',data:data}) +export const ComboTypeGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ComboTypeGetList', data: data }) } //获取套餐适用人群 -export const ComboCrowdGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboCrowdGetList',data:data}) +export const ComboCrowdGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ComboCrowdGetList', data: data }) } //获取套餐适用人群save -export const ComboCrowdSave = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboCrowdSave',data:data}) +export const ComboCrowdSave = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ComboCrowdSave', data: data }) } //获取套餐适用人群del -export const ComboCrowdDel = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboCrowdDel',data:data}) +export const ComboCrowdDel = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ComboCrowdDel', data: data }) } //获取订单列表 -export const OrderGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/OrderGetList',data:data}) +export const OrderGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/OrderGetList', data: data }) } //获取订单详情 -export const OrderGetDetail = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/OrderGetDetail',data:data}) +export const OrderGetDetail = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/OrderGetDetail', data: data }) } //保存订单信息 -export const OrderSave = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/OrderSave',data:data}) +export const OrderSave = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/OrderSave', data: data }) } //获取问答列表 -export const QuestionGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/QuestionGetList',data:data}) +export const QuestionGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/QuestionGetList', data: data }) } //保存题目 -export const QuestionSave = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/QuestionSave',data:data}) +export const QuestionSave = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/QuestionSave', data: data }) } //获取题目详情 -export const QuestionGetDetail = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/QuestionGetDetail',data:data}) +export const QuestionGetDetail = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/QuestionGetDetail', data: data }) } //删除题目 -export const QuestionDel = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/QuestionDel',data:data}) +export const QuestionDel = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/QuestionDel', data: data }) } //获取文章列表 -export const ArticleGetList = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ArticleGetList',data:data}) +export const ArticleGetList = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ArticleGetList', data: data }) } //保存文章 -export const ArticleSave = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ArticleSave',data:data}) +export const ArticleSave = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ArticleSave', data: data }) } //文章详情 -export const ArticleGetDetail = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ArticleGetDetail',data:data}) +export const ArticleGetDetail = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ArticleGetDetail', data: data }) } //删除文章 -export const ArticleGetDel = (data={}) => { - return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ArticleGetDel',data:data}) +export const ArticleGetDel = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/ArticleGetDel', data: data }) } // 问卷调查 export const QuestionCreateAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + 'v1/admin/question/create', data: data}) + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/question/create', data: data }) } export const QuestionUpdateAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + 'v1/admin/question/update', data: data}) + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/question/update', data: data }) } export const QuestionDeleteAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + 'v1/admin/question/delete', data: data}) + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/question/delete', data: data }) } export const QuestionListAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + `v1/admin/question/list?page=${data.page}`, data: data}) + return axios({ + url: import.meta.env.VITE_APP_API + `v1/admin/question/list?page=${data.page}`, + data: data + }) } export const QuestionQuestionCreateAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + 'v1/admin/questionQuestion/create', data: data}) + return axios({ + url: import.meta.env.VITE_APP_API + 'v1/admin/questionQuestion/create', + data: data + }) } export const QuestionQuestionUpdateAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + 'v1/admin/questionQuestion/update', data: data}) + return axios({ + url: import.meta.env.VITE_APP_API + 'v1/admin/questionQuestion/update', + data: data + }) } export const QuestionQuestionDeleteAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + 'v1/admin/questionQuestion/delete', data: data}) + return axios({ + url: import.meta.env.VITE_APP_API + 'v1/admin/questionQuestion/delete', + data: data + }) } export const QuestionQuestionListAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + `v1/admin/questionQuestion/list?page=${data.page}`, data: data}) + return axios({ + url: import.meta.env.VITE_APP_API + `v1/admin/questionQuestion/list?page=${data.page}`, + data: data + }) } // 题目列表[全部] export const QuestionQuestionSelectAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + `v1/admin/questionQuestion/select`, data: data}) + return axios({ + url: import.meta.env.VITE_APP_API + `v1/admin/questionQuestion/select`, + data: data + }) } export const QuestionItemCreateAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + 'v1/admin/questionItem/create', data: data}) + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/questionItem/create', data: data }) } export const QuestionItemUpdateAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + 'v1/admin/questionItem/update', data: data}) + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/questionItem/update', data: data }) } export const QuestionItemDeleteAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + 'v1/admin/questionItem/delete', data: data}) + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/questionItem/delete', data: data }) } export const QuestionItemListAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + `v1/admin/questionItem/list?page=${data.page}`, data: data}) + return axios({ + url: import.meta.env.VITE_APP_API + `v1/admin/questionItem/list?page=${data.page}`, + data: data + }) } // 问卷调查 获取 检测项目列表 export const QuestionItemItemAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + `v1/admin/questionItem/item`, data: data}) + return axios({ url: import.meta.env.VITE_APP_API + `v1/admin/questionItem/item`, data: data }) } -// 问卷调查 获取 套餐列表 +// 问卷调查 获取 套餐列表 export const QuestionItemComboAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + `v1/admin/questionItem/combo`, data: data}) + return axios({ url: import.meta.env.VITE_APP_API + `v1/admin/questionItem/combo`, data: data }) } // 项目列表[全部] export const QuestionItemSelectAction = (data = {}) => { - return axios({url: import.meta.env.VITE_APP_API + `v1/admin/questionItem/select`, data: data}) + return axios({ url: import.meta.env.VITE_APP_API + `v1/admin/questionItem/select`, data: data }) +} + +export const QuestionListCreateAction = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/questionList/create', data: data }) +} +export const QuestionListUpdateAction = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/questionList/update', data: data }) +} +export const QuestionListDeleteAction = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/questionList/delete', data: data }) +} +export const QuestionListListAction = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + `v1/admin/questionList/list`, data: data }) +} + +export const QuestionSelectAction = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + `v1/admin/question/select`, data: data }) } \ No newline at end of file diff --git a/admin/src/router/index.js b/admin/src/router/index.js index 450b334..e0a315a 100644 --- a/admin/src/router/index.js +++ b/admin/src/router/index.js @@ -190,6 +190,13 @@ const router = createRouter({ meta: { title: '问卷项目' } + },{ + path: '/Question/QuestionList', + name: 'QuestionList', + component: () => import('../views/Question/QuestionList.vue'), + meta: { + title: '健康问卷' + } },{ path: '/comboMngr/crowd', name: 'ComboMngrCrowd', diff --git a/admin/src/views/Question/Question.vue b/admin/src/views/Question/Question.vue index e1190ba..bd1af81 100644 --- a/admin/src/views/Question/Question.vue +++ b/admin/src/views/Question/Question.vue @@ -29,7 +29,7 @@ onBeforeRouteUpdate((to) => { const item_list = ref([]) const QuestionItemItem = async () => { const response = await QuestionItemItemAction({}) - if (response.status) { + if (response.status !== 'no') { item_list.value = response.data.list.map((item) => { return { ...item, @@ -43,7 +43,7 @@ const QuestionItemItem = async () => { const question_list = ref([]) const QuestionQuestionSelect = async () => { const response = await QuestionQuestionSelectAction({}) - if (response.status) { + if (response.status !== 'no') { question_list.value = response.data.list } else { ElMessage.error(response.msg) @@ -53,7 +53,7 @@ const table_list = ref([]) const last_page = ref(0) const QuestionList = async () => { const response = await QuestionListAction(page_options.value) - if (response.status) { + if (response.status !== 'no') { table_list.value = response.data.list.data.map((item) => { return { ...item, @@ -115,7 +115,7 @@ const editDoneClick = async () => { items: JSON.stringify(edit_data.value.items), questions: JSON.stringify(edit_data.value.questions), }) - if (response.status) { + if (response.status !== 'no') { edit_show.value = false await QuestionList() } else { @@ -125,7 +125,7 @@ const editDoneClick = async () => { const QuestionDelete = async (id) => { const response = await QuestionDeleteAction({id}) - if (response.status) { + if (response.status !== 'no') { await QuestionList() } else { ElMessage.error(response.msg) diff --git a/admin/src/views/Question/QuestionItem.vue b/admin/src/views/Question/QuestionItem.vue index 1fb079b..cb8f841 100644 --- a/admin/src/views/Question/QuestionItem.vue +++ b/admin/src/views/Question/QuestionItem.vue @@ -27,7 +27,7 @@ onBeforeRouteUpdate((to) => { const combo_list = ref([]) const QuestionItemCombo = async () => { const response = await QuestionItemComboAction({}) - if (response.status) { + if (response.status !== 'no') { combo_list.value = response.data.list } else { ElMessage.error(response.msg) @@ -37,7 +37,7 @@ const table_list = ref([]) const last_page = ref(0) const QuestionItemList = async () => { const response = await QuestionItemListAction(page_options.value) - if (response.status) { + if (response.status !== 'no') { table_list.value = response.data.list.data last_page.value = response.data.list.last_page } else { @@ -82,7 +82,7 @@ const editDoneClick = async () => { const response = await $func({ ...edit_data.value }) - if (response.status) { + if (response.status !== 'no') { edit_show.value = false await QuestionItemList() } else { @@ -92,7 +92,7 @@ const editDoneClick = async () => { const QuestionItemDelete = async (id) => { const response = await QuestionItemDeleteAction({ id }) - if (response.status) { + if (response.status !== 'no') { await QuestionItemList() } else { ElMessage.error(response.msg) diff --git a/admin/src/views/Question/QuestionList.vue b/admin/src/views/Question/QuestionList.vue new file mode 100644 index 0000000..119d9c9 --- /dev/null +++ b/admin/src/views/Question/QuestionList.vue @@ -0,0 +1,226 @@ + + + + diff --git a/admin/src/views/Question/QuestionQuestion.vue b/admin/src/views/Question/QuestionQuestion.vue index a976e99..858d8a7 100644 --- a/admin/src/views/Question/QuestionQuestion.vue +++ b/admin/src/views/Question/QuestionQuestion.vue @@ -4,10 +4,10 @@ * user:sa0ChunLuyu * date:2024年10月12日 16:29:26 */ -import {ref, onMounted, nextTick} from 'vue'; +import { ref, onMounted, nextTick } from 'vue' import $router from '@/router' -import {onBeforeRouteUpdate} from "vue-router"; -import {ElMessage, ElMessageBox} from 'element-plus' +import { onBeforeRouteUpdate } from 'vue-router' +import { ElMessage, ElMessageBox } from 'element-plus' import { QuestionQuestionSelectAction, QuestionItemSelectAction, @@ -19,7 +19,7 @@ import { const default_page_options = { search: '', - page: 1, + page: 1 } const page_options = ref(JSON.parse(JSON.stringify(default_page_options))) onBeforeRouteUpdate((to) => { @@ -29,7 +29,7 @@ const table_list = ref([]) const last_page = ref(0) const QuestionQuestionList = async () => { const response = await QuestionQuestionListAction(page_options.value) - if (response.status) { + if (response.status !== 'no') { table_list.value = response.data.list.data.map((item) => { return { ...item, @@ -45,7 +45,7 @@ const QuestionQuestionList = async () => { const routerChange = (query) => { page_options.value = { search: query.search || default_page_options.search, - page: Number(query.page) || default_page_options.page, + page: Number(query.page) || default_page_options.page } QuestionQuestionList() } @@ -58,9 +58,9 @@ const searchClick = (page = 1) => { } const select_option = { value: [ - {content: 'A. ', type: 'items', items: [], questions: []}, - {content: 'B. ', type: 'items', items: [], questions: []}, - {content: 'C. ', type: 'items', items: [], questions: []}, + { content: 'A. ', type: 'items', items: [], questions: [] }, + { content: 'B. ', type: 'items', items: [], questions: [] }, + { content: 'C. ', type: 'items', items: [], questions: [] } ] } const input_option = { @@ -73,8 +73,8 @@ const edit_data_default = { type: 'input', option: { input: JSON.parse(JSON.stringify(input_option)), - select: JSON.parse(JSON.stringify(select_option)), - }, + select: JSON.parse(JSON.stringify(select_option)) + } } const edit_data = ref(JSON.parse(JSON.stringify(edit_data_default))) const edit_show = ref(false) @@ -86,12 +86,13 @@ const updateClick = (row) => { edit_show.value = true } const editDoneClick = async () => { - const $func = edit_data.value.id !== 0 ? QuestionQuestionUpdateAction : QuestionQuestionCreateAction + const $func = + edit_data.value.id !== 0 ? QuestionQuestionUpdateAction : QuestionQuestionCreateAction const response = await $func({ ...edit_data.value, - option: JSON.stringify(edit_data.value.option), + option: JSON.stringify(edit_data.value.option) }) - if (response.status) { + if (response.status !== 'no') { edit_show.value = false await QuestionQuestionList() } else { @@ -100,8 +101,8 @@ const editDoneClick = async () => { } const QuestionQuestionDelete = async (id) => { - const response = await QuestionQuestionDeleteAction({id}) - if (response.status) { + const response = await QuestionQuestionDeleteAction({ id }) + if (response.status !== 'no') { await QuestionQuestionList() } else { ElMessage.error(response.msg) @@ -109,18 +110,15 @@ const QuestionQuestionDelete = async (id) => { } const deleteClick = (id) => { - ElMessageBox.confirm( - '是否确认删除该题目?', - '提示', - { - confirmButtonText: '确认', - cancelButtonText: '取消', - type: 'warning', - } - ).then(() => { - QuestionQuestionDelete(id) - }).catch(() => { + ElMessageBox.confirm('是否确认删除该题目?', '提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' }) + .then(() => { + QuestionQuestionDelete(id) + }) + .catch(() => {}) } const edit_item_data = ref({ active: 0, @@ -130,7 +128,7 @@ const edit_item_show = ref(false) const question_list = ref([]) const QuestionQuestionSelect = async () => { const response = await QuestionQuestionSelectAction() - if (response.status) { + if (response.status !== 'no') { question_list.value = response.data.list } else { ElMessage.error(response.msg) @@ -151,7 +149,9 @@ const editItemClick = async (index) => { } const editItemDoneClick = () => { const type = edit_data.value.option.select.value[edit_item_data.value.active].type - edit_data.value.option.select.value[edit_item_data.value.active][type] = JSON.parse(JSON.stringify(edit_item_data.value.items)) + edit_data.value.option.select.value[edit_item_data.value.active][type] = JSON.parse( + JSON.stringify(edit_item_data.value.items) + ) edit_item_show.value = false } const filterMethod = (query, item) => { @@ -165,7 +165,7 @@ const filterMethod = (query, item) => { const item_list = ref([]) const QuestionItemSelect = async () => { const response = await QuestionItemSelectAction() - if (response.status) { + if (response.status !== 'no') { item_list.value = response.data.list } else { ElMessage.error(response.msg) @@ -174,7 +174,9 @@ const QuestionItemSelect = async () => { const moveQuestionClick = (index, type) => { if (edit_data.value.option.select.value.length - 1 >= index + type) { const question = edit_data.value.option.select.value[index] - edit_data.value.option.select.value[index] = JSON.parse(JSON.stringify(edit_data.value.option.select.value[index + type])) + edit_data.value.option.select.value[index] = JSON.parse( + JSON.stringify(edit_data.value.option.select.value[index + type]) + ) edit_data.value.option.select.value[index + type] = JSON.parse(JSON.stringify(question)) } } @@ -182,7 +184,7 @@ const delQuestionClick = (index) => { edit_data.value.option.select.value.splice(index, 1) } const addQuestionClick = () => { - edit_data.value.option.select.value.push({content: '', type: 'items', items: [], questions: []}) + edit_data.value.option.select.value.push({ content: '', type: 'items', items: [], questions: [] }) } const question_type_map = { select: '选择题', @@ -195,19 +197,34 @@ onMounted(() => {