SMMMD05300_MR색인관리.xfdl 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMMD05300" position="absolute 0 0 345 688" titletext="Medical Reference 색인관리" onload="SMMMD05300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid id="treeview1" position="absolute 0 0 345 687" anchor="default" positiontype="position" onlbuttonDown="treeview1_onlbuttonDown" onbuttondown="treeview1_onbuttondown" ondbclick="treeview1_ondbclick" binddataset="ds_data_item" treeinitstatus="collapse,null" treeusecheckbox="false" treeuseimage="true" onrbuttondown="treeview1_onrbuttondown" oncelldblclick="treeview1_oncelldblclick">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="345"/>
  12. </Columns>
  13. <Rows>
  14. <Row size="24" band="head"/>
  15. <Row size="24"/>
  16. </Rows>
  17. <Band id="head">
  18. <Cell/>
  19. </Band>
  20. <Band id="body">
  21. <Cell displaytype="tree" edittype="tree" text="bind:indxnm" treestartlevel="0" treelevel="bind:depth" treeitemimage="expr:getColumn(currow,&quot;fileno&quot;) != '0' ? 'theme://images/icon_treeitem.png' : 'theme://images/icon_treecollapse.png'"/>
  22. </Band>
  23. </Format>
  24. </Formats>
  25. </Grid>
  26. <Div id="group2" position="absolute 105 30 325 30" anchor="default" positiontype="position">
  27. <Layouts>
  28. <Layout>
  29. <Edit id="inpt_srch" class="input_default" position="absolute 67 5 214 25" anchor="default" positiontype="position" imemode="hangul"/>
  30. <Edit id="input2" class="input_default" visible="false" position="absolute 67 5 214 25" anchor="default" positiontype="position" imemode="hangul"/>
  31. <Edit id="input3" class="input_default" visible="false" position="absolute 9 27 64 47" anchor="default" positiontype="position" imemode="hangul"/>
  32. <Button id="btn_ok" class="btn2_letter2" position="absolute 127 28 169 48" anchor="default" positiontype="position" text="확인" onlbuttonup="btn_ok_onlbuttonup" onclick="btn_ok_onclick"/>
  33. <Button id="btn_modify" class="btn2_letter2" position="absolute 127 28 169 48" anchor="default" positiontype="position" text="확인" onlbuttonup="btn_modify_onlbuttonup" onclick="btn_modify_onclick"/>
  34. <Static id="cap_menu" class="cell_1" position="absolute 5 5 65 25" style="align:center middle;" anchor="default" positiontype="position" text="색인명"/>
  35. <Button id="btn_cancle" class="btn2_letter2" position="absolute 172 28 214 48" anchor="default" positiontype="position" text="취소" onlbuttonup="btn_cancle_onlbuttonup" onclick="btn_cancle_onclick"/>
  36. <Button id="btn_find" class="btn2_letter2" taborder="18" position="absolute 82 28 124 48" anchor="default" positiontype="position" text="찾기" onlbuttonup="btn_find_onlbuttonup" onclick="btn_find_onclick"/>
  37. </Layout>
  38. </Layouts>
  39. </Div>
  40. <Div id="grp_cond" taborder="2" class="div_Layer" visible="false" position="absolute 59 232 293 337">
  41. <Layouts>
  42. <Layout>
  43. <Shape id="line_isol2" class="line_3" visible="false" position="absolute 10 173 270 173" anchor="default"/>
  44. <Button id="btn_cls" taborder="12" class="btn_POP_cls" position="absolute 210 10 224 23" anchor="default" onclick="grp_cond_btn_cls_onclick"/>
  45. <Button id="btn_ok" taborder="13" text="확인" onlbuttonup="btn_copyfolder_onlbuttonup" class="btn2" position="absolute 131 73 175 93" anchor="default" visible="false" onclick="grp_cond_btn_ok_onclick"/>
  46. <Button id="btn_cancle" taborder="14" text="취소" onlbuttonup="btn_cancle_onlbuttonup" class="btn2" position="absolute 178 73 222 93" anchor="default" onclick="grp_cond_btn_cancle_onclick"/>
  47. <Edit id="inpt_srch" taborder="15" imemode="hangul" class="input_default" position="absolute 75 48 222 68" anchor="default"/>
  48. <Static id="cap_menu" text="색인명" class="cell_1" position="absolute 12 46 72 70" anchor="default"/>
  49. <Edit id="input3" taborder="16" imemode="hangul" class="input_default" visible="false" position="absolute 12 73 72 93" anchor="default"/>
  50. <Static id="caption00" class="sta_POP_title" position="absolute 12 8 161 28" anchor="default" text="색인추가"/>
  51. <Button id="btn_find" taborder="17" text="찾기" onlbuttonup="btn_copyfolder_onlbuttonup" class="btn2" position="absolute 84 73 128 93" visible="false" onclick="grp_cond_btn_find_onclick"/>
  52. <Button id="btn_modify" taborder="18" text="확인" onlbuttonup="btn_copyfolder_onlbuttonup" class="btn2" position="absolute 131 73 175 93" visible="false" onclick="grp_cond_btn_modify_onclick"/>
  53. </Layout>
  54. </Layouts>
  55. </Div>
  56. </Layout>
  57. </Layouts>
  58. <Objects>
  59. <Dataset id="ds_grid_grd_drugdept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  60. <ColumnInfo>
  61. <Column id="deptcd" type="STRING"/>
  62. <Column id="depthngnm" type="STRING"/>
  63. </ColumnInfo>
  64. </Dataset>
  65. <Dataset id="ds_data_drugdep" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  66. <ColumnInfo>
  67. <Column id="deptcd" type="STRING" size="256"/>
  68. <Column id="depthngnm" type="STRING" size="256"/>
  69. </ColumnInfo>
  70. </Dataset>
  71. <Dataset id="ds_data_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  72. <ColumnInfo>
  73. <Column id="status" type="STRING" size="256"/>
  74. <Column id="indxno" type="STRING" size="256"/>
  75. <Column id="indxnm" type="STRING" size="256"/>
  76. <Column id="supindxno" type="STRING" size="256"/>
  77. <Column id="indxrefseq" type="STRING" size="256"/>
  78. <Column id="depth" type="STRING" size="256"/>
  79. <Column id="indxhistseq" type="STRING" size="256"/>
  80. <Column id="image" type="STRING" size="256"/>
  81. <Column id="fileno" type="STRING" size="256"/>
  82. <Column id="filehistseq" type="STRING" size="256"/>
  83. <Column id="filenm" type="STRING" size="256"/>
  84. <Column id="filepath" type="STRING" size="256"/>
  85. <Column id="orddeptcd" type="STRING" size="256"/>
  86. </ColumnInfo>
  87. </Dataset>
  88. <Dataset id="ds_data_copyitem" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  89. <ColumnInfo>
  90. <Column id="status" type="STRING" size="256"/>
  91. <Column id="indxno" type="STRING" size="256"/>
  92. <Column id="indxnm" type="STRING" size="256"/>
  93. <Column id="supindxno" type="STRING" size="256"/>
  94. <Column id="indxrefseq" type="STRING" size="256"/>
  95. <Column id="depth" type="STRING" size="256"/>
  96. <Column id="indxhistseq" type="STRING" size="256"/>
  97. <Column id="image" type="STRING" size="256"/>
  98. <Column id="fileno" type="STRING" size="256"/>
  99. <Column id="filehistseq" type="STRING" size="256"/>
  100. <Column id="filenm" type="STRING" size="256"/>
  101. <Column id="filepath" type="STRING" size="256"/>
  102. <Column id="orddeptcd" type="STRING" size="256"/>
  103. </ColumnInfo>
  104. </Dataset>
  105. <Dataset id="ds_cond_req" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  106. <ColumnInfo>
  107. <Column id="status" type="STRING" size="256"/>
  108. <Column id="indxno" type="STRING" size="256"/>
  109. <Column id="indxhistseq" type="STRING" size="256"/>
  110. <Column id="fileno" type="STRING" size="256"/>
  111. <Column id="filehistseq" type="STRING" size="256"/>
  112. <Column id="indxnm" type="STRING" size="256"/>
  113. <Column id="supindxno" type="STRING" size="256"/>
  114. <Column id="indxrefseq" type="STRING" size="256"/>
  115. <Column id="indxdelyn" type="STRING" size="256"/>
  116. <Column id="indxtypecd" type="STRING" size="256"/>
  117. <Column id="drid" type="STRING" size="256"/>
  118. <Column id="kind" type="STRING" size="256"/>
  119. <Column id="orddeptcd" type="STRING" size="256"/>
  120. </ColumnInfo>
  121. </Dataset>
  122. <Dataset id="ds_cond_add" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  123. <ColumnInfo>
  124. <Column id="status" type="STRING" size="256"/>
  125. <Column id="indxno" type="STRING" size="256"/>
  126. <Column id="indxhistseq" type="STRING" size="256"/>
  127. <Column id="fileno" type="STRING" size="256"/>
  128. <Column id="filehistseq" type="STRING" size="256"/>
  129. <Column id="indxnm" type="STRING" size="256"/>
  130. <Column id="supindxno" type="STRING" size="256"/>
  131. <Column id="indxrefseq" type="STRING" size="256"/>
  132. <Column id="indxdelyn" type="STRING" size="256"/>
  133. <Column id="indxtypecd" type="STRING" size="256"/>
  134. <Column id="drid" type="STRING" size="256"/>
  135. <Column id="kind" type="STRING" size="256"/>
  136. <Column id="orddeptcd" type="STRING" size="256"/>
  137. <Column id="depth" type="STRING" size="256"/>
  138. </ColumnInfo>
  139. </Dataset>
  140. <Dataset id="ds_cond_req00" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  141. <ColumnInfo>
  142. <Column id="indxno" type="STRING" size="256"/>
  143. <Column id="indxhistseq" type="STRING" size="256"/>
  144. <Column id="fileno" type="STRING" size="256"/>
  145. <Column id="filehistseq" type="STRING" size="256"/>
  146. <Column id="indxnm" type="STRING" size="256"/>
  147. <Column id="supindxno" type="STRING" size="256"/>
  148. <Column id="indxrefseq" type="STRING" size="256"/>
  149. <Column id="indxdelyn" type="STRING" size="256"/>
  150. <Column id="indxtypecd" type="STRING" size="256"/>
  151. <Column id="drid" type="STRING" size="256"/>
  152. <Column id="kind" type="STRING" size="256"/>
  153. <Column id="orddeptcd" type="STRING" size="256"/>
  154. </ColumnInfo>
  155. </Dataset>
  156. <Dataset id="ds_cond_index" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  157. <ColumnInfo>
  158. <Column id="status" type="STRING" size="256"/>
  159. <Column id="indxno" type="STRING" size="256"/>
  160. <Column id="indxhistseq" type="STRING" size="256"/>
  161. <Column id="fileno" type="STRING" size="256"/>
  162. <Column id="filehistseq" type="STRING" size="256"/>
  163. <Column id="indxnm" type="STRING" size="256"/>
  164. <Column id="supindxno" type="STRING" size="256"/>
  165. <Column id="indxrefseq" type="STRING" size="256"/>
  166. <Column id="indxdelyn" type="STRING" size="256"/>
  167. <Column id="indxtypecd" type="STRING" size="256"/>
  168. <Column id="drid" type="STRING" size="256"/>
  169. <Column id="kind" type="STRING" size="256"/>
  170. <Column id="orddeptcd" type="STRING" size="256"/>
  171. </ColumnInfo>
  172. </Dataset>
  173. <Dataset id="ds_notice" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  174. <ColumnInfo>
  175. <Column id="attfilenm" type="STRING" size="256"/>
  176. <Column id="filenm" type="STRING" size="256"/>
  177. <Column id="filedata" type="BLOB" size="256"/>
  178. <Column id="filesize" type="STRING" size="256"/>
  179. <Column id="filetype" type="STRING" size="256"/>
  180. </ColumnInfo>
  181. </Dataset>
  182. <Dataset id="ds_data_attach" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  183. <ColumnInfo>
  184. <Column id="attfilenm" type="STRING" size="256"/>
  185. <Column id="file" type="STRING" size="256"/>
  186. </ColumnInfo>
  187. </Dataset>
  188. <Dataset id="ds_attachfile" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  189. <ColumnInfo>
  190. <Column id="filedata" type="BLOB" size="256"/>
  191. <Column id="filepath" type="STRING" size="256"/>
  192. </ColumnInfo>
  193. </Dataset>
  194. </Objects>
  195. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  196. * System Name :
  197. * Job Name :
  198. * File Name : SMMMD05300_MR색인관리.xfdl
  199. * Creator :
  200. * Make Date :
  201. *
  202. * Description :
  203. *---------------------------------------------------------------------------------------
  204. * Modify Date Modifier Modify Description
  205. *---------------------------------------------------------------------------------------
  206. *
  207. *---------------------------------------------------------------------------------------
  208. ****************************************************************************************/
  209. //=======================================================================================
  210. // xjs Include
  211. //---------------------------------------------------------------------------------------
  212. include "com_commonxp::comm_main.xjs";
  213. //=======================================================================================
  214. // Function
  215. //---------------------------------------------------------------------------------------
  216. var kind = "F";
  217. var newfolder;
  218. var cpgflagcd = "A";
  219. var funflag = "1";
  220. /******************************************************************************************************
  221. * Argument : 없음
  222. * Description : 초기화 및 색인을 조회한다.
  223. ******************************************************************************************************/
  224. function lf_Initialize() {
  225. //웹브라우저 초기화
  226. //parent.WebBrowser00.url="";
  227. }
  228. /******************************************************************************************************
  229. * Argument : 없음
  230. * Description : 저장, 삭제, 수정 후 재조회
  231. ******************************************************************************************************/
  232. function lf_reSetting(){
  233. var iRow = ds_data_item.rowposition;
  234. grp_cond.inpt_srch.value="";
  235. grp_cond.visible = "false";
  236. lf_GetIndxList("A");
  237. treeview1.treeinitstatus = "expand,all";
  238. ds_data_item.rowposition = iRow - 1;
  239. }
  240. /******************************************************************************************************
  241. * Argument : 없음
  242. * Description : 색인을 조회한다.
  243. ******************************************************************************************************/
  244. function lf_GetIndxList(flag){
  245. var indxnmSch = group5.ipt_indxnm.value; //조회할 색인명
  246. var orddeptcd = group5.cbm_dept.value;
  247. if( utlf_isNull(orddeptcd) ) return;
  248. var sInDsName = dsf_createDsRow("in_ds_search"
  249. , [{col: "mode", val: "A"}
  250. , {col: "indxnm", val: indxnmSch}
  251. , {col: "orddeptcd", val: orddeptcd}
  252. ]);
  253. tranf_submit({
  254. id: "TRMMD05001"
  255. , service: "prcpmngtapp.MedRefMngt"
  256. , method: "reqGetMedRefIndxList"
  257. , inds : "req="+sInDsName
  258. , outds: "ds_data_item=item"
  259. //, callback: "cbf_TRMMD05001"
  260. , async: false
  261. });
  262. }
  263. /******************************************************************************************************
  264. * Argument : 없음
  265. * Description : 색인 추가<색인추가> - 마우스 오른쪽 버튼 목록의 함수
  266. ******************************************************************************************************/
  267. function lf_IndxAdd(){
  268. if(!lf_chkFolderAuth("indxnew") ) return;
  269. var iRow = ds_data_item.rowposition;
  270. var srcLastChildItemIndex = treeview1.getTreeChildRow(iRow, 0, true);
  271. var lastNodeSeq = ds_data_item.getColumn(srcLastChildItemIndex,"indxrefseq");
  272. var Num = toNumber(lastNodeSeq,0)+1;
  273. ds_cond_index.clearData();
  274. ds_cond_index.addRow(0);
  275. ds_cond_index.setColumn(0,"indxrefseq",Num );
  276. ds_cond_index.setColumn(0,"supindxno",ds_data_item.getColumn(iRow,"indxno"));
  277. grp_cond.visible = "true";
  278. grp_cond.caption00.text = "색인추가";
  279. grp_cond.cap_menu.text = "색인명";
  280. grp_cond.btn_ok.visible = "true";
  281. grp_cond.btn_modify.visible = "false";
  282. grp_cond.btn_find.visible = "true";
  283. kind = "i";
  284. funflag = "0";
  285. grp_cond.inpt_srch.setFocus();
  286. }
  287. /******************************************************************************************************
  288. * Argument : 없음
  289. * Description : 색인추가 함수
  290. ******************************************************************************************************/
  291. function fSaveIndx(){
  292. if( utlf_isNull(ds_notice.getColumn(0,"filenm")) ){
  293. sysf_messageBox("첨부할 파일을 선택하지", "E007");
  294. return;
  295. }
  296. ds_cond_index.setColumn(0,"status","i");
  297. //ds_cond_index.setColumn(0,"filenm",ds_data_item.getColumn(indx,"filenm"));
  298. //ds_cond_req.setColumn(0,"indxrefseq",ds_data_item.getColumn(iRow,"indxrefseq"));
  299. ds_cond_index.setColumn(0,"drid",sysf_getUserInfo("userid"));
  300. ds_cond_index.setColumn(0,"kind",kind);
  301. ds_cond_index.setColumn(0,"indxtypecd","D");
  302. ds_cond_index.setColumn(0,"orddeptcd",group5.cbm_dept.value);
  303. ds_cond_index.setColumn(0,"indxnm",grp_cond.inpt_srch.value);
  304. tranf_submit({
  305. id: "TXMMD05001"
  306. , service: "prcpmngtapp.MedRefMngt"
  307. , method: "reqExeIndxInfo"
  308. , inds : "req=ds_cond_index"
  309. , outds: "ds_cond_req00=item"
  310. , callback: "cbf_TXMMD05001_index"
  311. , async: false
  312. });
  313. //재조회 함수
  314. lf_reSetting();
  315. }
  316. /******************************************************************************************************
  317. * Argument : 없음
  318. * Description : 마우스 오른쪽 목록 <폴더명>
  319. ******************************************************************************************************/
  320. function lf_FolderSet(){//폴더명 변경
  321. // 폴더 수정권한 체크
  322. if ( !lf_chkFolderAuth("set") ) return;
  323. var iRow = ds_data_item.rowposition;
  324. if( ds_data_item.getColumn(iRow,"supindxno") == "-1" ) {
  325. sysf_messageBox("최상위 폴더명은 수정", "E001");
  326. return;
  327. }
  328. grp_cond.visible = "true";
  329. grp_cond.caption00.text = "폴더추가";
  330. grp_cond.cap_menu.text = "폴더명";
  331. grp_cond.btn_ok.visible = "false";
  332. grp_cond.btn_modify.visible = "true";
  333. grp_cond.btn_find.visible = "false";
  334. grp_cond.inpt_srch.setFocus();
  335. }
  336. /******************************************************************************************************
  337. * Argument : iRow - 현재로우
  338. status - 현재 상태
  339. flag - 상태프래그
  340. * Description : 폴더 저장. 색인, 폴더 삭제
  341. ******************************************************************************************************/
  342. function lf_SaveFolderIndx(iRow, status,flag){
  343. ds_cond_req.addRow(0);
  344. ds_cond_req.setColumn(0,"status",status);
  345. ds_cond_req.setColumn(0,"indxrefseq",ds_data_item.getColumn(iRow,"indxrefseq"));
  346. ds_cond_req.setColumn(0,"indxhistseq",ds_data_item.getColumn(iRow,"indxhistseq"));
  347. ds_cond_req.setColumn(0,"filehistseq",ds_data_item.getColumn(iRow,"filehistseq"));
  348. ds_cond_req.setColumn(0,"supindxno",ds_data_item.getColumn(iRow,"supindxno"));
  349. ds_cond_req.setColumn(0,"indxno",ds_data_item.getColumn(iRow,"indxno"));
  350. ds_cond_req.setColumn(0,"fileno",ds_data_item.getColumn(iRow,"fileno"));
  351. ds_cond_req.setColumn(0,"orddeptcd",group5.cbm_dept.value);
  352. ds_cond_req.setColumn(0,"indxtypecd","D");
  353. ds_cond_req.setColumn(0,"drid",sysf_getUserInfo("userid"));
  354. ds_cond_req.setColumn(0,"kind","I");
  355. if( flag =="delete" ){
  356. ds_cond_req.setColumn(0,"indxnm",ds_data_item.getColumn(iRow,"indxnm"));
  357. }
  358. else if( flag == "modify" ){
  359. ds_cond_req.setColumn(0,"indxnm",grp_cond.inpt_srch.value);
  360. }
  361. tranf_submit({
  362. id: "TXMMD05001"
  363. , service: "prcpmngtapp.MedRefMngt"
  364. , method: "reqExeIndxInfo"
  365. , inds : "req=ds_cond_req"
  366. , outds: "ds_cond_req00=item"
  367. , callback: "cbf_TXMMD05001_save"
  368. , async: false
  369. });
  370. lf_reSetting();
  371. }
  372. /******************************************************************************************************
  373. * Argument : 없음
  374. * Description : 폴더를 삭제한다.
  375. ******************************************************************************************************/
  376. function lf_FolderDel(){
  377. var iRow = ds_data_item.rowposition;
  378. var fileno = ds_data_item.getColumn(iRow,"fileno");
  379. var msg ="";
  380. if ( fileno == "0" ) {
  381. // 폴더삭제 권한을 체크
  382. if ( !lf_chkFolderAuth("del") ) return;
  383. msg = "선택하신 폴더를";
  384. } else {
  385. // 색인삭제 권한을 체크
  386. if ( !lf_chkFolderAuth("indxdel") ) return;
  387. msg = "선택하신 색인을";
  388. }
  389. //삭제 확인
  390. var msgRtn = sysf_messageBox(msg, "Q001");
  391. if ( msgRtn != "6" ) return;
  392. //바로 데이터를 삭제하는 서브밋 실행
  393. lf_SaveFolderIndx(iRow,"d","delete");
  394. //재조회
  395. lf_reSetting();
  396. }
  397. /******************************************************************************************************
  398. * Argument : 없음
  399. * Description : 색인 다운로드 함수
  400. ******************************************************************************************************/
  401. function fFileDown(){
  402. var iRow = ds_data_item.rowposition;
  403. var fd = new FileDialog;
  404. fd.filter = "PDF Files(*.pdf)|*.pdf";//
  405. var filepath = ds_data_item.getColumn(iRow,"filepath");
  406. var indxnm = ds_data_item.getColumn(iRow,"indxnm");
  407. var fileno = ds_data_item.getColumn(iRow,"fileno");
  408. if( !utlf_isNull(filepath) ){
  409. fGetAttachfile(filepath);
  410. var objVFile = fd.open("FileSave", FileDialog.SAVE, "%MYDOCUMENT%", indxnm); // 단일 파일 선택
  411. if (objVFile != null) {
  412. dsf_readFileFromDs(objVFile.fullpath, ds_attachfile, 0, "filedata"); // 파일저장
  413. }
  414. }else{
  415. sysf_messageBox("다운로드 할 파일이 ", "I004");
  416. return;
  417. }
  418. }
  419. /******************************************************************************************************
  420. * Argument : 없음
  421. * Description : 색인의 파일 데이터 조회함수
  422. ******************************************************************************************************/
  423. function fGetAttachfile(filepath){
  424. var sInDsName = dsf_createDsRow("in_ds_search"
  425. , [{col: "filepath", val: filepath}
  426. ]);
  427. tranf_submit({
  428. id: "TRMMD05002"
  429. , service: "prcpmngtapp.MedRefMngt"
  430. , method: "reqGetAttFileData"
  431. , inds : "req="+sInDsName
  432. , outds: "ds_attachfile=attachfile"
  433. //, callback: "cbf_TRMMD05001"
  434. , async: false
  435. });
  436. }
  437. /******************************************************************************************************
  438. * Argument : 없음
  439. * Description : 마우스 오른쪽 목록 - 새폴더
  440. ******************************************************************************************************/
  441. function lf_NewFolder(){
  442. var iRow = ds_data_item.rowposition;
  443. var fileno = ds_data_item.getColumn(iRow,"fileno");
  444. if( fileno > 0 ){
  445. sysf_messageBox("색인에는 폴더를 생성할 수", "I004");
  446. return;
  447. }
  448. // 해당부서 찾기(소속 부서코드가 없을 경우 일반부서 사용자는 폴더를 생성할 수 없다)
  449. if ( !lf_chkFolderAuth("new") )return;
  450. funflag = "1";
  451. grp_cond.visible = "true";
  452. newfolder = "Y"
  453. grp_cond.caption00.text = "폴더추가";
  454. grp_cond.cap_menu.text = "폴더명";
  455. grp_cond.btn_ok.visible = "true";
  456. grp_cond.btn_modify.visible = "false";
  457. grp_cond.btn_find.visible = "false";
  458. grp_cond.inpt_srch.setFocus();
  459. }
  460. /******************************************************************************************************
  461. * Argument : 없음
  462. * Description : 폴더추가(확인버튼)
  463. ******************************************************************************************************/
  464. function lf_Confirm(){//폴더추가(확인버튼)
  465. var iRow = ds_data_item.rowposition;
  466. ds_cond_add.clearData();
  467. ds_cond_add.addRow(0);
  468. ds_cond_add.setColumn(0,"status","i");
  469. ds_cond_add.setColumn(0,"orddeptcd", sysf_getUserInfo("userid"));
  470. ds_cond_add.setColumn(0,"indxnm",grp_cond.inpt_srch.value);
  471. ds_cond_add.setColumn(0,"drid",sysf_getUserInfo("userid"));
  472. ds_cond_add.setColumn(0,"kind","F");
  473. ds_cond_add.setColumn(0,"orddeptcd",group5.cbm_dept.value);
  474. ds_cond_add.setColumn(0,"indxtypecd","D");
  475. ds_cond_add.setColumn(0,"indxrefseq","1");
  476. ds_cond_add.setColumn(0,"supindxno",ds_data_item.getColumn(iRow,"indxno"));
  477. ds_cond_add.setColumn(0,"fileno","0");
  478. if( newfolder == "Y")
  479. {
  480. if(ds_data_item.rowcount == 0)
  481. {
  482. ds_cond_add.setColumn(0,"indxno", "1");
  483. }else{
  484. var nLastChildRow = treeview1.getTreeChildRow(iRow, -1, true);
  485. ds_cond_add.setColumn(0,"indxno",nLastChildRow+1);
  486. }
  487. }
  488. trace(ds_cond_add.saveXML());
  489. tranf_submit({
  490. id: "TXMMD05001"
  491. , service: "prcpmngtapp.MedRefMngt"
  492. , method: "reqExeIndxInfo"
  493. , inds : "req=ds_cond_add"
  494. , outds: "ds_data_item=item"
  495. //, callback: "cbf_TXMMD05001"
  496. , async: false
  497. });
  498. //폴더 저장 후 재조회
  499. lf_reSetting();
  500. }
  501. /******************************************************************************************************
  502. * Argument : 없음
  503. * Description : 폴더권한체크
  504. ******************************************************************************************************/
  505. function lf_chkFolderAuth(mode) {
  506. var iRow = ds_data_item.rowposition;
  507. // 폴더아래로 신규폴더 생성시 폴더의 부서코드와 사용자 세션 부서 코드가 일치 해야 한다.
  508. var orddeptcd = ds_data_item.getColumn(iRow,"orddeptcd");
  509. var depth = ds_data_item.getColumn(iRow,"depth");
  510. var deptnm = "";
  511. var msg = "";
  512. var indxnm = "";
  513. var duplcecd = sysf_getUserInfo("dutplcecd");
  514. //약제팀 부서 코드에 해당되는지 조사
  515. var drugdeptYn = "N";
  516. var drugdeptcd = "";
  517. var deptcnt = ds_data_drugdep.rowcount;
  518. for ( var i = 0 ; i<deptcnt ; i++ ) {
  519. drugdeptcd = ds_data_drugdep.getColumn(i,"deptcd");
  520. if ( drugdeptcd == duplcecd ) {
  521. drugdeptYn = "Y";
  522. break;
  523. }
  524. }
  525. if( drugdeptYn == "N" )
  526. {
  527. if( orddeptcd != duplcecd ) {
  528. var deptCnt = ds_cond_instcd.rowcount;//36
  529. for( var i = 0; i < deptCnt; i++ ){
  530. if( orddeptcd == ds_cond_instcd.getColumn(i,"deptcd")){
  531. if( orddeptcd == "DRUGDEPT" ){
  532. deptnm = "약제 공통";
  533. }
  534. else {
  535. deptnm = ds_cond_instcd.getColumn(i,"depthngnm")
  536. }
  537. break;
  538. }
  539. }
  540. if ( deptnm == "" ) {
  541. for( var i = 0; i < deptCnt; i++){
  542. drugdeptcd = ds_data_drugdep.getColumn(i,"deptcd");
  543. if( drugdeptcd == orddeptcd || orddeptcd == "DRUGDEPT" ) {
  544. deptnm = "약제 공통";
  545. break;
  546. }
  547. }
  548. }
  549. indxnm = ds_data_item.getColumn(iRow,"indxnm");
  550. if ( mode == "new" ) {
  551. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 폴더 생성";
  552. }else if ( mode == "set" ) {
  553. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 폴더 수정";
  554. }else if ( mode == "del" ) {
  555. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 폴더 삭제";
  556. }else if ( mode == "del" ) {
  557. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 폴더 삭제";
  558. }else if ( mode == "indxdel" ) {
  559. msg = indxnm + " 색인은 [" + deptnm + "] 부서의 색인입니다. 색인 삭제";
  560. }else if ( mode == "indxnew" ) {
  561. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 색인 추가";
  562. }else if ( mode == "folderorder" ) {
  563. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 폴더순서정렬";
  564. }
  565. sysf_messageBox(msg, "E002");
  566. return false;
  567. }
  568. }
  569. else {
  570. drugdeptYn = "N";
  571. orddeptcd == ds_data_item.getColumn(iRow,"orddeptcd");
  572. for ( var i = 0; i < dpetcnt; i++ ) {
  573. drugdeptcd = ds_data_drugdep.getColumn(i,"deptcd");
  574. if ( drugdeptcd == orddeptcd || orddeptcd == "DRUGDEPT" ) {
  575. drugdeptYn = "Y";
  576. break;
  577. }
  578. }
  579. if ( drugdeptYn == "N" ) { // 선택한 폴더가 약제팀 폴더가 아닌 경우
  580. var deptCnt = ds_cond_instcd.rowcount;
  581. for ( var i=0 ; i<deptCnt ; i++ ) {
  582. if ( orddeptcd == ds_cond_instcd.getColumn(i,"deptcd") ) {
  583. if ( orddeptcd == "DRUGDEPT" ) {
  584. deptnm = "약제 공통";
  585. }
  586. else {
  587. deptnm = ds_cond_instcd.getColumn(i,"depthngnm") ;
  588. }
  589. break;
  590. }
  591. }
  592. indxnm = ds_data_item.getColumn(iRow,"indxnm");
  593. if ( mode == "new" ) {
  594. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 폴더 생성";
  595. }else if ( mode == "set" ) {
  596. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 폴더 수정";
  597. }else if ( mode == "del" ) {
  598. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 폴더 삭제";
  599. }else if ( mode == "del" ) {
  600. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 폴더 삭제";
  601. }else if ( mode == "indxdel" ) {
  602. msg = indxnm + " 색인은 [" + deptnm + "] 부서의 색인입니다. 색인 삭제";
  603. }else if ( mode == "indxnew" ) {
  604. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 색인 추가";
  605. }else if ( mode == "folderorder" ) {
  606. msg = indxnm + " 폴더는 [" + deptnm + "] 부서의 폴더입니다. 폴더순서정렬";
  607. }
  608. sysf_messageBox(msg, "E002");
  609. return false;
  610. }
  611. }
  612. return true;
  613. }
  614. /******************************************************************************************************
  615. * Argument : 없음
  616. * Description : //파일 이름, 크기 등 정보
  617. ******************************************************************************************************/
  618. function lf_saveFile(objVFile, nRow)
  619. {
  620. var sRowType = ds_notice.getRowType(nRow);
  621. // 그 파일의 데이터를 데이터셋의 특정 컬럼에 BLOB 형식으로 write 한다.
  622. var file = dsf_writeFileToDs(objVFile, ds_notice, nRow, "attfiledata");
  623. ds_notice.setColumn(nRow, "attfilenm", file.filename);
  624. ds_notice.setColumn(nRow, "attfilesize", file.filesize);
  625. ds_notice.setColumn(nRow, "attfiletype", file.filetype);
  626. ds_notice.setColumn(nRow, "attfilepath", file.filepath);
  627. if (sRowType == Dataset.ROWTYPE_INSERT) {
  628. ds_notice.setColumn(nRow, "attfiledown", "입력된 파일");
  629. }
  630. else {
  631. ds_notice.setColumn(nRow, "attfiledown", "수정된 파일");
  632. }
  633. }
  634. //=======================================================================================
  635. // Transaction Callback
  636. //---------------------------------------------------------------------------------------
  637. /****************************************************************************************
  638. * Argument : 01. strSvcID
  639. * 02. nErrorCode
  640. * 03. strErrorMsg
  641. * Description : cbf_TXMMD05001_save 콜백함수
  642. ****************************************************************************************/
  643. function cbf_TXMMD05001_save(strSvcID, nErrorCode, strErrorMsg){
  644. if(nErrorCode == 0){
  645. ds_cond_req.clearData();
  646. }
  647. }
  648. /****************************************************************************************
  649. * Argument : 01. strSvcID
  650. * 02. nErrorCode
  651. * 03. strErrorMsg
  652. * Description : cbf_TXMMD05002 콜백함수
  653. ****************************************************************************************/
  654. function cbf_TXMMD05002(strSvcID, nErrorCode, strErrorMsg){
  655. if(nErrorCode == 0){
  656. ds_notice.clearData();
  657. }
  658. }
  659. /****************************************************************************************
  660. * Argument : 01. strSvcID
  661. * 02. nErrorCode
  662. * 03. strErrorMsg
  663. * Description : cbf_TXMMD05001_index 콜백함수
  664. ****************************************************************************************/
  665. function cbf_TXMMD05001_index(strSvcID, nErrorCode, strErrorMsg){
  666. if(nErrorCode == 0){
  667. tranf_submit({
  668. id: "TXMMD05002"
  669. , service: "prcpmngtapp.MedRefMngt"
  670. , method: "reqExeUploadAttFile"
  671. , inds : "attach=ds_notice"
  672. , outds: "ds_data_attach=attach"
  673. , callback: "cbf_TXMMD05002"
  674. , async: false
  675. })
  676. }
  677. }
  678. //=======================================================================================
  679. // Event
  680. //---------------------------------------------------------------------------------------
  681. /****************************************************************************************
  682. * Components :
  683. * Components ID : SMMMD05300
  684. * Event : onload
  685. * Argument : 01.obj : Object Event has occurred
  686. * : 02.e : Event Object
  687. * Description :
  688. ****************************************************************************************/
  689. function SMMMD05300_onload(obj:Form, e:LoadEventInfo)
  690. {
  691. frmf_initForm(obj); // 화면공통
  692. tranf_submit({
  693. id: "TRMMD05201"
  694. , service: "prcpmngtapp.MedRefMngt"
  695. , method: "reqGetInstDrugDeptList"
  696. //, inds : "req="+sInDsName
  697. , outds: "ds_data_dept=drugdept"
  698. //, callback: "cbf_TRMMP02709"
  699. , async: false
  700. });
  701. // 색인초기화
  702. lf_Initialize();
  703. //폴더 오른쪽 마우스
  704. frmf_createPopupMenu("pmn_popupMenu", "pmn_popupMenu_onmenuclick",
  705. [{id: "new", level: "1", title: "새폴더"},
  706. {id: "rename", level: "1", title: "이름바꾸기"},
  707. {id: "delete", level: "1", title: "삭제"},
  708. //{id: "delete", level: "1", title: "폴더순서변경"},
  709. {id: "add", level: "1", title: "색인 추가"}
  710. ]);
  711. //색인 오른쪽 마우스
  712. frmf_createPopupMenu("pmn_popupMenu2", "pmn_popupMenu2_onmenuclick2",
  713. [{id: "down", level: "1", title: "다운로드"},
  714. {id: "del", level: "1", title: "삭제"}
  715. ]);
  716. }
  717. /****************************************************************************************
  718. * Components : Button
  719. * Components ID : btn_cancle
  720. * Event : onclick
  721. * Argument : 01.obj : Button
  722. * : 02.e : ClickEventInfo
  723. * Description : 색인등록하는 그룹이랑 이름 바꾸는 그룹 안보이도록
  724. ****************************************************************************************/
  725. function grp_cond_btn_cancle_onclick(obj:Button, e:ClickEventInfo)
  726. {
  727. grp_cond.visible = "false";
  728. }
  729. /****************************************************************************************
  730. * Components : Button
  731. * Components ID : btn_cls
  732. * Event : onclick
  733. * Argument : 01.obj : Button
  734. * : 02.e : ClickEventInfo
  735. * Description : 색인등록하는 그룹이랑 이름 바꾸는 그룹 안보이도록(x 버튼)
  736. ****************************************************************************************/
  737. function grp_cond_btn_cls_onclick(obj:Button, e:ClickEventInfo)
  738. {
  739. grp_cond.visible = "false";
  740. }
  741. /****************************************************************************************
  742. * Components : Button
  743. * Components ID : btn_ok
  744. * Event : onclick
  745. * Argument : 01.obj : Button
  746. * : 02.e : ClickEventInfo
  747. * Description : 색인추가하는 확인버튼
  748. ****************************************************************************************/
  749. function grp_cond_btn_ok_onclick(obj:Button, e:ClickEventInfo)
  750. {
  751. if(funflag == "0"){
  752. fSaveIndx();//색인 추가
  753. }else{
  754. lf_Confirm();//폴더저장
  755. }
  756. }
  757. /****************************************************************************************
  758. * Components : Button
  759. * Components ID : btn_modify
  760. * Event : onclick
  761. * Argument : 01.obj : Button
  762. * : 02.e : ClickEventInfo
  763. * Description : 폴더명 수정 확인버튼
  764. ****************************************************************************************/
  765. function grp_cond_btn_modify_onclick(obj:Button, e:ClickEventInfo)
  766. {
  767. var iRow = ds_data_item.rowposition;
  768. lf_SaveFolderIndx(iRow,"u","modify");//폴더명 변경 함수
  769. }
  770. /****************************************************************************************
  771. * Components : Button
  772. * Components ID : btn_find
  773. * Event : onclick
  774. * Argument : 01.obj : Button
  775. * : 02.e : ClickEventInfo
  776. * Description : 찾기 버튼
  777. ****************************************************************************************/
  778. function grp_cond_btn_find_onclick(obj:Button, e:ClickEventInfo)
  779. {
  780. var max = 5242880;//파일 크기 사이즈
  781. var fd = new FileDialog();
  782. fd.filter = "All Files (*.*)|*.*";//"PDF Files(*.pdf)|*.pdf";
  783. var objVFileList = fd.open("FileOpen", FileDialog.LOAD); // 여러파일 선택\
  784. trace(objVFileList.filename);
  785. if( utlf_isNull(objVFileList.filename)){
  786. return;
  787. }else{
  788. grp_cond.inpt_srch.value = objVFileList.filename;
  789. var iRow = ds_notice.addRow();
  790. var vfile = dsf_writeFileToDs(objVFileList, ds_notice, iRow, "filedata");
  791. ds_notice.setColumn(iRow,"attfilenm",objVFileList.filename);
  792. ds_notice.setColumn(iRow,"filenm",objVFileList.filename);
  793. ds_notice.setColumn(iRow,"filesize",vfile.filesize);
  794. ds_notice.setColumn(iRow,"filetype",vfile.filetype);
  795. }
  796. //파일 사이즈 처리필요
  797. if (vfile.filesize > max){
  798. sysf_messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  799. return;
  800. }
  801. }
  802. /****************************************************************************************
  803. * Components : Grid
  804. * Components ID : treeview1
  805. * Event : onrbuttondown
  806. * Argument : 01.obj : Grid
  807. * : 02.e : GridMouseEventInfo
  808. * Description : 트리뷰 마우스 오른쪽 버튼
  809. ****************************************************************************************/
  810. function treeview1_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  811. {
  812. var tmp = ds_data_item.getColumn(e.row, "fileno");
  813. if( e.row >= 0 && e.row < obj.rowcount ){
  814. var objDs = eval(obj.binddataset);
  815. objDs.rowposition = e.row;
  816. if(tmp == 0) {//폴더일 경우의 오른쪽메뉴
  817. pmn_popupMenu.trackPopup(e.screenX,e.screenY);
  818. }
  819. else{//색인일 경우의 오른쪽 메뉴
  820. pmn_popupMenu2.trackPopup(e.screenX,e.screenY);
  821. }
  822. }
  823. }
  824. /****************************************************************************************
  825. * Components : PopupMenu
  826. * Components ID : treeview1
  827. * Event : onmenuclick1
  828. * Argument : 01.obj : PopupMenu
  829. * : 02.e : MenuClickEventInfo
  830. * Description : 폴더일 경우의 마우스 오른쪽 메뉴
  831. ****************************************************************************************/
  832. function pmn_popupMenu_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
  833. {
  834. if(e.id == "new"){
  835. lf_NewFolder();
  836. }else if(e.id == "rename"){
  837. lf_FolderSet()
  838. }else if(e.id == "delete"){
  839. lf_FolderDel();
  840. // }else if(e.id == "seq"){
  841. // //화면 미존재
  842. }else if(e.id == "add"){
  843. lf_IndxAdd();
  844. }
  845. }
  846. /****************************************************************************************
  847. * Components : PopupMenu2
  848. * Components ID : treeview1
  849. * Event : onmenuclick2
  850. * Argument : 01.obj : PopupMenu
  851. * : 02.e : MenuClickEventInfo
  852. * Description : 색인일 경우의 마우스 오른쪽 메뉴
  853. ****************************************************************************************/
  854. function pmn_popupMenu2_onmenuclick2(obj:PopupMenu, e:MenuClickEventInfo)
  855. {
  856. if(e.id == "down"){
  857. fFileDown();//미개발
  858. }else if(e.id == "del"){
  859. lf_FolderDel();
  860. }
  861. }
  862. /****************************************************************************************
  863. * Components : Grid
  864. * Components ID : treeview1
  865. * Event : oncelldblclick
  866. * Argument : 01.obj : Grid
  867. * : 02.e : GridClickEventInfo
  868. * Description : 색인을 더블 클릭 할 경우 파일이 화면옆에 열린다.
  869. ****************************************************************************************/
  870. function treeview1_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  871. {
  872. var fso;
  873. var iRow = obj.currentrow;
  874. var filepath = ds_data_item.getColumn(iRow,"filepath");
  875. var indxnm = ds_data_item.getColumn(iRow,"indxnm");
  876. var fileno = ds_data_item.getColumn(iRow,"fileno");
  877. //임시 디렉토리
  878. var temp_path = "C:\\temp2\\";
  879. fso = inff_fileSystemObject();
  880. // 객체 생성 실패하면 리턴
  881. if (fso == null) {
  882. return;
  883. }
  884. // 시스템 드라이브가 없다면..
  885. if (fso.DriveExists("C") == false) {
  886. return;
  887. }
  888. // 임시디렉토리가 없으면 생성
  889. if (fso.FolderExists(temp_path) == false) {
  890. folder = fso.CreateFolder(temp_path);
  891. }
  892. if( fileno == "0" )//색인이 아니면 리턴
  893. {
  894. return;
  895. }
  896. if( !utlf_isNull(filepath) ){
  897. var sInDsName = dsf_createDsRow("in_ds_search"
  898. , [{col: "filepath", val: filepath}
  899. ]);
  900. tranf_submit({
  901. id: "TRMMD05002"
  902. , service: "prcpmngtapp.MedRefMngt"
  903. , method: "reqGetAttFileData"
  904. , inds : "req="+sInDsName
  905. , outds: "ds_attachfile=attachfile"
  906. //, callback: "cbf_TRMMD05001"
  907. , async: false
  908. });
  909. var sFileName = temp_path+indxnm;//
  910. dsf_readFileFromDs(sFileName, ds_attachfile, 0, "filedata"); // 파일저장
  911. parent.WebBrowser00.url=sFileName;//화면 열기
  912. }else{//파일이 없는 경우
  913. sysf_messageBox("파일이 ", "I004");
  914. return;
  915. }
  916. }
  917. ]]></Script>
  918. </Form>
  919. </FDL>