xinyb
2024-03-27 f87909326c2ff2c58da027163f64d9d8f9424b17
提交 | 用户 | age
a6a76f 1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
F 2 <script type="text/javascript">
3 var savedFunclink16='';
4 var spellPath="/<%=session.getAttribute(SessionKey.DATA_BASE_ID)%>/<%=session.getAttribute(SessionKey.VERSION_ID)%>/<%=session.getAttribute(SessionKey.SYSTEM_LANGUAGE)%>/";
5 var formId=<%=formId%>;
6 panelFormId=formId;
7 var formType=<%=formType%>;
8 var user="<%=userCode%>";
9 var isSuperUser="<%=isSuperUser %>";
10 var cccode='<%=session.getAttribute(SessionKey.CCCODE)%>';
11 //确认前状态
12 var predocstatus="[?predocstatus]";
13 var Custom_Doccode="@CustomDoccode@";
14 var isNew='<%=isNew%>';
15 var grid;//
16 var check;
17 var panJson;//全局
18 var docodeOK=true;//确定前是否保存
19 var ischeck=false;
20 var btnId=null;//决定按钮检查
21 //通过,驳回,时代按钮所需全局变量
22 var panelHasSave=false;//面板是否保存
23 var btnSave=false;//是否这两个按钮保存
24 //这个变量处理显示页面必用
25 var OA="";//全局,针对没有grid的时处理
26 var trandoc="";
27 var url='';
28 var iscanelProc=false;
29 var isrevokeProc=false;
30 var sumbitUnid=null;
31
32 function commitIs(check,flag){
904c9d 33     if(top.approvedDoc){
X 34         top.approvedDoc.getCurTabsIndex();
35     }
36     //flag标记数据范围检查已通过
a6a76f 37     showLoading();
F 38     if(typeof(mygrid)!='undefined'){
39         grid=mygrid;    
40     }    
41         var arry=[];    
42         var arry1=[];            
43         var g;        
44         var cs;    
45         var pan1={};
46         var palname="";
47     for(var p in panMain ){                
48         g=panMain[p];
49         panIndex=p;
50         cs=g.getPanMap(p);   
51         var _={};
52         var doc=getDoc('doccode',".value");    
53         _["panelAction"]=((isNew==1&&doc=="")? "add":"update");
54         _["panelTable"]=g.tableIs;
55         _["panelRecords"]=g.getPanMap(p);
56         _["doccode"]=doc;
57         _["isPrimaryPan"]=g.isPrimaryPan;
58         _["auditRecords"]=shenji(panIndex,g,doc);
59         if(typeof(mygrid)!='undefined'){
60             if(g.isPrimaryPan==1) grid.setPanelMasFormID(g.tableIs);           
61         }else{    
62               if(g.isPrimaryPan==1)
63                   palname=g.tableIs;
64                 _["wherepan"]=(typeof(g.where16_496)!='undefined'?g.where16_496:"");      
65         }
66         if(typeof(g.view)!='undefined'){          
67             _["panelAction"]=(((g.view && p!=0) || (isNew!=1&&doc!=""))? "update":_.panelAction); 
68         }
58e0f7 69         arry.push(_)
a6a76f 70         arry._YCAUDIT_=shenji(p,cs,doc);//审计处理        操作时间:2014-3-26 17:02:15 ——辛煜波                
F 71     }
72         var cc=check;
73
e91881 74     if (typeof (mygrid) != 'undefined') {
F 75         grid.setPanelActions(arry, 1);
76         grid.postDatas(check, function (temp, boo, datas) {
77             if (!boo) {
78                 closeLoading();
79             }
80         });
81     }
a6a76f 82
e91881 83     if (typeof (grid) != 'undefined') {
F 84         if (check == 3) {
85             grid.tran("", function (showIs, check) {
86                 parent.errShow.frame = parent.frames[inThisFrame];
87                 parent.errShow.show_divErro(showIs, check);
88                 btnId = null;
89             }, 3, flag);
90             tranOk = false;
91             grid.aflg = 0;
92         } else {
93             grid.save('', function (showIs, check) {
94                 parent.errShow.frame = parent.frames[inThisFrame];
95                 parent.errShow.show_divErro(showIs, check);
a6a76f 96                 btnId=null;
F 97             }, 2,flag);
98             }
99         }else{
100             var panel={};
101             panel["Change"]=[];    
102             panel["grids"]=[];    
103             panel["panels"]=arry;
104             panel["gType"]=497;        
105             panel["formid"]=formId;    
106             panel["oa"]=OA;    
107             panel["panelTable"]=palname;
108             panel["funlink"]=savedFunclink16;//保存后执行功能连接
109             panel["disableDuplicateSubmitUUID"]=systemUuid.uuid;
904c9d 110             panel["excludeSelectNextDocument"]=(top.approvedDoc==undefined?"":top.approvedDoc.excludeDocs) || "";
9e6422 111             if(<%=isshowonlinepaymentbutton%> == 1
F 112     )
113         {
114             panel["onlinePay"] = onlinePay.pay;//在线支付 xin 2022-9-13 17:05:10
115             // panel["clickTran"]=2; //保存时clickTran不能为2。1,2都是表示执行确认操作 by danaus 2024-01-15 08:55
116         }
117         var tojson = panel;
118         panJson = obj2str(panel);
119         if (check == 2) {
120             if (iscanelProc) {
121                 url = "<%=URL%>/gtGrid.do?m=save&formID=<%=formId%>&winType=497@p@0&field=DocCode@p@rowid&doccode="+doc+"&ProcGroupafterSavedoc=0&DealAfterDocSave=&cancelProc="+encodeText("<%=canelProc%>")+"&canPric=1";
a6a76f 122                     $.post(url,{"_gt_json":panJson},function(data){show_success1(data)},'text');
F 123                 }
124                 else if(isrevokeProc){
125                     url="<%=URL%>/gtGrid.do?m=save&formID=<%=formId%>&winType=497@p@0&field=DocCode@p@rowid&doccode="+doc+"&ProcGroupafterSavedoc=0&DealAfterDocSave=&revokeProc="+encodeText("<%=revokeProc%>")+"&revokePric=1";
126                     $.post(url,{"_gt_json":panJson},function(data){show_success1(data)},'text');
127                 }
128                 else{
129                     url="<%=URL%>/gtGrid.do?m=save&formID=<%=formId%>&winType=497@p@0";
130                     $.post(url,{"_gt_json":panJson},function(data){show_success1(data)},'text');
131                 }
132             }
133             else if(check==3){
134                 var url="<%=URL%>/gtGrid.do?m=tran&formID=<%=formId%>&winType=497@p@0&hasGrid=many&doccode=<%=doccode%>&trangroup=#transgroupcode#";   
135                 url=url.replace(/doccode=.*?&/g,"doccode="+encodeText("doccode=\'"+getDoc('doccode','.value')+"\'")+"&");
136                   $.post(url,{"_gt_json":getTranInfo(flag,tojson)},
137                 function(data){show_success1(data);closeLoading();
138                 if(typeof(savedExecFunclink)=='function'){
139                     savedExecFunclink();//针对16类型保存后执行功能连接
140                 }
141                 },'text'
142                 );
143            }
144         } 
145 }
146 function getTranInfo(flag,panJson){//确认时组装(保存和确认)
147     var total={};
1c19d5 148     panJson.dcFlag=(flag==undefined?0:flag);
a6a76f 149     total["save"]=panJson;
F 150     var tt={};
151     tt.panelAction=(isNew==1)? "add":"update";
152     tt.panelTable =panJson["panelTable"];
153     tt.oa = OA;
154     tt.gType=497;
155     tt.cudoc='@CustomDoccode@';
156     total["tran"]=tt;
157     return obj2str(total);
158 }
159 function getJson(flag){
160     var js=[];
161     var plane=panMain[panIndex].getPanMap();    
162     js[0]=plane;
163     var jt={}
164     jt.panelRecords=js;    
165     jt.panelAction=(isNew==1)? "add":"update";
166     jt.panelTable =panMain[panIndex].tableIs;
167     jt.oa = OA;
168     jt.gType=497;
169     jt.dcFlag=(flag==undefined?0:flag);
170     jt.cudoc='@CustomDoccode@';
171     jt.funlink=savedFunclink16;//保存后执行功能连接    
172     //审计数据集
173     var doc=getDoc('doccode','.value');    
174     jt.auditRecords=shenji(panIndex,plane,doc); //审计处理
175     return jt;
176 }
177 var refUrl="";
178 function show_success1(tx,fl){
179         if(tx.indexOf("datacheckError#|#")==0){//处理弹出数据范围检查窗体
180             parent.errShow.frame=parent.frames[inThisFrame];
181             parent.errShow.show_divErro(tx.replace("datacheckError#|#",""),check);
182             return;
183         }
184         if(tx){//保存
185             var txS=tx.split("#|#");
962f8d 186             if(txS.length>1&&txS[1].indexOf("@success")!=-1){//成功处理的
X 187                 if(txS[1]=="@success"){
188                      refUrl="?"+txS[3];
189                 }else{
190                     //有其他值,是在线支付
191                     let onlinePament = JSON.parse(new Base64().decode(txS[1].replace("@success", "")));
192                     if (onlinePament != null && onlinePament != "" && onlinePament.onlinePay != -1) {
193                         let type="commit";
194                         if(onlinePament.onlinePay==1){ //在线支付                           
195                              type="pay";                           
196                          }
197                         OpenPayAndRefund(getDoc('doccode', '.value'), type, formId);
198                         return;
199                     }
200                 }
a6a76f 201                 if(txS.length==6){//弹出取消确认返回内容
F 202                     procCallBack(txS[5],1,0);
203                 }
204                 if(typeof(savedExecFunclink)!='function'){
a1e8c7 205                     if(txS[0]!=null && txS[0]!=""){//下一单 xin 2022-8-1 10:00:01
X 206                         let nextDoc=txS[0].split(",");
207                         if(nextDoc.length==2){
208                             panPar.nextDocLink(nextDoc[1],true);//跳转
209                             return;
210                         }
211                     }
a6a76f 212                     location.href=refUrl;//如果要保存后执行功能链接则不刷新
F 213                 }
214             }else{
215                 closeLoading();
216                 var st=tx;
217                 if(tx.indexOf("tranError#|#")==0){
218                     st=tx.split("#|#")[1];
219                 }
220                 alert(st);
221             }
222         }else{//确定
223             if(refTo){
59226b 224                 location.href = refUrl;
F 225             }
226         }
a6a76f 227 }
59226b 228
F 229 function save(o, c) {
230     var flag = checkSession();//session失效后弹出登录框,flag为true时表示已经失效
231     if (flag) {
232         return;
233     }
234     if (!c || c == 0) {
235         if (o == 5) {//表示单据类型直接点保存,是为区分有在线支付功能时,确认也是执行保存操作
236             if ("undefined" != typeof onlinePay && onlinePay != null) {
237                 onlinePay.pay = 0;
238                 onlinePay.refund = 0;
239                 onlinePay.isOnlinePay = false;
240             }
241             o = 2;//转换为2
242         }
243         save$(o);
244     } else {
245         centerPopup(formId, 2, function () {
246             save$(o);
247         }, '');
248     }
a6a76f 249 }
59226b 250
F 251 function save$(op) {
252     showLoading();
253     var checkbool = true;
a6a76f 254     for(var c in panMain ){    //panMain为496的多个子面板集合
F 255          panIndex=c;//panIndex子面板元素
256          checkbool=checkUp();//检查必录问题 如果其中一个面板的必录没有录入 则返回false;
257          if(!checkbool){break;}
258     }     
259     if(checkbool){        
260         check=op;    
261         commitPan(check);
262     }else{closeLoading();}
263 }
264 function commitPan(check){//确定是凭证状态检查 
265 if(check==3){
266     var url='/panState.do?formid='+formId+"&docdate="+getDoc('docdate','.value')+"&periodtype=#periodtype#&companyId="+getDoc('#comanyId#','.value');
267     url=encodeURI(encodeURI(url));//必须两次
268     $.post(url,'',showPanMessge,'text');
269     }else{
270         commitIs(check);
271     }
272 }
273
274 var notOk='';//判断是否检查凭证定义的正确性,''为正确
275 function showPanMessge(date){
276     date=date.substring(0,date.length-1);
277     var mass=date.split("#");   
278     var in_fo=null; 
279     notOk='';
280     for(i=0;i<mass.length;i++){
281         if(mass[i]!=""&&mass[i]!=null){          
282                in_fo=mass[i].split(";pb;");
283             if(in_fo.length>1&&in_fo[1]=="0"){
284                 alert(in_fo[0]);
285 //                   if(confirm(in_fo[0])){                               
286                 notOk='not';             
287 //                  }else{
288 //                      notOk='not';
289 //              }                
290             }else{             
291                 if(confirm(in_fo[0])){  
292                     notOk='';
293                 }else{
294                     notOk='not';
295                     break;
296                 }
297                }
298         }
299     }
300     if(notOk==''){
301         commitIs(check);
302     }else{closeLoading();} 
303 }
304 function clearDoc(){//复单
305       isNew="1";
306       var pm=panMain[panIndex];
307       pm.isChange=1;
308     //  setDoc('doccode',".value=''");//单号
309     //  setDoc('docstatus',".value='#predocstatus#'");  //状态
310       var staname="";
311       var staname="";
312       if(typeof(stas)!="undefined"){
313           staname=stas['#predocstatus#'];
314       }else{
315           staname='起草';
316       }
317       setDocStatuInfo(staname);//
318       setDoc('docstatusname',".value='"+staname+"'");//状态描述
319       pm.isAddLong=false;//决定有按钮控件是否还加上一定长度,使整体格式整齐
320       location.href = document.URL+"&isNew=1&cp=1&doccode="+getDoc('doccode','.value');
321       panMain[panIndex].noCopy();//取消不复制字段
322 //       loadSet(#predocstatus#);//加载设置
323       cp=true;     
324       hiddenToolButton();      
325 //       mygrid.newRecord()
326 }
327 function delDoc(){ //删单
328     if(confirm("是否真的删除此单据?")) {
329         showLoading();
330         $.post("/panDelete.do?docstatus="+getDoc('docstatus','.value'),{"formid":formId,"doccode":getDoc('doccode','.value')},getMess,'text');   
331     }
332 }
333 function disDoc(){  //作废单
334     if(confirm("是否真的作废此单据?")) {
335         showLoading();
336         $.post("/panDiscard.do?docstatus="+getDoc('docstatus','.value'),{"formid":formId,"doccode":getDoc('doccode','.value')},getMess,'text');   
337     }
338 }
339 function getMess(data){
340     closeLoading();
341     var json=JSON.parse(data);
342     if(json.state==0){
343         alert('已经处理!');
344         if(opener!=null && typeof opener !="undefined" && opener.window!=null){
345             opener.window.location.reload();//刷新父窗口
346         }
347         closeme();//关闭当前窗口
348     }else{
4a23f4 349         //by by danaus 2022/9/13 17:52
F 350         if(json.msg.indexOf("@p@")) {
351             var msg=json.msg.split("@p@");
352             alert(msg[0]);
353             redirect(msg[1]);
354         }else {
355             alert(json.msg);//直接弹出错误
356         }
a6a76f 357     }
F 358 }
359     if(navigator.userAgent.match(/iPad|iPhone|Android/i)){
360         try{
361             var myScroll = new IScroll('#scrollbody', {
362                  mouseWheel: true,
363                  scrollbars: true,
364                  zoom: true,
365                  scrollX: true,
366                  scrollY: true,
367                  wheelAction: 'zoom'
368             });
369         }catch(e){}
370     }
371 var iscp=0;//1表示是复单
372 var js_where={};//496页卡格线参数条件查询
373 </script>