Fastadmin小技巧之略懂一二

原创
2021/04/15 16:03
阅读数 1.8K
1.如何处理表单搜索条件的表名前缀

 

//获取搜索数组
$filter = json_decode($this->request->get('filter'),true);
$op = json_decode($this->request->get('op'),true);

//处理搜索数组
if(isset($filter['createtime'])){
    $filter['st.createtime']=$filter['createtime'];
    unset($filter['createtime']);
}
if(isset($op['createtime'])){
    $op['st.createtime']=$op['createtime'];
    unset($op['createtime']);
}

//重新设置相关搜索变量
$this->request->get(['filter'=>json_encode($filter)]);
$this->request->get(['filter'=>json_encode($op)]);

list($where, $sort, $order, $offset, $limit) = $this->buildparams();
2.在js的operate里面新增了一个按钮,打开了一个表单页面,页面的提交按钮提交后跳转到success页面,而并非是ajax提交后关闭弹窗
原因 :因为你这里自定义的表单方法,并没有在js下面找不到相关的js事件绑定
例如operate里面新增了这样一个按钮,功能是打开一个表单,并且填写后提交,提交后,页面关闭

 

{
    name: 'addstock',
    text: __('入库'),
    title: __('商品入库'),
    classname: 'btn btn-xs btn-info btn-dialog',
    icon: 'fa fa-list',
    url: $.fn.bootstrapTable.defaults.extend.detail_url,
    callback: function (data) {
        Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
    },
    visible: function (row) {
        //返回true时按钮显示,返回false隐藏
        if (row.review_status != 0) {
            return true;
        } else {
            return false;
        }
    }
}
在下面的js里面必须新增一个addstock()的方法,是和index(),add(),edit()这些方法平级的

 

edit: function () {
    Controller.api.bindevent();
},
addstock:function () {
    Controller.api.bindevent();
},
3.js里面的代码报错

Config.admin.isSuperAdmin报错,属性is undefined
后台在initialize初始化函数中,进行代码添加
$this->assignConfig("admin",["isSuperAdmin"=>$this->auth->isSuperAdmin()]);
4.fastadmin在config.php设置debug为false后,后台界面变成灰白色,并且很多界面js出错
原因:样式和js出错了,重新打包生成js和css就行了
命令行执行命令:php think min -m all -r all
展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部