Commit d0756d86 authored by 章建武's avatar 章建武

dpe

parent 266db402
<?php
/**
* 企业文化控制器
*/
namespace app\admin\controller;
use app\common\model\Attachment;
use think\Request;
use app\common\model\GroupCulture;
use app\common\validate\ArticleInfoValidate;
class GroupCultureController extends Controller
{
//列表
public function index(Request $request, GroupCulture $model)
{
$param = $request->param();
$model = $model->scope('where', $param);
$data = $model->where(['delete_time'=>0])->paginate($this->admin['per_page'], false, ['query' => $request->get()]);
foreach ($data as &$v){
$v['language_type'] = $v['language_type'] === 1 ? '英语' : '中文';
$v['created_at'] = $v['created_at'] ? date('Y-m-d H:i:s',$v['created_at']) : '';
}
//关键词,排序等赋值
$this->assign($request->get());
$this->assign([
'data' => $data,
'page' => $data->render(),
'total' => $data->total(),
]);
return $this->fetch();
}
//添加
public function add(Request $request, GroupCulture $model, ArticleInfoValidate $validate)
{
if ($request->isPost()) {
$param = $request->param();
$param['created_at'] = time();
$param['url'] = 'http://'.$_SERVER['SERVER_NAME'];
$validate_result = $validate->scene('add')->check($param);
if (!$validate_result) {
return error($validate->getError());
}
//处理头像上传
$attachment_avatar = new Attachment;
$file_avatar = $attachment_avatar->upload('pic_path');
if ($file_avatar) {
$param['pic_path'] = $file_avatar->url;
} else {
return error($attachment_avatar->getError());
}
if($param['type'] == 1){
$param['title'] = '时尚与城市';
}elseif($param['type'] == 2){
$param['title'] = '时尚与安全';
}else{
$param['title'] = '时尚与公益';
}
$result = $model::create($param);
$url = URL_BACK;
if (isset($param['_create']) && $param['_create'] == 1) {
$url = URL_RELOAD;
}
return $result ? success('添加成功', $url) : error();
}
// foreach($model->language_type as $k=>&$item){
// dump($item);
// }exit;
$data = $model::get(0);;
$this->assign([
'data'=> $data,
'language_type' => $model->language_type,
'type' => $model->type
]);
return $this->fetch();
}
//修改
public function edit($id, Request $request,GroupCulture $model, ArticleInfoValidate $validate)
{
$data = $model::get($id);
if ($request->isPost()) {
$param = $request->param();
$validate_result = $validate->scene('edit')->check($param);
if (!$validate_result) {
return error($validate->getError());
}
//处理头像上传
if (!empty($_FILES['pic_path']['name'])) {
$attachment_avatar = new Attachment;
$file_avatar = $attachment_avatar->upload('pic_path');
if ($file_avatar) {
$param['pic_path'] = $file_avatar->url;
}
}
if($param['type'] == 1){
$param['title'] = '时尚与城市';
}elseif($param['type'] == 2){
$param['title'] = '时尚与安全';
}else{
$param['title'] = '时尚与公益';
}
$result = $data->save($param);
return $result ? success() : error();
}
$this->assign([
'data' => $data,
'language_type' => $model->language_type,
'type' => $model->type
]);
return $this->fetch('add');
}
//删除
public function del($id, GroupCulture $model)
{
if (count($model->noDeletionId) > 0) {
if (is_array($id)) {
if (array_intersect($model->noDeletionId, $id)) {
return error('ID为' . implode(',', $model->noDeletionId) . '的数据无法删除');
}
} else if (in_array($id, $model->noDeletionId)) {
return error('ID为' . $id . '的数据无法删除');
}
}
if ($model->softDelete) {
$result = $model->whereIn('id', $id)->update(['delete_time'=>time()]);
} else {
$result = $model->whereIn('id', $id)->update(['delete_time'=>time()]);
}
return $result ? success('操作成功', URL_RELOAD) : error();
}
}
{extend name='public/base' /}
{block name='content'}
{include file='public/content_header' /}
<section class="content">
<div class="row">
<div class="col-md-12">
<div class="box box-primary">
<!-- 表单头部 -->
<div class="box-header with-border">
<div class="btn-group">
<a class="btn flat btn-sm btn-default BackButton">
<i class="fa fa-arrow-left"></i>
返回
</a>
</div>
</div>
<!-- 表单 -->
<form id="dataForm" class="form-horizontal dataForm" action="" method="post"
enctype="multipart/form-data">
<!-- 表单字段区域 -->
<div class="box-body">
<div class="form-group">
<label for="language_type" class="col-sm-2 control-label">选择语言</label>
<div class="col-sm-10 col-md-4">
<select name="language_type" id="language_type" class="form-control select2">
{foreach name='language_type' item='item' }
<option value="{$key}" {if isset($data) && $data.language_type==$key}selected{/if}>
{$item}
</option>
{/foreach}
</select>
</div>
</div>
<script>
$('#language_type').select2();
</script>
<div class="form-group">
<label for="avatar" class="col-sm-2 control-label">图片</label>
<div class="col-sm-10 col-md-4">
<input id="avatar" name="pic_path" placeholder="请上新闻图片" {if
isset($data.pic_path)}data-initial-preview="{$data.pic_path}" {/if} type="file"
class="form-control field-image" >
</div>
</div>
<script>
$('#avatar').fileinput({
language: 'zh',
overwriteInitial: true,
browseLabel: '浏览',
initialPreviewAsData: true,
dropZoneEnabled: false,
showUpload: false,
showRemove: false,
allowedFileTypes: ['image'],
maxFileSize: 10240,
});
</script>
<script>
$('#user_level_id').select2();
</script>
<div class="form-group">
<label for="type" class="col-sm-2 control-label">标题</label>
<div class="col-sm-10 col-md-4">
<select name="type" id="type" class="form-control select2">
{foreach name='type' item='item'}
<option value="{$key}" {if isset($data) &&
$data.type==$key}selected{/if}>
{$item}
</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">内容:</label>
<div class="col-sm-10" style="width: 600px;">
<script id="container" name="content" type="text/plain">
<if condition="$data">
{:html_entity_decode($data.content)}
<else/>
</if>
</script>
</div>
</div>
</div>
<!-- 表单底部 -->
<div class="box-footer">
{:token()}
<div class="col-sm-2">
</div>
<div class="col-sm-10 col-md-4">
{if !isset($data)}
<div class="btn-group pull-right">
<label class="createContinue">
<input type="checkbox" value="1" id="_create" name="_create"
title="继续添加数据">继续添加</label>
</div>
{/if}
<div class="btn-group">
<button type="submit" class="btn flat btn-info dataFormSubmit">
保存
</button>
</div>
<div class="btn-group">
<button type="reset" class="btn flat btn-default dataFormReset">
重置
</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</section>
<script>
// 实例化编辑器
UE.delEditor('container');
var ue = UE.getEditor('container');
/** 表单验证 **/
$('#dataForm').validate({
rules: {
'title': {
required: true,
},
'content': {
required: true,
},
'introduce': {
required: true,
}
},
messages: {
'user_level_id': {
required: "标题不能为空",
},
'username': {
required: "内容不能为空",
},
'mobile': {
required: "简介不能为空",
},
}
});
</script>
{/block}
\ No newline at end of file
{extend name="public/base" /}
{block name='content'}
{include file='public/content_header' /}
<!--数据列表页面-->
<section class="content">
<!--顶部搜索筛选-->
<div class="row">
<div class="col-md-12">
<div class="box">
<div class="box-body">
<form class="form-inline searchForm" id="searchForm" action="{:url('index')}" method="GET">
<div class="form-group">
<input value="{$_keywords ? $_keywords : '' ;}"
name="_keywords" id="_keywords" class="form-control input-sm"
placeholder="标题">
</div>
<div class="form-group">
<select name="_by" id="_by" class="form-control input-sm index-order">
<option value="">排序方式</option>
<option value="desc" {if isset($_by) && $_by=='desc'}selected{/if}>倒序</option>
<option value="asc" {if isset($_by) && $_by=='asc'}selected{/if}>正序</option>
</select>
</div>
<script>
$('#_order').select2();
$('#_by').select2();
</script>
<div class="form-group">
<button class="btn btn-sm btn-primary" type="submit"><i class="fa fa-search"></i> 查询
</button>
</div>
<div class="form-group">
<button onclick="clearSearchForm()" class="btn btn-sm btn-default" type="button"><i
class="fa fa-eraser"></i> 清空查询
</button>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="box">
<!--数据列表顶部-->
<div class="box-header">
<div>
<a title="添加" data-toggle="tooltip" class="btn btn-primary btn-sm " href="{:url('add')}">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-danger btn-sm AjaxButton" data-toggle="tooltip" title="删除选中数据"
data-confirm-title="删除确认" data-confirm-content="您确定要删除选中的数据吗?" data-id="checked"
data-url="{:url('del')}">
<i class="fa fa-trash"></i> 删除
</a>
<!--<a class="btn btn-success btn-sm AjaxButton" data-toggle="tooltip" title="启用选中数据"-->
<!--data-confirm-title="启用确认" data-confirm-content="您确定要启用选中的数据吗?" data-id="checked"-->
<!--data-url="{:url('enable')}">-->
<!--<i class="fa fa-circle"></i> 启用-->
<!--</a>-->
<!--<a class="btn btn-warning btn-sm AjaxButton" data-toggle="tooltip" title="禁用选中数据"-->
<!--data-confirm-title="禁用确认" data-confirm-content="您确定要禁用选中的数据吗?" data-id="checked"-->
<!--data-url="{:url('disable')}">-->
<!--<i class="fa fa-circle"></i> 禁用-->
<!--</a>-->
<a class="btn btn-success btn-sm ReloadButton" data-toggle="tooltip" title="刷新">
<i class="fa fa-refresh"></i> 刷新
</a>
</div>
</div>
<div class="box-body table-responsive">
<table class="table table-hover table-bordered datatable" width="100%">
<thead>
<tr>
<th>
<input id="dataCheckAll" type="checkbox" onclick="checkAll(this)" class="checkbox"
placeholder="全选/取消">
</th>
<th>ID</th>
<th>图片</th>
<th>标题</th>
<th>语言</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{foreach name="data" id="item"}
<tr>
<td>
<input type="checkbox" onclick="checkThis(this)" name="data-checkbox"
data-id="{$item.id}" class="checkbox data-list-check" value="{$item.id}"
placeholder="选择/取消">
</td>
<td>{$item.id}</td>
<td><img style="max-width: 40px" src="{$item.pic_path}"></td>
<td>{$item.title}</td>
<td>{$item.language_type}</td>
<td>{$item.created_at}</td>
<td class="td-do">
<a href="{:url('edit',['id'=>$item.id])}"
class="btn btn-primary btn-xs" title="修改" data-toggle="tooltip">
<i class="fa fa-pencil"></i>
</a>
<a class="btn btn-danger btn-xs AjaxButton" data-toggle="tooltip" title="删除"
data-id="{$item.id}" data-confirm-title="删除确认"
data-confirm-content='您确定要删除ID为 <span class="text-red">{$item.id}</span> 的数据吗'
data-url="{:url('del')}">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<!-- 数据列表底部 -->
<div class="box-footer">
{$page|raw}
<label class="control-label pull-right" style="margin-right: 10px; font-weight: 100;">
<small>共{$total}条记录</small>&nbsp;
<small>每页显示</small>
&nbsp;
<select class="input-sm" onchange="changePerPage(this)">
<option value="10" {if $admin.per_page==10}selected{/if}>10</option>
<option value="20" {if $admin.per_page==20}selected{/if}>20</option>
<option value="30" {if $admin.per_page==30}selected{/if}>30</option>
<option value="50" {if $admin.per_page==50}selected{/if}>50</option>
<option value="100" {if $admin.per_page==100}selected{/if}>100</option>
</select>
&nbsp;
<small>条记录</small>
</label>
</div>
</div>
</div>
</div>
</section>
{/block}
<?php
/**
* 企业文化模型
*/
namespace app\common\model;
use think\model\concern\SoftDelete;
class GroupCulture extends Model
{
use SoftDelete;
public $softDelete = true;
protected $name = 'group_culture';
protected $autoWriteTimestamp = true;
//可搜索字段
protected $searchField = ['title'];
public $language_type = [
0 => '中文',
1 => '英语'
];
public $type = [
1 => '时尚与城市',
2 => '时尚与安全',
3 => '时尚与公益',
];
}
<?php
/**
* 企业文化验证器
*/
namespace app\common\validate;
class GroupCultureValidate extends Validate
{
protected $rule = [
'content|内容' => 'require',
];
protected $message = [
'content.require' => '内容不能为空',
];
protected $scene = [
'add' => ['pic_path', 'content', 'type','language_type',],
'edit' => ['pic_path', 'content', 'type','language_type',],
];
}
<?php
namespace Moell\LayuiAdmin\Models;
use Illuminate\Database\Eloquent\Model;
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2020/3/20 0020
* Time: 10:26
*/
class GroupCulture extends Model
{
protected $table = 'group_culture';
protected $fillable = ['pic_path', 'content', 'url', 'delete_time', 'created_at','language_type','title'];
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment