项目中搜索中,有个根据部门 获取 各部门详细员工,因为是fastadmin自带搜索,一直无法实现,而完全改为自定义搜索表单又太麻烦,百度了很多才找到方法。
贴代码
{
field: 'department', title: __('所属部门'), searchList: function (column) {
return Template('departmentpl', {});
},
},
{field: 'salesman', title: __('业务员'), searchList: function (column) {
return Template('salesmantpl', {});
},
},
部门和员工,全改为替换模板
而模板文件就在 HTML页面
<script id="departmentpl" type="text/html">
<div class="row" id = 'area-select'>
<div class="form-inline" data-toggle="cxselect" data-selects="">
<select class="first form-control" id="depar" name="department" >
<option value="">请选择</option>
{foreach $department as $key=>$val}
<option value="{$val.id}">{$val.title}</option>
{/foreach}
</select>
</div>
</div>
</script>
<script id="salesmantpl" type="text/html">
<div class="row" id = 'sale-select'>
<div class="form-inline" data-toggle="cxselect" data-selects="">
<select class="first form-control sales" name="salesman">
<option value="">请选择</option>
</select>
</div>
</div>
</script>
全部写在 script标签内,注意标签类型。以及,必须 的 id选择器 标签名称, 一个是departmentpl,一个是salestpl,在js 页面 field 内,写对应的选择器。
之后还踩了一个坑,就是选择部门后有返回值,但是没有渲染到 员工 下拉框内,是因为把这段 Ajax请求代码写在了 HTML 页面,是无效的,应该也写在 js 文件内,这段代码就不贴了,就是根据值请求url 获取详情。
参考了https://blog.csdn.net/qq_29107923/article/details/113521763,非常感谢博主的帮助