版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
3.5命令的使用深圳市信息職業(yè)技術(shù)學(xué)院——平臺默認(rèn)和啟用禁用命令的使用&重寫命令通用介紹目
錄平臺默認(rèn)命令的使用01平臺啟用禁用命令的使用02重寫命令通用介紹03知識回顧通用編輯器介紹;String類型和數(shù)值類型編輯器使用介紹;時間類型編輯器;引用類型編輯器;枚舉類型編輯器;圖片編輯器;Bool類型編輯器;快碼編輯器;學(xué)習(xí)目標(biāo)通過本節(jié)學(xué)習(xí)可以:掌握平臺默認(rèn)命令的使用?掌握啟用禁用命令的使用;了解重寫命令的注意事項及規(guī)范;了解平臺包含哪些默認(rèn)命令。01平臺默認(rèn)命令的使用平臺實現(xiàn)的默認(rèn)命令平臺實現(xiàn)的默認(rèn)命令平臺框架實現(xiàn)的默認(rèn)命令包括:添加、修改、刪除、保存、查詢、清空、導(dǎo)出和導(dǎo)入命令。平臺默認(rèn)命令的使用平臺默認(rèn)命令的使用平臺默認(rèn)命令名稱的定義基本是在webCommandNames靜態(tài)類下聲明的,所有默認(rèn)命令實現(xiàn)的都是功能通用邏輯,如果包含非通用邏輯,則需要對命令進行重寫。平臺默認(rèn)命令組合的配置:View.UseDefaultCommands(),框架列表和表單命令實現(xiàn)邏輯存在差異。使用命令:View.UseCommands(WebCommandNames.Add);移除命令:View.RemoveCommands(WebCommandNames.Copy);替換命令:View.ReplaceCommands(webCommandNames.Add,typeof(AddUintCommand).FullName);清除所有命令:View.ClearCommands();
導(dǎo)入命令的使用:View.UseImportCommands();02平臺啟用禁用命令的使用思考題框架啟用禁用命令是如何進行開發(fā)實現(xiàn)的?啟用禁用命令開發(fā)實現(xiàn)示例在讀者管理頁面中添加“啟用”和“禁用”命令,邏輯如下: 1、“啟用”和“禁用”按鈕可以批量操作; 2、選擇的數(shù)據(jù)行狀態(tài)包含“啟用”狀態(tài),“啟用”按鈕不可操作,“禁用”按鈕可操作; 3、選擇的數(shù)據(jù)行狀態(tài)包含“禁用”狀態(tài),“啟用”按鈕可操作,“禁用”按鈕不可操作;業(yè)務(wù)描述啟用禁用命令開發(fā)實現(xiàn)示例實現(xiàn)說明:啟用、禁用命令沒有特殊的業(yè)務(wù)邏輯要求,我們可以使用框架的啟用禁用命令來實現(xiàn),實現(xiàn)步驟如下: 1、在讀者管理實體類中添加State屬性,關(guān)聯(lián)框架的狀態(tài)枚舉;實現(xiàn)步驟啟用禁用命令開發(fā)實現(xiàn)示例2、在讀者管理的實體中實現(xiàn)接口:IStateEntity;實現(xiàn)步驟啟用禁用命令開發(fā)實現(xiàn)示例3、在讀者管理的界面配置狀態(tài)屬性,并設(shè)置為只讀,可以給狀態(tài)設(shè)置一個默認(rèn)值,如下我們設(shè)置為啟用。說明:讀者管理為行內(nèi)操作,所以我們只在ConfigListView中設(shè)置即可,如果要配置查詢條件還需在查詢實體中配置屬性。實現(xiàn)步驟啟用禁用命令開發(fā)實現(xiàn)示例4、運行項目,升級數(shù)據(jù)庫(因為加了屬性要映射數(shù)據(jù)庫字段);這一步也可以直接寫sql語句到數(shù)據(jù)中執(zhí)行。實現(xiàn)步驟啟用禁用命令開發(fā)實現(xiàn)示例5、完成上述操作后,效果如下:按業(yè)務(wù)需求的要求去操作按鈕,可用滿足要求。實現(xiàn)步驟03重寫命令通用介紹重寫命令通用介紹重寫命令必須要放在Commands文件夾下才會執(zhí)行,命名規(guī)范:命令文件以Command結(jié)尾。重寫命令通用介紹注意:
與命令無關(guān)的js文件不能放到Commands文件夾下,否則會出現(xiàn)界面空白的情況。重寫命令通用介紹重寫的命令必須要寫meta,且meta不能換行;重寫命令通用介紹說明:1、text:命令的名稱設(shè)置; 2、group:為命令的分類,值包括edit和business; 3、iconCls:命令圖標(biāo)和圖標(biāo)顏色的設(shè)置; 4、hierarchy:命令的分組設(shè)置; 5、tooltip:命令的詳細(xì)信息展示。重寫命令通用介紹如果只需要處理前端的業(yè)務(wù),只需要添加js文件即可,且js文件要嵌入到資源重寫命令通用介紹注意:
保存命令和表單的刪除命令,不管有沒有處理后臺邏輯,都必須有后臺CS的命令文件。重寫命令通用介紹前端js命令的使用:View.UseCommands("SIE.Web.Demo.Items.Commands.ItemCategoryCommand");其中SIE.Web.Demo.Items.Commands.ItemCategoryCommand為js命令文件的全命名空間。重寫命令通用介紹重寫命令通用介紹如果命令有后臺業(yè)務(wù)邏輯處理,則需要與JS文件名稱相同的CS文件重寫命令通用介紹注意:這里的相同,是指命令的js和cs文件的命名空間和名稱都必須一致,如下:重寫命令通用介紹有后端cs的命令文件,使用命令后面要加FullName,使用實例:View.UseCommands(typeof(CS命令文件的類名).FullName);重寫命令通用介紹重寫命令通用介紹命令的圖標(biāo)可以在圖標(biāo)庫中查找;重寫命令通用介紹重寫命令通用介紹定義命令的名稱空間,不能包含空格,否則會報錯;命令防抖的設(shè)置:executeIntervalSecond:3,//間隔,單位為秒executeIntervalMode:SIE.cmd.IntervalMode.Debounce.value;在前端js命令使用時,會使用this.callParent(arguments),繼承該方法對應(yīng)的父類的所有邏輯。重寫命令通用介紹思考題重寫的前端js命令,運行項目報找不到資源文件可能的原因是?Js命令文件的生成操作未設(shè)置成嵌入的資源。練習(xí)1、SMOM開發(fā)中,使用框架封裝的啟用禁用命令,使用框架封裝的啟用禁用命令,實體必須實現(xiàn)接口。()2、SMOM-BS開發(fā)中,命令的圖標(biāo)和顏色是在命令的js文件中meta對象的()元素進行設(shè)置的?3、重寫的命令文件可以不包含在Commands文件夾下也能正常執(zhí)行。4、表單編輯使用默認(rèn)命令組合,可以先使用使用默認(rèn)命令組合View.UseDefaultCommands()再使用編輯模式View.FormEdit()。IStateEntityiconCls錯錯本章小結(jié)本章主要講解了工業(yè)管理軟件平臺命令的基本介紹,包括:平臺實現(xiàn)的默認(rèn)命令的使用;啟用禁用命令的開發(fā)實現(xiàn);重寫命令使用通用介紹。這節(jié)課程是命令的基礎(chǔ)課程,學(xué)員必須花時間掌握,為后面命令的重寫做基礎(chǔ)。THANKYOU深圳市信息職業(yè)技術(shù)學(xué)院3.5命令的使用深圳市信息職業(yè)技術(shù)學(xué)院——添加修改命令目
錄平臺添加命令介紹01自定義添加命令使用示例02平臺修改命令介紹03自定義修改命令使用示例04知識回顧平臺默認(rèn)命令的使用;平臺啟用禁用命令的使用;重寫命令通用介紹;學(xué)習(xí)目標(biāo)通過本節(jié)學(xué)習(xí)可以:掌握平臺添加命令常用的方法及方法的實現(xiàn)邏輯。掌握添加命令的重寫;掌握平臺修改命令常用的方法及方法的實現(xiàn)邏輯;掌握修改命令的重寫。01平臺添加命令介紹平臺添加命令介紹平臺添加命令介紹添加命令框架是在SIE.cmd.Add中實現(xiàn)的。重寫添加命令需要繼承SIE.cmd.Add對相應(yīng)方法進行重寫??蚣芴砑用钅J(rèn)的實現(xiàn)邏輯是只處理了前端邏輯,自定義添加命令除非自己處理的業(yè)務(wù)邏輯需要請求后端數(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添加命令可以點擊,為false添加命令置灰不允許點擊,該方法列表每個單元格數(shù)據(jù)的變更都會執(zhí)行進來,所有不建議在該方法中去處理后端數(shù)據(jù)庫的邏輯;execute:function(view,source){} 執(zhí)行方法,即點擊添加按鈕要實現(xiàn)邏輯的處理,該方法是添加命令執(zhí)行的入口,繼承的添加命令,不清楚框架的執(zhí)行邏輯不建議重寫該方法;getEditEntity:function(){} 獲取當(dāng)前操作實體,該方法基本使用框架默認(rèn)的邏輯就能滿足業(yè)務(wù)需求,不需要重寫;createNewItem:function(){} 創(chuàng)建新的一行,使用框架的方法就能滿足要求,不需要重寫;onItemCreated:function(entity){} 實體創(chuàng)建后方法,該方法可以進行默認(rèn)值的設(shè)置及屬性變更事件的注冊。列表添加命令重寫較多的方法為canExecute和onItemCreated。表單添加命令可重寫的方法表單添加命令可重寫的方法canExecute:function(view){} 是否可執(zhí)行操作,用于控制命令是否可操作,返回值為true或者是false;execute:function(view,source){} 執(zhí)行方法,即點擊添加按鈕要實現(xiàn)邏輯的處理,該方法是添加命令執(zhí)行的入口,繼承的添加命令,不清楚框架的執(zhí)行邏輯不建議重寫該方法;getEditEntity:function(){} 獲取當(dāng)前操作實體,使用框架默認(rèn)實現(xiàn)邏輯就能滿足要求,不需要重寫;showView:function(editEntity){} 彈出界面,用于控制彈出界面的樣式,布局,傳值等,如啟用的是表單編輯模式且是主表的添加命令,框架默認(rèn)打開的是tab頁簽;如果是子表的添加命令,框架默認(rèn)打開的是dialog對話框;表單添加命令可重寫的方法表單添加命令可重寫的方法addPage:function(opt){} 打開tab頁簽的處理方式,由showView方法調(diào)用,打開dialog對話框不會執(zhí)行進該方法;getEditViewTitle:function(entity){} 打開界面的標(biāo)題設(shè)置,一般情況下使用默認(rèn)的就可滿足要求;confirm:function(m,isImmediate,isCopy){} 彈出dialog對話框,點擊確定按鈕的處理邏輯,由showView方法調(diào)用,如果打開的是tab頁簽,該方法不會執(zhí)行進來;表單添加命令重寫的較多的方法為canExecute和showView。擴展添加命令框架實現(xiàn)源碼參考,這部分內(nèi)容可以在瀏覽器調(diào)試中進行查看。添加命令框架源碼思考題前面圖書小類中,如果圖書大類的圖書狀態(tài)為不在館,則添加按鈕置灰不允許操作是重寫添加命令的哪個方法實現(xiàn)的?重寫添加命令的canExecute方法。02自定義添加命令使用示例思考題添加命令是如何進行重寫的?列表添加命令重寫示例示例功能描述:讀者分類添加時,讀者分類的可借書數(shù)量默認(rèn)設(shè)置為10,可借書天數(shù)默認(rèn)設(shè)置為60,可修改。開發(fā)步驟: 1、在界面端工程讀者分類文件夾內(nèi)添加Commands文件夾;列表添加命令重寫示例列表添加命令重寫示例2、在Commands文件夾內(nèi)添加js文件,命名以Command結(jié)尾,命名規(guī)范:以命令的類型(Add)+實體類名(ReaderCat)+Command;列表添加命令重寫示例列表添加命令重寫示例3、選中AddReaderCatCommand.js文件,右鍵”屬性”,跳轉(zhuǎn)到的屬性設(shè)置界面中,將”生成操作”設(shè)置為”嵌入的資源”;列表添加命令重寫示例列表添加命令重寫示例4、定義命令,繼承添加命令的基類,重寫onItemCreated的方法,在方法中實現(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為實體定義的屬性名,entity.set為設(shè)置值的固定寫法;entity.setDay(60)為給可借書天數(shù)設(shè)置默認(rèn)值60。擴展:entity.get屬性名()為獲取屬性的值。列表添加命令重寫示例列表添加命令重寫示例5、在界面使用命令,將框架的命令替換成自定義的命令文件;列表添加命令重寫示例列表添加命令重寫示例6、效果;列表添加命令重寫示例思考題前面讀者管理功能的添加命令,以彈出對話框?qū)崿F(xiàn),兩列顯示,第二列顯示為圖片應(yīng)該如何實現(xiàn)?分析:讀者管理是主實體,使用框架默認(rèn)的添加命令打開的是tab頁簽,這里要求打開對話框,實現(xiàn)上面的需求,需要重寫添加命令的showView方法。表單添加命令重寫示例開發(fā)步驟: 1、在界面端工程讀者管理文件夾內(nèi)添加Commands文件夾(如果已經(jīng)存在文件夾,該步驟可以忽略);表單添加命令重寫示例表單添加命令重寫示例2、在Commands文件夾內(nèi)添加js文件,命名以Command結(jié)尾,命名規(guī)范:以命令的類型(Add)+實體類名(ReaderMan)+Command;表單添加命令重寫示例表單添加命令重寫示例3、選中AddReaderManCommand.js文件,右鍵”屬性”,跳轉(zhuǎn)到的屬性設(shè)置界面中,將”生成操作”設(shè)置為”嵌入的資源”。表單添加命令重寫示例表單添加命令重寫示例4、定義命令,繼承添加命令的基類,重寫showView的方法,如下:表單添加命令重寫示例表單添加命令重寫示例框架源碼showView方法的實現(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)前界面的操作實體viewGroup:默認(rèn)值為DetailsView,不更改分組該屬性不用配置;callback:請求后的回調(diào)函數(shù),在回調(diào)函數(shù)中設(shè)置票據(jù)用于控制權(quán)限,設(shè)置元數(shù)據(jù)。判斷是否存在父,如果存在則執(zhí)行的是打開dialog的邏輯,如果不存在則執(zhí)行的是打開tab頁簽的邏輯。表單添加命令重寫示例框架源碼showView方法的實現(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表單添加命令重寫示例彈出對話框的界面參數(shù)配置。視圖命令參數(shù)配置視圖元數(shù)據(jù)實體界面編輯模式彈出對話框標(biāo)題設(shè)置確定按鈕執(zhí)行邏輯函數(shù)是否立即保存調(diào)用編輯后和確定方法執(zhí)行按鈕的操作邏輯,為立即保存則會操作數(shù)據(jù)庫存儲數(shù)據(jù)并做對應(yīng)的后端驗證,否則只是往表格插入一筆數(shù)據(jù),不執(zhí)行保存操作。表單添加命令重寫示例框架源碼showView方法的實現(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)用框架的彈出對話框的方法,進行界面呈現(xiàn)。addPage:打開tab頁簽;entityType:獲取當(dāng)前界面的操作實體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è)置了分組,在界面要配置分組對應(yīng)的界面配置信息;表單添加命令重寫示例表單添加命令重寫示例7、效果。表單添加命令重寫示例03平臺修改命令介紹平臺修改命令介紹平臺修改命令介紹修改命令框架是在SIE.cmd.Edit中實現(xiàn)的。重寫修改命令需要繼承SIE.cmd.Edit對相應(yīng)方法進行重寫??蚣苄薷拿钅J(rèn)的實現(xiàn)邏輯是只處理了前端邏輯,自定義修改命令除非自己處理的業(yè)務(wù)邏輯需要請求后端數(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)前操作實體,使用框架默認(rèn)執(zhí)行邏輯就能滿足要求,不需要重寫;onEditting:function(entity){} 編輯前方法,修改方法中注冊屬性變更事件是在該方法中進行注冊;列表修改命令重寫較多的方法為canExecute和onEditting。表單修改命令可重寫的方法表單修改命令可重寫的方法canExecute:function(view){} 是否可執(zhí)行操作,用于控制命令是否可操作,返回值為true或者是false;execute:function(view,source){} 執(zhí)行方法,即點擊修改按鈕要實現(xiàn)邏輯的處理,該方法是修改命令執(zhí)行的入口,繼承的修改命令,不清楚框架的執(zhí)行邏輯不建議重寫該方法;getEditEntity:function(){} 獲取當(dāng)前操作實體,使用框架默認(rèn)實現(xiàn)邏輯就能滿足要求,不需要重寫;showView:function(editEntity){} 彈出界面,用于控制彈出界面的樣式,布局,傳值等,如啟用的是表單編輯模式且是主表的修改命令,框架默認(rèn)打開的是tab頁簽;如果是子表的修改命令,框架默認(rèn)打開的是dialog對話框;表單修改命令可重寫的方法表單修改命令可重寫的方法addPage:function(opt){} 打開tab頁簽的處理方式,由showView方法調(diào)用,打開dialog對話框不會執(zhí)行進該方法;getEditViewTitle:function(entity){} 打開界面的標(biāo)題設(shè)置,一般情況下使用默認(rèn)的就可滿足要求;confirm:function(m,isImmediate,isCopy){} 彈出dialog對話框,點擊確定按鈕的處理邏輯,由showView方法調(diào)用,如果打開的是tab頁簽,該方法不會執(zhí)行進來;表單修改命令重寫的較多的方法為canExecute和showView。擴展修改命令框架實現(xiàn)源碼參考,這部分內(nèi)容可以在瀏覽器調(diào)試中進行查看。修改命令框架源碼思考題添加修改命令有哪些異同點?04自定義修改命令使用示例思考題讀者管理修改時,只有狀態(tài)為禁用的才允許修改,應(yīng)該如何進行開發(fā)實現(xiàn)?列表修改命令重寫示例開發(fā)步驟: 1、在界面端工程讀者管理文件夾內(nèi)添加Commands文件夾(已有Commands文件夾的該步驟忽略);列表修改命令重寫示例列表修改命令重寫示例2、在Commands文件夾內(nèi)添加js文件,命名以Command結(jié)尾,命名規(guī)范:以命令的類型(Edit)+實體類名(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、在界面使用命令,將框架的修改命令替換成我們定義的修改命令;列表修改命令重寫示例列表修改命令重寫示例6、效果列表修改命令重寫示例表單修改命令重寫示例功能描述:讀者管理功能更改修改命令的標(biāo)題,修改成如下圖所示.標(biāo)題將對應(yīng)的id,讀者編號和姓名帶出。表單修改命令重寫示例思考題上一頁ppt中的需求描述應(yīng)該如何實現(xiàn)?重寫修改命令的獲取編輯視圖的標(biāo)題方法getEditViewTitle,并且界面的編輯模式要設(shè)置為表單編輯模式,這里的實現(xiàn)可以在上一個修改示例的基礎(chǔ)上添加getEditViewTitle實現(xiàn)該示例的邏輯即可。表單修改命令重寫示例拷貝框架的getEditViewTitle方法來修改成自己的邏輯。表單修改命令重寫示例在框架實現(xiàn)邏輯的基礎(chǔ)上增加了獲取讀者編號和姓名的值,將獲取的值拼接到了返回值中。表單修改命令重寫示例效果表單修改命令重寫示例練習(xí)1、以下關(guān)于添加命令說法正確的是()A:自定義添加命令都必須要繼承SIE.cmd.Add;B:使用框架的添加命令,不管是行內(nèi)或者是表單編輯,實現(xiàn)的邏輯是一樣的。C:自定義添加命令如果重寫了執(zhí)行方法execute,在執(zhí)行方法中只處理了功能的業(yè)務(wù)邏輯,沒有調(diào)用父類執(zhí)行方法的邏輯,則添加命令除了是否可執(zhí)行方法能執(zhí)行進去,其他方法都不能執(zhí)行。D:主表表單編輯,未重寫添加命令,會進入到confirm方法的邏輯。2、
以下關(guān)于修改命令的說法錯誤的是()A:控制修改命令是否可執(zhí)行操作的邏輯是在CanExecute方法中進行實現(xiàn)的;B:在修改命令中注冊屬性變更事件是在OnItemCreated方法中進行注冊的;C:框架子列表的編輯模式為表單編輯,修改命令默認(rèn)是打開的對話框方式;D:表單編輯模式,重寫的修改命令要更改頁面的布局呈現(xiàn),可以在Execute方法中實現(xiàn)。CB本章小結(jié)本章主要講解了工業(yè)管理軟件添加和修改命令的使用,包括:平臺添加命令介紹;自定義添加命令開發(fā)示例;平臺修改命令介紹;自定義修改命令開發(fā)示例。通過本章的學(xué)習(xí)能夠根據(jù)業(yè)務(wù)需求判斷添加修改命令是否需要重寫,如果需要重寫要清楚如何進行重寫,重寫哪個或者哪些方法能滿足業(yè)務(wù)需求。THANKYOU深圳市信息職業(yè)技術(shù)學(xué)院3.5命令的使用深圳市信息職業(yè)技術(shù)學(xué)院——刪除命令目
錄平臺刪除命令介紹01自定義刪除命令開發(fā)示例02自定義刪除命令注意事項03知識回顧平臺添加命令介紹自定義添加命令使用示例平臺修改命令介紹自定義修改命令使用示例學(xué)習(xí)目標(biāo)通過本節(jié)學(xué)習(xí)可以:掌握平臺刪除命令的實現(xiàn)邏輯;掌握刪除命令的重寫;了解自定義刪除命令的注意事項。01平臺刪除命令介紹平臺刪除命令介紹平臺刪除命令介紹刪除命令框架是在SIE.cmd.Delete中實現(xiàn)的。重寫添加命令需要繼承SIE.cmd.Delete對相應(yīng)方法進行重寫??蚣軇h除命令實現(xiàn)的方法只有canExecute和execute,項目上重寫canExecute方法的場景較多。重寫刪除命令的定義SIE.defineCommand('SIE.Web.LibMan.ReaderCats.Commands.DeleteReaderCatCommand',{extend:'SIE.cmd.Delete’,meta:{text:"刪除",group:"edit",iconCls:"icon-DeleteEntityicon-red"},});其中:SIE.defineCommand為命令的定義;extend:繼承,繼承框架的刪除命令SIE.cmd.Delete;meta:text為命令文本,group為編輯模式(設(shè)置為edit),iconCls為圖標(biāo)和圖標(biāo)顏色的設(shè)置。刪除命令前端實現(xiàn)刪除命令前端實現(xiàn)SIE.defineCommand('SIE.cmd.Delete',{meta:{text:"刪除",group:"edit",iconCls:"icon-DeleteEntityicon-red"},selectedItems:[],isImmediate:false,canExecute:function(view){if(view.isListView){if(view.hasSelectedEntities()){returntrue;}returnfalse;}varentity=view.getCurrent();returnentity!=null;},_viewReload:function(view){varpv=view.getParent();//判斷childif(pv){view.loadChildData(true);}else{view.reloadData();}},全局變量選擇的行,默認(rèn)為空全局變量,是否立即保存,默認(rèn)為false是否可執(zhí)行操作,刪除按鈕在列表上的執(zhí)行邏輯:存在選擇的數(shù)據(jù)則允許刪除操作,否則刪除按鈕不可操作。是否可執(zhí)行操作,刪除按鈕在表單上的執(zhí)行邏輯:當(dāng)前操作行不為null則允許刪除操作,否則刪除按鈕不可操作。判斷是否存在父,存在說明是子為子,則加載子列表的數(shù)據(jù)。為父,則加載當(dāng)前列表的數(shù)據(jù)。刪除命令前端實現(xiàn)刪除命令前端實現(xiàn)execute:function(view){varme=this;if(view.isListView){varisImmediate=view.isImmediate();varmsg=Ext.String.format('你確定刪除選擇的{0}條數(shù)據(jù)嗎?'.L10N(),view.getSelection().length);if(isImmediate)msg+="確定后將直接刪除!".L10N();elsemsg+="刪除后,需要再次點擊保存!".L10N();}else{//formview}}//cmdend});刪除按鈕在列表上的的執(zhí)行邏輯。刪除按鈕在表單上,框架未實現(xiàn)其邏輯,項目上也基本沒有遇到到在表單上使用刪除按鈕的場景。刪除按鈕執(zhí)行方法的操作邏輯獲取是否立即保存的值,為表單編輯模式則為true,否則為false根據(jù)判斷是否立即保存,拼接提示信息的內(nèi)容刪除命令前端實現(xiàn)刪除命令前端實現(xiàn)SIE.Msg.askQuestion(msg,function(){if(isImmediate){view.removeSelection();varchildren=view.getChildren();varwithChildren=children.length>0;varstore=view.getData();view.execute({withChildren:withChildren,success:function(res){mitChanges();me._viewReload(view);view.setCurrent(null,true);},error:function(res){store.rejectChanges();}});}});表單編輯模式刪除按鈕執(zhí)行的邏輯移除選擇的行獲取子獲取子的數(shù)量獲取當(dāng)前視圖的數(shù)據(jù)view.execute為向后端請求數(shù)據(jù),存在子將子一起傳到后端去處理保存操作的邏輯。后面請求成功后的回調(diào)操作,設(shè)置變更后的數(shù)據(jù),處理加載數(shù)據(jù)的邏輯,設(shè)置當(dāng)前操作行為null。請求后端數(shù)據(jù)失敗,則回退前端移除選擇行的操作。刪除命令前端實現(xiàn)刪除命令前端實現(xiàn)SIE.Msg.askQuestion(msg,function(){else{view.removeSelection();vardata=view.getData().data;if(data.length>0){//不選中一行,列表的tbar(如果命令過多)會變更位置
view.getControl().setSelection(data.items[0]);view.setCurrent(data.items[0],true);}else{view.setCurrent(null,true);}}});行內(nèi)編輯模式刪除按鈕執(zhí)行的邏輯移除選擇的行獲取數(shù)據(jù)行判斷表格是否存在數(shù)據(jù)設(shè)置第0行為選擇行,并將第一行設(shè)置為當(dāng)前操作行。表格不存在數(shù)據(jù),設(shè)置當(dāng)前操作行為null。刪除命令后端實現(xiàn)刪除命令后端實現(xiàn)刪除命令平臺默認(rèn)只有設(shè)置為表單編輯模式,操作刪除按鈕才會走后端邏輯。
public
class
DeleteCommand:ListViewCommand
{
public
const
stringCommandName="SIE.cmd.Delete";
protected
override
objectExcute(ViewArgsargs,stringscope)
{EntityListdeserializeData=GetDeserializeData(args,scope);OnSaving(deserializeData);DoSave(deserializeData);OnSaved(deserializeData);
return
true;
}
}前端view.execute執(zhí)行進來的邏輯獲取反序列化數(shù)據(jù)空方法,有保存前要執(zhí)行的邏輯可以在該方法實現(xiàn)執(zhí)行保存邏輯空方法,保存后要處理的邏輯可以在該方法實現(xiàn)思考題平臺刪除按鈕,在表單頁面使用刪除按鈕,刪除的邏輯平臺是否有實現(xiàn)?思考題SMOM命令中前端向后端請求數(shù)據(jù)是如何實現(xiàn)的?02自定義刪除命令開發(fā)示例思考題讀者管理刪除邏輯控制,為啟用狀態(tài)時不允許刪除,編輯模式為行內(nèi)編輯,如何實現(xiàn)?自定義刪除命令行內(nèi)編輯開發(fā)示例在界面端Commands文件夾下添加js文件,屬性生成操作設(shè)置為嵌入的資源。實現(xiàn)步驟自定義刪除命令行內(nèi)編輯開發(fā)示例命令繼承SIE.cmd.Delete,重寫canExecute方法,在canExecute中實現(xiàn)邏輯。SIE.defineCommand('SIE.Web.XyTest.ReaderMans.Commands.DeleteReaderManCommand',{extend:'SIE.cmd.Delete',meta:{text:"刪除",group:"edit",iconCls:"icon-DeleteEntityicon-red"},canExecute:function(view){varresult=this.callParent(arguments);if(result===false)returnfalse;varentity=view.getCurrent();if(entity!=null&&entity.getState()==1)returnfalse;returntrue;
},});實現(xiàn)步驟自定義刪除命令行內(nèi)編輯開發(fā)示例在界面端使用命令及效果,狀態(tài)為禁用點擊刪除按鈕,可以正常刪除數(shù)據(jù)。實現(xiàn)步驟思考題讀者管理刪除邏輯控制,為啟用狀態(tài)時不允許刪除,編輯模式為表單編輯,如何實現(xiàn)?自定義刪除命令表單編輯開發(fā)示例在界面端Commands文件夾下添加js文件,屬性設(shè)置為嵌入的資源。實現(xiàn)步驟自定義刪除命令表單編輯開發(fā)示例命令繼承SIE.cmd.Delete,重寫canExecute方法,在canExecute中實現(xiàn)邏輯。SIE.defineCommand('SIE.Web.XyTest.ReaderMans.Commands.DeleteReaderManCommand',{extend:'SIE.cmd.Delete',meta:{text:"刪除",group:"edit",iconCls:"icon-DeleteEntityicon-red"},canExecute:function(view){varresult=this.callParent(arguments);if(result===false)returnfalse;varentity=view.getCurrent();if(entity!=null&&entity.getState()==1)returnfalse;returntrue;
},});實現(xiàn)步驟自定義刪除命令表單編輯開發(fā)示例添加刪除命令的CS文件,命名空間與js命令命名空間完全一致,繼承DeleteCommand。實現(xiàn)步驟自定義刪除命令表單編輯開發(fā)示例界面端啟用表單編輯模式,使用命令和效果,狀態(tài)為禁用點擊刪除按鈕,可以正常刪除數(shù)據(jù)。實現(xiàn)步驟03自定義刪除命令注意事項自定義刪除命令注意事項刪除命令無必要盡量不要去重寫execute方法;編輯模式為表單編輯模式,即設(shè)置為View.FormEdit();重寫的刪除命令,必須要有后臺cs文件(后臺cs命令文件繼承DeleteCommand),否則刪除會報找不到命令的異常。自定義刪除命令注意事項練習(xí)1、SMOM-BS開發(fā)中,重寫刪除按鈕,通常情況下前端繼承(),后端繼承()。2、前端js加載列表的數(shù)據(jù)是通過調(diào)用()方法實現(xiàn)的,強制加載子列表的數(shù)據(jù)又是通過調(diào)用()方法實現(xiàn)的?3、前端js移除選擇的行是通過()進行實現(xiàn)的?4、前端確認(rèn)提示信息是通過()進行設(shè)置的?SIE.cmd.Delete,DeleteCommandview.reloadData(),view.loadChildData(true)view.removeSelection()SIE.Msg.askQuestion(msg,function(){})本章小結(jié)本章主要講解了工業(yè)管理軟件刪除命令的使用,包括:平臺刪除命令的實現(xiàn)邏輯介紹;自定義刪除命令的開發(fā)示例;自定義刪除命令的注意事項。通過本章的學(xué)習(xí)學(xué)員能夠根據(jù)業(yè)務(wù)需求判斷刪除命令是否需要重寫,如果需要重寫要清楚如何進行重寫,或者如何重寫能滿足業(yè)務(wù)需求。THANKYOU深圳市信息職業(yè)技術(shù)學(xué)院3.5命令的使用深圳市信息職業(yè)技術(shù)學(xué)院——保存命令列表保存命令框架實現(xiàn)介紹01目
錄列表保存命令開發(fā)示例02表單保存命令框架實現(xiàn)介紹03表單保存命令開發(fā)示例04保存命令注意事項05知識回顧平臺刪除命令實現(xiàn)介紹;自定義刪除命令開發(fā)示例;自定義刪除命令注意事項;學(xué)習(xí)目標(biāo)通過本節(jié)學(xué)習(xí)可以:掌握列表保存命令的重寫;掌握表單保存命令的重寫;掌握保存命令有哪些注意事項;了解列表保存命令平臺的實現(xiàn)邏輯;了解表單保存命令平臺的實現(xiàn)邏輯。01列表保存命令框架實現(xiàn)介紹平臺列表保存命令實現(xiàn)邏輯介紹平臺列表保存命令實現(xiàn)邏輯介紹列表保存命令前端部分在SIE.cmd.Save中實現(xiàn)的,后端保存邏輯在SaveCommand中實現(xiàn)的。重寫的列表保存命令,即使不處理后端邏輯,也必須添加后端CS命令文件,否則點擊重寫的保存命令會報錯。列表保存命令的命名規(guī)范:ListSave+實體名+Command;重寫保存命令的定義SIE.defineCommand('SIE.Web.LibMan.ReaderMans.Commands.ListSaveReaderCommand',{extend:'SIE.cmd.Save',meta:{text:"保存",group:"edit",iconCls:"icon-SaveEntityicon-blue"},});后端CS命令,前端和后端的全命名空間要完全一致。public
class
ListSaveReaderCommand:SaveCommand{}列表保存命令前端可重寫的方法列表保存命令前端可重寫的方法canExecute:function(view){}:是否可執(zhí)行方法,返回值為true或false;execute:function(view,source){}:執(zhí)行方法,命令執(zhí)行的入口,不建議重寫;onValidation:function(view){}:驗證方法,處理前端驗證,框架統(tǒng)一實現(xiàn),通常不需要重寫;onSaving:function(view){}:保存數(shù)據(jù)前的處理,調(diào)用了驗證的方法,通常不需要重寫;doSave:function(view){}:執(zhí)行保存操作的邏輯,會向后端請求數(shù)據(jù);onSaved:function(view,res){}:視圖數(shù)據(jù)提交保存后回調(diào)處理;onSavedMsg:function(view,res){}:保存后的提示信息平臺保存命令前端方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹canExecute:function(view){} 保存按鈕是否可執(zhí)行,返回值為true或者是false。canExecute:function(view){if(view.isListView){varresult=false;varpv=view.getParent();//判斷childif(pv){varcurrent=pv.getCurrent();if(current){if(!current.isNew()){result=_canExecute(view);}}}else{result=view.getData().isDirty();if(view.getCurrent()){for(vari=0;i<view.getData().data.items.length;i++){varisresult=view.getData().data.items[i].isDirty();if(isresult){result=true;break;}}}}returnresult;}returnthis.callParent(arguments);},var_canExecute=function(view){varresult;if(view.editMode===SIE.viewMeta.editMode.FORM){varcurrent=view.getCurrent();if(current){result=current.isChildrenDirty();}}else{result=view.getData().isDirty();}returnresult;};_canExecute私有方法的邏輯:編輯模式為表單模式,返回值為子是否為臟;編輯模式為行內(nèi):返回值為當(dāng)前視圖的數(shù)據(jù)是否為臟。為子,父的當(dāng)前操作行存在,且不是新增,是否允許執(zhí)行為_canExecute的邏輯。不為子,獲取的視圖數(shù)據(jù)只要有一行數(shù)據(jù)為臟,則保存按鈕允許操作。平臺保存命令前端方法實現(xiàn)邏輯介紹execute:function(view,source){} 執(zhí)行方法execute:function(view,source){varme=this;if(this.isExecuting==true)return;this.isExecuting=true;setTimeout(function(){me.isExecuting=false;},100,me);varisValid=this.onSaving(view);if(isValid)this.doSave(view);}onSaving:function(view){returnthis.onValidation(view);},onValidation:function(view){returnview.validateData();},處理框架的前端驗證前端驗證校驗通過,調(diào)用doSave的方法,去處理執(zhí)行的邏輯。方法實現(xiàn)邏輯介紹平臺保存命令前端方法實現(xiàn)邏輯介紹doSave執(zhí)行保存邏輯和onSaved保存后邏輯的方法。 doSave:function(view){varme=this;varchildren=view.getChildren();varwithChildren=children.length>0;view.execute({withChildren:withChildren,success:function(res){me.onSaved(view,res);}});}, onSaved:function(view,res){varme=this;varoperationView=view;if(view.associateCmd){operationView=view.associateCmd.view;}_viewReload(operationView);me.onSavedMsg(view,res);},通過view.execute向后端請求數(shù)據(jù),執(zhí)行保存數(shù)據(jù)的邏輯,在請求成功的方法中,調(diào)用onSaved方法處理保存后的邏輯。保存成功后重新加載列表的數(shù)據(jù),并提示保存成功的消息。方法實現(xiàn)邏輯介紹平臺保存命令前端方法實現(xiàn)邏輯介紹_viewReload加載列表的私有方法和onSaveMsg消息提示方法/***private私有方法,列表加載數(shù)據(jù)*@param{SIE.view.ListView}view-視圖對象*/var_viewReload=function(view){if(view.isListView){view.reloadData();}}; /***@protectedvirtualvoid*保存后的提示信息*@param{type}view*@param{type}res*/onSavedMsg:function(view,res){SIE.Msg.showInstantMessage('保存成功'.t());},重新加載表格的數(shù)據(jù)。倒計時提示保存成功的的消息。方法實現(xiàn)邏輯介紹列表保存命令后端可重寫的方法列表保存命令后端可重寫的方法Excute:執(zhí)行方法,不建議重寫;OnSaving:保存前方法,框架預(yù)留的一個空方法,用于處理保存前的邏輯;DoSave:執(zhí)行保存的邏輯,傳入的參數(shù)是前端操作過變更的數(shù)據(jù);OnSaved:保存后方法,框架預(yù)留的一個空方法,用于處理保存后的業(yè)務(wù)邏輯;平臺保存命令后端方法實現(xiàn)邏輯介紹public
class
SaveCommand:ListViewCommand
{
//命令名
public
const
stringCommandName="SIE.cmd.Save"; //執(zhí)行方法 protected
override
objectExcute(ViewArgsargs,stringscope)
{EntityListdeserializeData=GetDeserializeData(args,scope);OnSaving(deserializeData);DoSave(deserializeData);OnSaved(deserializeData);
returndeserializeData;
}
//保存前動作
protected
virtual
voidOnSaving(EntityListdata)
{
}
//進行保存 protected
virtual
voidDoSave(EntityListdata)
{RepositoryFactory.Save(data);data.MarkSaved();
} //保存后動作 protected
virtual
voidOnSaved(EntityListdata)
{
}
}方法實現(xiàn)邏輯介紹后端執(zhí)行方法,獲取反序列化之后的數(shù)據(jù),調(diào)用保存前、保存中和保存后方法。執(zhí)行保存操作,如果有驗證和提交事件的處理,會同步進行處理。標(biāo)記數(shù)據(jù)為未修改的狀態(tài)。思考題在前端命令中定義私有方法是如何進行定義的?SIE.defineCommand('SIE.cmd.Save',function(){/***private私有方法,列表加載數(shù)據(jù)*@param{SIE.view.ListView}view-視圖對象*/var_canExecute=function(view){ };return{meta:{text:"保存",group:"edit",iconCls:"icon-SaveEntityicon-blue"},02列表保存命令開發(fā)示例思考題讀者管理功能設(shè)置為行內(nèi)操作,重寫保存命令,保存邏輯為:讀者管理數(shù)據(jù)保存成功后,關(guān)聯(lián)的讀者分類的可借書數(shù)量加1?從需求分析可以看出,該業(yè)務(wù)只有后端處理邏輯,所以前端方法不需要重寫。列表保存命令重寫示例1、添加命令的js文件,繼承SIE.cmd.Save,js文件的生成操作設(shè)置為嵌入的資源;SIE.defineCommand('SIE.Web.XyTest.ReaderMans.Commands.ListSaveReaderCommand',{extend:'SIE.cmd.Save',meta:{text:"保存",group:"edit",iconCls:"icon-SaveEntityicon-blue"},});開發(fā)步驟列表保存命令重寫示例2、在控制器中實現(xiàn)讀者分類可借書數(shù)量加1的邏輯;開發(fā)步驟列表保存命令重寫示例3、添加保存命令的CS文件,繼承SaveCommand,重寫保存后方法OnSaved,在保存后方法中處理參數(shù),調(diào)用步驟2處理讀者分類可借書數(shù)量加1邏輯的方法;開發(fā)步驟列表保存命令重寫示例4、在界面的ConfigListView方法中使用命令,運行項目操作保存按鈕即可看到效果;開發(fā)步驟03表單保存命令框架實現(xiàn)介紹平臺表單保存命令實現(xiàn)邏輯介紹平臺表單保存命令實現(xiàn)邏輯介紹表單保存命令前端部分在SIE.cmd.FormSave中實現(xiàn)的,后端保存邏輯在FormSaveCommand中實現(xiàn)的。重寫的表單保存命令,即使不處理后端邏輯,也必須添加后端CS命令文件,否則點擊重寫的保存命令會報錯。表單保存命令的命名規(guī)范:FormSave+實體名+Command;重寫表單保存命令的定義SIE.defineCommand('SIE.Web.LibMan.ReaderMans.Commands.FormSaveReaderCommand',{ extend:'SIE.cmd.FormSave',meta:{text:"保存",group:"edit",iconCls:"icon-SaveEntityicon-blue"},});后端CS命令,前端和后端的全命名空間要完全一致。public
class
ListSaveReaderCommand:FormSaveCommand{}表單保存命令前端可重寫的方法表單保存命令前端可重寫的方法canExecute:function(view){}:是否可執(zhí)行方法,返回值為true或false;execute:function(view,source){}:執(zhí)行方法,命令執(zhí)行的入口,不建議重寫;onValidation:function(view){}:驗證方法,處理前端驗證,框架統(tǒng)一實現(xiàn),通常不需要重寫;onSaving:function(view){}:保存數(shù)據(jù)前的處理,調(diào)用了驗證的方法,通常不需要重寫;doSave:function(view){}:執(zhí)行保存操作的邏輯,會向后端請求數(shù)據(jù);onSaved:function(view,res){}:視圖數(shù)據(jù)提交保存后回調(diào)處理;onSavedMsg:function(view,res){}:保存后的提示信息平臺保存命令前端方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹canExecute:function(view){} 保存按鈕是否可執(zhí)行,返回值為true或者是false。
canExecute:function(view){if(view.isDetailView){varresult=false;varcurrent=view.getCurrent();if(current){result=current.isDirty();}returnresult;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024新疆二手房買賣合同模板:包含房屋質(zhì)量及安全隱患排查3篇
- 2024影樓與攝影師違約責(zé)任及賠償合同范本3篇
- 2024智能化設(shè)計合同范本
- 23《童年的發(fā)現(xiàn)》說課稿2023-2024學(xué)年統(tǒng)編版語文五年級下冊
- 2 丁香結(jié) 說課稿-2024-2025學(xué)年統(tǒng)編版語文六年級上冊
- 專業(yè)餐飲顧問服務(wù)合同(2024年修訂)版
- 2024跨境電子商務(wù)平臺搭建與運營服務(wù)合同
- 職業(yè)學(xué)生退宿申請表
- 2024年簡化版勞務(wù)協(xié)議格式
- 福建省南平市吳屯中學(xué)2021年高二化學(xué)上學(xué)期期末試卷含解析
- 《三本白皮書》全文內(nèi)容及應(yīng)知應(yīng)會知識點
- 藝術(shù)漆培訓(xùn)課件
- 專題14 思想方法專題:線段與角計算中的思想方法壓軸題四種模型全攻略(解析版)
- 建德海螺二期施工組織設(shè)計
- 山東省菏澤市2023-2024學(xué)年高一上學(xué)期期末測試物理試題(解析版)
- 2024年學(xué)校后勤日用品采購合同范本2篇
- 上海教育出版社 藝術(shù) 八年級上冊第三單元 鄉(xiāng)音鄉(xiāng)韻 京腔京韻系鄉(xiāng)情 教學(xué)設(shè)計
- 人教版(2024新教材)七年級上冊數(shù)學(xué)第一章《有理數(shù)》單元測試卷(含答案)
- 商業(yè)倫理與企業(yè)社會責(zé)任(山東財經(jīng)大學(xué))智慧樹知到期末考試答案章節(jié)答案2024年山東財經(jīng)大學(xué)
- (正式版)QBT 8006-2024 年糕 標(biāo)準(zhǔn)
- (完整版)譯林版英語詞匯表(四年級下)
評論
0/150
提交評論