This commit is contained in:
parent
79334d5f9e
commit
f6543722ff
|
|
@ -0,0 +1,106 @@
|
|||
<?php
|
||||
/**
|
||||
* 商品品牌控制器
|
||||
*/
|
||||
|
||||
namespace app\admin\controller;
|
||||
|
||||
use think\Request;
|
||||
use app\common\model\GoodsBrand;
|
||||
|
||||
use app\common\validate\GoodsBrandValidate;
|
||||
|
||||
class GoodsBrandController extends Controller
|
||||
{
|
||||
|
||||
//列表
|
||||
public function index(Request $request, GoodsBrand $model)
|
||||
{
|
||||
$param = $request->param();
|
||||
$model = $model->scope('where', $param);
|
||||
|
||||
$data = $model->paginate($this->admin['per_page'], false, ['query'=>$request->get()]);
|
||||
//关键词,排序等赋值
|
||||
$this->assign($request->get());
|
||||
|
||||
$this->assign([
|
||||
'data' => $data,
|
||||
'page' => $data->render(),
|
||||
'total' => $data->total(),
|
||||
]);
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
//添加
|
||||
public function add(Request $request, GoodsBrand $model, GoodsBrandValidate $validate)
|
||||
{
|
||||
if ($request->isPost()) {
|
||||
$param = $request->param();
|
||||
$validate_result = $validate->scene('add')->check($param);
|
||||
if (!$validate_result) {
|
||||
return error($validate->getError());
|
||||
}
|
||||
|
||||
$result = $model::create($param);
|
||||
|
||||
$url = URL_BACK;
|
||||
if(isset($param['_create']) && $param['_create']==1){
|
||||
$url = URL_RELOAD;
|
||||
}
|
||||
|
||||
return $result ? success('添加成功',$url) : error();
|
||||
}
|
||||
|
||||
|
||||
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
//修改
|
||||
public function edit($id, Request $request, GoodsBrand $model, GoodsBrandValidate $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());
|
||||
}
|
||||
|
||||
$result = $data->save($param);
|
||||
return $result ? success() : error();
|
||||
}
|
||||
|
||||
$this->assign([
|
||||
'data' => $data,
|
||||
|
||||
]);
|
||||
return $this->fetch('add');
|
||||
|
||||
}
|
||||
|
||||
//删除
|
||||
public function del($id, GoodsBrand $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)->useSoftDelete('delete_time', time())->delete();
|
||||
} else {
|
||||
$result = $model->whereIn('id', $id)->delete();
|
||||
}
|
||||
|
||||
return $result ? success('操作成功', URL_RELOAD) : error();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
{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="name" class="col-sm-2 control-label">品牌名称</label>
|
||||
<div class="col-sm-10 col-md-4">
|
||||
<input id="name" name="name" value="{$data.name|default=''}" placeholder="请输入品牌名称" type="text" class="form-control field-text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="initial" class="col-sm-2 control-label">品牌首字母</label>
|
||||
<div class="col-sm-10 col-md-4">
|
||||
<select name="initial" id="initial" class="form-control field-select" data-placeholder="请选择品牌首字母">
|
||||
<option value=""></option>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('#initial').select2();
|
||||
</script>
|
||||
<div class="form-group">
|
||||
<label for="is_show" class="col-sm-2 control-label">是否显示:1-是.0-否</label>
|
||||
<div class="col-sm-10 col-md-4">
|
||||
<input class="input-switch" id="is_show" value="1" {if(!isset($data) ||$data.is_show==1)}checked{/if} type="checkbox" />
|
||||
<input class="switch field-switch" placeholder="是否显示:1-是.0-否" name="is_show" value="{$data.is_show|default='1'}" hidden />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$('#is_show').bootstrapSwitch({
|
||||
onText: "是",
|
||||
offText: "否",
|
||||
onColor: "success",
|
||||
offColor: "danger",
|
||||
onSwitchChange: function (event, state) {
|
||||
$(event.target).closest('.bootstrap-switch').next().val(state ? '1' : '0').change();
|
||||
}
|
||||
});
|
||||
</script><div class="form-group">
|
||||
<label for="sort" class="col-sm-2 control-label">排序</label>
|
||||
<div class="col-sm-10 col-md-4">
|
||||
<input id="sort" name="sort" value="{$data.sort|default='0'}" placeholder="请输入排序" type="text" class="form-control field-text">
|
||||
</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>
|
||||
/** 表单验证 **/
|
||||
$('#dataForm').validate({
|
||||
rules: {
|
||||
'name': {
|
||||
required: true,
|
||||
},
|
||||
'initial': {
|
||||
required: true,
|
||||
},
|
||||
'is_show': {
|
||||
required: true,
|
||||
},
|
||||
'sort': {
|
||||
required: true,
|
||||
},
|
||||
|
||||
},
|
||||
messages: {
|
||||
'name': {
|
||||
required: "品牌名称不能为空",
|
||||
},
|
||||
'initial': {
|
||||
required: "品牌首字母不能为空",
|
||||
},
|
||||
'is_show': {
|
||||
required: "是否显示:1-是.0-否不能为空",
|
||||
},
|
||||
'sort': {
|
||||
required: "排序不能为空",
|
||||
},
|
||||
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{/block}
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
{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">
|
||||
<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 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>品牌名称</th>
|
||||
<th>品牌首字母</th>
|
||||
<th>是否显示:1-是.0-否</th>
|
||||
<th>排序</th>
|
||||
<th>创建时间</th>
|
||||
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach name="data" item="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.name}</td>
|
||||
<td>{$item.initial}</td>
|
||||
<td>{$item.is_show_text}</td>
|
||||
<td>{$item.sort}</td>
|
||||
<td>{$item.create_time}</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>
|
||||
<small>每页显示</small>
|
||||
|
||||
<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>
|
||||
|
||||
<small>条记录</small>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/block}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue