一:点击列表某按钮实现弹窗
如下图:
1、第一步:增加方法,如addname()
/**
* 添加字段和注释
* @param unknown $ids
* @return mixed
*/
public function addname($ids = NULL)
{
if (Request::instance()->isPost())
{
$database = config('database.database');
$prefix = config('database.prefix');
$table_name = 'message_data';
$param = Request::instance()->param("row/a");
$field = empty($param['field']) ? $this->error('字段名称不能为空') : $param['field'];
$comment = empty($param['comment']) ? $this->error('字段说明不能为空') : $param['comment'];
$sql = "select count(*) from information_schema.columns where TABLE_SCHEMA = '$database' and table_name = '$prefix$table_name' and column_name = '$field'";
$result = Db::query($sql);//读操作
if ($result[0]['count(*)']>=1) $this->error('字段已存在');
$sql = "alter table ".$prefix.$table_name." add ".$field." varchar(255) comment'$comment'";
$result = Db::execute($sql);//写操作
if ($result==2)$this->success('字段添加成功');
$this->success('字段添加失败');
}
return $this->fetch();
}
2、第二步:增加对应的html文件,如addname.html,需要注意的是 id="addname-form"
<form id="addname-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label for="c-field" class="control-label col-xs-12 col-sm-2">{:__('字段名称')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-field" data-rule="required" class="form-control" name="row[field]" type="text" value="">
</div>
</div>
<div class="form-group">
<label for="c-comment" class="control-label col-xs-12 col-sm-2">{:__('字段说明')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-comment" class="form-control" name="row[comment]"></textarea>
</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-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>
3、第三部:在对应的文件中添加如下代码
{field: 'id', title: __('按钮'), table: table, buttons:
[
{name: 'name1', text: '查看字段', title: '查看字段', icon: 'fa fa-list', classname: 'btn btn-xs btn-primary btn-dialog', url: 'zhuhai/msgcat/getDbColumnComment', callback:function(data){
}},
{name: 'addname', text: '添加字段', title: '添加字段', icon: 'fa fa-list',
classname: 'btn btn-xs btn-primary btn-dialog', url: 'zhuhai/msgcat/addname'
},
//{name: 'name2', text: '导出数据', title: '导出数据', icon: 'fa fa-flash', classname: 'btn btn-xs btn-success btn-ajax', url: 'zhuhai/msgcat/outExcel', success:function(data, ret){}, error:function(){}},
{name: 'name3', text: '管理分组信息', title: '管理分组信息', icon: 'fa fa-flash', classname: 'btn btn-xs btn-info btn-addtabs', url: '/admin/zhuhai/msgdata?ref=addtabs'}
], operate:false, formatter: Table.api.formatter.buttons
},
如图:
4、第四步:绑定操作事件
addname: function () {
Controller.api.bindevent();
},
如下图:
二:使用fastadmin里的方法普通弹窗【同上】