点列表按钮获取grid面板

var grid =btn.up("jegridview");

获取主面板、高级查询面板、获取快速查询面板、获取关键字查询面板

var mainView = self.up('jemainview');//主面板
var queryForm = self.up('jedataview').down('jeformview[type=query]');//高级查询面板
var queryTree = self.up('jedataview').down('jetreeview');//快速查询面板
var gridView = self.up('jedataview').down('jegridview');//关键字查询面板

点列表按钮获取选中数据字段值

var grid =btn.up("jegridview");
var record = grid.getSelectionModel().getSelection();
var TEACHER_XM = record[0].data.TEACHER_XM;

获取列表数据总数

var grid =btn.up("jegridview");
var datas = grid.getStore();

点创建按钮获取列表数据

var gridview = btn.up('jegridview');
gridview.store.each(function(itemData){
    console.log(itemData.data);
})

根据主键是否存在判断表单是否只读,在表单被激活事件中处理,代码如下:

function(form){
    //获取主键
    var JE_DEMO_COURSE_ID=form.form.findField('JE_DEMO_COURSE_ID').getValue();
    //判断是否为空
    if(JE_DEMO_COURSE_ID !=''){
       form.setReadOnly(true);
    }else{
       form.setReadOnly(false);
    }
}

当前时间+10天以后的时间

JE.DATE.getDate('0','+10d','date')

弹出一个报表,并且默认查询某一条数据(带参数)

JE.showReport('c7a66a09311d776d5ec2',{
    title:'教师管理统计',
    width:800,
    height:500,
    //安全版本带参
    j_query: {"custom": [{"type":"=","code":"TEACHER_XM","value":"张老师"}]}
})

自定义的action列,修改某些数据并提交

function(grid,model,rowIndex,colIndex){
   model.set("TEACHER_XM","周老师");
   model.set("TEACHER_SR",JE.DATE.formatDate(new Date()));
   model.set("TEACHER_JL","20");
   JE.Action.doUpdateList(grid,grid.funcData.info,[model]);
   model.commit();
}

列表保存按钮,修改某些数据并提交

    var grid = btn.up("jegridview");
    var selectData = grid.getSelectionModel().getSelection();
    if(selectData.length > 0){
        selectData[0].data.CKXX_CKMC="测试仓库1111";
        JE.Action.doUpdateList(grid,grid.funcData.info,selectData[0]);
        // selectData[0].commit();
    }

表单获取按钮并隐藏

var btn = self.down('button[ref=showOrHide]');//self是当前表单
btn.show();//显示
btn.hide();//隐藏

表单中获取分组框名称

var fieldset = self.down('fieldset[name=fieldset_1]');

表单中两个日期字段相减,得到差值

//注册开始时间与结束时间的值改变事件,编写以下代码,根据自身需求调整代码
function(field, value, eOpts){
    var form =field.up("jeformview");
    var COURSE_JSSJ = form.form.findField("COURSE_JSSJ").getValue();
    var  days;
    if(COURSE_JSSJ==""){
        days = JE.DATE.diffDays(new Date(value), new Date());
    }else{
        days = JE.DATE.diffDays(new Date(value), new Date(COURSE_JSSJ));
    }
    form.form.findField("COURSE_KKTS").setValue(days);
}

表单获取子功能集合

//获取表单
var form= field.up("jeformview");
//获取子功能集合
var child = form.down("childfuncfield[name=childfuncfield_1]");

获取功能内面板

var grid = JE.getFuncView("功能编码"'grid');//获取功能列表
var form = JE.getFuncView("功能编码"'form');//获取功能表单
var tree = JE.getFuncView("功能编码"'tree');//获取左侧树(快速查询)
var treegrid = JE.getFuncView("功能编码"'treegrid');//获取树形列表

获取子功能集合当前行数据

var grid=field.ownerCt.grid; //获取当前操作数据的列表组件
var rec=grid.getSelectionModel().getSelection()[0];

获取高级查询

//获取高级查询
var queryForm = self.up('jedataview').down('jeformview[type=query]');
//获取文本框
var xmmc = queryForm.down('textfield[name=PROJECT_XMMC]');
//获取查询选择
var xmmc = queryForm.down('gridssfield[name=PROJECT_XMMC]').rawValue;

列编辑事件中获取当前行数据

//设置值
context.record.set("COURSE_SKR",'张三');
//取值
context.record.get('COURSE_SKR');

子功能集合数据项变化事件中获取当前操作行字段

function(field,record,store){
    //获取表单
    var form = field.up("jeformview");
    //获取表单字段
    var KH_KHMC = form.getValue("KH_KHMC");
    //设置子功能集合当前数据某字段值
    record.set("KHGT_GTLXR",KH_KHMC);
    //获取子功能集合当前数据某字段值
    var phone = record.get("KHGT_GTLXRDH");
}

表单重置(清空现有数据或者清空某个字段值)

function(btn,event,eOpts){
    var  form = btn.up("jeformview");
    //清除单个字段
    form.form.findField("KH_KHMC").setValue("");
    //清除整个表单
    form.form.reset();
}

列表加按钮筛选列表数据

function(btn,event,eOpts){
    //获取列表
     var grid =btn.up("jegridview");
     //拼接新的查询条件年龄大于25,并且拼接列表查询原有的排序
     var  j_query = {
        "custom": [
            {
                "cn": "and",
                "code": "TEACHER_NL",
                "type": ">",
                "value": "25"
            }
        ],
        "order": [
            {
                "code": "TEACHER_SHENG_TEXT",
                "type": "ASC"
            }
        ]
    }
    //重新赋值列表查询条件
    grid.store.proxy.extraParams.j_query = Ext.encode(j_query);
    //加载列表
    grid.reload();
}

表单被激活事件中根据条件修改某字段标签名称

function(form){
    //根据条件修改字段标签名称
    form.getFields("TEACHER_XB").setFieldLabel("测试");
}

子功能集合修改某一列中一个数据,同时修改其他行对应的这一列的数据

//注册子功能集合的数据项变化事件
function(field,record,store){
    //根据当前子功能集合中的某个字段值修改,改变整个数据列的值
    Ext.each(store.data.items,function(info){
        info.set("PRODUCT_SPMC",record.data.PRODUCT_SPMC);
    })
}

打开功能的方式

//打开菜单功能
JE.openFuncByCode("功能编码");

列表格式化数字格式(000,000)

function(value,metaData,record,rowIndex,colIndex,store,view){
    return  (value || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
}

被激活事件中只读某个字段

var SHRXXB_XM = form.getValue("SHRXXB_XM");
if(SHRXXB_XM){
    form.getFields("SHRXXB_SJRLX").setReadOnly(true);
}

设置字段不为空

//false是不为空,true 是为空
form.form.findField("TEACHER_XB").setAllowBlank(false);

表单渲染后事件获取编辑器写法

//两种写法都可以获取
self.down('[name=ALWD_ALMS]')
self.down('ckeditor[name=ALWD_ALMS]')

列表取消选中状态

 var  grid = btn.up("jegridview");
 grid.getSelectionModel().deselectAll();

Form 表单中引入插件

var stepView = form.stepView = form.getFormBox().insert(0,{
            xtype:'uxstepview',
            columnWidth:1,
            itemId:'stepview',
            multiSteps:true,
            useStepIcon:true,
            height:50
        })
    // 加载流程数据,延时处理,防止元素未加载完成
    setTimeout(function(){
        stepView.loadStep([
            {code:'DCL',text:'待处理',active:flag1},
            {code:'YPD',text:'已派单',active:flag2},
            {code:'YJD',text:'已接单',active:flag3},
            {code:'YJS',text:'已结束',active:flag4},
        ])
    },100);
    // var  field = form.getFields("WXGD_GDZT_CODE");
    // if(field.formObj.stepView){
    //     field.formObj.stepView.setStep(form.getValue("WXGD_GDZT_CODE"));
    // }

子功能集合批量添加修改过滤条件(注册子功能集合数据添加前事件)

function(field,grid,selectWinCfg){
    //获得表单
    var form = field.up('jeformview');
    //获得表单所有值
    var vals = form.getValues();
    //设置查询选择的过滤条件
    selectWinCfg.j_query = [{code:'子表字段编码',type:'=',value:vals['表单字段编码']}];
    return true;
}

列表自定义按钮上传附件

注意事项

1、fileTypes可以自定义
2、上传附件之后可以在callback回调中进行业务处理,拿到文件的fileKey,进行存储(比如调运doSave方法)
3、以上上传做的没问题可以在按钮上根据选中数据与数据对应的fileKey去下载文件

相关代码

JE.uploadFile({
        fileTypes: 'jpg;png;gif;jpeg',
        //多附件设置为true,如果是单附件这个配置可不加
        multiSelect:true,
        width:'60%',//用于多附件
        height:'40%',//用于多附件
        // params: {
        //   returnType: 'all',
        //   jeFileType: 'PROJECT',
        // },
        uploadFileType: 'func',
        post_params: { uploadType: 'OTHER' },
        callback(file,files) {
            console.log(file);
            console.log(files);
          // delete file.docInfo;
          // delete file.size;
        },
  });

子功能集合修改字段下拉框的值

//子功能集合修改字段下拉框的值
var field = form.getFields('子功能集合字段编码');
var data = [{code:'',text:''}];//业务数据
var columnField = field.grid.down("gridcolumn[dataIndex=字段编码]");
if (columnField.getEditor) {
     columnField.getEditor().store.loadData(data);
 } else {
      columnField.field.dataArray = data;
 }

表单渲染后事件获取编辑器写法

//两种写法都可以获取
self.down('[name=ALWD_ALMS]')
self.down('ckeditor[name=ALWD_ALMS]')

表单被激活事件中获取列表快速查询选中的数据

 form.up('[xtype=jecenterview]').down('[xtype=jetreeview]').getSelectionModel().getSelection()

触发表单保存

  form.clickButton('formSaveBtn')

列表取消选中状态

 var  grid = btn.up("jegridview");
 grid.getSelectionModel().deselectAll();

Form 表单中引入插件

 var stepView = form.stepView = form.getFormBox().insert(0,{
            xtype:'uxstepview',
            columnWidth:1,
            itemId:'stepview',
            multiSteps:true,
            useStepIcon:true,
            height:50
        })
    // 加载流程数据,延时处理,防止元素未加载完成
    setTimeout(function(){
        stepView.loadStep([
            {code:'DCL',text:'待处理',active:flag1},
            {code:'YPD',text:'已派单',active:flag2},
            {code:'YJD',text:'已接单',active:flag3},
            {code:'YJS',text:'已结束',active:flag4},
        ])
    },100);
    // var  field = form.getFields("WXGD_GDZT_CODE");
    // if(field.formObj.stepView){
    //     field.formObj.stepView.setStep(form.getValue("WXGD_GDZT_CODE"));
    // }

树形列表点击创建按钮获取快速查询选中节点

var treeview = btn.up("jemainview").down("[xtype=jetreeview]");
var node = treeview.getSelectionModel().getSelection();

普通列表点击创建按钮获取快速查询选中节点

//获取快速查询面板
var treeview = btn.up('jedataview').down('[xtype=jetreeview]');
//获取已选中节点
var node = treeview.getSelectionModel().getSelection();
//获取已经选中的节点
Ext.getCmp("JE_JDAL_ALWD_jetreeview").down("treeview").getSelectionModel().selected.items[0].data.text

隐藏列表某个字段批量修改按钮

Ext.getCmp('JE_YL_CASE_jegridview').headerCt.down('[itemId=CASE_ALCYR]').getEl().down('.je-field-editMoreTpl').dom.style.display = 'none'

禁用列表某个字段排序

Ext.getCmp('JE_YL_CASE_jegridview').headerCt.down('[itemId=CASE_ALCYR]').sortable= false

隐藏列表上“+”按钮

Ext.getCmp("JE_DEMO_COURSE_jegridview").down('toolbar[itemId=buttonBar]').down('button[itemId=leftgridadd]').hide();

获取列表上的“创建按钮”,其他按钮均可按照此方法举一反三

Ext.getCmp("JE_DEMO_COURSE_jegridview").down('button[ref=gridInsertBtn]')

自定义弹框,字段类型为日期、日期时间

items:[{
    fieldLabel:"调试时间",
    xtype:'datedayfield',//不带时分秒xtype值
    //xtype:'datetimefield',带时分秒的xtype值
    labelWidth:70,
    //maxLength:'50',//最大长度
    name:'testDate', //名称 
    allowBlank:false,//是否为空
    emptyText:"调试时间" //空文本
}]

表单字段值改变后修改子功能集合列名称

   var form= field.up("jeformview");
   //获取子功能集合
   var child = form.down("childfuncfield[name=childfuncfield_1]");
   if(value=='语文'|| value=='1'){
        var grid = child.grid;  
        grid.headerCt.getCmp("PRODUCT_SPMC").getEl().down('.x-column-header-text ').dom.innerText='123';
   }

获取高级查询时间区间值

Ext.getCmp("JE_DEMO_KSCX_jemainview").down("jeformview[type=query]").down("[name=SY_CREATETIME__hidden]").getValue();

设置高级查询时间区间默认值

Ext.getCmp("JE_DEMO_KSCX_jemainview").down("jeformview[type=query]").down("[name=SY_CREATETIME__hidden]").setValue("2021-11-15 到  2021-11-22");

子功能列表录入怎么给字段加过滤条件

function(self){
    var MX_KM = self.getFields('MX_KM').getValue(); // 这个是条件
    var MX_BZ = self.getFields('MX_BZ'); // 执行过滤的字段
    MX_BZ .on("beforequery",function(MX_BZ ){
    MX_BZ .j_query = {"custom":[{"code":MX_BZ,"type":"!=","value":MX_KM,"cn":"and"}]};
    })
}

自定义按钮实现加载中的效果,添加样式的方法

JE.Action.doButtonStatus(btn, 'doing');
JE.Action.doButtonStatus(btn, 'done');

获取列表编辑过未保存的数据

grid.store.getUpdatedRecords()

表单渲染后事件隐藏表单“协作”按钮

self.down('toolbar[itemId=buttonBar]').down('button[itemId=postilBtn]').hide();

表单增加按钮,清空字典缓存

form.clickButton("emptyDicCache")

金额阿拉伯数字转为中文大写

JE.toRMBNumber(字段编码);

自定义按钮弹出流程图

JE.Action.showWFImage({pdid:'putongliucheng_19072409-1',xmlContext:'',title:'aaaaa'})

模拟Ajax遮罩

var form = Ext.create('Ext.form.Panel', {
        bodyPadding: 5,
        // 表单域 Fields 将被竖直排列, 占满整个宽度
        layout: 'anchor',
        defaults: {
            anchor: '100%'
        },
        // The fields
        items: [{
            fieldLabel: '计量月份',
            name: 'statMonth',
            allowBlank: false,
            xtype: 'datemonthfield'
        }],

        // 重置 和 保存 按钮.
        buttons: [{
            text: '重置',
            handler: function() {
                this.up('form').getForm().reset();
            }
        }, {
            text: '保存',
            formBind: true, //only enabled once the form is valid
            handler: function() {
                var form = this.up('form').getForm();
                if (form.isValid()) {
                     var el = Ext.getBody();
                     if(el){
                         el.mask('正在初始化用量,请稍等...', 'je-ajax-mask');
                         //ajax交互后台
                          setTimeout(function() {
                                var obj = JE.ajax({
                                url:'je/rbac/user/load',
                                params:{tableCode:"JE_CORE_ENDUSER"},
                            });
                            if (obj.success) {
                                el.unmask();
                                JE.msg(obj.message);
                                this.up('window').close();
                            } else {
                                JE.error(obj.message);
                            }
                          },1000)
                     }
                }
            }
        }],
    });

    JE.win({
        title:'统计',
        autoShow:true,
        width:400,
        height:200,
        items:form
    })

列表改变单元格样式

 //列内容格式化中添加以下代码
 metaData.tdAttr += ' style="background-color:#66ca86;" '; //背景颜色
 metaData.style += 'color:#c7194f; '; //字体颜色

表单自定义按钮弹出流程催办历史

 //按钮配置中勾选‘不受控’
 var form = btn.up("jeformview");
 JE.Action.doWFPromptWin(form,'promptquery');

录入方式为表单弹出时,隐藏弹框【关闭】按钮

 //表单被激活事件中加入以下代码
 form.up().down('[itemId=close]').hide()

获取父功能信息

JE.getFunc('子功能编码').getFormData() // 获取form字段
JE.getFunc('子功能编码').getParent() //  获取父功能
JE.getFunc('子功能编码').getParentInfo() //  获取父功能信息
JE.getFunc('子功能编码').getParentData() //  获取父功能数据

高级查询改变“检索”按钮的名称

Ext.getCmp("JE_DEMO_PTLB_jegridview").up('jedataview').down('jeformview[type=query]').down('button[ref=groupQuery]').setText("测试");

清空子功能集合数据

   var form= field.up("jeformview");
   //获取子功能集合
   var child = form.down("childfuncfield[name=childfuncfield_1]");
   //清空数据
   child.grid.store.removeAll();

获取发起流程按钮,然后隐藏

Ext.getCmp('OA_LCSP_QJSQ_jeformview').down('button[ref="wfSponsorBtn"]').hide();

隐藏门户引擎tab布局中,右上角放大的按钮

Ext.getCmp('app-mainview').down('jeportalview').down('tabpanel').tabBar.down('toolbar[beforeTitleCls=x-toolbar-before-title]').hide();

//门户挂菜单之后隐藏tab面板的放大按钮
Ext.getCmp("JE_PORTAL_CSMH_jeportalview").down("tabpanel").tabBar.down("toolbar[beforeTitleCls=x-toolbar-before-title]").hide();

字段值改变事件中根据条件设置字段值的颜色

if (value == '1') {
     field.setFieldStyle('color: red'); // 设置红色颜色
} else {
     field.setFieldStyle('color: black'); // 恢复默认颜色
}

表单字段label宽度单独设置

在字段辅助配置中添加配置项:
labelWidth:300
最后编辑: 呼丽华  文档更新时间: 2024-03-05 11:49   作者:呼丽华