MES開發(fā)與應用 課件 3.5.9 工業(yè)管理軟件開發(fā)基礎-命令的使用-導入命令_第1頁
MES開發(fā)與應用 課件 3.5.9 工業(yè)管理軟件開發(fā)基礎-命令的使用-導入命令_第2頁
MES開發(fā)與應用 課件 3.5.9 工業(yè)管理軟件開發(fā)基礎-命令的使用-導入命令_第3頁
MES開發(fā)與應用 課件 3.5.9 工業(yè)管理軟件開發(fā)基礎-命令的使用-導入命令_第4頁
MES開發(fā)與應用 課件 3.5.9 工業(yè)管理軟件開發(fā)基礎-命令的使用-導入命令_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

3.5命令的使用深圳市信息職業(yè)技術學院——導入命令目

錄平臺導入命令使用通用說明01導入命令框架實現(xiàn)介紹02導入命令開發(fā)示例-使用框架導入模板03導入命令開發(fā)示例-自定義導入模板04知識回顧框架選擇命令實現(xiàn)介紹;自定義選擇命令的開發(fā)實現(xiàn);自定義選擇命令注意事項;學習目標通過本節(jié)學習可以:掌握平臺導入命令的使用配置;掌握導入命令的重寫;了解導入命令框架實現(xiàn)的邏輯。01平臺導入命令使用通用說明平臺導入命令使用通用說明平臺導入命令使用通用說明在工業(yè)管理軟件中要使用導入excel,需要在調試或者是部署的工程中直接或者間接引用NPOI包(引用的版本根據(jù)具體項目的版本而定),下圖以WebClient直連數(shù)據(jù)庫調試為例間接依賴NPOI包文件。平臺導入命令使用通用說明平臺導入命令使用通用說明平臺通用導入命令的配置:View.UseImportCommands();下載的excel模板列頭配置是在對應功能的ViewConfig配置ConfigImportView方法。如在讀者管理中使用默認導入命令的實現(xiàn): 1、導入命令的配置:

2、配置下載模板:平臺導入命令使用通用說明平臺導入命令使用通用說明 3、效果,可以正常下載模板和進行數(shù)據(jù)導入。

平臺通用導入命令只能做一些基礎的數(shù)據(jù)導入,對于業(yè)務復雜,或者是需要自定義模板的導入需要重寫導入命令。如上面讀者管理功能中使用默認的導入命令,類別號無法關聯(lián)讀者分類進行校驗,單位快碼的數(shù)據(jù)在快碼表不存在也能正常導入數(shù)據(jù)等。02導入命令框架實現(xiàn)介紹導入命令框架實現(xiàn)介紹導入命令框架實現(xiàn)介紹導入命令框架前端是在SIE.Web.Common.Import.Commands.ImportCommandBase中實現(xiàn)的,后端是在ImportCommandBase類中實現(xiàn)的。導入命令的命名規(guī)范:Import+實體名+Command或實體名+ImportCommand;重寫導入命令的前端定義:SIE.defineCommand('SIE.Web.LibMan.ReaderMans.Commands.ReaderManImportCommand',{extend:'SIE.Web.Common.Import.Commands.ImportCommandBase',meta:{text:"導入",group:"business",iconCls:"icon-ImportDataicon-blue"},});其中:導入命令的分組設置為business。后端CS命令,前端和后端的全命名空間要完全一致。public

class

ReaderManImportCommand:ImportCommandBase{}導入命令常用可重寫的方法和屬性導入命令常用可重寫的方法和屬性BehaviorName:初始化下載模板類型,枚舉值為Download和DownloadCustom;BehaviorName=‘Download’:下載默認類型模板,即下載列模板是在ConfigImportView中配置的,BehaviorName=“DownloadCustom”下載自定義列模板;canExecute:function(view){}:是否可執(zhí)行方法,框架默認是返回true,任何時候導入按鈕都可操作;downloadTemplateSuccess:function(res){}:請求下載模板成功后處理,使用自定義下載模板,需要重寫此方法;creatImportWindow:function(myview){}:創(chuàng)建導入面板,導入按鈕打開的窗體不使用框架的而是自定義實現(xiàn)需要重寫此方法;導入命令常用可重寫的方法導入命令常用可重寫的方法GetImportCompleted:獲取導入完成處理邏輯,該方法是虛方法,繼承平臺導入命令的父類,必須實現(xiàn);GetImportHandleType:獲取導入類型,該方法是虛方法,繼承平臺導入命令的父類,必須實現(xiàn);Excute:執(zhí)行方法,如果是使用自定義下載列模板,該方法需要重寫。導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹canExecute:是否可執(zhí)行方法;execute:執(zhí)行方法;canExecute:function(view){returntrue;},execute:function(listView,source){myview=listView;//保存當前視圖對象

varme=this;//初始化下載模板類型

me._downloadTemplateType();var_importWindow=me.creatImportWindow(myview);_importWindow.show();},總是可以執(zhí)行,可根據(jù)實際業(yè)務進行重寫導入命令的執(zhí)行邏輯,不建議重寫會根據(jù)BehaviorName的值進行初始化下載模板類型,為Download下載默認類型模板,為DownloadCustom下載自定義列模板,該方法不需要進行重寫,通過改變BehaviorName的值能滿足業(yè)務需求。調用創(chuàng)建導入面板的方法顯示導入面板導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportWindow:創(chuàng)建導入面板--打開窗體;creatImportWindow:function(myview){varme=this;varform=me.creatImportFormPanel(myview);

vargrid=me.creatImportGridPanel();me._progressBar=newExt.ProgressBar({renderTo:Ext.getBody(),width:585}); varwin=Ext.create("Ext.window.Window",{title:"導入Excel".t(),//標題

draggable:false,height:485,width:"60%",//寬度

modal:true,//是否模態(tài)窗口,默認為falseresizable:true,frame:true,items:[form,grid,me._progressBar]});me._progressBar.hide();returnwin;},創(chuàng)建一個表單面板創(chuàng)建一個網(wǎng)格列表面板創(chuàng)建工具欄,寬度為585創(chuàng)建Window彈出窗體,高度為485,寬度為頁面寬度的60%,控件包括表單面板,列表面板和工具欄隱藏工具欄返回window窗體導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportFormPanel:創(chuàng)建導入面板--表單;creatImportFormPanel:function(myview){varme=this;

varuploadBtn=Ext.create('Ext.button.Button',{text:'導入'.t(),itemId:'btnOK',iconCls:'iconfonticon-Upload',formBind:true,//onlyenabledoncetheformisvaliddisabled:true,handler:function(){}});vardownTempleBtn=Ext.create('Ext.button.Button',{text:'下載模板'.t(),itemId:'templatebutton',iconCls:'iconfonticon-Download',handler:function(){ }});varform=newExt.form.FormPanel({});returnform;},創(chuàng)建上傳按鈕上傳按鈕的邏輯處理創(chuàng)建下載模板按鈕下載模板按鈕的邏輯處理創(chuàng)建表單面板返回創(chuàng)建好的表單面板導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportFormPanel方法導入按鈕的執(zhí)行邏輯;handler:function(){varfield=Ext.getCmp('filefield');varnewValue=field.getValue();

varfile=field.fileInputEl.dom.files.item(0);varfileReader=newFileReader('file://'+newValue);fileReader.readAsDataURL(file);fileReader.onload=function(e){ me._progressBar.show();me._progressBar.wait({interval:100,duration:36000000,text:'數(shù)據(jù)正在導入中,請稍候...'.t(),increment:10,scope:this,fn:function(){}});varparent=myview.getParent()!=null&&myview.getParent().getCurrent()!=null?myview.getParent().getCurrent().data:null;創(chuàng)建文件上傳組件獲取文件讀取文件執(zhí)行導入操作時,顯示等待進度條導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportFormPanel方法導入按鈕的執(zhí)行邏輯;myview.execute({data:{BehaviorName:'ImportData',Type:myview.model,SelectedParent:parent!=null?Ext.encode(parent):null,SelectedParentId:parent!=null?parent.Id:0,Data:e.target.result,ViewGroup:myview.viewGroup},success:function(res){//導入模板成功后處理數(shù)據(jù)

me._importExcelCallback(res,myview);me._progressBar.hide();SIE.Msg.showMessage(res.Result.ImportMsg);}});} }向后端請求數(shù)據(jù),執(zhí)行導入的邏輯傳到后端的參數(shù)導入成功后處理數(shù)據(jù),隱藏等待進度條,顯示提示信息導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportFormPanel方法下載按鈕的執(zhí)行邏輯vardownTempleBtn=Ext.create('Ext.button.Button',{text:'下載模板'.t(),itemId:'templatebutton',iconCls:'iconfonticon-Download',handler:function(){myview.execute({data:{BehaviorName:me.BehaviorName,Type:myview.model},success:function(res){me.downloadTemplateSuccess(res);}});}});下載模板向后端請求數(shù)據(jù),執(zhí)行下載邏輯傳到后端的參數(shù)下載模板成功之后的處理邏輯導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportFormPanel方法創(chuàng)建表單的處理邏輯;varform=newExt.form.FormPanel({bodyStyle:'padding:5px5px0',frame:true,border:true,layout:'anchor',width:"100%",buttons:[uploadBtn,downTempleBtn],items:[{xtype:'filefield',id:'filefield',name:'fileUpload',fieldLabel:'請選擇導入文件'.t(),reference:'basicFile',autoWidth:'true',msgTarget:'side',allowBlank:false,anchor:'99%',buttonText:'瀏覽'.t(),regex:/^.*\.(xls|xlsx)$/i,//正則表達式,用來檢驗文件格式

regexText:'請選擇Excel對應格式(*.xls|*.xlsx)文件!'.t(),},{xtype:'textfield',id:'msgtextfield',fieldLabel:'導入處理的消息'.t(),readOnly:true,anchor:'99%'}]});表單的按鈕:上傳、下載文件上傳的控件文本控件,顯示導入處理的消息導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportGridPanel:創(chuàng)建導入面板--Grid;creatImportGridPanel:function(){varme=this;//動態(tài)Jsonstore格式

varjsonText='{\"total\":\"0\",\"data\":[{\"index\":\"\"}],\"columnModle\":[{\"text\":\"No\",\"dataIndex\":\"index\"}],\"fieldsNames\":[{\"name\":\"index\"}]}';varjson=Ext.util.JSON.decode(jsonText);//創(chuàng)建strore對象

varstore=newExt.data.Store({proxy:newExt.data.MemoryProxy(null),fields:json.fieldsNames,data:json.data,totalProperty:json.total,pageSize:10});對動態(tài)json數(shù)據(jù)格式進行轉碼創(chuàng)建Store數(shù)據(jù)總的數(shù)據(jù)行每頁顯示10筆數(shù)據(jù)導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportGridPanel:創(chuàng)建導入面板--Grid;//創(chuàng)建動態(tài)JsonStore表格

varimportColumns=json.columnModle;varbbar=newExt.PagingToolbar({id:'failedtoolbar',xtype:'pagingtoolbar',store:store,//數(shù)據(jù)

displayInfo:true,//是否顯示數(shù)據(jù)信息

displayMsg:'顯示{0}-{1}條記錄,共{2}條'.t(),//只有displayInfo:true時才有效,用來顯示有數(shù)據(jù)的提示信息。

emptyMsg:"沒有記錄",//沒有數(shù)據(jù)顯示的信息,items:[{xtype:'combobox',itemId:'pageSizeItem',store:Ext.create('Ext.data.Store',{fields:['value'],data:[{"value":10},{"value":20},{"value":50},{"value":100},{"value":500},]}),創(chuàng)建表格分頁工具欄分頁下拉框控件設置導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportGridPanel:創(chuàng)建導入面板--Grid;listeners:{change:function(clt,newValue,oldValue,eOpts){vararrtydata=[];vartoolbar=Ext.getCmp('failedtoolbar');toolbar.store.setPageSize(newValue);varpageData=toolbar.getPageData();for(vari=pageData.fromRecord-1;i<=pageData.toRecord-1;i++){arrtydata.push(toolbar.store.data.items[i]);}Ext.getCmp('failedGrid').store.setData(arrtydata);}},value:me._pageSize,width:72,minValue:0,maxValue:5000,queryMode:'local',displayField:'value',valueField:'value',}],分頁下拉列表值變更事件的監(jiān)聽,設置頁碼分頁值為變更的值,進行表格數(shù)據(jù)的加載。導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportGridPanel:創(chuàng)建導入面板--Grid;listeners:{change:{fn:function(clt,newValue,oldValue,eOpts){vararrtydata=[];for(vari=this.getPageData().fromRecord-1;i<=this.getPageData().toRecord-1;i++){arrtydata.push(this.store.data.items[i]);}Ext.getCmp('failedGrid').store.setData(arrtydata);}}}});分頁工具欄變更事件的監(jiān)聽給表格設置數(shù)據(jù)導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportGridPanel:創(chuàng)建導入面板--Grid;vargrid=Ext.create("Ext.grid.Panel",{id:'failedGrid',name:'failedGrid',title:'導入失敗數(shù)據(jù)'.t(),xtype:'grid-filtering',//類型為鎖定表格

columns:importColumns,bodyStyle:'overflow-x:hidden;overflow-y:hidden',store:store,height:280,layout:"fit",width:'100%',loadMask:true,autoScroll:true,tbar:[{xtype:'button',id:'Importbutton',text:'導出Excel'.t(),handler:function(){vargrid=Ext.getCmp('failedGrid’); },}],bbar:bbar,});returngrid;},創(chuàng)建表格面板表格列,列為失敗行號、失敗原因和動態(tài)讀取的下載模板的列頭組成工具欄,加了一個導出Excel按鈕導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportGridPanel:創(chuàng)建導入面板--Grid;handler:function(){vargrid=Ext.getCmp('failedGrid');if(grid.store.config.totalProperty==='0'){SIE.Msg.showMessage('沒有出錯數(shù)據(jù)!'.t());return;}//varme=this;varfieldNames=[];grid.getStore().config.fields.forEach(function(item){varfieldName={};fieldName.key=;fieldName.header===='_Index'?'失敗行號'.t():.t();fieldNames.push(fieldName);});varrecordData=[];導出Excel按鈕數(shù)據(jù)邏輯處理導入命令框架方法實現(xiàn)邏輯介紹方法實現(xiàn)邏輯介紹creatImportGridPanel:創(chuàng)建導入面板--Grid;Ext.each(grid.getStore().getRange(),function(record){recordData.push(record.data);});varexportJsonData=[];recordData.forEach(function(row){varfieldData='';fieldNames.forEach(function(fieldName){varexportValue=row[fieldName.key];fieldData+='\"'+fieldName.key+'\":\"'+(exportValue===null?'':exportValue)+'\",';});varfieldDataStr='{'+fieldData.substr(0,fieldData.length-1)+'}';exportJsonData.push(JSON.parse(fieldDataStr.replace(/\n/g,"\\n").replace(/\r/g,"\\r")));});varexportJsonHeaders=[];fieldNames.forEach(function(value){exportJsonHeaders.push(value.header==='_MessageTip'?'失敗原因'.t():value.header.t())});me.jSONToExcelConvertor(exportJsonData,myview.label+Ext.util.Format.date(newDate(),'Ymdhis'),exportJsonHeaders);},思考題從導入命令框架實現(xiàn)邏輯可以看出,BehaviorName的值包括哪些?Download、DownloadCustom和ImportData。導入命令框架方法實現(xiàn)邏輯介紹ImportCommandBase類方法實現(xiàn)邏輯介紹Excute:導入數(shù)據(jù);///<paramname="importViewArgs">導入視圖參數(shù)</param>///<paramname="scope">使用范圍</param>///<returns>執(zhí)行結果</returns>protectedoverrideobjectExcute(ImportViewArgsimportViewArgs,stringscope){//獲取實體數(shù)據(jù)varmeta=ClientEntities.Find(importViewArgs.Type);if(scope!=meta.EntityType.GetQualifiedName())thrownewSystem.Security.SecurityException("參數(shù)type[{0}]與令牌不一致".FormatArgs(importViewArgs.Type));ImportHandleimportHandle=newImportHandle();switch(importViewArgs.BehaviorName){case"Download":returnimportHandle.DownloadTemplate(meta,GetImportTempleData());case"DownloadCustom":returnimportHandle.DownloadCustomTemplate(meta,GetImportHandleType(),GetImportTempleData());default:returnImportData(importViewArgs);}}下載模板按鈕,非自定義模板執(zhí)行的邏輯下載模板按鈕,自定義模板執(zhí)行的邏輯導入按鈕執(zhí)行的邏輯導入命令框架方法實現(xiàn)邏輯介紹ImportCommandBase類方法實現(xiàn)邏輯介紹GetImportHandleType和GetImportCompleted方法;

//

//摘要:

//獲取導入類型

protected

abstractTypeGetImportHandleType();

//

//摘要:

//獲取導入完成處理邏輯

protected

abstractImportCompletedGetImportCompleted();虛方法,繼承ImportCommandBase必須實現(xiàn)虛方法,繼承ImportCommandBase必須實現(xiàn)導入命令框架實現(xiàn)介紹導入命令框架實現(xiàn)介紹導入命令框架實現(xiàn)詳情參考。JS源碼CS源碼思考題重寫導入命令后端繼承?需要實現(xiàn)哪兩個方法?后端繼承ImportCommandBase,需要實現(xiàn)GetImportCompleted和GetImportHandleType方法。03導入命令開發(fā)示例-使用框架導入模板思考題導入列模板使用框架的,處理導入邏輯時,需要做數(shù)據(jù)關聯(lián)校驗,該如何實現(xiàn)?導入命令業(yè)務需求在讀者管理中添加導入命令,導入下載列模板使用框架的方法進行配置,數(shù)據(jù)校驗如下:1、類別號要在類別管理中存在的數(shù)據(jù),才能導入成功,否則提示異常;2、狀態(tài)只能是可用或者是禁用才能導入成功;3、已借書數(shù)量不能大于可借書數(shù)量,且大于等于0;4、單位要驗證在快碼中是否存在;5、讀者編號,姓名不能為空,且編號和姓名聯(lián)合驗證唯一。業(yè)務需求自定義導入命令開發(fā)步驟在客戶端添加導入命令的js文件,繼承SIE.Web.Common.Import.Commands.ImportCommandBase,js文件嵌入到資源。開發(fā)步驟自定義導入命令開發(fā)步驟添加導入命令的CS文件,繼承ImportCommandBase,實現(xiàn)抽象類。開發(fā)步驟自定義導入命令開發(fā)步驟GetImportCompleted方法的處理,導入完成時返回成功和失敗的數(shù)據(jù)。

return(DataRow[]drSuccess,DataRow[]drFailed)=>

{

};開發(fā)步驟自定義導入命令開發(fā)步驟在服務端添加導入的數(shù)據(jù)處理的handle類,實現(xiàn)接口IDisposable,IBusinessImport。開發(fā)步驟自定義導入命令開發(fā)步驟導入handle類方法和屬性說明。開發(fā)步驟自定義導入命令開發(fā)步驟導入列頭名屬性ColumnNameList的處理。開發(fā)步驟自定義導入命令開發(fā)步驟創(chuàng)建列驗證的方法CreaetColumnValid處理。開發(fā)步驟自定義導入命令開發(fā)步驟數(shù)據(jù)邏輯的處理。開發(fā)步驟

public

voidProcessBusinessDataHandle(DataRow[]drs)

{

varreaderMans=newEntityList<ReaderMan>();drs.ForEach(p=>

{

try

{

varreaderMan=newReaderMan();readerMan.ReaderNo=p[ColIndex(ColumnNameList[0])].ToString();readerMan.Name=p[ColIndex(ColumnNameList[1])].ToString();readerMan.ReaderCatId=Convert.ToDouble(p[ColIndex(ColumnNameList[2])].ToString());readerMan.BrowQty=Convert.ToInt32(p[ColIndex(ColumnNameList[3])].ToString());readerMan.Unit=p[ColIndex(ColumnNameList[4])].ToString();readerMan.State=LabelToEnum<State>(p[ColIndex(ColumnNameList[5])].ToString());readerMan.Phone=p[ColIndex(ColumnNameList[6])].ToString();readerMan.WeChat=p[ColIndex(ColumnNameList[7])].ToString();readerMan.CreateBy=RT.IdentityId;readerMan.CreateDate=DateTime.Now;readerMan.UpdateBy=RT.IdentityId;readerMan.UpdateDate=DateTime.Now;InvOrgIdExtension.SetInvOrgId(readerMan,RT.InvOrg);PhantomEntityExtension.SetIsPhantom(readerMan,false);readerMans.Add(readerMan);

}

catch(Exceptionex)

{

//設置失敗信息到失敗列,用于統(tǒng)計及顯示p[ImportDataHandle.MessageColumnName]=ex.Message;

}

});

//BulkSaver.Save(readerMans);BulkSaver.SetBatchEntityId(readerMans);RF.BatchInsert(readerMans);

}自定義導入命令開發(fā)步驟導入命令cs文件的獲取導入類型GetImportHandleType方法的返回值設置為導入的handle類。開發(fā)步驟自定義導入命令開發(fā)步驟配置下載模板。開發(fā)步驟自定義導入命令開發(fā)步驟使用命令。開發(fā)步驟自定義導入命令開發(fā)步驟效果,可以正常下載模板和導入數(shù)據(jù),數(shù)據(jù)驗證不符合要求的,原因會展示在導入失敗數(shù)據(jù)中。開發(fā)步驟04導入命令開發(fā)示例-自定義導入模板思考題做導入功能時,下載的模板是提前配置好的,點擊導入時,也需要做數(shù)據(jù)的關聯(lián)校驗,該如何實現(xiàn)?導入命令業(yè)務需求在讀者管理中添加導入命令,導入模板使用自定義模板,數(shù)據(jù)校驗如下:1、類別號要在類別管理中存在的數(shù)據(jù),才能導入成功,否則提示異常;2、狀態(tài)只能是可用或者是禁用才能導入成功;3、已借書數(shù)量不能大于可借書數(shù)量,且大于等于0;4、單位要驗證在快碼中是否存在;5、讀者編號,姓名不能為空,且編號和姓名聯(lián)合驗證唯一。業(yè)務需求自定義下載模板導入命令開發(fā)步驟這里的需求和“03導入命令實現(xiàn)示例-使用框架導入模板”的業(yè)務需求除了下載模板部分存在差異外,其他的需求都是一致,這里只對查詢部分實現(xiàn)步驟進行說明,其他的實現(xiàn)參考“03導入命令實現(xiàn)示例-使用框架導入模板”的實現(xiàn)

。將寫好excel下載模板放到WebClient工程中的wwwroot的Templates中。開發(fā)步驟自定義下載模板導入命令開發(fā)步驟右鍵“讀者管理導入模板”--屬性,設置復制到輸出目錄為“如果較新則復制”。開發(fā)步驟自定義下載模板導入命令開發(fā)步驟添加導入命令的js文件,將BehaviorName設置為DownloadCustom,重寫downloadTemplateSuccess方法。開發(fā)步驟SIE.defineCommand('SIE.Web.LibMan.ReaderMans.Commands.ReaderManCustomImportCommand',{extend:'SIE.Web.Common.Import.Commands.ImportCommandBase',meta:{text:"自定義下載模板導入",group:"business",iconCls:"icon-Downloadicon-blue"},executeIntervalMode:SIE.cmd.IntervalMode.Debounce.value,BehaviorName:"DownloadCustom",

/***請求下載模板成功后處理*@param

{any}

res*/downloadTemplateSuccess:function(res){

//利用服務端返回的數(shù)據(jù)創(chuàng)建模板文件并實現(xiàn)下載

varbstr=atob(res.Result),n=bstr.length,u8arr=newUint8Array(n);

while(n--){

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論