/** * createname:信呼开发团队-雨中磐石 * homeurl:http://www.rockoa.com/ * Copyright (c) 2016 rainrock * Date:2016-01-01 * remark:本文件页面是系统公共录入页面上主要js文件,处理录入页面上交互设计,公式计算等。 xh xhxh xh xh xh xh xhh xhxhxhxhxh xhxhxh xhxhxxh xhxh xhxhxhxh xh xh xhxhxhxhxhxhxh xh xh xhxhxhxhxh xhxhxh xh xh xh xh xhxhxhxhxh xh xh xh xh xh xh xh xh xh xh xhxhxhxhxh xhxh */ var ismobile=0,firstrs={},alldata={},isxiang=0, submitparams={},//要提交提交的参数 subdataminlen=[];//子表至少行数 function initbodys(){}; function initother(){}; function savesuccess(){}; function saveerror(){}; function eventaddsubrows(){} function eventdelsubrows(){} function geturlact(act,cns){ var url=js.getajaxurl(act,'mode_'+moders.num+'|input','flow',cns); return url; } function initbody(){ modenum = moders.num; js.tanstyle = 1; js.importjs('webmain/flow/input/inputjs/input_two.js?'+Math.random()+'', function(){ for(var oi in inputtwo)c[oi]=inputtwo[oi]; initbody_tmp(); }); } function initbody_tmp(){ initother(); $('body').keydown(function(et){ var code = et.keyCode; if(code==27){ c.close(); return false; } if(et.altKey){ if(code == 83){ get('AltS').click(); return false; } } }); var len = arr.length,i,fid,nfid='',flx,lhtbo=[]; for(i=0;i0){ js.importjs('mode/kindeditor/kindeditor-min.js', function(){ for(var i=0;i=d.enddt){ this.showtx(''+sdtname+'必须大于'+edename+'', 'enddt'); return false; } } //子表判断记录是不是空 len = subfielsa.length; for(i=0;i0 && zbd.length10)return; } this.subshantistime1 = setTimeout(function(){c.subshantiss(i,fid,oi+1);},200); }, saveok:function(d){ js.setmsg('保存中...'); get('AltS').disabled=true; js.ajax(geturlact('save'),d,function(str){ var a = js.decode(str); c.backsave(a, str); }, 'post', function(){ get('AltS').disabled=false; js.setmsg('error:内部错误,可F12调试'); }); }, backsave:function(a,str){ var msg = a.msg; if(a.success){ //var msgs = (mid=='0')?'新增':'编辑' var sumsg = ''+a.msg+'成功'; js.setmsg(sumsg,'green'); js.msg('success',sumsg); this.formdisabled(); $('#AltSspan').hide(); form('id').value=a.data; isedit=0; savesuccess(); this.callback(a.data, sumsg); try{ var nowli= js.getoption('nowListener'); if(nowli)js.sendevent('reload',nowli); js.backla();}catch(e){} }else{ if(typeof(msg)=='undefined')msg=str; get('AltS').disabled=false; this.showtx(msg);//错误提醒 saveerror(msg); } }, changeturn:function(){ if(get('sysisturn').checked){ get('AltS').value='提交'; }else{ get('AltS').value='保存草稿'; } }, showdata:function(){ var smid=form('id').value; if(smid=='0'||smid==''){ isedit=1; $('#AltSspan').show(); c.initdatelx(); c.initinput(); initbodys(smid); }else{ js.setmsg('加载数据中...'); js.ajax(geturlact('getdata'),{mid:smid,flownum:moders.num},function(str){ c.showdataback(js.decode(str)); },'post', function(){ js.setmsg('error:内部错误,可F12调试'); }); } }, //预览文件 downshow:function(id, ext,pts){ js.yulanfile(id, ext,pts); }, showfilestr:function(d){ var flx = js.filelxext(d.fileext); var s = ' '+d.filename+' ('+d.filesizecn+')'; return s; }, loadicons:function(){ if(!this.loacdis){ $('body').append(''); this.loacdis= true; } }, showviews:function(o1){ this.loadicons(); var url = (typeof(o1)=='string')? o1 : o1.src; $.imgview({'url':url,'ismobile':ismobile==1}); }, initdatelx:function(){ }, subcount:3,//子表数量 showdataback:function(a){ if(a.success){ var da = a.data; alldata= da; js.setmsg(); var len = arr.length,i,fid,val,flx,ojb,j; data=da.data; for(i=0;i-1)ojb[j].checked=true; } }else if(flx=='checkbox'){ form(fid).checked = (val=='1'); }else if(flx=='htmlediter' && this.editorobj[fid]){ this.editorobj[fid].html(val); }else if(flx.substr(0,6)=='change'){ if(form(fid))form(fid).value=val; fid = arr[i].data; if(!isempt(fid)&&form(fid))form(fid).value=da.data[fid]; }else{ if(form(fid))form(fid).value=val; } } } isedit=da.isedit; if(form('base_name'))form('base_name').value=da.user.name; if(form('base_deptname'))form('base_deptname').value=da.user.deptname; js.downupshow(da.filers,'fileidview', (isedit==0)); var subd = da.subdata,subds; for(j=0;j0){ $('.status').css({'color':da.statuscolor,'border-color':da.statuscolor}).show().html(da.statustext); } }else{ get('AltS').disabled=true; this.formdisabled(); js.setmsg(a.msg); js.msg('msg',a.msg); } }, date:function(o1,lx){ $(o1).rockdatepicker({view:lx,initshow:true}); }, close:function(){ window.close(); }, formdisabled:function(){ $('form').find('*').attr('disabled', true); $('#fileupaddbtn').remove(); }, upload:function(){ js.upload('',{showid:'fileidview'}); }, changeuser:function(na, lx){ js.changeuser(na,lx); }, changeclear:function(na){ js.changeclear(na); }, editorobj:{}, subtablefields:[], subtablestring:[], initsubtable:function(){ var i,oba,j,o,nas,nle,nasa,fname,o2,str,cell,i1; this.subcount = $("input[name^='sub_totals']").length; for(i=0;i2)nna+='_'+nasa[1]+''; if(nle>3)nna+='_'+nasa[2]+''; fname.push(nna.substr(0,nna.length-1)); } this.subtablefields[i]=fname; cell = o2.rows[1].cells.length; str=''; for(i1=0;i1'+o2.rows[1].cells[i1].innerHTML+''; this.subtablestring[i]=str; } } //引入公式相关的js文件 var gongsistr=''; for(i=0;i-1)js.importjs('js/rmb.js'); if(gongsistr.indexOf('js.')>-1)js.importjs('js/jsrock.js'); } }, getsubdata:function(i){ var d=[]; if(!get('tablesub'+i+''))return d; var len=parseFloat(form('sub_totals'+i+'').value); var i1,ji,i2,far=this.subtablefields[i],lens=far.length,fna; for(i1=0;i10)d.push(a); } return d; }, delrow:function(o,xu){ if(isedit==0){ $(o).remove(); return; } var o1=get('tablesub'+xu+'').rows; if(o1.length<=2){ js.msg('msg','最后一行不能删除'); return; } $(o).parent().parent().remove(); this.repaixuhao(xu); this.rungongsi(); eventdelsubrows(xu); }, rungongsi:function(){ var i,len=gongsiarr.length,d; for(i=0;i'+o2.rows[oi].cells[i].innerHTML+''; str = this.subtablestring[xu]; oba = o.find('tr:eq('+oi+')').find('[name]'); oj = parseFloat(form('sub_totals'+xu+'').value); var narrs=[],fasr=this.subtablefields[xu],wux=''+xu+'_'+oj+''; for(i=0;i'+str+''); d=js.apply({sid:'0'},d); for(d1 in d){ ax2=d1+wux; if(form(ax2))form(ax2).value=d[d1]; } this.repaixuhao(xu); this.initdatelx(); var nusa = [""+xu+"",""+oj+"",wux,nass,nna]; if(!isad)eventaddsubrows(xu, oj); return nusa; }, adddatarow:function(xu, oj, d){ d=js.apply({sid:'0'},d); var fasr=this.subtablefields[xu],ans; for(var i=0;i0){ ans = this.getxuandoi(o1.name); nae = ans[3]; //表单name名称 nae2= ans[2]; //格式0_0 iszb= parseFloat(ans[0]); iszbs = iszb+1; //第几个子表 }else{ nae = o1.name; } for(i=0;i0){ this.zhujisuags(gongsi, d.fields, nae2, false);//子表行内计算 } } oninputblur(nae,zb, o1,ans[0],ans[1]); if(o1.selectedIndex){ var o2= o1.options[o1.selectedIndex]; if(o2.text=='其它..'){ js.prompt('新的选项','请输入...', function(jg,txt){ if(jg=='yes' && txt){ $.post('?m=input&a=saveoption&d=flow',{num:o1.value,name:txt}); o2.text = txt;o2.value = txt; }else{ o1.value = ''; } }); } } }, splitgongs:function(gongsi){ if(gongsi.indexOf(']')<0)gongsi = '['+gongsi+']'; var carr = gongsi.split(']'),i,bd=[],st; for(i=0;i-1 || gongsi.indexOf('zb1.')>-1 || gongsi.indexOf('zb2.')>-1 || gongsi.indexOf('zb3.')>-1 || gongsi.indexOf('zb4.')>-1){ blarr = this.pipematch(gongsi); zb = blarr[0].split('.')[0].replace('zb','');//哪个子表 dds = this.getsubdata(zb); for(i=0;i2)val=js.float(val); form(ne).value=val; }catch(e){ alert(''+ne+'计算公式设置有错误:'+gongss+'\n\n'+vlas+''); } } return val; }, pipematch:function(str){ var star = str.match(/\{(.*?)\}/gi),i; var b = []; if(star)for(i=0;i