SPMQI00100_설명처방의뢰게시판.xfdl 51 KB

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