媒体矩阵
This commit is contained in:
		
							parent
							
								
									dfa22b1804
								
							
						
					
					
						commit
						3a3696ede0
					
				
							
								
								
									
										71
									
								
								application/admin/controller/home/MediaMatrix.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								application/admin/controller/home/MediaMatrix.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,71 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace app\admin\controller\home;
 | 
			
		||||
 | 
			
		||||
use app\common\controller\Backend;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 媒体矩阵二维码
 | 
			
		||||
 *
 | 
			
		||||
 * @icon fa fa-circle-o
 | 
			
		||||
 */
 | 
			
		||||
class MediaMatrix extends Backend
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * MediaMatrix模型对象
 | 
			
		||||
     * @var \app\admin\model\home\MediaMatrix
 | 
			
		||||
     */
 | 
			
		||||
    protected $model = null;
 | 
			
		||||
 | 
			
		||||
    public function _initialize()
 | 
			
		||||
    {
 | 
			
		||||
        parent::_initialize();
 | 
			
		||||
        $this->model = new \app\admin\model\home\MediaMatrix;
 | 
			
		||||
        $this->view->assign("showtypeList", $this->model->getShowtypeList());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
 | 
			
		||||
     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
 | 
			
		||||
     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查看
 | 
			
		||||
     */
 | 
			
		||||
    public function index()
 | 
			
		||||
    {
 | 
			
		||||
        //当前是否为关联查询
 | 
			
		||||
        $this->relationSearch = true;
 | 
			
		||||
        //设置过滤方法
 | 
			
		||||
        $this->request->filter(['strip_tags', 'trim']);
 | 
			
		||||
        if ($this->request->isAjax()) {
 | 
			
		||||
            //如果发送的来源是Selectpage,则转发到Selectpage
 | 
			
		||||
            if ($this->request->request('keyField')) {
 | 
			
		||||
                return $this->selectpage();
 | 
			
		||||
            }
 | 
			
		||||
            list($where, $sort, $order, $offset, $limit) = $this->buildparams();
 | 
			
		||||
 | 
			
		||||
            $list = $this->model
 | 
			
		||||
                    ->with(['cate'])
 | 
			
		||||
                    ->where($where)
 | 
			
		||||
                    ->order($sort, $order)
 | 
			
		||||
                    ->paginate($limit);
 | 
			
		||||
 | 
			
		||||
            foreach ($list as $row) {
 | 
			
		||||
                
 | 
			
		||||
                $row->getRelation('cate')->visible(['name']);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            $result = array("total" => $list->total(), "rows" => $list->items());
 | 
			
		||||
 | 
			
		||||
            return json($result);
 | 
			
		||||
        }
 | 
			
		||||
        return $this->view->fetch();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										37
									
								
								application/admin/controller/home/MediaMatrixCate.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								application/admin/controller/home/MediaMatrixCate.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,37 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace app\admin\controller\home;
 | 
			
		||||
 | 
			
		||||
use app\common\controller\Backend;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 媒体矩阵二维码类目
 | 
			
		||||
 *
 | 
			
		||||
 * @icon fa fa-circle-o
 | 
			
		||||
 */
 | 
			
		||||
class MediaMatrixCate extends Backend
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * MediaMatrixCate模型对象
 | 
			
		||||
     * @var \app\admin\model\home\MediaMatrixCate
 | 
			
		||||
     */
 | 
			
		||||
    protected $model = null;
 | 
			
		||||
 | 
			
		||||
    public function _initialize()
 | 
			
		||||
    {
 | 
			
		||||
        parent::_initialize();
 | 
			
		||||
        $this->model = new \app\admin\model\home\MediaMatrixCate;
 | 
			
		||||
        $this->view->assign("statusList", $this->model->getStatusList());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
 | 
			
		||||
     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
 | 
			
		||||
     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										14
									
								
								application/admin/lang/zh-cn/home/media_matrix.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								application/admin/lang/zh-cn/home/media_matrix.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
    'Cate_id'        => '类目',
 | 
			
		||||
    'Showtype'       => '展示类型',
 | 
			
		||||
    'Showtype image' => '图片',
 | 
			
		||||
    'Title'          => '二维码标题',
 | 
			
		||||
    'Image'          => '展示图',
 | 
			
		||||
    'Qrimage'        => '二维码图片',
 | 
			
		||||
    'Weigh'          => '权重',
 | 
			
		||||
    'Createtime'     => '创建时间',
 | 
			
		||||
    'Deletetime'     => '删除时间',
 | 
			
		||||
    'Cate.name'      => '类目名'
 | 
			
		||||
];
 | 
			
		||||
							
								
								
									
										14
									
								
								application/admin/lang/zh-cn/home/media_matrix_cate.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								application/admin/lang/zh-cn/home/media_matrix_cate.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
    'Name'       => '类目名',
 | 
			
		||||
    'Status'     => '状态',
 | 
			
		||||
    'Status 1'   => '上架',
 | 
			
		||||
    'Set status to 1'=> '设为上架',
 | 
			
		||||
    'Status 2'   => '下架',
 | 
			
		||||
    'Set status to 2'=> '设为下架',
 | 
			
		||||
    'Weigh'      => '权重',
 | 
			
		||||
    'Createtime' => '创建时间',
 | 
			
		||||
    'Updatetime' => '修改时间',
 | 
			
		||||
    'Deletetime' => '删除时间'
 | 
			
		||||
];
 | 
			
		||||
							
								
								
									
										64
									
								
								application/admin/model/home/MediaMatrix.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								application/admin/model/home/MediaMatrix.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,64 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace app\admin\model\home;
 | 
			
		||||
 | 
			
		||||
use app\common\model\BaseModel;
 | 
			
		||||
use think\Model;
 | 
			
		||||
use traits\model\SoftDelete;
 | 
			
		||||
 | 
			
		||||
class MediaMatrix extends BaseModel
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    use SoftDelete;
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    // 表名
 | 
			
		||||
    protected $name = 'home_media_matrix';
 | 
			
		||||
    
 | 
			
		||||
    // 自动写入时间戳字段
 | 
			
		||||
    protected $autoWriteTimestamp = 'integer';
 | 
			
		||||
 | 
			
		||||
    // 定义时间戳字段名
 | 
			
		||||
    protected $createTime = 'createtime';
 | 
			
		||||
    protected $updateTime = false;
 | 
			
		||||
    protected $deleteTime = 'deletetime';
 | 
			
		||||
 | 
			
		||||
    // 追加属性
 | 
			
		||||
    protected $append = [
 | 
			
		||||
        'showtype_text'
 | 
			
		||||
    ];
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    protected static function init()
 | 
			
		||||
    {
 | 
			
		||||
        self::afterInsert(function ($row) {
 | 
			
		||||
            if (!$row['weigh']) {
 | 
			
		||||
                $pk = $row->getPk();
 | 
			
		||||
                $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    public function getShowtypeList()
 | 
			
		||||
    {
 | 
			
		||||
        return ['image' => __('Showtype image')];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public function getShowtypeTextAttr($value, $data)
 | 
			
		||||
    {
 | 
			
		||||
        $value = $value ?: ($data['showtype'] ?? '');
 | 
			
		||||
        $list = $this->getShowtypeList();
 | 
			
		||||
        return $list[$value] ?? '';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public function cate()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->belongsTo(MediaMatrixCate::class, 'cate_id', 'id', [], 'LEFT')->setEagerlyType(0);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										60
									
								
								application/admin/model/home/MediaMatrixCate.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								application/admin/model/home/MediaMatrixCate.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,60 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace app\admin\model\home;
 | 
			
		||||
 | 
			
		||||
use app\common\model\BaseModel;
 | 
			
		||||
use think\Model;
 | 
			
		||||
use traits\model\SoftDelete;
 | 
			
		||||
 | 
			
		||||
class MediaMatrixCate extends BaseModel
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    use SoftDelete;
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    // 表名
 | 
			
		||||
    protected $name = 'home_media_matrix_cate';
 | 
			
		||||
    
 | 
			
		||||
    // 自动写入时间戳字段
 | 
			
		||||
    protected $autoWriteTimestamp = 'integer';
 | 
			
		||||
 | 
			
		||||
    // 定义时间戳字段名
 | 
			
		||||
    protected $createTime = 'createtime';
 | 
			
		||||
    protected $updateTime = 'updatetime';
 | 
			
		||||
    protected $deleteTime = 'deletetime';
 | 
			
		||||
 | 
			
		||||
    // 追加属性
 | 
			
		||||
    protected $append = [
 | 
			
		||||
        'status_text'
 | 
			
		||||
    ];
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    protected static function init()
 | 
			
		||||
    {
 | 
			
		||||
        self::afterInsert(function ($row) {
 | 
			
		||||
            if (!$row['weigh']) {
 | 
			
		||||
                $pk = $row->getPk();
 | 
			
		||||
                $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    public function getStatusList()
 | 
			
		||||
    {
 | 
			
		||||
        return ['1' => __('Status 1'), '2' => __('Status 2')];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public function getStatusTextAttr($value, $data)
 | 
			
		||||
    {
 | 
			
		||||
        $value = $value ?: ($data['status'] ?? '');
 | 
			
		||||
        $list = $this->getStatusList();
 | 
			
		||||
        return $list[$value] ?? '';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										12
									
								
								application/admin/model/home/media/matrix/Cate.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								application/admin/model/home/media/matrix/Cate.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace app\admin\model\home\media\matrix;
 | 
			
		||||
 | 
			
		||||
use think\Model;
 | 
			
		||||
 | 
			
		||||
class Cate extends Model
 | 
			
		||||
{
 | 
			
		||||
    // 表名
 | 
			
		||||
    protected $name = 'home_media_matrix_cate';
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										27
									
								
								application/admin/validate/home/MediaMatrix.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								application/admin/validate/home/MediaMatrix.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace app\admin\validate\home;
 | 
			
		||||
 | 
			
		||||
use think\Validate;
 | 
			
		||||
 | 
			
		||||
class MediaMatrix extends Validate
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * 验证规则
 | 
			
		||||
     */
 | 
			
		||||
    protected $rule = [
 | 
			
		||||
    ];
 | 
			
		||||
    /**
 | 
			
		||||
     * 提示消息
 | 
			
		||||
     */
 | 
			
		||||
    protected $message = [
 | 
			
		||||
    ];
 | 
			
		||||
    /**
 | 
			
		||||
     * 验证场景
 | 
			
		||||
     */
 | 
			
		||||
    protected $scene = [
 | 
			
		||||
        'add'  => [],
 | 
			
		||||
        'edit' => [],
 | 
			
		||||
    ];
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										27
									
								
								application/admin/validate/home/MediaMatrixCate.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								application/admin/validate/home/MediaMatrixCate.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace app\admin\validate\home;
 | 
			
		||||
 | 
			
		||||
use think\Validate;
 | 
			
		||||
 | 
			
		||||
class MediaMatrixCate extends Validate
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * 验证规则
 | 
			
		||||
     */
 | 
			
		||||
    protected $rule = [
 | 
			
		||||
    ];
 | 
			
		||||
    /**
 | 
			
		||||
     * 提示消息
 | 
			
		||||
     */
 | 
			
		||||
    protected $message = [
 | 
			
		||||
    ];
 | 
			
		||||
    /**
 | 
			
		||||
     * 验证场景
 | 
			
		||||
     */
 | 
			
		||||
    protected $scene = [
 | 
			
		||||
        'add'  => [],
 | 
			
		||||
        'edit' => [],
 | 
			
		||||
    ];
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										67
									
								
								application/admin/view/home/media_matrix/add.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								application/admin/view/home/media_matrix/add.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,67 @@
 | 
			
		||||
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 | 
			
		||||
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Cate_id')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <input id="c-cate_id" data-rule="required" data-source="home/media_matrix/index" class="form-control selectpage" name="row[cate_id]" type="text" value="">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Showtype')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
                        
 | 
			
		||||
            <select  id="c-showtype" data-rule="required" class="form-control selectpicker" name="row[showtype]">
 | 
			
		||||
                {foreach name="showtypeList" item="vo"}
 | 
			
		||||
                    <option value="{$key}" {in name="key" value="image"}selected{/in}>{$vo}</option>
 | 
			
		||||
                {/foreach}
 | 
			
		||||
            </select>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <input id="c-title" data-rule="required" class="form-control" name="row[title]" type="text">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <div class="input-group">
 | 
			
		||||
                <input id="c-image" data-rule="required" class="form-control" size="50" name="row[image]" type="text">
 | 
			
		||||
                <div class="input-group-addon no-border no-padding">
 | 
			
		||||
                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
 | 
			
		||||
                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
 | 
			
		||||
                </div>
 | 
			
		||||
                <span class="msg-box n-right" for="c-image"></span>
 | 
			
		||||
            </div>
 | 
			
		||||
            <ul class="row list-inline faupload-preview" id="p-image"></ul>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Qrimage')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <div class="input-group">
 | 
			
		||||
                <input id="c-qrimage" data-rule="required" class="form-control" size="50" name="row[qrimage]" type="text">
 | 
			
		||||
                <div class="input-group-addon no-border no-padding">
 | 
			
		||||
                    <span><button type="button" id="faupload-qrimage" class="btn btn-danger faupload" data-input-id="c-qrimage" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-qrimage"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
 | 
			
		||||
                    <span><button type="button" id="fachoose-qrimage" class="btn btn-primary fachoose" data-input-id="c-qrimage" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
 | 
			
		||||
                </div>
 | 
			
		||||
                <span class="msg-box n-right" for="c-qrimage"></span>
 | 
			
		||||
            </div>
 | 
			
		||||
            <ul class="row list-inline faupload-preview" id="p-qrimage"></ul>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <input id="c-weigh" class="form-control" name="row[weigh]" type="number" value="0">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group layer-footer">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2"></label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</form>
 | 
			
		||||
							
								
								
									
										67
									
								
								application/admin/view/home/media_matrix/edit.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								application/admin/view/home/media_matrix/edit.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,67 @@
 | 
			
		||||
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 | 
			
		||||
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Cate_id')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <input id="c-cate_id" data-rule="required" data-source="home/media_matrix/index" class="form-control selectpage" name="row[cate_id]" type="text" value="{$row.cate_id|htmlentities}">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Showtype')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
                        
 | 
			
		||||
            <select  id="c-showtype" data-rule="required" class="form-control selectpicker" name="row[showtype]">
 | 
			
		||||
                {foreach name="showtypeList" item="vo"}
 | 
			
		||||
                    <option value="{$key}" {in name="key" value="$row.showtype"}selected{/in}>{$vo}</option>
 | 
			
		||||
                {/foreach}
 | 
			
		||||
            </select>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <input id="c-title" data-rule="required" class="form-control" name="row[title]" type="text" value="{$row.title|htmlentities}">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <div class="input-group">
 | 
			
		||||
                <input id="c-image" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
 | 
			
		||||
                <div class="input-group-addon no-border no-padding">
 | 
			
		||||
                    <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
 | 
			
		||||
                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
 | 
			
		||||
                </div>
 | 
			
		||||
                <span class="msg-box n-right" for="c-image"></span>
 | 
			
		||||
            </div>
 | 
			
		||||
            <ul class="row list-inline faupload-preview" id="p-image"></ul>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Qrimage')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <div class="input-group">
 | 
			
		||||
                <input id="c-qrimage" data-rule="required" class="form-control" size="50" name="row[qrimage]" type="text" value="{$row.qrimage|htmlentities}">
 | 
			
		||||
                <div class="input-group-addon no-border no-padding">
 | 
			
		||||
                    <span><button type="button" id="faupload-qrimage" class="btn btn-danger faupload" data-input-id="c-qrimage" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-qrimage"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
 | 
			
		||||
                    <span><button type="button" id="fachoose-qrimage" class="btn btn-primary fachoose" data-input-id="c-qrimage" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
 | 
			
		||||
                </div>
 | 
			
		||||
                <span class="msg-box n-right" for="c-qrimage"></span>
 | 
			
		||||
            </div>
 | 
			
		||||
            <ul class="row list-inline faupload-preview" id="p-qrimage"></ul>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <input id="c-weigh" class="form-control" name="row[weigh]" type="number" value="{$row.weigh|htmlentities}">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group layer-footer">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2"></label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</form>
 | 
			
		||||
							
								
								
									
										29
									
								
								application/admin/view/home/media_matrix/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								application/admin/view/home/media_matrix/index.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
<div class="panel panel-default panel-intro">
 | 
			
		||||
    {:build_heading()}
 | 
			
		||||
 | 
			
		||||
    <div class="panel-body">
 | 
			
		||||
        <div id="myTabContent" class="tab-content">
 | 
			
		||||
            <div class="tab-pane fade active in" id="one">
 | 
			
		||||
                <div class="widget-body no-padding">
 | 
			
		||||
                    <div id="toolbar" class="toolbar">
 | 
			
		||||
                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
 | 
			
		||||
                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('home/media_matrix/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
 | 
			
		||||
                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('home/media_matrix/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
 | 
			
		||||
                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('home/media_matrix/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
 | 
			
		||||
                        
 | 
			
		||||
 | 
			
		||||
                        
 | 
			
		||||
 | 
			
		||||
                        <a class="btn btn-success btn-recyclebin btn-dialog {:$auth->check('home/media_matrix/recyclebin')?'':'hide'}" href="home/media_matrix/recyclebin" title="{:__('Recycle bin')}"><i class="fa fa-recycle"></i> {:__('Recycle bin')}</a>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
 | 
			
		||||
                           data-operate-edit="{:$auth->check('home/media_matrix/edit')}"
 | 
			
		||||
                           data-operate-del="{:$auth->check('home/media_matrix/del')}"
 | 
			
		||||
                           width="100%">
 | 
			
		||||
                    </table>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										25
									
								
								application/admin/view/home/media_matrix/recyclebin.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								application/admin/view/home/media_matrix/recyclebin.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
			
		||||
<div class="panel panel-default panel-intro">
 | 
			
		||||
    {:build_heading()}
 | 
			
		||||
 | 
			
		||||
    <div class="panel-body">
 | 
			
		||||
        <div id="myTabContent" class="tab-content">
 | 
			
		||||
            <div class="tab-pane fade active in" id="one">
 | 
			
		||||
                <div class="widget-body no-padding">
 | 
			
		||||
                    <div id="toolbar" class="toolbar">
 | 
			
		||||
                        {:build_toolbar('refresh')}
 | 
			
		||||
                        <a class="btn btn-info btn-multi btn-disabled disabled {:$auth->check('home/media_matrix/restore')?'':'hide'}" href="javascript:;" data-url="home/media_matrix/restore" data-action="restore"><i class="fa fa-rotate-left"></i> {:__('Restore')}</a>
 | 
			
		||||
                        <a class="btn btn-danger btn-multi btn-disabled disabled {:$auth->check('home/media_matrix/destroy')?'':'hide'}" href="javascript:;" data-url="home/media_matrix/destroy" data-action="destroy"><i class="fa fa-times"></i> {:__('Destroy')}</a>
 | 
			
		||||
                        <a class="btn btn-success btn-restoreall {:$auth->check('home/media_matrix/restore')?'':'hide'}" href="javascript:;" data-url="home/media_matrix/restore" title="{:__('Restore all')}"><i class="fa fa-rotate-left"></i> {:__('Restore all')}</a>
 | 
			
		||||
                        <a class="btn btn-danger btn-destroyall {:$auth->check('home/media_matrix/destroy')?'':'hide'}" href="javascript:;" data-url="home/media_matrix/destroy" title="{:__('Destroy all')}"><i class="fa fa-times"></i> {:__('Destroy all')}</a>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <table id="table" class="table table-striped table-bordered table-hover"
 | 
			
		||||
                           data-operate-restore="{:$auth->check('home/media_matrix/restore')}"
 | 
			
		||||
                           data-operate-destroy="{:$auth->check('home/media_matrix/destroy')}"
 | 
			
		||||
                           width="100%">
 | 
			
		||||
                    </table>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										33
									
								
								application/admin/view/home/media_matrix_cate/add.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								application/admin/view/home/media_matrix_cate/add.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
			
		||||
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 | 
			
		||||
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            
 | 
			
		||||
            <div class="radio">
 | 
			
		||||
            {foreach name="statusList" item="vo"}
 | 
			
		||||
            <label for="row[status]-{$key}"><input id="row[status]-{$key}" name="row[status]" type="radio" value="{$key}" {in name="key" value="1"}checked{/in} /> {$vo}</label> 
 | 
			
		||||
            {/foreach}
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <input id="c-weigh" class="form-control" name="row[weigh]" type="number" value="0">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group layer-footer">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2"></label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</form>
 | 
			
		||||
							
								
								
									
										33
									
								
								application/admin/view/home/media_matrix_cate/edit.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								application/admin/view/home/media_matrix_cate/edit.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
			
		||||
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 | 
			
		||||
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            
 | 
			
		||||
            <div class="radio">
 | 
			
		||||
            {foreach name="statusList" item="vo"}
 | 
			
		||||
            <label for="row[status]-{$key}"><input id="row[status]-{$key}" name="row[status]" type="radio" value="{$key}" {in name="key" value="$row.status"}checked{/in} /> {$vo}</label> 
 | 
			
		||||
            {/foreach}
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <input id="c-weigh" class="form-control" name="row[weigh]" type="number" value="{$row.weigh|htmlentities}">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-group layer-footer">
 | 
			
		||||
        <label class="control-label col-xs-12 col-sm-2"></label>
 | 
			
		||||
        <div class="col-xs-12 col-sm-8">
 | 
			
		||||
            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</form>
 | 
			
		||||
							
								
								
									
										46
									
								
								application/admin/view/home/media_matrix_cate/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								application/admin/view/home/media_matrix_cate/index.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,46 @@
 | 
			
		||||
<div class="panel panel-default panel-intro">
 | 
			
		||||
    
 | 
			
		||||
    <div class="panel-heading">
 | 
			
		||||
        {:build_heading(null,FALSE)}
 | 
			
		||||
        <ul class="nav nav-tabs" data-field="status">
 | 
			
		||||
            <li class="{:$Think.get.status === null ? 'active' : ''}"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a></li>
 | 
			
		||||
            {foreach name="statusList" item="vo"}
 | 
			
		||||
            <li class="{:$Think.get.status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
 | 
			
		||||
            {/foreach}
 | 
			
		||||
        </ul>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <div class="panel-body">
 | 
			
		||||
        <div id="myTabContent" class="tab-content">
 | 
			
		||||
            <div class="tab-pane fade active in" id="one">
 | 
			
		||||
                <div class="widget-body no-padding">
 | 
			
		||||
                    <div id="toolbar" class="toolbar">
 | 
			
		||||
                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
 | 
			
		||||
                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('home/media_matrix_cate/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
 | 
			
		||||
                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('home/media_matrix_cate/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
 | 
			
		||||
                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('home/media_matrix_cate/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
 | 
			
		||||
                        
 | 
			
		||||
 | 
			
		||||
                        <div class="dropdown btn-group {:$auth->check('home/media_matrix_cate/multi')?'':'hide'}">
 | 
			
		||||
                            <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
 | 
			
		||||
                            <ul class="dropdown-menu text-left" role="menu">
 | 
			
		||||
                                {foreach name="statusList" item="vo"}
 | 
			
		||||
                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:" data-params="status={$key}">{:__('Set status to ' . $key)}</a></li>
 | 
			
		||||
                                {/foreach}
 | 
			
		||||
                            </ul>
 | 
			
		||||
                        </div>
 | 
			
		||||
 | 
			
		||||
                        <a class="btn btn-success btn-recyclebin btn-dialog {:$auth->check('home/media_matrix_cate/recyclebin')?'':'hide'}" href="home/media_matrix_cate/recyclebin" title="{:__('Recycle bin')}"><i class="fa fa-recycle"></i> {:__('Recycle bin')}</a>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
 | 
			
		||||
                           data-operate-edit="{:$auth->check('home/media_matrix_cate/edit')}"
 | 
			
		||||
                           data-operate-del="{:$auth->check('home/media_matrix_cate/del')}"
 | 
			
		||||
                           width="100%">
 | 
			
		||||
                    </table>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
@ -0,0 +1,25 @@
 | 
			
		||||
<div class="panel panel-default panel-intro">
 | 
			
		||||
    {:build_heading()}
 | 
			
		||||
 | 
			
		||||
    <div class="panel-body">
 | 
			
		||||
        <div id="myTabContent" class="tab-content">
 | 
			
		||||
            <div class="tab-pane fade active in" id="one">
 | 
			
		||||
                <div class="widget-body no-padding">
 | 
			
		||||
                    <div id="toolbar" class="toolbar">
 | 
			
		||||
                        {:build_toolbar('refresh')}
 | 
			
		||||
                        <a class="btn btn-info btn-multi btn-disabled disabled {:$auth->check('home/media_matrix_cate/restore')?'':'hide'}" href="javascript:;" data-url="home/media_matrix_cate/restore" data-action="restore"><i class="fa fa-rotate-left"></i> {:__('Restore')}</a>
 | 
			
		||||
                        <a class="btn btn-danger btn-multi btn-disabled disabled {:$auth->check('home/media_matrix_cate/destroy')?'':'hide'}" href="javascript:;" data-url="home/media_matrix_cate/destroy" data-action="destroy"><i class="fa fa-times"></i> {:__('Destroy')}</a>
 | 
			
		||||
                        <a class="btn btn-success btn-restoreall {:$auth->check('home/media_matrix_cate/restore')?'':'hide'}" href="javascript:;" data-url="home/media_matrix_cate/restore" title="{:__('Restore all')}"><i class="fa fa-rotate-left"></i> {:__('Restore all')}</a>
 | 
			
		||||
                        <a class="btn btn-danger btn-destroyall {:$auth->check('home/media_matrix_cate/destroy')?'':'hide'}" href="javascript:;" data-url="home/media_matrix_cate/destroy" title="{:__('Destroy all')}"><i class="fa fa-times"></i> {:__('Destroy all')}</a>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <table id="table" class="table table-striped table-bordered table-hover"
 | 
			
		||||
                           data-operate-restore="{:$auth->check('home/media_matrix_cate/restore')}"
 | 
			
		||||
                           data-operate-destroy="{:$auth->check('home/media_matrix_cate/destroy')}"
 | 
			
		||||
                           width="100%">
 | 
			
		||||
                    </table>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										110
									
								
								application/api/controller/home/MediaMatrix.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								application/api/controller/home/MediaMatrix.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,110 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace app\api\controller\home;
 | 
			
		||||
 | 
			
		||||
use app\common\model\home\MediaMatrix as MediaMatrixModel;
 | 
			
		||||
use app\common\model\home\MediaMatrixCate;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 媒体矩阵接口
 | 
			
		||||
 */
 | 
			
		||||
class MediaMatrix extends Base
 | 
			
		||||
{
 | 
			
		||||
    protected $noNeedLogin = ['*'];
 | 
			
		||||
    protected $noNeedRight = ['*'];
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @var \app\common\model\home\MediaMatrix
 | 
			
		||||
     */
 | 
			
		||||
    protected $model = null;
 | 
			
		||||
 | 
			
		||||
    public function _initialize()
 | 
			
		||||
    {
 | 
			
		||||
        parent::_initialize();
 | 
			
		||||
        $this->model = new MediaMatrixModel;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @ApiTitle(分类)
 | 
			
		||||
     * @ApiSummary(分类)
 | 
			
		||||
     * @ApiMethod(GET)
 | 
			
		||||
     * @ApiParams(name = "page", type = "string",required=true,description = "页数")
 | 
			
		||||
     * @ApiParams(name = "limit", type = "string",required=true,description = "条数")
 | 
			
		||||
     * @ApiReturn({
 | 
			
		||||
     *
 | 
			
		||||
     *})
 | 
			
		||||
     */
 | 
			
		||||
    public function cate()
 | 
			
		||||
    {
 | 
			
		||||
        $user_id = 0;
 | 
			
		||||
        $user = $this->auth->getUser();//登录用户
 | 
			
		||||
        if($user)$user_id = $user['id'];
 | 
			
		||||
        $params=[];
 | 
			
		||||
        $page      =  $this->request->param('page/d', 1); //页数
 | 
			
		||||
        $limit   =  $this->request->param('limit/d', 100); //条数
 | 
			
		||||
 | 
			
		||||
//        $params["flag"]  =  $this->request->param('flag/s', ''); //搜索关键字
 | 
			
		||||
//        $params["hot"]  =  $this->request->param('hot/s', ''); //搜索关键字
 | 
			
		||||
//        $params["home"]  =  $this->request->param('home/s', ''); //搜索关键字
 | 
			
		||||
//        $params["isnews"]  =  $this->request->param('isnews/s', ''); //搜索关键字
 | 
			
		||||
 | 
			
		||||
        try{
 | 
			
		||||
            //当前申请状态
 | 
			
		||||
            $res =  MediaMatrixCate::allList($page, $limit,$params);
 | 
			
		||||
 | 
			
		||||
        }catch (\Exception $e){
 | 
			
		||||
 | 
			
		||||
            $this->error($e->getMessage());
 | 
			
		||||
        }
 | 
			
		||||
        $this->success('查询成功', $res);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @ApiTitle( 媒体矩阵列表)
 | 
			
		||||
     * @ApiSummary(媒体矩阵列表)
 | 
			
		||||
     * @ApiMethod(GET)
 | 
			
		||||
     * @ApiParams(name = "keywords", type = "string",required=false,description = "搜索关键字")
 | 
			
		||||
     * @ApiParams(name = "page", type = "string",required=true,description = "页数")
 | 
			
		||||
     * @ApiParams(name = "limit", type = "string",required=true,description = "条数")
 | 
			
		||||
     * @ApiReturn({
 | 
			
		||||
     *
 | 
			
		||||
     *})
 | 
			
		||||
     */
 | 
			
		||||
    public function index()
 | 
			
		||||
    {
 | 
			
		||||
        $user_id = 0;
 | 
			
		||||
        $user = $this->auth->getUser();//登录用户
 | 
			
		||||
        if($user)$user_id = $user['id'];
 | 
			
		||||
        $page  =  $this->request->param('page/d', 0); //页数
 | 
			
		||||
        $limit =  $this->request->param('limit/d', 0); //条数
 | 
			
		||||
        $keywords =  $this->request->param('keywords/s', ''); //搜索关键字
 | 
			
		||||
//        $recommend =  $this->request->param('recommend/s', ''); //搜索关键字
 | 
			
		||||
        $params =[];
 | 
			
		||||
        $cate_id =  $this->request->param('cate_id/s', ''); //搜索关键字
 | 
			
		||||
//        $params["flag"]  =  $this->request->get('flag/s', ''); //搜索关键字
 | 
			
		||||
//        $params["hot"]  =  $this->request->get('hot/s', ''); //搜索关键字
 | 
			
		||||
//        $params["fine"]  =  $this->request->get('fine/s', ''); //搜索关键字
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//        $type =  $this->request->get('type/s', ''); //筛选学员和教练单
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        try{
 | 
			
		||||
            //当前申请状态
 | 
			
		||||
            $res = $this->model::allList($page, $limit,$keywords,$cate_id,$params);
 | 
			
		||||
//             var_dump($this->model->getLastSql());
 | 
			
		||||
        }catch (\Exception $e){
 | 
			
		||||
 | 
			
		||||
            $this->error($e->getMessage());
 | 
			
		||||
        }
 | 
			
		||||
        $this->success('查询成功', $res);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										170
									
								
								application/common/model/home/MediaMatrix.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										170
									
								
								application/common/model/home/MediaMatrix.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,170 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace app\common\model\home;
 | 
			
		||||
 | 
			
		||||
use app\common\model\BaseModel;
 | 
			
		||||
use think\Model;
 | 
			
		||||
use traits\model\SoftDelete;
 | 
			
		||||
 | 
			
		||||
class MediaMatrix extends BaseModel
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    use SoftDelete;
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    // 表名
 | 
			
		||||
    protected $name = 'home_media_matrix';
 | 
			
		||||
    
 | 
			
		||||
    // 自动写入时间戳字段
 | 
			
		||||
    protected $autoWriteTimestamp = 'integer';
 | 
			
		||||
 | 
			
		||||
    // 定义时间戳字段名
 | 
			
		||||
    protected $createTime = 'createtime';
 | 
			
		||||
    protected $updateTime = false;
 | 
			
		||||
    protected $deleteTime = 'deletetime';
 | 
			
		||||
 | 
			
		||||
    // 追加属性
 | 
			
		||||
    protected $append = [
 | 
			
		||||
        'showtype_text'
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public function getImageAttr($value, $data)
 | 
			
		||||
    {
 | 
			
		||||
        if (!empty($value)) return cdnurl($value, true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public function getQrimageAttr($value, $data)
 | 
			
		||||
    {
 | 
			
		||||
        if (!empty($value)) return cdnurl($value, true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    protected static function init()
 | 
			
		||||
    {
 | 
			
		||||
        self::afterInsert(function ($row) {
 | 
			
		||||
            if (!$row['weigh']) {
 | 
			
		||||
                $pk = $row->getPk();
 | 
			
		||||
                $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    public function getShowtypeList()
 | 
			
		||||
    {
 | 
			
		||||
        return ['image' => __('Showtype image')];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public function getShowtypeTextAttr($value, $data)
 | 
			
		||||
    {
 | 
			
		||||
        $value = $value ?: ($data['showtype'] ?? '');
 | 
			
		||||
        $list = $this->getShowtypeList();
 | 
			
		||||
        return $list[$value] ?? '';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public function cate()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->belongsTo(MediaMatrixCate::class, 'cate_id', 'id', [], 'LEFT')->setEagerlyType(0);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**得到基础条件
 | 
			
		||||
     * @param $status
 | 
			
		||||
     * @param null $model
 | 
			
		||||
     * @param string $alisa
 | 
			
		||||
     */
 | 
			
		||||
    public static function getBaseWhere($whereData = [], $model = null, $alisa = '',$with = false)
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        if (!$model) {
 | 
			
		||||
            $model = new static;
 | 
			
		||||
            if ($alisa&&!$with) $model = $model->alias($alisa);
 | 
			
		||||
        }
 | 
			
		||||
        if ($alisa) $alisa = $alisa . '.';
 | 
			
		||||
        $tableFields = (new static)->getTableFields();
 | 
			
		||||
        foreach ($tableFields as $fields)
 | 
			
		||||
        {
 | 
			
		||||
            if(in_array($fields, ['cate_id']))continue;
 | 
			
		||||
//            if (isset($whereData[$fields]) && $whereData[$fields]) $model = $model->where("{$alisa}{$fields}", '=', $whereData[$fields]);
 | 
			
		||||
 | 
			
		||||
            if (isset($whereData[$fields]) && $whereData[$fields]){
 | 
			
		||||
                if(is_array($whereData[$fields])){
 | 
			
		||||
                    $model = $model->where("{$alisa}{$fields}", $whereData[$fields][0], $whereData[$fields][1]);
 | 
			
		||||
                }else{
 | 
			
		||||
                    $model = $model->where("{$alisa}{$fields}", '=', $whereData[$fields]);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        if (isset($whereData['keywords'])&&$whereData['keywords']){
 | 
			
		||||
            $model = $model->where("{$alisa}title", 'LIKE', "%{$whereData['keywords']}%" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        if (isset($whereData['cate_id'])&&$whereData['cate_id']){
 | 
			
		||||
            $model = $model->where("{$alisa}cate_id", 'in', $whereData['cate_id'] );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        if (isset($whereData['time'])&&$whereData['time']){
 | 
			
		||||
 | 
			
		||||
            $model = $model->time(["{$alisa}release_time",$whereData['time']]);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
//        if (isset($whereData['has_evaluate'])&&$whereData['has_evaluate']){
 | 
			
		||||
//            //1查已评价 2查未评价
 | 
			
		||||
//            if($whereData['has_evaluate'] == 1){
 | 
			
		||||
//                //1查已评价
 | 
			
		||||
//                $model = $model->where("{$alisa}classes_evaluate_id", '<>', 0);
 | 
			
		||||
//            }else{
 | 
			
		||||
//                //2查未评价
 | 
			
		||||
//                $model = $model->whereExists(function ($query) use ($alisa) {
 | 
			
		||||
//                    $order_table_name = (new \app\common\model\school\classes\hourorder\Order())->getQuery()->getTable();
 | 
			
		||||
//                    $query->table($order_table_name)->where($order_table_name . '.classes_order_id=' . $alisa . 'id')->where('status', '=', '3');
 | 
			
		||||
//                })->where("{$alisa}classes_evaluate_id", '=', 0);
 | 
			
		||||
//
 | 
			
		||||
//            }
 | 
			
		||||
//        }
 | 
			
		||||
 | 
			
		||||
        return $model;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public static function allList($page, $limit,$keywords,$cate_id=[],$params=[]){
 | 
			
		||||
        $with_field = [
 | 
			
		||||
            'cate'=>['name'],
 | 
			
		||||
            'base'=>['*'],
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        $alisa = (new self)->getWithAlisaName();
 | 
			
		||||
        $sort = "{$alisa}.weigh desc,{$alisa}.id desc";
 | 
			
		||||
        $serch_where = ['cate_id'=>$cate_id,'keywords'=>$keywords];
 | 
			
		||||
 | 
			
		||||
        return (new self)->getBaseList(array_merge($serch_where,$params), $page, $limit,$sort,$with_field);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										141
									
								
								application/common/model/home/MediaMatrixCate.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								application/common/model/home/MediaMatrixCate.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,141 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace app\common\model\home;
 | 
			
		||||
 | 
			
		||||
use app\common\model\BaseModel;
 | 
			
		||||
use think\Model;
 | 
			
		||||
use traits\model\SoftDelete;
 | 
			
		||||
 | 
			
		||||
class MediaMatrixCate extends BaseModel
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    use SoftDelete;
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    // 表名
 | 
			
		||||
    protected $name = 'home_media_matrix_cate';
 | 
			
		||||
    
 | 
			
		||||
    // 自动写入时间戳字段
 | 
			
		||||
    protected $autoWriteTimestamp = 'integer';
 | 
			
		||||
 | 
			
		||||
    // 定义时间戳字段名
 | 
			
		||||
    protected $createTime = 'createtime';
 | 
			
		||||
    protected $updateTime = 'updatetime';
 | 
			
		||||
    protected $deleteTime = 'deletetime';
 | 
			
		||||
 | 
			
		||||
    // 追加属性
 | 
			
		||||
    protected $append = [
 | 
			
		||||
        'status_text'
 | 
			
		||||
    ];
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    protected static function init()
 | 
			
		||||
    {
 | 
			
		||||
        self::afterInsert(function ($row) {
 | 
			
		||||
            if (!$row['weigh']) {
 | 
			
		||||
                $pk = $row->getPk();
 | 
			
		||||
                $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    public function getStatusList()
 | 
			
		||||
    {
 | 
			
		||||
        return ['1' => __('Status 1'), '2' => __('Status 2')];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public function getStatusTextAttr($value, $data)
 | 
			
		||||
    {
 | 
			
		||||
        $value = $value ?: ($data['status'] ?? '');
 | 
			
		||||
        $list = $this->getStatusList();
 | 
			
		||||
        return $list[$value] ?? '';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**得到基础条件
 | 
			
		||||
     * @param $status
 | 
			
		||||
     * @param null $model
 | 
			
		||||
     * @param string $alisa
 | 
			
		||||
     */
 | 
			
		||||
    public static function getBaseWhere($whereData = [], $model = null, $alisa = '',$with = false)
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        if (!$model) {
 | 
			
		||||
            $model = new static;
 | 
			
		||||
            if ($alisa&&!$with) $model = $model->alias($alisa);
 | 
			
		||||
        }
 | 
			
		||||
        if ($alisa) $alisa = $alisa . '.';
 | 
			
		||||
        $tableFields = (new static)->getTableFields();
 | 
			
		||||
        foreach ($tableFields as $fields)
 | 
			
		||||
        {
 | 
			
		||||
            if(in_array($fields, []))continue;
 | 
			
		||||
//            if (isset($whereData[$fields]) && $whereData[$fields]) $model = $model->where("{$alisa}{$fields}", '=', $whereData[$fields]);
 | 
			
		||||
 | 
			
		||||
            if (isset($whereData[$fields]) && $whereData[$fields]){
 | 
			
		||||
                if(is_array($whereData[$fields])){
 | 
			
		||||
                    $model = $model->where("{$alisa}{$fields}", $whereData[$fields][0], $whereData[$fields][1]);
 | 
			
		||||
                }else{
 | 
			
		||||
                    $model = $model->where("{$alisa}{$fields}", '=', $whereData[$fields]);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        if (isset($whereData['keywords'])&&$whereData['keywords']){
 | 
			
		||||
            $model = $model->where("{$alisa}name", 'LIKE', "%{$whereData['keywords']}%" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        if (isset($whereData['time'])&&$whereData['time']){
 | 
			
		||||
 | 
			
		||||
            $model = $model->time(["{$alisa}createtime",$whereData['time']]);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
//        if (isset($whereData['has_evaluate'])&&$whereData['has_evaluate']){
 | 
			
		||||
//            //1查已评价 2查未评价
 | 
			
		||||
//            if($whereData['has_evaluate'] == 1){
 | 
			
		||||
//                //1查已评价
 | 
			
		||||
//                $model = $model->where("{$alisa}classes_evaluate_id", '<>', 0);
 | 
			
		||||
//            }else{
 | 
			
		||||
//                //2查未评价
 | 
			
		||||
//                $model = $model->whereExists(function ($query) use ($alisa) {
 | 
			
		||||
//                    $order_table_name = (new \app\common\model\school\classes\hourorder\Order())->getQuery()->getTable();
 | 
			
		||||
//                    $query->table($order_table_name)->where($order_table_name . '.classes_order_id=' . $alisa . 'id')->where('status', '=', '3');
 | 
			
		||||
//                })->where("{$alisa}classes_evaluate_id", '=', 0);
 | 
			
		||||
//
 | 
			
		||||
//            }
 | 
			
		||||
//        }
 | 
			
		||||
 | 
			
		||||
        return $model;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public static function allList($page, $limit,$params=[]){
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        $sort = "weigh desc,id desc";
 | 
			
		||||
        if(!empty($params['status'])){
 | 
			
		||||
            $params['status'] = '1';
 | 
			
		||||
        }
 | 
			
		||||
        return (new self)->getBaseList($params, $page, $limit,$sort);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										119
									
								
								public/assets/js/backend/home/media_matrix.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										119
									
								
								public/assets/js/backend/home/media_matrix.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,119 @@
 | 
			
		||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
 | 
			
		||||
 | 
			
		||||
    var Controller = {
 | 
			
		||||
        index: function () {
 | 
			
		||||
            // 初始化表格参数配置
 | 
			
		||||
            Table.api.init({
 | 
			
		||||
                extend: {
 | 
			
		||||
                    index_url: 'home/media_matrix/index' + location.search,
 | 
			
		||||
                    add_url: 'home/media_matrix/add',
 | 
			
		||||
                    edit_url: 'home/media_matrix/edit',
 | 
			
		||||
                    del_url: 'home/media_matrix/del',
 | 
			
		||||
                    multi_url: 'home/media_matrix/multi',
 | 
			
		||||
                    import_url: 'home/media_matrix/import',
 | 
			
		||||
                    table: 'home_media_matrix',
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            var table = $("#table");
 | 
			
		||||
 | 
			
		||||
            // 初始化表格
 | 
			
		||||
            table.bootstrapTable({
 | 
			
		||||
                url: $.fn.bootstrapTable.defaults.extend.index_url,
 | 
			
		||||
                pk: 'id',
 | 
			
		||||
                sortName: 'weigh',
 | 
			
		||||
                columns: [
 | 
			
		||||
                    [
 | 
			
		||||
                        {checkbox: true},
 | 
			
		||||
                        {field: 'id', title: __('Id')},
 | 
			
		||||
                        {field: 'cate_id', title: __('Cate_id')},
 | 
			
		||||
                        {field: 'showtype', title: __('Showtype'), searchList: {"image":__('Showtype image')}, formatter: Table.api.formatter.normal},
 | 
			
		||||
                        {field: 'title', title: __('Title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
 | 
			
		||||
                        {field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
 | 
			
		||||
                        {field: 'qrimage', title: __('Qrimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
 | 
			
		||||
                        {field: 'weigh', title: __('Weigh'), operate: false},
 | 
			
		||||
                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
 | 
			
		||||
                        {field: 'cate.name', title: __('Cate.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
 | 
			
		||||
                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
 | 
			
		||||
                    ]
 | 
			
		||||
                ]
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            // 为表格绑定事件
 | 
			
		||||
            Table.api.bindevent(table);
 | 
			
		||||
        },
 | 
			
		||||
        recyclebin: function () {
 | 
			
		||||
            // 初始化表格参数配置
 | 
			
		||||
            Table.api.init({
 | 
			
		||||
                extend: {
 | 
			
		||||
                    'dragsort_url': ''
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            var table = $("#table");
 | 
			
		||||
 | 
			
		||||
            // 初始化表格
 | 
			
		||||
            table.bootstrapTable({
 | 
			
		||||
                url: 'home/media_matrix/recyclebin' + location.search,
 | 
			
		||||
                pk: 'id',
 | 
			
		||||
                sortName: 'id',
 | 
			
		||||
                columns: [
 | 
			
		||||
                    [
 | 
			
		||||
                        {checkbox: true},
 | 
			
		||||
                        {field: 'id', title: __('Id')},
 | 
			
		||||
                        {field: 'title', title: __('Title'), align: 'left'},
 | 
			
		||||
                        {
 | 
			
		||||
                            field: 'deletetime',
 | 
			
		||||
                            title: __('Deletetime'),
 | 
			
		||||
                            operate: 'RANGE',
 | 
			
		||||
                            addclass: 'datetimerange',
 | 
			
		||||
                            formatter: Table.api.formatter.datetime
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                            field: 'operate',
 | 
			
		||||
                            width: '140px',
 | 
			
		||||
                            title: __('Operate'),
 | 
			
		||||
                            table: table,
 | 
			
		||||
                            events: Table.api.events.operate,
 | 
			
		||||
                            buttons: [
 | 
			
		||||
                                {
 | 
			
		||||
                                    name: 'Restore',
 | 
			
		||||
                                    text: __('Restore'),
 | 
			
		||||
                                    classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
 | 
			
		||||
                                    icon: 'fa fa-rotate-left',
 | 
			
		||||
                                    url: 'home/media_matrix/restore',
 | 
			
		||||
                                    refresh: true
 | 
			
		||||
                                },
 | 
			
		||||
                                {
 | 
			
		||||
                                    name: 'Destroy',
 | 
			
		||||
                                    text: __('Destroy'),
 | 
			
		||||
                                    classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
 | 
			
		||||
                                    icon: 'fa fa-times',
 | 
			
		||||
                                    url: 'home/media_matrix/destroy',
 | 
			
		||||
                                    refresh: true
 | 
			
		||||
                                }
 | 
			
		||||
                            ],
 | 
			
		||||
                            formatter: Table.api.formatter.operate
 | 
			
		||||
                        }
 | 
			
		||||
                    ]
 | 
			
		||||
                ]
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            // 为表格绑定事件
 | 
			
		||||
            Table.api.bindevent(table);
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        add: function () {
 | 
			
		||||
            Controller.api.bindevent();
 | 
			
		||||
        },
 | 
			
		||||
        edit: function () {
 | 
			
		||||
            Controller.api.bindevent();
 | 
			
		||||
        },
 | 
			
		||||
        api: {
 | 
			
		||||
            bindevent: function () {
 | 
			
		||||
                Form.api.bindevent($("form[role=form]"));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    return Controller;
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										116
									
								
								public/assets/js/backend/home/media_matrix_cate.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								public/assets/js/backend/home/media_matrix_cate.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,116 @@
 | 
			
		||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
 | 
			
		||||
 | 
			
		||||
    var Controller = {
 | 
			
		||||
        index: function () {
 | 
			
		||||
            // 初始化表格参数配置
 | 
			
		||||
            Table.api.init({
 | 
			
		||||
                extend: {
 | 
			
		||||
                    index_url: 'home/media_matrix_cate/index' + location.search,
 | 
			
		||||
                    add_url: 'home/media_matrix_cate/add',
 | 
			
		||||
                    edit_url: 'home/media_matrix_cate/edit',
 | 
			
		||||
                    del_url: 'home/media_matrix_cate/del',
 | 
			
		||||
                    multi_url: 'home/media_matrix_cate/multi',
 | 
			
		||||
                    import_url: 'home/media_matrix_cate/import',
 | 
			
		||||
                    table: 'home_media_matrix_cate',
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            var table = $("#table");
 | 
			
		||||
 | 
			
		||||
            // 初始化表格
 | 
			
		||||
            table.bootstrapTable({
 | 
			
		||||
                url: $.fn.bootstrapTable.defaults.extend.index_url,
 | 
			
		||||
                pk: 'id',
 | 
			
		||||
                sortName: 'weigh',
 | 
			
		||||
                columns: [
 | 
			
		||||
                    [
 | 
			
		||||
                        {checkbox: true},
 | 
			
		||||
                        {field: 'id', title: __('Id')},
 | 
			
		||||
                        {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
 | 
			
		||||
                        {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
 | 
			
		||||
                        {field: 'weigh', title: __('Weigh'), operate: false},
 | 
			
		||||
                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
 | 
			
		||||
                        {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
 | 
			
		||||
                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
 | 
			
		||||
                    ]
 | 
			
		||||
                ]
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            // 为表格绑定事件
 | 
			
		||||
            Table.api.bindevent(table);
 | 
			
		||||
        },
 | 
			
		||||
        recyclebin: function () {
 | 
			
		||||
            // 初始化表格参数配置
 | 
			
		||||
            Table.api.init({
 | 
			
		||||
                extend: {
 | 
			
		||||
                    'dragsort_url': ''
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            var table = $("#table");
 | 
			
		||||
 | 
			
		||||
            // 初始化表格
 | 
			
		||||
            table.bootstrapTable({
 | 
			
		||||
                url: 'home/media_matrix_cate/recyclebin' + location.search,
 | 
			
		||||
                pk: 'id',
 | 
			
		||||
                sortName: 'id',
 | 
			
		||||
                columns: [
 | 
			
		||||
                    [
 | 
			
		||||
                        {checkbox: true},
 | 
			
		||||
                        {field: 'id', title: __('Id')},
 | 
			
		||||
                        {field: 'name', title: __('Name'), align: 'left'},
 | 
			
		||||
                        {
 | 
			
		||||
                            field: 'deletetime',
 | 
			
		||||
                            title: __('Deletetime'),
 | 
			
		||||
                            operate: 'RANGE',
 | 
			
		||||
                            addclass: 'datetimerange',
 | 
			
		||||
                            formatter: Table.api.formatter.datetime
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                            field: 'operate',
 | 
			
		||||
                            width: '140px',
 | 
			
		||||
                            title: __('Operate'),
 | 
			
		||||
                            table: table,
 | 
			
		||||
                            events: Table.api.events.operate,
 | 
			
		||||
                            buttons: [
 | 
			
		||||
                                {
 | 
			
		||||
                                    name: 'Restore',
 | 
			
		||||
                                    text: __('Restore'),
 | 
			
		||||
                                    classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
 | 
			
		||||
                                    icon: 'fa fa-rotate-left',
 | 
			
		||||
                                    url: 'home/media_matrix_cate/restore',
 | 
			
		||||
                                    refresh: true
 | 
			
		||||
                                },
 | 
			
		||||
                                {
 | 
			
		||||
                                    name: 'Destroy',
 | 
			
		||||
                                    text: __('Destroy'),
 | 
			
		||||
                                    classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
 | 
			
		||||
                                    icon: 'fa fa-times',
 | 
			
		||||
                                    url: 'home/media_matrix_cate/destroy',
 | 
			
		||||
                                    refresh: true
 | 
			
		||||
                                }
 | 
			
		||||
                            ],
 | 
			
		||||
                            formatter: Table.api.formatter.operate
 | 
			
		||||
                        }
 | 
			
		||||
                    ]
 | 
			
		||||
                ]
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            // 为表格绑定事件
 | 
			
		||||
            Table.api.bindevent(table);
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        add: function () {
 | 
			
		||||
            Controller.api.bindevent();
 | 
			
		||||
        },
 | 
			
		||||
        edit: function () {
 | 
			
		||||
            Controller.api.bindevent();
 | 
			
		||||
        },
 | 
			
		||||
        api: {
 | 
			
		||||
            bindevent: function () {
 | 
			
		||||
                Form.api.bindevent($("form[role=form]"));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    return Controller;
 | 
			
		||||
});
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user