[更新]微调

This commit is contained in:
2021-01-18 16:58:49 +08:00
parent 393552f498
commit bbc58baca5
6 changed files with 362 additions and 312 deletions

View File

@@ -3,12 +3,14 @@
namespace App\Admin\Controllers\Article;
use App\Models\ArticlePicture;
use App\Models\Category;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
class PictureController extends AdminController
{
protected $title = '随手拍';
public function grid()
@@ -24,7 +26,7 @@ class PictureController extends AdminController
});
$grid->column('id', '#ID#');
$grid->column('cover')->display(function () {
$grid->column('cover', '图片')->display(function () {
return $this->one_picture_path;
})->image('', 100);
$grid->column('category.title', '所属分类');
@@ -40,11 +42,18 @@ class PictureController extends AdminController
$form = new Form(new ArticlePicture);
$form->text('title', '文章标题')->rules('min:2');
$form->hidden('category_id')->value(6);
$form->select('category_id', '所属分类')
->options(Category::selectOptions(function ($model) {
return $model->whereIn('type', [Category::TYPE_PICTURE]);
}, '选择分类'))
->rules('required|min:1', [
'required' => '必须选择所属分类',
'min' => '必须选择所属分类',
]);
$form->multipleImage('pictures', '封面')
->move('images/' . date('Y/m/d'))
->removable()
->uniqueName();
->move('images/' . date('Y/m/d'))
->removable()
->uniqueName();
$form->number('sort', '序号')->default(0)->rules('required', ['required' => '序号必须填写'])->help('倒序优先');

View File

@@ -16,17 +16,50 @@ class IndexController extends Controller
*/
public function index()
{
$ssp = ArticlePicture::orderBy('sort', 'desc')->take(3)->get(); //随手拍
$all_articles = Article::orderBy('sort', 'desc')->whereNotIn('category_id', [20, 21, 22])->take(7)->get(); //最新资讯
$danwei = Article::where('category_id', 15)->latest()->first(); //单位概况
$ysbj = Article::where('category_id', 12)->latest()->take(3)->get(); //养生保健
$dcyfx = Article::where('category_id', 10)->latest()->take(7)->get(); //调研与分析
$yyjcyj = Article::where('category_id', 9)->latest()->take(7)->get(); //应用基础研究
$jsyt = Article::where('category_id', 11)->latest()->take(7)->get(); //技术研讨
$kyyyy = Article::where('category_id', 12)->latest()->take(7)->get(); //科研与应用
$qkys = Article::where('category_id', 9)->latest()->take(7)->get(); //全科医学
$ssp = ArticlePicture::orderBy('sort', 'desc')->where('category_id', 6)->take(3)->get();
//随手拍
$all_articles = Article::orderBy('sort', 'desc')
->whereNotIn('category_id', [20, 21, 22])
->take(7)
->get();
//最新资讯
$danwei = Article::where('category_id', 15)
->latest()
->first();
//单位概况
$ysbj = Article::where('category_id', 12)
->latest()
->take(3)
->get();
//养生保健
$dcyfx = Article::where('category_id', 10)
->latest()
->take(7)
->get();
//调研与分析
$yyjcyj = Article::where('category_id', 9)
->latest()
->take(7)
->get();
//应用基础研究
$jsyt = Article::where('category_id', 11)
->latest()
->take(7)
->get();
//技术研讨
$kyyyy = Article::where('category_id', 12)
->latest()
->take(7)
->get();
//科研与应用
$qkys = Article::where('category_id', 13)
->latest()
->take(7)
->get();
//全科医学
$center_advert = Advert::where('category_id', 18)->first();
$qikan_advert = Advert::where('category_id', 19)->take(4)->orderBy('sort', 'desc')->get();
//期刊
$qikan_advert = ArticlePicture::latest()->take(4)->where('category_id', 23)->get();
return view('index.index', compact('ssp', 'all_articles', 'danwei', 'ysbj', 'dcyfx', 'yyjcyj', 'jsyt', 'kyyyy', 'qkys', 'center_advert', 'qikan_advert'));
}

View File

@@ -9,20 +9,21 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
class Category extends Model
{
use AdminBuilder, ModelTree;
public const TYPES = [
'article' => '文章列表',
'show' => '文章详情',
'advert' => '广告',
'picture' => '图册',
];
use AdminBuilder, ModelTree;
public const TYPE_SHOW = 'show';
public const TYPE_ARTICLE = 'article';
public const TYPE_ADVERT = 'advert';
public const TYPE_PICTURE = 'picture';
public const TYPES = [
self::TYPE_ARTICLE => '文章列表',
self::TYPE_SHOW => '文章详情',
self::TYPE_ADVERT => '广告',
self::TYPE_PICTURE => '图册',
];
/**
* 关联的数据
* @return [type] [description]
@@ -31,7 +32,7 @@ class Category extends Model
{
switch ($this->type) {
case self::TYPE_SHOW:
return $this->hasOne(Article::class,'id','article_id');
return $this->hasOne(Article::class, 'id', 'article_id');
break;
case self::TYPE_ARTICLE:
return $this->hasMany(Article::class);

View File

@@ -4,317 +4,324 @@
@section('content')
<!-- 随手拍+最新资讯 -->
<div class="ce-white ui-margin-b">
<div class="contant">
<div class="idxShoot">
<div class="idxShoot-title">
<p>随手拍</p>
<span>/ BEAT</span>
</div>
<div class="idxShoot-swiper">
<!-- Swiper -->
<div class="swiper-container gallery-top">
<div class="swiper-wrapper">
@foreach ($ssp as $element)
@foreach ($element->pictures as $picture)
<div class="swiper-slide" style="background-image:url({{ Storage::disk('public')->url($picture ) }})"></div>
@endforeach
@endforeach
</div>
<!-- Add Arrows -->
<!-- 随手拍+最新资讯 -->
<div class="ce-white ui-margin-b">
<div class="contant">
<div class="idxShoot">
<div class="idxShoot-title">
<p>随手拍</p>
<span>/ BEAT</span>
</div>
<div class="swiper-container gallery-thumbs">
<div class="swiper-wrapper">
@foreach ($ssp as $element)
@foreach ($element->pictures as $picture)
<div class="swiper-slide" style="background-image:url({{ Storage::disk('public')->url($picture ) }})"></div>
@endforeach
@endforeach
<div class="idxShoot-swiper">
<!-- Swiper -->
<div class="swiper-container gallery-top">
<div class="swiper-wrapper">
@foreach ($ssp as $element)
@foreach ($element->pictures as $picture)
<div class="swiper-slide" style="background-image:url({{ Storage::disk('public')->url($picture ) }})"></div>
@endforeach
@endforeach
</div>
<!-- Add Arrows -->
</div>
<div class="swiper-container gallery-thumbs">
<div class="swiper-wrapper">
@foreach ($ssp as $element)
@foreach ($element->pictures as $picture)
<div class="swiper-slide" style="background-image:url({{ Storage::disk('public')->url($picture ) }})"></div>
@endforeach
@endforeach
</div>
</div>
</div>
</div>
<div class="idxNews">
<div class="idxShoot-title">
<p>最新资讯</p>
<span>/ NEW</span>
</div>
<ul class="idxNews-ul">
@foreach ($all_articles as $article)
<li>
<div class="idxNews-ul-title">
<a href="{{ route('article.show', $article) }}">
<p class="ce-nowrap">{{ $article->title }}</p></a>
<span>{{ $article->created_at }}</span>
</div>
<div class="ce-nowrap-multi idxNews-ul-text">
{{ $article->description }}
</div>
</li>
@endforeach
</ul>
</div>
</div>
</div>
<!-- 单位概况 -->
<div class="contant idxSurvey">
<div class="idxShoot-title">
<div class="idxShoot-title-name">
<p>期刊简介</p>
<span>/ INTRODUCTION OF THE JOURNAL</span>
</div>
<a href="@if ($danwei) {{ route('article.show', $danwei) }} @endif">更多 &gt;</a>
</div>
<div class="idxSurveyCont">
<div class="idxSurveyCont-left">
@if ($danwei) {{ $danwei->description }} @endif
</div>
<div class="idxSurveyCont-right">
<div class="idxSurveyCont-right-img">
<img src=" @if ($danwei) {{ $danwei->cover_path }} @endif">
</div>
</div>
</div>
</div>
<div class="idxNews">
<!-- 养生保健 -->
<div class="ce-white ui-margin-t">
<div class="contant">
<div class="idxShoot-title">
<p>最新资讯</p>
<span>/ NEW</span>
<p>养生保健</p>
<span>/ HEALTH CARE</span>
</div>
<ul class="idxNews-ul">
@foreach ($all_articles as $article)
<li>
<div class="idxNews-ul-title">
<a href="{{ route('article.show', $article) }}"><p class="ce-nowrap">{{ $article->title }}</p></a>
<span>{{ $article->created_at }}</span>
</div>
<div class="ce-nowrap-multi idxNews-ul-text">
{{ $article->description }}
</div>
</li>
<ul class="idxHealthUl">
@foreach ($ysbj as $article)
<li>
<div class="ce-img idxHealthUl-img">
<span style="background-image: url( {{ $article->cover_path }} );"></span>
</div>
<div class="idxHealthUl-text">
<div class="idxHealthUl-title">{{ $article->title }}</div>
<div class="idxHealthUl-tips">
{{ $article->description }}
</div>
<a href="{{ route('article.show', $article) }}">
<div class="idxHealthUl-btn">
MORE
</div>
</a>
</div>
</li>
@endforeach
</ul>
</div>
</div>
</div>
<!-- 单位概况 -->
<div class="contant idxSurvey">
<div class="idxShoot-title">
<div class="idxShoot-title-name">
<p>期刊简介</p>
<span>/ INTRODUCTION OF THE JOURNAL</span>
<!-- 广告位 -->
<div class="idxPoster" style="background-image: url({{ $center_advert->cover_path }});"></div>
<!-- 精彩推介 -->
<div class="ce-white" style="padding: 30px 0 50px">
<div class="contant">
<div class="idxShoot-title">
<p>精彩推介</p>
<span>/ Wonderful promotion</span>
</div>
<ul class="recomdUl">
<li>
<div class="recomdUl-title">
<div class="recomdUl-title-img">
<img src="/assets/index/images/idx/idxIcon_00.png">
<span>调研与分析</span>
</div>
<img class="idxIconRow" src="/assets/index/images/idx/idxIcon_row.png">
</div>
@if ($dcyfx->isNotEmpty())
<div class="recomdUl-top">
<div class="ce-img recomdUl-top-img">
<span style="background-image: url({{ $dcyfx->first()->cover_path }});"></span>
</div>
<div class="recomdUl-top-text">
<p class="ce-nowrap">
<a href="{{ route('article.show', $dcyfx->first()) }}"> {{ $dcyfx->first()->title }}</a>
</p>
<span class="ce-nowrap-multi">{{ $dcyfx->first()->description }}</span>
</div>
</div>
<ul class="recomdUl-list">
@foreach ($dcyfx as $article)
@if ($loop->iteration>1)
<li class="ce-nowrap">
<a href="{{ route('article.show', $article) }}">
{{ $article->title }}
</a>
</li>
@endif
@endforeach
</ul>
@endif
</li>
<li>
<div class="recomdUl-title">
<div class="recomdUl-title-img">
<img src="/assets/index/images/idx/idxIcon_01.png">
<span>应用基础研究</span>
</div>
<img class="idxIconRow" src="/assets/index/images/idx/idxIcon_row.png">
</div>
@if ($yyjcyj->isNotEmpty())
<div class="recomdUl-top">
<div class="ce-img recomdUl-top-img">
<span style="background-image: url({{ $yyjcyj->first()->cover_path }});"></span>
</div>
<div class="recomdUl-top-text">
<p class="ce-nowrap">
<a href="{{ route('article.show', $yyjcyj->first()) }}"> {{ $yyjcyj->first()->title }}</a>
</p>
<span class="ce-nowrap-multi">{{ $yyjcyj->first()->description }}</span>
</div>
</div>
<ul class="recomdUl-list">
@foreach ($yyjcyj as $article)
@if ($loop->iteration>1)
<li class="ce-nowrap">
<a href="{{ route('article.show', $article) }}">
{{ $article->title }}
</a>
</li>
@endif
@endforeach
</ul>
@endif
</li>
<li>
<div class="recomdUl-title">
<div class="recomdUl-title-img">
<img src="/assets/index/images/idx/idxIcon_02.png">
<span>技术研讨</span>
</div>
<img class="idxIconRow" src="/assets/index/images/idx/idxIcon_row.png">
</div>
@if ($jsyt->isNotEmpty())
<div class="recomdUl-top">
<div class="ce-img recomdUl-top-img">
<span style="background-image: url({{ $jsyt->first()->cover_path }});"></span>
</div>
<div class="recomdUl-top-text">
<p class="ce-nowrap">
<a href="{{ route('article.show', $jsyt->first()) }}"> {{ $jsyt->first()->title }}</a>
</p>
<span class="ce-nowrap-multi">{{ $jsyt->first()->description }}</span>
</div>
</div>
<ul class="recomdUl-list">
@foreach ($jsyt as $article)
@if ($loop->iteration>1)
<li class="ce-nowrap">
<a href="{{ route('article.show', $article) }}">
{{ $article->title }}
</a>
</li>
@endif
@endforeach
</ul>
@endif
</li>
</ul>
<ul class="recomdBtom">
<li>
<div class="recomdUl-title">
<div class="recomdUl-title-img">
<img src="/assets/index/images/idx/idxIcon_03.png">
<span>科研与应用</span>
</div>
<img class="idxIconRow" src="/assets/index/images/idx/idxIcon_row.png">
</div>
@if ($kyyyy->isNotEmpty())
<ul class="recomdUl-list">
@foreach ($kyyyy as $article)
<li class="ce-nowrap">
<a href="{{ route('article.show', $article) }}">
{{ $article->title }}
</a>
</li>
@endforeach
</ul>
@endif
</li>
<li>
<div class="recomdUl-title">
<div class="recomdUl-title-img">
<img src="/assets/index/images/idx/idxIcon_03.png">
<span>全科医学</span>
</div>
<img class="idxIconRow" src="/assets/index/images/idx/idxIcon_row.png">
</div>
@if ($qkys->isNotEmpty())
<ul class="recomdUl-list">
@foreach ($qkys as $article)
<li class="ce-nowrap">
<a href="{{ route('article.show', $article) }}">
{{ $article->title }}
</a>
</li>
@endforeach
</ul>
@endif
</li>
</ul>
</div>
<a href="@if ($danwei) {{ route('article.show', $danwei) }} @endif">更多 &gt;</a>
</div>
<div class="idxSurveyCont">
<div class="idxSurveyCont-left">
@if ($danwei) {{ $danwei->description }} @endif
</div>
<div class="idxSurveyCont-right">
<div class="idxSurveyCont-right-img">
<img src=" @if ($danwei) {{ $danwei->cover_path }} @endif">
@if($qikan_advert->isNotEmpty())
<!-- 期刊 -->
<div class="idxWeekly" style="background-image: url(/assets/index/images/idx/idxWeekly_img.png);">
<div class="contant">
<div class="idxWeekly-title idxShoot-title" style="margin: 0 16px;">
<p>期刊</p>
<span>/ PERIODICAL</span>
</div>
<div class="idxWeekly-ul">
@foreach ($qikan_advert as $advert)
<div class="idxWeekly-back" style="background-image: url({{ $advert->one_picture_path }});"></div>
@endforeach
</div>
</div>
</div>
</div>
</div>
<!-- 养生保健 -->
<div class="ce-white ui-margin-t">
<div class="contant">
<div class="idxShoot-title">
<p>养生保健</p>
<span>/ HEALTH CARE</span>
</div>
<ul class="idxHealthUl">
@foreach ($ysbj as $article)
<li>
<div class="ce-img idxHealthUl-img">
<span style="background-image: url( {{ $article->cover_path }} );"></span>
</div>
<div class="idxHealthUl-text">
<div class="idxHealthUl-title">{{ $article->title }}</div>
<div class="idxHealthUl-tips">
{{ $article->description }}
</div>
<a href="{{ route('article.show', $article) }}">
<div class="idxHealthUl-btn">
MORE
</div>
</a>
</div>
</li>
@endforeach
</ul>
</div>
</div>
<!-- 广告位 -->
<div class="idxPoster" style="background-image: url({{ $center_advert->cover_path }});"></div>
<!-- 精彩推介 -->
<div class="ce-white" style="padding: 30px 0 50px">
<div class="contant">
<div class="idxShoot-title">
<p>精彩推介</p>
<span>/ Wonderful promotion</span>
</div>
<ul class="recomdUl">
<li>
<div class="recomdUl-title">
<div class="recomdUl-title-img">
<img src="/assets/index/images/idx/idxIcon_00.png">
<span>调研与分析</span>
</div>
<img class="idxIconRow" src="/assets/index/images/idx/idxIcon_row.png">
</div>
@if ($dcyfx->isNotEmpty())
<div class="recomdUl-top">
<div class="ce-img recomdUl-top-img">
<span style="background-image: url({{ $dcyfx->first()->cover_path }});"></span>
</div>
<div class="recomdUl-top-text">
<p class="ce-nowrap"><a href="{{ route('article.show', $dcyfx->first()) }}"> {{ $dcyfx->first()->title }}</a></p>
<span class="ce-nowrap-multi">{{ $dcyfx->first()->description }}</span>
</div>
</div>
<ul class="recomdUl-list">
@foreach ($dcyfx as $article)
@if ($loop->iteration>1)
<li class="ce-nowrap">
<a href="{{ route('article.show', $article) }}">
{{ $article->title }}
</a>
</li>
@endif
@endforeach
</ul>
@endif
</li>
<li>
<div class="recomdUl-title">
<div class="recomdUl-title-img">
<img src="/assets/index/images/idx/idxIcon_01.png">
<span>应用基础研究</span>
</div>
<img class="idxIconRow" src="/assets/index/images/idx/idxIcon_row.png">
</div>
@if ($yyjcyj->isNotEmpty())
<div class="recomdUl-top">
<div class="ce-img recomdUl-top-img">
<span style="background-image: url({{ $yyjcyj->first()->cover_path }});"></span>
</div>
<div class="recomdUl-top-text">
<p class="ce-nowrap"><a href="{{ route('article.show', $yyjcyj->first()) }}"> {{ $yyjcyj->first()->title }}</a></p>
<span class="ce-nowrap-multi">{{ $yyjcyj->first()->description }}</span>
</div>
</div>
<ul class="recomdUl-list">
@foreach ($yyjcyj as $article)
@if ($loop->iteration>1)
<li class="ce-nowrap">
<a href="{{ route('article.show', $article) }}">
{{ $article->title }}
</a>
</li>
@endif
@endforeach
</ul>
@endif
</li>
<li>
<div class="recomdUl-title">
<div class="recomdUl-title-img">
<img src="/assets/index/images/idx/idxIcon_02.png">
<span>技术研讨</span>
</div>
<img class="idxIconRow" src="/assets/index/images/idx/idxIcon_row.png">
</div>
@if ($jsyt->isNotEmpty())
<div class="recomdUl-top">
<div class="ce-img recomdUl-top-img">
<span style="background-image: url({{ $jsyt->first()->cover_path }});"></span>
</div>
<div class="recomdUl-top-text">
<p class="ce-nowrap"><a href="{{ route('article.show', $jsyt->first()) }}"> {{ $jsyt->first()->title }}</a></p>
<span class="ce-nowrap-multi">{{ $jsyt->first()->description }}</span>
</div>
</div>
<ul class="recomdUl-list">
@foreach ($jsyt as $article)
@if ($loop->iteration>1)
<li class="ce-nowrap">
<a href="{{ route('article.show', $article) }}">
{{ $article->title }}
</a>
</li>
@endif
@endforeach
</ul>
@endif
</li>
</ul>
<ul class="recomdBtom">
<li>
<div class="recomdUl-title">
<div class="recomdUl-title-img">
<img src="/assets/index/images/idx/idxIcon_03.png">
<span>科研与应用</span>
</div>
<img class="idxIconRow" src="/assets/index/images/idx/idxIcon_row.png">
</div>
@if ($kyyyy->isNotEmpty())
<ul class="recomdUl-list">
@foreach ($kyyyy as $article)
<li class="ce-nowrap">
<a href="{{ route('article.show', $article) }}">
{{ $article->title }}
</a>
</li>
@endforeach
</ul>
@endif
</li>
<li>
<div class="recomdUl-title">
<div class="recomdUl-title-img">
<img src="/assets/index/images/idx/idxIcon_03.png">
<span>全科医学</span>
</div>
<img class="idxIconRow" src="/assets/index/images/idx/idxIcon_row.png">
</div>
@if ($qkys->isNotEmpty())
<ul class="recomdUl-list">
@foreach ($qkys as $article)
<li class="ce-nowrap">
<a href="{{ route('article.show', $article) }}">
{{ $article->title }}
</a>
</li>
@endforeach
</ul>
@endif
</li>
</ul>
</div>
</div>
@if($qikan_advert->isNotEmpty())
<!-- 期刊 -->
<div class="idxWeekly" style="background-image: url(/assets/index/images/idx/idxWeekly_img.png);">
<div class="contant">
<div class="idxWeekly-title idxShoot-title" style="margin: 0 16px;">
<p>期刊</p>
<span>/ PERIODICAL</span>
</div>
<div class="idxWeekly-ul">
@foreach ($qikan_advert as $advert)
<div class="idxWeekly-back" style="background-image: url({{ $advert->cover_path }});"></div>
@endforeach
</div>
</div>
</div>
@endif
@endif
@endsection
@push('script')
<script>
var galleryTop = new Swiper('.gallery-top', {
spaceBetween: 10,
loop:true
});
var galleryThumbs = new Swiper('.gallery-thumbs', {
spaceBetween: 10,
slidesPerView: 3,
touchRatio: 0.2,
loop:true,
slideToClickedSlide: true
});
galleryTop.params.control = galleryThumbs;
galleryThumbs.params.control = galleryTop;
<script>
var galleryTop = new Swiper('.gallery-top', {
spaceBetween: 10,
loop: true
});
var galleryThumbs = new Swiper('.gallery-thumbs', {
spaceBetween: 10,
slidesPerView: 3,
touchRatio: 0.2,
loop: true,
slideToClickedSlide: true
});
galleryTop.params.control = galleryThumbs;
galleryThumbs.params.control = galleryTop;
// 期刊
var aswiper = new Swiper('.weekly-container', {
pagination: '.swiper-pagination',
slidesPerView: 4,
paginationClickable: true,
spaceBetween: 30,
nextButton: '.swiper-button-next',
prevButton: '.swiper-button-prev'
});
// 期刊
var aswiper = new Swiper('.weekly-container', {
pagination: '.swiper-pagination',
slidesPerView: 4,
paginationClickable: true,
spaceBetween: 30,
nextButton: '.swiper-button-next',
prevButton: '.swiper-button-prev'
});
</script>
</script>
@endpush

View File

@@ -121,8 +121,8 @@
<div class="idxFooter-tips">
<p>版权所有: 黑龙江易代文化产业有限公司&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.beian.miit.gov.cn/" style="color: #fff">黑ICP备18000348号-1</a>
</p>
<p>地址哈尔滨市嵩山路15号150090&nbsp;&nbsp;&nbsp;&nbsp;电话:0451-82316133/82321706&nbsp;&nbsp;&nbsp;&nbsp;E-Mail:
hlj16133@163.com</p>
<p>地址哈尔滨市嵩山路15号150090&nbsp;&nbsp;&nbsp;&nbsp;电话:{{ config('mobile') }}
&nbsp;&nbsp;&nbsp;&nbsp;E-Mail:{{ config('email') }}</p>
<p>印刷单位:哈尔滨市工大节能印刷厂&nbsp;&nbsp;&nbsp;&nbsp;总发行:哈尔滨市邮局&nbsp;&nbsp;&nbsp;&nbsp;订阅:全国各地邮局&nbsp;&nbsp;&nbsp;&nbsp;刊期:半月</p>
<p>广告发布登记编号哈南市监逛变字【2019】第21号</p>
</div>

View File

@@ -14,7 +14,7 @@
<p class="ccsl">联系我们 </p>
</div>
<div class="lxwmbox">
<div>黑龙江省杂志社<br/> 联系电话:82316133<br/>投稿邮箱:hlj16133@163.com</div>
<div>黑龙江省杂志社<br/> 联系电话:0451-82321706<br/>投稿邮箱:{{ config('email') }}</div>
</div>
</div>
</div>