不同及服务需要收集不同的字段,在服务列表处增加按钮,弹出管理字段列表,单独管理每个服务的字段。如下图,给不同的服务绑定不同表单字段,点击表单按钮弹出页面维护当前服务的字段。
实现代码
//初始化表格处添加按钮
{field: 'operate',title: __('Operate'),table: table,//自定义按钮开始buttons :[{name: 'detail',text: '表单',title: '表单字段管理',icon: 'fa fa-list',extend:'data-area=["80%","80%"]',classname: 'btn btn-xs btn-primary btn-dialog',url: 'field/index?goods_id={id}',}],//自定义按钮结束events: Table.api.events.operate,formatter: Table.api.formatter.operate
}//字段管理列表(弹出页面)处理按钮的传参// 初始化表格参数配置Table.api.init({extend: {index_url: 'field/index' + location.search,//新增开始add_url: 'field/add?goods_id='+Fast.api.query('goods_id'),//新增结束
//字段列表方法内接受按钮传参并筛选//获取分谱id$wheres['fa_field.product_goods_id'] = array('=',$this->request->get('goods_id'));$list = $this->model->with(['goods'])->where($where)->where($wheres)->order($sort, $order)->paginate($limit);//添加字段方法接收传参并渲染到页面/*** 添加** @return string* @throws \think\Exception*/public function add(){if (false === $this->request->isPost()) {//增加代码$goods_id = $this->request->get('goods_id');$this->view->assign("goods_id", $goods_id);//增加结束return $this->view->fetch();}$params = $this->request->post('row/a');
//添加字段页面增加选中<div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('Product_goods_id')}:</label><div class="col-xs-12 col-sm-8"><input id="c-product_goods_id" disabled data-rule="required" data-source="product/goods/index" class="form-control selectpage" name="row[product_goods_id]" type="text"value="{$goods_id|htmlentities}"></div></div>
添加已上代码就实现了需求。