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 @@
+
+
+
+
+
+
+
+
+ 查询
+ 添加
+
+
+
+
+
+
+
+
+
+ {{scope.row.start_time}} - {{scope.row.end_time}}
+
+
+
+
+ {{scope.row.interval_time}}分钟
+
+
+
+
+
+ {{scope.row.y_number.length}}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@
-
+