提交 | 用户 | age
|
a6a76f
|
1 |
var rowid="";//当前选择id |
F |
2 |
var tempRowid=""; |
|
3 |
var insertRowids=[];//保存添加的rowid |
|
4 |
var updateRowids=[]; |
|
5 |
var insertArr=[]; |
|
6 |
var updateArr=[]; |
|
7 |
var dragArr=[]; |
|
8 |
var deleteArr=[]; |
|
9 |
var auditRecords=[]; |
77535c
|
10 |
var noName="@"; |
a6a76f
|
11 |
var priVa=""; |
F |
12 |
var check=true; |
|
13 |
var hasPri = (primary=="rowid"); |
7e368e
|
14 |
var isKeyUp=false; |
a6a76f
|
15 |
(function(){//处理json 待处理 |
F |
16 |
String.prototype.Trim = function(){ |
|
17 |
return this.replace(/(^\s*)|(\s*$)/g, ""); |
|
18 |
} |
|
19 |
String.prototype.LTrim = function(){ |
|
20 |
return this.replace(/(^\s*)/g, ""); |
|
21 |
} |
|
22 |
String.prototype.RTrim = function(){ |
|
23 |
return this.replace(/(\s*$)/g, ""); |
|
24 |
} |
|
25 |
pbjson={ |
|
26 |
toJson:function(jsonStr){ |
|
27 |
jsonStr=jsonStr.Trim(); |
|
28 |
if(jsonStr.indexOf("{")==0){ |
|
29 |
jsonStr=jsonStr.substring(1,jsonStr.length-1); |
|
30 |
} |
|
31 |
var vsd=jsonStr.split(";pb#"); |
|
32 |
var map={}; |
|
33 |
var vs=(":").split(":"); |
|
34 |
for(var i=0;i<vsd.length;i++){ |
|
35 |
//vs=vsd[i].split(":"); |
|
36 |
vs[0]=vsd[i].substring(0,vsd[i].indexOf(":")); |
|
37 |
vs[1]=vsd[i].substring(vsd[i].indexOf(":")+1); |
|
38 |
if(vs[0].indexOf("\"")==0||vs[0].indexOf("'")==0){ |
|
39 |
vs[0]=vs[0].substring(1,vs[0].length-1); |
|
40 |
} |
|
41 |
if(vs[1].indexOf("\"")==0||vs[1].indexOf("'")==0){ |
|
42 |
vs[1]=vs[1].substring(1,vs[1].length-1); |
|
43 |
} |
|
44 |
map[vs[0]]=vs[1]; |
|
45 |
} |
|
46 |
return map; |
|
47 |
} |
|
48 |
}; |
|
49 |
pb={ |
|
50 |
json:pbjson |
|
51 |
}; |
|
52 |
})(); |
|
53 |
function nodeClick(node){//点击节点进入 |
8a8a3c
|
54 |
if(checkSession()){ |
X |
55 |
return false; |
|
56 |
} |
a6a76f
|
57 |
if(panMain[panIndex].isChange!=0){savaUpdateNode();}//保存修改的节点 |
F |
58 |
rowid=$("span:first",node).attr("id"); |
|
59 |
priVa=$("span:first",node).attr("nodevalue"); |
|
60 |
tempRowid=rowid;//更新节点名用到 点击的是新增的节点时 |
|
61 |
var index=seachArray(insertRowids,rowid);//双击新增的节点 |
|
62 |
if(index!=-1){ |
|
63 |
newNodeDBClick(i); |
|
64 |
return; |
|
65 |
} |
|
66 |
index=seachArray(updateRowids,rowid); |
|
67 |
if(index!=-1){//判断双击的是否是新增节点 |
|
68 |
updateNodeDBClick(index); |
|
69 |
return; |
|
70 |
} |
|
71 |
var rid=(primary==""||primary=="rowid")?rowid:$("span:first",node).attr("nodevalue"); |
|
72 |
//$.post("treeData.jsp",{"rid":rid,"info":1},function(data){ |
|
73 |
// setPanelValue(data); |
|
74 |
// panMain[panIndex].isChange =0; |
|
75 |
//},"json"); |
|
76 |
$.post("treeData.jsp",{"rid":rid,"info":1},function(data){ |
|
77 |
var json=pb.json.toJson(data,";pb#"); |
|
78 |
setPanelValue(json); |
|
79 |
panMain[panIndex].isChange =0; |
|
80 |
}); |
|
81 |
} |
|
82 |
function newNodeDBClick(index) |
|
83 |
{//双击新增节点 |
|
84 |
var node=insertArr[index]; |
|
85 |
setPanelValue(node); |
|
86 |
} |
|
87 |
function updateNodeDBClick(index) |
|
88 |
{ |
|
89 |
var node=updateArr[index]; |
|
90 |
setPanelValue(node); |
|
91 |
} |
|
92 |
function addNode(type)//添加节点 type 0添加同级节点 1添加子节点 |
|
93 |
{ |
|
94 |
var flag = checkSession();//session失效后弹出登录框,flag为true时表示已经失效 |
|
95 |
if(flag){ |
|
96 |
return; |
|
97 |
} |
7e368e
|
98 |
rowidOnkeyUp();//设置名称联动树结构名称 xin 2022-6-30 15:34:05 |
a6a76f
|
99 |
var selectNode=simpleTree.get(0).getSelected(); |
F |
100 |
|
|
101 |
if(selectNode.find(">span").html()==null) |
|
102 |
{ |
|
103 |
$.messager.alert("提示","请选择节点!","info"); |
|
104 |
return; |
|
105 |
} |
|
106 |
if(type!=0){ |
|
107 |
if(selectNode.attr("lqc")){ |
|
108 |
$.messager.alert("提示","请选择节点!","info"); |
|
109 |
return; |
|
110 |
} |
|
111 |
} |
|
112 |
var temp=simpleTree.get(0).getSelected(); |
|
113 |
if(type!=0 && temp.find('>ul').attr("class")=='ajax') |
|
114 |
{ |
|
115 |
$.messager.alert("提示","该节点数据尚未加载!","info"); |
|
116 |
return; |
|
117 |
} |
|
118 |
if(0!=panMain[panIndex].isChange){ |
|
119 |
savaUpdateNode(); |
|
120 |
}//保存修改的节点 |
|
121 |
clearPanel();//清空控件值 |
|
122 |
$.post("/getRowid.do","",function(data){ |
|
123 |
var nodeName=buildDisplayNode(); |
|
124 |
simpleTree.get(0).addNode(data,nodeName,type,function(selectNode,newNode){ |
|
125 |
rowid=selectNode.attr("id"); |
|
126 |
if("root"==rowid)rowid="";//增加的是第一级节点 |
|
127 |
}); |
|
128 |
tempRowid=data; |
|
129 |
saveAdd(); |
|
130 |
rowid=data; |
|
131 |
if(autoCode!=''){ |
|
132 |
var temp=autoCode.split(";"); |
|
133 |
if(autocodeConfig.split(";").length!=3){ |
|
134 |
$.messager.alert("提示","自动编号配置有误!","error"); |
|
135 |
return; |
|
136 |
} |
|
137 |
for(i=0;i<temp.length;i++){ |
|
138 |
$.post("/tree_2_autocode.do",{'formid':formId,'fields':autoCode,'configs':autocodeConfig},function(data){ |
|
139 |
if(data.indexOf("错误信息")>0){ |
|
140 |
$.messager.alert("提示",data,"error"); |
|
141 |
return; |
|
142 |
}else |
|
143 |
{ |
|
144 |
var autoArray=eval(data); |
|
145 |
$(autoArray).each(function(){ |
|
146 |
$("#"+this.field).val(this.value); |
|
147 |
}); |
|
148 |
panMain[panIndex].isChange=1; |
|
149 |
} |
|
150 |
}); |
|
151 |
} |
|
152 |
} |
|
153 |
}); |
|
154 |
} |
|
155 |
function delNode(){ |
|
156 |
var flag = checkSession();//session失效后弹出登录框,flag为true时表示已经失效 |
|
157 |
if(flag){ |
|
158 |
return; |
|
159 |
} |
|
160 |
var selectNode=simpleTree.get(0).getSelected(); |
|
161 |
if(selectNode.find(">span").html()==null) |
|
162 |
{ |
|
163 |
$.messager.alert("提示","请选择节点!","info"); |
|
164 |
return; |
|
165 |
} |
|
166 |
if(selectNode.attr("lqc")){ |
|
167 |
$.messager.alert("提示","请选择节点!","info"); |
|
168 |
return; |
|
169 |
} |
|
170 |
var id=selectNode.parent().attr("id"); |
|
171 |
if("firstNode"==id){ |
|
172 |
if(1==selectNode.parent().find(">li.line").size()){ |
|
173 |
$.messager.alert("提示","树功能号至少需要一个节点!","info"); |
|
174 |
return; |
|
175 |
} |
|
176 |
} |
|
177 |
var temp = selectNode.find(">ul").html(); |
|
178 |
if(temp==undefined||temp==null||temp==''){ |
|
179 |
$.messager.confirm("提示","确定删除?",function(r){ |
|
180 |
if(r){ |
|
181 |
var rid=selectNode.find(">span").attr("id"); |
|
182 |
priVa = selectNode.find("span:first").attr("nodevalue"); |
|
183 |
simpleTree.get(0).delNode(); |
|
184 |
var json={}; |
|
185 |
json["rowid"]=rid; |
|
186 |
json["isDeletes"]=0; |
|
187 |
if(undefined!=priVa && ""!=priVa){ |
|
188 |
json.primaryKey=(hasPri?"rowid":primary); |
|
189 |
json.primaryValue=(hasPri?rid:priVa); |
|
190 |
} |
dfbf73
|
191 |
for (let i = 0; i < columns.length; i++) { |
X |
192 |
var t = $.trim($("#" + columns[i]).val()); |
|
193 |
if (t == undefined || t == null) continue; |
|
194 |
json[columns[i]] = t; |
|
195 |
} |
a6a76f
|
196 |
deleteArr.push(json); |
204b7c
|
197 |
// updateArr=[];//清空 xin 2022-8-17 10:14:17 |
ac46ad
|
198 |
isInspection=true;//在删除节点的时候后保存时,不需要执行必录检查(true表示禁止必录检查) |
09e239
|
199 |
clearPanel();//清空控件值 |
a6a76f
|
200 |
} |
F |
201 |
},"question"); |
|
202 |
}else{ |
|
203 |
$.messager.confirm("提示","该节点是父级节点它包含其他子节点,确认删除?",function(r){ |
|
204 |
if(r){ |
|
205 |
simpleTree.get(0).delNode(); |
|
206 |
var json={}; |
|
207 |
json["rowid"]=rowid; |
|
208 |
json["isDeletes"]=1; |
dfbf73
|
209 |
for (let i = 0; i < columns.length; i++) { |
X |
210 |
var t = $.trim($("#" + columns[i]).val()); |
|
211 |
if (t == undefined || t == null) continue; |
|
212 |
json[columns[i]] = t; |
|
213 |
} |
a6a76f
|
214 |
deleteArr.push(json); |
204b7c
|
215 |
// updateArr=[];//清空 xin 2022-8-17 10:14:17 |
ac46ad
|
216 |
isInspection=true;//在删除节点的时候后保存时,不需要执行必录检查 |
09e239
|
217 |
clearPanel();//清空控件值 |
a6a76f
|
218 |
} |
F |
219 |
},"question"); |
|
220 |
} |
|
221 |
} |
|
222 |
function savaUpdateNode()//修改节点2种可能 1:修改的是新增的节点,2:修改的不是新增节点 |
|
223 |
{ |
|
224 |
var node=null; |
|
225 |
var isIns=false; |
|
226 |
var index=seachArray(insertRowids,rowid); |
|
227 |
var map_=panMain[panIndex].getPanMap_All(); |
|
228 |
var auditupdate; |
|
229 |
if(index!=-1){//修改的是新增的节点 |
|
230 |
node=insertArr[index]; |
dfbf73
|
231 |
for(let i=0;i<columns.length;i++) |
a6a76f
|
232 |
{ |
F |
233 |
var t=$("#"+columns[i]).val(); |
|
234 |
if(t==undefined||t==null)continue; |
|
235 |
node[columns[i]]=t; |
|
236 |
} |
|
237 |
insertArr[index]=node; |
|
238 |
}else{ |
|
239 |
index=seachArray(updateRowids,rowid); |
|
240 |
if(index!=-1){//修改的不是新增节点2种可能 1:在修改数组中存在 2:不存在 |
|
241 |
node=updateArr[index]; |
dfbf73
|
242 |
for(let i=0;i<columns.length;i++) |
a6a76f
|
243 |
{ |
F |
244 |
var t=$.trim($("#"+columns[i]).val()); |
|
245 |
if(t==undefined||t==null)continue; |
|
246 |
node[columns[i]]=t; |
|
247 |
} |
|
248 |
updateArr[index]=node; |
|
249 |
}else{ |
|
250 |
var json={}; |
204b7c
|
251 |
// updateArr=[];//清空 xin 2022-8-17 10:14:17 |
a6a76f
|
252 |
//在9802中点击系统菜单,修改值并保存,作用获取功能号 lqc 2012-10-16 |
F |
253 |
if(updateRowids.length=="0"&&rowid=="0"&¶!=""){ |
|
254 |
rowid = para.substring(para.indexOf("'")+1,para.lastIndexOf("'")); |
|
255 |
priVa=rowid; |
|
256 |
}//end |
|
257 |
updateRowids.push(rowid); |
dfbf73
|
258 |
for(let i=0;i<columns.length;i++) |
a6a76f
|
259 |
{ |
F |
260 |
var t=$("#"+columns[i]).val(); |
|
261 |
if(t==undefined||t==null)continue; |
c0573b
|
262 |
if(t instanceof Array){//是数组形式值 |
X |
263 |
t=t.join(";"); |
|
264 |
} |
a6a76f
|
265 |
json[columns[i]]=t; |
F |
266 |
} |
|
267 |
json.primaryKey=(hasPri?"rowid":primary); |
|
268 |
json.primaryValue=(hasPri?rowid:priVa); |
|
269 |
json.rowid=rowid; |
bdc3de
|
270 |
let doc=map_.companyid || "";//没单号的时候尝试给公司编号 xin 2022-8-16 15:36:07 |
X |
271 |
auditupdate=shenji(panIndex,map_,doc,"2update");//2类型审计修改处理,"2update" |
|
272 |
if(auditRecords != null && auditRecords.length>0){ |
|
273 |
auditRecords.concat(auditupdate);//合并 |
|
274 |
}else{ |
|
275 |
auditRecords=auditupdate;//赋值 |
|
276 |
} |
a6a76f
|
277 |
//json._YCAUDIT_=shenji(panIndex,map_,"");//2类型审计修改处理,"2update" |
F |
278 |
updateArr.push(json); |
|
279 |
} |
|
280 |
} |
|
281 |
//resetNodeName(); //by danaus 去掉,因为通过面板修改值是不需要调用这个方法来更新节点 |
|
282 |
panMain[panIndex].isChange=0; |
|
283 |
} |
|
284 |
//保存新增的节点到数组 |
|
285 |
function saveAdd() |
|
286 |
{ |
|
287 |
insertRowids.push(tempRowid);//保存新增节点的rowid到数组 |
|
288 |
var map_=panMain[panIndex].getPanMap_All(); |
|
289 |
var json={}; |
|
290 |
var auditadd; |
dfbf73
|
291 |
for(let i=0;i<columns.length;i++) |
a6a76f
|
292 |
{ |
F |
293 |
var t=$("#"+columns[i]).val(); |
|
294 |
if(t==undefined||t==null)continue; |
c0573b
|
295 |
if(t instanceof Array){//是数组形式值 |
X |
296 |
t=t.join(";"); |
|
297 |
} |
a6a76f
|
298 |
json[columns[i]]=t; |
F |
299 |
} |
|
300 |
json.rowid=tempRowid; |
|
301 |
json.parentrowid=rowid; |
|
302 |
$("#rowid").val(tempRowid); |
|
303 |
$("#parentrowid").val(rowid); |
bdc3de
|
304 |
let doc=map_.companyid || "";//没单号的时候尝试给公司编号 xin 2022-8-16 15:36:07 |
X |
305 |
auditadd=shenji(panIndex,map_,doc,"2add");//2类型审计添加处理,"2add" |
a6a76f
|
306 |
//json._YCAUDIT_=shenji(panIndex,map_,"");//2类型审计添加处理,"2add" |
bdc3de
|
307 |
if(auditRecords != null && auditRecords.length>0){ |
740716
|
308 |
auditRecords.concat(auditadd);//合并 |
bdc3de
|
309 |
}else{ |
740716
|
310 |
auditRecords=auditadd;//赋值 |
bdc3de
|
311 |
} |
740716
|
312 |
insertArr.push(json);//保存值 |
204b7c
|
313 |
// updateArr=[];//清空 xin 2022-8-17 10:14:17 |
a6a76f
|
314 |
//panMain[panIndex].isChange=0; |
F |
315 |
resetNodeName();//树形名称 |
|
316 |
} |
|
317 |
function nodeDrag(destination, source, pos){ |
|
318 |
var souRowid=source.find("span:first").attr("id"); |
|
319 |
var tagId=null; |
|
320 |
if(destination.find("ul:first").attr("id")=="firstNode")tagId=""; |
|
321 |
else tagId=destination.find("span:first").attr("id"); |
|
322 |
var isExists=false; |
|
323 |
var index=0; |
dfbf73
|
324 |
for(let i=0;i<dragArr.length;i++) |
a6a76f
|
325 |
{ |
F |
326 |
if(dragArr[i].rowid==souRowid){ |
|
327 |
isExists=true; |
|
328 |
index=i; |
|
329 |
break; |
|
330 |
} |
|
331 |
} |
|
332 |
if(isExists) |
|
333 |
{ |
|
334 |
var json=dragArr[index]; |
a2823f
|
335 |
for (let i = 0; i < columns.length; i++) { |
X |
336 |
var t = $.trim($("#" + columns[i]).val()); |
|
337 |
if (t == undefined || t == null) continue; |
|
338 |
json[columns[i]] = t; |
|
339 |
} |
d65ab0
|
340 |
json.parentrowid=tagId; |
X |
341 |
json.rowid=souRowid; |
a6a76f
|
342 |
dragArr[index]=json; |
F |
343 |
}else{ |
|
344 |
var json={}; |
a2823f
|
345 |
for (let i = 0; i < columns.length; i++) { |
X |
346 |
var t = $.trim($("#" + columns[i]).val()); |
|
347 |
if (t == undefined || t == null) continue; |
|
348 |
json[columns[i]] = t; |
|
349 |
} |
d65ab0
|
350 |
json.parentrowid=tagId; |
X |
351 |
json.rowid=souRowid; |
a6a76f
|
352 |
dragArr.push(json); |
F |
353 |
} |
a2823f
|
354 |
|
a6a76f
|
355 |
} |
F |
356 |
var nx=1; |
|
357 |
function buildDisplayNode() |
|
358 |
{ |
|
359 |
var showFields=displayfield.split(";"); |
|
360 |
var t=""; |
dfbf73
|
361 |
for(let i=0;i<showFields.length;i++) |
a6a76f
|
362 |
{ |
F |
363 |
t+="newNode"+nx+separatedst; |
7e368e
|
364 |
$("#"+showFields[i]).val("");//直接赋空值 BUG提交单:BUG220513003 xin 2022-6-30 14:53:18 |
X |
365 |
// $("#"+showFields[i]).val("newNode"+nx); |
a6a76f
|
366 |
} |
F |
367 |
nx++; |
|
368 |
return t.substring(0,t.length-1); |
|
369 |
} |
|
370 |
function clearPanel() |
|
371 |
{ |
dfbf73
|
372 |
for(let i=0;i<columns.length;i++) |
a6a76f
|
373 |
{ |
F |
374 |
var o=$("#"+columns[i]); |
|
375 |
if(o) |
|
376 |
{ |
|
377 |
if(o.attr("type")=="checkbox") |
|
378 |
{ |
|
379 |
o[0].checked=false; |
|
380 |
o.val(0); |
|
381 |
continue; |
|
382 |
} |
|
383 |
// setDoc(columns[i],".value=''"); |
853890
|
384 |
let initVal=''; |
X |
385 |
if (panMain[panIndex].panInfo[columns[i]] != null) { |
|
386 |
//获取9802设置的初始值 xin 2022-4-21 10:34:11 |
|
387 |
initVal = panMain[panIndex].panInfo[columns[i]].initValue; |
|
388 |
//个别窗体需要处理 |
|
389 |
switch (panMain[panIndex].panInfo[columns[i]].controltype) { |
|
390 |
case '6': |
0389a5
|
391 |
$('#' + columns[i] + 'CheckBox').attr('checked', (initVal == '' || initVal == '0' ? false : true)); |
853890
|
392 |
break; |
X |
393 |
default: |
|
394 |
break; |
|
395 |
} |
|
396 |
} |
|
397 |
o.val(initVal);//赋值 xin 2022-4-21 10:34:22 |
|
398 |
// var initval=((typeof (panMain[panIndex].panInfo[columns[i]])=='undefined')?"":panMain[panIndex].panInfo[columns[i]].initValue);//获取9802设置的初始值---2016-6-14 10:39:23 xin |
|
399 |
// initval==""?o.val(""):o.val(initval);//如果没有初始值则清空 有则赋值。---2016-6-14 10:39:23 xin |
a6a76f
|
400 |
} |
F |
401 |
} |
|
402 |
} |
7e368e
|
403 |
function resetNodeName() { |
X |
404 |
var temp = displayfield.split(";"); |
|
405 |
var nodeName = ""; |
dfbf73
|
406 |
for (let i = 0; i < temp.length; i++) { |
7e368e
|
407 |
var t = $("#" + temp[i]).val(); |
X |
408 |
if (t) { |
|
409 |
nodeName = nodeName + t + separatedst; |
a6a76f
|
410 |
} |
F |
411 |
} |
7e368e
|
412 |
if ($.trim(separatedst) != "") |
X |
413 |
nodeName = nodeName.substring(0, nodeName.length - separatedst.length); |
77535c
|
414 |
noName="@未命名@"; |
7e368e
|
415 |
$("span[id='" + tempRowid + "']").text("未命名");//xin 2022-6-30 15:07:31 |
77535c
|
416 |
|
7e368e
|
417 |
// $("span[id='" + tempRowid + "']").text(nodeName); |
a6a76f
|
418 |
} |
F |
419 |
function setPanelValue(jsonNode) // 修改panel值不从数据库读取的(设置panel页里对应元素的值) |
|
420 |
{ |
|
421 |
// var |
|
422 |
// jsona='{"cccode":"Z01","ccname":"总裁","companyid":"","hrcode":"","hrname":""}'; |
|
423 |
// var obj_jsonNode=eval("("+jsonNode+")");//转换后的JSON对象 |
dfbf73
|
424 |
for (let j = 0; j < columns.length; j++) { |
a6a76f
|
425 |
var o = $("#" + columns[j]); |
224adb
|
426 |
if (o && o.length > 0) { |
a6a76f
|
427 |
var value = jsonNode[columns[j]]; |
F |
428 |
$doc(columns[j]).val(value); |
|
429 |
createUploadDiv(columns[j], value); |
bdc3de
|
430 |
if (o[0].className != null && o[0].className.toLowerCase().indexOf("select2") != -1) {//43控件情况 |
c0573b
|
431 |
if (value != '') { |
X |
432 |
value = value.replace(/,/g, ";").split(';'); |
|
433 |
} |
|
434 |
o.val(value).trigger('change'); |
|
435 |
} |
bdc3de
|
436 |
if (panMain[panIndex].panelAuditValue != null) {//审计旧值 xin 2022-8-16 15:20:13 |
X |
437 |
if (panMain[panIndex].panelAuditValue[columns[j]] != null) { |
|
438 |
panMain[panIndex].panelAuditValue[columns[j]] = value; |
|
439 |
} |
|
440 |
} |
a6a76f
|
441 |
} |
F |
442 |
} |
7e368e
|
443 |
rowidOnkeyUp();//设置名称联动树结构名称 xin 2022-6-30 15:34:05 |
a6a76f
|
444 |
} |
F |
445 |
|
|
446 |
function save() |
|
447 |
{ |
|
448 |
showLoading(); |
2d96c0
|
449 |
if(rowid=='' && simpleTree && simpleTree.get(0).option.firstValue==-1){//在没有左边树结构数据的情况保存面板输入的信息 xin 2023-5-11 16:16:21 |
9dcb73
|
450 |
$.ajaxSettings.async = false; |
X |
451 |
$.post("/getRowid.do","",function(data){ |
|
452 |
tempRowid=data; |
|
453 |
saveAdd(); |
|
454 |
rowid=data; |
|
455 |
savaUpdateNode(); |
|
456 |
}); |
|
457 |
$.ajaxSettings.async = true; |
77535c
|
458 |
} |
X |
459 |
if (noName == "" || noName.indexOf("@未命名@") != -1) { |
|
460 |
$.messager.alert("提示", "树节点存在 未命名 节点,请修改后在保存"); |
|
461 |
closeLoading(); |
|
462 |
return; |
9dcb73
|
463 |
} |
a6a76f
|
464 |
if(panMain[panIndex].isChange!=0){savaUpdateNode();}//保存修改的节点 |
F |
465 |
check=panMain[panIndex].checkUp(); //判断控件是否是必录的 |
|
466 |
if(!check){ |
|
467 |
closeLoading(); |
|
468 |
check=true; |
|
469 |
return; |
|
470 |
} |
|
471 |
if(dragArr.length==0&&deleteArr.length==0&&insertRowids.length==0&&updateRowids.length==0){ |
|
472 |
// $.messager.alert("提示","无数据更新!"); |
|
473 |
closeLoading(); |
|
474 |
return; |
|
475 |
} |
|
476 |
var treeJson={}; |
|
477 |
treeJson["insertedRecords"]=insertArr; |
|
478 |
treeJson["updatedRecords"]=updateArr; |
|
479 |
treeJson["dragRecords"]=dragArr; |
|
480 |
treeJson["deleteRecords"]=deleteArr; |
|
481 |
treeJson["auditRecords"]=auditRecords; |
|
482 |
// alert(obj2str(treeJson));return; |
|
483 |
$.post("/tree_2_save.do",{treeJson:JSON.stringify(treeJson),formid:formId},function(data){ |
|
484 |
if(data.status==0){ |
|
485 |
rowid=null; |
|
486 |
insertArr=[]; |
|
487 |
updateArr=[]; |
|
488 |
insertRowids=[]; |
|
489 |
updateRowids=[]; |
|
490 |
auditRecords=null; |
|
491 |
deleteArr=[]; |
|
492 |
// $.messager.alert("提示","保存成功!","",function(){ |
|
493 |
loadTree("treeData.jsp",{query:query}); |
|
494 |
// }); |
|
495 |
|
|
496 |
}else if(data.status==1){ |
|
497 |
$.messager.alert("提示","数据"+data.message+"转换错误!",function(){ |
|
498 |
if(typeof(callback)=="function")callback(false); |
|
499 |
}); |
|
500 |
}else{ |
|
501 |
$.messager.alert("提示",data.message,function(){ |
|
502 |
if(typeof(callback)=="function")callback(false); |
|
503 |
}); |
|
504 |
} |
|
505 |
closeLoading(); |
76c1fc
|
506 |
},"json").error(function(xh,txt) {//返回加载树的错误信息; |
X |
507 |
closeLoading(); |
|
508 |
}); |
a6a76f
|
509 |
} |
0ff2cb
|
510 |
function setReturnValue(node){//返回一个规则对象(设置选择节点后的返回值) |
X |
511 |
var rid = (primary == "" || primary == "rowid") ? $("span:first", node).attr("id") : $("span:first", node).attr("nodevalue"); |
a6a76f
|
512 |
//alert("返回rid:"+rid); |
0ff2cb
|
513 |
try { |
X |
514 |
/* |
|
515 |
* ajax提交返回代码--调试用 |
|
516 |
var xhr; |
|
517 |
if(window.XMLHttpRequest){ |
|
518 |
xhr = new XMLHttpRequest(); |
|
519 |
}else if (window.ActiveXObject){ |
|
520 |
xhr = new ActiveXObject("Xsxml2.XMLHTTP"); |
|
521 |
} |
|
522 |
else{ |
|
523 |
throw new Error("Ajax is not supported by this browser"); |
|
524 |
} |
|
525 |
xhr.onreadystatechange = function(){ |
|
526 |
if(xhr.readyState == 4){ |
|
527 |
if(xhr.status >= 200 && xhr.status<300){ |
a6a76f
|
528 |
|
0ff2cb
|
529 |
fillData(xhr.responseText); |
X |
530 |
} |
|
531 |
} |
|
532 |
} |
|
533 |
xhr.open('GET',"treeData.jsp?rid="+rid+"&info=1"); |
|
534 |
xhr.send(); |
|
535 |
*/ |
|
536 |
/* |
|
537 |
$.ajaxError( |
|
538 |
$.post("treeData.jsp",{"rid":rid,"info":1},function(data){ |
|
539 |
//alert(data); |
|
540 |
var json=pb.json.toJson(data);//把text数据格式转换为json格式 |
|
541 |
fillData(json); |
|
542 |
},"text") |
|
543 |
); |
|
544 |
*/ |
|
545 |
$.post("treeData.jsp", {"rid": rid, "info": 1}, function (data) { |
a6a76f
|
546 |
//alert(data); |
F |
547 |
//var json=pb.json.toJson(data);//把text数据格式转换为json格式 |
0ff2cb
|
548 |
data = data.replaceAll(";pb#", ","); |
X |
549 |
let json = []; |
|
550 |
try { |
|
551 |
json = eval("(" + data + ")");//转换后的JSON对象 |
|
552 |
} catch (e) { |
|
553 |
data = data.replace(/\r\n/g, ""); |
|
554 |
if (data == '') { |
|
555 |
alert('请选中一条内容后再点击选择'); |
|
556 |
return; |
|
557 |
} else { |
|
558 |
alert('出错:' + data); |
|
559 |
} |
|
560 |
return; |
|
561 |
} |
a6a76f
|
562 |
fillData(json); |
0ff2cb
|
563 |
}, "text"); |
X |
564 |
} catch (e) { |
a6a76f
|
565 |
alert(e); |
F |
566 |
} |
|
567 |
} |
|
568 |
|
|
569 |
function obj2str(o){ |
|
570 |
var r = []; |
|
571 |
if(typeof o =="string") return "\""+o.replace(/([\'\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\""; |
|
572 |
if(typeof o =="undefined") return ""; |
|
573 |
if(typeof o == "object"){ |
|
574 |
if(o===null) return "null"; |
|
575 |
else if(!o.sort){ |
|
576 |
for(var i in o) |
|
577 |
r.push(i+":"+obj2str(o[i])) |
|
578 |
r="{"+r.join()+"}" |
|
579 |
}else{ |
|
580 |
for(var i =0;i<o.length;i++) |
|
581 |
r.push(obj2str(o[i])) |
|
582 |
r="["+r.join()+"]" |
|
583 |
} |
|
584 |
return r; |
|
585 |
} |
|
586 |
return o.toString(); |
|
587 |
} |
|
588 |
function seachArray(array,rowid){ |
|
589 |
for(i=array.length-1;i>=0;i--) |
|
590 |
{ |
|
591 |
if(array[i]==rowid){ |
|
592 |
return i; |
|
593 |
} |
|
594 |
} |
|
595 |
return -1; |
|
596 |
} |
9027da
|
597 |
function rowidOnkeyUp(){ //设置名称联动树结构名称 xin 2022-6-30 15:34:05 |
7e368e
|
598 |
let temp = displayfield.split(";"); |
X |
599 |
if (!isKeyUp && temp != null && temp.length > 0) { |
|
600 |
for (let i = 0; i < temp.length; i++) { |
|
601 |
let e = $("#" + temp[i]); |
9027da
|
602 |
if (typeof e[0] == 'undefined') { |
X |
603 |
continue; |
|
604 |
} |
7e368e
|
605 |
if (e[0].localName.toLowerCase() == 'input') { |
X |
606 |
e.keyup(function () { |
|
607 |
setValue(); |
|
608 |
}) |
|
609 |
} |
|
610 |
if (e[0].localName.toLowerCase() == 'select') { |
|
611 |
e.change(function () { |
|
612 |
setValue(); |
|
613 |
}) |
|
614 |
} |
|
615 |
} |
9027da
|
616 |
setValue = function () { |
7e368e
|
617 |
let value = ""; |
X |
618 |
for (let v = 0; v < temp.length; v++) { |
9027da
|
619 |
let vl = $("#" + temp[v]).val(); |
X |
620 |
if (typeof vl == 'undefined') { |
|
621 |
continue; |
|
622 |
} |
|
623 |
value += vl; |
7e368e
|
624 |
} |
X |
625 |
$("span[id='" + tempRowid + "']").text(value); |
77535c
|
626 |
noName=value; |
7e368e
|
627 |
} |
X |
628 |
isKeyUp = true; |
|
629 |
} |
|
630 |
} |