From 8b152721af0879960b8f9604fd68931aba7959b6 Mon Sep 17 00:00:00 2001 From: yanzai Date: Tue, 6 Aug 2024 23:39:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E5=8F=B7=E6=BA=90=20?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API/Admin/YeWu/PlanController.php | 40 +++++++ Laravel/routes/api.php | 1 + admin/src/api/api.js | 4 + admin/src/views/PlanMngr/PlanModel.vue | 103 ++++++++++++++++-- 4 files changed, 136 insertions(+), 12 deletions(-) create mode 100644 Laravel/app/Http/Controllers/API/Admin/YeWu/PlanController.php diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanController.php new file mode 100644 index 0000000..a8c9696 --- /dev/null +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanController.php @@ -0,0 +1,40 @@ + isset($Info['model_id']) ? $Info['model_id'] : null, + 'week' => isset($Info['week']) ? $Info['week'] : null, + 'workday_create' => isset($Info['workday_create']) ? $Info['workday_create'] : null, + 'holiday_create' => isset($Info['holiday_create']) ? $Info['holiday_create'] : null, + ]; + $requiredFields = ['model_id'=>'模板id','week'=>'星期','workday_create'=>'工作日是否生成','holiday_create'=>'节假日是否生成']; +// 判断是否为空 + 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('起止时间格式错误'); + } + $model=DB::table('plan_model as a')->where(['a.id'=>$params['model_id'],'a.is_del'=>0,'a.status'=>1])->first(); + if(!$model) return \Yz::echoError1('模板不可用'); + $planType=DB::table('plan_type')->where(['id'=>$model->plan_type,'a.is_del'=>0,'a.status'=>1])->first(); + if(!$planType) return \Yz::echoError1('号源类型不可用'); + + + + + } +} diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index 7700904..b67658b 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -60,6 +60,7 @@ Route::group(['middleware'=>['checktoken','log'],'prefix'=>'v1'],function () { Route::post('admin/PlanModelGetList','App\Http\Controllers\API\Admin\YeWu\PlanModelController@GetList');//号源模板列表 Route::post('admin/PlanModelGetDetail','App\Http\Controllers\API\Admin\YeWu\PlanModelController@GetDetail');//号源模板详情 Route::post('admin/PlanModelDel','App\Http\Controllers\API\Admin\YeWu\PlanModelController@Del');//号源模板删除 + Route::post('admin/CreatePlan','App\Http\Controllers\API\Admin\YeWu\PlanController@CreatePlan');//生成号源 }); diff --git a/admin/src/api/api.js b/admin/src/api/api.js index db734b8..bc18c10 100644 --- a/admin/src/api/api.js +++ b/admin/src/api/api.js @@ -151,4 +151,8 @@ export const PlanModelGetDetail = (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}) } \ No newline at end of file diff --git a/admin/src/views/PlanMngr/PlanModel.vue b/admin/src/views/PlanMngr/PlanModel.vue index aa367ac..f3e3dbf 100644 --- a/admin/src/views/PlanMngr/PlanModel.vue +++ b/admin/src/views/PlanMngr/PlanModel.vue @@ -15,7 +15,7 @@ - + @@ -31,10 +31,11 @@ {{scope.row.y_number.length}} - + @@ -52,7 +53,8 @@
+ range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" + @change="TimeRangeChange()" />
@@ -86,6 +88,55 @@ + +
+ + + {{CPlan.name}} + + +
+ + +
+
+ + 全选 + + 星期一 + 星期二 + 星期三 + 星期四 + 星期五 + 星期六 + 星期日 + + + + + + + + +
+ +
+ +
@@ -104,7 +155,8 @@ PlanModelSave, PlanModelGetList, PlanModelGetDetail, - PlanModelDel + PlanModelDel, + PlanCreate } from '@/api/api.js' let loading = ref(false) let searchInfo = ref({}) @@ -166,19 +218,19 @@ } const handle = (e) => { Info.value.interval_time = e - + setTimeout(() => { GetTimeList() }, 500) } //改变时间段选择 - const TimeRangeChange=()=>{ + const TimeRangeChange = () => { GetTimeList() } //获取时间段列表 let timeList = ref([]) - const GetTimeList = (type='') => { + const GetTimeList = (type = '') => { timeList.value = [] loading.value = true PlanModelTimeList({ @@ -190,7 +242,7 @@ let time_obj = {} res.data.list.forEach((v, i) => { - if (type=='detail' ) { //如果是 编辑模式,回显详情 + if (type == 'detail') { //如果是 编辑模式,回显详情 if (Info.value.y_number.includes(i)) { time_obj = { time: v @@ -202,8 +254,8 @@ } } - - }else{ + + } else { time_obj = { time: v } @@ -264,14 +316,41 @@ } }) } - const Del=(id)=>{ + const Del = (id) => { loading.value = true PlanModelDel({ id: id }).then(res => { loading.value = false if (res.status) { - GetList() + GetList() + } else { + ElMessage.error(res.msg) + } + }) + } + let CPlan=ref({}); + let CreatPlanDialogVisible = ref(false) + const CreatPlanClick = (row) => { + CreatPlanDialogVisible.value = true + CPlan.value.name=row.name + CPlan.value.model_id=row.id + } + const CPanCheckAll=()=>{//生成计划时全选星期 + if(CPlan.value.checkedAll){ + CPlan.value.week=['1','2','3','4','5','6','7'] + }else{ + CPlan.value.week=[] + } + } + const CreatePlans=()=>{ + loading.value = true + PlanCreate({ + CPlan: CPlan.value + }).then(res => { + loading.value = false + if (res.status) { + } else { ElMessage.error(res.msg) }