add:球局
This commit is contained in:
73
application/admin/controller/zy/Activity.php
Normal file
73
application/admin/controller/zy/Activity.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\controller\zy;
|
||||
|
||||
use app\common\controller\Backend;
|
||||
|
||||
/**
|
||||
* 球局
|
||||
*
|
||||
* @icon fa fa-circle-o
|
||||
*/
|
||||
class Activity extends Backend
|
||||
{
|
||||
|
||||
/**
|
||||
* Activity模型对象
|
||||
* @var \app\admin\model\zy\Activity
|
||||
*/
|
||||
protected $model = null;
|
||||
|
||||
public function _initialize()
|
||||
{
|
||||
parent::_initialize();
|
||||
$this->model = new \app\admin\model\zy\Activity;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 默认生成的控制器所继承的父类中有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(['stadium','club','user'])
|
||||
->where($where)
|
||||
->order($sort, $order)
|
||||
->paginate($limit);
|
||||
|
||||
foreach ($list as $row) {
|
||||
|
||||
$row->getRelation('stadium')->visible(['name']);
|
||||
$row->getRelation('club')->visible(['name']);
|
||||
$row->getRelation('user')->visible(['username']);
|
||||
}
|
||||
|
||||
$result = array("total" => $list->total(), "rows" => $list->items());
|
||||
|
||||
return json($result);
|
||||
}
|
||||
return $this->view->fetch();
|
||||
}
|
||||
|
||||
}
|
||||
72
application/admin/lang/zh-cn/zy/activity.php
Normal file
72
application/admin/lang/zh-cn/zy/activity.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Pid' => '所属活动',
|
||||
'Gym_id' => '球馆',
|
||||
'Club_id' => '俱乐部',
|
||||
'Name' => '活动名称',
|
||||
'Address' => '地点',
|
||||
'Field' => '场地号',
|
||||
'Is_public' => '是否公开',
|
||||
'Team_type' => '队伍类型',
|
||||
'Rule_type' => '规则类型',
|
||||
'Type' => '周期类型',
|
||||
'Week' => '每周几',
|
||||
'Start_time' => '开始时间',
|
||||
'End_time' => '结束时间',
|
||||
'Public_time' => '公布时间',
|
||||
'Join_start_time' => '报名开始时间',
|
||||
'Join_end_time' => '报名截止时间',
|
||||
'Quit_time' => '免费退坑时间',
|
||||
'Game_time' => '比赛时长(时)',
|
||||
'Position' => '经纬度',
|
||||
'Cost' => '报名费用',
|
||||
'Limit_num' => '报名限制人数',
|
||||
'Describe' => '活动介绍',
|
||||
'Img' => '图片',
|
||||
'Game_rule' => '比赛规则',
|
||||
'Is_bring' => '可否带人',
|
||||
'Bring_num' => '可带人数',
|
||||
'Referee' => '裁判',
|
||||
'Status' => '状态',
|
||||
'Create_time' => '创建时间',
|
||||
'Update_time' => '修改时间',
|
||||
'Stadium.name' => '球馆名称',
|
||||
'Club.name' => '俱乐部名称',
|
||||
'User.username' => '用户名',
|
||||
|
||||
"Is_public0" => "否",
|
||||
"Is_public1" => "是",
|
||||
|
||||
"Is_bring0" => "否",
|
||||
"Is_bring1" => "是",
|
||||
|
||||
"Team_type1" => "双打",
|
||||
"Team_type2" => "单打",
|
||||
"Team_type3" => "团队",
|
||||
|
||||
"Rule_type1" => "八人转",
|
||||
"Rule_type2" => "超八转",
|
||||
"Rule_type3" => "混双转",
|
||||
"Rule_type4" => "固搭转",
|
||||
"Rule_type5" => "固定擂",
|
||||
"Rule_type6" => "活动擂",
|
||||
|
||||
"Type0" => "一次性",
|
||||
"Type1" => "周期性",
|
||||
|
||||
"Status0" => "未开始",
|
||||
"Status1" => "报名中",
|
||||
"Status2" => "进行中",
|
||||
"Status3" => "已结束",
|
||||
|
||||
"Week0" => "周日",
|
||||
"Week1" => "周一",
|
||||
"Week2" => "周二",
|
||||
"Week3" => "周三",
|
||||
"Week4" => "周四",
|
||||
"Week5" => "周五",
|
||||
"Week6" => "周六",
|
||||
|
||||
|
||||
];
|
||||
53
application/admin/model/zy/Activity.php
Normal file
53
application/admin/model/zy/Activity.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\model\zy;
|
||||
|
||||
use think\Model;
|
||||
|
||||
|
||||
class Activity extends Model
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 表名
|
||||
protected $table = 'zy_activity';
|
||||
|
||||
// 自动写入时间戳字段
|
||||
protected $autoWriteTimestamp = false;
|
||||
|
||||
// 定义时间戳字段名
|
||||
protected $createTime = false;
|
||||
protected $updateTime = false;
|
||||
protected $deleteTime = false;
|
||||
|
||||
// 追加属性
|
||||
protected $append = [
|
||||
];
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public function stadium()
|
||||
{
|
||||
return $this->belongsTo('Stadium', 'gym_id', 'id', [], 'LEFT')->setEagerlyType(0);
|
||||
}
|
||||
|
||||
|
||||
public function club()
|
||||
{
|
||||
return $this->belongsTo('Club', 'club_id', 'id', [], 'LEFT')->setEagerlyType(0);
|
||||
}
|
||||
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('app\admin\model\User', 'referee', 'id', [], 'LEFT')->setEagerlyType(0);
|
||||
}
|
||||
}
|
||||
27
application/admin/validate/zy/Activity.php
Normal file
27
application/admin/validate/zy/Activity.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\zy;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Activity extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
*/
|
||||
protected $rule = [
|
||||
];
|
||||
/**
|
||||
* 提示消息
|
||||
*/
|
||||
protected $message = [
|
||||
];
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => [],
|
||||
'edit' => [],
|
||||
];
|
||||
|
||||
}
|
||||
222
application/admin/view/zy/activity/add.html
Normal file
222
application/admin/view/zy/activity/add.html
Normal file
@@ -0,0 +1,222 @@
|
||||
<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">{:__('Pid')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-pid" data-source="zy/activity/index" class="form-control selectpage" name="row[pid]" type="text" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Gym_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-gym_id" data-rule="required" data-source="zy/stadium/index" class="form-control selectpage" name="row[gym_id]" type="text" value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Club_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-club_id" data-rule="required" data-source="zy/club/index" class="form-control selectpage" name="row[club_id]" type="text" value="">
|
||||
</div>
|
||||
</div>
|
||||
<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" class="form-control" name="row[name]" type="text" value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Address')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-address" class="form-control" name="row[address]" type="text" value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Field')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-field" class="form-control" name="row[field]" type="text" value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Is_public')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[is_public]', ['1'=>__('Is_public1'), '0'=>__('Is_public0')],1)}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Team_type')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[team_type]', ['1'=>__('Team_type1'), '2'=>__('Team_type2'), '3'=>__('Team_type3')],1)}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Rule_type')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[rule_type]', ['1'=>__('Rule_type1'), '2'=>__('Rule_type2'), '3'=>__('Rule_type3'), '4'=>__('Rule_type4'), '5'=>__('Rule_type5'), '6'=>__('Rule_type6')],1)}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Week')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[week]', ['0'=>__('Week0'), '1'=>__('Week1'), '2'=>__('Week2'), '3'=>__('Week3'), '4'=>__('Week4'), '5'=>__('Week5'), '6'=>__('Week6')],0)}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-6 col-sm-2">{:__('Start_time')}:</label>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<input id="c-start_time" class="form-control datetimepicker" data-date-format="HH:mm" data-use-current="true" name="row[start_time]" type="text" value="{:date('H:i')}">
|
||||
</div>
|
||||
<label class="control-label col-xs-6 col-sm-2">{:__('End_time')}:</label>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<input id="c-end_time" class="form-control datetimepicker" data-date-format="HH:mm" data-use-current="true" name="row[end_time]" type="text" value="{:date('H:i')}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[type]', ['0'=>__('Type0'), '1'=>__('Type1')],0)}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Public_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<dl class="fieldlist" data-name="row[public_time]">
|
||||
<dd>
|
||||
<ins>{:__('Key')}</ins>
|
||||
<ins>{:__('Value')}</ins>
|
||||
</dd>
|
||||
<dd><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Append')}</a></dd>
|
||||
<textarea name="row[public_time]" class="form-control hide" cols="30" rows="5"></textarea>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Join_start_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<dl class="fieldlist" data-name="row[join_start_time]">
|
||||
<dd>
|
||||
<ins>{:__('Key')}</ins>
|
||||
<ins>{:__('Value')}</ins>
|
||||
</dd>
|
||||
<dd><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Append')}</a></dd>
|
||||
<textarea name="row[join_start_time]" class="form-control hide" cols="30" rows="5"></textarea>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Join_end_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<dl class="fieldlist" data-name="row[join_end_time]">
|
||||
<dd>
|
||||
<ins>{:__('Key')}</ins>
|
||||
<ins>{:__('Value')}</ins>
|
||||
</dd>
|
||||
<dd><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Append')}</a></dd>
|
||||
<textarea name="row[join_end_time]" class="form-control hide" cols="30" rows="5"></textarea>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Quit_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<dl class="fieldlist" data-name="row[quit_time]">
|
||||
<dd>
|
||||
<ins>{:__('Key')}</ins>
|
||||
<ins>{:__('Value')}</ins>
|
||||
</dd>
|
||||
<dd><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Append')}</a></dd>
|
||||
<textarea name="row[quit_time]" class="form-control hide" cols="30" rows="5"></textarea>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Game_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-game_time" class="form-control" name="row[game_time]" type="number" step="0.5" value="">
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Position')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-position" class="form-control" name="row[position]" type="text" value="">
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Cost')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
|
||||
<dl class="fieldlist" data-name="row[cost]">
|
||||
<dd>
|
||||
<ins>{:__('Key')}</ins>
|
||||
<ins>{:__('Value')}</ins>
|
||||
</dd>
|
||||
<dd><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Append')}</a></dd>
|
||||
<textarea name="row[cost]" class="form-control hide" cols="30" rows="5"></textarea>
|
||||
</dl>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Limit_num')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-limit_num" class="form-control" name="row[limit_num]" type="number" value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Describe')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-describe" class="form-control " rows="5" name="row[describe]" cols="50"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Img')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<div class="input-group">
|
||||
<input id="c-img" class="form-control" size="50" name="row[img]" type="textarea" value="">
|
||||
<div class="input-group-addon no-border no-padding">
|
||||
<span><button type="button" id="faupload-img" class="btn btn-danger faupload" data-input-id="c-img" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-img"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
|
||||
<span><button type="button" id="fachoose-img" class="btn btn-primary fachoose" data-input-id="c-img" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
|
||||
</div>
|
||||
<span class="msg-box n-right" for="c-img"></span>
|
||||
</div>
|
||||
<ul class="row list-inline faupload-preview" id="p-img"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Game_rule')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-game_rule" class="form-control " rows="5" name="row[game_rule]" cols="50"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Is_bring')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[is_bring]', ['0'=>__('Is_bring0'), '1'=>__('Is_bring1')],1)}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Bring_num')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-bring_num" data-rule="required" class="form-control" name="row[bring_num]" type="number" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Referee')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-referee" data-source="user/user/index" data-field="nickname"
|
||||
data-multiple="true" class="form-control selectpage" name="row[referee]" type="text" value="">
|
||||
</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">
|
||||
{:build_radios('row[status]', ['0'=>__('Status0'), '1'=>__('Status1'), '2'=>__('Status2'), '3'=>__('Status3')],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>
|
||||
254
application/admin/view/zy/activity/edit.html
Normal file
254
application/admin/view/zy/activity/edit.html
Normal file
@@ -0,0 +1,254 @@
|
||||
<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">{:__('Pid')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-pid" data-source="zy/activity/index" class="form-control selectpage" name="row[pid]"
|
||||
type="text" value="{$row.pid|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Gym_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-gym_id" data-rule="required" data-source="zy/stadium/index" class="form-control selectpage"
|
||||
name="row[gym_id]" type="text" value="{$row.gym_id|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Club_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-club_id" data-rule="required" data-source="zy/club/index" class="form-control selectpage"
|
||||
name="row[club_id]" type="text" value="{$row.club_id|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<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" 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">{:__('Address')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-address" class="form-control" name="row[address]" type="text"
|
||||
value="{$row.address|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Field')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-field" class="form-control" name="row[field]" type="text" value="{$row.field|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Is_public')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[is_public]', ['1'=>__('Is_public1'), '0'=>__('Is_public0')],$row['is_public'])}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Team_type')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[team_type]', ['1'=>__('Team_type1'), '2'=>__('Team_type2'),
|
||||
'3'=>__('Team_type3')],$row['team_type'])}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Rule_type')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[rule_type]', ['1'=>__('Rule_type1'), '2'=>__('Rule_type2'), '3'=>__('Rule_type3'),
|
||||
'4'=>__('Rule_type4'), '5'=>__('Rule_type5'), '6'=>__('Rule_type6')],$row['rule_type'])}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Week')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[week]', ['0'=>__('Week0'), '1'=>__('Week1'), '2'=>__('Week2'), '3'=>__('Week3'),
|
||||
'4'=>__('Week4'), '5'=>__('Week5'), '6'=>__('Week6')],$row['week'])}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-6 col-sm-2">{:__('Start_time')}:</label>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<input id="c-start_time" class="form-control datetimepicker" data-date-format="HH:mm"
|
||||
data-use-current="true" name="row[start_time]" type="text" value="{$row.start_time}">
|
||||
</div>
|
||||
<label class="control-label col-xs-6 col-sm-2">{:__('End_time')}:</label>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<input id="c-end_time" class="form-control datetimepicker" data-date-format="HH:mm" data-use-current="true"
|
||||
name="row[end_time]" type="text" value="{$row.end_time}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[type]', ['0'=>__('Type0'), '1'=>__('Type1')],$row['type'])}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Public_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<dl class="fieldlist" data-name="row[public_time]">
|
||||
<dd>
|
||||
<ins>{:__('Key')}</ins>
|
||||
<ins>{:__('Value')}</ins>
|
||||
</dd>
|
||||
<dd><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i>{:__('Append')}</a></dd>
|
||||
<textarea name="row[public_time]" class="form-control hide" cols="30"
|
||||
rows="5">{$row.public_time|htmlentities}</textarea>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Join_start_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<dl class="fieldlist" data-name="row[join_start_time]">
|
||||
<dd>
|
||||
<ins>{:__('Key')}</ins>
|
||||
<ins>{:__('Value')}</ins>
|
||||
</dd>
|
||||
<dd><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i>
|
||||
{:__('Append')}</a></dd>
|
||||
<textarea name="row[join_start_time]" class="form-control hide" cols="30"
|
||||
rows="5">{$row.join_start_time|htmlentities}</textarea>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Join_end_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<dl class="fieldlist" data-name="row[join_end_time]">
|
||||
<dd>
|
||||
<ins>{:__('Key')}</ins>
|
||||
<ins>{:__('Value')}</ins>
|
||||
</dd>
|
||||
<dd><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i>
|
||||
{:__('Append')}</a></dd>
|
||||
<textarea name="row[join_end_time]" class="form-control hide" cols="30"
|
||||
rows="5">{$row.join_end_time|htmlentities}</textarea>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Quit_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<dl class="fieldlist" data-name="row[quit_time]">
|
||||
<dd>
|
||||
<ins>{:__('Key')}</ins>
|
||||
<ins>{:__('Value')}</ins>
|
||||
</dd>
|
||||
<dd><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i>
|
||||
{:__('Append')}</a></dd>
|
||||
<textarea name="row[quit_time]" class="form-control hide" cols="30"
|
||||
rows="5">{$row.quit_time|htmlentities}</textarea>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Game_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-game_time" class="form-control" name="row[game_time]" type="number" step="0.5"
|
||||
value="{$row.game_time|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Position')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-position" class="form-control" name="row[position]" type="text"
|
||||
value="{$row.position|htmlentities}">
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Cost')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
|
||||
<dl class="fieldlist" data-name="row[cost]">
|
||||
<dd>
|
||||
<ins>{:__('Key')}</ins>
|
||||
<ins>{:__('Value')}</ins>
|
||||
</dd>
|
||||
<dd><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i>
|
||||
{:__('Append')}</a></dd>
|
||||
<textarea name="row[cost]" class="form-control hide" cols="30"
|
||||
rows="5">{$row.cost|htmlentities}</textarea>
|
||||
</dl>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Limit_num')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-limit_num" class="form-control" name="row[limit_num]" type="number"
|
||||
value="{$row.limit_num|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Describe')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-describe" class="form-control " rows="5" name="row[describe]"
|
||||
cols="50">{$row.describe|htmlentities}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Img')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<div class="input-group">
|
||||
<input id="c-img" class="form-control" size="50" name="row[img]" type="textarea"
|
||||
value="{$row.img|htmlentities}">
|
||||
<div class="input-group-addon no-border no-padding">
|
||||
<span><button type="button" id="faupload-img" class="btn btn-danger faupload" data-input-id="c-img"
|
||||
data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp"
|
||||
data-multiple="false" data-preview-id="p-img"><i class="fa fa-upload"></i>
|
||||
{:__('Upload')}</button></span>
|
||||
<span><button type="button" id="fachoose-img" class="btn btn-primary fachoose" data-input-id="c-img"
|
||||
data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i>
|
||||
{:__('Choose')}</button></span>
|
||||
</div>
|
||||
<span class="msg-box n-right" for="c-img"></span>
|
||||
</div>
|
||||
<ul class="row list-inline faupload-preview" id="p-img"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Game_rule')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-game_rule" class="form-control " rows="5" name="row[game_rule]"
|
||||
cols="50">{$row.game_rule|htmlentities}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Is_bring')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{:build_radios('row[is_bring]', ['0'=>__('Is_bring0'), '1'=>__('Is_bring1')],$row['is_bring'])}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Bring_num')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-bring_num" data-rule="required" class="form-control" name="row[bring_num]" type="number"
|
||||
value="{$row.bring_num|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Referee')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-referee" data-source="user/user/index" data-field="nickname" data-multiple="true"
|
||||
class="form-control selectpage" name="row[referee]" type="text" value="{$row.referee|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">
|
||||
{:build_radios('row[status]', ['0'=>__('Status0'), '1'=>__('Status1'), '2'=>__('Status2'),
|
||||
'3'=>__('Status3')],$row['status'])}
|
||||
</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/zy/activity/index.html
Normal file
29
application/admin/view/zy/activity/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('zy/activity/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('zy/activity/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('zy/activity/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<table id="table" class="table table-striped table-bordered table-hover table-nowrap"
|
||||
data-operate-edit="{:$auth->check('zy/activity/edit')}"
|
||||
data-operate-del="{:$auth->check('zy/activity/del')}"
|
||||
width="100%">
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -49,7 +49,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Blurb')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-blurb" class="form-control " rows="5" name="row[blurb]" cols="50">NULL</textarea>
|
||||
<textarea id="c-blurb" class="form-control " rows="5" name="row[blurb]" cols="50"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -88,7 +88,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Admin_ids')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-admin_ids" data-rule="required" data-source="user/user/index" data-field="nickname"
|
||||
<input id="c-admin_ids" data-source="user/user/index" data-field="nickname"
|
||||
data-multiple="true" class="form-control selectpage" name="row[admin_ids]" type="text" value="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Admin_ids')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-admin_ids" data-rule="required" data-source="user/user/index" data-field="nickname"
|
||||
<input id="c-admin_ids" data-source="user/user/index" data-field="nickname"
|
||||
data-multiple="true" class="form-control selectpage" name="row[admin_ids]" type="text"
|
||||
value="{$row.admin_ids|htmlentities}">
|
||||
</div>
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Blurb')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-blurb" class="form-control " rows="5" name="row[blurb]" cols="50">NULL</textarea>
|
||||
<textarea id="c-blurb" class="form-control " rows="5" name="row[blurb]" cols="50"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
||||
72
public/assets/js/backend/zy/activity.js
Normal file
72
public/assets/js/backend/zy/activity.js
Normal file
@@ -0,0 +1,72 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'zy/activity/index' + location.search,
|
||||
add_url: 'zy/activity/add',
|
||||
edit_url: 'zy/activity/edit',
|
||||
del_url: 'zy/activity/del',
|
||||
multi_url: 'zy/activity/multi',
|
||||
import_url: 'zy/activity/import',
|
||||
table: 'zy_activity',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{ checkbox: true },
|
||||
{ field: 'id', title: __('Id') },
|
||||
{ field: 'pid', title: __('Pid') },
|
||||
{ field: 'stadium.name', title: __('Stadium.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content },
|
||||
{ field: 'club.name', title: __('Club.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content },
|
||||
{ field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content },
|
||||
{ field: 'address', title: __('Address'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content },
|
||||
{ field: 'field', title: __('Field'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content },
|
||||
{ field: 'is_public', title: __('Is_public'), formatter: Table.api.formatter.label, searchList: { 0: __('Is_public0'), 1: __('Is_public1') } },
|
||||
{ field: 'team_type', title: __('Team_type'), formatter: Table.api.formatter.label, searchList: { 3: __('Team_type3'), 1: __('Team_type1'), 2: __('Team_type2') } },
|
||||
{ field: 'rule_type', title: __('Rule_type'), formatter: Table.api.formatter.label, searchList: { 1: __('Rule_type1'), 2: __('Rule_type2'), 3: __('Rule_type3'), 4: __('Rule_type4'), 5: __('Rule_type5'), 6: __('Rule_type6') } },
|
||||
{ field: 'week', title: __('Week'), formatter: Table.api.formatter.label, searchList: { 0: __('Week0'), 1: __('Week1'), 2: __('Week2'), 3: __('Week3'), 4: __('Week4'), 5: __('Week5'), 6: __('Week6') } },
|
||||
{ field: 'type', title: __('Type'), formatter: Table.api.formatter.label, searchList: { 0: __('Type0'), 1: __('Type1') } },
|
||||
{ field: 'start_time', title: __('Start_time') },
|
||||
{ field: 'end_time', title: __('End_time') },
|
||||
{ field: 'game_time', title: __('Game_time') },
|
||||
{ field: 'limit_num', title: __('Limit_num') },
|
||||
{ field: 'is_bring', title: __('Is_bring'), formatter: Table.api.formatter.label, searchList: { 0: __('Is_bring0'), 1: __('Is_bring1') } },
|
||||
{ field: 'bring_num', title: __('Bring_num') },
|
||||
{ field: 'status', title: __('Status'), formatter: Table.api.formatter.label, searchList: { 0: __('Status0'), 1: __('Status1') } },
|
||||
{ field: 'create_time', title: __('Create_time'), operate: 'RANGE', addclass: 'datetimerange', autocomplete: false },
|
||||
{ field: 'update_time', title: __('Update_time'), operate: 'RANGE', addclass: 'datetimerange', autocomplete: false },
|
||||
{ field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, 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;
|
||||
});
|
||||
Reference in New Issue
Block a user