MES开发与应用 课件 3.5.3-3.5.4 工业管理软件开发基础-命令的使用-添加修改命令_第1页
MES开发与应用 课件 3.5.3-3.5.4 工业管理软件开发基础-命令的使用-添加修改命令_第2页
MES开发与应用 课件 3.5.3-3.5.4 工业管理软件开发基础-命令的使用-添加修改命令_第3页
MES开发与应用 课件 3.5.3-3.5.4 工业管理软件开发基础-命令的使用-添加修改命令_第4页
MES开发与应用 课件 3.5.3-3.5.4 工业管理软件开发基础-命令的使用-添加修改命令_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.5命令的使用深圳市信息职业技术学院——添加修改命令目

录平台添加命令介绍01自定义添加命令使用示例02平台修改命令介绍03自定义修改命令使用示例04知识回顾平台默认命令的使用;平台启用禁用命令的使用;重写命令通用介绍;学习目标通过本节学习可以:掌握平台添加命令常用的方法及方法的实现逻辑。掌握添加命令的重写;掌握平台修改命令常用的方法及方法的实现逻辑;掌握修改命令的重写。01平台添加命令介绍平台添加命令介绍平台添加命令介绍添加命令框架是在SIE.cmd.Add中实现的。重写添加命令需要继承SIE.cmd.Add对相应方法进行重写。框架添加命令默认的实现逻辑是只处理了前端逻辑,自定义添加命令除非自己处理的业务逻辑需要请求后端数据,才需要后端CS命令文件,否则只处理前端部分即可。重写添加命令的定义SIE.defineCommand('SIE.Web.LibMan.ReaderCats.Commands.AddReaderCatCommand',{extend:'SIE.cmd.Add',meta:{text:"添加",group:"edit",iconCls:"icon-AddEntityicon-green"},});其中:SIE.defineCommand为命令的定义;‘SIE.Web.LibMan.ReaderCats.Commands.AddReaderCatCommand‘为命令的命名空间;extend:继承,这里是继承了框架的添加命令SIE.cmd.Add;meta:命令文本,编辑模式(添加命令的编辑模式为edit),图标和图标颜色的设置。列表添加命令可重写的方法列表添加命令可重写的方法canExecute:function(view){} 是否可执行操作方法,用于控制命令是否可操作,返回值为true或者是false。为true添加命令可以点击,为false添加命令置灰不允许点击,该方法列表每个单元格数据的变更都会执行进来,所有不建议在该方法中去处理后端数据库的逻辑;execute:function(view,source){} 执行方法,即点击添加按钮要实现逻辑的处理,该方法是添加命令执行的入口,继承的添加命令,不清楚框架的执行逻辑不建议重写该方法;getEditEntity:function(){} 获取当前操作实体,该方法基本使用框架默认的逻辑就能满足业务需求,不需要重写;createNewItem:function(){} 创建新的一行,使用框架的方法就能满足要求,不需要重写;onItemCreated:function(entity){} 实体创建后方法,该方法可以进行默认值的设置及属性变更事件的注册。列表添加命令重写较多的方法为canExecute和onItemCreated。表单添加命令可重写的方法表单添加命令可重写的方法canExecute:function(view){} 是否可执行操作,用于控制命令是否可操作,返回值为true或者是false;execute:function(view,source){} 执行方法,即点击添加按钮要实现逻辑的处理,该方法是添加命令执行的入口,继承的添加命令,不清楚框架的执行逻辑不建议重写该方法;getEditEntity:function(){} 获取当前操作实体,使用框架默认实现逻辑就能满足要求,不需要重写;showView:function(editEntity){} 弹出界面,用于控制弹出界面的样式,布局,传值等,如启用的是表单编辑模式且是主表的添加命令,框架默认打开的是tab页签;如果是子表的添加命令,框架默认打开的是dialog对话框;表单添加命令可重写的方法表单添加命令可重写的方法addPage:function(opt){} 打开tab页签的处理方式,由showView方法调用,打开dialog对话框不会执行进该方法;getEditViewTitle:function(entity){} 打开界面的标题设置,一般情况下使用默认的就可满足要求;confirm:function(m,isImmediate,isCopy){} 弹出dialog对话框,点击确定按钮的处理逻辑,由showView方法调用,如果打开的是tab页签,该方法不会执行进来;表单添加命令重写的较多的方法为canExecute和showView。扩展添加命令框架实现源码参考,这部分内容可以在浏览器调试中进行查看。添加命令框架源码思考题前面图书小类中,如果图书大类的图书状态为不在馆,则添加按钮置灰不允许操作是重写添加命令的哪个方法实现的?重写添加命令的canExecute方法。02自定义添加命令使用示例思考题添加命令是如何进行重写的?列表添加命令重写示例示例功能描述:读者分类添加时,读者分类的可借书数量默认设置为10,可借书天数默认设置为60,可修改。开发步骤: 1、在界面端工程读者分类文件夹内添加Commands文件夹;列表添加命令重写示例列表添加命令重写示例2、在Commands文件夹内添加js文件,命名以Command结尾,命名规范:以命令的类型(Add)+实体类名(ReaderCat)+Command;列表添加命令重写示例列表添加命令重写示例3、选中AddReaderCatCommand.js文件,右键”属性”,跳转到的属性设置界面中,将”生成操作”设置为”嵌入的资源”;列表添加命令重写示例列表添加命令重写示例4、定义命令,继承添加命令的基类,重写onItemCreated的方法,在方法中实现可借书数量和可借书天数的值的设置,如下:SIE.defineCommand('SIE.Web.LibMan.ReaderCats.Commands.AddReaderCatCommand',{extend:'SIE.cmd.Add',meta:{text:"添加",group:"edit",iconCls:"icon-AddEntityicon-green"},onItemCreated:function(entity){entity.setQty(10);entity.setDay(60);

}});其中:entity为onItemCreated传入的参数,entity.setQty(10)为给可借书数量设置默认值为10,Qty为实体定义的属性名,entity.set为设置值的固定写法;entity.setDay(60)为给可借书天数设置默认值60。扩展:entity.get属性名()为获取属性的值。列表添加命令重写示例列表添加命令重写示例5、在界面使用命令,将框架的命令替换成自定义的命令文件;列表添加命令重写示例列表添加命令重写示例6、效果;列表添加命令重写示例思考题前面读者管理功能的添加命令,以弹出对话框实现,两列显示,第二列显示为图片应该如何实现?分析:读者管理是主实体,使用框架默认的添加命令打开的是tab页签,这里要求打开对话框,实现上面的需求,需要重写添加命令的showView方法。表单添加命令重写示例开发步骤: 1、在界面端工程读者管理文件夹内添加Commands文件夹(如果已经存在文件夹,该步骤可以忽略);表单添加命令重写示例表单添加命令重写示例2、在Commands文件夹内添加js文件,命名以Command结尾,命名规范:以命令的类型(Add)+实体类名(ReaderMan)+Command;表单添加命令重写示例表单添加命令重写示例3、选中AddReaderManCommand.js文件,右键”属性”,跳转到的属性设置界面中,将”生成操作”设置为”嵌入的资源”。表单添加命令重写示例表单添加命令重写示例4、定义命令,继承添加命令的基类,重写showView的方法,如下:表单添加命令重写示例表单添加命令重写示例框架源码showView方法的实现:showView:function(editEntity){varme=this;if(this.view.getParent()){if(!this.viewMeta){SIE.AutoUI.getMeta({async:false,isDetail:true,ignoreQuery:true,model:this.view.model,callback:function(meta){meta.token=me.view.token;me.viewMeta=meta;}});}表单添加命令重写示例SIE.AutoUI.getMeta为获取元数据;asyn是否异步,通常设置为false;isDetail表单展示,固定值设置为true;ignoreQuery是否忽略查询,这里固定设置为true;model:获取当前界面的操作实体viewGroup:默认值为DetailsView,不更改分组该属性不用配置;callback:请求后的回调函数,在回调函数中设置票据用于控制权限,设置元数据。判断是否存在父,如果存在则执行的是打开dialog的逻辑,如果不存在则执行的是打开tab页签的逻辑。表单添加命令重写示例框架源码showView方法的实现:varcfg={associateCmd:me,viewMeta:me.viewMeta,entity:editEntity,editMode:this.view.editMode,title:this.getEditViewTitle(editEntity),confirm:function(isNoSave){//弹窗的确认后回调

varisImmediate=me.view.isImmediate();me.view.afterEdit(editEntity,isImmediate,me.isCopy);me.confirm(editEntity,isImmediate,me.isCopy);}};//子视图弹框显示

me.setDialogAttribute表单添加命令重写示例弹出对话框的界面参数配置。视图命令参数配置视图元数据实体界面编辑模式弹出对话框标题设置确定按钮执行逻辑函数是否立即保存调用编辑后和确定方法执行按钮的操作逻辑,为立即保存则会操作数据库存储数据并做对应的后端验证,否则只是往表格插入一笔数据,不执行保存操作。表单添加命令重写示例框架源码showView方法的实现://设置弹窗属性

vardialogcfg={};dialogcfg=me.setDialogAttribute(dialogcfg);cfg.dialogcfg=dialogcfg;me._editingView=SIE.App.showDialog(cfg);}else{me.addPage({entityType:this.view.model,recordId:editEntity.getId(),title:this.getEditViewTitle(editEntity),isDetail:true,isNew:this.isNew});}},表单添加命令重写示例参数配置好后,调用框架的弹出对话框的方法,进行界面呈现。addPage:打开tab页签;entityType:获取当前界面的操作实体viewGroup:默认值为DetailsView,不更改分组该属性不用配置;tabId:当前页签的id,默认不需要配置;recordId:当前数据的id;title:当前页签的标题设置;isDetail表单展示,固定值设置为true;isNew:是否添加,添加命令获取的值为true。表单添加命令重写示例5、在界面使用命令,将框架的命令替换成自定义的命令文件,且要设置为表单编辑模式View.FormEdit();表单添加命令重写示例表单添加命令重写示例6、在添加命令中设置了分组,在界面要配置分组对应的界面配置信息;表单添加命令重写示例表单添加命令重写示例7、效果。表单添加命令重写示例03平台修改命令介绍平台修改命令介绍平台修改命令介绍修改命令框架是在SIE.cmd.Edit中实现的。重写修改命令需要继承SIE.cmd.Edit对相应方法进行重写。框架修改命令默认的实现逻辑是只处理了前端逻辑,自定义修改命令除非自己处理的业务逻辑需要请求后端数据,才需要后端CS命令文件,否则只处理前端部分即可。重写修改命令的定义SIE.defineCommand('SIE.Web.LibMan.ReaderCats.Commands.EditReaderCatCommand',{extend:'SIE.cmd.Edit',meta:{text:"修改",group:"edit",iconCls:"icon-EditEntityicon-blue"},});其中:SIE.defineCommand为命令的定义;‘SIE.Web.LibMan.ReaderCats.Commands.EditReaderCatCommand‘为命令的命名空间;extend:继承,这里是继承了框架的修改命令SIE.cmd.Edit;meta:命令文本,编辑模式(修改命令的编辑模式为edit),图标和图标颜色的设置。列表修改命令可重写的方法列表修改命令可重写的方法canExecute:function(view){} 是否可执行操作,用于控制命令是否可操作,返回值为true或者是false;execute:function(view,source){} 执行方法,修改命令执行的入口,继承的修改命令,不建议重写该方法;getEditEntity:function(){} 获取当前操作实体,使用框架默认执行逻辑就能满足要求,不需要重写;onEditting:function(entity){} 编辑前方法,修改方法中注册属性变更事件是在该方法中进行注册;列表修改命令重写较多的方法为canExecute和onEditting。表单修改命令可重写的方法表单修改命令可重写的方法canExecute:function(view){} 是否可执行操作,用于控制命令是否可操作,返回值为true或者是false;execute:function(view,source){} 执行方法,即点击修改按钮要实现逻辑的处理,该方法是修改命令执行的入口,继承的修改命令,不清楚框架的执行逻辑不建议重写该方法;getEditEntity:function(){} 获取当前操作实体,使用框架默认实现逻辑就能满足要求,不需要重写;showView:function(editEntity){} 弹出界面,用于控制弹出界面的样式,布局,传值等,如启用的是表单编辑模式且是主表的修改命令,框架默认打开的是tab页签;如果是子表的修改命令,框架默认打开的是dialog对话框;表单修改命令可重写的方法表单修改命令可重写的方法addPage:function(opt){} 打开tab页签的处理方式,由showView方法调用,打开dialog对话框不会执行进该方法;getEditViewTitle:function(entity){} 打开界面的标题设置,一般情况下使用默认的就可满足要求;confirm:function(m,isImmediate,isCopy){} 弹出dialog对话框,点击确定按钮的处理逻辑,由showView方法调用,如果打开的是tab页签,该方法不会执行进来;表单修改命令重写的较多的方法为canExecute和showView。扩展修改命令框架实现源码参考,这部分内容可以在浏览器调试中进行查看。修改命令框架源码思考题添加修改命令有哪些异同点?04自定义修改命令使用示例思考题读者管理修改时,只有状态为禁用的才允许修改,应该如何进行开发实现?列表修改命令重写示例开发步骤: 1、在界面端工程读者管理文件夹内添加Commands文件夹(已有Commands文件夹的该步骤忽略);列表修改命令重写示例列表修改命令重写示例2、在Commands文件夹内添加js文件,命名以Command结尾,命名规范:以命令的类型(Edit)+实体类名(ReaderMan)+Command;列表修改命令重写示例列表修改命令重写示例3、选中EditReaderManCommand.js文件,右键”属性”,跳转到的属性设置界面中,将”生成操作”设置为”嵌入的资源”;列表修改命令重写示例列表修改命令重写示例4、定义命令,继承修改命令的基类,重写canExecute的方法,在方法中控制操作逻辑,如下:列表修改命令重写示例this.callParent(arguments)为调用父类canExecute方法的逻辑;entity=view.getCurrent()为获取当前行操作数据;entity.getState()为获取状态的属性值,根据属性的值去控制修改按钮是否置灰。列表修改命令重写示例5、在界面使用命令,将框架的修改命令替换成我们定义的修改命令;列表修改命令重

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论