You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

136 lines
4.4 KiB
PHP

<?php
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');
$jichu_nan = $request->post('jichu_nan');
$jichu_nv_weihun = $request->post('jichu_nv_weihun');
$jichu_nv_yihun = $request->post('jichu_nv_yihun');
$tuijian_nan = $request->post('tuijian_nan');
$tuijian_nv_weihun = $request->post('tuijian_nv_weihun');
$tuijian_nv_yihun = $request->post('tuijian_nv_yihun');
$gaoduan_nan = $request->post('gaoduan_nan');
$gaoduan_nv_weihun = $request->post('gaoduan_nv_weihun');
$gaoduan_nv_yihun = $request->post('gaoduan_nv_yihun');
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 ?? '[]',
'jichu_nan' => $jichu_nan,
'jichu_nv_yihun' => $jichu_nv_yihun,
'jichu_nv_weihun' => $jichu_nv_weihun,
'tuijian_nan' => $tuijian_nan,
'tuijian_nv_yihun' => $tuijian_nv_yihun,
'tuijian_nv_weihun' => $tuijian_nv_weihun,
'gaoduan_nan' => $gaoduan_nan,
'gaoduan_nv_yihun' => $gaoduan_nv_yihun,
'gaoduan_nv_weihun' => $gaoduan_nv_weihun,
'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');
$jichu_nan = $request->post('jichu_nan');
$jichu_nv_weihun = $request->post('jichu_nv_weihun');
$jichu_nv_yihun = $request->post('jichu_nv_yihun');
$tuijian_nan = $request->post('tuijian_nan');
$tuijian_nv_weihun = $request->post('tuijian_nv_weihun');
$tuijian_nv_yihun = $request->post('tuijian_nv_yihun');
$gaoduan_nan = $request->post('gaoduan_nan');
$gaoduan_nv_weihun = $request->post('gaoduan_nv_weihun');
$gaoduan_nv_yihun = $request->post('gaoduan_nv_yihun');
$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 ?? '[]',
'jichu_nan' => $jichu_nan,
'jichu_nv_yihun' => $jichu_nv_yihun,
'jichu_nv_weihun' => $jichu_nv_weihun,
'tuijian_nan' => $tuijian_nan,
'tuijian_nv_yihun' => $tuijian_nv_yihun,
'tuijian_nv_weihun' => $tuijian_nv_weihun,
'gaoduan_nan' => $gaoduan_nan,
'gaoduan_nv_yihun' => $gaoduan_nv_yihun,
'gaoduan_nv_weihun' => $gaoduan_nv_weihun,
'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->orderBy('id', 'desc')->paginate(20);
return \Yz::Return(true, '操作完成', [
'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
]);
}
}