SPMNO10000_간호전산의뢰게시판.xfdl 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMNO10000" position="absolute 0 0 785 870" titletext="전산의뢰 게시판" onload="SPMNO10000_onload" ontimer="SPMNO10000_ontimer">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 775 25" id="group1">
  8. <Layouts>
  9. <Layout>
  10. <Static text="전산의뢰 게시판" position="absolute 0 0 129 23" id="caption6" class="tit_1"/>
  11. </Layout>
  12. </Layouts>
  13. </Div>
  14. <Div position="absolute 0 23 778 59" align="align:center top;" id="group2" class="div_SA">
  15. <Layouts>
  16. <Layout>
  17. <Static text="의뢰일자 :" position="absolute 225 10 296 27" id="caption2" class="search_name" anchor="default"/>
  18. <Calendar position="absolute 300 8 385 27" id="ipt_fromdd" class="input_search" anchor="default" autoselect="true"/>
  19. <Static text="~" position="absolute 390 8 405 27" align="align:center middle;" id="caption10" anchor="default"/>
  20. <Calendar position="absolute 405 8 490 27" id="ipt_todd" class="input_search" anchor="default" autoselect="true"/>
  21. <Shape position="absolute 574 7 580 32" linetype="vertical" id="line1" class="line_4" anchor="default"/>
  22. <Button position="absolute 587 7 643 29" id="btn_search" class="btn1" text="조회" anchor="default" onclick="group2_btn_search_onclick"/>
  23. <Static text="의뢰구분 :" position="absolute 5 10 76 27" id="caption12" class="search_name" anchor="default"/>
  24. <Radio position="absolute 80 8 190 28" id="rdo_condgbn" columncount="2" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default">
  25. <Dataset id="innerdataset">
  26. <ColumnInfo>
  27. <Column id="codecolumn"/>
  28. <Column id="datacolumn"/>
  29. </ColumnInfo>
  30. <Rows>
  31. <Row>
  32. <Col id="codecolumn">02</Col>
  33. <Col id="datacolumn">진료</Col>
  34. </Row>
  35. <Row>
  36. <Col id="codecolumn">01</Col>
  37. <Col id="datacolumn">간호</Col>
  38. </Row>
  39. </Rows>
  40. </Dataset>
  41. </Radio>
  42. <Button position="absolute 703 7 761 29" id="button1" class="btn7" text="Excel" anchor="default" onclick="group2_button1_onclick"/>
  43. <Button position="absolute 645 7 701 29" id="button2" class="btn6" text="출력" anchor="default" onclick="group2_button2_onclick"/>
  44. </Layout>
  45. </Layouts>
  46. </Div>
  47. <Grid position="absolute 0 66 778 406" id="grd_bbs" scrollbars="autovert" binddataset="ds_main_reqbbsinfo_reqbbslist" oncelldblclick="grd_bbs_oncelldblclick" cellsizingtype="col" autofittype="col">
  48. <Formats>
  49. <Format id="default">
  50. <Columns>
  51. <Column size="50"/>
  52. <Column size="35"/>
  53. <Column size="230"/>
  54. <Column size="0"/>
  55. <Column size="116"/>
  56. <Column size="60"/>
  57. <Column size="90"/>
  58. <Column size="129"/>
  59. <Column size="60"/>
  60. <Column size="0"/>
  61. <Column size="0"/>
  62. <Column size="0"/>
  63. <Column size="0"/>
  64. <Column size="0"/>
  65. <Column size="0"/>
  66. <Column size="0"/>
  67. <Column size="0"/>
  68. <Column size="0"/>
  69. <Column size="0"/>
  70. </Columns>
  71. <Rows>
  72. <Row size="24" band="head"/>
  73. <Row size="24"/>
  74. </Rows>
  75. <Band id="head">
  76. <Cell text="No."/>
  77. <Cell col="1" text="상태"/>
  78. <Cell col="2" text="의뢰제목"/>
  79. <Cell col="3" text="의뢰내용"/>
  80. <Cell col="4" text="의뢰일자"/>
  81. <Cell col="5" text="의뢰자"/>
  82. <Cell col="6" text="의뢰부서"/>
  83. <Cell col="7" text="응답일자"/>
  84. <Cell col="8" text="응답자"/>
  85. <Cell col="9" text="첨부파일명"/>
  86. <Cell col="10" text="첨부파일패스"/>
  87. <Cell col="11" text="구분"/>
  88. <Cell col="12" text="기관"/>
  89. <Cell col="13" text="의뢰자ID"/>
  90. <Cell col="14" text="응답일자"/>
  91. <Cell col="15" text="응답자ID"/>
  92. <Cell col="16" text="응답내용"/>
  93. <Cell col="17" text="의뢰부서코드"/>
  94. <Cell col="18" text="의뢰전화"/>
  95. </Band>
  96. <Band id="body">
  97. <Cell style="align:right;" text="bind:seq_no"/>
  98. <Cell col="1" displaytype="combo" edittype="none" style="padding:2 2 2 2;" text="bind:status" combodataset="ds_init_status" combocodecol="value" combodatacol="label" enable="false"/>
  99. <Cell col="2" style="align:left;" text="bind:req_title"/>
  100. <Cell col="3" text="bind:req_text"/>
  101. <Cell col="4" displaytype="date" text="bind:reqdate" mask="yyyy-MM-dd HH:mm:ss" calendardisplaynulltype="nulltext"/>
  102. <Cell col="5" style="align:left;" text="bind:req"/>
  103. <Cell col="6" style="align:left;" text="bind:reqward"/>
  104. <Cell col="7" displaytype="date" text="bind:replydate" mask="yyyy-MM-dd HH:mm:ss" calendardisplaynulltype="nulltext"/>
  105. <Cell col="8" text="bind:rep"/>
  106. <Cell col="9" text="bind:attfilenm"/>
  107. <Cell col="10" text="bind:attfilepath"/>
  108. <Cell col="11" text="bind:gbn"/>
  109. <Cell col="12" text="bind:instcd"/>
  110. <Cell col="13" text="bind:reqid"/>
  111. <Cell col="14" text="bind:replydate"/>
  112. <Cell col="15" text="bind:replyid"/>
  113. <Cell col="16" text="bind:reply_text"/>
  114. <Cell col="17" text="bind:reqwardcd"/>
  115. <Cell col="18" text="bind:reqphone"/>
  116. </Band>
  117. </Format>
  118. </Formats>
  119. </Grid>
  120. <Shape position="absolute 0 61 778 67" linetype="horizontal" id="line2" class="line_1" style="strokepen:3 solid #33bbbbff;"/>
  121. <Shape position="absolute 0 861 778 867" linetype="horizontal" id="line4" class="line_3"/>
  122. <Button position="absolute 542 413 606 432" id="btn_cancel" class="btn2" taborder="5" visible="false" text="작성취소" onclick="btn_cancel_onclick"/>
  123. <Button position="absolute 607 413 649 432" id="btn_new" class="btn2" taborder="5" text="신규" onclick="btn_new_onclick"/>
  124. <Button position="absolute 650 413 692 432" id="btn_mod" class="btn2" taborder="5" text="수정" onclick="btn_mod_onclick"/>
  125. <Button position="absolute 693 413 735 432" id="btn_save" class="btn5" enable="false" taborder="5" text="저장" onclick="btn_save_onclick"/>
  126. <Button position="absolute 736 413 778 432" id="btn_del" class="btn5" enable="false" text="삭제" onclick="btn_del_onclick"/>
  127. <Static text="의뢰내용" position="absolute 0 487 79 634" align="align:center middle;" id="cap_cnts" class="cell_1"/>
  128. <Shape position="absolute 0 435 778 441" linetype="horizontal" id="line9" class="line_1" style="strokepen:3 solid #33bbbbff;"/>
  129. <Static text="내용" position="absolute 1 418 135 435" id="caption7" class="tit_2"/>
  130. <TextArea position="absolute 81 487 778 634" id="ipt_req_text" class="text_essential" wordwrap="word"/>
  131. <Static text="응답내용" position="absolute 0 689 79 836" align="align:center middle;" id="caption1" class="cell_1"/>
  132. <Static text="의뢰일" position="absolute 609 442 656 461" align="align:center middle;" id="caption5" class="cell_1"/>
  133. <Static text="의뢰자" position="absolute 179 442 227 461" align="align:center middle;" id="caption8" class="cell_1"/>
  134. <Static text="부서" position="absolute 459 442 503 461" align="align:center middle;" id="caption9" class="cell_1"/>
  135. <Edit position="absolute 228 442 296 461" id="input1"/>
  136. <Edit position="absolute 504 442 607 461" id="input2"/>
  137. <MaskEdit position="absolute 657 442 778 461" id="input3" mask="####-##-## ##:##:##" maskchar=" " type="string" displaynulltext=" " style="align:left middle;" trimtype="both"/>
  138. <Edit position="absolute 5 442 90 461" id="input4" visible="false"/>
  139. <Edit position="absolute 20 442 150 461" id="input5" visible="false"/>
  140. <Static text="상태" position="absolute 0 839 79 861" align="align:center middle;" id="caption3" class="cell_1"/>
  141. <Radio position="absolute 85 839 745 859" id="rdo_status" enable="false" columncount="5" codecolumn="codecolumn" datacolumn="datacolumn">
  142. <Dataset id="innerdataset">
  143. <ColumnInfo>
  144. <Column id="codecolumn"/>
  145. <Column id="datacolumn"/>
  146. </ColumnInfo>
  147. <Rows>
  148. <Row>
  149. <Col id="codecolumn">0</Col>
  150. <Col id="datacolumn">대기</Col>
  151. </Row>
  152. <Row>
  153. <Col id="codecolumn">1</Col>
  154. <Col id="datacolumn">진행</Col>
  155. </Row>
  156. <Row>
  157. <Col id="codecolumn">2</Col>
  158. <Col id="datacolumn">보류</Col>
  159. </Row>
  160. <Row>
  161. <Col id="codecolumn">3</Col>
  162. <Col id="datacolumn">완료</Col>
  163. </Row>
  164. <Row>
  165. <Col id="codecolumn">9</Col>
  166. <Col id="datacolumn">반려</Col>
  167. </Row>
  168. </Rows>
  169. </Dataset>
  170. </Radio>
  171. <TextArea position="absolute 81 689 778 836" id="ipt_reply_text" enable="false" wordwrap="word"/>
  172. <Static text="응답일" position="absolute 562 666 614 685" align="align:center middle;" id="caption4" class="cell_1"/>
  173. <Static text="응답자" position="absolute 414 666 464 685" align="align:center middle;" id="caption11" class="cell_1"/>
  174. <Shape position="absolute 0 658 778 664" linetype="horizontal" id="line6" class="line_2"/>
  175. <Button position="absolute 736 666 778 685" id="btn_reply" class="btn2" taborder="5" text="응답" onclick="btn_reply_onclick"/>
  176. <Edit position="absolute 170 664 255 683" id="ipt_replyid" visible="false"/>
  177. <Edit position="absolute 467 666 552 685" id="ipt_rep"/>
  178. <MaskEdit position="absolute 615 666 733 685" id="ipt_replydate" mask="####-##-## ##:##:##" type="string" maskchar=" " displaynulltext=" " style="align:left middle;" trimtype="both"/>
  179. <Static text="의뢰구분" position="absolute 0 443 79 462" align="align:center middle;" id="caption13" class="cell_1"/>
  180. <Radio position="absolute 84 442 177 463" id="rdo_gbn" columncount="2" codecolumn="codecolumn" datacolumn="datacolumn">
  181. <Dataset id="innerdataset">
  182. <ColumnInfo>
  183. <Column id="codecolumn"/>
  184. <Column id="datacolumn"/>
  185. </ColumnInfo>
  186. <Rows>
  187. <Row>
  188. <Col id="codecolumn">02</Col>
  189. <Col id="datacolumn">진료</Col>
  190. </Row>
  191. <Row>
  192. <Col id="codecolumn">01</Col>
  193. <Col id="datacolumn">간호</Col>
  194. </Row>
  195. </Rows>
  196. </Dataset>
  197. </Radio>
  198. <Button position="absolute 673 638 737 657" id="btn_down" class="btn2" taborder="6" text="다운로드" onclick="btn_down_onclick"/>
  199. <Edit position="absolute 81 638 563 657" id="ipt_attfilenm"/>
  200. <Button position="absolute 738 638 780 657" id="btn_filedel" class="btn2" text="삭제" onclick="btn_filedel_onclick"/>
  201. <Static text="첨부" position="absolute 0 637 79 659" align="align:center middle;" id="caption14" class="cell_1"/>
  202. <Button position="absolute 608 638 672 657" id="btn_preview" class="btn2" taborder="6" text="미리보기" onclick="btn_preview_onclick"/>
  203. <Button position="absolute 565 638 607 657" id="btn_fileadd" class="btn2" text="첨부" onclick="btn_fileadd_onclick"/>
  204. <Edit position="absolute 347 442 457 461" id="input6"/>
  205. <Static text="연락처" position="absolute 298 442 346 461" align="align:center middle;" id="caption15" class="cell_1"/>
  206. <TextArea position="absolute 81 465 778 484" id="ipt_req_title" class="text_essential" style="padding:3 5 3 5;"/>
  207. <Static text="의뢰제목" position="absolute 0 465 79 484" align="align:center middle;" id="caption16" class="cell_1"/>
  208. </Layout>
  209. </Layouts>
  210. <Objects>
  211. <Dataset id="ds_grd_bbs" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  212. <ColumnInfo>
  213. <Column id="seq_no" type="STRING"/>
  214. <Column id="status" type="STRING"/>
  215. <Column id="req_title" type="STRING"/>
  216. <Column id="req_text" type="STRING"/>
  217. <Column id="reqdate" type="STRING"/>
  218. <Column id="req" type="STRING"/>
  219. <Column id="reqward" type="STRING"/>
  220. <Column id="replydate" type="STRING"/>
  221. <Column id="rep" type="STRING"/>
  222. <Column id="attfilenm" type="STRING"/>
  223. <Column id="attfilepath" type="STRING"/>
  224. <Column id="gbn" type="STRING"/>
  225. <Column id="instcd" type="STRING"/>
  226. <Column id="reqid" type="STRING"/>
  227. <Column id="replydate" type="STRING"/>
  228. <Column id="replyid" type="STRING"/>
  229. <Column id="reply_text" type="STRING"/>
  230. <Column id="reqwardcd" type="STRING"/>
  231. <Column id="reqphone" type="STRING"/>
  232. </ColumnInfo>
  233. </Dataset>
  234. <Dataset id="ds_main_iteminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  235. <ColumnInfo>
  236. <Column id="seq_no" type="STRING" size="256"/>
  237. <Column id="gbn" type="STRING" size="256"/>
  238. <Column id="instcd" type="STRING" size="256"/>
  239. <Column id="reqdate" type="STRING" size="256"/>
  240. <Column id="reqid" type="STRING" size="256"/>
  241. <Column id="req" type="STRING" size="256"/>
  242. <Column id="replydate" type="STRING" size="256"/>
  243. <Column id="replyid" type="STRING" size="256"/>
  244. <Column id="rep" type="STRING" size="256"/>
  245. <Column id="status" type="STRING" size="256"/>
  246. <Column id="savemode" type="STRING" size="256"/>
  247. <Column id="req_title" type="STRING" size="256"/>
  248. <Column id="req_text" type="STRING" size="256"/>
  249. <Column id="reply_text" type="STRING" size="256"/>
  250. <Column id="reqwardcd" type="STRING" size="256"/>
  251. <Column id="reqward" type="STRING" size="256"/>
  252. <Column id="attfilenm" type="STRING" size="256"/>
  253. <Column id="attfilepath" type="STRING" size="256"/>
  254. <Column id="reqphone" type="STRING" size="256"/>
  255. </ColumnInfo>
  256. <Rows>
  257. <Row>
  258. <Col id="seq_no"/>
  259. <Col id="gbn">02</Col>
  260. <Col id="instcd"/>
  261. <Col id="reqdate"/>
  262. <Col id="reqid"/>
  263. <Col id="req"/>
  264. <Col id="replydate"/>
  265. <Col id="replyid"/>
  266. <Col id="rep"/>
  267. <Col id="status"/>
  268. <Col id="savemode"/>
  269. <Col id="req_title"/>
  270. <Col id="req_text"/>
  271. <Col id="reply_text"/>
  272. <Col id="reqwardcd"/>
  273. <Col id="reqward"/>
  274. <Col id="attfilenm"/>
  275. <Col id="attfilepath"/>
  276. <Col id="reqphone"/>
  277. </Row>
  278. </Rows>
  279. </Dataset>
  280. <Dataset id="ds_main_reqbbsinfo_reqbbslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  281. <ColumnInfo>
  282. <Column id="seq_no" type="STRING" size="256"/>
  283. <Column id="gbn" type="STRING" size="256"/>
  284. <Column id="instcd" type="STRING" size="256"/>
  285. <Column id="reqdate" type="STRING" size="256"/>
  286. <Column id="reqid" type="STRING" size="256"/>
  287. <Column id="replydate" type="STRING" size="256"/>
  288. <Column id="replyid" type="STRING" size="256"/>
  289. <Column id="status" type="STRING" size="256"/>
  290. <Column id="req_title" type="STRING" size="256"/>
  291. <Column id="req_text" type="STRING" size="256"/>
  292. <Column id="reply_text" type="STRING" size="256"/>
  293. <Column id="reqwardcd" type="STRING" size="256"/>
  294. <Column id="attfilenm" type="STRING" size="256"/>
  295. <Column id="attfilepath" type="STRING" size="256"/>
  296. <Column id="reqphone" type="STRING" size="256"/>
  297. </ColumnInfo>
  298. <Rows>
  299. <Row>
  300. <Col id="seq_no"/>
  301. <Col id="gbn"/>
  302. <Col id="instcd"/>
  303. <Col id="reqdate"/>
  304. <Col id="reqid"/>
  305. <Col id="replydate"/>
  306. <Col id="replyid"/>
  307. <Col id="status"/>
  308. <Col id="req_title"/>
  309. <Col id="req_text"/>
  310. <Col id="reply_text"/>
  311. <Col id="reqwardcd"/>
  312. <Col id="attfilenm"/>
  313. <Col id="attfilepath"/>
  314. <Col id="reqphone"/>
  315. </Row>
  316. </Rows>
  317. </Dataset>
  318. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  319. <ColumnInfo>
  320. <Column id="gbn" type="STRING" size="256"/>
  321. <Column id="todd" type="STRING" size="256"/>
  322. <Column id="fromdd" type="STRING" size="256"/>
  323. </ColumnInfo>
  324. <Rows>
  325. <Row>
  326. <Col id="gbn">02</Col>
  327. <Col id="todd"/>
  328. <Col id="fromdd"/>
  329. </Row>
  330. </Rows>
  331. </Dataset>
  332. <Dataset id="ds_main_itcinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  333. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  334. <ColumnInfo>
  335. <Column id="reqphone" type="STRING" size="256"/>
  336. </ColumnInfo>
  337. </Dataset>
  338. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  339. <ColumnInfo>
  340. <Column id="gbn" type="STRING" size="256"/>
  341. <Column id="fromdd" type="STRING" size="256"/>
  342. <Column id="todd" type="STRING" size="256"/>
  343. <Column id="file" type="STRING" size="256"/>
  344. </ColumnInfo>
  345. <Rows>
  346. <Row>
  347. <Col id="gbn"/>
  348. <Col id="fromdd"/>
  349. <Col id="todd"/>
  350. <Col id="file"/>
  351. </Row>
  352. </Rows>
  353. </Dataset>
  354. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  355. <Dataset id="ds_init_M0624" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  356. <Dataset id="ds_init_status" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  357. <ColumnInfo>
  358. <Column id="label" type="STRING" size="256"/>
  359. <Column id="value" type="STRING" size="256"/>
  360. </ColumnInfo>
  361. <Rows>
  362. <Row>
  363. <Col id="label">대기</Col>
  364. <Col id="value">0</Col>
  365. </Row>
  366. <Row>
  367. <Col id="label">진행</Col>
  368. <Col id="value">1</Col>
  369. </Row>
  370. <Row>
  371. <Col id="label">보류</Col>
  372. <Col id="value">2</Col>
  373. </Row>
  374. <Row>
  375. <Col id="label">완료</Col>
  376. <Col id="value">3</Col>
  377. </Row>
  378. <Row>
  379. <Col id="label">반려</Col>
  380. <Col id="value">9</Col>
  381. </Row>
  382. </Rows>
  383. </Dataset>
  384. <Dataset id="ds_temp_reqbbsinfo_reqbbslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  385. <ColumnInfo>
  386. <Column id="seq_no" type="STRING" size="256"/>
  387. <Column id="gbn" type="STRING" size="256"/>
  388. <Column id="instcd" type="STRING" size="256"/>
  389. <Column id="reqdate" type="STRING" size="256"/>
  390. <Column id="reqid" type="STRING" size="256"/>
  391. <Column id="replydate" type="STRING" size="256"/>
  392. <Column id="replyid" type="STRING" size="256"/>
  393. <Column id="status" type="STRING" size="256"/>
  394. <Column id="req_title" type="STRING" size="256"/>
  395. <Column id="req_text" type="STRING" size="256"/>
  396. <Column id="reply_text" type="STRING" size="256"/>
  397. <Column id="reqwardcd" type="STRING" size="256"/>
  398. <Column id="attfilenm" type="STRING" size="256"/>
  399. <Column id="attfilepath" type="STRING" size="256"/>
  400. <Column id="reqphone" type="STRING" size="256"/>
  401. </ColumnInfo>
  402. <Rows>
  403. <Row>
  404. <Col id="seq_no"/>
  405. <Col id="gbn"/>
  406. <Col id="instcd"/>
  407. <Col id="reqdate"/>
  408. <Col id="reqid"/>
  409. <Col id="replydate"/>
  410. <Col id="replyid"/>
  411. <Col id="status"/>
  412. <Col id="req_title"/>
  413. <Col id="req_text"/>
  414. <Col id="reply_text"/>
  415. <Col id="reqwardcd"/>
  416. <Col id="attfilenm"/>
  417. <Col id="attfilepath"/>
  418. <Col id="reqphone"/>
  419. </Row>
  420. </Rows>
  421. </Dataset>
  422. <Dataset id="ds_send_file" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  423. <ColumnInfo>
  424. <Column id="filedata" type="BLOB" size="0"/>
  425. <Column id="filenm" type="STRING" size="256"/>
  426. <Column id="filesize" type="STRING" size="256"/>
  427. <Column id="filetype" type="STRING" size="256"/>
  428. </ColumnInfo>
  429. </Dataset>
  430. <Dataset id="ds_req" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  431. <Dataset id="ds_download" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  432. <Dataset id="ds_main_reqphone" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  433. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  434. </Objects>
  435. <Bind>
  436. <BindItem id="item0" compid="group2.rdo_condgbn" propid="value" datasetid="ds_main_cond" columnid="gbn"/>
  437. <BindItem id="item1" compid="group2.ipt_fromdd" propid="value" datasetid="ds_main_cond" columnid="fromdd"/>
  438. <BindItem id="item2" compid="group2.ipt_todd" propid="value" datasetid="ds_main_cond" columnid="todd"/>
  439. <BindItem id="item3" compid="rdo_gbn" propid="value" datasetid="ds_main_iteminfo" columnid="gbn"/>
  440. <BindItem id="item4" compid="input1" propid="value" datasetid="ds_main_iteminfo" columnid="req"/>
  441. <BindItem id="item5" compid="input6" propid="value" datasetid="ds_main_iteminfo" columnid="reqphone"/>
  442. <BindItem id="item6" compid="input2" propid="value" datasetid="ds_main_iteminfo" columnid="reqward"/>
  443. <BindItem id="item7" compid="input3" propid="value" datasetid="ds_main_iteminfo" columnid="reqdate"/>
  444. <BindItem id="item8" compid="ipt_req_title" propid="value" datasetid="ds_main_iteminfo" columnid="req_title"/>
  445. <BindItem id="item9" compid="ipt_req_text" propid="value" datasetid="ds_main_iteminfo" columnid="req_text"/>
  446. <BindItem id="item10" compid="ipt_attfilenm" propid="value" datasetid="ds_main_iteminfo" columnid="attfilenm"/>
  447. <BindItem id="item11" compid="ipt_replyid" propid="value" datasetid="ds_main_iteminfo" columnid="replyid"/>
  448. <BindItem id="item12" compid="ipt_rep" propid="value" datasetid="ds_main_iteminfo" columnid="rep"/>
  449. <BindItem id="item13" compid="ipt_replydate" propid="value" datasetid="ds_main_iteminfo" columnid="replydate"/>
  450. <BindItem id="item14" compid="ipt_reply_text" propid="value" datasetid="ds_main_iteminfo" columnid="reply_text"/>
  451. <BindItem id="item15" compid="rdo_status" propid="value" datasetid="ds_main_iteminfo" columnid="status"/>
  452. <BindItem id="item16" compid="input5" propid="value" datasetid="ds_main_iteminfo" columnid="reqwardcd"/>
  453. <BindItem id="item17" compid="input4" propid="value" datasetid="ds_main_iteminfo" columnid="reqid"/>
  454. </Bind>
  455. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  456. * System Name :
  457. * Job Name :
  458. * Creator :
  459. * Make Date : 2015-05-01
  460. * Description :
  461. *---------------------------------------------------------------------------------------
  462. * Modify Date Modifier Modify Description
  463. *---------------------------------------------------------------------------------------
  464. * 2015-05-01 Live Converter TF->XP
  465. *
  466. *---------------------------------------------------------------------------------------
  467. ****************************************************************************************/
  468. include "com_commonxp::comm_main.xjs";
  469. //include "com_basiccodexp::ZBC001.xjs";
  470. //include "emr_outcarexp::SPMNO10000.xjs";
  471. var gMaxSize = 10485760;
  472. var arErrorCode = new HashArray();
  473. //------------
  474. // SPMNO10000.xjs 시작
  475. //----------------------
  476. /**
  477. * _desc : 게시판 화면 초기화
  478. * _
  479. * _param :
  480. * _return :
  481. * _author :
  482. * _---------------------------------------------------
  483. */
  484. function fInitialize(){
  485. var jobkindcd = sysf_getUserInfo("jobkindcd");
  486. if (jobkindcd == "0330") {
  487. dsf_makeValue( ds_main_cond, "gbn", "string", '02');
  488. } else {
  489. dsf_makeValue( ds_main_cond, "gbn", "string", '01');
  490. }
  491. //조회된 조건 초기화
  492. ipt_req_title.value = "";
  493. ipt_req_text.value = "";
  494. ipt_attfilenm.value = "";
  495. //조회날짜 받아옴
  496. var fromdd = ((utlf_getCurrentDate().toDate()).getAddDate(-30)).getDateFormat();
  497. var todd = utlf_getCurrentDate();
  498. //한달을 기준으로 한달안에 보내진 게시판만 보여줌
  499. dsf_makeValue( ds_main_cond, "fromdd", "string", fromdd);
  500. dsf_makeValue( ds_main_cond, "todd", "string", todd);
  501. // 게시판 리스트를 조회
  502. //fgetReqBbsList();
  503. this.setTimer(0, 100);
  504. }
  505. /**
  506. * _desc : 게시판 조회
  507. * _
  508. * _param :
  509. * _return :
  510. * _author :
  511. * _---------------------------------------------------
  512. */
  513. function fgetReqBbsList(){
  514. //조회시에 수정및 삭제를 할수 없음
  515. btn_new.enable = true;
  516. btn_mod.enable = false;
  517. btn_cancel.visible = false;
  518. btn_save.enable = false;
  519. btn_del.enable = false;
  520. ipt_reply_text.enable = false;
  521. rdo_status.enable = false;
  522. if (fCheckFileExt()) {
  523. btn_preview.enable = true;
  524. btn_down.enable = true;
  525. btn_filedel.enable = true;
  526. }
  527. else {
  528. btn_preview.enable = false;
  529. btn_down.enable = false;
  530. btn_filedel.enable = false;
  531. }
  532. dsf_makeValue( ds_main_iteminfo, "status", "string", "e");
  533. // 조회 조건을 셋팅 한다.
  534. var gbn = ds_main_cond.getColumn(0, "gbn");
  535. var fromdd = ds_main_cond.getColumn(0, "fromdd") + '000000';
  536. var todd = ds_main_cond.getColumn(0, "todd") + '235959';
  537. ds_send.setColumn( 0, "gbn", gbn);
  538. ds_send.setColumn( 0, "fromdd", fromdd);
  539. ds_send.setColumn( 0, "todd", todd);
  540. ds_main_reqbbsinfo_reqbbslist.clearData();
  541. ds_main_iteminfo.clearData(); ds_main_iteminfo.addRow();
  542. // 게시판 리스트를 조회
  543. //submit("TRMNO10001");
  544. var oParam = {};
  545. oParam.id = "TRMNO10001";
  546. oParam.service = "outcareapp.OutCareMngt";
  547. oParam.method = "reqGetReqBbsList";
  548. oParam.inds = "req=ds_send";
  549. oParam.outds = "ds_main_reqbbsinfo_reqbbslist=reqbbslist";
  550. oParam.async = false;
  551. tranf_submit(oParam);
  552. dsf_setDefaultVal(ds_main_reqbbsinfo_reqbbslist, "chkyn:Y");
  553. ds_main_reqbbsinfo_reqbbslist.rowposition = -1;
  554. //model.refresh();
  555. }
  556. /**
  557. * _desc : 게시판 상세조회 (조회모드)
  558. * _
  559. * _param : 행번호
  560. * _return :
  561. * _author :
  562. * _---------------------------------------------------
  563. */
  564. function fgetReqBbsDetail(row){
  565. // 행번호가 없다면 바로 리턴 (버튼클릭하여 공지차을 띄운경우)
  566. if (utlf_isNull(row) || row >= grd_bbs.rowcount) return;
  567. // 해당 게시글을 뿌려줌
  568. ds_main_iteminfo.copyRow(0, ds_main_reqbbsinfo_reqbbslist, row);
  569. //model.refresh();
  570. // 사용자정보를 가지고와서 글작성자가 아니면 수정_삭제할수 없도록 함
  571. var userid = sysf_getUserId();
  572. var writerid = ds_main_iteminfo.getColumn(0, "reqid");
  573. if (userid == writerid) {
  574. btn_mod.enable = true;
  575. btn_del.enable = true;
  576. ipt_req_title.enable = true;
  577. ipt_req_text.enable = true;
  578. //ipt_req_text.attribute("editable") = true;
  579. //ipt_req_text.attribute("readonly") = true;
  580. ipt_attfilenm.enable = true;
  581. } else{
  582. btn_mod.enable = false;
  583. btn_del.enable = false;
  584. ipt_req_title.enable = false;
  585. //ipt_req_text.enable = false;
  586. //ipt_req_text.attribute("editable") = false;
  587. //ipt_req_text.attribute("readonly") = true;
  588. ipt_attfilenm.enable = false;
  589. }
  590. // 각종 컨트롤 보여주기 설정
  591. btn_cancel.visible = false;
  592. btn_new.enable = true;
  593. btn_save.enable = false;
  594. // var jobkindcd = sysf_getUserInfo("jobkindcd");
  595. // var gbn = "";
  596. //
  597. // alert(jobkindcd);
  598. // if (jobkindcd == "1140") {
  599. // gbn = '01';
  600. // } else {
  601. // gbn = '02';
  602. // }
  603. // alert(gbn);
  604. var gbn = ds_main_iteminfo.getColumn(0, "gbn");
  605. dsf_makeValue( ds_send, "gbn", "string", "" );
  606. ds_send.setColumn( 0, "gbn", gbn);
  607. dsf_makeValue( ds_send, "userid", "string", "" );
  608. ds_send.setColumn( 0, "userid", userid);
  609. ds_main_itcinfo.clearData();
  610. //submit("TRMNO10002");
  611. var oParam = {};
  612. oParam.id = "TRMNO10002";
  613. oParam.service = "outcareapp.OutCareMngt";
  614. oParam.method = "reqGetITCinfo";
  615. oParam.inds = "req=ds_send";
  616. oParam.outds = "ds_main_itcinfo=itcinfo";
  617. oParam.async = false;
  618. tranf_submit(oParam);
  619. var itcinfo = ds_main_itcinfo.getColumn(0, "itcinfo");
  620. if (itcinfo == 'Y') {
  621. btn_reply.enable = true;
  622. } else {
  623. btn_reply.enable = false;
  624. }
  625. ipt_reply_text.enable = false;
  626. rdo_status.enable = false;
  627. // ipt_req_title.enable = false; //.attribute("editable") = false;
  628. // ipt_req_text.enable = false; //.attribute("editable") = false;
  629. // ipt_attfilenm.enable = false; //.attribute("editable") = false;
  630. if (fCheckFileExt()) {
  631. btn_preview.enable = true;
  632. btn_down.enable = true;
  633. btn_filedel.enable = true;
  634. }
  635. else {
  636. btn_preview.enable = false;
  637. btn_down.enable = false;
  638. btn_filedel.enable = false;
  639. }
  640. }
  641. /**
  642. * _desc : 게시판 내용 삭제
  643. * _
  644. * _param :
  645. * _return :
  646. * _author :
  647. * _---------------------------------------------------
  648. */
  649. function fDelBbs() {
  650. var seq_no = ds_main_iteminfo.getColumn(0, "seq_no");
  651. if (seq_no == ""){
  652. return;
  653. }
  654. // 사용자정보를 가지고와서 글작성자가 아니면 삭제할 수 없도록 함
  655. var userid = sysf_getUserId();
  656. var writerid = ds_main_iteminfo.getColumn(0, "reqid");
  657. if (userid == writerid) {
  658. dsf_makeValue( ds_main_iteminfo, "savemode", "string", "d"); // 삭제표시
  659. fExeSave(); // 저장
  660. } else {
  661. sysf_messageBox("작성자만 삭제 ","I006");
  662. }
  663. }
  664. /**
  665. * _desc : 게시판 신규 _수정 후 저장
  666. * _
  667. * _param :
  668. * _return :
  669. * _author :
  670. * _---------------------------------------------------
  671. */
  672. function fExeSave() {
  673. var savemode = ds_main_iteminfo.getColumn(0, "savemode");
  674. // 게시판 마스터
  675. dsf_makeValue( ds_send, "savedata", "string", "" );
  676. ds_send_savedata.copyData(ds_main_iteminfo);
  677. //var retvalue = submit("TXMNO10001");
  678. var oParam = {};
  679. oParam.id = "TXMNO10001";
  680. oParam.service = "outcareapp.OutCareMngt";
  681. oParam.method = "reqExeSaveReqBbs";
  682. oParam.inds = "req=ds_send_savedata file=ds_send_file";
  683. oParam.outds = "";
  684. oParam.async = false;
  685. oParam.callback = "cf_TXMNO10001";
  686. tranf_submit(oParam);
  687. // 저장시 에러난 경우 목록을 재로딩함
  688. if(arErrorCode.pop("TXMNO10001") < 0)
  689. {
  690. if (savemode == "i"){
  691. sysf_messageBox("새 게시글 작성에", "E009");
  692. }else if (savemode == "u"){
  693. sysf_messageBox("새 게시글 수정에", "E009");
  694. }else if (savemode == "r"){
  695. sysf_messageBox("새 게시글 응답에", "E009");
  696. }else{
  697. sysf_messageBox("새 게시글 삭제에", "E009");
  698. }
  699. }else{
  700. if (savemode == "i"){
  701. sysf_messageBox("새 게시글이 작성이", "I001");
  702. }else if (savemode == "u"){
  703. sysf_messageBox("게시글이 수정이", "I001");
  704. }else if (savemode == "r"){
  705. sysf_messageBox("게시글이 응답", "I001");
  706. }else{
  707. sysf_messageBox("게시글이 삭제", "I001");
  708. }
  709. fgetReqBbsList(); // 재조회
  710. }
  711. }
  712. function cf_TXMNO10001(sSvcId, nErrorCode, sErrorMsg) {
  713. arErrorCode.push(sSvcId, nErrorCode);
  714. }
  715. function fNewBbs() {
  716. ipt_req_title.value = "";
  717. ipt_req_text.value = "";
  718. ipt_attfilenm.value = "";
  719. var userid = sysf_getUserInfo("userid");
  720. var usernm = sysf_getUserInfo("usernm");
  721. var reqwardcd = sysf_getUserInfo("dutplcecd")
  722. var reqward = sysf_getUserInfo("dutplcenm")
  723. var reqdate = utlf_getCurrentDate() + utlf_getCurrentTime();
  724. dsf_makeValue( ds_send, "deptcd", "string", "" );
  725. ds_send.setColumn( 0, "deptcd", reqwardcd);
  726. ds_main_reqphone.clearData();
  727. //submit("TRMNO10004");
  728. var oParam = {};
  729. oParam.id = "TRMNO10004";
  730. oParam.service = "outcareapp.OutCareMngt";
  731. oParam.method = "reqGetReqPhone";
  732. oParam.inds = "req=ds_send";
  733. oParam.outds = "ds_main_reqphone=reqphone";
  734. oParam.async = false;
  735. tranf_submit(oParam);
  736. var reqphone = ds_main_reqphone.getColumn(0, "reqphone");
  737. ds_main_iteminfo.setColumn( 0, "reqid", userid);
  738. ds_main_iteminfo.setColumn( 0, "req", usernm);
  739. ds_main_iteminfo.setColumn( 0, "reqwardcd", reqwardcd);
  740. ds_main_iteminfo.setColumn( 0, "reqward", reqward);
  741. ds_main_iteminfo.setColumn( 0, "reqdate", reqdate);
  742. ds_main_iteminfo.setColumn( 0, "reqphone", reqphone);
  743. ipt_req_text.enable = true; //.attribute("editable") = true;
  744. //model.refresh();
  745. }
  746. function fFileAdd() {
  747. //******파일을 첨부하기 위해 파일열기가 open 되게 한다.
  748. //파일의 크기를 측정한다.
  749. //var maxsize = upload1.attribute("filesize");
  750. var maxsize = gMaxSize ; //
  751. var name = ds_main_iteminfo.getColumn(0, "attfilenm");
  752. if(name != '' || name == '-'){
  753. var fileupdata = sysf_messageBox(name + " 파일 수정을" , "S001");
  754. if(fileupdata == '6'){
  755. //파일 삭제
  756. //input박스에 나타난 명을 제거
  757. ipt_attfilenm.value = "";
  758. //파일 저장
  759. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  760. //var fileopen = window.fileDialog("open","|","false");
  761. var fd = new FileDialog;
  762. var objVFile = fd.open("FileOpen", FileDialog.LOAD); //// 단일 파일 선택
  763. //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
  764. ds_send_file.clearData();
  765. ds_send_file.addRow();
  766. var file = dsf_writeFileToDs(objVFile, ds_send_file, 0, "filedata");
  767. ds_send_file.setColumn(0, "filenm", file.filename); // 파일이름
  768. ds_send_file.setColumn(0, "filesize", file.filesize); // 파일사이즈
  769. ds_send_file.setColumn(0, "filetype", file.filetype); // 파일mime타입
  770. //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
  771. dsf_makeValue( ds_main_iteminfo, "attfilenm", "string", file.filename);
  772. var name = ds_main_iteminfo.getColumn(0, "attfilenm");
  773. //lastIndexOf함수는 \\이것을 뒤어세 검색하여 나오면 앞에 것은 지운다.
  774. var filename = name.lastIndexOf("\\");
  775. //open 파일명를 input박스에 넣는다.
  776. ipt_attfilenm.value = name.substring(filename + 1, name.length); //fileopen.substring(filename + 1);
  777. //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
  778. dsf_makeValue( ds_send_file, "filename", "string", name);
  779. //model.refresh();
  780. //파일 크기가 너무 큰경우 메세지를 띄운다.
  781. if (!checkFileSize(file.filesize)){
  782. ipt_attfilenm.value = "";
  783. sysf_messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  784. ds_send_file.clearData(); ds_send_file.addRow();
  785. }
  786. dsf_makeValue( ds_main_iteminfo, "fileyn", "string", 'Y');
  787. btn_new.enable = false;
  788. btn_mod.enable = false;
  789. btn_save.enable = true;
  790. btn_del.enable = false;
  791. }else if(fileupdata == '7'){
  792. sysf_messageBox(name + " 파일 수정을 하지", "E007");
  793. dsf_makeValue( ds_main_iteminfo, "fileyn", "string", 'N');
  794. }else{
  795. }
  796. }else{
  797. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  798. var fd = new FileDialog;
  799. var objVFile = fd.open("FileOpen", FileDialog.LOAD); //// 단일 파일 선택
  800. //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
  801. ds_send_file.clearData();
  802. ds_send_file.addRow();
  803. var file = dsf_writeFileToDs(objVFile, ds_send_file, 0, "filedata");
  804. ds_send_file.setColumn(0, "filenm", file.filename); // 파일이름
  805. ds_send_file.setColumn(0, "filesize", file.filesize); // 파일사이즈
  806. ds_send_file.setColumn(0, "filetype", file.filetype); // 파일mime타입
  807. //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
  808. dsf_makeValue( ds_main_iteminfo, "attfilenm", "string", file.filename);
  809. var name = ds_main_iteminfo.getColumn(0, "attfilenm");
  810. //lastIndexOf함수는 \\이것을 뒤어세 검색하여 나오면 앞에 것은 지운다.
  811. var filename = name.lastIndexOf("\\");
  812. //open 파일명를 input박스에 넣는다.
  813. ipt_attfilenm.value = name.substring(filename + 1, name.length); //fileopen.substring(filename + 1);
  814. //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
  815. dsf_makeValue( ds_send_file, "filename", "string", name);
  816. //model.refresh();
  817. //파일 크기가 너무 큰경우 메세지를 띄운다.
  818. if (file.filesize > gMaxSize){
  819. ipt_attfilenm.value = "";
  820. sysf_messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  821. ds_send_file.clearData(); ds_send_file.addRow();
  822. }
  823. dsf_makeValue( ds_main_iteminfo, "fileyn", "string", 'Y');
  824. }
  825. }
  826. function fFilePreview() {
  827. var fso, folder;
  828. var temp_path = "C:\\temp2";
  829. //FSO = new ActiveXObject("Scripting.FileSystemObject");
  830. var objActiveX = new ActiveX();
  831. var FSO = inff_fileSystemObject();//objActiveX.createObject("Scripting.FileSystemObject");
  832. // 객체 생성 실패하면 리턴
  833. if (FSO == null){
  834. return;
  835. }
  836. // 시스템 드라이브가 없다면..
  837. if (FSO.DriveExists("C") == false){
  838. return;
  839. }
  840. // 임시디렉토리가 없으면 생성
  841. if (FSO.FolderExists(temp_path) == false){
  842. folder = FSO.CreateFolder(temp_path);
  843. }
  844. //파일명를 받아옴
  845. var getfilenm = ds_main_iteminfo.getColumn(0, "attfilenm");
  846. //파일명이 있는 경우 다운로드
  847. if(utlf_isNull(getfilenm)){
  848. return;
  849. }
  850. //파일명을 받아옴
  851. var filenm = ds_main_iteminfo.getColumn(0, "attfilenm");
  852. //키값을 받아옴
  853. var seq_no = ds_main_iteminfo.getColumn(0, "seq_no");
  854. //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
  855. // model.download(getActionURL("TRMNO10003")+"&seq_no="+seq_no, temp_path+"\\"+filenm, false);
  856. // window.exec(temp_path+"\\"+filenm, "");
  857. ds_req.clearData();
  858. ds_req.addRow();
  859. dsf_makeValue(ds_req,"seq_no","string",seq_no);
  860. sysf_setErrorMsg(false); //자바단에서 에러발생시 1.0은 오류리턴을 안해서...
  861. var oParam = {};
  862. oParam.id = "TRMNO10003";
  863. oParam.service = "outcareapp.OutCareMngt";
  864. oParam.method = "reqExeFileDownLoadReq";
  865. oParam.inds = "req=ds_req";
  866. oParam.outds = "ds_download=filelist";
  867. oParam.async = false;
  868. oParam.callback = "cf_TRMNO10003";
  869. tranf_submit(oParam);
  870. sysf_setErrorMsg(true);
  871. dsf_readFileFromDs(temp_path+"\\"+filenm, ds_download, 0, "attfilecnts"); // 파일저장
  872. var objExtCommon = new ExtCommon();
  873. var rtn = objExtCommon.executeProcess(temp_path+"\\"+filenm,"","");
  874. }
  875. function cf_TRMNO10003(sSvcId, nErrorCode, sErrorMsg) {
  876. if(nErrorCode < 0) return;
  877. // var fd = new FileDialog;
  878. // var objVFile = fd.open("FileSave", FileDialog.SAVE, "%MYDOCUMENT%", ds_main_iteminfo.getColumn(ds_main_iteminfo.rowposition, "attfilenm")); // 단일 파일 선택
  879. // if (objVFile != null)
  880. // {
  881. // sysf_trace("objVFile.fullpath : " + objVFile.fullpath);
  882. // var temp = dsf_readFileFromDs(objVFile.fullpath, ds_download, 0, "attfilecnts"); // 파일저장
  883. // sleep(1000);
  884. // if( !utlf_isNull(temp) )
  885. // {
  886. // var rtn = sysf_messageBox("파일을", "Q004");
  887. // if( rtn == 6 )
  888. // {
  889. // var text = new String(objVFile.fullpath);
  890. // var replaceText = text.replace(" ", "");
  891. // if( text.length != replaceText.length )
  892. // {
  893. // sysf_messageBox("공백이 포함된 [파일명/폴더]는 자동열기가 실행되지 않습니다.", "E999", "");
  894. // return;
  895. // }
  896. // else
  897. // {
  898. // system.execShell(objVFile.fullpath);
  899. // }
  900. // }
  901. // }
  902. // }
  903. }
  904. function fFileDown() {
  905. //파일명를 받아옴
  906. var getfilenm = ds_main_iteminfo.getColumn(0, "attfilenm");
  907. //파일명이 있는 경우 다운로드
  908. if(!utlf_isNull(getfilenm)){
  909. // //파일명을 받아옴
  910. // var filenm = ds_main_iteminfo.getColumn(0, "attfilenm");
  911. // //파일명의 확장자만 받아옴
  912. // var fileext = filenm.lastIndexOf(".");
  913. // var ext = filenm.substring(fileext +1);
  914. // //파일을 다운로드 하기 위해 저장할 창을 띄움
  915. // var filesave = window.fileDialog("save","|",false,filenm,ext,"All Files(*.*)|*.*");
  916. //
  917. // //키값을 받아옴
  918. // var seq_no = ds_main_iteminfo.getColumn(0, "seq_no");
  919. //
  920. // //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
  921. // if (filesave != "") {
  922. // model.download(getActionURL("TRMNO10003")+"&seq_no="+seq_no, filesave);
  923. // }
  924. //
  925. var seq_no = ds_main_iteminfo.getColumn(0, "seq_no");
  926. ds_req.clearData();
  927. ds_req.addRow();
  928. dsf_makeValue(ds_req,"seq_no","string",seq_no);
  929. sysf_setErrorMsg(false); //자바단에서 에러발생시 1.0은 오류리턴을 안해서...
  930. var oParam = {};
  931. oParam.id = "TRMNO10003";
  932. oParam.service = "outcareapp.OutCareMngt";
  933. oParam.method = "reqExeFileDownLoadReq";
  934. oParam.inds = "req=ds_req";
  935. oParam.outds = "ds_download=filelist";
  936. oParam.async = false;
  937. oParam.callback = "cf_TRMNO10003";
  938. tranf_submit(oParam);
  939. sysf_setErrorMsg(true);
  940. var fd = new FileDialog;
  941. var sFileName = ds_main_iteminfo.getColumn(0, "attfilenm");
  942. var objVFile = fd.open("FileSave", FileDialog.SAVE, "%MYDOCUMENT%", sFileName); // 단일 파일 선택
  943. if (objVFile != null) {
  944. dsf_readFileFromDs(objVFile.fullpath, ds_download, 0, "attfilecnts"); // 파일저장
  945. }
  946. }
  947. }
  948. function fFileDel() {
  949. var name = ds_main_iteminfo.getColumn(0, "attfilenm");
  950. if((name != '')){
  951. var fileupdata = sysf_messageBox(name + " 파일 삭제를" , "S001");
  952. if(fileupdata == '6'){
  953. //파일 삭제
  954. ipt_attfilenm.value = "";
  955. ds_send_file.clearData(); ds_send_file.addRow();
  956. btn_new.enable = false;
  957. btn_mod.enable = false;
  958. btn_save.enable = true;
  959. btn_del.enable = false;
  960. }
  961. }
  962. //model.refresh();
  963. }
  964. function fCheckFileExt() {
  965. retvalue = false;
  966. var filename = ds_main_iteminfo.getColumn(0, "attfilenm");
  967. var IMG_FORMAT = "\\.(bmp|gif|jpg|jpeg|png|doc|xls|cvs|txt|ppt|hwp|pptx|xlsx|docx)$";
  968. if( (new RegExp(IMG_FORMAT, "i")).test(filename)){
  969. retvalue = true;
  970. }else{
  971. retvalue = false;
  972. }
  973. return retvalue;
  974. }
  975. function ManipFiles()
  976. {
  977. var fso, f1, f2, s;
  978. fso = new ActiveXObject("Scripting.FileSystemObject");
  979. f1 = fso.CreateTextFile("c:\\testfile.txt", true);
  980. Response.Write("파일 쓰는 중 <br>");
  981. // 줄을 씁니다.
  982. f1.Write("텍스트입니다.");
  983. // 파일을 닫습니다.
  984. f1.Close();
  985. Response.Write("파일을 c:\\tmp로 이동하는 중 <br>");
  986. // C:\ 루트에 있는 파일에 대한 핸들을 가져옵니다.
  987. f2 = fso.GetFile("c:\\testfile.txt");
  988. // 파일을 \tmp 디렉터리로 옮깁니다.
  989. f2.Move ("c:\\tmp\\testfile.txt");
  990. Response.Write("파일을 c:\\temp로 복사하는 중 <br>");
  991. // 파일을 \temp로 복사합니다.
  992. f2.Copy ("c:\\temp\\testfile.txt");
  993. Response.Write("파일 삭제 중 <br>");
  994. // 파일의 현재 위치에 대한 핸들을 가져옵니다.
  995. f2 = fso.GetFile("c:\\tmp\\testfile.txt");
  996. f3 = fso.GetFile("c:\\temp\\testfile.txt");
  997. // 파일을 삭제합니다.
  998. f2.Delete();
  999. f3.Delete();
  1000. Response.Write("완료되었습니다!");
  1001. }
  1002. function fPrtBbs() {
  1003. // dsf_makeValue( ds_temp_bbsinfo, "bbslist", "string", "" );
  1004. // copyNodesetType("_root_temp_bbsinfo_bbslist", grd_bbs.nodeset+ "[chkyn='Y']");
  1005. // exeReportPreview("RPMNO10000", "XMLSTR");
  1006. ds_main_reqbbsinfo_reqbbslist.filter("chkyn=='Y' || chkyn=='1'");
  1007. ds_main_reqbbsinfo_reqbbslist.applyChange();
  1008. ds_temp_reqbbsinfo_reqbbslist.copyData(ds_main_reqbbsinfo_reqbbslist, true );
  1009. ds_main_reqbbsinfo_reqbbslist.filter("");
  1010. var objDOM = rptf_createDOM(); // DOM 객체 설정
  1011. rptf_setNodeListToDOM(objDOM, "/root/main/reqbbsinfo/reqbbslist", ds_temp_reqbbsinfo_reqbbslist); // 데이터셋 1
  1012. rptf_setNodeListToDOM(objDOM, "/root/main/cond", this.ds_main_cond); // 데이터셋 1
  1013. var objParam = new Object();
  1014. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  1015. var option = "open=1;save=1;directprint=0;print=1;zoom=0;excel=1;show=1";
  1016. rptf_exeReportPreview30(["RPMNO10000"],[objParam], option);
  1017. }
  1018. //--------------------
  1019. // SPMNO10000.xjs 끝
  1020. //--------------------
  1021. function SPMNO10000_onload(obj:Form, e:LoadEventInfo)
  1022. {
  1023. frmf_initForm(obj); // 폼 초기화
  1024. grdf_initGrid(this.grd_bbs); //Grid 초기화
  1025. fInitialize() ;
  1026. }
  1027. function group2_btn_search_onclick(obj:Button, e:ClickEventInfo)
  1028. {
  1029. fgetReqBbsList();
  1030. }
  1031. function group2_button2_onclick(obj:Button, e:ClickEventInfo)
  1032. {
  1033. fPrtBbs();
  1034. }
  1035. function group2_button1_onclick(obj:Button, e:ClickEventInfo)
  1036. {
  1037. var SheetName = ds_main_cond.getColumn(0, "fromdd");
  1038. if(utlf_isNull(SheetName)) SheetName = "Sheet1";
  1039. // var fileName = window.fileDialog("save", ",", false, SheetName + " 전산의뢰게시판", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  1040. // if (fileName != ""){
  1041. // //그리드의 내용을 Excel 파일로 저장하는 함수로.. 파일이름을 받아온것을 가지고 저장하러 간다.
  1042. // grd_bbs.saveExcel(fileName, SheetName, false, false, "", "");
  1043. // }
  1044. grdf_exportExcel(grd_bbs, SheetName + " 전산의뢰게시판", SheetName, false, "" , 'user' , true);
  1045. }
  1046. function grd_bbs_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  1047. {
  1048. if (e.row >= 0 && e.col >= 0) {
  1049. fgetReqBbsDetail(e.row);
  1050. }
  1051. }
  1052. function btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  1053. {
  1054. btn_cancel.visible = false;
  1055. btn_new.enable = true;
  1056. btn_mod.enable = false;
  1057. btn_save.enable = false;
  1058. btn_del.enable = false;
  1059. btn_reply.enable = false;
  1060. ipt_reply_text.enable = false;
  1061. rdo_status.enable = false;
  1062. dsf_makeValue( ds_main_iteminfo, "savemode", "string", 'e');
  1063. fNewBbs();
  1064. }
  1065. function btn_new_onclick(obj:Button, e:ClickEventInfo)
  1066. {
  1067. btn_cancel.visible = true;
  1068. btn_new.enable = false;
  1069. btn_mod.enable = false;
  1070. btn_save.enable = true;
  1071. btn_del.enable = false;
  1072. btn_reply.enable = false;
  1073. btn_fileadd.enable = true;
  1074. ipt_req_title.enable = true;
  1075. ipt_req_text.enable = true;
  1076. ipt_attfilenm.enable = true; //첨부파일기능보류
  1077. ipt_reply_text.enable = false;
  1078. rdo_status.enable = false;
  1079. var jobkindcd = sysf_getUserInfo("jobkindcd");
  1080. if (jobkindcd == "0330") {
  1081. dsf_makeValue( ds_main_iteminfo, "gbn", "string", '02');
  1082. } else {
  1083. dsf_makeValue( ds_main_iteminfo, "gbn", "string", '01');
  1084. }
  1085. fNewBbs();
  1086. dsf_makeValue( ds_main_iteminfo, "savemode", "string", 'i');
  1087. }
  1088. function btn_mod_onclick(obj:Button, e:ClickEventInfo)
  1089. {
  1090. btn_new.enable = false;
  1091. btn_mod.enable = false;
  1092. btn_cancel.visible = true;
  1093. btn_save.enable = true;
  1094. btn_del.enable = false;
  1095. btn_reply.enable = false;
  1096. ipt_req_text.enable = true;
  1097. ipt_reply_text.enable = false;
  1098. rdo_status.enable = false;
  1099. dsf_makeValue( ds_main_iteminfo, "savemode", "string", "u"); // 수정표시
  1100. }
  1101. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  1102. {
  1103. // 각 필드값을 체크한다.
  1104. // 공지내용 체크
  1105. if(ds_main_iteminfo.getColumn(0, "gbn").getTrim()=="")
  1106. {
  1107. sysf_messageBox("의뢰구분은 ", "I003");
  1108. rdo_gbn.setFocus();
  1109. return;
  1110. }
  1111. if(ds_main_iteminfo.getColumn(0, "req_title").getTrim()=="")
  1112. {
  1113. sysf_messageBox("의뢰제목은 ", "I003");
  1114. ipt_req_title.setFocus();
  1115. return;
  1116. }
  1117. if(ds_main_iteminfo.getColumn(0, "req_text").getTrim()=="")
  1118. {
  1119. sysf_messageBox("의뢰내용은 ", "I003");
  1120. ipt_req_text.setFocus();
  1121. return;
  1122. }
  1123. fExeSave();
  1124. }
  1125. function btn_del_onclick(obj:Button, e:ClickEventInfo)
  1126. {
  1127. if (sysf_messageBox("해당 게시글을 삭제하시겠습니까?", "Q999") == 6) {
  1128. fDelBbs();
  1129. }
  1130. }
  1131. function btn_fileadd_onclick(obj:Button, e:ClickEventInfo)
  1132. {
  1133. fFileAdd();
  1134. }
  1135. function btn_preview_onclick(obj:Button, e:ClickEventInfo)
  1136. {
  1137. fFilePreview();
  1138. }
  1139. function btn_down_onclick(obj:Button, e:ClickEventInfo)
  1140. {
  1141. fFileDown();
  1142. }
  1143. function btn_filedel_onclick(obj:Button, e:ClickEventInfo)
  1144. {
  1145. fFileDel();
  1146. }
  1147. function btn_reply_onclick(obj:Button, e:ClickEventInfo)
  1148. {
  1149. btn_new.enable = false;
  1150. btn_mod.enable = false;
  1151. btn_cancel.visible = true;
  1152. btn_save.enable = true;
  1153. btn_del.enable = false;
  1154. btn_reply.enable = true;
  1155. var userid = sysf_getUserInfo("userid");
  1156. var usernm = sysf_getUserInfo("usernm");
  1157. var replydate = utlf_getCurrentDate() + utlf_getCurrentTime();
  1158. ds_main_iteminfo.setColumn( 0, "replyid", userid);
  1159. ds_main_iteminfo.setColumn( 0, "rep", usernm);
  1160. ds_main_iteminfo.setColumn( 0, "replydate", replydate);
  1161. dsf_makeValue( ds_main_iteminfo, "savemode", "string", "r"); // 수정표시
  1162. ipt_req_text.enable = false;
  1163. ipt_reply_text.enable = true;
  1164. rdo_status.enable = true;
  1165. //model.refresh();
  1166. }
  1167. function SPMNO10000_ontimer(obj:Form, e:TimerEventInfo)
  1168. {
  1169. if( e.timerid == 0 ){
  1170. this.killTimer(0);
  1171. fgetReqBbsList();
  1172. }
  1173. }
  1174. ]]></Script>
  1175. </Form>
  1176. </FDL>