生成号源 进行中

wenjuan
yanzai 1 year ago
parent b16aa7453c
commit 8b152721af

@ -0,0 +1,40 @@
<?php
namespace App\Http\Controllers\API\Admin\YeWu;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class PlanController extends Controller
{
//创建号源
public function CreatePlan()
{
$Info =request('CPlan');
$params = [
'model_id' => 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('号源类型不可用');
}
}

@ -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/PlanModelGetList','App\Http\Controllers\API\Admin\YeWu\PlanModelController@GetList');//号源模板列表
Route::post('admin/PlanModelGetDetail','App\Http\Controllers\API\Admin\YeWu\PlanModelController@GetDetail');//号源模板详情 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/PlanModelDel','App\Http\Controllers\API\Admin\YeWu\PlanModelController@Del');//号源模板删除
Route::post('admin/CreatePlan','App\Http\Controllers\API\Admin\YeWu\PlanController@CreatePlan');//生成号源
}); });

@ -151,4 +151,8 @@ export const PlanModelGetDetail = (data={}) => {
//删除号源模板 //删除号源模板
export const PlanModelDel = (data={}) => { export const PlanModelDel = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/PlanModelDel',data: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})
} }

@ -15,7 +15,7 @@
<el-table-column prop="id" label="Id" width="100" v-if="false" /> <el-table-column prop="id" label="Id" width="100" v-if="false" />
<el-table-column prop="name" label="名称" /> <el-table-column prop="name" label="名称" />
<el-table-column prop="plan_type_name" label="号源类型" /> <el-table-column prop="plan_type_name" label="号源类型" />
<el-table-column prop="" label="起止时间"> <el-table-column prop="" label="起止时间" width="140">
<template #default="scope"> <template #default="scope">
{{scope.row.start_time}} - {{scope.row.end_time}} {{scope.row.start_time}} - {{scope.row.end_time}}
</template> </template>
@ -31,10 +31,11 @@
{{scope.row.y_number.length}} {{scope.row.y_number.length}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" label="操作" width="150"> <el-table-column prop="" label="操作" width="220">
<template #default="scope"> <template #default="scope">
<el-button type="primary" @click="Edit(scope.row)" size="small">修改</el-button> <el-button type="primary" @click="Edit(scope.row)" size="small">修改</el-button>
<el-button type="danger" @click="Del(scope.row.id)" size="small">删除</el-button> <el-button type="danger" @click="Del(scope.row.id)" size="small">删除</el-button>
<el-button type="success" @click="CreatPlanClick(scope.row)" size="small">生成计划</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -52,7 +53,8 @@
<el-form-item label="起止时间"> <el-form-item label="起止时间">
<div style="display: flex;"> <div style="display: flex;">
<el-time-picker v-model="Info.TimeRange" value-format='HH:mm:00' is-range <el-time-picker v-model="Info.TimeRange" value-format='HH:mm:00' is-range
range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" @change="TimeRangeChange()"/> range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间"
@change="TimeRangeChange()" />
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="时间间隔"> <el-form-item label="时间间隔">
@ -86,6 +88,55 @@
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
<el-dialog v-model="CreatPlanDialogVisible" title="生成号源">
<div class="chuansuokuang" v-loading="loading">
<el-form :model="CPlan" label-width="150" >
<el-form-item label="名称">
<span style="font-size: 14px;font-weight: 700;">{{CPlan.name}}</span>
</el-form-item>
<el-form-item label="起止时间">
<div style="display: flex;">
<el-date-picker
v-model="CPlan.dateRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</div>
</el-form-item>
<el-form-item label="星期">
<el-checkbox v-model="CPlan.checkedAll" @change="CPanCheckAll()"></el-checkbox>
<el-checkbox-group v-model="CPlan.week">
<el-checkbox label="1">星期一</el-checkbox>
<el-checkbox label="2">星期二</el-checkbox>
<el-checkbox label="3">星期三</el-checkbox>
<el-checkbox label="4">星期四</el-checkbox>
<el-checkbox label="5">星期五</el-checkbox>
<el-checkbox label="6">星期六</el-checkbox>
<el-checkbox label="7">星期日</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="工作日生成">
<el-switch v-model="CPlan.workday_create" size="large" active-text="" inactive-text=""
:active-value="1" :inactive-value="0" />
</el-form-item>
<el-form-item label="节假日生成">
<el-switch v-model="CPlan.holiday_create" size="large" active-text="" inactive-text=""
:active-value="1" :inactive-value="0" />
</el-form-item>
</el-form>
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="CreatPlanDialogVisible = false">取消</el-button>
<el-button type="primary" @click="CreatePlans()">
确定
</el-button>
</span>
</template>
</el-dialog>
</div> </div>
</template> </template>
@ -104,7 +155,8 @@
PlanModelSave, PlanModelSave,
PlanModelGetList, PlanModelGetList,
PlanModelGetDetail, PlanModelGetDetail,
PlanModelDel PlanModelDel,
PlanCreate
} from '@/api/api.js' } from '@/api/api.js'
let loading = ref(false) let loading = ref(false)
let searchInfo = ref({}) let searchInfo = ref({})
@ -166,19 +218,19 @@
} }
const handle = (e) => { const handle = (e) => {
Info.value.interval_time = e Info.value.interval_time = e
setTimeout(() => { setTimeout(() => {
GetTimeList() GetTimeList()
}, 500) }, 500)
} }
// //
const TimeRangeChange=()=>{ const TimeRangeChange = () => {
GetTimeList() GetTimeList()
} }
// //
let timeList = ref([]) let timeList = ref([])
const GetTimeList = (type='') => { const GetTimeList = (type = '') => {
timeList.value = [] timeList.value = []
loading.value = true loading.value = true
PlanModelTimeList({ PlanModelTimeList({
@ -190,7 +242,7 @@
let time_obj = {} let time_obj = {}
res.data.list.forEach((v, i) => { res.data.list.forEach((v, i) => {
if (type=='detail' ) { // , if (type == 'detail') { // ,
if (Info.value.y_number.includes(i)) { if (Info.value.y_number.includes(i)) {
time_obj = { time_obj = {
time: v time: v
@ -202,8 +254,8 @@
} }
} }
}else{ } else {
time_obj = { time_obj = {
time: v time: v
} }
@ -264,14 +316,41 @@
} }
}) })
} }
const Del=(id)=>{ const Del = (id) => {
loading.value = true loading.value = true
PlanModelDel({ PlanModelDel({
id: id id: id
}).then(res => { }).then(res => {
loading.value = false loading.value = false
if (res.status) { 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 { } else {
ElMessage.error(res.msg) ElMessage.error(res.msg)
} }

Loading…
Cancel
Save