Fastadmin操作

自定义关闭事件 
parent.window.$(".layui-layer-iframe").find(".layui-layer-close").on('click',function () {
    console.log('asdasd')
    //这里执行你的逻辑
    Fast.api.close("1");
});
子查询  分组再排序 加统计
$sql = $model
    ->where($where)
    ->where('status','gt',0)
    ->where('nl_id','gt',0)
    ->order('allocation_time desc,order_id desc')
    ->buildSql();
$list=Db::table($sql.' a')
    ->order($sort, $order)
    ->field('count(`order_id`) as count,a.order_id,a.er_id,a.status,b.*')
    ->join((new \app\admin\model\kz\EngravedEp())->getTable().' b','a.er_id = b.er_id','LEFT')
    ->group('a.er_id')
    ->paginate($limit);

查询日期的时候   值按照指定的时间格式查询

{field: 'createtime', title: __('Createtime'), operate:'=', addclass:'datetimepicker', autocomplete:false, formatter: Table.api.formatter.datetime
    , data: 'data-date-format="YYYY-MM"'
},
自定义表单事件
Form.api.bindevent($("form[role=form]"), function(data, ret){
    //这里是表单提交处理成功后的回调函数,接收来自php的返回数据

    //Fast.api.close(data); 关闭弹窗

}, function(data, ret){
    //PHP返回失败时处理

}, function(success, error){
    console.log('123123')
    //bindevent的第三个参数为提交前的回调
    //如果我们需要在表单提交前做一些数据处理,则可以在此方法处理
    //注意如果我们需要阻止表单,可以在此使用return false;即可
    //如果我们处理完成需要再次提交表单则可以使用submit提交,如下
    //Form.api.submit(this, success, error);
    return false;
});

自定义确定按钮事件  把确认按钮的submit改为button

$("#submitbtn").on("click", function(){
    var that = this;
    Layer.confirm('确认提交吗', {
        btn: ['确认','取消'] //按钮
    }, function(){
        $(that).closest("form").trigger("submit");
        return true;
    }, function(){
        return false;
    });
});

//动态隐藏操作按钮

formatter:function(value,row,index){
    var that = $.extend({},this);//将this赋值给that,
    var table = $(that.table).clone(true);//通过that去引用table中的信息
    if(Config.isRegionAdmin && row.user_id > 0)
    {
        $(table).data("operate-edit",null);//隐藏操作中的编辑按钮,
    }
    /*$(table).data("operate-del",null);//隐藏操作中的删除按钮,
    $(table).data("operate-dragsort",null);//隐藏操作中的移动按钮,*/
    that.table = table;
    return Table.api.formatter.operate.call(that,value,row,index);//展示信息
},

同一个页面多个导入

$("#btn-import-zd-file").click( function(res){

    console.log(res)

    require(['upload'], function (Upload) {

        Upload.api.plupload($("#btn-import-zd-file"), function (data, ret) {

            console.log(data,ret);

           /* Fast.api.ajax({

                url: "/admin/food_composition/importlimit",

                data: {path: data.url},

            }, function (data, ret) {

                console.log(JSON.stringify(data));

            });*/

        });

    });

});

//toggle自定义颜色数值  以及获取不到pk问题

{field: 'status', title: __('Status'),yes: '1',

    no: '-1', formatter: Table.api.formatter.toggle,table:table},

//在添加页面 被动追加表单框使用下拉

//参考资料

fastadmin-fieldllist,设置下拉框及修改默认值_fastadmin fieldlist 默认值_咦!小妮子吖的博客-CSDN博客

<div class="form-group row">

    <label class="control-label col-xs-12 col-sm-2">{:__('Goods_food')}:</label>

    <div class="col-xs-12 col-sm-8">

        <dl class="fieldlist" data-template="eventtpl" data-name="row[food]">

            <dd>

                <ins style="width: 200px">{:__('食材')}</ins>

                <ins>{:__('重量g')}</ins>

            </dd>

            <dd><a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Append')}</a></dd>

        </dl>

        <script id="eventtpl" type="text/html">

            <dd class="form-inline "  >

                <ins style="width: 200px"><input type="text" name="<%=name%>[<%=index%>][food_id]" class="form-control selectpage sel_food_name"

                            data-source="bcp/bcpgoods/selectfood" data-field="name"

                            data-primary-key="food_id"

                            value="<%=row.food_id%>" placeholder="请选择食材" size="20" /></ins>

                <ins><input type="text" name="<%=name%>[<%=index%>][weight]" class="form-control" value="<%=row.weight%>" placeholder=""/></ins>

                <!--下面的两个按钮务必保留-->

                <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>

                <span class="btn btn-sm btn-primary btn-dragsort"><i class="fa fa-arrows"></i></span>

            </dd>

        </script>

    </div>

</div>

add: function () {

    $(document).on("fa.event.appendfieldlist", "#add-form .btn-append", function (e, obj) {

        Form.events.selectpage(obj);

    });

    Controller.api.bindevent();

},

//页面渲染完成 添加大小

table.on('post-body.bs.table',function(){

    $(".btn-editone").data("area",["90%","90%"]);

})

$('.btn-add').attr('data-area','["90%","90%"]')

$('.btn-edit').attr('data-area','["90%","90%"]')

extend:'data-area=["100%","100%"]',

Fast.api.open("http://xxx","这是标题",{area:['500px', '300px']})

$zanCount = !empty($zanInfo)?Db::raw('zan_count - 1'):Db::raw('zan_count + 1');

Thinkphp whereor 查询方式

$condition = [

    'status' => School::STATUS_NORMAL

];

if(!empty($schoolName))

{

    $conditionor['name'] = ['like','%'.$schoolName.'%'];

    $conditionor['alias_name'] = ['like','%'.$schoolName.'%'];

}else{

    $conditionor = [];

}

$schoolModel = new School();

$schoolList = $schoolModel->field('sc_id,name,web_buygoods_bindst,need_bind_mobile,need_st_headimg')

    ->where(function ($query) use ($conditionor){

        $query->whereor($conditionor);

    })->where($condition)

    ->order('sc_id desc')

    ->select();

Where 和  where里面的wehereor

$modelObj->where(function ($query) use ($id) {

    $query->whereOr('parent_id','in',function ($query) use ($id){

        $query->table('fa_admin')->where([

            'parent_id' => $id

        ])->field('id');

    })->whereOr(['parent_id' => $id]);

});

modelObj->where($condition)

Fastadmin 行内可编辑 Fastadmin后台管理之表格行内编辑requireJS加载x-editable.js_fastadmin 实现表格数据可编辑_甄齐才的博客-CSDN博客

Editable属性,字段可直接编辑

Fastadmin 使用find_in_set删除

$where = [

    ['EXP',Db::raw('FIND_IN_SET("'.$st_id.'",st_id)')]

];

表单多字段合并

formatter:function(value,row,index){return value + " " + row.detailed_address; }

子查询

$list = $this->model

    ->where('adv_id', 'IN', function ($query) use ($params) {

        $query->table('hyjf_adv')->where([

            'adv_addr_id' => $params['adv_addr_id'],

            'real_type' => $params['real_type'],

            'real_id' => $params['real_id']

        ])->order('adv_id desc')->field('adv_id');

    })

    ->select();

选择

<div class="form-group">

    <label class="control-label col-xs-12 col-sm-2">{:__('选择对应学生')}:</label>

    <div class="col-xs-12 col-sm-8">

         <input id="c-service_shop_id"  data-source="school/student/index"  data-field="name"

   data-params='{"custom[sc_id]":"{$SC_ID}"}' data-primary-key="st_id"

   data-searchField="st_id,name"

   data-multiple="false" class="form-control selectpage" name="row[st_id]"

   type="text" value="">

    </div>

</div>

后台图片渲染 点击放大

{field: 'pimg', title: __('Pimg'), formatter: Table.api.formatter.image, events: Table.api.events.image

},

table.on('post-body.bs.table', function (e, json) {
    $("tbody tr[data-index]", this).each(function () {
        var checkIndex = selIdsArr.indexOf(parseFloat($("td:eq(1)", this).text()));
        if (checkIndex > -1) {
            $("input[type=checkbox]", this).prop("checked", true);
        }
    });
});
table.on('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table', function (e, row) {
    if (e.type == 'check') {
        if(selIdsArr.indexOf(row.id) == -1)
        {
            selIdsArr.push(row.id);
        }
    }else if( e.type == 'uncheck')
    {
        var index = selIdsArr.indexOf(row.id);
        if(index > -1)
        {
            selIdsArr.splice(index,1);
        }
    }else if(e.type == 'check-all')
    {
        //中全部
        row.forEach((item,index)=>{
            if(selIdsArr.indexOf(item.id) == -1)
            {
                selIdsArr.push(item.id);
            }
        })
    }else if(e.type == 'uncheck-all')
    {
        //取消当页中的全部
        row.forEach((item,index)=>{
            var checkIndex = selIdsArr.indexOf(item.id);
            if(checkIndex > -1)
            {
                selIdsArr.splice(checkIndex,1);
            }
        })
    }
    showSelectCount(selIdsArr);
});

queryParams:function(res){
    var search = res.search?encodeURIComponent(res.search):'';
    var filter = res.filter?encodeURIComponent(res.filter):'';
    var op = res.op?encodeURIComponent(res.op):'';
    var createGpsUrl = 'cmwater/cmwater_user_upload_log/mapuploadlog?search='+search+'&filter='+filter+'&op='+op;
    $('#btn-create-gps').attr('href',createGpsUrl)
    var exportUrl = 'cmwater_user_upload_log/export?search='+search+'&filter='+filter+'&op='+op;
    $('#btn-export-file').attr('href',exportUrl)
    return res;
},

$base64 = preg_replace('#^data:image/[^;]+;base64,#', '', $base64);

或者 $img = preg_replace('#data:image/[^;]+;base64,#', '', $s['image']);

{field: 'headimg', title: __('Headimg'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},  自动裁剪超长文字

设定默认传值

 
$params = $this->request->post('row/a');
$params['md5key'] = $this->model->createMd5Key($params['username'],$params['idcard']);
$this->request->post([
    'row' => $params
]);
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值