JEPaaS 社区

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

JEPaaS平台基础JS脚本案例(集合)

[复制链接]

44

主题

150

帖子

671

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
671
发表于 2021-6-23 17:27:44 | 显示全部楼层 |阅读模式
平台基础JS脚本
           JS脚本包括列表事件、表单事件、字段事件、按钮事件等
         参考
                        平台基础JS脚本案例

  1. 点列表按钮获取grid面板
  2. var grid =btn.up("jegridview");
  3. 获取主面板、高级查询面板、获取快速查询面板、获取关键字查询面板
  4. var mainView = self.up('jemainview');//主面板
  5. var queryForm = self.up('jedataview').down('jeformview[type=query]');//高级查询面板
  6. var queryTree = self.up('jedataview').down('jetreeview');//快速查询面板
  7. var gridView = self.up('jedataview').down('jegridview');//关键字查询面板
  8. 点列表按钮获取选中数据字段值
  9. var grid =btn.up("jegridview");
  10. var record = grid.getSelectionModel().getSelection();
  11. var TEACHER_XM = record[0].data.TEACHER_XM;
  12. 获取列表数据总数
  13. var grid =btn.up("jegridview");
  14. var datas = grid.getStore();
  15. 点创建按钮获取列表数据
  16. var gridview = btn.up('jegridview');
  17. gridview.store.each(function(itemData){
  18.     console.log(itemData.data);
  19. })
  20. 根据主键是否存在判断表单是否只读,在表单被激活事件中处理,代码如下:
  21. function(form){
  22.     //获取主键
  23.     var JE_DEMO_COURSE_ID=form.form.findField('JE_DEMO_COURSE_ID').getValue();
  24.     //判断是否为空
  25.     if(JE_DEMO_COURSE_ID !=''){
  26.        form.setReadOnly(true);
  27.     }else{
  28.        form.setReadOnly(false);
  29.     }
  30. }
  31. 当前时间+10天以后的时间
  32. JE.DATE.getDate('0','+10d','date')
  33. 弹出一个报表,并且默认查询某一条数据(带参数)
  34. JE.showReport('c7a66a09311d776d5ec2',{
  35.     title:'教师管理统计',
  36.     width:800,
  37.     height:500,
  38.     //安全版本带参
  39.     j_query: {"custom": [{"type":"=","code":"TEACHER_XM","value":"张老师"}]}
  40. })
  41. 自定义的action列,修改某些数据并提交
  42. function(grid,model,rowIndex,colIndex){
  43.    model.set("TEACHER_XM","周老师");
  44.    model.set("TEACHER_SR",JE.DATE.formatDate(new Date()));
  45.    model.set("TEACHER_JL","20");
  46.    JE.Action.doUpdateList(grid,grid.funcData.info,[model]);
  47.    model.commit();
  48. }
  49. 表单获取按钮并隐藏
  50. var btn = self.down('button[ref=showOrHide]');//self是当前表单
  51. btn.show();//显示
  52. btn.hide();//隐藏
  53. 表单中获取分组框名称
  54. var fieldset = self.down('fieldset[name=fieldset_1]');
  55. 表单中两个日期字段相减,得到差值
  56. //注册开始时间与结束时间的值改变事件,编写以下代码,根据自身需求调整代码
  57. function(field, value, eOpts){
  58.     var form =field.up("jeformview");
  59.     var COURSE_JSSJ = form.form.findField("COURSE_JSSJ").getValue();
  60.     var  days;
  61.     if(COURSE_JSSJ==""){
  62.         days = JE.DATE.diffDays(new Date(value), new Date());
  63.     }else{
  64.         days = JE.DATE.diffDays(new Date(value), new Date(COURSE_JSSJ));
  65.     }
  66.     form.form.findField("COURSE_KKTS").setValue(days);
  67. }
  68. 表单获取子功能集合
  69. //获取表单
  70. var form= field.up("jeformview");
  71. //获取子功能集合
  72. var child = form.down("childfuncfield[name=childfuncfield_1]");
  73. 获取功能内面板
  74. var grid = JE.getFuncView("功能编码",'grid');//获取功能列表
  75. var form = JE.getFuncView("功能编码",'form');//获取功能表单
  76. var tree = JE.getFuncView("功能编码",'tree');//获取左侧树(快速查询)
  77. var treegrid = JE.getFuncView("功能编码",'treegrid');//获取树形列表
  78. 获取子功能集合当前行数据
  79. var grid=field.ownerCt.grid; //获取当前操作数据的列表组件
  80. var rec=grid.getSelectionModel().getSelection()[0];
  81. 获取高级查询
  82. //获取高级查询
  83. var queryForm = self.up('jedataview').down('jeformview[type=query]');
  84. //获取文本框
  85. var xmmc = queryForm.down('textfield[name=PROJECT_XMMC]');
  86. //获取查询选择
  87. var xmmc = queryForm.down('gridssfield[name=PROJECT_XMMC]').rawValue;
  88. 列编辑事件中获取当前行数据
  89. //设置值
  90. context.record.set("COURSE_SKR",'张三');
  91. //取值
  92. context.record.get('COURSE_SKR');
  93. 子功能集合数据项变化事件中获取当前操作行字段
  94. function(field,record,store){
  95.     //获取表单
  96.     var form = field.up("jeformview");
  97.     //获取表单字段
  98.     var KH_KHMC = form.getValue("KH_KHMC");
  99.     //设置子功能集合当前数据某字段值
  100.     record.set("KHGT_GTLXR",KH_KHMC);
  101.     //获取子功能集合当前数据某字段值
  102.     var phone = record.get("KHGT_GTLXRDH");
  103. }
  104. 表单重置(清空现有数据或者清空某个字段值)
  105. function(btn,event,eOpts){
  106.     var  form = btn.up("jeformview");
  107.     //清除单个字段
  108.     form.form.findField("KH_KHMC").setValue("");
  109.     //清除整个表单
  110.     form.form.reset();
  111. }
  112. 列表加按钮筛选列表数据
  113. function(btn,event,eOpts){
  114.     //获取列表
  115.      var grid =btn.up("jegridview");
  116.      //拼接新的查询条件年龄大于25,并且拼接列表查询原有的排序
  117.      var  j_query = {
  118.         "custom": [
  119.             {
  120.                 "cn": "and",
  121.                 "code": "TEACHER_NL",
  122.                 "type": ">",
  123.                 "value": "25"
  124.             }
  125.         ],
  126.         "order": [
  127.             {
  128.                 "code": "TEACHER_SHENG_TEXT",
  129.                 "type": "ASC"
  130.             }
  131.         ]
  132.     }
  133.     //重新赋值列表查询条件
  134.     grid.store.proxy.extraParams.j_query = Ext.encode(j_query);
  135.     //加载列表
  136.     grid.reload();
  137. }
  138. 表单被激活事件中根据条件修改某字段标签名称
  139. function(form){
  140.     //根据条件修改字段标签名称
  141.     form.getFields("TEACHER_XB").setFieldLabel("测试");
  142. }
  143. 子功能集合修改某一列中一个数据,同时修改其他行对应的这一列的数据
  144. //注册子功能集合的数据项变化事件
  145. function(field,record,store){
  146.     //根据当前子功能集合中的某个字段值修改,改变整个数据列的值
  147.     Ext.each(store.data.items,function(info){
  148.         info.set("PRODUCT_SPMC",record.data.PRODUCT_SPMC);
  149.     })
  150. }
  151. 打开功能的方式
  152. //打开菜单功能
  153. JE.openFuncByCode("功能编码");
  154. 子功能集合批量添加修改过滤条件(注册子功能集合数据添加前事件)
  155. function(field,grid,selectWinCfg){
  156.     //获得表单
  157.     var form = field.up('jeformview');
  158.     //获得表单所有值
  159.     var vals = form.getValues();
  160.     //设置查询选择的过滤条件
  161.     selectWinCfg.j_query = [{code:'子表字段编码',type:'=',value:vals['表单字段编码']}];
  162.     return true;
  163. }
  164. 后台接口中获取当前登录用户信息
  165. EndUser currentUser = SecurityUserHolder.getCurrentUser();
  166. 列表自定义按钮上传附件
  167. 注意事项

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

  172. JE.uploadFile({
  173.         fileTypes: 'jpg;png;gif;jpeg',
  174.         //多附件设置为true,如果是单附件这个配置可不加
  175.         multiSelect:true,
  176.         width:'60%',//用于多附件
  177.         height:'40%',//用于多附件
  178.         // params: {
  179.         //   returnType: 'all',
  180.         //   jeFileType: 'PROJECT',
  181.         // },
  182.         uploadFileType: 'func',
  183.         post_params: { uploadType: 'OTHER' },
  184.         callback(file,files) {
  185.             console.log(file);
  186.             console.log(files);
  187.           // delete file.docInfo;
  188.           // delete file.size;
  189.         },
  190.   });
  191. 子功能集合修改字段下拉框的值
  192. //子功能集合修改字段下拉框的值
  193. var field = form.getFields('子功能集合字段编码');
  194. var data = [{code:'',text:''}];//业务数据
  195. var columnField = field.grid.down("gridcolumn[dataIndex=字段编码]");
  196. if (columnField.getEditor) {
  197.      columnField.getEditor().store.loadData(data);
  198. } else {
  199.       columnField.field.dataArray = data;
  200. }
  201. 表单渲染后事件获取编辑器写法
  202. //两种写法都可以获取
  203. self.down('[name=ALWD_ALMS]')
  204. self.down('ckeditor[name=ALWD_ALMS]')
  205. 表单被激活事件中获取列表快速查询选中的数据
  206. form.up('[xtype=jecenterview]').down('[xtype=jetreeview]').getSelectionModel().getSelection()
  207. ##触发表单保存

  208.   form.clickButton('formSaveBtn')
  209. 列表取消选中状态
  210. var  grid = btn.up("jegridview");
  211. grid.getSelectionModel().deselectAll();
复制代码


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 11:10 , Processed in 0.060196 second(s), 21 queries .

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

Copyright © 2001-2021, JEPaaS.COM

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