信呼OA版本v2.3.8
This commit is contained in:
81
js/worker.js
Normal file
81
js/worker.js
Normal file
@@ -0,0 +1,81 @@
|
||||
/**
|
||||
* 网址:www.rockoa.com
|
||||
* 异步url使用
|
||||
*/
|
||||
|
||||
var queue = {
|
||||
addqueuearr:[],
|
||||
yunoi:0,
|
||||
yunbool:false,
|
||||
callback:false,
|
||||
|
||||
//添加返回对应序号
|
||||
add:function(cans){
|
||||
if(!cans)cans={};
|
||||
var url = cans.url;
|
||||
if(!url)return -1;
|
||||
cans.url = url;
|
||||
this.addqueuearr.push(cans);
|
||||
if(!this.yunbool)this.runqueue(this.yunoi);//开始运行
|
||||
return this.addqueuearr.length-1;
|
||||
},
|
||||
//运行
|
||||
runqueue:function(i){
|
||||
this.yunbool = true;
|
||||
var da = this.addqueuearr[i];
|
||||
if(!da)return;
|
||||
$.ajax({
|
||||
type:'get',url:da.url,
|
||||
success:function(str){
|
||||
if(da.success)da.success(str, da, i);
|
||||
queue.nextqueue();
|
||||
},
|
||||
error:function(e){
|
||||
var str = '处理出错:'+e.responseText+''
|
||||
if(da.error)da.error(str, da, i);
|
||||
queue.nextqueue();
|
||||
}
|
||||
});
|
||||
},
|
||||
clearqueue:function(){
|
||||
this.addqueuearr=[];
|
||||
this.yunoi=0;
|
||||
this.yunbool=false;
|
||||
this.callback=false;
|
||||
},
|
||||
nextqueue:function(){
|
||||
this.addqueuearr[this.yunoi]=false;
|
||||
var len = this.addqueuearr.length;
|
||||
var oi = this.yunoi+1;
|
||||
this.yunoi=oi;
|
||||
if(oi<len){
|
||||
this.runqueue(oi);
|
||||
}else{
|
||||
this.yunbool=false;
|
||||
this.callback=false;
|
||||
}
|
||||
},
|
||||
//发送一组地址:
|
||||
addlist:function(darr,funb, lxs){
|
||||
var oi=0,zong=darr.length,i,bers;
|
||||
if(!lxs)lxs='处理';
|
||||
this.callback=false;
|
||||
if(!funb)funb=function(){};
|
||||
if(zong>0)js.msg('wait',''+lxs+'中(<span id="chulsss">0%</span>)...',0);
|
||||
for(i=0;i<zong;i++){
|
||||
bers = function(str){
|
||||
oi++;
|
||||
var bili = (oi/zong)*100;
|
||||
$('#chulsss').html(''+js.float(bili)+'%');
|
||||
if(bili==100){
|
||||
js.msg('success',''+lxs+'完成');
|
||||
funb();
|
||||
}
|
||||
if(queue.callback){
|
||||
queue.callback(str, bili);
|
||||
}
|
||||
};
|
||||
queue.add({url:darr[i],success:bers,error:bers});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user