SMMMO04202_bak.js.soonsu 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768
  1. var gRef_MediFormView = "/root/main/medirec/medireccnts";
  2. var gRef_ViewMediFormView = "/root/main/viewmedirec/medireccnts";
  3. var IMGE_SZ = 500;
  4. var gExtnFuncFlag = true;
  5. var gReclistCnt = "";
  6. var gFDGWidth = 573;
  7. var gFDGHeight = 357;
  8. function fReadyForm()
  9. {
  10. grd_medirec.autoresize = true;
  11. if (isPopup())
  12. {
  13. gExtnFuncFlag = false;
  14. var formnm = opener.window.getParameter("formnm");
  15. if (formnm != "")
  16. {
  17. window.document.title = formnm + " - �̸�����";
  18. var cont = new COMN_CONT_RECCNTS();
  19. cont.pid = "";
  20. cont.recfromdt = "";
  21. cont.rectodt = "";
  22. cont.formrecdeptcd = "";
  23. cont.chosflag = "";
  24. cont.formrecseq = "-1";
  25. fAtrerRef(cont);
  26. }
  27. }
  28. }
  29. function fInitPage(wid, hei)
  30. {
  31. body.setAttribute("width", wid);
  32. body.setAttribute("height", hei);
  33. grd_medirec.setAttribute("width", wid);
  34. grd_medirec.setAttribute("height", hei);
  35. grd_medirec.setColWidth(1, wid - 21);
  36. grd_medirec.refresh();
  37. grd_medirectmp.refresh();
  38. }
  39. function fPreviewData(node)
  40. {
  41. model.removeNodeset("/root/main/medirec");
  42. var node2 = instance1.selectSingleNode("/root/main");
  43. node2.appendChild(node.cloneNode(true));
  44. model.refresh();
  45. var cont = new COMN_CONT_RECCNTS();
  46. cont.pid = "";
  47. cont.recfromdt = "";
  48. cont.rectodt = "";
  49. cont.formrecdeptcd = "";
  50. cont.chosflag = "";
  51. cont.formrecseq = "-1";
  52. fAtrerRef(cont);
  53. }
  54. function fClear()
  55. {
  56. model.removeNodeset(gRef_MediFormView);
  57. model.removeNodeset(gRef_ViewMediFormView);
  58. model.refresh();
  59. }
  60. function fRefRecView(condflag, pid, chosflag, fromdd, todd, stddd, srcformcd, deptcd, formrecseq, arrFormrecseq)
  61. {
  62. var path = "/root/send/reqcond/";
  63. model.makeValue(path+"condflag", condflag);
  64. model.makeValue(path+"pid", pid );
  65. model.makeValue(path+"chosflag", chosflag);
  66. model.makeValue(path+"fromdd", fromdd);
  67. model.makeValue(path+"todd", todd);
  68. model.makeValue(path+"stddd", stddd);
  69. model.makeValue(path+"attr", srcformcd);
  70. model.makeValue(path+"deptcd", deptcd);
  71. model.makeValue(path+"keyval", formrecseq);
  72. var submitLength = 1;
  73. if ( arrFormrecseq != null )
  74. {
  75. submitLength = arrFormrecseq.length;
  76. }
  77. for ( i=0; i<submitLength; i++ )
  78. {
  79. if ( arrFormrecseq != null && i != 0)
  80. {
  81. TRMOB04202.setAttribute("add", "bottom");
  82. model.makeValue(path+"keyval", arrFormrecseq[i]);
  83. }
  84. else
  85. TRMOB04202.setAttribute("add", "");
  86. grd_medirec.setAttribute("ref", "");
  87. submit("TRMOB04202", false);
  88. var cont = new COMN_CONT_RECCNTS();
  89. cont.pid = pid;
  90. cont.recfromdt = fromdd;
  91. cont.rectodt = todd;
  92. cont.formrecdeptcd = deptcd;
  93. cont.chosflag = chosflag;
  94. cont.formrecseq = formrecseq;
  95. fAtrerRef(cont);
  96. }
  97. }
  98. function fRefMediRecCnts(comn_cont_reccnts)
  99. {
  100. gFilterCond = "";
  101. var flag = true;
  102. if (flag)
  103. {
  104. model.setValue("/root/send/reqComn/pid", comn_cont_reccnts.pid);
  105. model.setValue("/root/send/reqComn/recfromdt", comn_cont_reccnts.recfromdt);
  106. model.setValue("/root/send/reqComn/rectodt", comn_cont_reccnts.rectodt);
  107. model.setValue("/root/send/reqComn/formrecdeptcd", comn_cont_reccnts.formrecdeptcd);
  108. model.setValue("/root/send/reqComn/chosflag", comn_cont_reccnts.chosflag);
  109. model.setValue("/root/send/reqComn/formrecseq", comn_cont_reccnts.formrecseq);
  110. if (comn_cont_reccnts.formrecseq != "")
  111. {
  112. model.setValue("/root/send/reqComn/recfromdt", "-");
  113. }
  114. else
  115. {
  116. gReclistCnt = comn_cont_reccnts.reclistlength;
  117. }
  118. var condflag = "main";
  119. if (comn_cont_reccnts.formrecseq != null && comn_cont_reccnts.formrecseq != "")
  120. condflag = "keyval";
  121. fRefRecView(condflag,
  122. comn_cont_reccnts.pid,
  123. comn_cont_reccnts.chosflag,
  124. comn_cont_reccnts.recfromdt,
  125. comn_cont_reccnts.rectodt,
  126. "",
  127. "",
  128. comn_cont_reccnts.formrecdeptcd,
  129. comn_cont_reccnts.formrecseq,
  130. comn_cont_reccnts.arrFormrecseq);
  131. }
  132. }
  133. function fGetMetaMode(str)
  134. {
  135. var strXrw = str;
  136. var regexp = new RegExp('(<Xvg [^<>]+>)', 'igm');
  137. if (regexp.test(strXrw) == true)
  138. {
  139. var xvginfo = strXrw.match(regexp);
  140. var strRtn = "";
  141. for(var idx =0; idx < xvginfo.length; idx++)
  142. {
  143. strRtn += xvginfo[idx];
  144. }
  145. strRtn = strRtn.setReplaceWord("<", "");
  146. strRtn = strRtn.setReplaceWord(">", "");
  147. strRtn = strRtn.setReplaceWord("'", "");
  148. var arrAttrs = strRtn.split(" ");
  149. var viewMode = "";
  150. var viewWidth = "";
  151. var viewHeight = "";
  152. var strXvgInfo = new Array(3);
  153. for(var i = 0; i < arrAttrs.length; i++)
  154. {
  155. var strSplit = arrAttrs[i].split("=");
  156. if(strSplit[0] == "viewMode") {
  157. viewMode = strSplit[1];
  158. strXvgInfo[0] = viewMode;
  159. continue;
  160. }
  161. if(strSplit[0] == "width") {
  162. viewWidth = strSplit[1];
  163. strXvgInfo[1] = viewWidth;
  164. continue;
  165. }
  166. if(strSplit[0] == "height") {
  167. viewHeight = strSplit[1];
  168. strXvgInfo[2] = viewHeight;
  169. continue;
  170. }
  171. }
  172. return strXvgInfo;
  173. }
  174. else
  175. {
  176. return "";
  177. }
  178. }
  179. function fAtrerRef(comn_cont_reccnts)
  180. {
  181. var cnt = parseInt( getNodesetCount(gRef_MediFormView) );
  182. if(cnt == 0){
  183. fClear();
  184. }
  185. doReplaceLtGt(gRef_MediFormView);
  186. var path_degnitemkind = gRef_MediFormView + "[#iIdx#]/degnitemkind";
  187. var path_viewimge = gRef_MediFormView + "[#iIdx#]/viewimge";
  188. var path_reccnts = gRef_MediFormView + "[#iIdx#]/reccnts";
  189. var path_imgewid = gRef_MediFormView + "[#iIdx#]/imgewid";
  190. var path_imgehei = gRef_MediFormView + "[#iIdx#]/imgehei";
  191. var path_viewcnts = gRef_MediFormView + "[#iIdx#]/viewcnts";
  192. var path_degnitemlevlcd = gRef_MediFormView + "[#iIdx#]/degnitemlevlcd";
  193. var chpath_viewimge;
  194. var chpath_reccnts;
  195. for (var i = 1; i <= cnt; i++)
  196. {
  197. try
  198. {
  199. chpath_viewimge = path_viewimge.replace("#iIdx#", i);
  200. chpath_reccnts = path_reccnts.replace("#iIdx#", i);
  201. if (model.getValue(path_degnitemkind.replace("#iIdx#", i)) == "IMG" &&
  202. (model.getValue(chpath_viewimge) != "" || model.getValue(chpath_reccnts) != "") )
  203. {
  204. var Localimg = "";
  205. var degnitemlevlcd = "";
  206. var IMGListNode = "";
  207. var strXvgInfo = "";
  208. degnitemlevlcd = model.getValue(path_degnitemlevlcd.replace("#iIdx#", i));
  209. if(degnitemlevlcd != "")
  210. IMGListNode = findNodeset(model, gRef_MediFormView+ "[degnitemlevlcd='" + degnitemlevlcd + "' and degnitemkind='MTX']");
  211. for(var idx = 0; idx < IMGListNode.length; idx++)
  212. {
  213. var imgNode = IMGListNode.item(idx);
  214. var Localimg = imgNode.selectSingleNode("viewcnts").text;
  215. }
  216. var reccntsValue = model.getValue(path_reccnts.replace("#iIdx#", i));
  217. var strImgBase64 = model.getValue(path_viewimge.replace("#iIdx#", i));
  218. var shapeinfo = reccntsValue;
  219. reccntsValue = fSetCdata(reccntsValue);
  220. if(reccntsValue != "")
  221. {
  222. strXvgInfo = fGetMetaMode(reccntsValue);
  223. var tmpShape = removeXvgTag(reccntsValue);
  224. }
  225. }
  226. else if (model.getValue(path_degnitemkind.replace("#iIdx#", i)) == "FDG" && model.getValue(chpath_reccnts) != "")
  227. {
  228. var MetaData = model.getValue(path_reccnts.replace("#iIdx#", i));
  229. setImageRefInstance(path_viewcnts.replace("#iIdx#", i));
  230. }
  231. }
  232. catch (e)
  233. {
  234. alert(e);
  235. }
  236. }
  237. grd_medirec.setAttribute("ref", "/root/main/viewmedirec/medireccnts");
  238. if (comn_cont_reccnts.formrecseq != null && comn_cont_reccnts.formrecseq != "")
  239. {
  240. copyNodeset(gRef_ViewMediFormView, gRef_MediFormView, "replace", model, model);
  241. fDrawGrid();
  242. }
  243. else
  244. {
  245. fExeFilter(gFilterCond);
  246. }
  247. }
  248. var gfontSz = 11;
  249. function fDrawGrid()
  250. {
  251. var fontsz = 11;
  252. if (fontsz != "")
  253. {
  254. gfontSz = fontsz;
  255. }
  256. grd_medirec.setVisible(false);
  257. grd_medirec.rebuild();
  258. grd_medirectmp.rebuild();
  259. var colref_viewflag = grd_medirec.colref("viewflag");
  260. var colref_imgehei = grd_medirec.colref("imgehei");
  261. var colref_degnitemlevlno = grd_medirec.colref("degnitemlevlno");
  262. var colref_degnitemkind = grd_medirec.colref("degnitemkind");
  263. var viewflag;
  264. var degnitemlevlno;
  265. var ft_std = 0;
  266. var ft_header = (ft_std + parseInt(gfontSz) + 1) + "pt";
  267. var ft_cnts = (ft_std + parseInt(gfontSz)) + "pt";
  268. var ft_tail = (ft_std + parseInt(gfontSz) - 1) + "pt";
  269. var padng = 15;
  270. for (var i = 1; i <= grd_medirec.rows; i++)
  271. {
  272. viewflag = grd_medirec.valueMatrix(i, colref_viewflag);
  273. grd_medirec.rowstyle(i, "all", "color") = "#55435d";
  274. if (viewflag == "data")
  275. {
  276. if (grd_medirec.valueMatrix(i, colref_imgehei) == "")
  277. {
  278. if (grd_medirec.valueMatrix(i, colref_degnitemkind) == "GSU")
  279. {
  280. fSetRowStyle(i, "transparent", "", ft_cnts, (padng * (parseInt(grd_medirec.valueMatrix(i, colref_degnitemlevlno))-1)) + "");
  281. }
  282. else
  283. {
  284. fSetRowStyle(i, "transparent", "", ft_cnts, (padng * parseInt(grd_medirec.valueMatrix(i, colref_degnitemlevlno))) + "");
  285. }
  286. }
  287. else
  288. {
  289. fSetRowStyle(i, "transparent", "", "11", "IMGE");
  290. }
  291. }
  292. else if (viewflag == "fstlevl")
  293. {
  294. fSetRowStyle(i, "transparent", "bold", ft_cnts, "5");
  295. }
  296. else if (viewflag == "formnm")
  297. {
  298. fSetRowStyle(i, "#cce8ff", "bold", ft_header, "5");
  299. }
  300. else if (viewflag == "recinfo")
  301. {
  302. fSetRowStyle(i, "#cce8ff", "", ft_cnts, "5");
  303. }
  304. else if (viewflag == "recuser")
  305. {
  306. fSetRowStyle(i, "transparent", "", "12", "5");
  307. }
  308. }
  309. var colref_compflag = grd_medirec.colref("compflag");
  310. for (var i = 1; i <= grd_medirec.rows; i++)
  311. {
  312. viewflag = grd_medirec.valueMatrix(i, colref_viewflag);
  313. if (grd_medirec.valueMatrix(i, colref_imgehei) != "")
  314. {
  315. grd_medirec.setRowHeight(i, parseInt(grd_medirec.valueMatrix(i, colref_imgehei)) + 5);
  316. }
  317. else if (viewflag == "formnm")
  318. {
  319. grd_medirec.setRowHeight(i, grd_medirec.rowHeight(i) + 5);
  320. }
  321. else if (viewflag == "recinfo")
  322. {
  323. grd_medirec.setRowHeight(i, grd_medirec.rowHeight(i) + 3);
  324. }
  325. else if (viewflag == "recuser")
  326. {
  327. grd_medirec.setRowHeight(i, 50);
  328. }
  329. }
  330. grd_medirec.refresh();
  331. grd_medirectmp.refresh();
  332. grd_medirec.setVisible(true);
  333. }
  334. function fSetRowStyle(rowidx, backColr, fontWei, fontSize, padLeft)
  335. {
  336. grd_medirec.rowstyle(rowidx, "data", "background-color") = backColr;
  337. grd_medirec.rowstyle(rowidx, "data", "font-weight") = fontWei;
  338. grd_medirec.setRowStyle(rowidx, "data", "font-size", fontSize);
  339. if (padLeft == "IMGE")
  340. {
  341. grd_medirec.setRowStyle(rowidx, "data", "background-position", "center");
  342. }
  343. else
  344. {
  345. grd_medirec.setRowStyle(rowidx, "data", "padding-left", padLeft);
  346. grd_medirec.setRowStyle(rowidx, "data", "background-image", "");
  347. }
  348. }
  349. function fCncl()
  350. {
  351. grup_menu.setVisible(false);
  352. }
  353. var gSrcFormCds = "";
  354. var gItemBaseCds = "";
  355. function fFiltering(pArrSrcFormCds, pArrItemBaseCds)
  356. {
  357. var stmtForm = "";
  358. var stmtItem = "";
  359. if (pArrSrcFormCds != null)
  360. {
  361. for (var i = 0; i < pArrSrcFormCds.length; i++)
  362. {
  363. if (stmtForm != "")
  364. stmtForm += " or ";
  365. stmtForm += "srcformcd='" +pArrSrcFormCds[i]+ "'";
  366. }
  367. }
  368. if (pArrItemBaseCds != null)
  369. {
  370. for (var i = 0; i < pArrItemBaseCds.length; i++)
  371. {
  372. if (stmtItem != "")
  373. stmtItem += " or ";
  374. stmtItem += "fstlevlitembasecd='" +pArrItemBaseCds[i]+ "'";
  375. }
  376. }
  377. var stmt = "";
  378. if (stmtForm != "")
  379. {
  380. stmt = "(" + stmtForm + ")";
  381. }
  382. if (stmt != "" && stmtItem != "")
  383. {
  384. stmt += " and ";
  385. }
  386. if (stmtItem != "")
  387. {
  388. stmt += "(" + stmtItem + " or fstlevlitembasecd='-1')";
  389. }
  390. if (gFilterCond == stmt)
  391. {
  392. return false;
  393. }
  394. else
  395. {
  396. return fExeFilter(stmt);
  397. }
  398. }
  399. var gFilterCond = "";
  400. function fExeFilter(stmt)
  401. {
  402. var cond = stmt;
  403. if (stmt == null || stmt == "")
  404. stmt = "";
  405. else
  406. stmt = "[" +stmt+ "]";
  407. var cnt = getNodesetCount(gRef_MediFormView + stmt);
  408. if (cnt == 0)
  409. {
  410. return false;
  411. }
  412. copyNodeset(gRef_ViewMediFormView, gRef_MediFormView + stmt, "replace", model, model);
  413. grd_medirec.rebuild();
  414. grd_medirectmp.rebuild();
  415. fDrawGrid();
  416. gFilterCond = cond;
  417. return true;
  418. }
  419. function fSetCdata(metadata)
  420. {
  421. var strMeta = metadata;
  422. if(isSearchString(strMeta, "CDATA") == false)
  423. {
  424. var strStCaptionOld = "";
  425. var strEdCaptionOld = "";
  426. var strStCaptionNew = "";
  427. var strEdCaptionNew = "";
  428. strStCaptionOld = fGetXvgStCaption(strMeta);
  429. strEdCaptionOld = fGetXvgEdCaption(strMeta);
  430. for(var idx = 0; idx < strStCaptionOld.length; idx++)
  431. {
  432. if(idx == 0)
  433. {
  434. strEdCaptionNew = "]]>" + strEdCaptionOld[idx];
  435. strMeta = strMeta.setReplaceWord(strEdCaptionOld[idx], strEdCaptionNew);
  436. }
  437. strStCaptionNew = strStCaptionOld[idx] + "<![CDATA[";
  438. strMeta = strMeta.setReplaceWord(strStCaptionOld[idx], strStCaptionNew);
  439. }
  440. }
  441. return strMeta;
  442. }
  443. function fGetXvgStCaption(metadata)
  444. {
  445. var strMeta = metadata;
  446. var getStCaption = new Array();
  447. var grpexpSt = new RegExp('(<caption[^<>]+>)', 'igm');
  448. if(grpexpSt.test(strMeta) == true)
  449. {
  450. getStCaption = strMeta.match(grpexpSt);
  451. strMeta = strMeta.replace(grpexpSt, "");
  452. }
  453. if(getStCaption.length > 0)
  454. return getStCaption;
  455. else
  456. return "";
  457. }
  458. function fGetXvgEdCaption(metadata)
  459. {
  460. var strMeta = metadata;
  461. var getEdCaption = new Array();
  462. var grpexpEd = new RegExp('(</caption>)', 'igm');
  463. if (grpexpEd.test(strMeta) == true)
  464. {
  465. getEdCaption = strMeta.match(grpexpEd);
  466. strMeta = strMeta.replace(grpexpEd, "");
  467. }
  468. if(getEdCaption.length > 0)
  469. return getEdCaption;
  470. else
  471. return "";
  472. }
  473. function fGetAdjustImgeSize(imgewid, imgehei)
  474. {
  475. if ( parseInt(imgewid) > parseInt(IMGE_SZ) && parseInt(imgehei) > parseInt(IMGE_SZ) )
  476. {
  477. if ( parseInt(imgewid) >= parseInt(imgehei) )
  478. {
  479. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  480. imgewid = IMGE_SZ;
  481. imgehei = newHeight;
  482. }
  483. else if ( parseInt(imgewid) <= parseInt(imgehei) )
  484. {
  485. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  486. imgewid = newWidth;
  487. imgehei = IMGE_SZ;
  488. }
  489. else
  490. {
  491. imgewid = IMGE_SZ;
  492. imgehei = IMGE_SZ;
  493. }
  494. }
  495. else if ( parseInt(imgewid) > parseInt(IMGE_SZ) )
  496. {
  497. var newheight = ( imgehei * IMGE_SZ ) / imgewid;
  498. imgewid = IMGE_SZ;
  499. imgehei = newheight;
  500. }
  501. else if ( parseInt(imgehei) > parseInt(IMGE_SZ) )
  502. {
  503. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  504. imgewid = newWidth;
  505. imgehei = IMGE_SZ;
  506. }
  507. else if ( parseInt(imgewid) < parseInt(IMGE_SZ) && parseInt(imgehei) < parseInt(IMGE_SZ) )
  508. {
  509. if ( parseInt(imgewid) > parseInt(imgehei) )
  510. {
  511. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  512. imgewid = IMGE_SZ;
  513. imgehei = newHeight;
  514. }
  515. else if ( parseInt(imgewid) < parseInt(imgehei) )
  516. {
  517. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  518. imgewid = newWidth;
  519. imgehei = IMGE_SZ;
  520. }
  521. else
  522. {
  523. imgewid = IMGE_SZ;
  524. imgehei = IMGE_SZ;
  525. }
  526. }
  527. else if ( parseInt(imgewid) < parseInt(IMGE_SZ) )
  528. {
  529. if ( parseInt(imgehei) > parseInt(IMGE_SZ) )
  530. {
  531. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  532. imgewid = IMGE_SZ;
  533. imgehei = newHeight;
  534. }
  535. else if ( parseInt(imgehei) < parseInt(IMGE_SZ) )
  536. {
  537. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  538. imgewid = newWidth;
  539. imgehei = IMGE_SZ;
  540. }
  541. }
  542. else if ( parseInt(imgehei) < parseInt(IMGE_SZ) )
  543. {
  544. if ( parseInt(imgewid) > parseInt(IMGE_SZ) )
  545. {
  546. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  547. imgewid = IMGE_SZ;
  548. imgehei = newHeight;
  549. }
  550. else if ( parseInt(imgewid) < parseInt(IMGE_SZ) )
  551. {
  552. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  553. imgewid = newWidth;
  554. imgehei = IMGE_SZ;
  555. }
  556. }
  557. else
  558. {
  559. imgewid = IMGE_SZ;
  560. imgehei = IMGE_SZ;
  561. }
  562. return imgewid + "|" + imgehei;
  563. }