版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
3.5命令的使用深圳市信息職業(yè)技術(shù)學(xué)院——添加修改命令目
錄平臺(tái)添加命令介紹01自定義添加命令使用示例02平臺(tái)修改命令介紹03自定義修改命令使用示例04知識(shí)回顧平臺(tái)默認(rèn)命令的使用;平臺(tái)啟用禁用命令的使用;重寫命令通用介紹;學(xué)習(xí)目標(biāo)通過本節(jié)學(xué)習(xí)可以:掌握平臺(tái)添加命令常用的方法及方法的實(shí)現(xiàn)邏輯。掌握添加命令的重寫;掌握平臺(tái)修改命令常用的方法及方法的實(shí)現(xiàn)邏輯;掌握修改命令的重寫。01平臺(tái)添加命令介紹平臺(tái)添加命令介紹平臺(tái)添加命令介紹添加命令框架是在SIE.cmd.Add中實(shí)現(xiàn)的。重寫添加命令需要繼承SIE.cmd.Add對(duì)相應(yīng)方法進(jìn)行重寫??蚣芴砑用钅J(rèn)的實(shí)現(xiàn)邏輯是只處理了前端邏輯,自定義添加命令除非自己處理的業(yè)務(wù)邏輯需要請(qǐng)求后端數(shù)據(jù),才需要后端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),圖標(biāo)和圖標(biāo)顏色的設(shè)置。列表添加命令可重寫的方法列表添加命令可重寫的方法canExecute:function(view){} 是否可執(zhí)行操作方法,用于控制命令是否可操作,返回值為true或者是false。為true添加命令可以點(diǎn)擊,為false添加命令置灰不允許點(diǎn)擊,該方法列表每個(gè)單元格數(shù)據(jù)的變更都會(huì)執(zhí)行進(jìn)來,所有不建議在該方法中去處理后端數(shù)據(jù)庫的邏輯;execute:function(view,source){} 執(zhí)行方法,即點(diǎn)擊添加按鈕要實(shí)現(xiàn)邏輯的處理,該方法是添加命令執(zhí)行的入口,繼承的添加命令,不清楚框架的執(zhí)行邏輯不建議重寫該方法;getEditEntity:function(){} 獲取當(dāng)前操作實(shí)體,該方法基本使用框架默認(rèn)的邏輯就能滿足業(yè)務(wù)需求,不需要重寫;createNewItem:function(){} 創(chuàng)建新的一行,使用框架的方法就能滿足要求,不需要重寫;onItemCreated:function(entity){} 實(shí)體創(chuàng)建后方法,該方法可以進(jìn)行默認(rèn)值的設(shè)置及屬性變更事件的注冊(cè)。列表添加命令重寫較多的方法為canExecute和onItemCreated。表單添加命令可重寫的方法表單添加命令可重寫的方法canExecute:function(view){} 是否可執(zhí)行操作,用于控制命令是否可操作,返回值為true或者是false;execute:function(view,source){} 執(zhí)行方法,即點(diǎn)擊添加按鈕要實(shí)現(xiàn)邏輯的處理,該方法是添加命令執(zhí)行的入口,繼承的添加命令,不清楚框架的執(zhí)行邏輯不建議重寫該方法;getEditEntity:function(){} 獲取當(dāng)前操作實(shí)體,使用框架默認(rèn)實(shí)現(xiàn)邏輯就能滿足要求,不需要重寫;showView:function(editEntity){} 彈出界面,用于控制彈出界面的樣式,布局,傳值等,如啟用的是表單編輯模式且是主表的添加命令,框架默認(rèn)打開的是tab頁簽;如果是子表的添加命令,框架默認(rèn)打開的是dialog對(duì)話框;表單添加命令可重寫的方法表單添加命令可重寫的方法addPage:function(opt){} 打開tab頁簽的處理方式,由showView方法調(diào)用,打開dialog對(duì)話框不會(huì)執(zhí)行進(jìn)該方法;getEditViewTitle:function(entity){} 打開界面的標(biāo)題設(shè)置,一般情況下使用默認(rèn)的就可滿足要求;confirm:function(m,isImmediate,isCopy){} 彈出dialog對(duì)話框,點(diǎn)擊確定按鈕的處理邏輯,由showView方法調(diào)用,如果打開的是tab頁簽,該方法不會(huì)執(zhí)行進(jìn)來;表單添加命令重寫的較多的方法為canExecute和showView。擴(kuò)展添加命令框架實(shí)現(xiàn)源碼參考,這部分內(nèi)容可以在瀏覽器調(diào)試中進(jìn)行查看。添加命令框架源碼思考題前面圖書小類中,如果圖書大類的圖書狀態(tài)為不在館,則添加按鈕置灰不允許操作是重寫添加命令的哪個(gè)方法實(shí)現(xiàn)的?重寫添加命令的canExecute方法。02自定義添加命令使用示例思考題添加命令是如何進(jìn)行重寫的?列表添加命令重寫示例示例功能描述:讀者分類添加時(shí),讀者分類的可借書數(shù)量默認(rèn)設(shè)置為10,可借書天數(shù)默認(rèn)設(shè)置為60,可修改。開發(fā)步驟: 1、在界面端工程讀者分類文件夾內(nèi)添加Commands文件夾;列表添加命令重寫示例列表添加命令重寫示例2、在Commands文件夾內(nèi)添加js文件,命名以Command結(jié)尾,命名規(guī)范:以命令的類型(Add)+實(shí)體類名(ReaderCat)+Command;列表添加命令重寫示例列表添加命令重寫示例3、選中AddReaderCatCommand.js文件,右鍵”屬性”,跳轉(zhuǎn)到的屬性設(shè)置界面中,將”生成操作”設(shè)置為”嵌入的資源”;列表添加命令重寫示例列表添加命令重寫示例4、定義命令,繼承添加命令的基類,重寫onItemCreated的方法,在方法中實(shí)現(xiàn)可借書數(shù)量和可借書天數(shù)的值的設(shè)置,如下: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傳入的參數(shù),entity.setQty(10)為給可借書數(shù)量設(shè)置默認(rèn)值為10,Qty為實(shí)體定義的屬性名,entity.set為設(shè)置值的固定寫法;entity.setDay(60)為給可借書天數(shù)設(shè)置默認(rèn)值60。擴(kuò)展:entity.get屬性名()為獲取屬性的值。列表添加命令重寫示例列表添加命令重寫示例5、在界面使用命令,將框架的命令替換成自定義的命令文件;列表添加命令重寫示例列表添加命令重寫示例6、效果;列表添加命令重寫示例思考題前面讀者管理功能的添加命令,以彈出對(duì)話框?qū)崿F(xiàn),兩列顯示,第二列顯示為圖片應(yīng)該如何實(shí)現(xiàn)?分析:讀者管理是主實(shí)體,使用框架默認(rèn)的添加命令打開的是tab頁簽,這里要求打開對(duì)話框,實(shí)現(xiàn)上面的需求,需要重寫添加命令的showView方法。表單添加命令重寫示例開發(fā)步驟: 1、在界面端工程讀者管理文件夾內(nèi)添加Commands文件夾(如果已經(jīng)存在文件夾,該步驟可以忽略);表單添加命令重寫示例表單添加命令重寫示例2、在Commands文件夾內(nèi)添加js文件,命名以Command結(jié)尾,命名規(guī)范:以命令的類型(Add)+實(shí)體類名(ReaderMan)+Command;表單添加命令重寫示例表單添加命令重寫示例3、選中AddReaderManCommand.js文件,右鍵”屬性”,跳轉(zhuǎn)到的屬性設(shè)置界面中,將”生成操作”設(shè)置為”嵌入的資源”。表單添加命令重寫示例表單添加命令重寫示例4、定義命令,繼承添加命令的基類,重寫showView的方法,如下:表單添加命令重寫示例表單添加命令重寫示例框架源碼showView方法的實(shí)現(xiàn):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為獲取元數(shù)據(jù);asyn是否異步,通常設(shè)置為false;isDetail表單展示,固定值設(shè)置為true;ignoreQuery是否忽略查詢,這里固定設(shè)置為true;model:獲取當(dāng)前界面的操作實(shí)體viewGroup:默認(rèn)值為DetailsView,不更改分組該屬性不用配置;callback:請(qǐng)求后的回調(diào)函數(shù),在回調(diào)函數(shù)中設(shè)置票據(jù)用于控制權(quán)限,設(shè)置元數(shù)據(jù)。判斷是否存在父,如果存在則執(zhí)行的是打開dialog的邏輯,如果不存在則執(zhí)行的是打開tab頁簽的邏輯。表單添加命令重寫示例框架源碼showView方法的實(shí)現(xiàn):varcfg={associateCmd:me,viewMeta:me.viewMeta,entity:editEntity,editMode:this.view.editMode,title:this.getEditViewTitle(editEntity),confirm:function(isNoSave){//彈窗的確認(rèn)后回調(diào)
varisImmediate=me.view.isImmediate();me.view.afterEdit(editEntity,isImmediate,me.isCopy);me.confirm(editEntity,isImmediate,me.isCopy);}};//子視圖彈框顯示
me.setDialogAttribute表單添加命令重寫示例彈出對(duì)話框的界面參數(shù)配置。視圖命令參數(shù)配置視圖元數(shù)據(jù)實(shí)體界面編輯模式彈出對(duì)話框標(biāo)題設(shè)置確定按鈕執(zhí)行邏輯函數(shù)是否立即保存調(diào)用編輯后和確定方法執(zhí)行按鈕的操作邏輯,為立即保存則會(huì)操作數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)并做對(duì)應(yīng)的后端驗(yàn)證,否則只是往表格插入一筆數(shù)據(jù),不執(zhí)行保存操作。表單添加命令重寫示例框架源碼showView方法的實(shí)現(xiàn)://設(shè)置彈窗屬性
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});}},表單添加命令重寫示例參數(shù)配置好后,調(diào)用框架的彈出對(duì)話框的方法,進(jìn)行界面呈現(xiàn)。addPage:打開tab頁簽;entityType:獲取當(dāng)前界面的操作實(shí)體viewGroup:默認(rèn)值為DetailsView,不更改分組該屬性不用配置;tabId:當(dāng)前頁簽的id,默認(rèn)不需要配置;recordId:當(dāng)前數(shù)據(jù)的id;title:當(dāng)前頁簽的標(biāo)題設(shè)置;isDetail表單展示,固定值設(shè)置為true;isNew:是否添加,添加命令獲取的值為true。表單添加命令重寫示例5、在界面使用命令,將框架的命令替換成自定義的命令文件,且要設(shè)置為表單編輯模式View.FormEdit();表單添加命令重寫示例表單添加命令重寫示例6、在添加命令中設(shè)置了分組,在界面要配置分組對(duì)應(yīng)的界面配置信息;表單添加命令重寫示例表單添加命令重寫示例7、效果。表單添加命令重寫示例03平臺(tái)修改命令介紹平臺(tái)修改命令介紹平臺(tái)修改命令介紹修改命令框架是在SIE.cmd.Edit中實(shí)現(xiàn)的。重寫修改命令需要繼承SIE.cmd.Edit對(duì)相應(yīng)方法進(jìn)行重寫。框架修改命令默認(rèn)的實(shí)現(xiàn)邏輯是只處理了前端邏輯,自定義修改命令除非自己處理的業(yè)務(wù)邏輯需要請(qǐng)求后端數(shù)據(jù),才需要后端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),圖標(biāo)和圖標(biāo)顏色的設(shè)置。列表修改命令可重寫的方法列表修改命令可重寫的方法canExecute:function(view){} 是否可執(zhí)行操作,用于控制命令是否可操作,返回值為true或者是false;execute:function(view,source){} 執(zhí)行方法,修改命令執(zhí)行的入口,繼承的修改命令,不建議重寫該方法;getEditEntity:function(){} 獲取當(dāng)前操作實(shí)體,使用框架默認(rèn)執(zhí)行邏輯就能滿足要求,不需要重寫;onEditting:function(entity){} 編輯前方法,修改方法中注冊(cè)屬性變更事件是在該方法中進(jìn)行注冊(cè);列表修改命令重寫較多的方法為canExecute和onEditting。表單修改命令可重寫的方法表單修改命令可重寫的方法canExecute:function(view){} 是否可執(zhí)行操作,用于控制命令是否可操作,返回值為true或者是false;execute:function(view,source){} 執(zhí)行方法,即點(diǎn)擊修改按鈕要實(shí)現(xiàn)邏輯的處理,該方法是修改命令執(zhí)行的入口,繼承的修改命令,不清楚框架的執(zhí)行邏輯不建議重寫該方法;getEditEntity:function(){} 獲取當(dāng)前操作實(shí)體,使用框架默認(rèn)實(shí)現(xiàn)邏輯就能滿足要求,不需要重寫;showView:function(editEntity){} 彈出界面,用于控制彈出界面的樣式,布局,傳值等,如啟用的是表單編輯模式且是主表的修改命令,框架默認(rèn)打開的是tab頁簽;如果是子表的修改命令,框架默認(rèn)打開的是dialog對(duì)話框;表單修改命令可重寫的方法表單修改命令可重寫的方法addPage:function(opt){} 打開tab頁簽的處理方式,由showView方法調(diào)用,打開dialog對(duì)話框不會(huì)執(zhí)行進(jìn)該方法;getEditViewTitle:function(entity){} 打開界面的標(biāo)題設(shè)置,一般情況下使用默認(rèn)的就可滿足要求;confirm:function(m,isImmediate,isCopy){} 彈出dialog對(duì)話框,點(diǎn)擊確定按鈕的處理邏輯,由showView方法調(diào)用,如果打開的是tab頁簽,該方法不會(huì)執(zhí)行進(jìn)來;表單修改命令重寫的較多的方法為canExecute和showView。擴(kuò)展修改命令框架實(shí)現(xiàn)源碼參考,這部分內(nèi)容可以在瀏覽器調(diào)試中進(jìn)行查看。修改命令框架源碼思考題添加修改命令有哪些異同點(diǎn)?04自定義修改命令使用示例思考題讀者管理修改時(shí),只有狀態(tài)為禁用的才允許修改,應(yīng)該如何進(jìn)行開發(fā)實(shí)現(xiàn)?列表修改命令重寫示例開發(fā)步驟: 1、在界面端工程讀者管理文件夾內(nèi)添加Commands文件夾(已有Commands文件夾的該步驟忽略);列表修改命令重寫示例列表修改命令重寫示例2、在Commands文件夾內(nèi)添加js文件,命名以Command結(jié)尾,命名規(guī)范:以命令的類型(Edit)+實(shí)體類名(ReaderMan)+Command;列表修改命令重寫示例列表修改命令重寫示例3、選中EditReaderManCommand.js文件,右鍵”屬性”,跳轉(zhuǎn)到的屬性設(shè)置界面中,將”生成操作”設(shè)置為”嵌入的資源”;列表修改命令重寫示例列表修改命令重寫示例4、定義命令,繼承修改命令的基類,重寫canExecute的方法,在方法中控制操作邏輯,如下:列表修改命令重寫示例this.callParent(arguments)為調(diào)用父類canExecute方法的邏輯;entity=view.getCurrent()為獲取當(dāng)前行操作數(shù)據(jù);entity.getState()為獲取狀態(tài)的屬性值,根據(jù)屬性的值去控制修改按鈕是否置灰。列表修改命令重寫示例5、在界面使用命令,將框架的修改命令替換成我們定義的修改命令;列表修改命令重
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版事業(yè)單位招聘
- 2024新款:虛擬現(xiàn)實(shí)旅游體驗(yàn)服務(wù)合同
- 民工用工協(xié)議書
- 專業(yè)碼頭作業(yè)運(yùn)輸協(xié)議協(xié)議指南版B版
- 2024年花崗巖采購與銷售補(bǔ)充協(xié)議條款版B版
- 1空氣占據(jù)空間嗎 說課稿-2024-2025學(xué)年三年級(jí)科學(xué)上冊(cè)蘇教版
- 農(nóng)村宅基地代持協(xié)議-201805021
- 住院醫(yī)師規(guī)范化培訓(xùn)入科教育講課文檔
- 2023-2024學(xué)年閩教版(2020)小學(xué)信息技術(shù)四年級(jí)下冊(cè) 第6課潤色圖像添光彩(說課稿)
- 醫(yī)用耗材采購工作流程
- 中國AI+Agent應(yīng)用研究報(bào)告
- 七年級(jí)上冊(cè)生物2024-2025學(xué)年新人教版期末綜合試卷(含答案)
- 2024年全國教育大會(huì)精神全文課件
- DL-T5153-2014火力發(fā)電廠廠用電設(shè)計(jì)技術(shù)規(guī)程
- 文件袋、檔案袋密封條模板
- DB32-T 2665-2014機(jī)動(dòng)車維修費(fèi)用結(jié)算規(guī)范-(高清現(xiàn)行)
- 【部編版】2022年語文七年級(jí)上:作文能力提升—謀篇布局(含答案)
- 最新6000畝海帶筏式養(yǎng)殖投資建設(shè)項(xiàng)目可行性研究報(bào)告
- 稀土高鐵鋁合金電力電纜應(yīng)用參數(shù).
- 陳振明《公共管理學(xué)》(課堂PPT)
- 數(shù)據(jù)結(jié)構(gòu)-圖(1)
評(píng)論
0/150
提交評(píng)論