JEPaaS 社区

 找回密码
 立即注册
JEPaaS低代码平台-官网
查看: 2407|回复: 0

自定义类型门户中获取到左侧快速查询选中的数据

[复制链接]

54

主题

77

帖子

354

积分

管理员

JEPaaS专家

Rank: 9Rank: 9Rank: 9

积分
354
发表于 2022-3-3 18:03:35 | 显示全部楼层 |阅读模式
一、实现效果
自定义类型门户中获取到左侧快速查询选中的数据



二、实现思路
1. 门户引擎中配置一个自定义类型的门户
2. 门户中编写业务代码
3. 在功能配置中,通过扩展面板把门户引入到功能列表界面中;
4. 在门户的代码中,添加左侧快速查询的监听事件,获取到快速查询树中选中的数据;

三、具体操作
1. 门户引擎中配置一个自定义类型的门户


2. 门户中编写业务代码



3. 在功能配置中,通过扩展面板把门户引入到功能列表界面中


4. 在门户的代码中,添加左侧快速查询的监听事件,获取到快速查询树中选中的数据


5. 在门户监听事件中,获取到左侧快速查询树选中的数据后,可以自行增加业务逻辑代码,此案例只是一个简单的打印



四、相关代码
  1. function(){
  2.     //查询条件
  3.     var condition = [];
  4.     //重置按钮"点击时"处理方法
  5.     var btnresetclick = function () {
  6.         condition = [];
  7.         Ext.MessageBox.alert('提示', '已重置查询条件!');
  8.     }
  9.     //重置按钮
  10.     var btnreset = new Ext.Button({
  11.         text: '重置',
  12.         listeners: {
  13.         // 'mouseover': btnresetmouseover,悬停
  14.         'click': btnresetclick
  15.        }
  16.    });
  17.    //数据源
  18.    var store = Ext.create('Ext.data.Store', {
  19.     fields:['name', 'email'],
  20.     data:{'items':[
  21.         { 'name': '硬盘容量',  "email":[{"name":"1","value":"16G"},{"name":"3","value":"32G"}] },
  22.         { 'name': '颜色',  "email":[{"name":"5","value":"黑色"},{"name":"7","value":"红色"}]},
  23.         { 'name': '品牌', "email":[{"name":"9","value":"华为"},{"name":"11","value":"苹果"},{"name":"17","value":"小米"}] },
  24.     ]},
  25.     proxy: {
  26.         type: 'memory',//内存代理,读取本地数据,也可以配置ajax代理,可以查看
  27.         reader: {
  28.             type: 'json',
  29.             root: 'items'//列表展示的数据项配置
  30.         }
  31.     }
  32. });
  33. var mainItems = []
  34. Ext.each(store.data.items,function(item,index){
  35.     var childItems = [];
  36.     Ext.each(item.data.email,function(itemChild,index){
  37.         var child = {"style":{'text-align':'center'},"itemName":item.data.name,"id":itemChild.id,"name":itemChild.name,"value":itemChild.value,xtype:'displayfield',"width":100
  38.         ,listeners: {
  39.             render: function(p) {
  40.                   //处理点击事件代码
  41.                 p.getEl().on('click', function(p,view){
  42.                     var name =  item.data.name
  43.                     var value = itemChild.value
  44.                     var result = name +":"+value;
  45.                     // Ext.getDom(this.id).style.background ="red";//设置颜色
  46.                     condition.push(result)
  47.                     //去重
  48.                     JE.msg(Array.from(new Set(condition)),'查询条件');
  49.                     var obj = JE.ajax({
  50.                     url:'/eam/attribute/test',
  51.                         text:false,//返回字符串,如果不配置,返回对象
  52.                         params:{"":"/test"}
  53.                     });
  54.                     if(obj.success){
  55.                         store.reload();
  56.                          var resultCondition = Array.from(new Set(condition));
  57.                          var  j_query = {"ceshi":resultCondition};
  58.                          var func = JE.getFunc('EAM_ZCGL');
  59.                          var grid = func.gridview;
  60.                          //转码
  61.                         grid.store.proxy.extraParams.ceshi = Ext.encode(j_query);
  62.                         //刷新数据
  63.                         grid.reload();
  64.                     }else{
  65.                         JE.alert('失败,请联系管理员');
  66.                     }
  67.                 });
  68.             }}}
  69.         childItems.push(child)
  70.     })
  71.     var main = {"fieldLabel":item.data.name,"xtype":"fieldcontainer","labelWidth":100,"items":childItems,"layout":'hbox'}
  72.     mainItems.push(main)
  73. });
  74. var panel =  Ext.create('Ext.form.Panel', {
  75.      items:mainItems,
  76.      buttons: [btnreset],
  77.      listeners:{
  78.          added:function(form){
  79.              var jetreeview = form.up('jedataview').down('jetreeview');
  80.              jetreeview.on('selectionchange',function(modal,records){
  81.                  console.log(modal,records);
  82.              });
  83.          }
  84.      },
  85.     renderTo: Ext.getBody()
  86. });
  87. return panel;
  88. }
复制代码


五、关键字

  • 自定义门户
  • 扩展面板
  • 左侧快速查询树
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|JEPaaS 低代码平台社区 ( 京ICP备18023569号 )

GMT+8, 2024-5-21 05:40 , Processed in 0.057108 second(s), 20 queries .

Powered by 北京凯特伟业科技有限公司

Copyright © 2001-2021, JEPaaS.COM

快速回复 返回顶部 返回列表