diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanModelController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanModelController.php new file mode 100644 index 0000000..afc4ad5 --- /dev/null +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanModelController.php @@ -0,0 +1,109 @@ +2){ + return \Yz::echoError1('起止时间格式错误'); + } + $start_time=$TimeRange[0]; + $end_time=$TimeRange[1]; + if (count(explode(':', $start_time)) == 1) $start_time = date('H:i:s', $start_time / 1000); + if (count(explode(':', $end_time)) == 1) $end_time = date('H:i:s', $end_time / 1000); + $interval_time = request('interval_time'); + $list=$this->timeArr($start_time, $end_time, $interval_time); + return \Yz::Return(true,"查询完成",['list' =>$list]); + + + } + public function GetList() + { + $page =request('page'); + $pageSize =request('pageSize'); + $searchInfo=request('searchInfo'); + $list=DB::table('plan_model as a') + ->leftJoin('plan_type as b','a.plan_type','=','b.id') + ->select('a.*','b.name as plan_type_name') + ->where(['a.is_del'=>0]); + if(isset($searchInfo['name'])){ + $list = $list->where('a.name', 'like','%'.$searchInfo['name'].'%'); + } + if(isset($searchInfo['status'])){ + $list = $list->where('a.status',$searchInfo['status']); + } + $count=$list->count(); + if(isset($page) and isset($pageSize)){ + $list=$list->orderBy('a.id', 'desc')->limit($pageSize)->skip(($page - 1) * $pageSize)->take($pageSize); + } + $list=$list ->get(); + foreach ($list as $l){ + $l->y_number=json_decode($l->y_number,true); + } + return \Yz::Return(true,'查询完成',['list'=>$list,'count'=>$count]); + } + public function Save() + { + $Info =request('Info'); + $params = [ + 'name' => isset($Info['name']) ? $Info['name'] : null, + 'interval_time' => isset($Info['interval_time']) ? $Info['interval_time'] : null, + 'plan_type' => isset($Info['plan_type']) ? $Info['plan_type'] : null, + 'y_number' => isset($Info['y_number']) ? json_encode($Info['y_number']) : [], + 'count' => isset($Info['count']) ? $Info['count'] : 0, + 'status'=>isset($Info['status']) ? $Info['status'] : 0, + ]; + $requiredFields = ['name'=>'名称','interval_time'=>'时间间隔','plan_type'=>'号源类型']; +// 判断是否为空 + foreach ($requiredFields as $key=> $field) { + if (!isset($params[$key]) || $params[$key] === null) { + return \Yz::echoError1('参数 ' . $field . ' 不能为空'); + } + } + if(!isset($Info['TimeRange']) or count($Info['TimeRange'])<>2){ + return \Yz::echoError1('起止时间格式错误'); + } + $params['start_time']=$Info['TimeRange'][0]; + $params['end_time']=$Info['TimeRange'][1]; + $do=false; + $table=DB::table('plan_model'); + if($Info['id']==0){ + $do=$table->insert($params); + } + if($Info['id']>0){ + $do=$table->where(['id'=>$Info['id']])->update($params); + } + if($do){ + return \Yz::Return(true,'操作成功',[]); + }else{ + return \Yz::echoError1('操作失败'); + } + + } + public function GetDetail() + { + $id =request('id'); + $info=DB::table('plan_model')->where(['id'=>$id,'is_del'=>0])->first(); + if(!!$info){ + $info->TimeRange=[$info->start_time,$info->end_time]; + $info->y_number=json_decode($info->y_number,true); + return \Yz::Return(true,'查询完成',$info); + }else{ + return \Yz::echoError1('查询失败'); + } + } + function timeArr($start_time, $end_time, $interval_time, $arr = []) + { + + if (strtotime($start_time) > strtotime($end_time)) return $arr; + $arr[] = date('H:i', strtotime($start_time)); + return $this->timeArr(date('Y-m-d H:i:s', strtotime($start_time) + ($interval_time * 60)), $end_time, $interval_time, $arr); + } +} diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanTypeController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanTypeController.php index aa58bba..85c45ca 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanTypeController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanTypeController.php @@ -21,7 +21,7 @@ class PlanTypeController extends Controller 'amount_limit2' => isset($Info['amount_limit2']) ? $Info['amount_limit2'] : 0, 'status'=>isset($Info['status']) ? $Info['status'] : 0, ]; - $requiredFields = ['name'=>'姓名','is_vip'=>'vip类型','use_type'=>'个检/团检类型','checkup_type_id'=>'体检类型','status'=>'状态']; + $requiredFields = ['name'=>'名称','is_vip'=>'vip类型','use_type'=>'个检/团检类型','checkup_type_id'=>'体检类型','status'=>'状态']; // 判断是否为空 foreach ($requiredFields as $key=> $field) { if (!isset($params[$key]) || $params[$key] === null) { diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index c27c404..7bd9239 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -55,7 +55,10 @@ Route::group(['middleware'=>['checktoken','log'],'prefix'=>'v1'],function () { Route::post('admin/PlanTypeGetDetail','App\Http\Controllers\API\Admin\YeWu\PlanTypeController@GetDetail');//号源类型详情 Route::post('admin/PlanTypeDel','App\Http\Controllers\API\Admin\YeWu\PlanTypeController@Del');//号源类型详情 Route::post('admin/CheckUpTypeGetEnableList','App\Http\Controllers\API\Admin\YeWu\CheckUpTypeController@GetEnableList');//可用体检类型列表 - Route::post('admin/PlanModelTimeList','App\Http\Controllers\API\Admin\YeWu\PlanModelController@timeList');//可用体检类型列表 + Route::post('admin/PlanModelTimeList','App\Http\Controllers\API\Admin\YeWu\PlanModelController@timeList');//获取时间点列表 + Route::post('admin/PlanModelSave','App\Http\Controllers\API\Admin\YeWu\PlanModelController@Save');//保存号源模板 + Route::post('admin/PlanModelGetList','App\Http\Controllers\API\Admin\YeWu\PlanModelController@GetList');//号源模板列表 + Route::post('admin/PlanModelGetDetail','App\Http\Controllers\API\Admin\YeWu\PlanModelController@GetDetail');//号源模板详情 }); diff --git a/admin/src/api/api.js b/admin/src/api/api.js index a2e8dea..e049154 100644 --- a/admin/src/api/api.js +++ b/admin/src/api/api.js @@ -135,4 +135,16 @@ export const PlanTypeDel = (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 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}) } \ No newline at end of file diff --git a/admin/src/views/PlanMngr/PlanModel.vue b/admin/src/views/PlanMngr/PlanModel.vue new file mode 100644 index 0000000..be17065 --- /dev/null +++ b/admin/src/views/PlanMngr/PlanModel.vue @@ -0,0 +1,279 @@ + + + + + \ No newline at end of file diff --git a/admin/src/views/PlanMngr/PlanType.vue b/admin/src/views/PlanMngr/PlanType.vue index af8e790..43c4359 100644 --- a/admin/src/views/PlanMngr/PlanType.vue +++ b/admin/src/views/PlanMngr/PlanType.vue @@ -106,7 +106,7 @@ - +