MRF05000.js 54 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 통합기록조회 분류관리 ( SMMRF05000_통합기록조회분류관리.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. */
  8. var refresh_u = 0;
  9. var refresh_d = 0;
  10. var refresh_a = 0;
  11. var sSETLIST = "/root/main/indxlist/item";
  12. var sSETLIST_HIDDEN = "/root/hidden/indxlist/item";
  13. var sMOUSE_CLK_STATUS; //마우스 클릭 좌우버튼 구분
  14. //var obj; //트리뷰 구분
  15. /**
  16. * @desc : 폼초기화
  17. * @
  18. * @param : flag (0:서식목록, 1:서식셋관리)
  19. * @return :
  20. * @---------------------------------------------------
  21. */
  22. function fFormInit(flag)
  23. {
  24. // 폴더명칭 popup
  25. grup_saveas.visible = "false";
  26. grp_mdlsaveas.visible = "false";
  27. grp_mdlchng.visible = "false";
  28. model.removeNodeset("/root/main/formlist/row");
  29. // 부서코드 리스트 불러오기...
  30. //mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/deptlist/orddept", "D");
  31. //addComboInstance("/root/init/deptlist/orddept", "deptcd^depthngnm", "-^전체", "dept"); //진료과 전체항목 추가
  32. //model.setValue("/root/send/reqformlist/formdeptcd",getUserInfo("dutplcecd"));
  33. model.setValue("/root/send/reqformlist/formdeptcd", "-");
  34. model.refresh();
  35. // admin 인가? 보여줄것만 보여준다..
  36. // 관리자 : 개인, 과, 전체 등록/수정/삭제 가능
  37. // 사용자 : 개인만 가능
  38. var result = fUserAdmin();
  39. // var result = true;
  40. if (result == true)
  41. {
  42. //grup_srch1.visible = "true";
  43. model.setValue("/root/send/cond/admin", "true");
  44. } else {
  45. //grup_srch1.visible = "false";
  46. model.setValue("/root/send/cond/admin", "false");
  47. // 사용자정보 셋.
  48. model.setValue("/root/send/cond/userid", getUserId());
  49. model.setValue("/root/send/cond/usernm", getUserInfo("usernm"));
  50. model.setValue("/root/send/cond/deptcd", getUserInfo("dutplcecd"));
  51. model.setValue("/root/send/cond/mydeptcd", getUserInfo("dutplcecd"));
  52. model.setValue("/root/send/cond/jobkind", getUserInfo("jobkindcd"));
  53. }
  54. var curDate = getCurrentDate() + getCurrentTime();
  55. model.setValue("/root/send/cond/currentdate", curDate);
  56. // 디폴트 트리뷰
  57. if (flag == 0 )
  58. {
  59. // 서식목록일때만 과코드 부여해준다..
  60. model.setValue("/root/send/reqdata/deptcd", getUserInfo("dutplcecd"));
  61. // Switch (개인,과,전체,서식목록)
  62. //sw_setflag.case_user.selected = "false";
  63. //sw_setflag.case_dept.selected = "true";
  64. //sw_setflag.case_all.selected = "false";
  65. sw_setflag.case_list.selected = "false";
  66. sw_setflag.refresh();
  67. // 과 목록 보여주자~
  68. fSetIndxListSelect("D");
  69. } else {
  70. // Switch (개인,과,전체,서식목록)
  71. sw_setflag.refresh();
  72. //sw_setflag.case_user.selected = "false";
  73. //sw_setflag.case_dept.selected = "true";
  74. //sw_setflag.case_all.selected = "false";
  75. sw_setflag.refresh();
  76. // 과 목록 보여주자~
  77. fSetIndxListSelect("D");
  78. }
  79. }
  80. /**
  81. * @desc : 버튼 클릭 (개인/과/전체)
  82. * @
  83. * @param :
  84. * @return :
  85. * @---------------------------------------------------
  86. */
  87. function fSetIndxListSelect(setflag)
  88. {
  89. model.setValue("/root/send/cond/setflag", setflag);
  90. model.setValue("/root/send/cond/indxflag", "H");
  91. model.refresh();
  92. // 새폴더 저장 팝업
  93. grup_saveas.visible = "false";
  94. submit("TRMRF05001");
  95. model.removeNodeset("/root/main/indxlist_d/item");
  96. copyNode(model, model, "/root/main/indxlist_d", "/root/main/indxlist");
  97. trv_indxlist_d.rebuild();
  98. refresh_d = 1;
  99. // 첫번째 만 오픈하자!!
  100. trv_indxlist_d.expand(0, true);
  101. }
  102. /**
  103. * @desc : 과 선택
  104. * @
  105. * @param :
  106. * @return :
  107. * @---------------------------------------------------
  108. */
  109. function fDeptCDSelect(){
  110. model.setValue("/root/send/cond/userid","");
  111. submit("TRMRF05001");
  112. model.removeNodeset("/root/main/indxlist_d/item");
  113. copyNode(model, model, "/root/main/indxlist_d", "/root/main/indxlist");
  114. model.refresh();
  115. }
  116. /**
  117. * @desc : 사용자정보
  118. * @
  119. * @param :
  120. * @return :
  121. * @---------------------------------------------------
  122. */
  123. function fGetUserInfo(userid,usernm,deptcd , instcd)
  124. {
  125. model.setValue("/root/send/cond/userid", userid);
  126. model.setValue("/root/send/cond/usernm", usernm);
  127. model.setValue("/root/send/cond/deptcd", deptcd);
  128. ipt_saveas_userid.text = usernm;
  129. ipt_saveas_userid.refresh();
  130. submit("TRMRF05001");
  131. model.makeValue("/root/temp/instcd",instcd); //조회한 사용자 기관코드
  132. model.removeNodeset("/root/main/indxlist_u/item");
  133. //model.copyNode("/root/main/indxlist_u", "/root/main/indxlist");
  134. copyNode(model, model, "/root/main/indxlist_u", "/root/main/indxlist");
  135. model.refresh();
  136. }
  137. /**
  138. * @desc : 트리뷰 셋
  139. * @
  140. * @param :
  141. * @return :
  142. * @---------------------------------------------------
  143. */
  144. function fSetTreeView()
  145. {
  146. var setflag = model.getValue("/root/send/cond/setflag");
  147. var rtn = "";
  148. if (setflag == "D" || setflag == "U") {
  149. rtn = "trv_indxlist_d" + "|" + "/root/main/indxlist_d/item";
  150. }
  151. return rtn;
  152. }
  153. function fSetTreeView_old(){
  154. var setflag = model.getValue("/root/send/cond/setflag");
  155. var rtn = "";
  156. if (setflag == "U") {
  157. rtn = "trv_indxlist_u" + "|" + "/root/main/indxlist_u/item";
  158. }
  159. if (setflag == "D") {
  160. rtn = "trv_indxlist_d" + "|" + "/root/main/indxlist_d/item";
  161. }
  162. if (setflag == "A") {
  163. rtn = "trv_indxlist_a" + "|" + "/root/main/indxlist_a/item";
  164. }
  165. return rtn;
  166. }
  167. /**
  168. * @desc : 마우스 오른쪽 버튼 팝업창
  169. * @
  170. * @param :
  171. * @return :
  172. * @---------------------------------------------------
  173. * 1. 마우스 우클릭인가?
  174. * 2. 관리자인가? 사용자인가?
  175. * 3. 구분이 개인인가? 과인가? 전체인가?
  176. * 4. 폴더인가? 파일인가? 루트인가?
  177. */
  178. function fMouseRghtBtnPopup()
  179. {
  180. var rtn = fSetTreeView();
  181. rtn = rtn.split("|");
  182. var obj = document.controls(rtn[0]);
  183. var path = rtn[1];
  184. if(event.button == 3)
  185. {
  186. if(obj.isCell(event.target) && obj.selectedIndex > -1)
  187. {
  188. var item = obj.item(obj.selectedIndex);
  189. var rowpos = item.index + 1;
  190. var depth = model.getValue("/root/main/indxlist_d/item[" + rowpos + "]/depth");
  191. var item_length = obj.length;
  192. // 루트인가? (보여주는 부분으로..)
  193. /*
  194. if (depth > 2 && item_length > 1) {
  195. window.setPopupMenu(false);
  196. return;
  197. }
  198. */
  199. if(depth == 1) // 대분류
  200. {
  201. window.setPopupMenu(false);
  202. return;
  203. }
  204. var linkflag = model.getValue("/root/main/indxlist_d/item[" + rowpos + "]/linkflag");
  205. var linkcd = model.getValue("/root/main/indxlist_d/item[" + rowpos + "]/linkcd");
  206. var indxflag = model.getValue("/root/main/indxlist_d/item[" + rowpos + "]/indxflag");
  207. if(indxflag == "H") // 대분류 메뉴
  208. {
  209. window.setPopupMenu(true, "/root/temp/menu/menu", "label", "func", false);
  210. return;
  211. //window.setPopupMenu(false);
  212. }
  213. else if (indxflag == "R" && linkflag == "N" && linkcd == "") // 중분류 메뉴
  214. {
  215. window.setPopupMenu(true, "/root/temp/menu2/menu", "label", "func", false);
  216. return;
  217. }
  218. else if (indxflag == "R" && linkflag == "Y" && linkcd != "") // 등록 서식
  219. {
  220. // 서식순번 변경 및 삭제
  221. window.setPopupMenu(true, "/root/temp/menu1/menu", "label", "func", false);
  222. return;
  223. }
  224. else
  225. {
  226. window.setPopupMenu(false);
  227. }
  228. /*
  229. // 관리자인가? 구분이 개인인가?
  230. var admin = model.getValue("/root/send/cond/admin");
  231. var setflag = model.getValue("/root/send/cond/setflag");
  232. if(setflag =="U"){ // 개인 indx
  233. sSETLIST = "/root/main/indxlist_u/item"
  234. }else if(setflag =="D"){ // 과 indx
  235. sSETLIST = "/root/main/indxlist_d/item"
  236. }
  237. if (admin == "true" || setflag == "U")
  238. {
  239. if(setflag == "A"){ //전체는 입력안됨
  240. return;
  241. }
  242. //if("공통서식" == model.getValue("/root/main/indxlist_d/item[" + rowpos + "]/indxnm"))
  243. //{
  244. //return;
  245. //}
  246. //if (depth < 2) // 1레벨
  247. //{
  248. //window.setPopupMenu(true, "/root/temp/menu2/menu", "label", "func", false); return;
  249. //}
  250. var linkflag = model.getValue(sSETLIST + "[" + rowpos + "]/linkflag");
  251. var linkcd = model.getValue(sSETLIST + "[" + rowpos + "]/linkcd");
  252. var indxflag = model.getValue(sSETLIST + "[" + rowpos + "]/indxflag");
  253. if (indxflag == "R" && linkflag == "Y" && linkcd != "")
  254. {
  255. // 파일인경우, 파일삭제만..
  256. window.setPopupMenu(true, "/root/temp/menu1/menu", "label", "func", false); return;
  257. }
  258. else if (indxflag == "R" && linkflag == "N" && linkcd == "")
  259. {
  260. window.setPopupMenu(true, "/root/temp/menu3/menu", "label", "func", false); return;
  261. // 폴더인경우, 새폴더/폴더수정/폴더삭제..
  262. //window.setPopupMenu(true, "/root/temp/menu/menu", "label", "func", false); return;
  263. }
  264. else
  265. {
  266. window.setPopupMenu(false);
  267. }
  268. }
  269. else
  270. {
  271. window.setPopupMenu(false);
  272. }
  273. */
  274. }
  275. else
  276. {
  277. window.setPopupMenu(false);
  278. }
  279. }
  280. else
  281. {
  282. window.setPopupMenu(false);
  283. }
  284. }
  285. /**
  286. * @desc : 대분류 추가
  287. * @
  288. * @param :
  289. * @return :
  290. * @---------------------------------------------------
  291. */
  292. function fAddindxH()
  293. {
  294. /*
  295. var rtn = fSetTreeView();
  296. rtn = rtn.split("|");
  297. var obj = document.controls(rtn[0]);
  298. var path = rtn[1];
  299. var item = obj.item(obj.selectedIndex);
  300. var rowPos = item.index + 1;
  301. fSetDiagInfo(rowPos, "i");
  302. model.setValue(sSETLIST_HIDDEN + "/status", "i");
  303. model.setValue("/root/main/iptbox/indxnm", "");
  304. model.refresh();
  305. return;
  306. fShowWndIptBox();
  307. */
  308. }
  309. /**
  310. * @desc : 등록된 서식 삭제
  311. * @
  312. * @param :
  313. * @return :
  314. * @---------------------------------------------------
  315. */
  316. function fDelRecForm()
  317. {
  318. // 확인 버튼
  319. var ret = messageBox("정말","Q001");
  320. if(ret != "6")
  321. {
  322. return;
  323. }
  324. var rtn = fSetTreeView();
  325. rtn = rtn.split("|");
  326. var obj = document.controls(rtn[0]);
  327. var path = rtn[1];
  328. var item = obj.item(obj.selectedIndex);
  329. var rowPos = item.index + 1;
  330. var indxnm = item.label;
  331. var itemindxseq = item.value;
  332. model.makeValue("/root/send/cond/setflag", "D");
  333. if(fSetDiagInfo(rowPos, "d")!= -1){
  334. fSaveDiagSet("Y");
  335. }
  336. }
  337. /**
  338. * @desc : 등록된 서식 삭제
  339. * @
  340. * @param :
  341. * @return :
  342. * @---------------------------------------------------
  343. */
  344. function fMouseRghtBtnPopupSrch(){
  345. if(grd_formlist.isCell(event.target) && grd_formlist.mouseRow >= grd_formlist.fixedRows){
  346. app.showPopupMenu(true);
  347. window.setPopupMenu(true, "/root/temp/menu3/menu", "label", "func", false);
  348. }else{
  349. window.setPopupMenu(false, "/root/temp/menu3/menu", "label", "func", false);
  350. }
  351. }
  352. /**
  353. * @desc : 등록된 서식 삭제
  354. * @
  355. * @param :
  356. * @return :
  357. * @---------------------------------------------------
  358. */
  359. function fDelRecFormgrd()
  360. {
  361. var ret = messageBox("정말 ","Q001");
  362. if(ret != "6"){
  363. return;
  364. }
  365. model.makeValue("/root/send/cond/setflag", "D");
  366. grup_saveas.visible = "false";
  367. model.setvalue(sSETLIST_HIDDEN + "/status", "d");
  368. model.setvalue(sSETLIST_HIDDEN + "/setflag", "D");
  369. model.setValue(sSETLIST_HIDDEN + "/reqflag", "");
  370. model.setValue(sSETLIST_HIDDEN + "/sortno", model.getValue("/root/main/formlist/row["+grd_formlist.row+"]/sortno"));
  371. model.setValue(sSETLIST_HIDDEN + "/indxflag", model.getValue("/root/main/formlist/row["+grd_formlist.row+"]/indxflag"));
  372. model.setValue(sSETLIST_HIDDEN + "/itemindxseq", model.getValue("/root/main/formlist/row["+grd_formlist.row+"]/itemindxseq"));
  373. model.setvalue(sSETLIST_HIDDEN + "/admin", model.getValue("/root/send/cond/admin"));
  374. model.setValue(sSETLIST_HIDDEN + "/depth", "4");
  375. model.setValue(sSETLIST_HIDDEN + "/instcd", getUserInfo("dutplceinstcd"));
  376. model.makeValue(sSETLIST_HIDDEN + "/mydeptcd", getUserInfo("dutplcecd"));
  377. model.copyNode("/root/send/savedata", sSETLIST_HIDDEN);
  378. model.setValue("/root/send/savedata/currentdate", getCurrentDate());
  379. submit("TXMRF05001");
  380. model.removeNodeset("/root/main/indxlist_d/item");
  381. model.removeNodeset("/root/main/indxlist");
  382. fFormInit(1);
  383. model.refresh();
  384. refresh_d = 1;
  385. refresh_a = 0;
  386. trv_indxlist_d.rebuild();
  387. }
  388. /**
  389. * @desc : 등록된 서식 순번 변경
  390. * @
  391. * @param :
  392. * @return :
  393. * @---------------------------------------------------
  394. */
  395. function fUpdtSortno()
  396. {
  397. var rtn = fSetTreeView();
  398. rtn = rtn.split("|");
  399. var obj = document.controls(rtn[0]);
  400. var path = rtn[1];
  401. var item = obj.item(obj.selectedIndex);
  402. var rowPos = item.index + 1;
  403. var indxnm = item.label;
  404. var itemindxseq = item.value;
  405. var sortno = model.getValue("/root/main/indxlist_d/item[" + rowPos + "]/sortno");
  406. model.setValue("/root/main/iptbox/sortno", sortno);
  407. model.setValue("/root/main/iptbox/itemindxseq", itemindxseq);
  408. model.setValue("/root/main/iptbox/reqflag", "sortno");
  409. model.makeValue("/root/send/cond/setflag", "U");
  410. model.refresh();
  411. if(fSetDiagInfo(rowPos, "u")!=-1){
  412. fShowWndIptBox();
  413. }
  414. }
  415. /**
  416. * @desc : 중분류 명 변경
  417. * @
  418. * @param :
  419. * @return :
  420. * @---------------------------------------------------
  421. */
  422. function fUpdtindxR()
  423. {
  424. var rtn = fSetTreeView();
  425. rtn = rtn.split("|");
  426. var obj = document.controls(rtn[0]);
  427. var path = rtn[1];
  428. var item = obj.item(obj.selectedIndex);
  429. var rowPos = item.index + 1;
  430. var indxnm = item.label;
  431. var itemindxseq = item.value;
  432. var indxnm = model.getValue("/root/main/indxlist_d/item[" + rowPos + "]/indxnm");
  433. model.setValue("/root/main/mdliptbox/indxnm", indxnm);
  434. model.setValue("/root/main/mdliptbox/itemindxseq", itemindxseq);
  435. model.setValue("/root/main/mdliptbox/reqflag", "sortno");
  436. model.makeValue("/root/send/cond/setflag", "U");
  437. model.refresh();
  438. if(fSetDiagInfo(rowPos, "u")!=-1){
  439. fShowWndMdlIptBox();
  440. }
  441. }
  442. /**
  443. * @desc : 서식 SET 저장
  444. * @
  445. * @param :
  446. * @return :
  447. * @---------------------------------------------------
  448. */
  449. function fSaveMdlIndxNm()
  450. {
  451. grup_saveas.visible = "false";
  452. var setflag = model.getValue("/root/send/cond/setflag");
  453. model.setvalue(sSETLIST_HIDDEN + "/setflag" , setflag);
  454. var indxnm = "";
  455. var itemindxseq = "";
  456. var reqflag = "";
  457. var rtn = fSetTreeView();
  458. rtn = rtn.split("|");
  459. var obj = document.controls(rtn[0]);
  460. var path = rtn[1];
  461. var item = obj.item(obj.selectedIndex);
  462. var rowPos = item.index + 1;
  463. indxnm = model.getValue("/root/main/mdliptbox/indxnm");
  464. itemindxseq = model.getValue("/root/main/mdliptbox/itemindxseq");
  465. reqflag = model.getValue("/root/main/mdliptbox/reqflag");
  466. if (indxnm == "") {
  467. messageBox("중분류명을", "C001");
  468. return;
  469. }
  470. model.setValue(sSETLIST + "[" + rowPos + "]/indxnm", indxnm);
  471. model.setValue("/root/main/indxlist_d/item[" + rowPos + "]/indxnm", indxnm);
  472. model.setValue(sSETLIST_HIDDEN + "/reqflag", reqflag);
  473. model.setValue(sSETLIST_HIDDEN + "/itemindxseq" , itemindxseq);
  474. model.setValue(sSETLIST_HIDDEN + "/indxnm" , indxnm);
  475. model.setValue(sSETLIST_HIDDEN + "/linkflag" , "M");
  476. var admin = model.getValue("/root/send/cond/admin");
  477. model.setvalue(sSETLIST_HIDDEN + "/admin" , admin);
  478. // 구분에 따라 [과, 사용자] 정보를 넘겨야 하는데...
  479. var userid = model.getValue("/root/send/cond/userid");
  480. var deptcd = model.getValue("/root/send/cond/deptcd");
  481. model.setValue(sSETLIST_HIDDEN + "/userid" , userid);
  482. model.setValue(sSETLIST_HIDDEN + "/deptcd" , deptcd);
  483. var instcd = model.getValue("/root/temp/instcd");
  484. if(instcd == ""){
  485. model.setValue(sSETLIST_HIDDEN + "/instcd" , getUserInfo("dutplceinstcd"));
  486. }else {
  487. model.setValue(sSETLIST_HIDDEN + "/instcd" , instcd);
  488. }
  489. // 로그인 과 정보 넘기기...
  490. model.makeValue(sSETLIST_HIDDEN + "/mydeptcd", getUserInfo("dutplcecd"));
  491. model.copyNode("/root/send/savedata", sSETLIST_HIDDEN);
  492. var curDate = getCurrentDate();
  493. model.setValue("/root/send/savedata/currentdate", curDate);
  494. submit("TXMRF05001");
  495. model.removeNodeset("/root/main/indxlist_d/item");
  496. model.removeNodeset("/root/main/indxlist");
  497. fFormInit(1);
  498. model.refresh();
  499. refresh_d = 1;
  500. refresh_a = 0;
  501. trv_indxlist_d.rebuild();
  502. }
  503. /**
  504. * @desc : 서식 SET 저장
  505. * @
  506. * @param :
  507. * @return :
  508. * @---------------------------------------------------
  509. */
  510. function fSaveDiagSet(linkflag)
  511. {
  512. grup_saveas.visible = "false";
  513. var setflag = model.getValue("/root/send/cond/setflag");
  514. model.setvalue(sSETLIST_HIDDEN + "/setflag" , setflag);
  515. var sortno = "";
  516. var itemindxseq = "";
  517. var reqflag = "";
  518. var rtn = fSetTreeView();
  519. rtn = rtn.split("|");
  520. var obj = document.controls(rtn[0]);
  521. var path = rtn[1];
  522. var item = obj.item(obj.selectedIndex);
  523. var rowPos = item.index + 1;
  524. if(setflag == "U")
  525. {
  526. sortno = model.getValue("/root/main/iptbox/sortno");
  527. itemindxseq = model.getValue("/root/main/iptbox/itemindxseq");
  528. reqflag = model.getValue("/root/main/iptbox/reqflag");
  529. }
  530. else if(setflag == "D")
  531. {
  532. itemindxseq = item.value;
  533. }
  534. if (linkflag == "N" && sortno == "") {
  535. messageBox("서식순번을", "C001");
  536. return;
  537. }
  538. model.setValue(sSETLIST + "[" + rowPos + "]/sortno", sortno);
  539. model.setValue("/root/main/indxlist_d/item[" + rowPos + "]/sortno", sortno);
  540. model.setValue(sSETLIST_HIDDEN + "/reqflag", reqflag);
  541. model.setValue(sSETLIST_HIDDEN + "/itemindxseq" , itemindxseq);
  542. model.setValue(sSETLIST_HIDDEN + "/sortno" , sortno);
  543. model.setValue(sSETLIST_HIDDEN + "/linkflag" , linkflag);
  544. var admin = model.getValue("/root/send/cond/admin");
  545. model.setvalue(sSETLIST_HIDDEN + "/admin" , admin);
  546. //var setflag = model.getValue("/root/send/cond/setflag");
  547. //model.setvalue(sSETLIST_HIDDEN + "/setflag" , setflag);
  548. // 구분에 따라 [과, 사용자] 정보를 넘겨야 하는데...
  549. var userid = model.getValue("/root/send/cond/userid");
  550. var deptcd = model.getValue("/root/send/cond/deptcd");
  551. if (setflag == "U")
  552. {
  553. model.setValue(sSETLIST_HIDDEN + "/userid" , userid);
  554. model.setValue(sSETLIST_HIDDEN + "/deptcd" , deptcd);
  555. var instcd = model.getValue("/root/temp/instcd");
  556. if(instcd == ""){
  557. model.setValue(sSETLIST_HIDDEN + "/instcd" , getUserInfo("dutplceinstcd"));
  558. }else {
  559. model.setValue(sSETLIST_HIDDEN + "/instcd" , instcd);
  560. }
  561. }
  562. else if (setflag == "D")
  563. {
  564. model.setValue(sSETLIST_HIDDEN + "/userid" , "");
  565. model.setValue(sSETLIST_HIDDEN + "/deptcd" , deptcd);
  566. model.setValue(sSETLIST_HIDDEN + "/instcd" , getUserInfo("dutplceinstcd"));
  567. }
  568. // 로그인 과 정보 넘기기...
  569. model.makeValue(sSETLIST_HIDDEN + "/mydeptcd", getUserInfo("dutplcecd"));
  570. model.copyNode("/root/send/savedata", sSETLIST_HIDDEN);
  571. var curDate = getCurrentDate();
  572. model.setValue("/root/send/savedata/currentdate", curDate);
  573. //model.removeNodeset("/root/main/indxlist_d/item");
  574. //model.copyNode("/root/main/indxlist_d", "/root/main/indxlist");
  575. submit("TXMRF05001");
  576. model.removeNodeset("/root/main/indxlist_d/item");
  577. model.removeNodeset("/root/main/indxlist");
  578. fFormInit(1);
  579. model.refresh();
  580. refresh_d = 1;
  581. refresh_a = 0;
  582. trv_indxlist_d.rebuild();
  583. }
  584. /**
  585. * @desc : 서식관리 폴더명을 입력할 InputBox를 보여줌.
  586. * @
  587. * @param :
  588. * @return :
  589. * @---------------------------------------------------
  590. */
  591. function fShowWndIptBox()
  592. {
  593. grup_saveas.attribute("top") = event.clientY;
  594. grup_saveas.visible = "true";
  595. model.setFocus("ipt_saveas_indxnm1");
  596. }
  597. /**
  598. * @desc : 중분류명을 입력할 InputBox를 보여줌.
  599. * @
  600. * @param :
  601. * @return :
  602. * @---------------------------------------------------
  603. */
  604. function fShowWndMdlIptBox()
  605. {
  606. grp_mdlsaveas.attribute("top") = event.clientY;
  607. grp_mdlsaveas.visible = "true";
  608. model.setFocus("ipt_mdlindxnm");
  609. }
  610. /**
  611. * @desc : 서식 SET 조회
  612. * @
  613. * @param :
  614. * @return :
  615. * @---------------------------------------------------
  616. */
  617. function fReqDetlSet()
  618. {
  619. var rtn = fSetTreeView();
  620. rtn = rtn.split("|");
  621. var obj = document.controls(rtn[0]);
  622. var path = rtn[1];
  623. if (obj.selectedIndex == 0)
  624. {
  625. return;
  626. }
  627. var item = obj.item(obj.selectedIndex);
  628. if (item != null)
  629. {
  630. var rowpos = item.index + 1;
  631. fSetDiagInfo(rowpos);
  632. var depth = model.getValue(sSETLIST_HIDDEN + "/depth");
  633. if(depth == 2){
  634. return;
  635. }
  636. }
  637. }
  638. /**
  639. * @desc : Mouse Drag Drop
  640. * @
  641. * @param :
  642. * @return : void
  643. * @authur :
  644. * @---------------------------------------------------
  645. */
  646. function fOndrop()
  647. {
  648. var rtn = fSetTreeView();
  649. rtn = rtn.split("|");
  650. var obj = document.controls(rtn[0]);
  651. var path = rtn[1];
  652. var rowpos = obj.mouseRow + 1;
  653. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  654. var indxnm = model.getValue(sSETLIST + "[" + rowpos + "]/indxnm");
  655. var x = event.clientX;
  656. var maxposX = 24 + 16 * (depth - 1) + ( 13 * indxnm.length);
  657. var minposX = 24 + 16 * (depth - 1);
  658. if(maxposX > x)
  659. {
  660. fDiagSetDrop();
  661. }
  662. else
  663. {
  664. return;
  665. }
  666. }
  667. /**
  668. * @desc : Mouse Drag Over
  669. * @
  670. * @param :
  671. * @return : void
  672. * @authur :
  673. * @---------------------------------------------------
  674. */
  675. function fMouseOver()
  676. {
  677. var rtn = fSetTreeView();
  678. rtn = rtn.split("|");
  679. var obj = document.controls(rtn[0]);
  680. var path = rtn[1];
  681. var rowpos = obj.mouseRow + 1;
  682. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  683. var indxnm = model.getValue(sSETLIST + "[" + rowpos + "]/indxnm");
  684. var x = event.clientX;
  685. var maxposX = 24 + 16 * (depth - 1) + ( 10 * indxnm.length);
  686. var minposX = 24 + 16 * (depth - 1);
  687. if(maxposX > x)
  688. {
  689. for ( var i = 0; i < obj.length; i++ )
  690. {
  691. obj.item(i).attribute("background-color") = "#ffffff";
  692. obj.item(i).attribute("text-decoration") = "";
  693. }
  694. obj.item(obj.mouseRow).attribute("background-color") = "#ece1ec";
  695. obj.item(obj.mouseRow).attribute("text-decoration") = "";
  696. }
  697. }
  698. /**
  699. * @desc : TreeView에 Drag상태로 Mouse over된 경우 item의 background color를 clear함
  700. * @
  701. * @param :
  702. * @return : void
  703. * @authur :
  704. * @---------------------------------------------------
  705. */
  706. function fOnDragMouseOver()
  707. {
  708. var rtn = fSetTreeView();
  709. rtn = rtn.split("|");
  710. var obj = document.controls(rtn[0]);
  711. var path = rtn[1];
  712. var treeObj = document.controls.item(event.currentTarget);
  713. var rowpos = obj.mouseRow + 1;
  714. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  715. var indxnm = model.getValue(sSETLIST + "[" + rowpos + "]/indxnm");
  716. var x = event.clientX;
  717. var maxposX = 24 + 16 * (depth - 1) + ( 10 * indxnm.length);
  718. var minposX = 24 + 16 * (depth - 1);
  719. if(maxposX > x)
  720. {
  721. if( obj.selectedIndex != treeObj.mouseRow )
  722. {
  723. for ( var i = 0; i < treeObj.length; i++ )
  724. {
  725. treeObj.item(i).attribute("background-color") = "#ffffff";
  726. treeObj.item(i).attribute("text-decoration") = "";
  727. }
  728. treeObj.item(treeObj.mouseRow).attribute("background-color") = "#ece1ec";
  729. treeObj.item(treeObj.mouseRow).attribute("text-decoration") = "";
  730. }
  731. }
  732. }
  733. /**
  734. * @desc : 서식 SET Drag
  735. * @
  736. * @param :
  737. * @return :
  738. * @---------------------------------------------------
  739. */
  740. function fDiagSetDrag()
  741. {
  742. var rtn = fSetTreeView();
  743. rtn = rtn.split("|");
  744. var obj = document.controls(rtn[0]);
  745. var path = rtn[1];
  746. if (obj.selectedIndex == 0) {
  747. return;
  748. }
  749. var item = obj.item(obj.selectedIndex);
  750. if (item != null)
  751. {
  752. var rowpos = item.index + 1;
  753. fSetDiagInfo(rowpos, "u");
  754. var linkflag = model.getValue(sSETLIST + "[" + rowpos + "]/linkflag");
  755. var indxflag = model.getValue(sSETLIST + "[" + rowpos + "]/indxflag");
  756. //var sSETLIST = "/root/main/indxlist/item";
  757. if(!(linkflag == "Y" && indxflag == "R")){
  758. return;
  759. }
  760. //var indxnm = model.getValue(sSETLIST + "[" + rowpos + "]/indxnm");
  761. //alert(indxnm);
  762. //model.setValue("/root/main/iptbox/indxnm", indxnm);
  763. model.refresh();
  764. }
  765. }
  766. /**
  767. * @desc : 서식 SET Drop
  768. * @
  769. * @param :
  770. * @return :
  771. * @---------------------------------------------------
  772. */
  773. function fDiagSetDrop()
  774. {
  775. var rtn = fSetTreeView();
  776. rtn = rtn.split("|");
  777. var obj = document.controls(rtn[0]);
  778. var path = rtn[1];
  779. fClrTreeViweSelect();
  780. var treeObj = document.controls.item(event.currentTarget);
  781. var rowpos = obj.mouseRow + 1;
  782. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  783. var itemindxseq = model.getValue(sSETLIST + "[" + rowpos + "]/itemindxseq");
  784. var supitemindxseq = model.getValue(sSETLIST + "[" + rowpos + "]/supitemindxseq");
  785. var linkflag = model.getValue(sSETLIST + "[" + rowpos + "]/linkflag");
  786. var indxflag = model.getValue(sSETLIST + "[" + rowpos + "]/indxflag");
  787. var cmpdepth = model.getValue(sSETLIST_HIDDEN + "/depth");
  788. var cmpitemindxseq = model.getValue(sSETLIST_HIDDEN + "/itemindxseq");
  789. var cmpsupitemindxseq = model.getValue(sSETLIST_HIDDEN + "/supitemindxseq");
  790. var cmplinkflag = model.getValue(sSETLIST_HIDDEN + "/linkflag");
  791. var cmpindxflag = model.getValue(sSETLIST_HIDDEN + "/indxflag");
  792. //서식만 이동할수있음.
  793. if(!(cmplinkflag == "Y" && cmpindxflag == "R")){
  794. //messageBox("폴더는 이동", "E001");
  795. obj.item(obj.mouseRow).attribute("background-color") = "#ffffff";
  796. obj.item(obj.mouseRow).attribute("text-decoration") = "";
  797. return;
  798. }
  799. //대분류 밑으로는 이동할수 없음.
  800. if(linkflag == "N" && indxflag == "H"){
  801. //messageBox("대분류로 이동", "E001");
  802. obj.item(obj.mouseRow).attribute("background-color") = "#ffffff";
  803. obj.item(obj.mouseRow).attribute("text-decoration") = "";
  804. return;
  805. }
  806. // 이동하는 폴더가 파일 아래로 이동하는것 방지함.
  807. if(linkflag == "Y"){
  808. //messageBox("폴더가 아닌 위치로 이동", "E001");
  809. obj.item(obj.mouseRow).attribute("background-color") = "#ffffff";
  810. obj.item(obj.mouseRow).attribute("text-decoration") = "";
  811. return;
  812. }
  813. //동일한 위치로 이동하는것을 방지함.
  814. if(itemindxseq == cmpitemindxseq){
  815. //messageBox("동일한 위치로 이동", "E001");
  816. obj.item(obj.mouseRow).attribute("background-color") = "#ffffff";
  817. obj.item(obj.mouseRow).attribute("text-decoration") = "";
  818. return;
  819. }
  820. else if(supitemindxseq == cmpsupitemindxseq){
  821. //messageBox("동일한 위치로 이동", "E001");
  822. obj.item(obj.mouseRow).attribute("background-color") = "#ffffff";
  823. obj.item(obj.mouseRow).attribute("text-decoration") = "";
  824. return;
  825. }
  826. //이동하는 SET폴더의 depth가 도착하는 곳보다 낮은 레벨일 경우,
  827. //자신의 child node 아래로 이동하는 것을 방지함.
  828. if(cmpdepth < depth)
  829. {
  830. var rootdepth;
  831. var rootitemindxseq;
  832. while(cmpdepth != rootdepth)
  833. {
  834. rootdepth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  835. rootitemindxseq = model.getValue(sSETLIST + "[" + rowpos + "]/itemindxseq");
  836. rowpos--;
  837. }
  838. if(rootitemindxseq == cmpitemindxseq){
  839. //messageBox("지정된 위치로 이동", "E001");
  840. obj.item(obj.mouseRow).attribute("background-color") = "#ffffff";
  841. obj.item(obj.mouseRow).attribute("text-decoration") = "";
  842. return;
  843. }
  844. }
  845. //중분류를 변경시킨다.
  846. fSaveChngMdl("Y");
  847. //서식순번을 재지정한다.
  848. fUpdtSortno();
  849. }
  850. /**
  851. * @desc : 서식 중분류 변경
  852. * @
  853. * @param :
  854. * @return :
  855. * @---------------------------------------------------
  856. */
  857. function fSaveChngMdl(linkflag)
  858. {
  859. grup_saveas.visible = "false";
  860. var setflag = model.getValue("/root/send/cond/setflag");
  861. model.setvalue(sSETLIST_HIDDEN + "/setflag" , setflag);
  862. var sortno = "";
  863. var itemindxseq = "";
  864. var reqflag = "";
  865. var rtn = fSetTreeView();
  866. rtn = rtn.split("|");
  867. var obj = document.controls(rtn[0]);
  868. var path = rtn[1];
  869. var item = obj.item(obj.selectedIndex);
  870. var rowPos = item.index + 1;
  871. //타겟 중분류 itemindxseq
  872. var currowpos = obj.mouseRow + 1;
  873. var chngindxseq = model.getValue(sSETLIST + "[" + currowpos + "]/itemindxseq");
  874. model.setValue(sSETLIST + "[" + rowPos + "]/sortno", sortno);
  875. model.setValue("/root/main/indxlist_d/item[" + rowPos + "]/sortno", sortno);
  876. model.setValue(sSETLIST_HIDDEN + "/reqflag", reqflag);
  877. //model.setValue(sSETLIST_HIDDEN + "/itemindxseq" , itemindxseq);
  878. model.setValue(sSETLIST_HIDDEN + "/sortno" , sortno);
  879. model.setValue(sSETLIST_HIDDEN + "/linkflag" , linkflag);
  880. model.makeValue(sSETLIST_HIDDEN + "/chngindxseq" , chngindxseq);
  881. var admin = model.getValue("/root/send/cond/admin");
  882. model.setvalue(sSETLIST_HIDDEN + "/admin" , admin);
  883. //var setflag = model.getValue("/root/send/cond/setflag");
  884. //model.setvalue(sSETLIST_HIDDEN + "/setflag" , setflag);
  885. // 구분에 따라 [과, 사용자] 정보를 넘겨야 하는데...
  886. var userid = model.getValue("/root/send/cond/userid");
  887. var deptcd = model.getValue("/root/send/cond/deptcd");
  888. if (setflag == "U")
  889. {
  890. model.setValue(sSETLIST_HIDDEN + "/userid" , userid);
  891. model.setValue(sSETLIST_HIDDEN + "/deptcd" , deptcd);
  892. var instcd = model.getValue("/root/temp/instcd");
  893. if(instcd == ""){
  894. model.setValue(sSETLIST_HIDDEN + "/instcd" , getUserInfo("dutplceinstcd"));
  895. }else {
  896. model.setValue(sSETLIST_HIDDEN + "/instcd" , instcd);
  897. }
  898. }
  899. // 로그인 과 정보 넘기기...
  900. model.makeValue(sSETLIST_HIDDEN + "/mydeptcd", getUserInfo("dutplcecd"));
  901. model.copyNode("/root/send/savedata", sSETLIST_HIDDEN);
  902. var curDate = getCurrentDate();
  903. model.setValue("/root/send/savedata/currentdate", curDate);
  904. //model.removeNodeset("/root/main/indxlist_d/item");
  905. //model.copyNode("/root/main/indxlist_d", "/root/main/indxlist");
  906. submit("TXMRF05001");
  907. model.removeNodeset("/root/main/indxlist_d/item");
  908. model.removeNodeset("/root/main/indxlist");
  909. fFormInit(1);
  910. model.refresh();
  911. refresh_d = 1;
  912. refresh_a = 0;
  913. trv_indxlist_d.rebuild();
  914. }
  915. /**
  916. * @desc : 폴더명 검색할 경우 검색한 위치로 focus를 이동한다.
  917. * @
  918. * @param :
  919. * @return : void
  920. * @authur :
  921. * @---------------------------------------------------
  922. */
  923. function fSrchDiagIndxNM(){
  924. var rtn = fSetTreeView();
  925. rtn = rtn.split("|");
  926. var obj = document.controls(rtn[0]);
  927. var path = rtn[1];
  928. var sFolderNM = model.getValue("/root/main/cond/foldernm");
  929. if (obj.selectedIndex+1 == obj.length) {
  930. obj.selectedIndex = 0;
  931. }
  932. for(var i=obj.selectedIndex+1; i<obj.length;i++){
  933. obj.select(i);
  934. if(sFolderNM == obj.label){
  935. break;
  936. }
  937. }
  938. fReqDetlSet();
  939. }
  940. /**
  941. * @desc : TreeView 선택된 item의 background color를 clear함
  942. * @
  943. * @param :
  944. * @return : void
  945. * @authur :
  946. * @---------------------------------------------------
  947. */
  948. function fClrTreeViweSelect(){
  949. var rtn = fSetTreeView();
  950. rtn = rtn.split("|");
  951. var obj = document.controls(rtn[0]);
  952. var path = rtn[1];
  953. for(var i = 0; i < obj.length; i++){
  954. obj.item(i).attribute("background-color") = "#ffffff";
  955. obj.item(i).attribute("text-decoration") = "";
  956. }
  957. }
  958. /**
  959. * @desc : 서식 SET INFO SETTING
  960. * @
  961. * @param :
  962. * @return :
  963. * @---------------------------------------------------
  964. */
  965. function fSetDiagInfo(rowpos, status){
  966. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  967. if(status == "u" && depth == 1){
  968. //messageBox("선택한 폴더는 수정", "E001");
  969. return -1;
  970. }else if(status == "d" && depth == 1){
  971. //messageBox("선택한 폴더는 삭제", "E001");
  972. return -1;
  973. }
  974. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  975. var path = model.getValue(sSETLIST + "[" + rowpos + "]/path");
  976. var itemindxseq = model.getValue(sSETLIST + "[" + rowpos + "]/itemindxseq");
  977. var supitemindxseq = model.getValue(sSETLIST + "[" + rowpos + "]/supitemindxseq");
  978. var linkflag = model.getValue(sSETLIST + "[" + rowpos + "]/linkflag");
  979. var indxflag = model.getValue(sSETLIST + "[" + rowpos + "]/indxflag");
  980. var indxnm = model.getValue(sSETLIST + "[" + rowpos + "]/indxnm");
  981. var sortno = model.getValue(sSETLIST + "[" + rowpos + "]/sortno");
  982. if(status == "d")
  983. {
  984. if(depth == 2)
  985. {
  986. if(linkflag == "N") // 중분류(폴더)
  987. depth = 3;
  988. }
  989. else
  990. {
  991. if(linkflag == "Y") // 중분류(폴더)
  992. depth = 4;
  993. }
  994. }
  995. model.setValue(sSETLIST_HIDDEN + "/status" , status);
  996. model.setValue(sSETLIST_HIDDEN + "/depth" , depth);
  997. model.setValue(sSETLIST_HIDDEN + "/path" , path);
  998. model.setValue(sSETLIST_HIDDEN + "/itemindxseq" , itemindxseq);
  999. // supitemindxseq : 새로운 등록이면 상위정보, 수정이면 기존정보
  1000. if(status == "i"){
  1001. model.setValue(sSETLIST_HIDDEN + "/supitemindxseq", itemindxseq);
  1002. }else{
  1003. model.setValue(sSETLIST_HIDDEN + "/supitemindxseq", supitemindxseq);
  1004. }
  1005. //연결구분이 'Y' 인 경우 : 서식명칭에 값을 넣지 않는다.. (2007.06.12)
  1006. if (linkflag == 'N') {
  1007. model.setValue(sSETLIST_HIDDEN + "/indxnm" , indxnm);
  1008. } else {
  1009. model.setValue(sSETLIST_HIDDEN + "/indxnm" , "");
  1010. }
  1011. //2009 01 28 강지훈 수정 서식의 중분류를 변경하기위한 수정
  1012. //model.setValue(sSETLIST_HIDDEN + "/linkflag" , "N"); // 무조건 linkflag를 N으로....
  1013. model.setValue(sSETLIST_HIDDEN + "/linkflag" , linkflag); // 선택된 linkflag로 수정
  1014. model.setValue(sSETLIST_HIDDEN + "/linkcd" , "");
  1015. // 상위 정보 (사용자, 과)
  1016. var userid = model.getValue(sSETLIST + "[" + rowpos + "]/userid");
  1017. var deptcd = model.getValue(sSETLIST + "[" + rowpos + "]/deptcd");
  1018. model.setValue(sSETLIST_HIDDEN + "/userid" , userid);
  1019. model.setValue(sSETLIST_HIDDEN + "/deptcd" , deptcd);
  1020. // 기본 정보
  1021. var instflag = model.getValue("/root/send/cond/setflag"); //개인과구분
  1022. if(instflag =="U")
  1023. {
  1024. var instcd = model.getValue("/root/temp/instcd");
  1025. if(instcd == "")
  1026. {
  1027. model.setValue(sSETLIST_HIDDEN + "/instcd" , getUserInfo("dutplceinstcd"));
  1028. }
  1029. else
  1030. {
  1031. model.setValue(sSETLIST_HIDDEN + "/instcd" , instcd);
  1032. }
  1033. }
  1034. else
  1035. {
  1036. model.setValue(sSETLIST_HIDDEN + "/instcd" , getUserInfo("dutplceinstcd"));
  1037. }
  1038. //2009 01 28 강지훈 수정 서식의 중분류를 변경하기위한 수정
  1039. //model.setValue(sSETLIST_HIDDEN + "/indxflag" , "R"); // 무조건 indxflag를 R으로....
  1040. model.setValue(sSETLIST_HIDDEN + "/indxflag" , indxflag); // 선택된 indxflag로 수정
  1041. model.setValue(sSETLIST_HIDDEN + "/valiyn" , "Y");
  1042. model.setValue(sSETLIST_HIDDEN + "/sortno" , sortno);
  1043. model.setValue(sSETLIST_HIDDEN + "/comnseq" , 0);
  1044. model.setValue(sSETLIST_HIDDEN + "/slipno" , 0);
  1045. // 사용자 정보(관리자, 일반사용자)
  1046. // 구분 정보(개인,과,전체)
  1047. var admin = model.getValue("/root/send/cond/admin");
  1048. var setflag = model.getValue("/root/send/cond/setflag");
  1049. model.setValue(sSETLIST_HIDDEN + "/admin" , admin);
  1050. model.setValue(sSETLIST_HIDDEN + "/setflag" , setflag);
  1051. model.refresh();
  1052. }
  1053. /**
  1054. * @desc : 서식 SET 에 파일 연결하기
  1055. * @
  1056. * @param :
  1057. * @return :
  1058. * @---------------------------------------------------
  1059. */
  1060. function fAddindx()
  1061. {
  1062. var rtn = fSetTreeView();
  1063. rtn = rtn.split("|");
  1064. var obj = document.controls(rtn[0]);
  1065. var path = rtn[1];
  1066. // 선택폴더가 있는가?
  1067. if (obj.selectedIndex == -1) {
  1068. messageBox("폴더를 ", "C002");
  1069. return;
  1070. }
  1071. // 선택한 아이템 로우~!!
  1072. var item = obj.item(obj.selectedIndex);
  1073. var rowpos = item.index + 1;
  1074. // 루트인가? (이동할 수 없다..)
  1075. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  1076. if (depth == 1) {
  1077. //messageBox("지정된 위치로 이동", "E001");
  1078. return;
  1079. }
  1080. // 폴더인가? 파일이면 파일을 추가하지 않는다.
  1081. var linkflag = model.getValue(sSETLIST + "[" + rowpos + "]/linkflag");
  1082. if (linkflag == "Y") {
  1083. messageBox("폴더를 ", "C002");
  1084. return;
  1085. }
  1086. // 선택한 서식이 있는가?
  1087. var checkflag = "false";
  1088. for(var i = grd_formlist.fixedRows; i < grd_formlist.rows; i++)
  1089. {
  1090. var flag = model.getValue("/root/main/formlist/row["+ i +"]/check");
  1091. var sortno = model.getValue("/root/main/formlist/row["+ i +"]/sortno");
  1092. if(flag == "true" && sortno != "")
  1093. {
  1094. checkflag = "true";
  1095. break;
  1096. }
  1097. else if(flag == "true" && sortno == "")
  1098. {
  1099. messageBox("서식순번은", "I003");
  1100. return;
  1101. }
  1102. }
  1103. if(checkflag == "false"){
  1104. messageBox("서식을 ", "C002");
  1105. return;
  1106. }
  1107. var item = obj.item(obj.selectedIndex);
  1108. var rowpos = item.index + 1;
  1109. var indxfocus = item.value;
  1110. model.setValue("/root/temp/indxfocus", indxfocus);
  1111. for(var i = grd_formlist.fixedRows; i < grd_formlist.rows; i++)
  1112. {
  1113. var flag = model.getValue("/root/main/formlist/row["+ i +"]/check");
  1114. var sortno = model.getValue("/root/main/formlist/row["+ i +"]/sortno");
  1115. if(flag=="true" && sortno != "")
  1116. {
  1117. model.setValue("/root/main/formlist/row["+ i +"]/check","false");
  1118. var formcd = model.getValue("/root/main/formlist/row["+ i +"]/formcd");
  1119. model.setValue(sSETLIST_HIDDEN + "/linkcd" , formcd);
  1120. var userid = model.getValue("/root/send/cond/userid");
  1121. var deptcd = model.getValue("/root/send/cond/deptcd");
  1122. //model.setValue(sSETLIST_HIDDEN + "/userid" , userid);
  1123. model.setValue(sSETLIST_HIDDEN + "/deptcd" , deptcd);
  1124. // 서식명칭에 값을 넣지 않는다.. (2007.06.12)
  1125. model.setValue(sSETLIST_HIDDEN + "/indxnm" , "");
  1126. model.setValue(sSETLIST_HIDDEN + "/supitemindxseq" , indxfocus);
  1127. model.setValue(sSETLIST_HIDDEN + "/depth" , "");
  1128. model.setValue(sSETLIST_HIDDEN + "/itemindxseq" , "");
  1129. model.setValue(sSETLIST_HIDDEN + "/path" , "");
  1130. model.setValue(sSETLIST_HIDDEN + "/status" , "i");
  1131. model.setValue(sSETLIST_HIDDEN + "/sortno" , sortno);
  1132. // 기본 정보
  1133. var instflag = model.getValue("/root/send/cond/setflag"); //개인과구분
  1134. if(instflag =="U")
  1135. {
  1136. var instcd = model.getValue("/root/temp/instcd");
  1137. if(instcd == "")
  1138. {
  1139. model.setValue(sSETLIST_HIDDEN + "/instcd" , getUserInfo("dutplceinstcd"));
  1140. }
  1141. else
  1142. {
  1143. model.setValue(sSETLIST_HIDDEN + "/instcd" , instcd);
  1144. }
  1145. model.setValue(sSETLIST_HIDDEN + "/userid" , userid);
  1146. }
  1147. else
  1148. {
  1149. model.setValue(sSETLIST_HIDDEN + "/instcd" , getUserInfo("dutplceinstcd"));
  1150. }
  1151. model.setValue(sSETLIST_HIDDEN + "/indxflag" , "R");
  1152. var admin = model.getValue("/root/send/cond/admin");
  1153. model.setValue(sSETLIST_HIDDEN + "/admin" , admin);
  1154. var setflag = model.getValue("/root/send/cond/setflag");
  1155. model.setValue(sSETLIST_HIDDEN + "/setflag" , setflag);
  1156. model.setValue(sSETLIST_HIDDEN + "/linkflag" , "Y");
  1157. model.setValue(sSETLIST_HIDDEN + "/valiyn" , "Y");
  1158. model.setValue(sSETLIST_HIDDEN + "/comnseq" , 0);
  1159. model.setValue(sSETLIST_HIDDEN + "/slipno" , 0);
  1160. model.copyNode("/root/send/savedata", sSETLIST_HIDDEN);
  1161. model.makeValue("/root/send/savedata/retflag","ret"); //저장후 조회여부
  1162. var curDate = getCurrentDate();
  1163. model.setValue("/root/send/savedata/currentdate", curDate);
  1164. submit("TXMRF05001");
  1165. }
  1166. }
  1167. submit("TRMRF05001");
  1168. model.removeNodeset("/root/main/indxlist_d/item");
  1169. model.copyNode("/root/main/indxlist_d", "/root/main/indxlist");
  1170. model.refresh();
  1171. }
  1172. function fAddindx_old()
  1173. {
  1174. var rtn = fSetTreeView();
  1175. rtn = rtn.split("|");
  1176. var obj = document.controls(rtn[0]);
  1177. var path = rtn[1];
  1178. // 선택폴더가 있는가?
  1179. if (obj.selectedIndex == -1) {
  1180. messageBox("폴더를 ", "C002");
  1181. return;
  1182. }
  1183. // 선택한 아이템 로우~!!
  1184. var item = obj.item(obj.selectedIndex);
  1185. var rowpos = item.index + 1;
  1186. // 루트인가? (이동할 수 없다..)
  1187. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  1188. if (depth == 1) {
  1189. //messageBox("지정된 위치로 이동", "E001");
  1190. return;
  1191. }
  1192. // 폴더인가? 파일이면 파일을 추가하지 않는다.
  1193. var linkflag = model.getValue(sSETLIST + "[" + rowpos + "]/linkflag");
  1194. if (linkflag == "Y") {
  1195. messageBox("폴더를 ", "C002");
  1196. return;
  1197. }
  1198. // 선택한 서식이 있는가?
  1199. var checkflag = "false";
  1200. for(var i = grd_formlist.fixedRows; i < grd_formlist.rows; i++){
  1201. var flag = model.getValue("/root/main/formlist/row["+ i +"]/check");
  1202. if(flag == "true"){
  1203. checkflag = "true";
  1204. break;
  1205. }
  1206. }
  1207. if(checkflag == "false"){
  1208. messageBox("서식을 ", "C002");
  1209. return;
  1210. }
  1211. var item = obj.item(obj.selectedIndex);
  1212. var rowpos = item.index + 1;
  1213. var indxfocus = item.value;
  1214. model.setValue("/root/temp/indxfocus", indxfocus);
  1215. for(var i = grd_formlist.fixedRows; i < grd_formlist.rows; i++)
  1216. {
  1217. var flag = model.getValue("/root/main/formlist/row["+ i +"]/check");
  1218. if(flag=="true" )
  1219. {
  1220. model.setValue("/root/main/formlist/row["+ i +"]/check","false");
  1221. var formcd = model.getValue("/root/main/formlist/row["+ i +"]/formcd");
  1222. model.setValue(sSETLIST_HIDDEN + "/linkcd" , formcd);
  1223. var userid = model.getValue("/root/send/cond/userid");
  1224. var deptcd = model.getValue("/root/send/cond/deptcd");
  1225. //model.setValue(sSETLIST_HIDDEN + "/userid" , userid);
  1226. model.setValue(sSETLIST_HIDDEN + "/deptcd" , deptcd);
  1227. // 서식명칭에 값을 넣지 않는다.. (2007.06.12)
  1228. model.setValue(sSETLIST_HIDDEN + "/indxnm" , "");
  1229. model.setValue(sSETLIST_HIDDEN + "/supitemindxseq" , indxfocus);
  1230. model.setValue(sSETLIST_HIDDEN + "/depth" , "");
  1231. model.setValue(sSETLIST_HIDDEN + "/itemindxseq" , "");
  1232. model.setValue(sSETLIST_HIDDEN + "/path" , "");
  1233. model.setValue(sSETLIST_HIDDEN + "/status" , "i");
  1234. model.setValue(sSETLIST_HIDDEN + "/sortno" , 1000);
  1235. // 기본 정보
  1236. var instflag = model.getValue("/root/send/cond/setflag"); //개인과구분
  1237. if(instflag =="U")
  1238. {
  1239. var instcd = model.getValue("/root/temp/instcd");
  1240. if(instcd == "")
  1241. {
  1242. model.setValue(sSETLIST_HIDDEN + "/instcd" , getUserInfo("dutplceinstcd"));
  1243. }
  1244. else
  1245. {
  1246. model.setValue(sSETLIST_HIDDEN + "/instcd" , instcd);
  1247. }
  1248. model.setValue(sSETLIST_HIDDEN + "/userid" , userid);
  1249. }
  1250. else
  1251. {
  1252. model.setValue(sSETLIST_HIDDEN + "/instcd" , getUserInfo("dutplceinstcd"));
  1253. }
  1254. model.setValue(sSETLIST_HIDDEN + "/indxflag" , "R");
  1255. var admin = model.getValue("/root/send/cond/admin");
  1256. model.setValue(sSETLIST_HIDDEN + "/admin" , admin);
  1257. var setflag = model.getValue("/root/send/cond/setflag");
  1258. model.setValue(sSETLIST_HIDDEN + "/setflag" , setflag);
  1259. model.setValue(sSETLIST_HIDDEN + "/linkflag" , "Y");
  1260. model.setValue(sSETLIST_HIDDEN + "/valiyn" , "Y");
  1261. model.setValue(sSETLIST_HIDDEN + "/comnseq" , 0);
  1262. model.setValue(sSETLIST_HIDDEN + "/slipno" , 0);
  1263. model.copyNode("/root/send/savedata", sSETLIST_HIDDEN);
  1264. model.makeValue("/root/send/savedata/retflag","ret"); //저장후 조회여부
  1265. var curDate = getCurrentDate();
  1266. model.setValue("/root/send/savedata/currentdate", curDate);
  1267. submit("TXMRF03101");
  1268. }
  1269. }
  1270. submit("TRMRF05001");
  1271. if (setflag == "U")
  1272. {
  1273. model.removeNodeset("/root/main/indxlist_u/item");
  1274. model.copyNode("/root/main/indxlist_u", "/root/main/indxlist");
  1275. } else if (setflag == "D")
  1276. {
  1277. model.removeNodeset("/root/main/indxlist_d/item");
  1278. model.copyNode("/root/main/indxlist_d", "/root/main/indxlist");
  1279. } else if (setflag == "A")
  1280. {
  1281. model.removeNodeset("/root/main/indxlist_a/item");
  1282. model.copyNode("/root/main/indxlist_a", "/root/main/indxlist");
  1283. }
  1284. model.refresh();
  1285. }
  1286. /**
  1287. * @desc : 폼코드 넘겨주기
  1288. * @
  1289. * @param :
  1290. * @return :
  1291. * @---------------------------------------------------
  1292. */
  1293. function fSendFormInfo()
  1294. {
  1295. var rtn = fSetTreeView();
  1296. rtn = rtn.split("|");
  1297. var obj = document.controls(rtn[0]);
  1298. var path = rtn[1];
  1299. var rowpos = obj.mouseRow + 1;
  1300. var formcd = model.getValue(path + "[" + rowpos + "]/formcd");
  1301. if (formcd != "") {
  1302. parent.window.javascript.fOpenNewForm(formcd);
  1303. // window.close();
  1304. }
  1305. }
  1306. /**
  1307. * @desc : 폼코드 넘겨주기
  1308. * @
  1309. * @param :
  1310. * @return :
  1311. * @---------------------------------------------------
  1312. */
  1313. function fSendFormListInfo()
  1314. {
  1315. var rowpos = trv_formlist.mouseRow + 1;
  1316. var formcd = model.getValue("/root/main/formlist/item" + "[" + rowpos + "]/formcd");
  1317. if (formcd != "") {
  1318. // 부모창의 속성값에 정해준다..
  1319. //parent.window.model.makeValue("/root/hidden/parameters/formcd",formcd);
  1320. parent.window.javascript.fOpenNewForm(formcd);
  1321. // 파라메타값으로 넘겨준다..
  1322. //window.close();
  1323. }
  1324. }
  1325. /**
  1326. * @desc : formcd,formnm 넘겨주기
  1327. * @
  1328. * @param :
  1329. * @return :
  1330. * @---------------------------------------------------
  1331. */
  1332. function fSendFormcdFormnm()
  1333. {
  1334. var rtn = fSetTreeView();
  1335. rtn = rtn.split("|");
  1336. var obj = document.controls(rtn[0]);
  1337. var path = rtn[1];
  1338. var rowpos = obj.mouseRow + 1;
  1339. var formcd = model.getValue(path + "[" + rowpos + "]/formcd");
  1340. if(formcd !=""){ // 폴더 아닌경우만 formcd넘긴다
  1341. var formnm = model.getValue(path + "[" + rowpos + "]/formnm");
  1342. opener.javascript.setParameter("formcd", formcd);
  1343. opener.javascript.setParameter("formnm", formnm);
  1344. model.close();
  1345. }
  1346. }
  1347. /**
  1348. * @desc : formcd,formnm 넘겨주기
  1349. * @
  1350. * @param :
  1351. * @return :
  1352. * @---------------------------------------------------
  1353. */
  1354. function fSendFormListFormnm()
  1355. {
  1356. var rowpos = trv_formlist.mouseRow + 1;
  1357. var formcd = model.getValue("/root/main/formlist/item" + "[" + rowpos + "]/formcd");
  1358. if(formcd !=""){ // 폴더 아닌경우만 formcd넘긴다
  1359. var formnm = model.getValue("/root/main/formlist/item" + "[" + rowpos + "]/displaynm");
  1360. opener.javascript.setParameter("formcd", formcd);
  1361. opener.javascript.setParameter("formnm", formnm);
  1362. model.close();
  1363. }
  1364. }
  1365. /**
  1366. * @desc : 공통세션변수에 formlist저장하기
  1367. * @
  1368. * @param :
  1369. * @return :
  1370. * @---------------------------------------------------
  1371. */
  1372. function fFormsetglobal()
  1373. {
  1374. model.toggle("case_list");
  1375. return;
  1376. var flag = getGlobalVariable("emr_gsv_formflag");
  1377. //공통세션변수에 formlist 저장
  1378. if(flag!="Y")
  1379. {
  1380. var reqnode = instance1.selectNodes("/root/main/formlist/item");
  1381. var csv = getNodeListCSV(reqnode);
  1382. setGlobalVariable("emr_gsv_formflag","Y");
  1383. setGlobalVariable("emr_gsv_formflag_userid",getUserId());
  1384. setGlobalVariable("emr_gsv_formlist",csv);
  1385. }
  1386. }
  1387. /**
  1388. * @desc : 공통세션변수에 indxlist저장하기
  1389. * @
  1390. * @param :
  1391. * @return :
  1392. * @---------------------------------------------------
  1393. */
  1394. function fIndxsetglobal(flag)
  1395. {
  1396. return;
  1397. var reqnode = instance1.selectNodes("/root/main/indxlist_"+ flag +"/item");
  1398. var csv = getNodeListCSV(reqnode);
  1399. setGlobalVariable("emr_gsv_formflag_"+flag, "Y");
  1400. setGlobalVariable("emr_gsv_formlist_"+flag, csv);
  1401. }
  1402. /**
  1403. * @desc : 트리 expand 상태 얻기
  1404. * @
  1405. * @param :
  1406. * @return :
  1407. * @---------------------------------------------------
  1408. */
  1409. function fExpandCheck(trvObj)
  1410. {
  1411. //alert(trvObj);
  1412. var Obj = window.document.controls(trvObj);
  1413. //alert(Obj);
  1414. // var Obj = trvObj;
  1415. var expandstr = 0; //트리 expand 값 저장
  1416. for(var i = 0; i < Obj.length ; i++)
  1417. {
  1418. if(Obj.item(i).expanded == 1)
  1419. {
  1420. expandstr += "."+i;
  1421. }
  1422. }
  1423. //공통세션변수에 저장
  1424. // setGlobalVariable("emr_gsv_"+trvObj ,expandstr);
  1425. //alert("a");
  1426. }
  1427. /**
  1428. * @desc : 트리 expand 상태 설정하기
  1429. * @
  1430. * @param :
  1431. * @return :
  1432. * @---------------------------------------------------
  1433. */
  1434. function fSetTreeExpand(trvObj)
  1435. {
  1436. return;
  1437. var Obj = window.document.controls(trvObj);
  1438. var str = getGlobalVariable("emr_gsv_"+trvObj);
  1439. if(str != "")
  1440. {
  1441. var strlen = str.split('.');
  1442. var strArray = new Array(strlen.length);
  1443. for(var i=0; i<strlen.length; i++)
  1444. {
  1445. strArray[i] = strlen[i];
  1446. Obj.expand(strArray[i],true);
  1447. }
  1448. }
  1449. }
  1450. /**
  1451. * @desc : formlsit 재조회
  1452. * @
  1453. * @param :
  1454. * @return :
  1455. * @---------------------------------------------------
  1456. */
  1457. function fFormlistRefresh()
  1458. {
  1459. //세션 초기화
  1460. // setGlobalVariable("emr_gsv_formflag","");
  1461. // setGlobalVariable("emr_gsv_formflag_userid","");
  1462. // setGlobalVariable("emr_gsv_formlist","");
  1463. // setGlobalVariable("emr_gsv_formflag_u","");
  1464. // setGlobalVariable("emr_gsv_formflag_d","");
  1465. // setGlobalVariable("emr_gsv_formflag_a","");
  1466. // setGlobalVariable("emr_gsv_formlist_u","");
  1467. // setGlobalVariable("emr_gsv_formlist_d","");
  1468. // setGlobalVariable("emr_gsv_formlist_a","");
  1469. refresh_u = 0;
  1470. refresh_d = 0;
  1471. refresh_a = 0;
  1472. //선택된버튼 재조회
  1473. if(true== btn_list.selected ){
  1474. case_list.dispatch("DOMActivate");
  1475. submit("TRMMR02501");
  1476. return;
  1477. }
  1478. /*
  1479. else if(true == btn_all.selected ){
  1480. case_all.dispatch("DOMActivate");
  1481. fSetIndxListSelect("A");
  1482. return;
  1483. }*/
  1484. /*
  1485. else if(true == btn_dept.selected ){
  1486. case_dept.dispatch("DOMActivate");
  1487. fSetIndxListSelect("D");
  1488. return;
  1489. }
  1490. */
  1491. /*
  1492. else if(true == btn_user.selected ){
  1493. case_user.dispatch("DOMActivate");
  1494. fSetIndxListSelect("U");
  1495. return;
  1496. }
  1497. */
  1498. }
  1499. /**
  1500. * @desc : formlsit 재조회
  1501. * @
  1502. * @param :
  1503. * @return :
  1504. * @---------------------------------------------------
  1505. function fFormlistRefresh()
  1506. {
  1507. // 서식목록 보여주자~
  1508. // setGlobal에 처음 select해온값 저장후 getGlobal 로 보여준다
  1509. var list = getGlobalVariable("emr_gsv_formlist");
  1510. if(list!=""){
  1511. setCSVToNode("/root/main/formlist/",list,"item");
  1512. model.refresh();
  1513. }else{
  1514. submit("TRMMR02501");
  1515. }
  1516. fFormsetglobal();
  1517. // 첫번째 본인 과는 오픈하자!!
  1518. trv_formlist.expand(0, true);
  1519. fSetTreeExpand("trv_formlist");
  1520. }
  1521. */
  1522. /**
  1523. * @desc : 서식목록조회
  1524. * @
  1525. * @param :
  1526. * @return :
  1527. * @---------------------------------------------------
  1528. */
  1529. function fGetFormlist()
  1530. {
  1531. submit("TRMMR02501");
  1532. // 첫번째 본인 과는 오픈하자!!
  1533. trv_formlist.expand(0, true);
  1534. return;
  1535. // 서식목록 보여주자~
  1536. // setGlobal에 처음 select해온값 저장후 getGlobal 로 보여준다
  1537. var list = getGlobalVariable("emr_gsv_formlist");
  1538. if(list!=""){
  1539. setCSVToNode("/root/main/formlist/",list,"item");
  1540. model.refresh();
  1541. }else{
  1542. submit("TRMMR02501");
  1543. }
  1544. }
  1545. /**
  1546. * @desc : 전체 목록에서 level 1 인 경우만 조회해서 트리에 추가해 주기..
  1547. * @
  1548. * @param :
  1549. * @return :
  1550. * @---------------------------------------------------
  1551. */
  1552. function fOpenSubTree()
  1553. {
  1554. var TREE_OBJ = trv_indxlist_a;
  1555. var item = TREE_OBJ.item(TREE_OBJ.selectedIndex);
  1556. if (item != null) {
  1557. var rowpos = item.index + 1;
  1558. var depth = model.getValue("/root/main/indxlist_a/item[" + rowpos + "]/depth");
  1559. var userid = model.getValue("/root/main/indxlist_a/item[" + rowpos + "]/userid");
  1560. if (depth == "2" && userid == "") {
  1561. var deptcd = model.getValue("/root/main/indxlist_a/item[" + rowpos + "]/deptcd");
  1562. var itemindxseq = model.getValue("/root/main/indxlist_a/item[" + rowpos + "]/itemindxseq");
  1563. var tmpsetflag = model.getValue("/root/send/cond/setflag");
  1564. model.makeValue("/root/send/cond/setflag", "S");
  1565. model.makeValue("/root/send/cond/subdeptcd", deptcd);
  1566. model.makeValue("/root/send/cond/itemindxseq", itemindxseq);
  1567. submit("TRMRF05001", true, "/root/send/cond", "/root/main/indxlist_t/item");
  1568. model.makeValue("/root/send/cond/setflag", tmpsetflag);
  1569. model.refresh();
  1570. fMoveInstance(rowpos);
  1571. model.setValue("/root/main/indxlist_a/item[" + rowpos + "]/userid", "x");
  1572. }
  1573. }
  1574. }
  1575. /**
  1576. * @desc : 전체 목록에서 level 1 인 경우만 조회해서 트리에 추가해 주기..
  1577. * @
  1578. * @param :
  1579. * @return :
  1580. * @---------------------------------------------------
  1581. */
  1582. function fMoveInstance(rowpos)
  1583. {
  1584. ref = "/root/main/indxlist_a/item";
  1585. stRef = "/root/main/indxlist_t/item";
  1586. var subNode = "";
  1587. var instance = document.models(0).instances(0);
  1588. var refNode = instance.selectSingleNode(ref + "[" + rowpos + "]"); //조회내용의 상위 항목
  1589. var nodelistTmp = instance.selectNodes(stRef);
  1590. var nodelength = nodelistTmp.length;
  1591. if(nodelength > 0)
  1592. {
  1593. var depth = "";
  1594. var itemindxseq = "";
  1595. var node = root.main.indxlist_a;
  1596. for(var i = nodelength; i > 0; i--)
  1597. {
  1598. itemindxseq = model.getValue(stRef + "[" + i + "]/itemindxseq");
  1599. depth = model.getValue(stRef + "[" + i + "]/depth");
  1600. subNode = instance.selectSingleNode(stRef + "[" + i + "]");
  1601. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  1602. }
  1603. // 조회 레벨 오픈하자!!
  1604. model.setValue("/root/main/selected_a", itemindxseq);
  1605. model.refresh();
  1606. }
  1607. }
  1608. /**
  1609. * @desc : 그리드 선택시 check 선택
  1610. * @
  1611. * @param :
  1612. * @return :
  1613. * @---------------------------------------------------
  1614. */
  1615. function fSetCheck() {
  1616. var check = model.getValue("/root/main/formlist/row["+grd_formlist.row+"]/check");
  1617. var gridObj = event.ptarget.parent;
  1618. if( gridObj.col == "0")
  1619. {
  1620. if(check == "false")
  1621. {
  1622. model.setValue("/root/main/formlist/row["+grd_formlist.row+"]/check","false");
  1623. }
  1624. else
  1625. {
  1626. model.setValue("/root/main/formlist/row["+grd_formlist.row+"]/check","true");
  1627. }
  1628. }
  1629. else
  1630. {
  1631. if(check == "true"){
  1632. model.setValue("/root/main/formlist/row["+grd_formlist.row+"]/check","false");
  1633. }
  1634. else
  1635. {
  1636. model.setValue("/root/main/formlist/row["+grd_formlist.row+"]/check","true");
  1637. }
  1638. }
  1639. }
  1640. /**
  1641. * @desc : 마우스 우클릭
  1642. * @
  1643. * @param :
  1644. * @return :
  1645. * @---------------------------------------------------
  1646. */
  1647. function fMouseBtn(trvObj)
  1648. {
  1649. var selected = trvObj.value;
  1650. if(selected == ""){
  1651. return;
  1652. }
  1653. if(trvObj.isCell(event.target) && trvObj.mouseRow <= trvObj.length)
  1654. {
  1655. fMouseRghtBtnPopup();
  1656. }
  1657. else
  1658. {
  1659. initPopupMenu();
  1660. }
  1661. }
  1662. function fReqFormList()
  1663. {
  1664. if(model.getValue("/root/send/reqformlist/formdeptcd") == "-")
  1665. model.setValue("/root/send/reqformlist/formdeptcd", "ALL");
  1666. submit("TRMRF05002");
  1667. if(model.getValue("/root/send/reqformlist/formdeptcd") == "ALL")
  1668. model.setValue("/root/send/reqformlist/formdeptcd", "-");
  1669. model.refresh();
  1670. }
  1671. /**
  1672. * @desc : 중분류 변경
  1673. * @
  1674. * @param :
  1675. * @return :
  1676. * @---------------------------------------------------
  1677. */
  1678. function fUpdtMdlIndx(){
  1679. var rtn = fSetTreeView();
  1680. rtn = rtn.split("|");
  1681. var obj = document.controls(rtn[0]);
  1682. var path = rtn[1];
  1683. var item = obj.item(obj.selectedIndex);
  1684. var rowPos = item.index + 1;
  1685. var indxnm = item.label;
  1686. var itemindxseq = item.value;
  1687. var sortno = model.getValue("/root/main/indxlist_d/item[" + rowPos + "]/sortno");
  1688. model.setValue("/root/main/mdlchngbox/sortno", sortno);
  1689. model.setValue("/root/main/mdlchngbox/itemindxseq", itemindxseq);
  1690. model.setValue("/root/main/mdlchngbox/lrgindx", "");
  1691. model.setValue("/root/main/mdlchngbox/mdlindx", "");
  1692. model.removeNode("/root/init/lrgformindx");
  1693. model.makeNode("/root/init/lrgformindx");
  1694. submit("TRMRF05003");
  1695. copyNodeListType("/root/init/lrgformindx", "/root/temp/formindx/formindx", "replace");
  1696. grp_mdlchng.attribute("top") = event.clientY;
  1697. grp_mdlchng.visible = "true";
  1698. model.setFocus("cmb_lrg");
  1699. model.refresh();
  1700. }