SMRSE01700_DEMO장비신청.xfdl 77 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRSE01700" position="absolute 0 0 1195 785" titletext="DEMO 장비 신청" scrollbars="none" oninit="SMRSE01700_oninit" onload="SMRSE01700_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="Static00" text="** 데모장비 사용으로 발생하는 모든 제반 문제는 사용부서에 있습니다. **&#13;&#10;** 부서장 승인 후 접수절차가 진행됩니다. **" position="absolute 627 117 1190 163" style="background:pink;border:1 solid black aquamarine;color:indigo;bordertype:roundjoin 5 5 ;align:center;font:맑은 고딕,12,bold antialias;" anchor="left top right" onclick="Static00_onclick"/>
  8. <Shape id="roundrect4" type="roundrectangle" class="roundrect_search" position="absolute 627 363 1195 390" style="strokepen:1 solid #3366ffff;fillbrush:solid #fffbf2ff true;" anchor="left top right"/>
  9. <Static text="DEMO 장비 신청" position="absolute 0 0 160 25" id="caption0" class="tit_1"/>
  10. <Div id="div_search" anchor="left top right" taborder="0" class="div_SA" position="absolute 0 25 1195 85">
  11. <Layouts>
  12. <Layout>
  13. <Static id="Static01" text="기관코드 :" class="search_name" position="absolute 18 7 92 27" anchor="default"/>
  14. <Shape id="Shape0" linetype="vertical" position="absolute 1110 18 1122 42" anchor="top right"/>
  15. <Button id="btn_search" taborder="10" text="조회" onclick="div_search_btn_search_onclick" class="btn1" position="absolute 1129 19 1184 41" anchor="top right"/>
  16. <Combo id="cmb_instcd" taborder="0" position="absolute 98 8 236 27" anchor="default" index="-1" codecolumn="codecolumn" datacolumn="datacolumn" enable="false">
  17. <Dataset id="innerdataset">
  18. <ColumnInfo>
  19. <Column id="codecolumn" size="256"/>
  20. <Column id="datacolumn" size="256"/>
  21. </ColumnInfo>
  22. <Rows/>
  23. </Dataset>
  24. </Combo>
  25. <Static id="Static03" text="신청부서 :" class="search_name" position="absolute 18 33 92 53" anchor="default"/>
  26. <Edit id="ipt_reqdeptcd" taborder="4" class="input_default" position="absolute 98 34 176 53" anchor="default" onkeydown="div_search_ipt_reqdeptcd_onkeydown" autoselect="true"/>
  27. <Button id="btn_reqdeptcd" taborder="5" class="icon_search" position="absolute 181 36 197 52" anchor="default" onclick="div_search_btn_reqdeptcd_onclick"/>
  28. <Edit id="ipt_reqdeptnm" taborder="6" class="output" position="absolute 201 34 299 53" enable="false" anchor="default"/>
  29. <Static id="Static02" text="신청기간 :" class="search_name" position="absolute 341 7 415 27" anchor="default"/>
  30. <Calendar id="ipt_reqfromdd" taborder="1" class="input_essential" position="absolute 422 8 512 27" anchor="default" autoselect="true"/>
  31. <Static id="caption14" text="~" class="search_no_b" position="absolute 517 9 529 26" anchor="default"/>
  32. <Calendar id="ipt_reqtodd" taborder="2" class="input_essential" position="absolute 531 8 621 27" anchor="default" autoselect="true"/>
  33. <Static id="Static00" text="접수구분 :" class="search_name" position="absolute 664 7 738 27" anchor="default"/>
  34. <Combo id="cmb_acptstat" taborder="3" position="absolute 741 8 819 27" codecolumn="codecolumn" datacolumn="datacolumn" index="0" text="전체" anchor="default">
  35. <Dataset id="innerdataset">
  36. <ColumnInfo>
  37. <Column id="codecolumn" size="256"/>
  38. <Column id="datacolumn" size="256"/>
  39. </ColumnInfo>
  40. <Rows>
  41. <Row>
  42. <Col id="codecolumn"/>
  43. <Col id="datacolumn">전체</Col>
  44. </Row>
  45. <Row>
  46. <Col id="codecolumn">01</Col>
  47. <Col id="datacolumn">신청</Col>
  48. </Row>
  49. <Row>
  50. <Col id="codecolumn">02</Col>
  51. <Col id="datacolumn">부서승인</Col>
  52. </Row>
  53. <Row>
  54. <Col id="codecolumn">03</Col>
  55. <Col id="datacolumn">접수</Col>
  56. </Row>
  57. </Rows>
  58. </Dataset>
  59. </Combo>
  60. <Static id="Static04" text="설치장소 :" class="search_name" position="absolute 341 33 415 53" anchor="default"/>
  61. <Edit id="ipt_installplcecd" taborder="7" class="input_default" position="absolute 421 34 499 53" anchor="default" onkeydown="div_search_ipt_installplcecd_onkeydown" autoselect="true"/>
  62. <Button id="btn_installplcecd" taborder="8" class="icon_search" position="absolute 504 36 520 52" anchor="default" onclick="div_search_btn_installplcecd_onclick"/>
  63. <Edit id="ipt_installplcenm" taborder="9" class="output" enable="false" position="absolute 524 34 622 53" anchor="default"/>
  64. </Layout>
  65. </Layouts>
  66. </Div>
  67. <Button id="btn_init" taborder="40" text="초기화" class="btn4" position="absolute 1129 1 1195 23" anchor="top right" onclick="btn_init_onclick"/>
  68. <Button id="btn_save" taborder="39" text="저장" class="btn4" position="absolute 1071 1 1127 23" anchor="top right" onclick="btn_save_onclick"/>
  69. <Static id="caption01" text="신청현황" class="tit_2" position="absolute 0 95 82 117"/>
  70. <Shape id="line00" class="line_10" position="absolute 0 112 624 118"/>
  71. <Button id="btn_excelDown" taborder="3" text="엑셀" class="btn7" position="absolute 571 92 624 111" onclick="btn_excelDown_onclick"/>
  72. <Button id="btn_expand" taborder="2" text="확대보기" class="btn2" position="absolute 506 92 569 111" onclick="btn_expand_onclick"/>
  73. <Static id="caption02" text="신청내역" class="tit_2" position="absolute 629 95 711 117"/>
  74. <Shape id="line01" class="line_10" position="absolute 629 112 1195 118" anchor="left top right"/>
  75. <Button id="btn_del" taborder="38" text="삭제" class="btn2" position="absolute 1062 92 1105 111" anchor="top right" onclick="btn_del_onclick"/>
  76. <Button id="btn_new" taborder="37" text="신규" class="btn2" position="absolute 1017 92 1060 111" anchor="top right" onclick="btn_new_onclick"/>
  77. <Static id="caption47" text="신청일자" class="cell_1" position="absolute 629 164 719 187"/>
  78. <Static id="caption03" text="신청부서" class="cell_1" position="absolute 629 189 719 212"/>
  79. <Shape id="line6" class="line_2" position="absolute 629 185 1195 191" anchor="left top right"/>
  80. <Shape id="line02" class="line_2" position="absolute 629 210 1195 216" anchor="left top right"/>
  81. <Static id="caption04" text="신청자" class="cell_1" position="absolute 912 189 1002 212"/>
  82. <Static id="caption05" text="연락처" class="cell_1" position="absolute 629 214 719 237"/>
  83. <Shape id="line04" class="line_2" position="absolute 629 235 1195 241" anchor="left top right"/>
  84. <Static id="caption06" text="장비명(한)" class="cell_1" position="absolute 629 239 719 262"/>
  85. <Shape id="line05" class="line_2" position="absolute 629 260 1195 266" anchor="left top right"/>
  86. <Static id="caption07" text="장비명(영)" class="cell_1" position="absolute 629 264 719 287"/>
  87. <Shape id="line07" class="line_2" position="absolute 629 285 1195 291" anchor="left top right"/>
  88. <Static id="caption08" text="규격" class="cell_1" position="absolute 629 289 719 312"/>
  89. <Shape id="line08" class="line_2" position="absolute 629 310 1195 316" anchor="left top right"/>
  90. <Static id="caption09" text="추정가액(원)" class="cell_1" position="absolute 629 314 719 337"/>
  91. <Shape id="line09" class="line_2" position="absolute 629 335 1195 341" anchor="left top right"/>
  92. <Static id="caption10" text="제조사" class="cell_1" position="absolute 629 339 719 362"/>
  93. <Static id="caption11" text="제공업체" class="cell_2" position="absolute 629 365 719 388" style="background:ivory;"/>
  94. <Static id="caption12" text="데모기간" class="cell_1" position="absolute 629 391 719 414"/>
  95. <Shape id="line12" class="line_2" position="absolute 629 412 1195 418" anchor="left top right"/>
  96. <Static id="caption13" text="설치장소" class="cell_1" position="absolute 629 416 719 439"/>
  97. <Shape id="line13" class="line_2" position="absolute 629 437 1195 443" anchor="left top right"/>
  98. <Static id="caption14" text="데모 사용목적" class="cell_1" position="absolute 629 441 719 487"/>
  99. <Shape id="line14" class="line_2" position="absolute 629 485 1195 491" anchor="left top right"/>
  100. <Static id="caption15" text="소모품 사용여부" class="cell_1" position="absolute 629 489 729 512"/>
  101. <Shape id="line15" class="line_2" position="absolute 629 510 1195 516" anchor="left top right"/>
  102. <Static id="caption16" text="연장여부" class="cell_1" position="absolute 629 514 719 537"/>
  103. <Static id="caption17" text="승인일자" class="cell_1" position="absolute 629 649 719 672" style="background:#d4d4ffff;"/>
  104. <Shape id="line17" class="line_2" position="absolute 629 670 1195 676" anchor="left top right"/>
  105. <Static id="caption18" text="접수내역" class="tit_2" position="absolute 629 683 711 705"/>
  106. <Shape id="line18" class="line_10" position="absolute 629 700 1195 706" anchor="left top right"/>
  107. <Static id="caption19" text="접수일자" class="cell_1" position="absolute 629 705 719 728" style="background:#fef7c0ff;"/>
  108. <Shape id="line19" class="line_2" position="absolute 629 726 1195 732" anchor="left top right"/>
  109. <Calendar id="ipt_reqdd" taborder="4" class="input_search" position="absolute 721 166 809 185" enable="false"/>
  110. <Static id="caption20" text="신청번호" class="cell_1" position="absolute 826 164 906 187"/>
  111. <Edit id="ipt_reqno" taborder="5" class="input_default" position="absolute 908 166 1008 185" enable="false"/>
  112. <Edit id="ipt_reqdeptcd" taborder="6" class="input_default" position="absolute 721 191 801 210" enable="false"/>
  113. <Edit id="ipt_reqdeptnm" taborder="7" class="output" position="absolute 806 191 907 210" tooltiptype="hover" readonly="true"/>
  114. <Edit id="ipt_reqid" taborder="8" class="input_default" enable="false" position="absolute 1004 191 1084 210"/>
  115. <Edit id="ipt_reqnm" taborder="9" class="output" position="absolute 1089 191 1190 210" readonly="true" tooltiptype="hover"/>
  116. <Edit id="ipt_reqtel" taborder="10" class="input_essential" position="absolute 721 216 821 235" autoselect="true"/>
  117. <Static id="caption21" text="휴대폰" class="cell_1" position="absolute 826 214 906 237"/>
  118. <Edit id="ipt_reqhp" taborder="11" class="input_default" position="absolute 908 216 1008 235" autoselect="true"/>
  119. <Edit id="ipt_goodflaghngnm" taborder="12" class="input_essential" position="absolute 721 241 1190 260" anchor="left top right" autoselect="true"/>
  120. <Edit id="ipt_goodflagengnm" taborder="13" class="input_essential" position="absolute 721 266 1190 285" anchor="left top right" autoselect="true"/>
  121. <Edit id="ipt_goodspec" taborder="14" class="input_essential" position="absolute 721 291 1190 310" anchor="left top right" autoselect="true"/>
  122. <MaskEdit id="ipt_costamt" taborder="15" mask="#,##0" class="input_default" position="absolute 721 316 821 335" autoselect="true"/>
  123. <Static id="caption22" text="수량" class="cell_1" position="absolute 826 314 906 337"/>
  124. <MaskEdit id="ipt_fixasetqty" taborder="16" class="input_essential" position="absolute 908 316 1008 335" mask="#,##0" autoselect="true"/>
  125. <Edit id="ipt_prodcmpy" taborder="17" class="input_essential" position="absolute 721 341 906 360" autoselect="true"/>
  126. <Edit id="ipt_suplplce" taborder="18" class="input_essential" position="absolute 721 367 851 386" autoselect="true" tooltiptype="hover"/>
  127. <Static id="caption23" text="담당자" class="cell_2" position="absolute 856 365 936 388" style="background:ivory;"/>
  128. <Edit id="ipt_supnm" taborder="19" class="input_essential" position="absolute 938 367 1008 386" autoselect="true"/>
  129. <Static id="caption24" text="담당자 H.P" class="cell_2" position="absolute 1013 365 1093 388" style="background:ivory;"/>
  130. <Edit id="ipt_suphp" taborder="20" class="input_essential" position="absolute 1095 367 1189 386" anchor="left top right" autoselect="true"/>
  131. <Calendar id="ipt_demofrdd" taborder="21" class="input_essential" position="absolute 721 393 811 412" autoselect="true"/>
  132. <Static id="caption25" text="~" class="search_no_b" position="absolute 816 394 828 411"/>
  133. <Calendar id="ipt_demotodd" taborder="22" class="input_essential" position="absolute 830 393 920 412" autoselect="true"/>
  134. <Edit id="ipt_installplcecd2" taborder="23" class="input_essential" position="absolute 721 418 801 437" onkeydown="ipt_installplcecd_onkeydown" autoselect="true"/>
  135. <Edit id="ipt_installplcenm2" taborder="25" class="output" enable="false" position="absolute 826 418 993 437"/>
  136. <Button id="btn_installplcecd2" taborder="24" class="icon_search" position="absolute 806 419 822 435" onclick="btn_installplcecd_onclick"/>
  137. <TextArea id="txt_democmt" taborder="26" position="absolute 721 443 1190 485" anchor="left top right" acceptstab="true" maxlength="100" wordwrap="word"/>
  138. <Radio id="rdo_etcuseyn" taborder="27" columncount="2" rowcount="0" position="absolute 731 490 824 510" codecolumn="codecolumn" datacolumn="datacolumn" index="1" value="N">
  139. <Dataset id="innerdataset">
  140. <ColumnInfo>
  141. <Column id="codecolumn" size="256"/>
  142. <Column id="datacolumn" size="256"/>
  143. </ColumnInfo>
  144. <Rows>
  145. <Row>
  146. <Col id="codecolumn">Y</Col>
  147. <Col id="datacolumn">Y</Col>
  148. </Row>
  149. <Row>
  150. <Col id="codecolumn">N</Col>
  151. <Col id="datacolumn">N</Col>
  152. </Row>
  153. </Rows>
  154. </Dataset>
  155. </Radio>
  156. <Edit id="ipt_etcuse" taborder="28" class="input_default" position="absolute 826 490 1190 509" onkillfocus="ipt_etcuse_onkillfocus" visible="false" autoselect="true"/>
  157. <CheckBox id="chk_extendyn" taborder="29" position="absolute 726 516 746 535" truevalue="Y" falsevalue="N"/>
  158. <Calendar id="ipt_extenddd" taborder="30" class="input_search" position="absolute 751 516 839 535" enable="false" autoselect="true"/>
  159. <Static id="caption26" text="승인자" position="absolute 816 649 896 672" class="cell_1" style="background:#d4d4ffff;"/>
  160. <Edit id="ipt_deptaprvid" taborder="32" class="input_default" position="absolute 898 651 988 670" enable="false"/>
  161. <Button id="btn_deptaprv" taborder="33" text="승인" class="btn5" position="absolute 1080 651 1123 670" enable="false" onclick="btn_deptaprv_onclick"/>
  162. <Calendar id="ipt_acptdd" taborder="34" class="input_search" position="absolute 721 707 809 726" enable="false"/>
  163. <Static id="caption27" text="접수자" class="cell_1" position="absolute 816 705 896 728" style="background:#fef7c0ff;"/>
  164. <Edit id="ipt_acptid" taborder="35" class="input_default" position="absolute 898 707 988 726" enable="false"/>
  165. <Button id="btn_acpt" taborder="36" text="접수" class="btn5" position="absolute 1080 707 1123 726" enable="false" onclick="btn_acpt_onclick"/>
  166. <Static id="cap_etcuse" text="사용소모품 입력" position="absolute 826 490 1190 510" style="background:transparent;color:#999999ff;align:center middle;" onclick="cap_etcuse_onclick" visible="false"/>
  167. <Calendar id="ipt_deptaprvdd" taborder="41" class="input_search" enable="false" position="absolute 721 651 809 670"/>
  168. <Shape id="line20" class="line_10" position="absolute 629 537 1195 543" anchor="left top right"/>
  169. <Static id="Static05" text="첨부파일" class="cell_1" position="absolute 629 567 719 644" style="padding:5 0 0 0;align:center top;"/>
  170. <Button id="btn_file_add" taborder="42" text="추가" class="btn5" position="absolute 652 589 696 609" onclick="btn_file_add_onclick" enable="false"/>
  171. <Button id="btn_file_del" taborder="43" text="삭제" class="btn5" position="absolute 652 618 696 638" onclick="btn_file_del_onclick" enable="false"/>
  172. <Grid id="grd_AddFile" taborder="44" binddataset="ds_file" useinputpanel="false" position="absolute 721 567 1190 644" autofittype="col" anchor="left top right" oncellclick="grd_AddFile_oncellclick">
  173. <Formats>
  174. <Format id="default">
  175. <Columns>
  176. <Column size="20"/>
  177. <Column size="250"/>
  178. <Column size="40"/>
  179. <Column size="20"/>
  180. <Column size="60"/>
  181. <Column size="60"/>
  182. </Columns>
  183. <Rows>
  184. <Row size="24"/>
  185. </Rows>
  186. <Band id="body">
  187. <Cell celltype="head" text="expr:currow+1"/>
  188. <Cell col="1" displaytype="text" style="padding:0 8 0 8;" text="bind:filename" tooltiptext="bind:filename"/>
  189. <Cell col="2" displaytype="number" style="align:center;padding:0 0 0 0;" text="bind:filesize" expr="expr:Math.ceil(filesize / 1024)" tooltiptext="expr:Math.ceil(filesize / 1024)"/>
  190. <Cell col="3" displaytype="text" style="align:center;padding:0 0 0 0;" text="KB"/>
  191. <Cell col="4" displaytype="expr:utlf_isNull(filekey) ? &quot;normal&quot; : &quot;button&quot;" edittype="expr:utlf_isNull(filekey) ? &quot;none&quot; : &quot;button&quot;" style="padding:2 2 2 2;cursor:hand;" text="expr:utlf_isNull(filekey) ? &quot;&quot; : &quot;미리보기&quot;"/>
  192. <Cell col="5" displaytype="expr:utlf_isNull(filekey) ? &quot;normal&quot; : &quot;button&quot;" edittype="expr:utlf_isNull(filekey) ? &quot;none&quot; : &quot;button&quot;" style="padding:2 2 2 2;cursor:hand;" text="expr:utlf_isNull(filekey) ? &quot;&quot; : &quot;파일받기&quot;"/>
  193. </Band>
  194. </Format>
  195. </Formats>
  196. </Grid>
  197. <Shape id="line10" class="line_10" position="absolute 629 644 1195 650" anchor="left top right"/>
  198. <Button id="btn_rowDel" taborder="45" text="행삭제" class="btn2" position="absolute 451 92 504 111" onclick="btn_rowDel_onclick"/>
  199. <Edit id="ipt_deptaprvnm" taborder="46" class="input_default" enable="false" position="absolute 990 651 1075 670"/>
  200. <Edit id="ipt_acptnm" taborder="47" class="input_default" enable="false" position="absolute 990 707 1075 726"/>
  201. <Button id="btn_canceldeptaprv" taborder="48" text="승인취소" class="btn5" enable="false" position="absolute 1128 651 1191 670" onclick="btn_canceldeptaprv_onclick"/>
  202. <Button id="btn_cancelacpt" taborder="49" text="접수취소" class="btn5" enable="false" position="absolute 1128 707 1191 726" onclick="btn_cancelacpt_onclick"/>
  203. <Static id="caption28" text="&lt; 출력정보 &gt;" position="absolute 629 736 732 756" style="color:#3366ffff;font:Dotum,9,bold;"/>
  204. <Shape id="line4" position="absolute 712 742 1195 748" anchor="left top right"/>
  205. <Static id="caption8" text="기타사항" class="cell_1" position="absolute 629 756 719 779" style="background:#ccffffff;"/>
  206. <Edit id="ipt_gita" taborder="50" autoselect="true" position="absolute 721 758 1190 777" anchor="left top right"/>
  207. <Button id="btn_print" taborder="51" text="신청서출력" class="btn6" position="absolute 1107 92 1195 111" anchor="top right" onclick="btn_print_onclick"/>
  208. <Grid id="grd_demolist" taborder="1" binddataset="ds_demolist" useinputpanel="false" position="absolute 0 117 624 785" anchor="left top bottom" oncellclick="grd_demolist_oncellclick" tooltiptype="hover" autoenter="key" cellsizingtype="col" scrollbars="autoboth" onheadclick="grd_demolist_onheadclick">
  209. <Formats>
  210. <Format id="default">
  211. <Columns>
  212. <Column size="30"/>
  213. <Column size="67"/>
  214. <Column size="113"/>
  215. <Column size="80"/>
  216. <Column size="40"/>
  217. <Column size="174"/>
  218. <Column size="108"/>
  219. <Column size="40"/>
  220. <Column size="80"/>
  221. <Column size="80"/>
  222. <Column size="80"/>
  223. <Column size="80"/>
  224. <Column size="80"/>
  225. <Column size="80"/>
  226. <Column size="50"/>
  227. <Column size="80"/>
  228. <Column size="120"/>
  229. <Column size="72"/>
  230. <Column size="71"/>
  231. <Column size="80"/>
  232. <Column size="55"/>
  233. <Column size="70"/>
  234. <Column size="122"/>
  235. <Column size="100"/>
  236. <Column size="65"/>
  237. <Column size="54"/>
  238. <Column size="59"/>
  239. <Column size="56"/>
  240. </Columns>
  241. <Rows>
  242. <Row size="24" band="head"/>
  243. <Row size="24"/>
  244. </Rows>
  245. <Band id="head">
  246. <Cell displaytype="checkbox" edittype="checkbox" expr="0"/>
  247. <Cell col="1" text="구분"/>
  248. <Cell col="2" text="신청부서"/>
  249. <Cell col="3" text="신청일자"/>
  250. <Cell col="4" text="번호"/>
  251. <Cell col="5" text="장비명(영)"/>
  252. <Cell col="6" text="규격"/>
  253. <Cell col="7" text="수량"/>
  254. <Cell col="8" text="데모(From)"/>
  255. <Cell col="9" text="데모(To)"/>
  256. <Cell col="10" text="부서승인일자"/>
  257. <Cell col="11" text="부서승인자"/>
  258. <Cell col="12" text="접수일자"/>
  259. <Cell col="13" text="접수자"/>
  260. <Cell col="14" text="연장"/>
  261. <Cell col="15" text="연장종료일"/>
  262. <Cell col="16" text="장비명(한)"/>
  263. <Cell col="17" text="추정가액"/>
  264. <Cell col="18" text="제조사"/>
  265. <Cell col="19" text="제공업체"/>
  266. <Cell col="20" text="담당자"/>
  267. <Cell col="21" text="담당자HP"/>
  268. <Cell col="22" text="설치장소"/>
  269. <Cell col="23" text="데모사용목"/>
  270. <Cell col="24" text=" 소모품여부"/>
  271. <Cell col="25" text="신청자"/>
  272. <Cell col="26" text="연락처"/>
  273. <Cell col="27" text="HP"/>
  274. </Band>
  275. <Band id="body">
  276. <Cell displaytype="checkbox" edittype="expr:colEnable" style="controlbackground:EXPR(colEnable == 'none' ? 'silver' : '');controlborder:EXPR(colEnable == 'none' ? '1 solid #708090cc' : '');" text="bind:colCheck"/>
  277. <Cell col="1" displaytype="combo" style="align:center;" text="bind:acptstat" combodataset="ds_acptstat" combocodecol="value" combodatacol="label" tooltiptext="bind:acptstat"/>
  278. <Cell col="2" text="bind:reqdeptnm" tooltiptext="bind:reqdeptnm"/>
  279. <Cell col="3" displaytype="date" text="bind:reqdd" calendardisplaynulltype="none" tooltiptext="bind:reqdd"/>
  280. <Cell col="4" text="bind:reqno" tooltiptext="bind:reqno"/>
  281. <Cell col="5" style="align:left;" text="bind:goodflagengnm" tooltiptext="bind:goodflagengnm"/>
  282. <Cell col="6" style="align:left;" text="bind:goodspec" tooltiptext="bind:goodspec"/>
  283. <Cell col="7" text="bind:fixasetqty" tooltiptext="bind:fixasetqty"/>
  284. <Cell col="8" displaytype="date" text="bind:demofrdd" calendardisplaynulltype="none" tooltiptext="bind:demofrdd"/>
  285. <Cell col="9" displaytype="date" text="bind:demotodd" calendardisplaynulltype="none" tooltiptext="bind:demotodd"/>
  286. <Cell col="10" displaytype="date" text="bind:deptaprvdd" calendardisplaynulltype="none" tooltiptext="bind:deptaprvdd"/>
  287. <Cell col="11" text="bind:deptaprvnm" tooltiptext="bind:deptaprvnm"/>
  288. <Cell col="12" displaytype="date" text="bind:acptdd" calendardisplaynulltype="none" tooltiptext="bind:acptdd"/>
  289. <Cell col="13" text="bind:acptnm" tooltiptext="bind:acptnm"/>
  290. <Cell col="14" text="bind:extendyn" tooltiptext="bind:extendyn"/>
  291. <Cell col="15" displaytype="date" text="bind:extenddd" calendardisplaynulltype="none" tooltiptext="bind:extenddd"/>
  292. <Cell col="16" style="align:left;" text="bind:goodflaghngnm" tooltiptext="bind:goodflaghngnm"/>
  293. <Cell col="17" text="bind:costamt"/>
  294. <Cell col="18" style="align:left middle;" text="bind:prodcmpy"/>
  295. <Cell col="19" style="align:left middle;" text="bind:suplplce"/>
  296. <Cell col="20" style="align:left middle;" text="bind:supnm"/>
  297. <Cell col="21" style="align:left middle;" text="bind:suphp"/>
  298. <Cell col="22" style="align:center middle;" text="bind:installplcenm"/>
  299. <Cell col="23" style="align:left middle;" text="bind:democmt"/>
  300. <Cell col="24" style="align:center middle;" text="bind:etcuseyn"/>
  301. <Cell col="25" style="align:center middle;" text="bind:reqnm"/>
  302. <Cell col="26" style="align:left middle;" text="bind:reqtel"/>
  303. <Cell col="27" style="align:left middle;" text="bind:reqhp"/>
  304. </Band>
  305. </Format>
  306. </Formats>
  307. </Grid>
  308. <Static id="caption29" text="※ 필수서류 : [수입/제조 품목허가증], [규격서], [사용/용도 설명서]" class="cell_1" position="absolute 629 542 1190 565" style="font:Dotum,9,bold;" anchor="left top right"/>
  309. </Layout>
  310. </Layouts>
  311. <Objects>
  312. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_cond_oncolumnchanged">
  313. <ColumnInfo>
  314. <Column id="instcd" type="STRING" size="256"/>
  315. <Column id="reqfromdd" type="STRING" size="256"/>
  316. <Column id="reqtodd" type="STRING" size="256"/>
  317. <Column id="acptstat" type="STRING" size="256"/>
  318. <Column id="reqdeptcd" type="STRING" size="256"/>
  319. <Column id="reqdeptnm" type="STRING" size="256"/>
  320. <Column id="installplcecd" type="STRING" size="256"/>
  321. <Column id="installplcenm" type="STRING" size="256"/>
  322. <Column id="emplno" type="STRING" size="256"/>
  323. </ColumnInfo>
  324. <Rows>
  325. <Row/>
  326. </Rows>
  327. </Dataset>
  328. <Dataset id="ds_demolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  329. <ColumnInfo>
  330. <Column id="colCheck" type="STRING" size="256"/>
  331. <Column id="instcd" type="STRING" size="255"/>
  332. <Column id="reqdd" type="STRING" size="255"/>
  333. <Column id="reqno" type="STRING" size="255"/>
  334. <Column id="reqdeptcd" type="STRING" size="255"/>
  335. <Column id="reqdeptnm" type="STRING" size="256"/>
  336. <Column id="reqid" type="STRING" size="255"/>
  337. <Column id="reqnm" type="STRING" size="255"/>
  338. <Column id="reqtel" type="STRING" size="255"/>
  339. <Column id="reqhp" type="STRING" size="255"/>
  340. <Column id="acptstat" type="STRING" size="255"/>
  341. <Column id="goodflaghngnm" type="STRING" size="255"/>
  342. <Column id="goodflagengnm" type="STRING" size="255"/>
  343. <Column id="goodspec" type="STRING" size="255"/>
  344. <Column id="costamt" type="BIGDECIMAL" size="255"/>
  345. <Column id="fixasetqty" type="BIGDECIMAL" size="255"/>
  346. <Column id="prodcmpy" type="STRING" size="255"/>
  347. <Column id="suplplce" type="STRING" size="255"/>
  348. <Column id="supnm" type="STRING" size="255"/>
  349. <Column id="suphp" type="STRING" size="255"/>
  350. <Column id="demofrdd" type="STRING" size="255"/>
  351. <Column id="demotodd" type="STRING" size="255"/>
  352. <Column id="installplcecd" type="STRING" size="255"/>
  353. <Column id="installplcenm" type="STRING" size="255"/>
  354. <Column id="democmt" type="STRING" size="255"/>
  355. <Column id="etcuseyn" type="STRING" size="255"/>
  356. <Column id="etcuse" type="STRING" size="255"/>
  357. <Column id="extendyn" type="STRING" size="255"/>
  358. <Column id="extenddd" type="STRING" size="255"/>
  359. <Column id="deptaprvid" type="STRING" size="255"/>
  360. <Column id="deptaprvnm" type="STRING" size="255"/>
  361. <Column id="deptaprvdd" type="STRING" size="255"/>
  362. <Column id="acptid" type="STRING" size="255"/>
  363. <Column id="acptnm" type="STRING" size="255"/>
  364. <Column id="acptdd" type="STRING" size="255"/>
  365. <Column id="filekey" type="STRING" size="256"/>
  366. <Column id="colEnable" type="STRING" size="256"/>
  367. </ColumnInfo>
  368. </Dataset>
  369. <Dataset id="ds_temp_demolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_temp_demolist_oncolumnchanged">
  370. <ColumnInfo>
  371. <Column id="status" type="STRING" size="256"/>
  372. <Column id="flag" type="STRING" size="256"/>
  373. <Column id="instcd" type="STRING" size="255"/>
  374. <Column id="reqdd" type="STRING" size="255"/>
  375. <Column id="reqno" type="STRING" size="255"/>
  376. <Column id="reqdeptcd" type="STRING" size="255"/>
  377. <Column id="reqdeptnm" type="STRING" size="256"/>
  378. <Column id="reqid" type="STRING" size="255"/>
  379. <Column id="reqnm" type="STRING" size="255"/>
  380. <Column id="reqtel" type="STRING" size="255"/>
  381. <Column id="reqhp" type="STRING" size="255"/>
  382. <Column id="acptstat" type="STRING" size="255"/>
  383. <Column id="goodflaghngnm" type="STRING" size="255"/>
  384. <Column id="goodflagengnm" type="STRING" size="255"/>
  385. <Column id="goodspec" type="STRING" size="255"/>
  386. <Column id="costamt" type="BIGDECIMAL" size="255"/>
  387. <Column id="fixasetqty" type="BIGDECIMAL" size="255"/>
  388. <Column id="prodcmpy" type="STRING" size="255"/>
  389. <Column id="suplplce" type="STRING" size="255"/>
  390. <Column id="supnm" type="STRING" size="255"/>
  391. <Column id="suphp" type="STRING" size="255"/>
  392. <Column id="demofrdd" type="STRING" size="255"/>
  393. <Column id="demotodd" type="STRING" size="255"/>
  394. <Column id="installplcecd" type="STRING" size="255"/>
  395. <Column id="installplcenm" type="STRING" size="255"/>
  396. <Column id="democmt" type="STRING" size="255"/>
  397. <Column id="etcuseyn" type="STRING" size="255"/>
  398. <Column id="etcuse" type="STRING" size="255"/>
  399. <Column id="extendyn" type="STRING" size="255"/>
  400. <Column id="extenddd" type="STRING" size="255"/>
  401. <Column id="deptaprvid" type="STRING" size="255"/>
  402. <Column id="deptaprvnm" type="STRING" size="255"/>
  403. <Column id="deptaprvdd" type="STRING" size="255"/>
  404. <Column id="acptid" type="STRING" size="255"/>
  405. <Column id="acptnm" type="STRING" size="255"/>
  406. <Column id="acptdd" type="STRING" size="255"/>
  407. <Column id="filekey" type="STRING" size="256"/>
  408. <Column id="gita" type="STRING" size="256"/>
  409. </ColumnInfo>
  410. </Dataset>
  411. <Dataset id="ds_acptstat" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  412. <ColumnInfo>
  413. <Column id="label" type="STRING" size="256"/>
  414. <Column id="value" type="STRING" size="256"/>
  415. </ColumnInfo>
  416. <Rows>
  417. <Row>
  418. <Col id="label">신청</Col>
  419. <Col id="value">01</Col>
  420. </Row>
  421. <Row>
  422. <Col id="label">부서승인</Col>
  423. <Col id="value">02</Col>
  424. </Row>
  425. <Row>
  426. <Col id="label">접수</Col>
  427. <Col id="value">03</Col>
  428. </Row>
  429. </Rows>
  430. </Dataset>
  431. <Dataset id="ds_deptaprvyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  432. <ColumnInfo>
  433. <Column id="flag" type="STRING" size="256"/>
  434. </ColumnInfo>
  435. </Dataset>
  436. <Dataset id="ds_file" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  437. <ColumnInfo>
  438. <Column id="filekey" type="STRING" size="256"/>
  439. <Column id="fileseq" type="STRING" size="256"/>
  440. <Column id="filename" type="STRING" size="256" sumtext="파일명"/>
  441. <Column id="filepath" type="STRING" size="256" sumtext="파일서버경로"/>
  442. <Column id="filesize" type="STRING" size="256" sumtext="파일크기"/>
  443. <Column id="filetype" type="STRING" size="256" sumtext="파일종류"/>
  444. <Column id="filedata" type="BLOB" size="256" sumtext="파일데이터"/>
  445. </ColumnInfo>
  446. </Dataset>
  447. <Dataset id="ds_temp_file" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  448. <ColumnInfo>
  449. <Column id="filekey" type="STRING" size="256"/>
  450. <Column id="fileseq" type="STRING" size="256"/>
  451. <Column id="filename" type="STRING" size="256" sumtext="파일명"/>
  452. <Column id="filepath" type="STRING" size="256" sumtext="파일서버경로"/>
  453. <Column id="filesize" type="STRING" size="256" sumtext="파일크기"/>
  454. <Column id="filetype" type="STRING" size="256" sumtext="파일종류"/>
  455. <Column id="filedata" type="BLOB" size="256" sumtext="파일데이터"/>
  456. </ColumnInfo>
  457. </Dataset>
  458. <Dataset id="ds_delete_file" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  459. <ColumnInfo>
  460. <Column id="filekey" type="STRING" size="256"/>
  461. <Column id="fileseq" type="STRING" size="256"/>
  462. <Column id="filename" type="STRING" size="256" sumtext="파일명"/>
  463. <Column id="filepath" type="STRING" size="256" sumtext="파일서버경로"/>
  464. <Column id="filesize" type="STRING" size="256" sumtext="파일크기"/>
  465. <Column id="filetype" type="STRING" size="256" sumtext="파일종류"/>
  466. <Column id="filedata" type="BLOB" size="256" sumtext="파일데이터"/>
  467. </ColumnInfo>
  468. </Dataset>
  469. <Dataset id="ds_attfile" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  470. <ColumnInfo>
  471. <Column id="filepath" type="STRING" size="256"/>
  472. <Column id="fullpath" type="STRING" size="256"/>
  473. </ColumnInfo>
  474. <Rows>
  475. <Row/>
  476. </Rows>
  477. </Dataset>
  478. <Dataset id="ds_filelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  479. <ColumnInfo>
  480. <Column id="attfilecnts" type="STRING" size="256" sumtext="첨부파일내용"/>
  481. <Column id="fullpath" type="STRING" size="256"/>
  482. </ColumnInfo>
  483. </Dataset>
  484. <Dataset id="ds_save_file" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  485. <ColumnInfo>
  486. <Column id="filekey" type="STRING" size="256"/>
  487. <Column id="fileseq" type="STRING" size="256"/>
  488. <Column id="filename" type="STRING" size="256" sumtext="파일명"/>
  489. <Column id="filepath" type="STRING" size="256" sumtext="파일서버경로"/>
  490. <Column id="filesize" type="STRING" size="256" sumtext="파일크기"/>
  491. <Column id="filetype" type="STRING" size="256" sumtext="파일종류"/>
  492. <Column id="filedata" type="BLOB" size="256" sumtext="파일데이터"/>
  493. </ColumnInfo>
  494. </Dataset>
  495. </Objects>
  496. <Bind>
  497. <BindItem id="item0" compid="div_search.cmb_instcd" propid="value" datasetid="ds_cond" columnid="instcd"/>
  498. <BindItem id="item1" compid="div_search.ipt_reqfromdd" propid="value" datasetid="ds_cond" columnid="reqfromdd"/>
  499. <BindItem id="item2" compid="div_search.ipt_reqtodd" propid="value" datasetid="ds_cond" columnid="reqtodd"/>
  500. <BindItem id="item3" compid="div_search.cmb_acptstat" propid="value" datasetid="ds_cond" columnid="acptstat"/>
  501. <BindItem id="item4" compid="div_search.ipt_reqdeptcd" propid="value" datasetid="ds_cond" columnid="reqdeptcd"/>
  502. <BindItem id="item5" compid="div_search.ipt_reqdeptnm" propid="value" datasetid="ds_cond" columnid="reqdeptnm"/>
  503. <BindItem id="item6" compid="div_search.ipt_installplcecd" propid="value" datasetid="ds_cond" columnid="installplcecd"/>
  504. <BindItem id="item7" compid="div_search.ipt_installplcenm" propid="value" datasetid="ds_cond" columnid="installplcenm"/>
  505. <BindItem id="item8" compid="ipt_reqdd" propid="value" datasetid="ds_temp_demolist" columnid="reqdd"/>
  506. <BindItem id="item9" compid="ipt_reqno" propid="value" datasetid="ds_temp_demolist" columnid="reqno"/>
  507. <BindItem id="item10" compid="ipt_reqdeptcd" propid="value" datasetid="ds_temp_demolist" columnid="reqdeptcd"/>
  508. <BindItem id="item11" compid="ipt_reqdeptnm" propid="value" datasetid="ds_temp_demolist" columnid="reqdeptnm"/>
  509. <BindItem id="item12" compid="ipt_reqid" propid="value" datasetid="ds_temp_demolist" columnid="reqid"/>
  510. <BindItem id="item13" compid="ipt_reqnm" propid="value" datasetid="ds_temp_demolist" columnid="reqnm"/>
  511. <BindItem id="item14" compid="ipt_reqtel" propid="value" datasetid="ds_temp_demolist" columnid="reqtel"/>
  512. <BindItem id="item15" compid="ipt_reqhp" propid="value" datasetid="ds_temp_demolist" columnid="reqhp"/>
  513. <BindItem id="item16" compid="ipt_goodflaghngnm" propid="value" datasetid="ds_temp_demolist" columnid="goodflaghngnm"/>
  514. <BindItem id="item17" compid="ipt_goodflagengnm" propid="value" datasetid="ds_temp_demolist" columnid="goodflagengnm"/>
  515. <BindItem id="item18" compid="ipt_goodspec" propid="value" datasetid="ds_temp_demolist" columnid="goodspec"/>
  516. <BindItem id="item19" compid="ipt_costamt" propid="value" datasetid="ds_temp_demolist" columnid="costamt"/>
  517. <BindItem id="item20" compid="ipt_fixasetqty" propid="value" datasetid="ds_temp_demolist" columnid="fixasetqty"/>
  518. <BindItem id="item21" compid="ipt_prodcmpy" propid="value" datasetid="ds_temp_demolist" columnid="prodcmpy"/>
  519. <BindItem id="item22" compid="ipt_suplplce" propid="value" datasetid="ds_temp_demolist" columnid="suplplce"/>
  520. <BindItem id="item23" compid="ipt_supnm" propid="value" datasetid="ds_temp_demolist" columnid="supnm"/>
  521. <BindItem id="item24" compid="ipt_suphp" propid="value" datasetid="ds_temp_demolist" columnid="suphp"/>
  522. <BindItem id="item25" compid="ipt_demofrdd" propid="value" datasetid="ds_temp_demolist" columnid="demofrdd"/>
  523. <BindItem id="item26" compid="ipt_demotodd" propid="value" datasetid="ds_temp_demolist" columnid="demotodd"/>
  524. <BindItem id="item27" compid="ipt_installplcecd2" propid="value" datasetid="ds_temp_demolist" columnid="installplcecd"/>
  525. <BindItem id="item28" compid="ipt_installplcenm2" propid="value" datasetid="ds_temp_demolist" columnid="installplcenm"/>
  526. <BindItem id="item29" compid="txt_democmt" propid="value" datasetid="ds_temp_demolist" columnid="democmt"/>
  527. <BindItem id="item30" compid="rdo_etcuseyn" propid="value" datasetid="ds_temp_demolist" columnid="etcuseyn"/>
  528. <BindItem id="item31" compid="chk_extendyn" propid="value" datasetid="ds_temp_demolist" columnid="extendyn"/>
  529. <BindItem id="item32" compid="ipt_extenddd" propid="value" datasetid="ds_temp_demolist" columnid="extenddd"/>
  530. <BindItem id="item34" compid="ipt_deptaprvid" propid="value" datasetid="ds_temp_demolist" columnid="deptaprvid"/>
  531. <BindItem id="item35" compid="ipt_acptdd" propid="value" datasetid="ds_temp_demolist" columnid="acptdd"/>
  532. <BindItem id="item36" compid="ipt_acptid" propid="value" datasetid="ds_temp_demolist" columnid="acptid"/>
  533. <BindItem id="item37" compid="ipt_etcuse" propid="value" datasetid="ds_temp_demolist" columnid="etcuse"/>
  534. <BindItem id="item38" compid="ipt_deptaprvdd" propid="value" datasetid="ds_temp_demolist" columnid="deptaprvdd"/>
  535. <BindItem id="item33" compid="ipt_deptaprvnm" propid="value" datasetid="ds_temp_demolist" columnid="deptaprvnm"/>
  536. <BindItem id="item39" compid="ipt_acptnm" propid="value" datasetid="ds_temp_demolist" columnid="acptnm"/>
  537. <BindItem id="item40" compid="ipt_gita" propid="value" datasetid="ds_temp_demolist" columnid="gita"/>
  538. </Bind>
  539. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  540. * System Name : 경대 의료정보시스템
  541. * Job Name : mis_reqxp -> SMRSE01700
  542. * Creator : yjh
  543. * Make Date : 2019-03-21
  544. * Description :
  545. *---------------------------------------------------------------------------------------
  546. * Modify Date Modifier Modify Description
  547. *---------------------------------------------------------------------------------------
  548. * 2019-03-21 yjh TF->XP
  549. *
  550. *---------------------------------------------------------------------------------------
  551. ****************************************************************************************/
  552. //=======================================================================================
  553. // Lib Include
  554. //---------------------------------------------------------------------------------------
  555. include "com_commonxp::comm_main.xjs";
  556. include "mis_miscommonxp::MIS.xjs";
  557. //=======================================================================================
  558. // Global Form Variable
  559. //---------------------------------------------------------------------------------------
  560. var gMaxSize = 10485760;
  561. var arErrorCode = new HashArray();
  562. //=======================================================================================
  563. // Function
  564. //---------------------------------------------------------------------------------------
  565. function fn_clearDetail(){
  566. ds_temp_demolist.clearData();
  567. btn_del.enable = true;
  568. btn_deptaprv.enable = false;
  569. btn_canceldeptaprv.enable = false;
  570. btn_acpt.enable = false;
  571. btn_cancelacpt.enable = false;
  572. }
  573. function fn_enableDetail(bFlag){
  574. btn_del.enable = bFlag;
  575. ipt_reqtel.enable = bFlag;
  576. ipt_reqhp.enable = bFlag;
  577. ipt_goodflaghngnm.enable = bFlag;
  578. ipt_goodflagengnm.enable = bFlag;
  579. ipt_goodspec.enable = bFlag;
  580. ipt_costamt.enable = bFlag;
  581. ipt_fixasetqty.enable = bFlag;
  582. ipt_prodcmpy.enable = bFlag;
  583. ipt_suplplce.enable = bFlag;
  584. ipt_supnm.enable = bFlag;
  585. ipt_suphp.enable = bFlag;
  586. ipt_demofrdd.enable = bFlag;
  587. ipt_demotodd.enable = bFlag;
  588. ipt_installplcecd2.enable = bFlag;
  589. txt_democmt.enable = bFlag;
  590. rdo_etcuseyn.enable = bFlag;
  591. ipt_etcuse.enable = bFlag;
  592. btn_file_add.enable = bFlag;
  593. btn_file_del.enable = bFlag;
  594. }
  595. //=======================================================================================
  596. // Event
  597. //---------------------------------------------------------------------------------------
  598. /****************************************************************************************
  599. * Components : Form
  600. * Components ID : SMRSE01700
  601. * Event : oninit
  602. * Argument : 01.obj : Object Event has occurred
  603. * : 02.e : Event Object
  604. * Description : 화면 처음 초기화시
  605. ****************************************************************************************/
  606. function SMRSE01700_oninit(obj:Form, e:InitEventInfo)
  607. {
  608. frmf_initForm(obj); //폼 초기화
  609. }
  610. /****************************************************************************************
  611. * Components : Form
  612. * Components ID : SMRSE01700
  613. * Event : onload
  614. * Argument : 01.obj : Object Event has occurred
  615. * : 02.e : Event Object
  616. * Description : 화면 로딩 완료시
  617. ****************************************************************************************/
  618. function SMRSE01700_onload(obj:Form, e:LoadEventInfo)
  619. {
  620. grdf_setGridSort(grd_demolist);
  621. misfComboComCdListMulti("Z0007", "div_search.cmb_instcd");
  622. ds_cond.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  623. ds_cond.setColumn(0, "reqfromdd", utlf_getCurrentDate());
  624. ds_cond.setColumn(0, "reqtodd", utlf_getCurrentDate());
  625. ds_cond.setColumn(0, "acptstat", "");
  626. }
  627. /****************************************************************************************
  628. * Components : Button
  629. * Components ID : btn_search
  630. * Event : onclick
  631. * Argument : 01.obj : Object Event has occurred
  632. * : 02.e : Event Object
  633. * Description : 조회버튼 클릭시
  634. ****************************************************************************************/
  635. function div_search_btn_search_onclick(obj:Button, e:ClickEventInfo)
  636. {
  637. if( utlf_isNull(ds_cond.getColumn(0, "reqfromdd")) ){
  638. sysf_messageBox("신청기간은", "I003");
  639. div_search.ipt_reqfromdd.setFocus();
  640. return false;
  641. }
  642. if( utlf_isNull(ds_cond.getColumn(0, "reqtodd")) ){
  643. sysf_messageBox("신청기간은", "I003");
  644. div_search.ipt_reqtodd.setFocus();
  645. return false;
  646. }
  647. ds_demolist.clearData();
  648. fn_clearDetail();
  649. var oParam = {};
  650. oParam.id = "TRRSE01701";
  651. oParam.service = "reqapp.ReqMngt";
  652. oParam.method = "reqGetDemoList";
  653. oParam.inds = "req=ds_cond";
  654. oParam.outds = "ds_demolist=demolist";
  655. oParam.async = false;
  656. //oParam.callback = "cf_TRRSE01701";
  657. tranf_submit(oParam);
  658. ds_demolist.addColumn("colCheck", "string");
  659. ds_demolist.addColumn("colEnable", "string");
  660. ds_demolist.updatecontrol = false;
  661. for( var i=0 ; i<ds_demolist.rowcount ; i++ ){
  662. if( (ds_demolist.getColumn(i, "acptstat") == "01" && sysf_getUserInfo("dutplcecd") == ds_demolist.getColumn(i, "reqdeptcd")) ||
  663. ((ds_demolist.getColumn(i, "acptstat") == "01" || ds_demolist.getColumn(i, "acptstat") == "03") && (sysf_getUserInfo("dutplcecd") == "4090500000" || sysf_getUserInfo("userid") == "99207")) ){
  664. ds_demolist.setColumn(i, "colEnable", "checkbox");
  665. }else{
  666. ds_demolist.setColumn(i, "colEnable", "none");
  667. }
  668. }
  669. ds_demolist.updatecontrol = true;
  670. ds_demolist.rowposition = -1;
  671. }
  672. /****************************************************************************************
  673. * Components : Button
  674. * Components ID : btn_reqdeptcd
  675. * Event : onclick
  676. * Argument : 01.obj : Object Event has occurred
  677. * : 02.e : Event Object
  678. * Description : 돋보기버튼 클릭시
  679. ****************************************************************************************/
  680. function div_search_btn_reqdeptcd_onclick(obj:Button, e:ClickEventInfo)
  681. {
  682. var recv_list = "reqdeptcd,reqdeptnm";
  683. misfOpenPopUpList("02", div_search.ipt_reqdeptcd, "", recv_list, div_search.cmb_instcd.value, "instcd");
  684. }
  685. /****************************************************************************************
  686. * Components : Button
  687. * Components ID : btn_installplcecd
  688. * Event : onclick
  689. * Argument : 01.obj : Object Event has occurred
  690. * : 02.e : Event Object
  691. * Description : 돋보기버튼 클릭시
  692. ****************************************************************************************/
  693. function div_search_btn_installplcecd_onclick(obj:Button, e:ClickEventInfo)
  694. {
  695. var recv_list = "installplcecd,installplcenm";
  696. misfOpenPopUpList("02", div_search.ipt_installplcecd, "", recv_list, div_search.cmb_instcd.value, "instcd");
  697. }
  698. /****************************************************************************************
  699. * Components : Edit
  700. * Components ID : ipt_reqdeptcd
  701. * Event : onkeydown
  702. * Argument : 01.obj : Object Event has occurred
  703. * : 02.e : Event Object
  704. * Description : 에디터 키 입력시
  705. ****************************************************************************************/
  706. function div_search_ipt_reqdeptcd_onkeydown(obj:Edit, e:KeyEventInfo)
  707. {
  708. if( e.keycode == 13 ){
  709. obj.updateToDataset();
  710. }
  711. }
  712. /****************************************************************************************
  713. * Components : Edit
  714. * Components ID : ipt_installplcecd
  715. * Event : onkeydown
  716. * Argument : 01.obj : Object Event has occurred
  717. * : 02.e : Event Object
  718. * Description : 에디터 키 입력시
  719. ****************************************************************************************/
  720. function div_search_ipt_installplcecd_onkeydown(obj:Edit, e:KeyEventInfo)
  721. {
  722. if( e.keycode == 13 ){
  723. obj.updateToDataset();
  724. }
  725. }
  726. /****************************************************************************************
  727. * Components : Dataset
  728. * Components ID : ds_cond
  729. * Event : oncolumnchanged
  730. * Argument : 01.obj : Object Event has occurred
  731. * : 02.e : Event Object
  732. * Description : 데이터셋 값 변경시
  733. ****************************************************************************************/
  734. function ds_cond_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  735. {
  736. switch( e.columnid ){
  737. case "reqdeptcd" :
  738. var objFocus = this.getFocus();
  739. div_search.ipt_reqdeptcd.setFocus();
  740. misfSearchDept(div_search.ipt_reqdeptnm);
  741. objFocus.setFocus();
  742. break;
  743. case "installplcecd" :
  744. var objFocus = this.getFocus();
  745. div_search.ipt_installplcecd.setFocus();
  746. misfSearchDept(div_search.ipt_installplcenm);
  747. objFocus.setFocus();
  748. break;
  749. default :
  750. break;
  751. }
  752. }
  753. /****************************************************************************************
  754. * Components : Dataset
  755. * Components ID : ds_temp_demolist
  756. * Event : oncolumnchanged
  757. * Argument : 01.obj : Object Event has occurred
  758. * : 02.e : Event Object
  759. * Description : 데이터셋 값 변경시
  760. ****************************************************************************************/
  761. function ds_temp_demolist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  762. {
  763. switch( e.columnid ){
  764. case "costamt" :
  765. case "fixasetqty" :
  766. if( utlf_isNull(e.newvalue) ){
  767. obj.setColumn(e.row, e.columnid, "0");
  768. }
  769. break;
  770. case "installplcecd" :
  771. var objFocus = this.getFocus();
  772. ipt_installplcecd2.setFocus();
  773. misfSearchDept(ipt_installplcenm2);
  774. objFocus.setFocus();
  775. break;
  776. case "etcuseyn" :
  777. if( e.newvalue == "Y" ){
  778. if( utlf_isNull(ds_temp_demolist.getColumn(0, "etcuse")) ){
  779. cap_etcuse.visible = true;
  780. }else{
  781. cap_etcuse.visible = false;
  782. }
  783. ipt_etcuse.visible = true;
  784. }else{
  785. obj.setColumn(e.row, "etcuse", "");
  786. cap_etcuse.visible = false;
  787. ipt_etcuse.visible = false;
  788. }
  789. break;
  790. case "extendyn" :
  791. if( e.newvalue == "Y" ){
  792. ipt_extenddd.enable = true;
  793. }else{
  794. obj.setColumn(e.row, "extenddd", "");
  795. ipt_extenddd.enable = false;
  796. }
  797. break;
  798. case "suplplce" :
  799. ipt_suplplce.tooltiptext = e.newvalue;
  800. break;
  801. default :
  802. break;
  803. }
  804. }
  805. /****************************************************************************************
  806. * Components : Button
  807. * Components ID : btn_installplcecd
  808. * Event : onclick
  809. * Argument : 01.obj : Object Event has occurred
  810. * : 02.e : Event Object
  811. * Description : 돋보기버튼 클릭시
  812. ****************************************************************************************/
  813. function btn_installplcecd_onclick(obj:Button, e:ClickEventInfo)
  814. {
  815. var recv_list = "installplcecd,installplcenm";
  816. misfOpenPopUpList("02", ipt_installplcecd2, "", recv_list, div_search.cmb_instcd.value, "instcd");
  817. }
  818. /****************************************************************************************
  819. * Components : Edit
  820. * Components ID : ipt_installplcecd
  821. * Event : onkeydown
  822. * Argument : 01.obj : Object Event has occurred
  823. * : 02.e : Event Object
  824. * Description : 에디터 키 입력시
  825. ****************************************************************************************/
  826. function ipt_installplcecd_onkeydown(obj:Edit, e:KeyEventInfo)
  827. {
  828. if( e.keycode == 13 ){
  829. obj.updateToDataset();
  830. }
  831. }
  832. /****************************************************************************************
  833. * Components : Static
  834. * Components ID : cap_etcuse
  835. * Event : onclick
  836. * Argument : 01.obj : Object Event has occurred
  837. * : 02.e : Event Object
  838. * Description : Static 클릭시
  839. ****************************************************************************************/
  840. function cap_etcuse_onclick(obj:Static, e:ClickEventInfo)
  841. {
  842. obj.visible = false;
  843. ipt_etcuse.setFocus();
  844. }
  845. /****************************************************************************************
  846. * Components : Edit
  847. * Components ID : ipt_etcuse
  848. * Event : onkillfocus
  849. * Argument : 01.obj : Object Event has occurred
  850. * : 02.e : Event Object
  851. * Description : 에디터 포커스 아웃시
  852. ****************************************************************************************/
  853. function ipt_etcuse_onkillfocus(obj:Edit, e:KillFocusEventInfo)
  854. {
  855. if( utlf_isNull(obj.value) ){
  856. cap_etcuse.visible = true;
  857. }else{
  858. cap_etcuse.visible = false;
  859. }
  860. }
  861. /****************************************************************************************
  862. * Components : Button
  863. * Components ID : btn_init
  864. * Event : onclick
  865. * Argument : 01.obj : Object Event has occurred
  866. * : 02.e : Event Object
  867. * Description : 초기화버튼 클릭시
  868. ****************************************************************************************/
  869. function btn_init_onclick(obj:Button, e:ClickEventInfo)
  870. {
  871. ds_cond.clearData();
  872. ds_cond.addRow();
  873. ds_cond.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  874. ds_cond.setColumn(0, "reqfromdd", utlf_getCurrentDate());
  875. ds_cond.setColumn(0, "reqtodd", utlf_getCurrentDate());
  876. ds_cond.setColumn(0, "acptstat", "");
  877. ds_demolist.clearData();
  878. fn_clearDetail();
  879. }
  880. /****************************************************************************************
  881. * Components : Button
  882. * Components ID : btn_expand
  883. * Event : onclick
  884. * Argument : 01.obj : Object Event has occurred
  885. * : 02.e : Event Object
  886. * Description : 확대보기버튼 클릭시
  887. ****************************************************************************************/
  888. function btn_expand_onclick(obj:Button, e:ClickEventInfo)
  889. {
  890. if( obj.text == "확대보기" ){
  891. obj.text = "축소보기";
  892. grd_demolist.anchor = "all";
  893. grd_demolist.position = "absolute 0 117 1238 785";
  894. }else{
  895. obj.text = "확대보기";
  896. grd_demolist.anchor = "left top bottom";
  897. grd_demolist.position = "absolute 0 117 624 785";
  898. }
  899. }
  900. /****************************************************************************************
  901. * Components : Button
  902. * Components ID : btn_new
  903. * Event : onclick
  904. * Argument : 01.obj : Object Event has occurred
  905. * : 02.e : Event Object
  906. * Description : 신규버튼 클릭시
  907. ****************************************************************************************/
  908. function btn_new_onclick(obj:Button, e:ClickEventInfo)
  909. {
  910. fn_clearDetail();
  911. ds_temp_demolist.addRow();
  912. ds_temp_demolist.setColumn(0, "status", "i");
  913. ds_temp_demolist.setColumn(0, "flag", "");
  914. ds_temp_demolist.setColumn(0, "instcd", ds_cond.getColumn(0, "instcd"));
  915. ds_temp_demolist.setColumn(0, "reqdd", utlf_getCurrentDate());
  916. ds_temp_demolist.setColumn(0, "reqdeptcd", sysf_getUserInfo("dutplcecd"));
  917. ds_temp_demolist.setColumn(0, "reqdeptnm", sysf_getUserInfo("dutplcenm"));
  918. ds_temp_demolist.setColumn(0, "reqid", sysf_getUserInfo("userid"));
  919. ds_temp_demolist.setColumn(0, "reqnm", sysf_getUserInfo("usernm"));
  920. ds_temp_demolist.setColumn(0, "costamt", "0");
  921. ds_temp_demolist.setColumn(0, "fixasetqty", "0");
  922. // ds_temp_demolist.setColumn(0, "demofrdd", utlf_getCurrentDate());
  923. // ds_temp_demolist.setColumn(0, "demotodd", utlf_getCurrentDate());
  924. ds_temp_demolist.setColumn(0, "etcuseyn", "N");
  925. ds_temp_demolist.setColumn(0, "extendyn", "N");
  926. fn_enableDetail(true);
  927. }
  928. /****************************************************************************************
  929. * Components : Button
  930. * Components ID : btn_del
  931. * Event : onclick
  932. * Argument : 01.obj : Object Event has occurred
  933. * : 02.e : Event Object
  934. * Description : 삭제버튼 클릭시
  935. ****************************************************************************************/
  936. function btn_del_onclick(obj:Button, e:ClickEventInfo)
  937. {
  938. if( ds_temp_demolist.rowcount < 1 ){
  939. return false;
  940. }
  941. if( ds_temp_demolist.getColumn(0, "status") == "i" ){
  942. fn_clearDetail();
  943. }
  944. if( ds_temp_demolist.getColumn(0, "acptstat") != "01" ){
  945. return false;
  946. }
  947. ds_temp_demolist.setColumn(0, "status", "d");
  948. ds_temp_demolist.setColumn(0, "flag", "");
  949. var oParam = {};
  950. oParam.id = "TXRSE01701";
  951. oParam.service = "reqapp.ReqMngt";
  952. oParam.method = "reqExeDemoDetailList";
  953. oParam.inds = "req=ds_temp_demolist deletefiles=ds_file:A";
  954. oParam.outds = "";
  955. oParam.async = false;
  956. //oParam.callback = "cf_TXRSE01701";
  957. tranf_submit(oParam);
  958. div_search.btn_search.click();
  959. }
  960. /****************************************************************************************
  961. * Components : Grid
  962. * Components ID : grd_demolist
  963. * Event : oncellclick
  964. * Argument : 01.obj : Object Event has occurred
  965. * : 02.e : Event Object
  966. * Description : 그리드 셀 클릭시
  967. ****************************************************************************************/
  968. function grd_demolist_oncellclick(obj:Grid, e:GridClickEventInfo)
  969. {
  970. if( e.col > 0 ){
  971. fn_clearDetail();
  972. ds_temp_demolist.addRow();
  973. ds_temp_demolist.setColumn(0, "etcuse", ds_demolist.getColumn(ds_demolist.rowposition, "etcuse"));
  974. ds_temp_demolist.setColumn(0, "etcuseyn", ds_demolist.getColumn(ds_demolist.rowposition, "etcuseyn"));
  975. ds_temp_demolist.setColumn(0, "extendyn", ds_demolist.getColumn(ds_demolist.rowposition, "extendyn"));
  976. ds_temp_demolist.copyRow(0, ds_demolist, ds_demolist.rowposition);
  977. ipt_suplplce.tooltiptext = ds_temp_demolist.getColumn(0, "suplplce");
  978. ipt_reqdeptnm.tooltiptext = ds_temp_demolist.getColumn(0, "reqdeptnm");
  979. ipt_reqnm.tooltiptext = ds_temp_demolist.getColumn(0, "reqnm");
  980. ds_temp_demolist.setColumn(0, "status", "u");
  981. ds_temp_demolist.setColumn(0, "flag", "");
  982. dsf_createDsRow("ds_req", [
  983. {col:"filekey", type:"STRING", size:256, val:dsf_getColumnNullToEmpty(ds_temp_demolist, 0, "filekey")}
  984. ]);
  985. var oParam = {};
  986. oParam.id = "TRRSC20202";
  987. oParam.service = "reqapp.ReqMngt";
  988. oParam.method = "reqGetAttFileList";
  989. oParam.inds = "req=ds_req";
  990. oParam.outds = "ds_file=files";
  991. oParam.async = false;
  992. //oParam.callback = "cf_TRRSC20202";
  993. tranf_submit(oParam);
  994. ds_file.addColumn("filedata", "BLOB");
  995. ds_file.rowposition = -1;
  996. if( ds_temp_demolist.getColumn(0, "acptstat") != "01" ){
  997. if( sysf_getUserInfo("dutplcecd") == "4090500000" || sysf_getUserInfo("userid") == "99207" ){
  998. fn_enableDetail(true);
  999. }else{
  1000. fn_enableDetail(false);
  1001. }
  1002. }else if( sysf_getUserInfo("dutplcecd") == ds_temp_demolist.getColumn(0, "reqdeptcd") ){
  1003. fn_enableDetail(true);
  1004. }else{
  1005. fn_enableDetail(false);
  1006. }
  1007. ds_cond.setColumn(0, "emplno", sysf_getUserInfo("userid"));
  1008. var oParam = {};
  1009. oParam.id = "TRRSO24003";
  1010. oParam.service = "deliveapp.DeliveMngt";
  1011. oParam.method = "reqGetDeptAprvyn";
  1012. oParam.inds = "req=ds_cond";
  1013. oParam.outds = "ds_deptaprvyn=deptaprvyn";
  1014. oParam.async = false;
  1015. //oParam.callback = "cf_TRRSO24003";
  1016. tranf_submit(oParam);
  1017. var flagYn = "";
  1018. if( ds_deptaprvyn.rowcount > 0 ){
  1019. flagYn = ds_deptaprvyn.getColumn(0, "flag");
  1020. }
  1021. if( utlf_isNull(ds_temp_demolist.getColumn(0, "deptaprvdd")) && utlf_isNull(ds_temp_demolist.getColumn(0, "deptaprvid")) && ds_temp_demolist.getColumn(0, "acptstat")=="01" ){
  1022. if( (sysf_getUserInfo("dutplcecd") == ds_temp_demolist.getColumn(0, "reqdeptcd") && !utlf_isNull(flagYn)) || sysf_getUserInfo("userid") == "99207" ){
  1023. btn_deptaprv.enable = true;
  1024. }else{
  1025. btn_deptaprv.enable = false;
  1026. }
  1027. btn_canceldeptaprv.enable = false;
  1028. btn_acpt.enable = false;
  1029. btn_cancelacpt.enable = false;
  1030. }else if( utlf_isNull(ds_temp_demolist.getColumn(0, "acptdd")) && utlf_isNull(ds_temp_demolist.getColumn(0, "acptid")) && ds_temp_demolist.getColumn(0, "acptstat")=="02" ){
  1031. if( sysf_getUserInfo("dutplcecd") == ds_temp_demolist.getColumn(0, "reqdeptcd") && !utlf_isNull(flagYn) ){
  1032. btn_canceldeptaprv.enable = true;
  1033. }else if( sysf_getUserInfo("dutplcecd") == "4090500000" || sysf_getUserInfo("userid") == "99207" ){
  1034. btn_canceldeptaprv.enable = true;
  1035. btn_acpt.enable = true;
  1036. }else{
  1037. btn_canceldeptaprv.enable = false;
  1038. btn_acpt.enable = false;
  1039. }
  1040. btn_deptaprv.enable = false;
  1041. btn_cancelacpt.enable = false;
  1042. }else{
  1043. if( sysf_getUserInfo("dutplcecd") == "4090500000" || sysf_getUserInfo("userid") == "99207" ){
  1044. btn_cancelacpt.enable = true;
  1045. }else{
  1046. btn_cancelacpt.enable = false;
  1047. }
  1048. btn_deptaprv.enable = false;
  1049. btn_canceldeptaprv.enable = false;
  1050. btn_acpt.enable = false;
  1051. }
  1052. }
  1053. }
  1054. /****************************************************************************************
  1055. * Components : Button
  1056. * Components ID : btn_save
  1057. * Event : onclick
  1058. * Argument : 01.obj : Object Event has occurred
  1059. * : 02.e : Event Object
  1060. * Description : 저장버튼 클릭시
  1061. ****************************************************************************************/
  1062. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  1063. {
  1064. if( ds_temp_demolist.rowcount < 1 ){
  1065. return false;
  1066. }
  1067. if( utlf_isNull(ds_temp_demolist.getColumn(0, "reqtel")) ){
  1068. sysf_messageBox("연락처는", "I003");
  1069. ipt_reqtel.setFocus();
  1070. return false;
  1071. }
  1072. if( utlf_isNull(ds_temp_demolist.getColumn(0, "goodflaghngnm")) ){
  1073. sysf_messageBox("장비명(한)은", "I003");
  1074. ipt_goodflaghngnm.setFocus();
  1075. return false;
  1076. }
  1077. if( utlf_isNull(ds_temp_demolist.getColumn(0, "goodflagengnm")) ){
  1078. sysf_messageBox("장비명(영)은", "I003");
  1079. ipt_goodflagengnm.setFocus();
  1080. return false;
  1081. }
  1082. if( utlf_isNull(ds_temp_demolist.getColumn(0, "goodspec")) ){
  1083. sysf_messageBox("규격은", "I003");
  1084. ipt_goodspec.setFocus();
  1085. return false;
  1086. }
  1087. if( utlf_isNull(ds_temp_demolist.getColumn(0, "fixasetqty")) || ds_temp_demolist.getColumn(0, "fixasetqty")<1 ){
  1088. sysf_messageBox("수량은", "I003");
  1089. ipt_fixasetqty.setFocus();
  1090. return false;
  1091. }
  1092. if( utlf_isNull(ds_temp_demolist.getColumn(0, "prodcmpy")) ){
  1093. sysf_messageBox("제조사는", "I003");
  1094. ipt_prodcmpy.setFocus();
  1095. return false;
  1096. }
  1097. if( utlf_isNull(ds_temp_demolist.getColumn(0, "suplplce")) ){
  1098. sysf_messageBox("제공업체는", "I003");
  1099. ipt_suplplce.setFocus();
  1100. return false;
  1101. }
  1102. if( utlf_isNull(ds_temp_demolist.getColumn(0, "supnm")) ){
  1103. sysf_messageBox("담당자는", "I003");
  1104. ipt_supnm.setFocus();
  1105. return false;
  1106. }
  1107. if( utlf_isNull(ds_temp_demolist.getColumn(0, "suphp")) ){
  1108. sysf_messageBox("담당자 H.P은", "I003");
  1109. ipt_suphp.setFocus();
  1110. return false;
  1111. }
  1112. if( utlf_isNull(ds_temp_demolist.getColumn(0, "suphp")) ){
  1113. sysf_messageBox("담당자 H.P은", "I003");
  1114. ipt_suphp.setFocus();
  1115. return false;
  1116. }
  1117. if( utlf_isNull(ds_temp_demolist.getColumn(0, "demofrdd")) || utlf_isNull(ds_temp_demolist.getColumn(0, "demotodd")) ){
  1118. sysf_messageBox("데모기간은", "I003");
  1119. ipt_demofrdd.setFocus();
  1120. return false;
  1121. }
  1122. if( utlf_diffDate(ds_temp_demolist.getColumn(0, "demofrdd"), ds_temp_demolist.getColumn(0, "demotodd")) < 0 ){
  1123. sysf_messageBox("데모기간이", "E016");
  1124. ipt_demofrdd.setFocus();
  1125. return false;
  1126. }
  1127. if( utlf_diffDate(ds_temp_demolist.getColumn(0, "demofrdd"), ds_temp_demolist.getColumn(0, "demotodd")) > 28 ){
  1128. sysf_messageBox("데모장비는 4주이상 사용이 불가능합니다.\n\n4주이상이 될 경우 무상임차로 진행하시기 바랍니다.", "I999");
  1129. ipt_demofrdd.setFocus();
  1130. return false;
  1131. }
  1132. if( utlf_isNull(ds_temp_demolist.getColumn(0, "installplcecd")) ){
  1133. sysf_messageBox("설치장소는", "I003");
  1134. ipt_installplcecd2.setFocus();
  1135. return false;
  1136. }
  1137. if( ds_temp_demolist.getColumn(0, "etcuseyn")=="Y" && utlf_isNull(ds_temp_demolist.getColumn(0, "etcuse")) ){
  1138. sysf_messageBox("소모품 사용여부 'Y' 사용소모품 입력이 필수입니다.", "I999");
  1139. return false;
  1140. }
  1141. if( ds_temp_demolist.getColumn(0, "extendyn")=="Y" && utlf_isNull(ds_temp_demolist.getColumn(0, "extenddd")) ){
  1142. sysf_messageBox("연장여부 체크시 연장종료일은", "I003");
  1143. ipt_extenddd.setFocus();
  1144. return false;
  1145. }
  1146. if( utlf_isNull(ds_temp_demolist.getColumn(0, "reqno")) ){
  1147. sysf_messageBox("부서장 승인결재를 받아야 접수진행 가능합니다.", "I999");
  1148. }
  1149. ds_save_file.clearData();
  1150. if(ds_file.rowcount <= 0) {
  1151. ds_temp_demolist.setColumn(0, "filekey", "");
  1152. } else {
  1153. ds_file.filter("utlf_isNull(filekey) == true");
  1154. ds_save_file.copyData(ds_file, true);
  1155. ds_file.filter("");
  1156. }
  1157. if( utlf_isNull(ds_temp_demolist.getColumn(0, "status")) ){
  1158. ds_temp_demolist.setColumn(0, "status", "u");
  1159. ds_temp_demolist.setColumn(0, "flag", "");
  1160. }
  1161. var oParam = {};
  1162. oParam.id = "TXRSE01701";
  1163. oParam.service = "reqapp.ReqMngt";
  1164. oParam.method = "reqExeDemoDetailList";
  1165. oParam.inds = "req=ds_temp_demolist savefiles=ds_save_file deletefiles=ds_delete_file";
  1166. oParam.outds = "";
  1167. oParam.async = false;
  1168. //oParam.callback = "cf_TXRSE01701";
  1169. tranf_submit(oParam);
  1170. ds_file.clearData();
  1171. ds_delete_file.clearData();
  1172. div_search.btn_search.click();
  1173. }
  1174. /****************************************************************************************
  1175. * Components : Button
  1176. * Components ID : btn_excelDown
  1177. * Event : onclick
  1178. * Argument : 01.obj : Object Event has occurred
  1179. * : 02.e : Event Object
  1180. * Description : 엑셀버튼 클릭시
  1181. ****************************************************************************************/
  1182. function btn_excelDown_onclick(obj:Button, e:ClickEventInfo)
  1183. {
  1184. if( grd_demolist.rowcount > 0 ){
  1185. grdf_exportExcel(grd_demolist, "DEMO 장비 신청", "신청현황", false, "", "user", true);
  1186. } else {
  1187. sysf_messageBox("조회된 데이터가 ", "I004");
  1188. return false;
  1189. }
  1190. }
  1191. /****************************************************************************************
  1192. * Components : Button
  1193. * Components ID : btn_deptaprv
  1194. * Event : onclick
  1195. * Argument : 01.obj : Object Event has occurred
  1196. * : 02.e : Event Object
  1197. * Description : 승인버튼 클릭시
  1198. ****************************************************************************************/
  1199. function btn_deptaprv_onclick(obj:Button, e:ClickEventInfo)
  1200. {
  1201. ds_temp_demolist.setColumn(0, "status", "u");
  1202. ds_temp_demolist.setColumn(0, "flag", "S");
  1203. ds_temp_demolist.setColumn(0, "deptaprvdd", utlf_getCurrentDate());
  1204. ds_temp_demolist.setColumn(0, "deptaprvid", sysf_getUserInfo("userid"));
  1205. var oParam = {};
  1206. oParam.id = "TXRSE01701";
  1207. oParam.service = "reqapp.ReqMngt";
  1208. oParam.method = "reqExeDemoDetailList";
  1209. oParam.inds = "req=ds_temp_demolist";
  1210. oParam.outds = "";
  1211. oParam.async = false;
  1212. oParam.callback = "cf_TXRSE01701";
  1213. tranf_submit(oParam);
  1214. if( arErrorCode.pop("TXRSE01701") > -1 ){
  1215. sysf_messageBox("승인완료", "I999");
  1216. div_search.btn_search.click();
  1217. }
  1218. }
  1219. function cf_TXRSE01701(sSvcId, nErrorCode, sErrorMsg){
  1220. arErrorCode.push(sSvcId, nErrorCode);
  1221. }
  1222. /****************************************************************************************
  1223. * Components : Button
  1224. * Components ID : btn_acpt
  1225. * Event : onclick
  1226. * Argument : 01.obj : Object Event has occurred
  1227. * : 02.e : Event Object
  1228. * Description : 접수버튼 클릭시
  1229. ****************************************************************************************/
  1230. function btn_acpt_onclick(obj:Button, e:ClickEventInfo)
  1231. {
  1232. ds_temp_demolist.setColumn(0, "status", "u");
  1233. ds_temp_demolist.setColumn(0, "flag", "A");
  1234. ds_temp_demolist.setColumn(0, "acptdd", utlf_getCurrentDate());
  1235. ds_temp_demolist.setColumn(0, "acptid", sysf_getUserInfo("userid"));
  1236. var oParam = {};
  1237. oParam.id = "TXRSE01701";
  1238. oParam.service = "reqapp.ReqMngt";
  1239. oParam.method = "reqExeDemoDetailList";
  1240. oParam.inds = "req=ds_temp_demolist";
  1241. oParam.outds = "";
  1242. oParam.async = false;
  1243. oParam.callback = "cf_TXRSE01701";
  1244. tranf_submit(oParam);
  1245. if( arErrorCode.pop("TXRSE01701") > -1 ){
  1246. sysf_messageBox("접수완료", "I999");
  1247. div_search.btn_search.click();
  1248. }
  1249. }
  1250. function btn_canceldeptaprv_onclick(obj:Button, e:ClickEventInfo)
  1251. {
  1252. ds_temp_demolist.setColumn(0, "status", "u");
  1253. ds_temp_demolist.setColumn(0, "flag", "CS");
  1254. var oParam = {};
  1255. oParam.id = "TXRSE01701";
  1256. oParam.service = "reqapp.ReqMngt";
  1257. oParam.method = "reqExeDemoDetailList";
  1258. oParam.inds = "req=ds_temp_demolist";
  1259. oParam.outds = "";
  1260. oParam.async = false;
  1261. oParam.callback = "cf_TXRSE01701";
  1262. tranf_submit(oParam);
  1263. if( arErrorCode.pop("TXRSE01701") > -1 ){
  1264. sysf_messageBox("승인취소", "I999");
  1265. div_search.btn_search.click();
  1266. }
  1267. }
  1268. function btn_cancelacpt_onclick(obj:Button, e:ClickEventInfo)
  1269. {
  1270. ds_temp_demolist.setColumn(0, "status", "u");
  1271. ds_temp_demolist.setColumn(0, "flag", "CA");
  1272. var oParam = {};
  1273. oParam.id = "TXRSE01701";
  1274. oParam.service = "reqapp.ReqMngt";
  1275. oParam.method = "reqExeDemoDetailList";
  1276. oParam.inds = "req=ds_temp_demolist";
  1277. oParam.outds = "";
  1278. oParam.async = false;
  1279. oParam.callback = "cf_TXRSE01701";
  1280. tranf_submit(oParam);
  1281. if( arErrorCode.pop("TXRSE01701") > -1 ){
  1282. sysf_messageBox("접수취소", "I999");
  1283. div_search.btn_search.click();
  1284. }
  1285. }
  1286. function btn_file_add_onclick(obj:Button, e:ClickEventInfo)
  1287. {
  1288. //******파일을 첨부하기 위해 파일열기가 open 되게 한다.
  1289. var oDsSaveFile = ds_file;
  1290. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  1291. var fd = new FileDialog;
  1292. var objVFileList = fd.open("첨부 할 파일을 선택하여 주십시오.", FileDialog.MULTILOAD);
  1293. if(utlf_isNull(objVFileList)) return;
  1294. ds_temp_file.clearData();
  1295. for(var i = 0; i < objVFileList.length; i++) {
  1296. var nRow = ds_temp_file.addRow();
  1297. var objFileinfo = dsf_writeFileToDs(objVFileList[i], ds_temp_file, nRow, "filedata");
  1298. if (!checkFileSize(objFileinfo.filesize)){
  1299. sysf_messageBox(objFileinfo.filename + " 파일의 크기가 최대치(" + gMaxSize + "Byte)를 초과하여 첨부할 수 없습니다", "E");
  1300. ds_temp_file.deleteRow(nRow);
  1301. } else {
  1302. ds_temp_file.setColumn(nRow, "filename", objFileinfo.filename);
  1303. ds_temp_file.setColumn(nRow, "filesize", objFileinfo.filesize);
  1304. ds_temp_file.setColumn(nRow, "filetype", objFileinfo.filetype);
  1305. }
  1306. }
  1307. oDsSaveFile.appendData(ds_temp_file);
  1308. grd_AddFile.vscrollbar.pos = grd_AddFile.vscrollbar.max;
  1309. oDsSaveFile.rowposition = oDsSaveFile.rowcount - 1;
  1310. }
  1311. function checkFileSize(fileSize)
  1312. {
  1313. if (fileSize <= gMaxSize)
  1314. return true;
  1315. else
  1316. return false;
  1317. }
  1318. function btn_file_del_onclick(obj:Button, e:ClickEventInfo)
  1319. {
  1320. // 서버에 저장 되어 있는 것들을 지우기 위해 담아둠
  1321. var selectedRows = grdf_getSelectedRows(grd_AddFile);
  1322. for(var i = selectedRows.length - 1; i >= 0; i--) {
  1323. var currow = selectedRows[i];
  1324. if(!utlf_isNull(ds_file.getColumn(currow, "filekey"))) {
  1325. var nRow = ds_delete_file.addRow();
  1326. ds_delete_file.copyRow(nRow, ds_file, currow);
  1327. }
  1328. ds_file.deleteRow(currow);
  1329. }
  1330. }
  1331. function grd_AddFile_oncellclick(obj:Grid, e:GridClickEventInfo)
  1332. {
  1333. if(e.col == 4) {
  1334. fPreview(ds_file.getColumn(e.row, "filename"), ds_file.getColumn(e.row, "filepath"));
  1335. } else if(e.col == 5) {
  1336. fFileDown(ds_file.getColumn(e.row, "filename"), ds_file.getColumn(e.row, "filepath"));
  1337. }
  1338. }
  1339. function fPreview(filenm, filepath) {
  1340. if(utlf_isNull(filepath)) return;
  1341. var temp_path = "C:\\temp2";
  1342. var objActiveX = new ActiveX();
  1343. var FSO = objActiveX.createObject("Scripting.FileSystemObject");
  1344. objActiveX.destroy();
  1345. objActiveX = null;
  1346. // 객체 생성 실패하면 리턴
  1347. if (FSO == null) return;
  1348. // 시스템 드라이브가 없다면..
  1349. if (FSO.DriveExists("C") == false) return;
  1350. // 임시디렉토리가 없으면 생성
  1351. if (FSO.FolderExists(temp_path) == false)
  1352. folder = FSO.CreateFolder(temp_path);
  1353. ds_attfile.setColumn(0, "filepath", filepath);
  1354. ds_attfile.setColumn(0, "fullpath", temp_path + "\\" + filenm);
  1355. //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
  1356. var oParam = {};
  1357. oParam.id = "SPZSN00603";
  1358. oParam.service = "noticeinfoapp.noticeinfo";
  1359. oParam.method = "reqGetAttachFile";
  1360. oParam.inds = "req=ds_attfile";
  1361. oParam.outds = "ds_filelist=file";
  1362. oParam.async = true;
  1363. oParam.callback = "cf_SPZSN00603";
  1364. tranf_submit(oParam);
  1365. }
  1366. function cf_SPZSN00603(sSvcId, nErrorCode, sErrorMsg)
  1367. {
  1368. if(nErrorCode < 0) return;
  1369. if(ds_filelist.rowcount > 0) {
  1370. var fullpath = ds_filelist.getColumn(0, "fullpath");
  1371. dsf_readFileFromDs(fullpath, ds_filelist, 0, "filecnts"); // 파일저장
  1372. system.execShell("\"" + fullpath + "\"");
  1373. }
  1374. }
  1375. function fFileDown(filenm, filepath) {
  1376. if(utlf_isNull(filepath)) return;
  1377. //파일을 다운로드 하기 위해 저장할 창을 띄움
  1378. var fd = new FileDialog;
  1379. var objVFileList = fd.open("다운 받을 위치를 선택하여 주십시오.", FileDialog.SAVE, "", filenm);
  1380. if (objVFileList != null) {
  1381. ds_attfile.setColumn(0, "filepath", filepath);
  1382. ds_attfile.setColumn(0, "fullpath", objVFileList.fullpath);
  1383. //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
  1384. var oParam = {};
  1385. oParam.id = "SPZSN00602";
  1386. oParam.service = "noticeinfoapp.noticeinfo";
  1387. oParam.method = "reqGetAttachFile";
  1388. oParam.inds = "req=ds_attfile";
  1389. oParam.outds = "ds_filelist=file";
  1390. oParam.async = true;
  1391. oParam.callback = "cf_SPZSN00602";
  1392. tranf_submit(oParam);
  1393. }
  1394. }
  1395. function cf_SPZSN00602(sSvcId, nErrorCode, sErrorMsg)
  1396. {
  1397. if(nErrorCode < 0) return;
  1398. if(ds_filelist.rowcount > 0) {
  1399. var fullpath = ds_filelist.getColumn(0, "fullpath");
  1400. dsf_readFileFromDs(fullpath, ds_filelist, 0, "filecnts"); // 파일저장
  1401. if(sysf_messageBox("파일을", "Q004") == "6")
  1402. system.execShell("\"" + fullpath + "\"");
  1403. }
  1404. }
  1405. function grd_demolist_onheadclick(obj:Grid, e:GridClickEventInfo)
  1406. {
  1407. if( e.col == 0 ){
  1408. if( obj.getCellProperty("Head", 0, "expr") == "0" ){
  1409. obj.setCellProperty("Head", 0, "expr", "1");
  1410. for( var i=0 ; i<ds_demolist.rowcount ; i++ ){
  1411. if( ds_demolist.getColumn(i, "colEnable") == "checkbox" ){
  1412. ds_demolist.setColumn(i, "colCheck", "1");
  1413. }
  1414. }
  1415. }else{
  1416. obj.setCellProperty("Head", 0, "expr", "0");
  1417. for( var i=0 ; i<ds_demolist.rowcount ; i++ ){
  1418. if( ds_demolist.getColumn(i, "colEnable") == "checkbox" ){
  1419. ds_demolist.setColumn(i, "colCheck", "0");
  1420. }
  1421. }
  1422. }
  1423. }
  1424. }
  1425. function btn_rowDel_onclick(obj:Button, e:ClickEventInfo)
  1426. {
  1427. for( var i=ds_demolist.rowcount-1 ; i>=0 ; i-- ){
  1428. if( ds_demolist.getColumn(i, "colCheck") == "1" ){
  1429. ds_temp_demolist.clearData();
  1430. ds_temp_demolist.addRow();
  1431. ds_temp_demolist.copyRow(0, ds_demolist, i);
  1432. ds_temp_demolist.setColumn(0, "status", "d");
  1433. ds_temp_demolist.setColumn(0, "flag", "");
  1434. dsf_createDsRow("ds_req", [
  1435. {col:"filekey", type:"STRING", size:256, val:dsf_getColumnNullToEmpty(ds_temp_demolist, 0, "filekey")}
  1436. ]);
  1437. var oParam = {};
  1438. oParam.id = "TRRSC20202";
  1439. oParam.service = "reqapp.ReqMngt";
  1440. oParam.method = "reqGetAttFileList";
  1441. oParam.inds = "req=ds_req";
  1442. oParam.outds = "ds_file=files";
  1443. oParam.async = false;
  1444. //oParam.callback = "cf_TRRSC20202";
  1445. tranf_submit(oParam);
  1446. ds_file.addColumn("filedata", "BLOB");
  1447. var oParam = {};
  1448. oParam.id = "TXRSE01702";
  1449. oParam.service = "reqapp.ReqMngt";
  1450. oParam.method = "reqExeDemoDetailList";
  1451. oParam.inds = "req=ds_temp_demolist deletefiles=ds_file:A";
  1452. oParam.outds = "";
  1453. oParam.async = false;
  1454. oParam.callback = "cf_TXRSE01702";
  1455. tranf_submit(oParam);
  1456. }
  1457. }
  1458. if( arErrorCode.pop("TXRSE01702") > -1 ){
  1459. sysf_messageBox("삭제 처리되었습니다.", "I999", "");
  1460. div_search.btn_search.click();
  1461. }
  1462. }
  1463. function cf_TXRSE01702(sSvcId, nErrorCode, sErrorMsg) {
  1464. arErrorCode.push(sSvcId, nErrorCode);
  1465. }
  1466. function btn_print_onclick(obj:Button, e:ClickEventInfo)
  1467. {
  1468. var objDOM = rptf_createDOM();
  1469. rptf_setNodeListToDOM(objDOM, "/root/temp/demolist", ds_temp_demolist);
  1470. var objParam = new Object();
  1471. objParam.xml_data_XML1 = objDOM.documentElement.source;
  1472. var option = "";
  1473. rptf_exeReportPreview30(["RPRSE01700"],[objParam], option);
  1474. }
  1475. ]]></Script>
  1476. </Form>
  1477. </FDL>