添加点播信息建设内容
This commit is contained in:
parent
4f31bd50c3
commit
27ac801b33
53
app/Http/Controllers/ProgramAppendConstructController.php
Normal file
53
app/Http/Controllers/ProgramAppendConstructController.php
Normal file
@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\ProgramAppends;
|
||||
use App\Models\Programs;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
|
||||
class ProgramAppendConstructController extends BaseController
|
||||
{
|
||||
public function construct(Request $request, Programs $program) {
|
||||
return view("program.construct.append.index", [
|
||||
"program" => $program,
|
||||
"appends" => $program->appends,
|
||||
]);
|
||||
}
|
||||
|
||||
public function add(Request $request, Programs $program) {
|
||||
return view("program.construct.append.create", [
|
||||
"program" => $program,
|
||||
"append" => new ProgramAppends()
|
||||
]);
|
||||
}
|
||||
|
||||
public function create(Request $request, Programs $program) {
|
||||
$createPayload = $request->only(["name", "from", "price", "append"]);
|
||||
$append = $program->appends()->create($createPayload);
|
||||
$append->is_original = $request->post("is_original", 0);
|
||||
$append->save();
|
||||
return redirect(route("program.construct.append.list", [
|
||||
"program"=>$program->id,
|
||||
]));
|
||||
}
|
||||
|
||||
public function edit(Request $request, Programs $program, ProgramAppends $append) {
|
||||
return view("program.construct.append.create", [
|
||||
"program" => $program,
|
||||
"append" => $append
|
||||
]);
|
||||
}
|
||||
|
||||
public function submit(Request $request, Programs $program, ProgramAppends $append) {
|
||||
$submitPayload = $request->only(["name", "from", "price", "append"]);
|
||||
$append->update($submitPayload);
|
||||
$append->is_original = $request->post("is_original", 0);
|
||||
$append->save();
|
||||
return redirect(route("program.construct.append.list", [
|
||||
"program"=>$program->id,
|
||||
]));
|
||||
}
|
||||
|
||||
}
|
@ -6,5 +6,6 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class ProgramAppends extends Model
|
||||
{
|
||||
|
||||
protected $fillable = ["name", "from", "price", "append"];
|
||||
protected $dateFormat = "U";
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ class ProgramVideos extends Model
|
||||
public function startSec(): Attribute
|
||||
{
|
||||
return Attribute::get(function ($_, $attributes) {
|
||||
if (!$attributes['start_time']) {
|
||||
if (!isset($attributes['start_time'])) {
|
||||
return "";
|
||||
}
|
||||
return Carbon::createFromFormat("H:i:s", $attributes['start_time'])->secondsSinceMidnight();
|
||||
@ -33,7 +33,7 @@ class ProgramVideos extends Model
|
||||
public function stopSec(): Attribute
|
||||
{
|
||||
return Attribute::get(function ($_, $attributes) {
|
||||
if (!$attributes['stop_time']) {
|
||||
if (!isset($attributes['stop_time'])) {
|
||||
return "";
|
||||
}
|
||||
return Carbon::createFromFormat("H:i:s", $attributes['stop_time'])->secondsSinceMidnight();
|
||||
|
@ -0,0 +1,58 @@
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>录播节目点播信息修改</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link href="{{ asset('css/app.css') }}" rel="stylesheet"/>
|
||||
</head>
|
||||
<body>
|
||||
@include("common.header")
|
||||
<form class="w-full lg:w-1/2 lg:ml-6 border-2" action="" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="id" value="{{$append->id}}">
|
||||
<input type="hidden" name="program_id" value="{{$program->id}}">
|
||||
@if($program->video_pivots->last()->stop_image)
|
||||
<label class="block my-2">
|
||||
结束图像
|
||||
<img src="{{$program->video_pivots->last()->stop_image}}" alt="结束图片">
|
||||
</label>
|
||||
@endif
|
||||
<label class="block my-2">
|
||||
追加内容(点播可不填)
|
||||
<input class="form-input border-0 border-b-2 w-full" type="text" name="name" value="{{$append->name}}">
|
||||
</label>
|
||||
<label class="block my-2">
|
||||
点播老板
|
||||
<input class="form-input border-0 border-b-2 w-full" type="text" name="from" value="{{$append->from}}">
|
||||
</label>
|
||||
<label class="block my-2">
|
||||
是否点播(不是追加)
|
||||
<input class="form-checkbox" type="checkbox" name="is_original" value="1" @if($append->is_original == 1) checked @endif>
|
||||
</label>
|
||||
<label class="block my-2">
|
||||
分
|
||||
<input class="form-input border-0 border-b-2 w-full" type="number" step="0.5" name="price" value="{{$append->price}}">
|
||||
</label>
|
||||
<label class="block my-2">
|
||||
补充说明
|
||||
<input class="form-input border-0 border-b-2 w-full" type="text" name="append" value="{{$append->append}}">
|
||||
</label>
|
||||
<div class="block my-2 text-center">
|
||||
<input class="px-6 py-2 inline-block rounded-full bg-cyan-600 text-white" type="submit">
|
||||
</div>
|
||||
<div class="block my-2">
|
||||
<a class="px-6 py-2 inline-block rounded-full bg-cyan-600 text-white" target="_blank"
|
||||
href="https://www.bilibili.com/video/{{$program->video_pivots->first()->video_bvid}}?p={{$program->video_pivots->first()->start_part}}&t={{$program->video_pivots->first()->start_sec}}"
|
||||
title="P{{$program->video_pivots->first()->start_part}}#{{$program->video_pivots->first()->start_time}}"
|
||||
>打开至开始位置</a>
|
||||
<a class="px-6 py-2 inline-block rounded-full bg-cyan-600 text-white" target="_blank"
|
||||
href="https://www.bilibili.com/video/{{$program->video_pivots->last()->video_bvid}}?p={{$program->video_pivots->last()->stop_part}}&t={{$program->video_pivots->last()->stop_sec}}"
|
||||
title="P{{$program->video_pivots->last()->stop_part}}#{{$program->video_pivots->last()->stop_time}}"
|
||||
>打开至结束位置</a>
|
||||
<a class="px-6 py-2 inline-block rounded-full bg-cyan-600 text-white"
|
||||
href="{{route('program.construct.append.list', ['program'=>$program->id])}}"
|
||||
>返回列表</a>
|
||||
</div>
|
||||
</form>
|
||||
@include("common.footer")
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,66 @@
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>录播节目点播信息维护</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link href="{{ asset('css/app.css') }}" rel="stylesheet"/>
|
||||
</head>
|
||||
<body>
|
||||
@include("common.header")
|
||||
<a href="{{route("program.construct.append.add", ["program"=>$program->id])}}">新增</a>
|
||||
<table class="table-auto border-collapse w-full lg:border lg:border-black">
|
||||
<thead>
|
||||
<tr class="border border-black sticky bg-white lg:static top-0 left-0 right-0">
|
||||
<td>老板</td>
|
||||
<td>类型</td>
|
||||
<td>要求</td>
|
||||
<td>分值</td>
|
||||
<td>补充说明</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($appends as $append)
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{route("program.construct.append.edit", ["program"=>$append->program_id, "append"=>$append->id])}}">编辑</a>
|
||||
@switch($append->platform_id)
|
||||
@case(1)
|
||||
<img class="w-4 h-4 inline-block" src="https://cdn.jerryyan.net/luboimg/bilibili.ico" alt="B站">
|
||||
<a class="underline" href="https://space.bilibili.com/{{$append->from_mid}}" target="_blank">{{$append->from}}</a>
|
||||
@break
|
||||
@case(2)
|
||||
<img class="w-4 h-4 inline-block" src="https://cdn.jerryyan.net/luboimg/ixigua.ico" alt="西瓜视频">
|
||||
<a class="underline" href="https://www.ixigua.com/home/{{$append->from_mid}}/" target="_blank">{{$append->from}}</a>
|
||||
@break
|
||||
@case(3)
|
||||
<img class="w-4 h-4 inline-block" src="https://cdn.jerryyan.net/luboimg/douyin.ico" alt="抖音">
|
||||
{{$append->from}}
|
||||
@break
|
||||
@default
|
||||
{{$append->from}}
|
||||
@break
|
||||
@endswitch
|
||||
</td>
|
||||
<td>
|
||||
@if($append->is_original)
|
||||
点播
|
||||
@else
|
||||
追加
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($append->is_original)
|
||||
点播
|
||||
@else
|
||||
{{$append->name}}
|
||||
@endif
|
||||
</td>
|
||||
<td>{{$append->price}}</td>
|
||||
<td>{{$append->append}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@include("common.footer")
|
||||
</body>
|
||||
</html>
|
@ -37,6 +37,10 @@
|
||||
class="block px-6 py-2 inline-block rounded-full bg-cyan-600 text-white">
|
||||
关联视频列表
|
||||
</a>
|
||||
<a href="{{route("program.construct.append.list", ["program"=>$program->id])}}"
|
||||
class="block px-6 py-2 inline-block rounded-full bg-cyan-600 text-white">
|
||||
关联点播老板列表
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
<div class="w-full lg:w-1/2 lg:ml-6 flex justify-between px-4">
|
||||
|
@ -16,21 +16,22 @@
|
||||
<table class="table-auto border-collapse w-full lg:border lg:border-black">
|
||||
<thead>
|
||||
<tr class="border border-black sticky bg-white lg:static top-0 left-0 right-0">
|
||||
<td>节目名称</td>
|
||||
<td>点播及追加</td>
|
||||
<td>节目开始</td>
|
||||
<td>节目结束</td>
|
||||
<th class="border border-black">节目名称</th>
|
||||
<th class="border border-black">点播及追加</th>
|
||||
<th class="border border-black">节目开始</th>
|
||||
<th class="border border-black">节目结束</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($programs as $program)
|
||||
<tr>
|
||||
<td>
|
||||
<td class="border">
|
||||
<span title="节目">{{$program->name}}</span>
|
||||
<span title="难度">{{$program->difficulty}}</span>
|
||||
<span title="要求">{{$program->desc}}</span>
|
||||
<a href="{{route("program.construct.edit", ["program"=>$program->id])}}" class="block">{{$program->created_at}}</a>
|
||||
</td>
|
||||
<td>
|
||||
<td class="border">
|
||||
@foreach($program->appends as $append)
|
||||
@if($append->is_original)
|
||||
<div>
|
||||
@ -58,7 +59,7 @@
|
||||
@endif
|
||||
</div>
|
||||
@else
|
||||
<div>
|
||||
<div class="my-2">
|
||||
@switch($append->platform_id)
|
||||
@case(1)
|
||||
<img class="w-4 h-4 inline-block" src="https://cdn.jerryyan.net/luboimg/bilibili.ico" alt="B站">
|
||||
@ -84,8 +85,11 @@
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
@if(sizeof($program->appends) === 0)
|
||||
<a href="{{route('program.construct.append.list', ['program'=>$program->id])}}">去建设</a>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<td class="border">
|
||||
@foreach($program->video_pivots as $video_pivot)
|
||||
<a
|
||||
target="_blank"
|
||||
@ -96,11 +100,12 @@
|
||||
<img width="300" src="{{$video_pivot->start_image}}" alt="开始时的画面">
|
||||
@else
|
||||
节目开始位置
|
||||
<a href="{{route('program.construct.video.edit', ['program_video'=>$video_pivot->id])}}">去建设</a>
|
||||
@endif
|
||||
</a>
|
||||
@endforeach
|
||||
</td>
|
||||
<td>
|
||||
<td class="border">
|
||||
@foreach($program->video_pivots as $video_pivot)
|
||||
@if($video_pivot->stop_part)
|
||||
<a
|
||||
@ -115,11 +120,7 @@
|
||||
@endif
|
||||
</a>
|
||||
@else
|
||||
@if($video_pivot->stop_image)
|
||||
<img width="300" src="{{$video_pivot->stop_image}}" alt="结束时的画面">
|
||||
@else
|
||||
<div>暂无</div>
|
||||
@endif
|
||||
<a href="{{route('program.construct.video.edit', ['program_video'=>$video_pivot->id])}}">去建设</a>
|
||||
@endif
|
||||
@endforeach
|
||||
</td>
|
||||
|
@ -27,6 +27,7 @@ Route::get("/programs/construct/{program}/video", ["\\App\\Http\\Controllers\\Pr
|
||||
Route::get("/programs/construct/video/{program_video}", ["\\App\\Http\\Controllers\\ProgramVideoConstructController","edit"])->name("program.construct.video.edit");
|
||||
Route::post("/programs/construct/video/{program_video}", ["\\App\\Http\\Controllers\\ProgramVideoConstructController","submit"])->name("program.construct.video.submit");
|
||||
Route::get('/programs/construct/{program}/append', ["\\App\\Http\\Controllers\\ProgramAppendConstructController","construct"])->name("program.construct.append.list");
|
||||
Route::post('/programs/construct/{program}/append', ["\\App\\Http\\Controllers\\ProgramAppendConstructController","create"])->name("program.construct.append.create");
|
||||
Route::get('/programs/construct/{program}/append/{program_append}', ["\\App\\Http\\Controllers\\ProgramAppendConstructController","edit"])->name("program.construct.append.edit");
|
||||
Route::post('/programs/construct/{program}/append/{program_append}', ["\\App\\Http\\Controllers\\ProgramAppendConstructController","submit"])->name("program.construct.append.submit");
|
||||
Route::get('/programs/construct/{program}/append/add', ["\\App\\Http\\Controllers\\ProgramAppendConstructController","add"])->name("program.construct.append.add");
|
||||
Route::post('/programs/construct/{program}/append/add', ["\\App\\Http\\Controllers\\ProgramAppendConstructController","create"])->name("program.construct.append.create");
|
||||
Route::get('/programs/construct/{program}/append/{append}', ["\\App\\Http\\Controllers\\ProgramAppendConstructController","edit"])->name("program.construct.append.edit");
|
||||
Route::post('/programs/construct/{program}/append/{append}', ["\\App\\Http\\Controllers\\ProgramAppendConstructController","submit"])->name("program.construct.append.submit");
|
||||
|
Loading…
x
Reference in New Issue
Block a user