SPMRF04900.js 102 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 상용구관리 ( SPMRF04900_상용구관리.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. */
  8. var sSETLIST = "/root/main/indxlist/item";
  9. var sSETLIST_HIDDEN = "/root/hidden/indxlist/item";
  10. var sMOUSE_CLK_STATUS; //마우스 클릭 좌우버튼 구분
  11. var sFOCUS_C = -1; //상용구 인덱스
  12. var sTREE_OBJ = trv_indxlist_u; //트리뷰 구분
  13. var sTREE_PATH = "/root/main/indxlist_u/item"; //트리 경로
  14. var sItemIndxSeqList = new Array();
  15. var sDeptComnSeeqList = new Array();
  16. var sUserComnSeqList = new Array();
  17. var sDeptComnCntsList = new Array();
  18. var sUsercomnCntsList = new Array();
  19. var sBeforeIndxRow = 0;
  20. //var sBeforeSetFlag = "";
  21. var gOpenMode = "";
  22. /*
  23. caseflag (C: 상용구 관리, F: 즐겨찾기, E: 예문관리)
  24. */
  25. /**
  26. * @desc : 화면 초기화
  27. * @
  28. * @param :
  29. * @return :
  30. * @---------------------------------------------------
  31. */
  32. function fInitialize()
  33. {
  34. try
  35. {
  36. var openerId = opener.window.javascript.getScreenID();
  37. if(openerId == "SMZUM00300") // 진료 메뉴에서 열었을 경우 관리만 가능
  38. {
  39. // 관리만 가능
  40. gOpenMode = "MGR";
  41. button4.visible = "false";
  42. button11.visible = "false";
  43. }
  44. // 부서코드 리스트 불러오기...
  45. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/main/deptlist/orddept", "A");
  46. //addComboInstance("/root/init/deptlist/orddept", "deptcd^depthngnm", "-^전체", "dept"); //진료과 전체항목 추가
  47. button14.dispatch("DOMActivate"); // 상용구 관리 버튼
  48. //model.toggle("case2");
  49. //model.setValue("/root/send/cond/caseflag","C");
  50. // 폴더명칭 popup
  51. grup_saveas.visible = "false";
  52. var setDeptParam = opener.window.javascript.getParameter("deptflag");
  53. if(setDeptParam == "")
  54. model.setValue("/root/send/cond/setflag", "U"); // 서식이 없는 프로그램 형태인 경우
  55. else
  56. model.setValue("/root/send/cond/setflag", setDeptParam);
  57. var setflag = model.getValue("/root/send/cond/setflag");
  58. if(setflag == "U" || setflag == "D" || setflag == "A")
  59. {
  60. combo1.disabled = true;
  61. input10.disabled = true;
  62. btn_clsnm.disabled = true;
  63. // 신규, 수정, 삭제 컨트롤 비활성화
  64. button8.disabled = false;
  65. button7.disabled = false;
  66. button6.disabled = false;
  67. model.setValue("/root/send/reformlist/deptcd", "");
  68. model.makeValue("/root/send/cond/chosflag", "folder"); //분류 flag
  69. //개인,과 구분위해서..
  70. fSelectUserDeptcd("/root/send/cond");
  71. if(submit("TRMRF02407"))
  72. {
  73. model.copyNode("/root/main/indxlist_u", "/root/main/indxlist");
  74. model.refresh();
  75. fAddDepth2();
  76. }
  77. else
  78. {
  79. messageBox("서식을 조회하는데에 ", "E009");
  80. return;
  81. }
  82. }
  83. else // 타과
  84. {
  85. var setDeptcd = opener.window.javascript.getParameter("otherdeptcd");
  86. model.makeValue("/root/send/cond/setflag", "E");
  87. grd_comnlist.rebuild();
  88. sTREE_OBJ.rebuild();
  89. //alert("기능준비중입니다");
  90. //return;
  91. // 타과 관련 컨트롤
  92. combo1.disabled = false;
  93. input10.disabled = false;
  94. btn_clsnm.disabled = false;
  95. // 신규, 수정, 삭제 컨트롤 비활성화
  96. button8.disabled = true;
  97. button7.disabled = true;
  98. button6.disabled = true;
  99. // 진료과 선택
  100. model.setValue("/root/send/reformlist/deptcd", setDeptcd);
  101. //개인,과 구분위해서..
  102. fSelectUserDeptcd("/root/send/cond");
  103. //combo1.dispatch("xforms-select");
  104. fLoadDeptFormList();
  105. //var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  106. //var rows = item.index + 1;
  107. //sBeforeIndxRow = rows;
  108. //sBeforeSetFlag = model.getValue("/root/send/cond/setflag");
  109. }
  110. //개인,과 구분위해서..
  111. //fSelectUserDeptcd("/root/send/cond");
  112. //My폴더만 조회
  113. //submit("TRMRF02406");
  114. if (isPopup())
  115. {
  116. var chosflag = opener.window.javascript.getParameter("comn_formprogflag");
  117. var degnitemcd = opener.window.javascript.getParameter("comn_degnitemcd");
  118. var srcformcd = opener.window.javascript.getParameter("comn_srcformcd");
  119. //var formcd = opener.window.javascript.getParameter("comn_formcd");
  120. var comnchosflag = opener.window.javascript.getParameter("comn_chosflag");
  121. var openmode = opener.window.javascript.getParameter("openmode");
  122. if(srcformcd !="" && degnitemcd !="")
  123. {
  124. if(srcformcd == "0000000901") // 주호소
  125. {
  126. model.makeValue("/root/hidden/reqyn/com" , "Y"); //조회 여부 입력
  127. var item = "";
  128. for(var i=sTREE_OBJ.length; i > 0; i--)
  129. {
  130. item = sTREE_OBJ.item(i-1);
  131. var rowpos = item.index+1;
  132. var depth = model.getValue(sTREE_PATH+ "[" + rowpos + "]/depth");
  133. var item_length = sTREE_OBJ.length;
  134. var indxnm = model.getValue(sTREE_PATH+ "[" + rowpos + "]/indxnm");
  135. var formcd = model.getValue(sTREE_PATH+ "[" + rowpos + "]/formcd");
  136. if(srcformcd == formcd)
  137. {
  138. sTREE_OBJ.select(item.index);
  139. break;
  140. }
  141. }
  142. return;
  143. }
  144. if(comnchosflag == "C")
  145. {
  146. button14.selected = true; // 상용구 관리 버튼
  147. model.toggle("case2");
  148. model.setValue("/root/send/cond/caseflag","C");
  149. }
  150. // seq: 서식트리구조에서 해당 서식의 아이템이 선택되도록 함.
  151. var seq = srcformcd + degnitemcd.substr(0,7);
  152. model.makeValue("/root/send/grddata/formcd",srcformcd);
  153. model.makeValue("/root/send/grddata/itembasecd",degnitemcd.substr(0,7));
  154. model.makeValue( "/root/send/grddata/comnchosflag",comnchosflag);
  155. //model.makeValue( "/root/send/grddata/chosflag",chosflag);
  156. var setflag = model.getValue("/root/send/cond/setflag");
  157. model.makeValue( "/root/send/grddata/setflag",setflag);
  158. if(setflag == "U") {
  159. model.makeValue( "/root/send/grddata/userid", getUserId());
  160. model.makeValue( "/root/send/grddata/deptcd", getUserInfo("dutplcecd"));
  161. }
  162. else if(setflag == "D") {
  163. model.makeValue( "/root/send/grddata/deptcd", getUserInfo("dutplcecd"));
  164. }
  165. else if(setflag == "E") {
  166. model.makeValue( "/root/send/grddata/deptcd", model.getValue("/root/send/reformlist/deptcd"));
  167. }
  168. model.makeValue("/root/send/grddata/chosflag", "item");
  169. if(submit("TRMRF02405"))
  170. {
  171. fAddDepthPopup();
  172. // 포커스 지정
  173. model.setValue("/root/main/indxlist_comn/item",seq);
  174. model.removeNodeset("/root/send/grddata");
  175. model.refresh();
  176. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  177. if(item == null)
  178. {
  179. return;
  180. }
  181. var rows = "";
  182. if(item != null)
  183. rows = item.index + 1;
  184. sBeforeIndxRow = rows;
  185. sBeforeSetFlag = model.getValue("/root/send/cond/setflag");
  186. if(openmode == "insert")
  187. {
  188. fAddComnCnts(comnchosflag);
  189. }
  190. }
  191. }
  192. else // 서식이 아닌 곳에서 상용구를 부른 경우
  193. {
  194. if(chosflag == "B" || chosflag == "G") // 의료협력모드 (회신서 관리에서 연 경우)
  195. {
  196. var seq = "M000000000"; // 기본 선택 폴더를 My폴더로.
  197. model.makeValue("/root/send/cond/indxflag", "C");
  198. model.makeValue("/root/send/cond/clsflag", "G");
  199. model.makeValue( "/root/send/grddata/comnchosflag",comnchosflag);
  200. var setflag = model.getValue("/root/send/cond/setflag");
  201. model.makeValue( "/root/send/grddata/setflag",setflag);
  202. if(setflag == "U") {
  203. model.makeValue( "/root/send/grddata/userid", getUserId());
  204. model.makeValue( "/root/send/grddata/deptcd", getUserInfo("dutplcecd"));
  205. }
  206. else if(setflag == "D") {
  207. model.makeValue( "/root/send/grddata/deptcd", getUserInfo("dutplcecd"));
  208. }
  209. else if(setflag == "E") {
  210. model.makeValue( "/root/send/grddata/deptcd", model.getValue("/root/send/reformlist/deptcd"));
  211. }
  212. // 포커스 지정
  213. model.setValue("/root/main/indxlist_comn/item",seq);
  214. model.refresh();
  215. fReqComnIndx(chosflag);
  216. }
  217. }
  218. }
  219. }
  220. catch(e)
  221. {
  222. return;
  223. }
  224. }
  225. function fInitialize_old(){
  226. model.toggle("case2");
  227. model.setValue("/root/send/cond/caseflag","C");
  228. // 폴더명칭 popup
  229. grup_saveas.visible = "false";
  230. model.copyNode("/root/main/indxlist_u", "/root/main/indxlist");
  231. model.refresh();
  232. model.makeValue("/root/send/cond/chosflag", "folder_all"); //분류 flag
  233. //개인,과 구분위해서..
  234. fSelectUserDeptcd("/root/send/cond");
  235. //My폴더만 조회
  236. submit("TRMRF02406");
  237. fAddDepth2();
  238. if (isPopup()){
  239. var degnitemcd = opener.window.javascript.getParameter("comn_degnitemcd");
  240. var srcformcd = opener.window.javascript.getParameter("comn_srcformcd");
  241. var comnchosflag = opener.window.javascript.getParameter("comn_chosflag");
  242. var openmode = opener.window.javascript.getParameter("openmode");
  243. if(srcformcd !="" && degnitemcd !=""){
  244. if(comnchosflag == "C")
  245. {
  246. button14.selected = true; // 상용구 관리 버튼
  247. model.toggle("case2");
  248. model.setValue("/root/send/cond/caseflag","C");
  249. }
  250. else if(comnchosflag == "E")
  251. {
  252. button15.selected = true;
  253. model.toggle("case1");
  254. model.setValue("/root/send/cond/caseflag","E");
  255. }
  256. var seq = srcformcd + degnitemcd.substr(0,7);
  257. model.makeValue("/root/send/grddata/formcd",srcformcd);
  258. model.makeValue("/root/send/grddata/itembasecd",degnitemcd.substr(0,7));
  259. model.makeValue( "/root/send/grddata/comnchosflag",comnchosflag);
  260. submit("TRMRF02405");
  261. fAddDepthPopup();
  262. model.setValue("/root/main/indxlist_comn/item",seq);
  263. model.removeNodeset("/root/send/grddata");
  264. model.refresh();
  265. if(openmode == "insert")
  266. {
  267. fAddComnCnts(comnchosflag);
  268. }
  269. }
  270. }
  271. }
  272. function fAddComnCnts(comnchosflag)
  273. {
  274. var grd = null;
  275. if(comnchosflag == "C")
  276. {
  277. grd = document.controls("grd_comnlist");
  278. }
  279. else if(comnchosflag == "E")
  280. {
  281. grd = document.controls("grd_exmplist");
  282. }
  283. var ref = grd.attribute("nodeset");
  284. var reprnm = "";
  285. var comncnts = opener.javascript.getParameter("comncnts");
  286. if(comncnts == "")
  287. return;
  288. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  289. if(item == null)
  290. {
  291. return;
  292. }
  293. var rowPos = item.index + 1;
  294. var degnitemnm = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemnm");
  295. var depth = model.getValue(sTREE_PATH+ "[" + rowPos + "]/depth");
  296. var indxnm = model.getValue(sTREE_PATH+ "[" + rowPos + "]/indxnm");
  297. var degnitemno = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemno");
  298. var formdegnseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/formdegnseq");
  299. grd.addRow(false);
  300. var desCurRow = grd.rows - grd.fixedRows;
  301. var setflag = model.getValue("/root/send/cond/setflag");
  302. // 개인 , 과 , 전체 구분
  303. if (setflag == "U") {
  304. model.setValue(ref+"[" + desCurRow + "]/userid", getUserId()); //
  305. model.setValue(ref+"[" + desCurRow + "]/deptcd", getUserInfo("dutplcecd")); //
  306. }
  307. if (setflag == "D") {
  308. model.setValue(ref+"[" + desCurRow + "]/userid", "");
  309. model.setValue(ref+"[" + desCurRow + "]/deptcd", getUserInfo("dutplcecd")); //
  310. }
  311. if (setflag == "A") {
  312. model.setValue(ref+"[" + desCurRow + "]/userid", "");
  313. model.setValue(ref+"[" + desCurRow + "]/deptcd", "");
  314. }
  315. var clsflag = model.getValue(sTREE_PATH+ "[" + rowPos + "]/clsflag");
  316. var srcformcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/srcformcd");
  317. var degnitemcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemcd");
  318. var itemindxseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/itemindxseq");
  319. var comnclspath = model.getValue(sTREE_PATH+ "[" + rowPos + "]/pathcd");
  320. if(srcformcd ==""){
  321. srcformcd = "-";
  322. }
  323. if(degnitemcd == ""){
  324. degnitemcd = "-";
  325. }
  326. if(itemindxseq == -100){ // 공통서식 인 경우
  327. model.setValue(ref+"[" + desCurRow + "]/formcd" ,srcformcd);
  328. model.setValue(ref+"[" + desCurRow + "]/itembasecd", degnitemcd.substr(0,7));
  329. }else{ //MY폴더 인 경우
  330. model.setValue(ref+"[" + desCurRow + "]/itemindxseq" ,itemindxseq);
  331. model.setValue(ref+"[" + desCurRow + "]/comnclspath" ,comnclspath);
  332. }
  333. model.setValue(ref+"[" + desCurRow + "]/clsflag", clsflag); // form 이면 F ,folder는 G
  334. model.setValue(ref+"[" + desCurRow + "]/comnchosflag", comnchosflag); //상용구C 예문E
  335. model.setValue(ref+"[" + desCurRow + "]/reqflag", setflag); //개인 과 전체 구분
  336. model.setValue(ref+"[" + desCurRow + "]/reprnm", reprnm); //대표명
  337. model.setValue(ref+"[" + desCurRow + "]/comncnts", comncnts); //내용
  338. setParameter("reprnm","");
  339. setParameter("comncnts","");
  340. grd.refresh();
  341. grd.row = desCurRow;
  342. grd.col = grd.colRef("reprnm");
  343. grd.editcell();
  344. }
  345. /**
  346. * @desc : 트리뷰 셋
  347. * @
  348. * @param :
  349. * @return :
  350. * @---------------------------------------------------
  351. function //fSetTreeView(chosflag){
  352. // chosflag 가 C : 상용구
  353. sTREE_OBJ = trv_indxlist_u
  354. sTREE_PATH = "/root/main/indxlist_u/item";
  355. }*/
  356. /**
  357. * @desc : 공통서식, 제증명 서식리스트 조회
  358. * @
  359. * @param :
  360. * @return :
  361. * @---------------------------------------------------
  362. */
  363. function fGetFormIndx(comnchosflag)
  364. {
  365. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  366. if(item == null)
  367. {
  368. return;
  369. }
  370. var rows = item.index + 1;
  371. var indxnm = model.getValue(sTREE_PATH+ "[" + rows + "]/indxnm");
  372. var srchyn = model.getValue(sTREE_PATH+ "[" + rows + "]/srchyn");
  373. var srcformcd = model.getValue(sTREE_PATH+ "[" + rows + "]/srcformcd");
  374. var formcd = model.getValue(sTREE_PATH+ "[" + rows + "]/formcd");
  375. var depth = model.getValue(sTREE_PATH+ "[" + rows + "]/depth");
  376. var seq = model.getValue(sTREE_PATH+ "[" + rows + "]/seq");
  377. if(srchyn == "Y") // 조회여부 yn
  378. {
  379. return true;
  380. }
  381. var chosflag; // 서식 구분
  382. //if(indxnm == "공통서식"){
  383. if(seq == "-2.0"){
  384. chosflag = "com";
  385. //}else if(indxnm == "제증명"){
  386. //}else if(indxnm == "진단서" && depth == "1"){
  387. }else if(seq == "-2.2" && depth == "1"){
  388. chosflag = "prof";
  389. //chosflag = "item";
  390. //}else if(indxnm == "My폴더"){
  391. }else if(seq == "M000000000"){
  392. model.makeValue("/root/send/cond/indxflag","C");
  393. model.makeValue("/root/send/cond/clsflag","G");
  394. // 다른 상용구를 선택 후 다시 해당 상용구를 클릭했을때 해당 데이터가 남아 있어 삭제
  395. // 2009.06.22 이경희
  396. model.makeValue("/root/send/reqdata/itembasecd","-");
  397. //chosflag = "folder";
  398. chosflag = "item";
  399. fReqComnIndx(chosflag);
  400. return;
  401. }else if(srcformcd !="" && depth == "2"){
  402. chosflag = "item";
  403. // 다른 상용구를 선택 후 다시 해당 상용구를 클릭했을때 해당 데이터가 남아 있어 삭제
  404. // 2009.06.22 이경희
  405. model.makeValue("/root/send/reqdata/itembasecd","-");
  406. if(srcformcd == "M000000000" || srcformcd == "0000000901") // 주호소, My폴더
  407. {
  408. fReqComnIndx(chosflag);
  409. return;
  410. }
  411. //}else if(indxnm == "주호소"){
  412. }else if(seq == "0000000901"){
  413. model.makeValue("/root/send/cond/indxflag","B");
  414. model.makeValue("/root/send/cond/clsflag","B");
  415. // 다른 상용구를 선택 후 다시 해당 상용구를 클릭했을때 해당 데이터가 남아 있어 삭제
  416. // 2009.06.22 이경희
  417. model.makeValue("/root/send/reqdata/itembasecd","-");
  418. //chosflag = "folder";
  419. chosflag = "item";
  420. fReqComnIndx(chosflag);
  421. return;
  422. }else if(indxnm == "Summary"){
  423. model.makeValue("/root/send/cond/indxflag","A");
  424. model.makeValue("/root/send/cond/clsflag","A");
  425. chosflag = "folder";
  426. }
  427. //model.makeValue("/root/send/reqdata/reqflag", reqflag); //개인,과, 전체 구분 flag
  428. //model.makeValue("/root/send/reqdata/clsflag", clsflag); //분류 flag
  429. model.makeValue("/root/send/cond/chosflag", chosflag); //분류 flag
  430. // srcformcd를 formcd로 변경
  431. //model.makeValue("/root/send/cond/formcd", srcformcd);
  432. model.makeValue("/root/send/cond/formcd", formcd);
  433. //개인,과 구분위해서..
  434. fSelectUserDeptcd("/root/send/cond");
  435. submit("TRMRF02406");
  436. var NodeLength = getNodesetCnt(model, "/root/main/indxlist/item");
  437. if(NodeLength == 0)
  438. {
  439. messageBox("상용구를 사용하지 않는 서식", "I009");
  440. return false;
  441. }
  442. //if(indxnm == "주호소")
  443. if(seq == "0000000901")
  444. return false;
  445. model.setValue(sTREE_PATH+ "[" + rows + "]/srchyn","Y");
  446. fAddDepth(rows, false);
  447. return true;
  448. }
  449. /**
  450. * @desc : 개인 과 구분
  451. * @
  452. * @param :
  453. * @return :
  454. * @---------------------------------------------------
  455. */
  456. function fSelectUserDeptcd(ref){
  457. var setflag = model.getValue("/root/send/cond/setflag");
  458. if(setflag != ""){
  459. if (setflag == "U") {
  460. // model.makeValue(ref+"/userid", "12345678"); //getUserId());
  461. // model.makeValue(ref+"/deptcd", "11113333"); //getUserInfo("dutplcecd"));
  462. model.makeValue(ref+"/userid", getUserId()); //
  463. model.makeValue(ref+"/deptcd", getUserInfo("dutplcecd")); //
  464. // reqflag ="U";
  465. }else if (setflag == "D") {
  466. // model.makeValue(ref+"/userid", ""); //getUserId());
  467. // model.makeValue(ref+"/deptcd", "11113333"); //getUserInfo("dutplcecd"));
  468. model.makeValue(ref+"/userid", ""); //getUserId());
  469. model.makeValue(ref+"/deptcd", getUserInfo("dutplcecd")); //
  470. // reqflag ="D";
  471. }else if (setflag == "A") {
  472. // model.makeValue(ref+"/userid", "");
  473. // model.makeValue(ref+"/deptcd", "");
  474. model.makeValue(ref+"/userid", getUserId());
  475. model.makeValue(ref+"/deptcd", getUserInfo("dutplcecd"));
  476. // reqflag ="A";
  477. }else if (setflag == "E") {
  478. model.makeValue(ref+"/userid", "");
  479. model.makeValue(ref+"/deptcd", model.getValue("/root/send/reformlist/deptcd"));
  480. }
  481. }
  482. }
  483. /**
  484. * @desc : 하위 depth 붙이기
  485. * @
  486. * @param :
  487. * @return :
  488. * @---------------------------------------------------
  489. */
  490. function fAddDepth(rows, flag)
  491. {
  492. var subNode = "";
  493. var instance = document.models(0).instances(0);
  494. var refNode;
  495. var nextNode;
  496. var node = root.main.indxlist_u;
  497. if(flag)
  498. {
  499. //model.removeNodeset(sTREE_PATH+"[indxnm != 'My폴더' and clsflag = 'G']");
  500. model.removeNodeset(sTREE_PATH+"[seq != 'M000000000' and clsflag = 'G']");
  501. }
  502. refNode = instance.selectSingleNode(sTREE_PATH+"[" + rows + "]"); //조회내용의 상위 항목
  503. var nodelistTmp = instance.selectNodes(sSETLIST);
  504. var nodelength = nodelistTmp.length;
  505. // indxlist_u 에서 formcd에 해당하는 item을 찾는다.
  506. // formcd 얻기
  507. var itemNode = "";
  508. var formcd = "";
  509. if(nodelistTmp == null)
  510. return;
  511. else
  512. {
  513. if(nodelistTmp.length > 0)
  514. {
  515. itemNode = nodelistTmp.item(0);
  516. formcd = itemNode.selectSingleNode("formcd").text;
  517. //srcformcd = itemNode.selectSingleNode("formcd").text;
  518. refNode = instance1.selectSingleNode(sTREE_PATH + "[formcd='" +formcd +"']"); //조회내용의 상위 항목
  519. // 첫번째 노드는 복사할 필요가 없으므로 인덱스는 1부터 시작
  520. //for(var i=1; i < nodelistTmp.length; i++)
  521. for(var i = nodelistTmp.length; i > 0; i--)
  522. {
  523. subNode = nodelistTmp.item(i-1);
  524. // 주호소 노드는 복사하지 않는다.
  525. //if(subNode.selectSingleNode("degnitemcd").text == "0000931001" && subNode.selectSingleNode("indxnm").text == "주호소")
  526. if(subNode.selectSingleNode("degnitemcd").text == "0000931001" && subNode.selectSingleNode("seq").text == "0000000901")
  527. continue;
  528. if(subNode != null)
  529. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  530. }
  531. sTREE_OBJ.rebuild();
  532. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  533. if(item == null)
  534. {
  535. return;
  536. }
  537. var rows = item.index + 1;
  538. sTREE_OBJ.expand(rows, true);
  539. // 트리구조를 펼친다.
  540. /*
  541. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  542. var rows = item.index + 1;
  543. sTREE_OBJ.expand(rows, true);
  544. // sTREE_OBJ.select(item.index);
  545. //sTREE_OBJ.dispatch("onexpanded");
  546. */
  547. //model.makeValue("/root/hidden/reqyn/"+comprof , "Y"); //조회 여부 입력
  548. }
  549. }
  550. }
  551. /**
  552. * @desc : 트리정보로 상용구조회
  553. * @
  554. * @param :
  555. * @return :
  556. * @---------------------------------------------------
  557. */
  558. function fReqComnIndx(chosflag)
  559. {
  560. ////////////////////////////////////////////////////////////
  561. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  562. if(item == null)
  563. return;
  564. var rows = item.index + 1;
  565. var indxnm = model.getValue(sTREE_PATH+ "[" + rows + "]/indxnm");
  566. var seq = model.getValue(sTREE_PATH+ "[" + rows + "]/seq");
  567. var srchyn = model.getValue(sTREE_PATH+ "[" + rows + "]/srchyn");
  568. var srcformcd = model.getValue(sTREE_PATH+ "[" + rows + "]/srcformcd");
  569. var formcd = model.getValue(sTREE_PATH+ "[" + rows + "]/formcd");
  570. var depth = model.getValue(sTREE_PATH+ "[" + rows + "]/depth");
  571. //if(indxnm != "My폴더" &&
  572. if(seq != "M000000000" &&
  573. srcformcd != "0000000901" && // 주호소
  574. srcformcd != "M000000000" &&
  575. depth <= 2)
  576. {
  577. // 트리구조를 펼친다.
  578. sTREE_OBJ.rebuild();
  579. //sTREE_OBJ.expand(rows, true);
  580. return;
  581. }
  582. var comnchosflag = model.getValue("/root/send/cond/caseflag");
  583. var indxflag = model.getValue("/root/send/cond/indxflag");
  584. //개인,과 구분위해서..
  585. var setflag = model.getValue("/root/send/cond/setflag");
  586. var degnitemcd = "";
  587. var itemindxseq = "";
  588. var comnseqs = "";
  589. var comncnts = "";
  590. var datayn = false;
  591. var grd = null;
  592. if(comnchosflag == "C"){
  593. grd = document.controls("grd_comnlist");
  594. }else if(comnchosflag == "E"){
  595. grd = document.controls("grd_exmplist");
  596. }
  597. var ref = grd.attribute("nodeset");
  598. // 현재 그리드에서 체크된 것이 있는지 확인.
  599. if(sBeforeIndxRow > 0){
  600. for(var iRow=grd.fixedrows; iRow<=(grd.rows-grd.fixedrows); iRow++){
  601. if(model.getValue(ref+"["+iRow+"]/check") == "true"){
  602. if(comnseqs != ""){
  603. comnseqs += "▦";
  604. comncnts += "▦";
  605. }
  606. comnseqs += model.getValue(ref+"["+iRow+"]/comnseq");
  607. comncnts += model.getValue(ref+"["+iRow+"]/comncnts");
  608. }
  609. }
  610. degnitemcd = model.getValue(sTREE_PATH+ "[" + sBeforeIndxRow + "]/degnitemcd");
  611. itemindxseq = model.getValue(sTREE_PATH+ "[" + sBeforeIndxRow + "]/itemindxseq");
  612. for(var i=0; i< sItemIndxSeqList.length; i++){
  613. if((indxflag == "" && sItemIndxSeqList[i] == degnitemcd) ||
  614. (indxflag != "" && sItemIndxSeqList[i] == itemindxseq)){
  615. if(sBeforeSetFlag == "U"){ //사용자
  616. if(sUserComnSeqList[i] != comnseqs) sUserComnSeqList[i] = comnseqs;
  617. if(sUsercomnCntsList[i] != comncnts) sUsercomnCntsList[i] = comncnts;
  618. }else if(sBeforeSetFlag == "D"){ // 부서
  619. if(sDeptComnSeeqList[i] != comnseqs) sDeptComnSeeqList[i] = comnseqs;
  620. if(sDeptComnCntsList[i] != comncnts) sDeptComnCntsList[i] = comncnts;
  621. }
  622. datayn = true;
  623. }
  624. }
  625. if(datayn == false && comnseqs != ""){
  626. var indx = sItemIndxSeqList.length;
  627. if(indxflag == "")
  628. sItemIndxSeqList[indx] = degnitemcd;
  629. else
  630. sItemIndxSeqList[indx] = itemindxseq;
  631. if(sBeforeSetFlag == "U"){ //사용자
  632. sUserComnSeqList[indx] = comnseqs;
  633. sUsercomnCntsList[indx] = comncnts;
  634. }else if(sBeforeSetFlag == "D"){ // 부서
  635. sDeptComnSeeqList[indx] = comnseqs;
  636. sDeptComnCntsList[indx] = comncnts;
  637. }
  638. }
  639. }
  640. ////////////////////////////////////////////////////////////
  641. var reqflag = "";
  642. if(setflag != "")
  643. {
  644. if (setflag == "U") {
  645. model.makeValue("/root/send/reqdata/userid", getUserId()); //
  646. /*
  647. var consultyn = opener.window.javascript.getParameter("consultyn");
  648. if(consultyn == "Y")
  649. {
  650. model.makeValue("/root/send/reqdata/deptcd", opener.window.javascript.getParameter("subformcd"));
  651. }
  652. else
  653. {
  654. model.makeValue("/root/send/reqdata/deptcd", getUserInfo("dutplcecd"));
  655. }
  656. */
  657. model.makeValue("/root/send/reqdata/deptcd", getUserInfo("dutplcecd"));
  658. reqflag ="U";
  659. }else if (setflag == "D") {
  660. model.makeValue("/root/send/reqdata/userid", ""); //getUserId());
  661. model.makeValue("/root/send/reqdata/deptcd", getUserInfo("dutplcecd"));
  662. reqflag ="D";
  663. }else if (setflag == "A") {
  664. model.makeValue("/root/send/reqdata/userid", getUserId());
  665. model.makeValue("/root/send/reqdata/deptcd", getUserInfo("dutplcecd"));
  666. reqflag ="A";
  667. }
  668. }
  669. //상위폴더구분
  670. var folderflag = "";
  671. var indxnm = model.getValue(sTREE_PATH+ "[" + rows + "]/indxnm");
  672. var seq = model.getValue(sTREE_PATH+ "[" + rows + "]/seq");
  673. //if(indxnm == "공통서식" || indxnm == "제증명" || indxnm == "My폴더"){
  674. //if(indxnm == "공통서식" || indxnm == "진단서" || indxnm == "My폴더"){
  675. //if(indxnm == "공통서식" || indxnm == "진단서"){
  676. if(seq == "-2.0" || seq == "-2.2"){ // 공통서식(-2.0), 진단서(-2.2)
  677. folderflag = "folderflag";
  678. }
  679. //if(indxnm == "주호소"){
  680. if(seq == "0000000901"){ // 주호소(0000000901)
  681. // 주호소 아이템코드 등록.
  682. model.setValue(sTREE_PATH+ "[" + rows + "]/degnitemcd", "0000931001");
  683. }
  684. var clsflag = "";
  685. clsflag = model.getValue(sTREE_PATH+ "[" + rows + "]/clsflag");
  686. itemindxseq = model.getValue(sTREE_PATH+ "[" + rows + "]/itemindxseq");
  687. if(srcformcd == "M000000000")
  688. degnitemcd = opener.window.javascript.getParameter("comn_degnitemcd");
  689. else
  690. degnitemcd = model.getValue(sTREE_PATH+ "[" + rows + "]/degnitemcd");
  691. var comnclspath = model.getValue(sTREE_PATH+ "[" + rows + "]/pathcd");
  692. var comnseq = model.getValue(sTREE_PATH+ "[" + rows + "]/comnseq");
  693. if(itemindxseq == -100)
  694. {
  695. if(srcformcd == "M000000000" || srcformcd == "0000000901")
  696. {
  697. model.makeValue("/root/send/reqdata/formcd" , model.getValue(sTREE_PATH+ "[" + rows + "]/seq"));
  698. }
  699. else
  700. {
  701. // formcd만 넘기면 공통서식조회, 둘다 넘기면 상세 조회
  702. //if(indxnm == "주호소")
  703. if(seq == "0000000901") // 주호소(0000000901)
  704. model.makeValue("/root/send/reqdata/formcd" , "-");
  705. else
  706. model.makeValue("/root/send/reqdata/formcd" ,srcformcd);
  707. model.makeValue("/root/send/reqdata/itembasecd", degnitemcd.substr(0,7));
  708. }
  709. }
  710. else
  711. {
  712. if(srcformcd == "M000000000" || srcformcd == "0000000901")
  713. model.makeValue("/root/send/reqdata/formcd" , srcformcd);
  714. model.removenode("/root/send/reqdata/itembasecd");
  715. model.makeValue("/root/send/reqdata/itemindxseq" ,itemindxseq);
  716. model.makeValue("/root/send/reqdata/comnclspath" ,comnclspath);
  717. }
  718. model.makeValue("/root/send/reqdata/folderflag", folderflag); //상위폴더구분
  719. model.makeValue("/root/send/reqdata/reqflag", reqflag); //개인,과, 전체 구분 flag
  720. model.makeValue("/root/send/reqdata/clsflag", clsflag); //분류 flag
  721. model.makeValue("/root/send/reqdata/comnchosflag", comnchosflag); //분류 flag
  722. model.makeValue("/root/send/reqdata/reqnm", model.getValue("/root/send/cond/reprnm"));
  723. if(submit("TRMRF02403"))
  724. {
  725. var icomnseq = "";
  726. var comnseqs;
  727. sBeforeIndxRow = rows;
  728. sBeforeSetFlag = model.getValue("/root/send/cond/setflag");
  729. var comnrow = 0;
  730. // 이미 체크된 아이템을 확인하여 체크표시를 해줌.
  731. for(var i=0; i< sItemIndxSeqList.length; i++){
  732. if((indxflag == "" && sItemIndxSeqList[i] == degnitemcd) ||
  733. (indxflag != "" && sItemIndxSeqList[i] == itemindxseq)){
  734. if(setflag == "U"){ // 사용자
  735. if(sUserComnSeqList[i] != "" && sUserComnSeqList[i] != null){
  736. comnseqs = sUserComnSeqList[i].split("▦");
  737. for(var j=0; j<comnseqs.length; j++){
  738. if(comnseqs[j] != ""){
  739. comnrow = grd.findRow(comnseqs[j],1,3);
  740. if(comnrow > 0) model.setValue(ref+"["+comnrow+"]/check", "true");
  741. }
  742. }
  743. }
  744. }else if(setflag == "D"){ // 부서
  745. if(sDeptComnSeeqList[i] != "" && sDeptComnSeeqList[i] != null){
  746. comnseqs = sDeptComnSeeqList[i].split("▦");
  747. for(var j=0; j<comnseqs.length; j++){
  748. if(comnseqs[j] != ""){
  749. comnrow = grd.findRow(comnseqs[j],1,3);
  750. if(comnrow > 0) model.setValue(ref+"["+comnrow+"]/check", "true");
  751. }
  752. }
  753. }
  754. }
  755. }
  756. }
  757. }
  758. model.refresh();
  759. }
  760. /**
  761. * @desc : 상용구 한줄 추가
  762. * @
  763. * @param :
  764. * @return :
  765. * @---------------------------------------------------
  766. */
  767. function fAddRowComn(){
  768. var comnchosflag = model.getValue("/root/send/cond/caseflag"); //예문 ,상용구 case구분
  769. var seq = model.getValue("/root/main/indxlist_comn/item");
  770. //if( seq == "" || seq == "공통서식" || seq == "제증명" || seq.length < 8){
  771. if( seq == "" || seq == "공통서식" || seq == "진단서" || seq.length < 8){
  772. return;
  773. }
  774. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  775. if(item == null)
  776. {
  777. return;
  778. }
  779. var rowPos = item.index + 1;
  780. var degnitemnm = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemnm");
  781. var depth = model.getValue(sTREE_PATH+ "[" + rowPos + "]/depth");
  782. var indxnm = model.getValue(sTREE_PATH+ "[" + rowPos + "]/indxnm");
  783. var setflag = model.getValue("/root/send/cond/setflag");
  784. if ( setflag == "A") //전체는 입력 안된다
  785. {
  786. return;
  787. }
  788. //상용구 예문 분리
  789. var grdObj;
  790. var ref;
  791. if(comnchosflag == "C"){
  792. grdObj = grd_comnlist;
  793. ref = "/root/main/list/comnlist";
  794. }else if(comnchosflag == "E"){
  795. grdObj = grd_exmplist;
  796. ref = "/root/main/list/exmplist";
  797. }
  798. grdObj.addRow(false);
  799. var desCurRow = grdObj.rows - grdObj.fixedRows;
  800. // 개인 , 과 , 전체 구분
  801. if (setflag == "U") {
  802. // model.setValue("/root/main/list/exmplist[" + desCurRow + "]/userid", "12345678"); //getUserId());
  803. // model.setValue("/root/main/list/exmplist[" + desCurRow + "]/deptcd", "11113333"); //getUserInfo("dutplcecd"));
  804. model.setValue(ref+"[" + desCurRow + "]/userid", getUserId()); //
  805. model.setValue(ref+"[" + desCurRow + "]/deptcd", getUserInfo("dutplcecd")); //
  806. }
  807. if (setflag == "D") {
  808. // model.setValue(ref+"[" + desCurRow + "]/userid", "");
  809. // model.setValue(ref+"[" + desCurRow + "]/deptcd", "11113333"); //getUserInfo("dutplcecd"));
  810. model.setValue(ref+"[" + desCurRow + "]/userid", "");
  811. model.setValue(ref+"[" + desCurRow + "]/deptcd", getUserInfo("dutplcecd")); //
  812. }
  813. if (setflag == "A") {
  814. model.setValue(ref+"[" + desCurRow + "]/userid", "");
  815. model.setValue(ref+"[" + desCurRow + "]/deptcd", "");
  816. }
  817. var clsflag = model.getValue(sTREE_PATH+ "[" + rowPos + "]/clsflag");
  818. var srcformcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/srcformcd");
  819. var degnitemcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemcd");
  820. var itemindxseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/itemindxseq");
  821. var comnclspath = model.getValue(sTREE_PATH+ "[" + rowPos + "]/pathcd");
  822. if(srcformcd ==""){
  823. srcformcd = "-"; //srcformcd있으면 formcd로 조회
  824. }
  825. if(degnitemcd == ""){
  826. degnitemcd = "-"; //degnitemcd있으면 degnitemcd로 조회
  827. }
  828. if(itemindxseq == -100){ // 공통서식 인 경우
  829. model.setValue(ref+"[" + desCurRow + "]/formcd" ,srcformcd);
  830. model.setValue(ref+"[" + desCurRow + "]/itembasecd", degnitemcd.substr(0,7));
  831. }else{ //MY폴더 인 경우
  832. model.setValue(ref+"[" + desCurRow + "]/itemindxseq" ,itemindxseq);
  833. model.setValue(ref+"[" + desCurRow + "]/comnclspath" ,comnclspath);
  834. }
  835. model.setValue(ref+"[" + desCurRow + "]/clsflag", clsflag); // form 이면 F ,folder는 G
  836. model.setValue(ref+"[" + desCurRow + "]/comnchosflag", comnchosflag); //상용구C 예문E
  837. model.setValue(ref+"[" + desCurRow + "]/reqflag", setflag); //개인 과 전체 구분
  838. model.refresh();
  839. }
  840. /**
  841. * @desc : 상용구 등록
  842. * @
  843. * @param :
  844. * @return :
  845. * @---------------------------------------------------
  846. */
  847. function fAddComn()
  848. {
  849. var comnchosflag = model.getValue("/root/send/cond/caseflag"); //예문 ,상용구 case구분
  850. var setflag = model.getValue("/root/send/cond/setflag");
  851. if ( setflag == "A" || setflag == "E") //전체 및 타과는 입력 안된다
  852. {
  853. return;
  854. }
  855. var seq = model.getValue("/root/main/indxlist_comn/item");
  856. //alert(seq.length);
  857. var fseq = seq.indexOf(".");
  858. var flag = false;
  859. if(fseq == -1 ){ // My폴더 하위항목
  860. flag = true;
  861. }
  862. if(seq.length >10){ // 공통, 제증명 하위항목
  863. flag = false;
  864. }
  865. if(fseq == -1 &&
  866. seq.substr(0, 5) != "M0000" && // My폴더 하위
  867. seq.substr(0, 1) != "D" && // 주호소 하위
  868. seq != "-") // My폴더
  869. {
  870. if(seq != "0000000901") // 주호소는 제외
  871. {
  872. if( seq == "" || seq == "-공통서식" || seq == "-진단서" || flag == true)
  873. {
  874. //alert(seq+"=="+seq.length);
  875. if( seq == "My폴더"){
  876. messageBox("새폴더가 생성 되지","E007");
  877. return;
  878. }
  879. messageBox("서식의 세부 항목을 ","C002");
  880. return;
  881. }
  882. }
  883. }
  884. //상용구 예문 분리
  885. var grdObj;
  886. var ref;
  887. if(comnchosflag == "C"){
  888. grdObj = grd_comnlist;
  889. ref = "/root/main/list/comnlist";
  890. }else if(comnchosflag == "E"){
  891. grdObj = grd_exmplist;
  892. ref = "/root/main/list/exmplist";
  893. }
  894. var sIndxFlag = model.getValue("/root/send/cond/indxflag");
  895. var sParamMsg = "comnchosflag▦clsflag▦itemindxseq▦comnclspath▦formcd▦degnitemcd▦reqflag▦indxflag▩";
  896. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  897. if(item == null)
  898. {
  899. return;
  900. }
  901. var rowPos = item.index + 1;
  902. var degnitemnm = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemnm");
  903. var depth = model.getValue(sTREE_PATH+ "[" + rowPos + "]/depth");
  904. var indxnm = model.getValue(sTREE_PATH+ "[" + rowPos + "]/indxnm");
  905. var degnitemno = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemno");
  906. var formdegnseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/formdegnseq");
  907. var clsflag = model.getValue(sTREE_PATH+ "[" + rowPos + "]/clsflag");
  908. var srcformcd = "";
  909. if(seq.substr(0,1) == "M" || seq.substr(0,1) == "D")
  910. srcformcd = seq;
  911. else
  912. srcformcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/srcformcd");
  913. var degnitemcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemcd");
  914. var itemindxseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/itemindxseq");
  915. var comnclspath = model.getValue(sTREE_PATH+ "[" + rowPos + "]/pathcd");
  916. if(srcformcd =="")
  917. {
  918. srcformcd = "-";
  919. }
  920. else if(srcformcd == "0000000901") // 주호소 등록 내용인 경우
  921. {
  922. //srcformcd = "";
  923. // 주호소 아이템코드 등록.
  924. model.setValue(sTREE_PATH+ "[" + rowPos + "]/degnitemcd", "0000931001");
  925. /*
  926. // 주호소에서 상용구관리를 열지 않은 경우, 서식코드가 들어가게끔 함.
  927. var mainformcd = opener.window.javascript.getParameter("comn_srcformcd");
  928. if(srcformcd != mainformcd)
  929. srcformcd = mainformcd;
  930. else
  931. srcformcd = "";
  932. */
  933. }
  934. if(degnitemcd == ""){
  935. degnitemcd = "-";
  936. }
  937. if(itemindxseq != -100 && sIndxFlag == "D"){
  938. srcformcd = model.getValue("/root/send/cond/formcd");
  939. }
  940. sParamMsg += comnchosflag+"▦"
  941. + clsflag+"▦"
  942. + itemindxseq+"▦"
  943. + comnclspath+"▦"
  944. + srcformcd+"▦"
  945. + degnitemcd+"▦"
  946. + setflag+"▦"
  947. + sIndxFlag+"▩";
  948. setParameter("SPMRF02700_Param",sParamMsg);
  949. // status 수정
  950. setParameter("status", "i");
  951. modal("SPMRF02700",1 ,500, 250);
  952. if(getParameter("saveyn") == "Y"){
  953. fReqComnIndx("C");
  954. }
  955. setParameter("saveyn","");
  956. setParameter("SPMRF02700_Param","");
  957. model.refresh();
  958. return;
  959. ////////////////
  960. }
  961. /**
  962. * @desc : 상용구 수정
  963. * @
  964. * @param :
  965. * @return :
  966. * @---------------------------------------------------
  967. */
  968. function fUpdtComn()
  969. {
  970. var comnchosflag = model.getValue("/root/send/cond/caseflag"); //예문 ,상용구 case구분
  971. //상용구 예문 분리
  972. var grdObj;
  973. var ref;
  974. if(comnchosflag == "C"){
  975. grdObj = grd_comnlist;
  976. ref = "/root/main/list/comnlist";
  977. }else if(comnchosflag == "E"){
  978. grdObj = grd_exmplist;
  979. ref = "/root/main/list/exmplist";
  980. }
  981. var setflag = model.getValue("/root/send/cond/setflag");
  982. if ( setflag == "A") //전체는 입력 안된다
  983. {
  984. return;
  985. }
  986. desCurRow = grdObj.row - grdObj.fixedRows + 1;
  987. if(desCurRow < 1){
  988. messageBox("수정할 행을 ","C002");
  989. return;
  990. }
  991. // status 수정
  992. setParameter("status", "u");
  993. setParameter("reprnm", model.getValue(ref+"[" + desCurRow + "]/reprnm"));
  994. setParameter("comncnts",model.getValue(ref+"[" + desCurRow + "]/comncnts"));
  995. setParameter("comnseq", model.getValue(ref+"[" + desCurRow + "]/comnseq"));
  996. setParameter("userid", model.getValue(ref+"[" + desCurRow + "]/userid"));
  997. setParameter("deptcd", model.getValue(ref+"[" + desCurRow + "]/deptcd"));
  998. modal("SPMRF02700_상용구관리팝업",1 ,500, 250);
  999. var reprnm = getParameter("reprnm");
  1000. var comncnts = getParameter("comncnts");
  1001. if(reprnm == "" && comncnts == "")
  1002. return;
  1003. /*
  1004. grd_comnlist.rowStatus(desCurRow) = 2;
  1005. model.setValue(ref+"[" + desCurRow + "]/reprnm", reprnm);
  1006. model.setValue(ref+"[" + desCurRow + "]/comncnts", comncnts);
  1007. model.setValue(ref+"[" + desCurRow + "]/reqflag", setflag);
  1008. */
  1009. if(getParameter("saveyn") == "Y"){
  1010. fReqComnIndx("C");
  1011. }
  1012. setParameter("reprnm","");
  1013. setParameter("comncnts","");
  1014. setParameter("saveyn","");
  1015. setParameter("SPMRF02700_Param","");
  1016. model.refresh();
  1017. }
  1018. /**
  1019. * @desc : 상용구 저장
  1020. * @
  1021. * @param :
  1022. * @return :
  1023. * @---------------------------------------------------
  1024. */
  1025. function fSaveComn(){
  1026. var comnchosflag = model.getValue("/root/send/cond/caseflag"); //예문 ,상용구 case구분
  1027. //상용구 예문 분리
  1028. var grdObj = "";
  1029. var ref = "";
  1030. if(comnchosflag == "C"){
  1031. grdObj = grd_comnlist;
  1032. ref = "/root/main/list/comnlist";
  1033. }else if(comnchosflag == "E"){
  1034. grdObj = grd_exmplist;
  1035. ref = "/root/main/list/exmplist";
  1036. }
  1037. var curRow = grdObj.row - grdObj.fixedRows + 1;
  1038. if(curRow < 0){
  1039. return;
  1040. }
  1041. // 신규, 수정된 row있는지 확인
  1042. var breakflag = false;
  1043. for(var i = grdObj.fixedRows; i < grdObj.rows; i++)
  1044. {
  1045. var rowstat = grdObj.rowStatus(i);
  1046. if(rowstat != "0" ){
  1047. breakflag = true;
  1048. break;
  1049. }
  1050. } //end for
  1051. if(!breakflag)
  1052. return;
  1053. model.makeValue("/root/send/savedata",grdObj.getUpdateData());
  1054. submit("TXMRF02401");
  1055. model.removeNodeset("/root/send/savedata");
  1056. }
  1057. /**
  1058. * @desc : 상용구 삭제
  1059. * @
  1060. * @param :
  1061. * @return :
  1062. * @---------------------------------------------------
  1063. */
  1064. function fDelComn()
  1065. {
  1066. var comnchosflag = model.getValue("/root/send/cond/caseflag"); //예문 ,상용구 case구분
  1067. //상용구 예문 분리
  1068. var grdObj;
  1069. var ref;
  1070. if(comnchosflag == "C"){
  1071. grdObj = grd_comnlist;
  1072. ref = "/root/main/list/comnlist";
  1073. }else if(comnchosflag == "E"){
  1074. grdObj = grd_exmplist;
  1075. ref = "/root/main/list/exmplist";
  1076. }
  1077. var curRow = grdObj.rows - grdObj.fixedRows + 1;
  1078. if(curRow < 0)
  1079. {
  1080. messageBox("삭제할 행을","C002");
  1081. return;
  1082. }
  1083. var setflag = model.getValue("/root/send/cond/setflag");
  1084. var rtn = messageBox("선택한 행을", "Q001");
  1085. if(setflag == "U")
  1086. {
  1087. if (rtn == "6")
  1088. {
  1089. for(var i = grdObj.fixedRows; i < grdObj.rows; i++)
  1090. {
  1091. var flag = model.getValue(ref + "["+ i +"]/check");
  1092. if(flag == "true")
  1093. {
  1094. grd_comnlist.rowStatus(i) = "4";
  1095. model.setValue(ref+"[" + i + "]/reqflag", setflag);
  1096. }
  1097. }
  1098. model.makeValue("/root/send/savedata", grd_comnlist.getUpdateData());
  1099. if(submit("TXMRF02401"))
  1100. {
  1101. fReqComnIndx("C");
  1102. }
  1103. }
  1104. }
  1105. else if(setflag == "D")
  1106. {
  1107. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1108. // 상용구를 등록한 userid가 로그인한 user와 맞는지 확인한다.
  1109. var loginUserid = getUserId();
  1110. var comnUserid = "";
  1111. if (rtn == "6")
  1112. {
  1113. for(var i = grdObj.fixedRows; i < grdObj.rows; i++)
  1114. {
  1115. var flag = model.getValue(ref + "["+ i +"]/check");
  1116. if(flag == "true")
  1117. {
  1118. comnUserid = model.getValue(ref +"[" + i + "]/fstrgstrid");
  1119. if(loginUserid != comnUserid)
  1120. {
  1121. messageBox("다른 사용자가 등록한 상용구는 삭제할", "E002");
  1122. //messageBox("선택한 상용구를 삭제할 ", "E002");
  1123. return ;
  1124. }
  1125. grd_comnlist.rowStatus(i) = "4";
  1126. model.setValue(ref+"[" + i + "]/reqflag", setflag);
  1127. }
  1128. }
  1129. model.makeValue("/root/send/savedata", grd_comnlist.getUpdateData());
  1130. if(submit("TXMRF02401"))
  1131. {
  1132. fReqComnIndx("C");
  1133. }
  1134. }
  1135. }
  1136. }
  1137. /**
  1138. * @desc : 마우스 오른쪽 버튼 팝업창
  1139. * @
  1140. * @param :
  1141. * @return :
  1142. * @---------------------------------------------------
  1143. * 1. 마우스 우클릭인가?
  1144. * 2. 관리자인가? 사용자인가?
  1145. * 3. 구분이 개인인가? 과인가? 전체인가?
  1146. * 4. 폴더인가? 파일인가? 루트인가?
  1147. */
  1148. function fMouseRghtBtnPopup(chosflag, objname)
  1149. {
  1150. //fSetTreeView(chosflag);
  1151. if(event.button == 3)
  1152. {
  1153. //alert("1");
  1154. if(chosflag == "item" && objname == "grid")
  1155. {
  1156. //alert("2");
  1157. //window.setPopupMenu(true, "/root/event/menu4/menu", "label", "func", false); return;
  1158. return;
  1159. }
  1160. if(sTREE_OBJ.isCell(event.target) && sTREE_OBJ.selectedIndex > -1)
  1161. {
  1162. //alert("3");
  1163. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  1164. if(item == null)
  1165. return;
  1166. var rowpos = item.index + 1;
  1167. //sSETLIST를 sTREE_PATH로 교체..
  1168. var depth = model.getValue(sTREE_PATH+ "[" + rowpos + "]/depth");
  1169. var item_length = sTREE_OBJ.length;
  1170. // 루트인가? (보여주는 부분으로..)
  1171. var indxnm = model.getValue(sTREE_PATH+ "[" + rowpos + "]/indxnm");
  1172. var seq = model.getValue(sTREE_PATH+ "[" + rowpos + "]/seq");
  1173. var linkflag = model.getValue(sTREE_PATH + "[" + rowpos + "]/linkflag");
  1174. var reprnm = model.getValue(sTREE_PATH+ "[" + rowpos + "]/reprnm"); //상용구
  1175. var degnitemnm = model.getValue(sTREE_PATH+ "[" + rowpos + "]/degnitemnm"); // 디자인항목
  1176. //My폴더 인경우 새폴더 생성 가능
  1177. //if(depth == 1 && item_length > 1 && (indxnm == "My폴더" || indxnm == "Summary" || indxnm == "주호소"))
  1178. if(depth == 1 && item_length > 1 && (seq == "M000000000" || indxnm == "Summary" || seq == "0000000901"))
  1179. {
  1180. //alert("4");
  1181. window.setPopupMenu(true, "/root/event/menu2/menu", "label", "func", false); return;
  1182. }
  1183. /* if (depth == 0 && item_length > 1) {
  1184. // My폴더는 폴더 생성 가능 , 나머지 depth가 0인 항목은 폴더 생성불가
  1185. window.setPopupMenu(false);
  1186. return;
  1187. }*/
  1188. // 관리자인가? 구분이 개인인가?
  1189. var admin = model.getValue("/root/send/cond/admin");
  1190. var setflag = model.getValue("/root/send/cond/setflag");
  1191. if (admin == "true" || setflag == "U" || setflag == "D")
  1192. {
  1193. //alert("5");
  1194. /*
  1195. if (depth == 0 && linkflag == "N")
  1196. {
  1197. alert("6");
  1198. // My폴더
  1199. window.setPopupMenu(true, "/root/event/menu2/menu", "label", "func", false); return;
  1200. }
  1201. */
  1202. //else if (depth > 1 && linkflag == "N" || linkflag == "X")
  1203. if (depth > 1 && linkflag == "N" || linkflag == "X")
  1204. {
  1205. if(item.value.substr(0,1) == "D" || item.value.substr(0,1) == "M")
  1206. {
  1207. //alert("7");
  1208. // 폴더 및 주호소인경우, 폴더수정 / 폴더삭제..
  1209. window.setPopupMenu(true, "/root/event/menu/menu", "label", "func", false); return;
  1210. }
  1211. }
  1212. //alert("8");
  1213. /*
  1214. else if(linkflag =="Y")
  1215. {
  1216. // 파일인경우, 파일삭제만..
  1217. window.setPopupMenu(true, "/root/event/menu1/menu", "label", "func", false); return;
  1218. }
  1219. */
  1220. }
  1221. else
  1222. {
  1223. //alert("9");
  1224. window.setPopupMenu(false);
  1225. }
  1226. }
  1227. else
  1228. {
  1229. //alert("10");
  1230. window.setPopupMenu(false);
  1231. }
  1232. }
  1233. else
  1234. {
  1235. window.setPopupMenu(false);
  1236. }
  1237. }
  1238. /**
  1239. * @desc : 상용구리스트 선택
  1240. * @
  1241. * @param :
  1242. * @return :
  1243. * @---------------------------------------------------
  1244. */
  1245. /*
  1246. function fSelectComn()
  1247. {
  1248. var iRow = grd_comnlist.row - grd_comnlist.fixedRows + 1;
  1249. model.makeValue(sSETLIST_HIDDEN + "/comnseq",model.getValue("/root/main/list/comnlist[" + iRow + "]/comnseq"));
  1250. model.refresh();
  1251. }
  1252. */
  1253. function fSelectComnEx()
  1254. {
  1255. if(gOpenMode == "MGR")
  1256. return ;
  1257. if(opener.javascript.getParameter("openmode") == "select" || opener.javascript.getParameter("openmode") == "insert")
  1258. {
  1259. var msg = "";
  1260. var comnchosflag = model.getValue("/root/send/cond/caseflag");
  1261. var grd = null;
  1262. var indxflag = model.getValue("/root/send/cond/indxflag");
  1263. var setflag = model.getValue("/root/send/cond/setflag");
  1264. if(model.getValue("/root/send/cond/caseflag") == "C")
  1265. {
  1266. grd = document.controls("grd_comnlist");
  1267. msg = "상용구";
  1268. }
  1269. else if(model.getValue("/root/send/cond/caseflag") == "E")
  1270. {
  1271. grd = document.controls("grd_exmplist");
  1272. msg = "예문";
  1273. }
  1274. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  1275. if(item == null)
  1276. {
  1277. messageBox("서식의 항목이 선택되지 않았습니다. 왼쪽 서식에서 상용구를 입력할 항목을 선택", "I008");
  1278. return;
  1279. }
  1280. var rowPos = item.index + 1;
  1281. var ref = grd.attribute("nodeset");
  1282. var curRow = grd.row;
  1283. var comncnts = ""; //model.getValue(ref + "[" + curRow + "]/comncnts");
  1284. var comnseqs = "";
  1285. var degnitemcd = "";
  1286. var itemindxseq = "";
  1287. var datayn = false;
  1288. //2012/12/18 Start
  1289. var SMMMR03700_comncnts="";
  1290. //2012/12/18 End
  1291. ///////////////////
  1292. // 오른쪽 상용구 리스트 목록에서 해당 row를 찾아낸다.
  1293. for(var iRow=grd.fixedrows; iRow<=(grd.rows-grd.fixedrows); iRow++)
  1294. {
  1295. if(model.getValue(ref+"["+iRow+"]/check") == "true")
  1296. {
  1297. if(comnseqs != ""){
  1298. comnseqs += "▦";
  1299. comncnts += "▦";
  1300. }
  1301. comnseqs += model.getValue(ref+"["+iRow+"]/comnseq");
  1302. comncnts += model.getValue(ref+"["+iRow+"]/comncnts");
  1303. }
  1304. }
  1305. //2012/12/18 Start
  1306. SMMMR03700_comncnts=comncnts;
  1307. //2012/12/18 End
  1308. var tmpsrcformcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/srcformcd");
  1309. if(tmpsrcformcd.substr(0, 1) == "M")
  1310. degnitemcd = opener.window.javascript.getParameter("comn_degnitemcd");
  1311. else
  1312. degnitemcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemcd");
  1313. itemindxseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/itemindxseq");
  1314. for(var i=0; i< sItemIndxSeqList.length; i++)
  1315. {
  1316. if((indxflag == "" && sItemIndxSeqList[i] == degnitemcd) ||
  1317. (indxflag != "" && sItemIndxSeqList[i] == itemindxseq))
  1318. {
  1319. if(setflag == "U")
  1320. { //사용자
  1321. if(sUserComnSeqList[i] != comnseqs) sUserComnSeqList[i] = comnseqs;
  1322. if(sUsercomnCntsList[i] != comncnts) sUsercomnCntsList[i] = comncnts;
  1323. }
  1324. else if(setflag == "D")
  1325. { // 부서
  1326. if(sDeptComnSeeqList[i] != comnseqs) sDeptComnSeeqList[i] = comnseqs;
  1327. if(sDeptComnCntsList[i] != comncnts) sDeptComnCntsList[i] = comncnts;
  1328. }
  1329. else if(setflag == "A")
  1330. { // 전체
  1331. if(sDeptComnSeeqList[i] != comnseqs) sDeptComnSeeqList[i] = comnseqs;
  1332. if(sDeptComnCntsList[i] != comncnts) sDeptComnCntsList[i] = comncnts;
  1333. }
  1334. else if(setflag == "E")
  1335. { // 타 과
  1336. if(sDeptComnSeeqList[i] != comnseqs) sDeptComnSeeqList[i] = comnseqs;
  1337. if(sDeptComnCntsList[i] != comncnts) sDeptComnCntsList[i] = comncnts;
  1338. }
  1339. datayn = true;
  1340. }
  1341. }
  1342. if(datayn == false && comnseqs != "")
  1343. {
  1344. var indx = sItemIndxSeqList.length;
  1345. if(indxflag == "")
  1346. sItemIndxSeqList[indx] = degnitemcd;
  1347. else
  1348. sItemIndxSeqList[indx] = itemindxseq;
  1349. if(setflag == "U")
  1350. { //사용자
  1351. sUserComnSeqList[indx] = comnseqs;
  1352. sUsercomnCntsList[indx] = comncnts;
  1353. }
  1354. else if(setflag == "D")
  1355. { // 부서
  1356. sDeptComnSeeqList[indx] = comnseqs;
  1357. sDeptComnCntsList[indx] = comncnts;
  1358. }
  1359. else if(setflag == "A")
  1360. { // 전체
  1361. sDeptComnSeeqList[indx] = comnseqs;
  1362. sDeptComnCntsList[indx] = comncnts;
  1363. }
  1364. else if(setflag == "E")
  1365. { // 타 부서
  1366. sDeptComnSeeqList[indx] = comnseqs;
  1367. sDeptComnCntsList[indx] = comncnts;
  1368. }
  1369. }
  1370. var rtnmsg = "";
  1371. var comncnts = "";
  1372. var comncntslist = "";
  1373. if(indxflag == "" )
  1374. {
  1375. for(var i=0; i<sItemIndxSeqList.length; i++)
  1376. {
  1377. comncnts = "";
  1378. if(sUsercomnCntsList[i] != "" && sUsercomnCntsList[i] != null)
  1379. {
  1380. comncntslist = sUsercomnCntsList[i].split("▦");
  1381. for(var j=0; j<comncntslist.length; j++)
  1382. {
  1383. if(comncntslist[j] != "")
  1384. {
  1385. if(comncnts != "") comncnts += "\n";
  1386. comncnts += comncntslist[j];
  1387. }
  1388. }
  1389. }
  1390. if(sDeptComnCntsList[i] != "" && sDeptComnCntsList[i] != null)
  1391. {
  1392. comncntslist = sDeptComnCntsList[i].split("▦");
  1393. for(var j=0; j<comncntslist.length; j++)
  1394. {
  1395. if(comncntslist[j] != "")
  1396. {
  1397. if(comncnts != "") comncnts += "\n";
  1398. comncnts += comncntslist[j];
  1399. }
  1400. }
  1401. }
  1402. if(comncnts != "") rtnmsg += sItemIndxSeqList[i]+"▦" +comncnts+"▩";
  1403. }
  1404. if(opener.javascript.getParameter("comn_formprogflag") == "B") // 서식이 없는 프로그램서식인 경우
  1405. {
  1406. rtnmsg = comncnts;
  1407. }
  1408. opener.javascript.setParameter("comncnts", rtnmsg);
  1409. }
  1410. else // My폴더, 주호소
  1411. {
  1412. for(var i=0; i<sItemIndxSeqList.length; i++)
  1413. {
  1414. comncnts = "";
  1415. if(sUsercomnCntsList[i] != "" && sUsercomnCntsList[i] != null)
  1416. {
  1417. comncntslist = sUsercomnCntsList[i].split("▦");
  1418. for(var j=0; j<comncntslist.length; j++)
  1419. {
  1420. if(comncntslist[j] != "")
  1421. {
  1422. if(comncnts != "") comncnts += "\n";
  1423. comncnts += comncntslist[j];
  1424. }
  1425. }
  1426. }
  1427. if(sDeptComnCntsList[i] != "" && sDeptComnCntsList[i] != null)
  1428. {
  1429. comncntslist = sDeptComnCntsList[i].split("▦");
  1430. for(var j=0; j<comncntslist.length; j++)
  1431. {
  1432. if(comncntslist[j] != "")
  1433. {
  1434. if(comncnts != "") comncnts += "\n";
  1435. comncnts += comncntslist[j];
  1436. }
  1437. }
  1438. }
  1439. if(comncnts != "")
  1440. {
  1441. if(rtnmsg != "") rtnmsg += "\n";
  1442. rtnmsg += comncnts;
  1443. }
  1444. }
  1445. // My폴더인 경우
  1446. if(model.getValue("/root/send/cond/clsflag") == "G")
  1447. {
  1448. degnitemcd = opener.window.javascript.getParameter("comn_degnitemcd");
  1449. if(rtnmsg != "")
  1450. {
  1451. if(degnitemcd == "") // 서식이 아닌곳에서 상용구를 연 경우
  1452. rtnmsg = rtnmsg;
  1453. else
  1454. rtnmsg = degnitemcd + "▦" + rtnmsg + "▩";
  1455. }
  1456. }
  1457. if(opener.javascript.getParameter("comn_formprogflag") == "B") // 서식이 없는 프로그램서식인 경우
  1458. {
  1459. rtnmsg = comncnts;
  1460. }
  1461. opener.javascript.setParameter("comncnts", rtnmsg);
  1462. }
  1463. //2012/12/18 Start 마취 기록지 일시에는 배열 그 자체로
  1464. if(opener.javascript.getParameter("screen_id") == "SMMMR03700"){
  1465. opener.javascript.clearParameter("comncnts");
  1466. opener.javascript.setParameter("comncnts", SMMMR03700_comncnts);
  1467. }
  1468. //2012/12/18 End
  1469. if(rtnmsg == "")
  1470. {
  1471. messageBox("선택된 상용구가 없습니다. 상용구를 선택하시려면 체크박스를 클릭","I008");
  1472. opener.javascript.setParameter("comncnts", "");
  1473. return;
  1474. }
  1475. window.close();
  1476. /////////////////////////////////////////////////
  1477. }
  1478. }
  1479. function fSelectComn()
  1480. {
  1481. if(gOpenMode == "MGR")
  1482. return ;
  1483. if(opener.javascript.getParameter("openmode") == "select" || opener.javascript.getParameter("openmode") == "insert")
  1484. {
  1485. model.makeValue("/root/main/list/comnlist["+grd_comnlist.row+"]/check", "true");
  1486. var iRow = grd_comnlist.row - grd_comnlist.fixedRows + 1;
  1487. var msg = "";
  1488. var comnchosflag = model.getValue("/root/send/cond/caseflag");
  1489. var grd = null;
  1490. var indxflag = model.getValue("/root/send/cond/indxflag");
  1491. var setflag = model.getValue("/root/send/cond/setflag");
  1492. if(model.getValue("/root/send/cond/caseflag") == "C")
  1493. {
  1494. grd = document.controls("grd_comnlist");
  1495. msg = "상용구";
  1496. }
  1497. else if(model.getValue("/root/send/cond/caseflag") == "E")
  1498. {
  1499. grd = document.controls("grd_exmplist");
  1500. msg = "예문";
  1501. }
  1502. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  1503. if(item == null)
  1504. {
  1505. messageBox("서식의 항목이 선택되지 않았습니다. 왼쪽 서식에서 상용구를 입력할 항목을 선택", "I008");
  1506. return;
  1507. }
  1508. var rowPos = item.index + 1;
  1509. var ref = grd.attribute("nodeset");
  1510. var curRow = grd.row;
  1511. var comncnts = ""; //model.getValue(ref + "[" + curRow + "]/comncnts");
  1512. var comnseqs = "";
  1513. var degnitemcd = "";
  1514. var itemindxseq = "";
  1515. var datayn = false;
  1516. ///////////////////
  1517. // 오른쪽 상용구 리스트 목록에서 해당 row를 찾아낸다.
  1518. for(var iRow=grd.fixedrows; iRow<=(grd.rows-grd.fixedrows); iRow++)
  1519. {
  1520. if(model.getValue(ref+"["+iRow+"]/check") == "true")
  1521. {
  1522. if(comnseqs != ""){
  1523. comnseqs += "▦";
  1524. comncnts += "▦";
  1525. }
  1526. comnseqs += model.getValue(ref+"["+iRow+"]/comnseq");
  1527. comncnts += model.getValue(ref+"["+iRow+"]/comncnts");
  1528. }
  1529. }
  1530. var tmpsrcformcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/srcformcd");
  1531. if(tmpsrcformcd.substr(0, 1) == "M")
  1532. degnitemcd = opener.window.javascript.getParameter("comn_degnitemcd");
  1533. else
  1534. degnitemcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/degnitemcd");
  1535. itemindxseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/itemindxseq");
  1536. for(var i=0; i< sItemIndxSeqList.length; i++)
  1537. {
  1538. if((indxflag == "" && sItemIndxSeqList[i] == degnitemcd) ||
  1539. (indxflag != "" && sItemIndxSeqList[i] == itemindxseq))
  1540. {
  1541. if(setflag == "U")
  1542. { //사용자
  1543. if(sUserComnSeqList[i] != comnseqs) sUserComnSeqList[i] = comnseqs;
  1544. if(sUsercomnCntsList[i] != comncnts) sUsercomnCntsList[i] = comncnts;
  1545. }
  1546. else if(setflag == "D")
  1547. { // 부서
  1548. if(sDeptComnSeeqList[i] != comnseqs) sDeptComnSeeqList[i] = comnseqs;
  1549. if(sDeptComnCntsList[i] != comncnts) sDeptComnCntsList[i] = comncnts;
  1550. }
  1551. else if(setflag == "A")
  1552. { // 전체
  1553. if(sDeptComnSeeqList[i] != comnseqs) sDeptComnSeeqList[i] = comnseqs;
  1554. if(sDeptComnCntsList[i] != comncnts) sDeptComnCntsList[i] = comncnts;
  1555. }
  1556. else if(setflag == "E")
  1557. { // 타 과
  1558. if(sDeptComnSeeqList[i] != comnseqs) sDeptComnSeeqList[i] = comnseqs;
  1559. if(sDeptComnCntsList[i] != comncnts) sDeptComnCntsList[i] = comncnts;
  1560. }
  1561. datayn = true;
  1562. }
  1563. }
  1564. if(datayn == false && comnseqs != "")
  1565. {
  1566. var indx = sItemIndxSeqList.length;
  1567. if(indxflag == "")
  1568. sItemIndxSeqList[indx] = degnitemcd;
  1569. else
  1570. sItemIndxSeqList[indx] = itemindxseq;
  1571. if(setflag == "U")
  1572. { //사용자
  1573. sUserComnSeqList[indx] = comnseqs;
  1574. sUsercomnCntsList[indx] = comncnts;
  1575. }
  1576. else if(setflag == "D")
  1577. { // 부서
  1578. sDeptComnSeeqList[indx] = comnseqs;
  1579. sDeptComnCntsList[indx] = comncnts;
  1580. }
  1581. else if(setflag == "A")
  1582. { // 전체
  1583. sDeptComnSeeqList[indx] = comnseqs;
  1584. sDeptComnCntsList[indx] = comncnts;
  1585. }
  1586. else if(setflag == "E")
  1587. { // 타 부서
  1588. sDeptComnSeeqList[indx] = comnseqs;
  1589. sDeptComnCntsList[indx] = comncnts;
  1590. }
  1591. }
  1592. var rtnmsg = "";
  1593. var comncnts = "";
  1594. var comncntslist = "";
  1595. if(indxflag == "" )
  1596. {
  1597. for(var i=0; i<sItemIndxSeqList.length; i++)
  1598. {
  1599. comncnts = "";
  1600. if(sUsercomnCntsList[i] != "" && sUsercomnCntsList[i] != null)
  1601. {
  1602. comncntslist = sUsercomnCntsList[i].split("▦");
  1603. for(var j=0; j<comncntslist.length; j++)
  1604. {
  1605. if(comncntslist[j] != "")
  1606. {
  1607. if(comncnts != "") comncnts += "\n";
  1608. comncnts += comncntslist[j];
  1609. }
  1610. }
  1611. }
  1612. if(sDeptComnCntsList[i] != "" && sDeptComnCntsList[i] != null)
  1613. {
  1614. comncntslist = sDeptComnCntsList[i].split("▦");
  1615. for(var j=0; j<comncntslist.length; j++)
  1616. {
  1617. if(comncntslist[j] != "")
  1618. {
  1619. if(comncnts != "") comncnts += "\n";
  1620. comncnts += comncntslist[j];
  1621. }
  1622. }
  1623. }
  1624. if(comncnts != "") rtnmsg += sItemIndxSeqList[i]+"▦" +comncnts+"▩";
  1625. }
  1626. if(opener.javascript.getParameter("comn_formprogflag") == "B") // 서식이 없는 프로그램서식인 경우
  1627. {
  1628. rtnmsg = comncnts;
  1629. }
  1630. opener.javascript.setParameter("comncnts", rtnmsg);
  1631. }
  1632. else // My폴더, 주호소
  1633. {
  1634. for(var i=0; i<sItemIndxSeqList.length; i++)
  1635. {
  1636. comncnts = "";
  1637. if(sUsercomnCntsList[i] != "" && sUsercomnCntsList[i] != null)
  1638. {
  1639. comncntslist = sUsercomnCntsList[i].split("▦");
  1640. for(var j=0; j<comncntslist.length; j++)
  1641. {
  1642. if(comncntslist[j] != "")
  1643. {
  1644. if(comncnts != "") comncnts += "\n";
  1645. comncnts += comncntslist[j];
  1646. }
  1647. }
  1648. }
  1649. if(sDeptComnCntsList[i] != "" && sDeptComnCntsList[i] != null)
  1650. {
  1651. comncntslist = sDeptComnCntsList[i].split("▦");
  1652. for(var j=0; j<comncntslist.length; j++)
  1653. {
  1654. if(comncntslist[j] != "")
  1655. {
  1656. if(comncnts != "") comncnts += "\n";
  1657. comncnts += comncntslist[j];
  1658. }
  1659. }
  1660. }
  1661. if(comncnts != "")
  1662. {
  1663. if(rtnmsg != "") rtnmsg += "\n";
  1664. rtnmsg += comncnts;
  1665. }
  1666. }
  1667. // My폴더인 경우
  1668. if(model.getValue("/root/send/cond/clsflag") == "G")
  1669. {
  1670. degnitemcd = opener.window.javascript.getParameter("comn_degnitemcd");
  1671. if(rtnmsg != "")
  1672. {
  1673. if(degnitemcd == "") // 서식이 아닌 곳에서 상용구 관리를 연 경우
  1674. rtnmsg = rtnmsg;
  1675. else
  1676. rtnmsg = degnitemcd + "▦" + rtnmsg + "▩";
  1677. }
  1678. }
  1679. if(opener.javascript.getParameter("comn_formprogflag") == "B") // 서식이 없는 프로그램서식인 경우
  1680. {
  1681. rtnmsg = comncnts;
  1682. }
  1683. opener.javascript.setParameter("comncnts", rtnmsg);
  1684. }
  1685. if(rtnmsg == "")
  1686. {
  1687. messageBox("선택된 상용구가 없습니다. 상용구를 선택하시려면 체크박스를 클릭","I008");
  1688. opener.javascript.setParameter("comncnts", "");
  1689. return;
  1690. }
  1691. window.close();
  1692. /////////////////////////////////////////////////
  1693. }
  1694. }
  1695. /**
  1696. * @desc : 상용구 추가 //붙여넣기
  1697. * @
  1698. * @param :
  1699. * @return :
  1700. * @---------------------------------------------------
  1701. */
  1702. function fPasteComnSet(){
  1703. var flag = model.getValue("/root/send/cond/caseflag"); //상용구,예문 case구분
  1704. //fSetTreeView(flag);
  1705. var curRow;
  1706. var comnseq;
  1707. var grdObj;
  1708. if(flag =="C"){
  1709. //상용구 comnseq가져온다..
  1710. curRow = grd_comnlist.row - grd_comnlist.fixedRows + 1;
  1711. grdObj = "comnlist";
  1712. if(curRow < 1){
  1713. return;
  1714. }
  1715. grd_comnlist.rowstatus(curRow) = 1;
  1716. }else if(flag =="E"){
  1717. //예문 comnseq가져온다..
  1718. curRow = grd_exmplist.row - grd_exmplist.fixedRows + 1;
  1719. grdObj = "exmplist";
  1720. if(curRow < 1){
  1721. return;
  1722. }
  1723. grd_exmplist.rowstatus(curRow) = 1;
  1724. }
  1725. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  1726. if(item == null)
  1727. {
  1728. messageBox("서식의 항목이 선택되지 않았습니다. 왼쪽 서식에서 항목을 선택", "I008");
  1729. return;
  1730. }
  1731. var rowPos = item.index + 1;
  1732. var itemindxseq = model.getValue(sTREE_PATH+ "[" + rowPos + "]/itemindxseq");
  1733. var comnclspath = model.getValue(sTREE_PATH+ "[" + rowPos + "]/comnclspath");
  1734. model.setValue("/root/main/list/"+grdObj+"["+ curRow +"]/clsflag" ,"G");
  1735. model.setValue("/root/main/list/"+grdObj+"["+ curRow +"]/formcd" ,"");
  1736. model.setValue("/root/main/list/"+grdObj+"["+ curRow +"]/itembasecd","");
  1737. model.setValue("/root/main/list/"+grdObj+"["+ curRow +"]/itemindxseq",itemindxseq);
  1738. model.setValue("/root/main/list/"+grdObj+"["+ curRow +"]/comnclspath",comnclspath);
  1739. submit("TXMRF02401");
  1740. }
  1741. /**
  1742. * @desc : 새폴더 추가
  1743. * @
  1744. * @param :
  1745. * @return :
  1746. * @---------------------------------------------------
  1747. */
  1748. function fAddComnSet()
  1749. {
  1750. //fSetTreeView();
  1751. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  1752. if(item == null)
  1753. {
  1754. return;
  1755. }
  1756. var rowPos = item.index + 1;
  1757. model.makeValue("/root/send/savedata/status", "i");
  1758. fSetDiagInfo(rowPos, "i");
  1759. model.setValue(sSETLIST_HIDDEN + "/status", "i");
  1760. model.setValue("/root/main/iptbox/indxnm", "");
  1761. model.refresh();
  1762. fShowWndIptBox();
  1763. }
  1764. /**
  1765. * @desc : 폴더 삭제
  1766. * @
  1767. * @param :
  1768. * @return :
  1769. * @---------------------------------------------------
  1770. */
  1771. function fDelComnSet()
  1772. {
  1773. //fSetTreeView();
  1774. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  1775. if(item == null)
  1776. {
  1777. return;
  1778. }
  1779. var rowPos = item.index + 1;
  1780. model.makeValue("/root/send/savedata/status", "d");
  1781. if(fSetDiagInfo(rowPos, "d")!= -1){
  1782. fSaveComnSet("Y");
  1783. }
  1784. }
  1785. /**
  1786. * @desc : 폴더 수정
  1787. * @
  1788. * @param :
  1789. * @return :
  1790. * @---------------------------------------------------
  1791. */
  1792. function fUpdtComnSet()
  1793. {
  1794. //fSetTreeView();
  1795. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  1796. if(item == null)
  1797. {
  1798. return;
  1799. }
  1800. var rowPos = item.index + 1;
  1801. var indxnm = item.label;
  1802. model.setValue("/root/main/iptbox/indxnm", indxnm);
  1803. model.refresh();
  1804. model.makeValue("/root/send/savedata/status", "u");
  1805. if(fSetDiagInfo(rowPos, "u")!=-1)
  1806. {
  1807. fShowWndIptBox();
  1808. }
  1809. }
  1810. /**
  1811. * @desc :My폴더 저장
  1812. * @
  1813. * @param :
  1814. * @return :
  1815. * @---------------------------------------------------
  1816. */
  1817. function fSaveComnSet(linkflag, setflag)
  1818. {
  1819. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  1820. if(item == null)
  1821. {
  1822. return;
  1823. }
  1824. var rowPos = item.index + 1;
  1825. var itemindxnm = model.getValue(sTREE_PATH+ "[" + rowPos + "]/indxnm");
  1826. var itemsrchyn = model.getValue(sTREE_PATH+ "[" + rowPos + "]/srchyn");
  1827. var itemsrcformcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/srcformcd");
  1828. var itemformcd = model.getValue(sTREE_PATH+ "[" + rowPos + "]/formcd");
  1829. var itemdepth = model.getValue(sTREE_PATH+ "[" + rowPos + "]/depth");
  1830. linkflag = model.getValue(sTREE_PATH+ "[" + rowPos + "]/linkflag");
  1831. var status = model.getValue("/root/send/savedata/status");
  1832. grup_saveas.visible = "false";
  1833. var indxnm = model.getValue("/root/main/iptbox/indxnm");
  1834. var refNode = "";
  1835. var subNode = "";
  1836. if (linkflag == "N" && indxnm == "") {
  1837. messageBox("폴더명칭을 ", "C001");
  1838. return;
  1839. }
  1840. model.makeValue(sSETLIST_HIDDEN + "/indxnm" , indxnm);
  1841. model.makeValue(sSETLIST_HIDDEN + "/linkflag" , linkflag);
  1842. model.makeValue(sSETLIST_HIDDEN + "/setflag" , model.getValue("/root/send/cond/setflag"));
  1843. model.makeValue(sSETLIST_HIDDEN + "/comnflag" , "comnflag"); //상용구 구분
  1844. //개인, 과 구분
  1845. var setflag = model.getValue("/root/send/cond/setflag");
  1846. if(setflag != "")
  1847. {
  1848. if (setflag == "U") {
  1849. model.makeValue(sSETLIST_HIDDEN + "/userid", getUserId()); //
  1850. model.makeValue(sSETLIST_HIDDEN + "/deptcd", getUserInfo("dutplcecd"));
  1851. reqflag ="U";
  1852. }else if (setflag == "D") {
  1853. model.makeValue(sSETLIST_HIDDEN + "/userid", ""); //getUserId());
  1854. model.makeValue(sSETLIST_HIDDEN + "/deptcd", getUserInfo("dutplcecd"));
  1855. reqflag ="D";
  1856. }else if (setflag == "A") {
  1857. model.makeValue(sSETLIST_HIDDEN + "/userid", getUserId());
  1858. model.makeValue(sSETLIST_HIDDEN + "/deptcd", getUserInfo("dutplcecd"));
  1859. reqflag ="A";
  1860. }
  1861. }
  1862. // model.makeValue(sSETLIST_HIDDEN + "/userid" , getUserId());
  1863. // model.makeValue(sSETLIST_HIDDEN + "/deptcd" , getUserInfo("dutplcecd"));
  1864. model.MakeNode("/root/send/savedata");
  1865. model.copyNode("/root/send/savedata", sSETLIST_HIDDEN);
  1866. var comnseq = "";
  1867. var formcd = "";
  1868. if(item.value.substr(0, 1) == "M" && status != "i") // 폴더 수정 및 삭제시 My폴더인 경우
  1869. {
  1870. var tmpcomnseq = item.value;
  1871. comnseq = tmpcomnseq.setReplaceWord("M", "");
  1872. }
  1873. if(item.value.substr(0, 1) == "D" && status != "i") // 폴더 수정 및 삭제시 주호소인 경우
  1874. {
  1875. var tmpcomnseq = item.value;
  1876. comnseq = tmpcomnseq.setReplaceWord("D", "");
  1877. }
  1878. if(item.value.substr(0, 1) == "M" && itemdepth < 3)
  1879. formcd = "M000000000";
  1880. else if(item.value.substr(0, 1) == "D" && itemdepth < 3)
  1881. formcd = "0000000901";
  1882. else
  1883. formcd = model.getValue(sTREE_PATH+"["+rowPos+"]/formcd");
  1884. var sClsFlag = "";
  1885. var suplabel = "";
  1886. /*
  1887. if(status == "i")
  1888. {
  1889. if(itemdepth == 1)
  1890. suplabel = item.label;
  1891. else if(itemdepth == 2)
  1892. suplabel = item.parent.label;
  1893. }
  1894. if(status == "u" || status == "d")
  1895. {
  1896. if(itemdepth == 2)
  1897. suplabel = item.parent.label;
  1898. }
  1899. if(suplabel == "My폴더")
  1900. sClsFlag = "G";
  1901. else
  1902. sClsFlag = model.getValue(sTREE_PATH+"["+rowPos+"]/clsflag");
  1903. */
  1904. if(item.value.substr(0, 1) == "M" // My 폴더
  1905. || item.value == "0000000901" // 주호소
  1906. || item.value.substr(0, 1) == "D") // 주호소
  1907. sClsFlag = "G";
  1908. else
  1909. sClsFlag = model.getValue(sTREE_PATH+"["+rowPos+"]/clsflag");
  1910. //model.makeValue("/root/send/savedata/itemindxseq",model.getValue(sTREE_PATH+ "[" + rowPos + "]/itemindxseq"));
  1911. //model.makeValue("/root/send/savedata/supitemindxseq",model.getValue(sTREE_PATH+ "[" + rowPos + "]/itemindxseq"));
  1912. ////////////////////////
  1913. var sSaveData = "m▦instcd▦comnseq▦comnchosflag▦clsflag▦itemindxseq▦comnclspath▦formcd▦itembasecd▦deptcd▦userid▦reprnm▦comncnts▦reqflag▩";
  1914. var reprnm = "";
  1915. //var status = model.getValue("/root/send/savedata/status");
  1916. var comncnts = indxnm;
  1917. var itemindxseq = "";
  1918. if(sClsFlag == "G")
  1919. itemindxseq = "-100";
  1920. else
  1921. itemindxseq = model.getValue("/root/send/savedata/itemindxseq");
  1922. var indxflag = model.getValue("/root/send/savedata/indxflag");
  1923. var itembasecd = "";
  1924. var degnitemcd = ""; //model.getValue("/root/send/savedata/degnitemcd");
  1925. var comnclspath = ""; //model.getValue("/root/send/savedata/comnclspath");
  1926. var setflag = model.getValue("/root/send/savedata/setflag");
  1927. var userid = model.getValue("/root/send/savedata/userid");
  1928. var deptcd = model.getValue("/root/send/savedata/deptcd");
  1929. sSaveData += status + "▦"
  1930. + "▦"
  1931. + comnseq +"▦"
  1932. + "C" +"▦"
  1933. + sClsFlag + "▦"
  1934. + itemindxseq +"▦"
  1935. + comnclspath +"▦"
  1936. + formcd +"▦"
  1937. + itembasecd +"▦"
  1938. + deptcd +"▦"
  1939. + userid +"▦"
  1940. + reprnm +"▦"
  1941. + comncnts +"▦"
  1942. + setflag +"▩";
  1943. model.removenode("/root/send/savedata");
  1944. model.makeValue("/root/send/savedata", sSaveData);
  1945. /////////////////////
  1946. if(status == "d")
  1947. {
  1948. if(itemdepth == 2)
  1949. comncnts = item.parent.label;
  1950. }
  1951. if(submit("TXMRF02701"))
  1952. {
  1953. fChangeSetFlag(comncnts, itemsrcformcd, status);
  1954. var instance = document.models(0).instances(0);
  1955. var node = root.main.indxlist_u;
  1956. if(sClsFlag == "G")
  1957. {
  1958. // My 폴더 찾기
  1959. for(var row=1; row<=getNodesetCnt(model, sTREE_PATH); row++){
  1960. //if(model.getValue(sTREE_PATH+"["+row+"]/indxnm") == "My폴더"){
  1961. if(model.getValue(sTREE_PATH+"["+row+"]/seq") == "M000000000"){
  1962. refNode = instance.selectSingleNode(sTREE_PATH+"[" + row + "]"); //조회내용의 상위 항목
  1963. break;
  1964. }
  1965. }
  1966. // 하위 항목으로 연결
  1967. //My폴더 하위에 붙일 노드 만들기
  1968. /*
  1969. model.removeNodeset(sTREE_PATH + "[indxnm != 'My폴더' and clsflag = '"+sClsFlag+"']");
  1970. // My 폴더 찾기
  1971. for(var row=1; row<=getNodesetCnt(model, sTREE_PATH); row++){
  1972. if(model.getValue(sTREE_PATH+"["+row+"]/indxnm") == "My폴더"){
  1973. refNode = instance.selectSingleNode(sTREE_PATH+"[" + row + "]"); //조회내용의 상위 항목
  1974. break;
  1975. }
  1976. }
  1977. var nodelistTmp = instance.selectNodes(sSETLIST);
  1978. var nodelength = nodelistTmp.length;
  1979. if(nodelength > 0){
  1980. for(var i = nodelength; i > 0; i--)
  1981. {
  1982. subNode = instance.selectSingleNode(sSETLIST+"[" + i + "]");
  1983. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  1984. }
  1985. }
  1986. */
  1987. }
  1988. else if(sClsFlag == "B")
  1989. {
  1990. //model.removeNodeset(sTREE_PATH+"[indxnm != '주호소' and clsflag = '"+sClsFlag+"']");
  1991. model.removeNodeset(sTREE_PATH+"[seq != '0000000901' and clsflag = '"+sClsFlag+"']");
  1992. // 주호소
  1993. for(var row=1; row<=getNodesetCnt(model, sTREE_PATH); row++)
  1994. {
  1995. //if(model.getValue(sTREE_PATH+"["+row+"]/indxnm") == "주호소")
  1996. if(model.getValue(sTREE_PATH+"["+row+"]/seq") == "0000000901")
  1997. {
  1998. refNode = instance.selectSingleNode(sTREE_PATH+"[" + row + "]"); //조회내용의 상위 항목
  1999. break;
  2000. }
  2001. }
  2002. var nodelistTmp = instance.selectNodes(sSETLIST);
  2003. var nodelength = nodelistTmp.length;
  2004. if(nodelength > 0)
  2005. {
  2006. for(var i = nodelength; i > 0; i--)
  2007. {
  2008. subNode = instance.selectSingleNode(sSETLIST+"[" + i + "]");
  2009. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  2010. }
  2011. }
  2012. }
  2013. else if(sClsFlag == "A")
  2014. {
  2015. model.removeNodeset(sTREE_PATH+"[indxnm != 'Summary' and clsflag = '"+sClsFlag+"']");
  2016. // Summary
  2017. for(var row=1; row<=getNodesetCnt(model, sTREE_PATH); row++){
  2018. if(model.getValue(sTREE_PATH+"["+row+"]/indxnm") == "Summary"){
  2019. refNode = instance.selectSingleNode(sTREE_PATH+"[" + row + "]"); //조회내용의 상위 항목
  2020. break;
  2021. }
  2022. }
  2023. var nodelistTmp = instance.selectNodes(sSETLIST);
  2024. var nodelength = nodelistTmp.length;
  2025. if(nodelength > 0)
  2026. {
  2027. for(var i = nodelength; i > 0; i--)
  2028. {
  2029. subNode = instance.selectSingleNode(sSETLIST+"[" + i + "]");
  2030. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  2031. }
  2032. }
  2033. }
  2034. }
  2035. model.removeNodeset("/root/send/savedata");
  2036. model.refresh();
  2037. }
  2038. /**
  2039. * @desc : 상용구관리 폴더명을 입력할 InputBox를 보여줌.
  2040. * @
  2041. * @param :
  2042. * @return :
  2043. * @---------------------------------------------------
  2044. */
  2045. function fShowWndIptBox(flag){
  2046. //sTREE_OBJ.vscroll.attribute("pos") = ( parseInt(sTREE_OBJ.attribute("itemheight")) + 1 ) * sTREE_OBJ.selectedIndex;
  2047. grup_saveas.attribute("top") = event.clientY;
  2048. grup_saveas.visible = "true";
  2049. // 팝업창으로 포커스 이동
  2050. model.setFocus("input1");
  2051. }
  2052. /**
  2053. * @desc : 상용구 SET 조회
  2054. * @
  2055. * @param :
  2056. * @return :
  2057. * @---------------------------------------------------
  2058. */
  2059. function fReqDetlSet(){
  2060. //fSetTreeView();
  2061. if (sTREE_OBJ.selectedIndex == 0) {
  2062. return;
  2063. }
  2064. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  2065. if(item == null)
  2066. {
  2067. return;
  2068. }
  2069. //alert(item);
  2070. var rowpos = item.index + 1;
  2071. fSetDiagInfo(rowpos);
  2072. var depth = model.getValue(sSETLIST_HIDDEN + "/depth");
  2073. if(depth == 1){
  2074. return;
  2075. }
  2076. }
  2077. /**
  2078. * @desc : Mouse Drag Drop
  2079. * @
  2080. * @param :
  2081. * @return : void
  2082. * @authur :
  2083. * @---------------------------------------------------
  2084. */
  2085. function fOndrop(flag){
  2086. //fSetTreeView(flag);
  2087. var rowpos = sTREE_OBJ.mouseRow + 1;
  2088. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  2089. var indxnm = model.getValue(sSETLIST + "[" + rowpos + "]/indxnm");
  2090. var x = event.clientX;
  2091. var maxposX = 24 + 16 * (depth - 1) + ( 13 * indxnm.length);
  2092. var minposX = 24 + 16 * (depth - 1);
  2093. if(maxposX > x){
  2094. fComnSetDrop();
  2095. }else{
  2096. return;
  2097. }
  2098. }
  2099. /**
  2100. * @desc : Mouse Drag Over
  2101. * @
  2102. * @param :
  2103. * @return : void
  2104. * @authur :
  2105. * @---------------------------------------------------
  2106. */
  2107. function fMouseOver(){
  2108. //fSetTreeView();
  2109. var rowpos = sTREE_OBJ.mouseRow + 1;
  2110. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  2111. var indxnm = model.getValue(sSETLIST + "[" + rowpos + "]/indxnm");
  2112. var x = event.clientX;
  2113. var maxposX = 24 + 16 * (depth - 1) + ( 10 * indxnm.length);
  2114. var minposX = 24 + 16 * (depth - 1);
  2115. if(maxposX > x){
  2116. for ( var i = 0; i < sTREE_OBJ.length; i++ ) {
  2117. sTREE_OBJ.item(i).attribute("background-color") = "#ffffff";
  2118. sTREE_OBJ.item(i).attribute("text-decoration") = "";
  2119. }
  2120. sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("background-color") = "#ece1ec";
  2121. sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("text-decoration") = "";
  2122. }
  2123. }
  2124. /**
  2125. * @desc : TreeView에 Drag상태로 Mouse over된 경우 item의 background color를 clear함
  2126. * @
  2127. * @param :
  2128. * @return : void
  2129. * @authur :
  2130. * @---------------------------------------------------
  2131. */
  2132. function fOnDragMouseOver(flag){
  2133. //fSetTreeView(flag);
  2134. var treeObj = document.controls.item(event.currentTarget);
  2135. var rowpos = sTREE_OBJ.mouseRow + 1;
  2136. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  2137. var indxnm = model.getValue(sSETLIST + "[" + rowpos + "]/indxnm");
  2138. var x = event.clientX;
  2139. var maxposX = 24 + 16 * (depth - 1) + ( 10 * indxnm.length);
  2140. var minposX = 24 + 16 * (depth - 1);
  2141. if(maxposX > x){
  2142. if( sTREE_OBJ.selectedIndex != treeObj.mouseRow ) {
  2143. for ( var i = 0; i < treeObj.length; i++ ) {
  2144. treeObj.item(i).attribute("background-color") = "#ffffff";
  2145. treeObj.item(i).attribute("text-decoration") = "";
  2146. }
  2147. treeObj.item(treeObj.mouseRow).attribute("background-color") = "#ece1ec";
  2148. treeObj.item(treeObj.mouseRow).attribute("text-decoration") = "";
  2149. }
  2150. }
  2151. }
  2152. /**
  2153. * @desc : 상용구 SET Drag
  2154. * @
  2155. * @param :
  2156. * @return :
  2157. * @---------------------------------------------------
  2158. */
  2159. function fComnSetDrag(flag){
  2160. //fSetTreeView(flag);
  2161. if (sTREE_OBJ.selectedIndex == 0) {
  2162. return;
  2163. }
  2164. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  2165. var rowpos = item.index + 1;
  2166. fSetDiagInfo(rowpos, "u");
  2167. var indxnm = model.getValue(sSETLIST + "[" + rowpos + "]/indxnm");
  2168. model.setValue("/root/main/iptbox/indxnm", indxnm);
  2169. model.refresh();
  2170. }
  2171. /**
  2172. * @desc : 상용구 SET Drop
  2173. * @
  2174. * @param :
  2175. * @return :
  2176. * @---------------------------------------------------
  2177. */
  2178. function fComnSetDrop(){
  2179. //fSetTreeView();
  2180. fClrTreeViweSelect();
  2181. var admin = model.getValue("/root/send/cond/admin");
  2182. var setflag = model.getValue("/root/send/cond/setflag");
  2183. var treeObj = document.controls.item(event.currentTarget);
  2184. var rowpos = sTREE_OBJ.mouseRow + 1;
  2185. var depth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  2186. var itemindxseq = model.getValue(sSETLIST + "[" + rowpos + "]/itemindxseq");
  2187. var supitemindxseq = model.getValue(sSETLIST + "[" + rowpos + "]/supitemindxseq");
  2188. var linkflag = model.getValue(sSETLIST + "[" + rowpos + "]/linkflag");
  2189. var cmpdepth = model.getValue(sSETLIST_HIDDEN + "/depth");
  2190. var cmpitemindxseq = model.getValue(sSETLIST_HIDDEN + "/itemindxseq");
  2191. var cmpsupitemindxseq = model.getValue(sSETLIST_HIDDEN + "/supitemindxseq");
  2192. var cmplinkflag = model.getValue(sSETLIST_HIDDEN + "/linkflag");
  2193. // 이동하는 폴더가 파일 아래로 이동하는것 방지함.
  2194. if(linkflag == "Y"){
  2195. messageBox("폴더가 아닌 위치로 이동", "E001");
  2196. sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("background-color") = "#ffffff";
  2197. sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("text-decoration") = "";
  2198. return;
  2199. }
  2200. if(itemindxseq == cmpitemindxseq){
  2201. // messageBox("동일한 위치로 이동", "E001");
  2202. sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("background-color") = "#ffffff";
  2203. sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("text-decoration") = "";
  2204. return;
  2205. }else if(itemindxseq == cmpsupitemindxseq){
  2206. // 같은 과, 같은 사용자가 아니면 이동이 안됨. (why? with문 update가 안되니까..)
  2207. // if (deptcd != cmpdeptcd || userid != cmpuserid) {
  2208. // messageBox("지정된 위치로 이동", "E001");
  2209. // sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("background-color") = "#ffffff";
  2210. // sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("text-decoration") = "";
  2211. // return;
  2212. // }
  2213. }
  2214. //이동하는 SET폴더의 depth가 도착하는 곳보다 낮은 레벨일 경우,
  2215. //자신의 child node 아래로 이동하는 것을 방지함.
  2216. if(cmpdepth < depth){
  2217. var rootdepth;
  2218. var rootitemindxseq;
  2219. while(cmpdepth != rootdepth){
  2220. rootdepth = model.getValue(sSETLIST + "[" + rowpos + "]/depth");
  2221. rootitemindxseq = model.getValue(sSETLIST + "[" + rowpos + "]/itemindxseq");
  2222. rowpos--;
  2223. }
  2224. if(rootitemindxseq == cmpitemindxseq){
  2225. messageBox("지정된 위치로 이동", "E001");
  2226. sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("background-color") = "#ffffff";
  2227. sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("text-decoration") = "";
  2228. return;
  2229. }
  2230. }
  2231. // 이동 폴더의 (과, 사용자) 정보, 이동 대상의 (과, 사용자) 정보
  2232. var deptcd = model.getValue(sSETLIST + "[" + rowpos + "]/deptcd");
  2233. var userid = model.getValue(sSETLIST + "[" + rowpos + "]/userid");
  2234. var cmpdeptcd = model.getValue(sSETLIST_HIDDEN + "/deptcd");
  2235. var cmpuserid = model.getValue(sSETLIST_HIDDEN + "/userid");
  2236. // 같은 과, 같은 사용자가 아니면 이동이 안됨. (why? with문 update가 안되니까..)
  2237. if (deptcd != cmpdeptcd || userid != cmpuserid) {
  2238. messageBox("지정된 위치로 이동", "E001");
  2239. sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("background-color") = "#ffffff";
  2240. sTREE_OBJ.item(sTREE_OBJ.mouseRow).attribute("text-decoration") = "";
  2241. return;
  2242. }
  2243. // 이동 폴더의 (과, 사용자) 정보를 셋함...
  2244. model.setValue(sSETLIST_HIDDEN + "/deptcd" , deptcd);
  2245. model.setValue(sSETLIST_HIDDEN + "/userid" , userid);
  2246. model.setValue(sSETLIST_HIDDEN + "/supitemindxseq" , itemindxseq);
  2247. fSaveComnSet("Y");
  2248. }
  2249. /**
  2250. * @desc : 폴더명 검색할 경우 검색한 위치로 focus를 이동한다.
  2251. * @
  2252. * @param :
  2253. * @return : void
  2254. * @authur :
  2255. * @---------------------------------------------------
  2256. */
  2257. function fSrchDiagIndxNM(){
  2258. //fSetTreeView();
  2259. var sFolderNM = model.getValue("/root/temp/cond/exmpclsnm");
  2260. if (sTREE_OBJ.selectedIndex+1 == sTREE_OBJ.length) {
  2261. sTREE_OBJ.selectedIndex = 0;
  2262. }
  2263. for(var i=sTREE_OBJ.selectedIndex+1; i<sTREE_OBJ.length;i++){
  2264. sTREE_OBJ.select(i);
  2265. if(sFolderNM == sTREE_OBJ.label){
  2266. break;
  2267. }
  2268. }
  2269. // fReqDetlSet();
  2270. }
  2271. /**
  2272. * @desc : TreeView 선택된 item의 background color를 clear함
  2273. * @
  2274. * @param :
  2275. * @return : void
  2276. * @authur :
  2277. * @---------------------------------------------------
  2278. */
  2279. function fClrTreeViweSelect(){
  2280. //fSetTreeView();
  2281. for(var i = 0; i < sTREE_OBJ.length; i++){
  2282. sTREE_OBJ.item(i).attribute("background-color") = "#ffffff";
  2283. sTREE_OBJ.item(i).attribute("text-decoration") = "";
  2284. }
  2285. }
  2286. /**
  2287. * @desc : 상용구 SET INFO SETTING
  2288. * @
  2289. * @param :
  2290. * @return :
  2291. * @---------------------------------------------------
  2292. */
  2293. function fSetDiagInfo(rowpos, status){
  2294. var depth = model.getValue(sTREE_PATH + "[" + rowpos + "]/depth");
  2295. var indxnm = model.getValue(sTREE_PATH + "[" + rowpos + "]/indxnm");
  2296. var seq = model.getValue(sTREE_PATH + "[" + rowpos + "]/seq");
  2297. //if(status == "u" && depth == 1 && (indxnm =="My폴더" || indxnm =="주호소" || indxnm =="Summary")){
  2298. if(status == "u" && depth == 1 && (seq == "M000000000" || seq =="0000000901"))
  2299. {
  2300. //messageBox("선택한 폴더는 수정", "E001");
  2301. return -1;
  2302. }//else if(status == "d" && depth == 1 && (indxnm =="My폴더" || indxnm =="주호소" || indxnm =="Summary")){
  2303. else if(status == "d" && depth == 1 && (seq == "M000000000" || seq =="0000000901"))
  2304. {
  2305. //messageBox("선택한 폴더는 삭제", "E001");
  2306. return -1;
  2307. }
  2308. var depth = model.getValue(sTREE_PATH + "[" + rowpos + "]/depth");
  2309. var path = model.getValue(sTREE_PATH + "[" + rowpos + "]/path");
  2310. var itemindxseq = model.getValue(sTREE_PATH + "[" + rowpos + "]/itemindxseq");
  2311. var supitemindxseq = model.getValue(sTREE_PATH + "[" + rowpos + "]/supitemindxseq");
  2312. var linkflag = model.getValue(sTREE_PATH + "[" + rowpos + "]/linkflag");
  2313. var indxnm = model.getValue(sTREE_PATH + "[" + rowpos + "]/indxnm");
  2314. var indxflag = "";
  2315. var clsflag = model.getValue(sTREE_PATH + "[" + rowpos + "]/clsflag");
  2316. //if(indxnm =="My폴더"){
  2317. if(seq == "M000000000"){
  2318. indxflag = "C";
  2319. clsflag = "G";
  2320. //}else if(indxnm =="주호소"){
  2321. }else if(seq =="0000000901"){
  2322. indxflag = "B";
  2323. clsflag = "B";
  2324. }
  2325. /*else if(indxnm =="Summary"){
  2326. indxflag = "A";
  2327. clsflag = "A";
  2328. }
  2329. */
  2330. var tmpStr = path.split(".");
  2331. if(tmpStr[0] == "5") // My폴더
  2332. {
  2333. indxflag = "C";
  2334. clsflag = "G";
  2335. }
  2336. else if(tmpStr[0] == "4") // 주호소
  2337. {
  2338. indxflag = "B";
  2339. clsflag = "B";
  2340. }
  2341. //alert("="+depth+"="+path+indxnm);
  2342. model.makeValue(sSETLIST_HIDDEN + "/status" , status);
  2343. model.makeValue(sSETLIST_HIDDEN + "/depth" , depth);
  2344. model.makeValue(sSETLIST_HIDDEN + "/path" , path);
  2345. model.makeValue(sSETLIST_HIDDEN + "/itemindxseq" , itemindxseq);
  2346. // supitemindxseq : 새로운 등록이면 상위정보, 수정이면 기존정보
  2347. if(status == "i"){
  2348. model.makeValue(sSETLIST_HIDDEN + "/supitemindxseq", itemindxseq);
  2349. }else{
  2350. model.makeValue(sSETLIST_HIDDEN + "/supitemindxseq", supitemindxseq);
  2351. }
  2352. //연결구분이 'Y' 인 경우 : 서식명칭에 값을 넣지 않는다.. (2007.06.12)
  2353. if (linkflag == "N" || linkflag == "X") {
  2354. model.makeValue(sSETLIST_HIDDEN + "/indxnm" , indxnm);
  2355. } else {
  2356. model.makeValue(sSETLIST_HIDDEN + "/indxnm" , "");
  2357. }
  2358. //model.makeValue(sSETLIST_HIDDEN + "/linkflag" , "N");
  2359. model.makeValue(sSETLIST_HIDDEN + "/linkflag" , linkflag);
  2360. model.makeValue(sSETLIST_HIDDEN + "/linkcd" , "");
  2361. // 상위 정보 (사용자, 과)
  2362. var userid = model.getValue(sSETLIST + "[" + rowpos + "]/userid");
  2363. var deptcd = model.getValue(sSETLIST + "[" + rowpos + "]/deptcd");
  2364. model.makeValue(sSETLIST_HIDDEN + "/userid" , userid);
  2365. model.makeValue(sSETLIST_HIDDEN + "/deptcd" , deptcd);
  2366. // 기본 정보
  2367. model.makeValue(sSETLIST_HIDDEN + "/instcd" , getUserInfo("posinstcd"));
  2368. model.makeValue(sSETLIST_HIDDEN + "/indxflag" , indxflag);
  2369. model.makeValue(sSETLIST_HIDDEN + "/clsflag" , clsflag);
  2370. model.makeValue(sSETLIST_HIDDEN + "/valiyn" , "Y");
  2371. model.makeValue(sSETLIST_HIDDEN + "/sortno" , 1000);
  2372. model.makeValue(sSETLIST_HIDDEN + "/slipno" , 0);
  2373. model.makeValue(sSETLIST_HIDDEN + "/comnseq" , 0);
  2374. // 사용자 정보(관리자, 일반사용자)
  2375. // 구분 정보(개인,과,전체)
  2376. var admin = model.getValue("/root/send/cond/admin");
  2377. var setflag = model.getValue("/root/send/cond/setflag");
  2378. model.makeValue(sSETLIST_HIDDEN + "/admin" , admin);
  2379. model.makeValue(sSETLIST_HIDDEN + "/setflag" , setflag);
  2380. model.refresh();
  2381. }
  2382. /**
  2383. * @desc : 폴더명 검색할 경우 검색한 위치로 focus를 이동한다.
  2384. * @
  2385. * @param :
  2386. * @return : void
  2387. * @authur :
  2388. * @---------------------------------------------------
  2389. */
  2390. function fSrchFolder(flag){
  2391. if(flag =="C"){
  2392. var foldernm = model.getValue("/root/temp/cond/comnclsnm");
  2393. var seq = model.getValue("/root/main/indxlist_u/item[ indxnm ='" + foldernm + "']/seq");
  2394. model.setValue("/root/main/indxlist_comn/item",seq);
  2395. }
  2396. model.refresh();
  2397. fReqComnIndx(flag);
  2398. }
  2399. /**
  2400. * @desc : 상용구폴더명 검색
  2401. * @
  2402. * @param :
  2403. * @return : void
  2404. * @authur :
  2405. * @---------------------------------------------------
  2406. */
  2407. function fComnPopup(chosflag){
  2408. setParameter("reprnm",model.getValue("/root/temp/cond/comnnm"));
  2409. // 상용구관리에서 팝업 띄울때..
  2410. setParameter("mode","mgr");
  2411. if(chosflag == "C"){
  2412. modal("SPMRF03400", 1,10, 10, "SPMRF03400", "/root/temp/cond/comnnm", "/root/temp/cond/comnnm");
  2413. }else if(chosflag == "E"){
  2414. modal("SPMRF03500", 1,10, 10, "SPMRF03500", "/root/temp/cond/exmpnm", "/root/temp/cond/exmpnm");
  2415. }
  2416. var clsflag = getParameter("clsflag");
  2417. //alert(clsflag);
  2418. var seq = getParameter("seq");
  2419. //alert(seq);
  2420. if(clsflag =="F"){
  2421. if(seq !=""){
  2422. var srcformcd = seq.substr(0,10);
  2423. var itembasecd = seq.substr(11,17);
  2424. model.makeValue("/root/send/grddata/formcd",srcformcd);
  2425. model.makeValue("/root/send/grddata/itembasecd",itembasecd);
  2426. var com = model.getValue("/root/hidden/reqyn/com"); //조회 여부 입력
  2427. var prof = model.getValue("/root/hidden/reqyn/prof"); //조회 여부 입력
  2428. // 공통서식,제증명 둘다 조회 된 경우면 submit 안함
  2429. var bool = true;
  2430. if(com == "Y" && prof == "Y"){
  2431. bool = false;
  2432. }
  2433. var curRec = instance1.selectSingleNode("/root/main/indxlist_u/item[indxnm = '외래초진기록' ]");
  2434. var reqRec = instance1.selectSingleNode("/root/main/list/item[indxnm = '외래초진기록']");
  2435. var curProf = instance1.selectSingleNode("/root/main/indxlist_u/item[indxnm = '진단서' ]");
  2436. var reqProf = instance1.selectSingleNode("/root/main/list/item[indxnm = '진단서']");
  2437. if(bool){
  2438. submit("TRMRF02405");
  2439. }
  2440. // 공통서식,제증명 추가된경우 추가안됨
  2441. var comprof = model.getValue("/root/main/list/comprof/comprof");
  2442. if( comprof =="com" && curRec == null){
  2443. fAddDepthPopup();
  2444. }else if( comprof =="prof" && curProf == null){
  2445. fAddDepthPopup();
  2446. }
  2447. // 조회된 트리 펼치기
  2448. model.setValue("/root/main/indxlist_comn/item",seq);
  2449. model.refresh();
  2450. // 검색된 폴더명 으로 상용구 조회
  2451. fReqComnIndx("C");
  2452. }
  2453. }
  2454. }
  2455. /**
  2456. * @desc : 모든 상용구의 하위 depth 붙이기
  2457. * @
  2458. * @param :
  2459. * @return :
  2460. * @Histoty: 상용구를 찾아갈때 indxnm 이 아닌 seq로 찾아가게 변경함.
  2461. * @---------------------------------------------------
  2462. */
  2463. function fAddDepth2()
  2464. {
  2465. var subNode = "";
  2466. var instance = document.models(0).instances(0);
  2467. var refNode;
  2468. var nextNode;
  2469. var nodelistTmp = instance.selectNodes(sSETLIST);
  2470. var nodelength = nodelistTmp.length;
  2471. var node = root.main.indxlist_u;
  2472. // 과별 서식
  2473. var deptcd = "";
  2474. var setflag = model.getValue("/root/send/cond/setflag");
  2475. if (setflag == "E") {
  2476. deptcd = model.getValue("/root/send/reformlist/deptcd")
  2477. }
  2478. else
  2479. deptcd = getUserInfo("dutplcecd");
  2480. var destNode = findNode(model, "/root/main/indxlist_u/item[depth='1' and deptcd='" + deptcd + "']");
  2481. //var indxnm = "";
  2482. var seq = "";
  2483. if(destNode != null)
  2484. //indxnm = destNode.selectSingleNode("indxnm").text;
  2485. seq = destNode.selectSingleNode("seq").text;
  2486. for(var row=1; row<=getNodesetCnt(model, sTREE_PATH); row++){
  2487. if(model.getValue(sTREE_PATH+"["+row+"]/seq") == seq){
  2488. refNode = instance.selectSingleNode(sTREE_PATH+"[" + row + "]"); //조회내용의 상위 항목
  2489. model.setValue(sTREE_PATH+ "[" + row + "]/srchyn","Y");
  2490. break;
  2491. }
  2492. }
  2493. if(nodelength > 0){
  2494. for(var i = nodelength; i > 0; i--)
  2495. {
  2496. if(model.getValue(sSETLIST+"["+i+"]/clsflag") == "A"){
  2497. subNode = instance.selectSingleNode(sSETLIST+"[" + i + "]");
  2498. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  2499. }
  2500. }
  2501. }
  2502. // 팀폴더
  2503. for(var row=1; row<=getNodesetCnt(model, sTREE_PATH); row++){
  2504. //if(model.getValue(sTREE_PATH+"["+row+"]/indxnm") == "공통서식"){
  2505. if(model.getValue(sTREE_PATH+"["+row+"]/seq") == "-2.1"){
  2506. refNode = instance.selectSingleNode(sTREE_PATH+"[" + row + "]"); //조회내용의 상위 항목
  2507. model.setValue(sTREE_PATH+ "[" + row + "]/srchyn","Y");
  2508. break;
  2509. }
  2510. }
  2511. // 공통서식
  2512. for(var row=1; row<=getNodesetCnt(model, sTREE_PATH); row++){
  2513. //if(model.getValue(sTREE_PATH+"["+row+"]/indxnm") == "공통서식"){
  2514. if(model.getValue(sTREE_PATH+"["+row+"]/seq") == "-2.0"){
  2515. refNode = instance.selectSingleNode(sTREE_PATH+"[" + row + "]"); //조회내용의 상위 항목
  2516. model.setValue(sTREE_PATH+ "[" + row + "]/srchyn","Y");
  2517. break;
  2518. }
  2519. }
  2520. // 진단서
  2521. for(var row=1; row<=getNodesetCnt(model, sTREE_PATH); row++){
  2522. //if(model.getValue(sTREE_PATH+"["+row+"]/indxnm") == "진단서"){
  2523. if(model.getValue(sTREE_PATH+"["+row+"]/seq") == "-2.2"){
  2524. refNode = instance.selectSingleNode(sTREE_PATH+"[" + row + "]"); //조회내용의 상위 항목
  2525. model.setValue(sTREE_PATH+ "[" + row + "]/srchyn","Y");
  2526. break;
  2527. }
  2528. }
  2529. if(nodelength > 0){
  2530. for(var i = nodelength; i > 0; i--)
  2531. {
  2532. if(model.getValue(sSETLIST+"["+i+"]/clsflag") == "A"){
  2533. subNode = instance.selectSingleNode(sSETLIST+"[" + i + "]");
  2534. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  2535. }
  2536. }
  2537. }
  2538. // 기타서식
  2539. for(var row=1; row<=getNodesetCnt(model, sTREE_PATH); row++){
  2540. //if(model.getValue(sTREE_PATH+"["+row+"]/indxnm") == "기타서식"){
  2541. if(model.getValue(sTREE_PATH+"["+row+"]/seq") == "-2.3"){
  2542. refNode = instance.selectSingleNode(sTREE_PATH+"[" + row + "]"); //조회내용의 상위 항목
  2543. model.setValue(sTREE_PATH+ "[" + row + "]/srchyn","Y");
  2544. break;
  2545. }
  2546. }
  2547. if(nodelength > 0){
  2548. for(var i = nodelength; i > 0; i--)
  2549. {
  2550. if(model.getValue(sSETLIST+"["+i+"]/clsflag") == "A"){
  2551. subNode = instance.selectSingleNode(sSETLIST+"[" + i + "]");
  2552. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  2553. }
  2554. }
  2555. }
  2556. // 주호소
  2557. for(var row=1; row<=getNodesetCnt(model, sTREE_PATH); row++){
  2558. //if(model.getValue(sTREE_PATH+"["+row+"]/indxnm") == "주호소"){
  2559. if(model.getValue(sTREE_PATH+"["+row+"]/seq") == "0000000901"){
  2560. refNode = instance.selectSingleNode(sTREE_PATH+"[" + row + "]"); //조회내용의 상위 항목
  2561. model.setValue(sTREE_PATH+ "[" + row + "]/srchyn","N");
  2562. break;
  2563. }
  2564. }
  2565. if(nodelength > 0){
  2566. for(var i = nodelength; i > 0; i--)
  2567. {
  2568. if(model.getValue(sSETLIST+"["+i+"]/clsflag") == "B"){
  2569. subNode = instance.selectSingleNode(sSETLIST+"[" + i + "]");
  2570. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  2571. }
  2572. }
  2573. }
  2574. // My 폴더
  2575. for(var row=1; row<=getNodesetCnt(model, sTREE_PATH); row++){
  2576. //if(model.getValue(sTREE_PATH+"["+row+"]/indxnm") == "My폴더"){
  2577. if(model.getValue(sTREE_PATH+"["+row+"]/seq") == "M000000000"){
  2578. refNode = instance.selectSingleNode(sTREE_PATH+"[" + row + "]"); //조회내용의 상위 항목
  2579. model.setValue(sTREE_PATH+ "[" + row + "]/srchyn","N");
  2580. break;
  2581. }
  2582. }
  2583. if(nodelength > 0){
  2584. for(var i = nodelength; i > 0; i--)
  2585. {
  2586. if(model.getValue(sSETLIST+"["+i+"]/clsflag") == "G"){
  2587. subNode = instance.selectSingleNode(sSETLIST+"[" + i + "]");
  2588. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  2589. }
  2590. }
  2591. }
  2592. sTREE_OBJ.rebuild();
  2593. }
  2594. /**
  2595. * @desc : 하위 depth 붙이기
  2596. * @
  2597. * @param :
  2598. * @return :
  2599. * @---------------------------------------------------
  2600. */
  2601. function fAddDepthPopup(rows, flag )
  2602. {
  2603. var subNode = "";
  2604. var instance = document.models(0).instances(0);
  2605. var refNode;
  2606. var nextNode;
  2607. var node = instance1.selectSingleNode("/root/main/indxlist_u");
  2608. if(flag){
  2609. //model.removeNodeset(sTREE_PATH+"[indxnm != 'My폴더' and clsflag = 'G']");
  2610. model.removeNodeset(sTREE_PATH+"[seq != 'M000000000' and clsflag = 'G']");
  2611. }
  2612. var comprof = model.getValue("/root/main/list/comprof/comprof");
  2613. var indxnm = "";
  2614. var seq = "";
  2615. if(comprof == "com"){
  2616. //indxnm = "공통서식";
  2617. seq = "-2.0";
  2618. }else if( comprof == "prof"){
  2619. //indxnm = "진단서";
  2620. seq = "-2.2";
  2621. }else if( comprof == "spcl"){
  2622. //indxnm = model.getValue("/root/main/list/item[depth='1']/indxnm");
  2623. seq = model.getValue("/root/main/list/item[depth='1']/seq");
  2624. }
  2625. // indxlist_u 에서 formcd에 해당하는 item을 찾는다.
  2626. // formcd 얻기
  2627. var nodelistTmp = instance.selectNodes("/root/main/list/item[depth='3']" );
  2628. var itemNode = "";
  2629. var formcd = "";
  2630. if(nodelistTmp == null)
  2631. return;
  2632. else
  2633. {
  2634. if(nodelistTmp.length > 0)
  2635. {
  2636. itemNode = nodelistTmp.item(0);
  2637. formcd = itemNode.selectSingleNode("formcd").text;
  2638. refNode = instance1.selectSingleNode(sTREE_PATH + "[formcd='" +formcd +"']"); //조회내용의 상위 항목
  2639. if(refNode != null)
  2640. {
  2641. refNode.selectSingleNode("srchyn").text = "Y";
  2642. // 첫번째 노드는 복사할 필요가 없으므로 인덱스는 1부터 시작
  2643. //for(var i=1; i < nodelistTmp.length; i++)
  2644. for(var i = nodelistTmp.length; i > 0; i--)
  2645. {
  2646. subNode = nodelistTmp.item(i-1);
  2647. if(subNode != null)
  2648. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  2649. }
  2650. sTREE_OBJ.rebuild();
  2651. model.makeValue("/root/hidden/reqyn/"+comprof , "Y"); //조회 여부 입력
  2652. }
  2653. }
  2654. }
  2655. }
  2656. /**
  2657. * @desc : 폴더 수정시
  2658. * @
  2659. * @param :
  2660. * @return :
  2661. * @---------------------------------------------------
  2662. */
  2663. function fChangedGridRow(){
  2664. var iRow = sTREE_OBJ.row;
  2665. var iStatus = sTREE_OBJ.rowStatus(iRow);
  2666. var indxnm = model.getValue(sTREE_PATH+"["+iRow+"]/indxnm");
  2667. var oldindxnm = model.getValue(sTREE_PATH+"["+iRow+"]/oldindxnm");
  2668. if(indxnm == ""){
  2669. model.setValue(sTREE_PATH+"["+iRow+"]/indxnm", oldindxnm);
  2670. indxnm = oldindxnm;
  2671. }
  2672. if(iStatus == 0){
  2673. if(indxnm != oldindxnm){
  2674. sTREE_OBJ.rowStatus(iRow) = 2;
  2675. }
  2676. }
  2677. }
  2678. function fChangeSetFlag(sCnts, itemsrcformcd, status)
  2679. {
  2680. model.removeNodeset("/root/main/indxlist/item");
  2681. model.removeNodeset("/root/hidden/indxlist/item");
  2682. model.removeNodeset("/root/main/indxlist_u/item");
  2683. model.removeNodeset("/root/main/list");
  2684. model.makeValue("/root/send/cond/caseflag", "C");
  2685. model.makeValue("/root/send/cond/chosflag", "folder");
  2686. var setflag = model.getValue("/root/send/cond/setflag");
  2687. if(setflag == "U")
  2688. {
  2689. model.makeValue("/root/send/cond/setflag", "U");
  2690. model.makeValue("/root/send/cond/userid", "");
  2691. model.makeValue("/root/send/cond/deptcd", getUserInfo("dutplcecd"));
  2692. }
  2693. else if(setflag == "D")
  2694. {
  2695. model.makeValue("/root/send/cond/setflag", "D");
  2696. model.makeValue("/root/send/cond/userid", "");
  2697. model.makeValue("/root/send/cond/deptcd", getUserInfo("dutplcecd"));
  2698. }
  2699. else if(setflag == "A")
  2700. {
  2701. model.makeValue("/root/send/cond/setflag", "A");
  2702. model.makeValue("/root/send/cond/userid", "");
  2703. model.makeValue("/root/send/cond/deptcd", getUserInfo("dutplcecd"));
  2704. // 신규, 수정, 삭제 컨트롤 비활성화
  2705. button8.disabled = true;
  2706. button7.disabled = true;
  2707. button6.disabled = true;
  2708. }
  2709. else if(setflag == "E")
  2710. {
  2711. model.makeValue("/root/send/cond/setflag", "E");
  2712. grd_comnlist.rebuild();
  2713. sTREE_OBJ.rebuild();
  2714. // 타과 관련 컨트롤
  2715. combo1.disabled = false;
  2716. input10.disabled = false;
  2717. btn_clsnm.disabled = false;
  2718. // 신규, 수정, 삭제 컨트롤 비활성화
  2719. button8.disabled = true;
  2720. button7.disabled = true;
  2721. button6.disabled = true;
  2722. return;
  2723. }
  2724. //fInitialize();
  2725. combo1.disabled = true;
  2726. input10.disabled = true;
  2727. btn_clsnm.disabled = true;
  2728. // 신규, 수정, 삭제 컨트롤 활성화
  2729. if(setflag == "U" || setflag == "D")
  2730. {
  2731. button8.disabled = false;
  2732. button7.disabled = false;
  2733. button6.disabled = false;
  2734. }
  2735. model.setValue("/root/send/reformlist/deptcd", "");
  2736. model.makeValue("/root/send/cond/chosflag", "folder"); //분류 flag
  2737. //개인,과 구분위해서..
  2738. fSelectUserDeptcd("/root/send/cond");
  2739. if(submit("TRMRF02407"))
  2740. {
  2741. model.copyNode("/root/main/indxlist_u", "/root/main/indxlist");
  2742. model.refresh();
  2743. fAddDepth2();
  2744. }
  2745. else
  2746. {
  2747. messageBox("서식을 조회하는데에 ", "E009");
  2748. return;
  2749. }
  2750. if (isPopup())
  2751. {
  2752. var degnitemcd = opener.window.javascript.getParameter("comn_degnitemcd");
  2753. var srcformcd = opener.window.javascript.getParameter("comn_srcformcd");
  2754. var comnchosflag = opener.window.javascript.getParameter("comn_chosflag");
  2755. var openmode = opener.window.javascript.getParameter("openmode");
  2756. if(srcformcd !="" && degnitemcd !="")
  2757. {
  2758. if(srcformcd == "0000000901")
  2759. {
  2760. model.makeValue("/root/hidden/reqyn/com" , "Y"); //조회 여부 입력
  2761. var item = "";
  2762. for(var i=sTREE_OBJ.length; i > 0; i--)
  2763. {
  2764. item = sTREE_OBJ.item(i-1);
  2765. var rowpos = item.index+1;
  2766. var depth = model.getValue(sTREE_PATH+ "[" + rowpos + "]/depth");
  2767. var item_length = sTREE_OBJ.length;
  2768. var indxnm = model.getValue(sTREE_PATH+ "[" + rowpos + "]/indxnm");
  2769. var seq = model.getValue(sTREE_PATH+ "[" + rowpos + "]/seq");
  2770. var formcd = model.getValue(sTREE_PATH+ "[" + rowpos + "]/formcd");
  2771. if(srcformcd == formcd)
  2772. {
  2773. sTREE_OBJ.select(item.index);
  2774. fReqComnIndx("item");
  2775. break;
  2776. }
  2777. }
  2778. return;
  2779. }
  2780. if(comnchosflag == "C")
  2781. {
  2782. button14.selected = true; // 상용구 관리 버튼
  2783. model.toggle("case2");
  2784. model.setValue("/root/send/cond/caseflag","C");
  2785. }
  2786. var seq = srcformcd + degnitemcd.substr(0,7);
  2787. // srcformcd를 formcd로 수정
  2788. model.makeValue("/root/send/grddata/formcd", srcformcd);
  2789. model.makeValue("/root/send/grddata/itembasecd",degnitemcd.substr(0,7));
  2790. model.makeValue( "/root/send/grddata/comnchosflag",comnchosflag);
  2791. var setflag = model.getValue("/root/send/cond/setflag");
  2792. model.makeValue( "/root/send/grddata/setflag",setflag);
  2793. if(setflag == "U") {
  2794. model.makeValue( "/root/send/grddata/userid", getUserId());
  2795. model.makeValue( "/root/send/grddata/deptcd", getUserInfo("dutplcecd"));
  2796. }
  2797. else if(setflag == "D") {
  2798. model.makeValue( "/root/send/grddata/deptcd", getUserInfo("dutplcecd"));
  2799. }
  2800. else if(setflag == "E") {
  2801. model.makeValue( "/root/send/grddata/deptcd", model.getValue("/root/send/reformlist/deptcd"));
  2802. }
  2803. model.makeValue("/root/send/grddata/chosflag", "item");
  2804. submit("TRMRF02405");
  2805. fAddDepthPopup();
  2806. if(sCnts == null)
  2807. model.setValue("/root/main/indxlist_comn/item",seq);
  2808. else
  2809. {
  2810. // 생성한 폴더로 포커스를 이동
  2811. var Creatednode = "";
  2812. var CreatednodeList = "";
  2813. CreatednodeList = instance1.selectNodes("/root/main/indxlist_u/item[indxnm ='" + sCnts + "']");
  2814. if(CreatednodeList.length > 0)
  2815. {
  2816. for(var idx = 0; idx < CreatednodeList.length; idx++)
  2817. {
  2818. Creatednode = CreatednodeList.item(idx);
  2819. if(status == "i")
  2820. if(Creatednode.selectSingleNode("srcformcd").text == itemsrcformcd)
  2821. break;
  2822. }
  2823. //Creatednode = instance1.selectSingleNode("/root/main/indxlist_u/item[indxnm ='" + sCnts + "']");
  2824. var selectedSEQ = Creatednode.selectSingleNode("seq").text;
  2825. model.setValue("/root/main/indxlist_comn/item",selectedSEQ);
  2826. // 새로 생성한 폴더에는 상용구가 없으므로 기존 상용구 목록은 지움.
  2827. model.removenode("/root/main/list/comnlist");
  2828. model.refresh();
  2829. fReqComnIndx("item");
  2830. }
  2831. else
  2832. model.setValue("/root/main/indxlist_comn/item",seq);
  2833. }
  2834. model.removeNodeset("/root/send/grddata");
  2835. model.refresh();
  2836. var item = sTREE_OBJ.item(sTREE_OBJ.selectedIndex);
  2837. if(item == null)
  2838. return;
  2839. var rows = item.index + 1;
  2840. sBeforeIndxRow = rows;
  2841. sBeforeSetFlag = model.getValue("/root/send/cond/setflag");
  2842. if(openmode == "insert")
  2843. {
  2844. fAddComnCnts(comnchosflag);
  2845. }
  2846. }
  2847. }
  2848. }
  2849. /**
  2850. * @desc : 그리드 선택시 check 선택
  2851. * @
  2852. * @param :
  2853. * @return :
  2854. * @---------------------------------------------------
  2855. */
  2856. function fSetCheck()
  2857. {
  2858. if(gOpenMode == "MGR")
  2859. return ;
  2860. var check = model.getValue("/root/main/list/comnlist["+grd_comnlist.row+"]/check");
  2861. var gridObj = event.ptarget.parent;
  2862. if(gridObj != null)
  2863. {
  2864. if(gridObj.col != "0")
  2865. return;
  2866. if( gridObj.col == "0")
  2867. {
  2868. if(check == "false")
  2869. {
  2870. model.setValue("/root/main/list/comnlist["+grd_comnlist.row+"]/check","false");
  2871. }
  2872. else
  2873. {
  2874. model.setValue("/root/main/list/comnlist["+grd_comnlist.row+"]/check","true");
  2875. }
  2876. }
  2877. else
  2878. {
  2879. if(check == "true"){
  2880. model.setValue("/root/main/list/comnlist["+grd_comnlist.row+"]/check","false");
  2881. }
  2882. else
  2883. {
  2884. model.setValue("/root/main/list/comnlist["+grd_comnlist.row+"]/check","true");
  2885. }
  2886. }
  2887. }
  2888. }
  2889. /**
  2890. * @ver : 2008-02-27
  2891. * @desc : 그리드의 데이터를 엑셀로 저장
  2892. * @
  2893. * @by : 이경희
  2894. * @param:
  2895. * @return:
  2896. * @---------------------------------------------------
  2897. */
  2898. function fSaveExcel()
  2899. {
  2900. var fileName = window.fileDialog("save", ",", false, "상용구저장", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  2901. if (fileName != "")
  2902. {
  2903. grd_comnlist.saveExcel(fileName, "SheetName:Sheet1;exportfalsecols:col_0;", true, true, "", "", "false");
  2904. }
  2905. }
  2906. /**
  2907. * @ver : 2008-02-27
  2908. * @desc : 타과 서식을 불러옴
  2909. * @
  2910. * @by : 이경희
  2911. * @param:
  2912. * @return:
  2913. * @---------------------------------------------------
  2914. */
  2915. function fLoadDeptFormList()
  2916. {
  2917. // /root/send/cond
  2918. //개인,과 구분위해서..
  2919. fSelectUserDeptcd("/root/send/cond");
  2920. model.makeValue("/root/send/cond/chosflag", "otherdept"); //분류 flag
  2921. submit("TRMRF02407");
  2922. // 선택 과 세팅
  2923. model.setValue("/root/main/indxlist/item[depth='1' and supitemindxseq='0' and linkflag='N']/indxnm", combo1.label);
  2924. //var indxnm = model.instance1.selectSingleNode("/root/main/indxlist/item[depth='1' and supitemindxseq='0' and linkflag='N']/indxnm").text;
  2925. model.copyNode("/root/main/indxlist_u", "/root/main/indxlist");
  2926. model.refresh();
  2927. fAddDepth2();
  2928. sTREE_OBJ.rebuild();
  2929. sTREE_OBJ.expand(0, true);
  2930. }
  2931. /**
  2932. * @desc : 새폴더 추가
  2933. * @
  2934. * @param :
  2935. * @return :
  2936. * @---------------------------------------------------
  2937. */
  2938. function fCopyComnlist()
  2939. {
  2940. var comnchosflag = model.getValue("/root/send/cond/caseflag"); //예문 ,상용구 case구분
  2941. //상용구 예문 분리
  2942. var grdObj;
  2943. var ref;
  2944. if(comnchosflag == "C"){
  2945. grdObj = grd_comnlist;
  2946. ref = "/root/main/list/comnlist";
  2947. }else if(comnchosflag == "E"){
  2948. grdObj = grd_exmplist;
  2949. ref = "/root/main/list/exmplist";
  2950. }
  2951. var curRow = grdObj.row - grdObj.fixedRows + 1;
  2952. if(curRow < 0)
  2953. {
  2954. messageBox("삭제할 행을 ","C002");
  2955. return;
  2956. }
  2957. for(var i = grdObj.fixedRows; i < grdObj.rows; i++)
  2958. {
  2959. var CopyNode = ref + "["+ grdObj.row +"]";
  2960. var DestNode = "/root/copy";
  2961. //copyNodeset(strDest, strSrc, mode, destModel, srcModel)
  2962. copyNodeset(DestNode, CopyNode, "replace", model, model);
  2963. }
  2964. }