凯特-呼丽华 发表于 2022-4-13 10:05:44

APP上自定义按钮过滤列表数据

APP上自定义按钮过滤列表数据
一、实现效果

自定义的按钮,过滤功能列表数据

https://doc.jepaas.com/uploads/je_doc_jepaas/images/m_db674aa4edb035e2e860b95cd416e733_r.png二、实现思路
1、给功能列表添加按钮
2、注册按钮点击前事件,根据过滤条件重新请求数据,在返回给列表,重新渲染数据
三、具体操作
1. 给功能列表添加按钮
https://doc.jepaas.com/uploads/je_doc_jepaas/images/m_9c5978c59b2cea3b97b7d46f26ba5404_r.png2. 注册按钮点击前事件,根据过滤条件重新请求数据,在返回给列表,重新渲染数据https://doc.jepaas.com/uploads/je_doc_jepaas/images/m_5d2fa0d04bdd2db66740e9aa8554704a_r.png
四、相关代码(可选)
/**
    列表和表单共用,所声明的方法为全局方法,可以直接通过 方法名 或者 window.方法名 来调用
    事件注册:APP.listeners = {按钮编码:{},字段编码:{},list:{},form:{}};以下是事件名:
      按钮:beforeclick,click
      字段:reset(全部),beforequery,query(单选,多选,查询选择,树形选择,日期),beforeclick,afteredit(子功能)
      列表:itemclick,load,renderer
      表单:submit,activate,beforeactivate(参数是model,可以修改model值)
*/
APP.listeners = {
    test:{
      beforeclick:function(btnCtrl,data){
            var flag = false;
            var data = [];//申明空数组
            //根据拼的条件重新ajax请求数据
            JE.ajax({
                url:'/je/load',
                params:{
                        tableCode:'TM_WORK',
                        j_query:JE.encode([{code:'WORK_PRODUCT_NAME',value:'自助类',type:'=',cn:'and'}])
                  }
            }).then(function(info){
                if(info.success){
                  //因为APP中data数据只存ID数据,所以得先遍历返回的数据,将ID数据push到新申明的空数组
                  for(i = 0;i<info.rows.length;i++){
                        data.push(info.rows.TM_WORK_ID)
                  }
                  //将新数组的数据赋值给原来的data
                  btnCtrl.getThisList().data = data;
                  flag = true;
                }else{
                  JE.alert('数据刷新失败');
                }
            });
            if(!flag) return false;
      }
    }
};


五、关键字
APP自定义按钮过滤列表数据





页: [1]
查看完整版本: APP上自定义按钮过滤列表数据