SMRFE00800_비품수리접수 및 결과등록.xrw 74 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>비품수리접수 및 결과 등록</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <grid>
  11. <rfehemhtlist/>
  12. <rfemdamklist/>
  13. <rfehdabplist/>
  14. </grid>
  15. <component>
  16. <rfehemhtlist>
  17. <bugtcd/>
  18. </rfehemhtlist>
  19. <rfemdamklist>
  20. </rfemdamklist>
  21. </component>
  22. <printdata>
  23. <data/>
  24. </printdata>
  25. </main>
  26. <send>
  27. <instcd/>
  28. <fixtrseqmtflag/>
  29. <workstat/>
  30. <reqdd1/>
  31. <reqdd2/>
  32. <chrgpsnid/>
  33. <chrgpsnnm/>
  34. <reqdeptcd/>
  35. <reqdeptnm/>
  36. <deptaprvyn/>
  37. <grid>
  38. <rfehemht/>
  39. <rfemdamk/>
  40. </grid>
  41. <sendresult/>
  42. <fixasetcd/>
  43. </send>
  44. <init>
  45. <radio1>
  46. <label>전체</label>
  47. <value/>
  48. <label>수리의뢰</label>
  49. <value>01</value>
  50. <label>수리접수</label>
  51. <value>02</value>
  52. <label>수리중</label>
  53. <value>03</value>
  54. <label>수리완료</label>
  55. <value>04</value>
  56. <label>인수완료</label>
  57. <value>05</value>
  58. <label>부품대기중</label>
  59. <value>06</value>
  60. <label>반송</label>
  61. <value>07</value>
  62. <label>수리불가</label>
  63. <value>08</value>
  64. </radio1>
  65. <rowtemp/>
  66. <rpirflag2>
  67. <label>내부</label>
  68. <value>1</value>
  69. <label>외부</label>
  70. <value>2</value>
  71. </rpirflag2>
  72. <acptflag>
  73. <label>수리</label>
  74. <value>1</value>
  75. <label>예방</label>
  76. <value>2</value>
  77. </acptflag>
  78. <comtemp/>
  79. <rpirflag>
  80. <label>비품</label>
  81. <value>1</value>
  82. <label>공사</label>
  83. <value>2</value>
  84. <label>구축물</label>
  85. <value>3</value>
  86. </rpirflag>
  87. <calcdocukind>
  88. <label>세금계산서</label>
  89. <value>1</value>
  90. <label>계산서</label>
  91. <value>2</value>
  92. <label>간이영수증</label>
  93. <value>3</value>
  94. <label>검수증</label>
  95. <value>4</value>
  96. <label>현금영수증</label>
  97. <value>5</value>
  98. <label>법인카드</label>
  99. <value>6</value>
  100. </calcdocukind>
  101. </init>
  102. <temp>
  103. <rfehemhtlist/>
  104. </temp>
  105. <song/>
  106. </root>
  107. </instance>
  108. <script type="javascript" ev:event="xforms-ready">
  109. <![CDATA[
  110. fInitialize();
  111. ]]>
  112. </script>
  113. <submission id="TRRFE00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/grid/rfehemhtlist"/>
  114. <submission id="TXRFE00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/grid/rfehemhtlist" resultref="/root/temp"/>
  115. <submission id="TRRFE00801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/grid/rfehemht" resultref="/root/main/grid/rfemdamklist"/>
  116. <submission id="TRRFE00802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/grid/rfemdamk" resultref="/root/main/grid/rfehdabplist"/>
  117. <bind id="dabpamt" ref="/root/main/grid/rfehdabplist/acsrsmoney" calculate="../acsrsqty * ../acsrsamt" type="xsd:int"/>
  118. <submission id="TXRFE00801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/send/sendresult"/>
  119. </model>
  120. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  121. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  122. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  123. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  124. <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
  125. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  126. <script type="javascript">
  127. <![CDATA[
  128. var delnm = 0; // 행삭제시 수리비용에서 부품비용을 빼기 위한 변수
  129. function fInitialize()
  130. {
  131. if (getUserInfo("dutplceinstcd") == "017"){
  132. cap_execdept.visible = true;
  133. rdo_execdept.visible = true;
  134. txt_cmt.attribute("width") = "225px";
  135. }
  136. //초기화
  137. misfGridInit(grd_rfehemhtlist);
  138. misfGridInit(grd_rfemdamklist);
  139. misfGridInit(grd_rfehdabplist);
  140. misfGridInit(grd_temp);
  141. model.resetInstanceNode("/root/main/component/rfehemhtlist");
  142. model.resetInstanceNode("/root/send/grid");
  143. // 사용자 권한에 따른 기관코드 Setting. [(6)수리관리, (B)이력등록]
  144. rszfUserReqInstList(cmb_instcd,getUserInfo("userid"),"6","B");
  145. rszfComboBugtList(cmb_bugtcd,getUserInfo("dutplceinstcd"));
  146. //20081107 현업요구사항으로 수리상태 변경
  147. // misfComboComCdListMulti("R0055,R0055","grd_rfehemhtlist.workstat,cmb_workstat");
  148. // addComboItem("cmb_workstat", "청구승인의뢰", "00", "above");
  149. // rszGridAddComboItem("grd_rfehemhtlist.workstat", "청구승인의뢰", "00", "above");
  150. // 현재 날짜 기본 입력(6개월 간격 설정)
  151. var reqdate = getCurrentDate().toDate("YYYYMMDD");
  152. model.setValue(ipt_reqdd1S.attribute("ref"), reqdate.getAddDate(-6, "M").getDateFormat("YYYYMMDD") );
  153. model.setValue(ipt_reqdd2S.attribute("ref"), getCurrentDate());
  154. // 청구승인이 된것만 조회하기 위한 구분자 값.
  155. /*---------------------------------------------------------------------------------------------
  156. * [2007.11.28 HBH] 승인이 안되어도 이후 진행이 되게 해달라. 2007.11.28 8개병원 전체회의에서 결정
  157. * 하단 1줄 막음.
  158. ---------------------------------------------------------------------------------------------*/
  159. model.setValue("/root/send/deptaprvyn", "Y");
  160. misfMsterDetailSet(grd_rfehemhtlist, null, "TRRFE00501", "Y");
  161. misfMsterDetailSet(grd_rfemdamklist, null, "TRRFE00801", "Y");
  162. misfMsterDetailSet(grd_rfehdabplist, null, "TRRFE00802", "Y");
  163. // 기본 사용자 설정값
  164. model.setValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  165. model.setValue("/root/send/fixtrseqmtflag", "GE");
  166. fWorkStatusDisabled( 0 );
  167. // fdisabledTF(true);
  168. fInputButtonSetting();
  169. if(!checkAuth("X"))
  170. {
  171. btn_save.disabled = true;
  172. }
  173. //수리 청구 승인권한 여부 판별하여 Grid의 승인 컬럼을 설정.
  174. fdeptGrantYN();
  175. model.refresh();
  176. }
  177. //수리 청구 승인권한 여부 판별하여 Grid의 승인 컬럼을 설정.
  178. function fdeptGrantYN()
  179. {
  180. /* ---------------------------------------------------------------------------------------
  181. * [2007.12.12 HBH ] 청구주기 추가.
  182. * 수리,장비등 청구주기가 없는 것들은 '1'로셋팅
  183. ---------------------------------------------------------------------------------------*/
  184. // rszfGetPurcReqAuthInfo(opt_instcd.value, "S", getUserInfo("dutplcecd"), getUserInfo("userid"),"1"); //han
  185. rszfGetPurcReqAuthInfo(cmb_instcd.value, "S", getUserInfo("dutplcecd") , getUserInfo("userid"),"1");
  186. var reqaprvflag = rszfGetPurcAuthInfoByCond("reqaprvflag");
  187. var purcDeptCd = rszfGetPurcDeptCd(cmb_instcd.value);
  188. var userDeptCd = getUserInfo("dutplcecd");
  189. for(var fRow = grd_rfehemhtlist.fixedRows; fRow < grd_rfehemhtlist.rows; fRow++)
  190. {
  191. if( reqaprvflag == "1" )
  192. {
  193. grd_rfehemhtlist.isReadOnly(fRow,grd_rfehemhtlist.colRef("purcagreyn")) = true;
  194. //비품수리접수단부서장승인(수녀님)을 구매팀 담당자도 승인할수 있도록 승인란 항목 풀어줌
  195. }else if( reqaprvflag == "2" || purcDeptCd == userDeptCd )
  196. { //수리상태가 수리완료(04), 수리불가(08) , 재고지급(09), 외부수리(10) 일 경우만 체크할수 있도록 한다.
  197. //비품수리접수단부서장승인(수녀님)을 구매팀 담당자도 승인할수 있도록 승인란 항목 풀어줌
  198. if(grd_rfehemhtlist.valueMatrix(fRow, grd_rfehemhtlist.colRef("workstat")) == "04" || grd_rfehemhtlist.valueMatrix(fRow, grd_rfehemhtlist.colRef("workstat")) == "08"
  199. || grd_rfehemhtlist.valueMatrix(fRow, grd_rfehemhtlist.colRef("workstat")) == "09" || grd_rfehemhtlist.valueMatrix(fRow, grd_rfehemhtlist.colRef("workstat")) == "10")
  200. {
  201. grd_rfehemhtlist.isReadOnly(fRow,grd_rfehemhtlist.colRef("purcagreyn")) = false;
  202. }else{
  203. grd_rfehemhtlist.isReadOnly(fRow,grd_rfehemhtlist.colRef("purcagreyn")) = true;
  204. }
  205. }else{
  206. grd_rfehemhtlist.isReadOnly(fRow,grd_rfehemhtlist.colRef("purcagreyn")) = true;
  207. }
  208. }
  209. grd_rfehemhtlist.refresh();
  210. }
  211. function fRdoChangedInit()
  212. {
  213. //초기화
  214. misfGridInit(grd_rfehemhtlist);
  215. misfGridInit(grd_rfemdamklist);
  216. misfGridInit(grd_rfehdabplist);
  217. misfGridInit(grd_temp);
  218. model.resetInstanceNode("/root/main/component/rfehemhtlist");
  219. model.resetInstanceNode("/root/send/grid");
  220. // fdisabledTF(true);
  221. model.refresh();
  222. }
  223. // 수리상태에 따라 입력할수 있는 컨트롤들을 활성화및 비활성화 설정.
  224. function fWorkStatusDisabled(fstatus)
  225. {
  226. if( fstatus > 0 )
  227. {
  228. fdisabledTF( false);
  229. if(fstatus >= 1 && fstatus <= 3)
  230. {
  231. group1.disabled = false;
  232. fInputButtonSetting();
  233. }else if (fstatus >3 ) {
  234. group1.disabled = true;
  235. fdisabledTF(true);
  236. }
  237. else{
  238. group1.disabled = true;
  239. }
  240. }else{
  241. group1.disabled = true;
  242. fdisabledTF(true);
  243. }
  244. if ( fstatus == 3 ){
  245. txt_lastrpirrslt.disabled = false;
  246. }else{
  247. txt_lastrpirrslt.disabled = true;
  248. }
  249. if ( cmb_workstat.value == "08" ){
  250. txt_lastrpirrslt.disabled = false;
  251. cmb_rpirflag2.disabled = false;
  252. }
  253. }
  254. function fdisabledTF( fbool)
  255. {
  256. ipt_fixasetcd.disabled = true;
  257. ipt_goodmodel.disabled = true;
  258. ipt_fixasetnm.disabled = true;
  259. ipt_reqpsnnm.disabled = true;
  260. ipt_deptacptpsnnm.disabled = true;
  261. ipt_deptacptdd.disabled = true;
  262. ipt_installplcecd.disabled = true;
  263. ipt_installplcenm.disabled = true;
  264. ipt_depthngnm.disabled = true;
  265. ipt_reqtel.disabled = true;
  266. ipt_reqdd.disabled=true;
  267. ipt_reqno.disabled = true;
  268. ipt_acptdd.disabled = fbool;
  269. cmb_rpirflag1.disabled = true;
  270. cmb_rpirflag2.disabled = fbool;
  271. //cmb_workstat.disabled = fbool;
  272. // rdo_useyn.disabled = fbool;
  273. rdo_useyn.disabled = true; //han
  274. ipt_acptpsnid.disabled = fbool;
  275. btn_acptpsnid.disabled = fbool;
  276. ipt_acptpsnnm.disabled = fbool;
  277. txt_cmt.disabled = fbool;
  278. //txt_hdrncspec.disabled = true;
  279. //txt_lastrpirrslt.disabled = true;
  280. ipt_genrdd.disabled = true;
  281. ipt_chrgpsnid.disabled = fbool;
  282. ipt_chrgtel.disabled = fbool;
  283. btn_chrgpsnid.disabled = fbool;
  284. ipt_chrgpsnnm.disabled = fbool;
  285. }
  286. function fGridRowChangedEvent()
  287. {
  288. misfGridRowStatusChange(grd_temp, "/root/temp", "/root/main/component");
  289. if(getGridUpdateData(grd_temp) != "")
  290. {
  291. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 조회 작업을","Q003");
  292. if (ret != 6) { // not OK
  293. grd_rfehemhtlist.row = model.getValue("/root/init/rowtemp");
  294. model.refresh();
  295. return;
  296. }else{
  297. grd_temp.clearStatus();
  298. }
  299. }
  300. model.copyNode("/root/main/component/rfehemhtlist", "/root/main/grid/rfehemhtlist["+ grd_rfehemhtlist.row +"]");
  301. model.copyNode("/root/temp", "/root/main/component");
  302. model.setValue("/root/init/rowtemp", grd_rfehemhtlist.row);
  303. //수리현황조회.
  304. fSearchDataSet();
  305. //alert( grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("workstat")) );
  306. //alert( parseInt(grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("workstat"))) );
  307. fWorkStatusDisabled( parseInt(grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("workstat"))) );
  308. // fdisabledTF(false);
  309. model.refresh();
  310. grd_temp.row = 1;
  311. }
  312. //수리현황 조회.
  313. function fSearchDataSet()
  314. {
  315. misfGridInit(grd_rfemdamklist);
  316. misfGridInit(grd_rfehdabplist);
  317. // 일별 수리 내역 조회값 설정
  318. model.copyNode("/root/send/grid/rfehemht", "/root/main/grid/rfehemhtlist[" + grd_rfehemhtlist.row + "]");
  319. submit("TRRFE00801");
  320. if( (grd_rfemdamklist.rows - grd_rfemdamklist.fixedRows) > 0 )
  321. {
  322. grd_rfemdamklist.colDisabled(grd_rfemdamklist.colRef("rpirdd")) = true;
  323. grd_rfemdamklist.row = grd_rfemdamklist.fixedRows;
  324. grd_rfemdamklist.select(grd_rfemdamklist.row, grd_rfemdamklist.colRef("fixasetnm")) = true;
  325. grd_rfemdamklist.dispatch("onrowchanged");
  326. fInputButtonSetting();
  327. }else{
  328. fInputButtonSetting();
  329. }
  330. }
  331. //수리현황 DATA 유무에 따른 입력,행추가,행삭제 버튼 Disabled 설정
  332. function fInputButtonSetting()
  333. {
  334. if( (grd_rfemdamklist.rows - grd_rfemdamklist.fixedRows) > 0 )
  335. {
  336. btn_input.disabled = true;
  337. btn_del.disabled = false;
  338. btn_insRfehdabp.disabled = false;
  339. btn_delRfehdabp.disabled = false;
  340. }else{
  341. btn_input.disabled = false;
  342. btn_del.disabled = true;
  343. btn_insRfehdabp.disabled = true;
  344. btn_delRfehdabp.disabled = true;
  345. }
  346. }
  347. //수리현황을 삭제할때 부품목록의 Data 유무를 판단하여 수리현황내역을 삭제합니다.
  348. function fDelDamkCheck()
  349. {
  350. if( (grd_rfehdabplist.rows - grd_rfehdabplist.fixedRows) > 0 )
  351. {
  352. messageBox("부품목록의 Data를 모두 삭제 후에 수리현황내역을 삭제하여 주세요.", "");
  353. return;
  354. }
  355. misfGridIUD(grd_rfemdamklist, "D");
  356. if( '4' == grd_rfemdamklist.rowStatus(grd_rfemdamklist.row))
  357. {
  358. model.setValue("/root/main/component/rfehemhtlist/lastrpirrslt", "");
  359. model.setValue("/root/main/component/rfehemhtlist/custcd", "");
  360. }else if( grd_rfemdamklist.rows == grd_rfemdamklist.fixedRows ){
  361. model.setValue("/root/main/component/rfehemhtlist/lastrpirrslt", "");
  362. model.setValue("/root/main/component/rfehemhtlist/custcd", "");
  363. }else{
  364. fRpirspecAdd();
  365. }
  366. // model.refresh();
  367. }
  368. //수리일자별 부품목록List Search
  369. function fSearchDataDabp()
  370. {
  371. // 일별 수리 내역 조회값 설정
  372. model.copyNode("/root/send/grid/rfemdamk", "/root/main/grid/rfemdamklist[" + grd_rfemdamklist.row + "]");
  373. submit("TRRFE00802");
  374. }
  375. //수리현황 추가
  376. function fInputDamkMode()
  377. {
  378. misfGridIUD(grd_rfemdamklist, "A");
  379. grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("instcd")) = cmb_instcd.value;
  380. grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("mainrpirpsn")) = getUserInfo("userid");
  381. grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("mainrpirpsnnm")) = getUserInfo("usernm");
  382. grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("fixtrseqmtflag")) = grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("fixtrseqmtflag"));
  383. grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("reqdd")) = grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("reqdd"));
  384. grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("reqno")) = grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("reqno"));
  385. grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("fixasetnm")) = grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("fixasetnm"));
  386. grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("rpirdd")) = getCurrentDate();
  387. }
  388. //부품목록 추가
  389. function fInputDabpAdd()
  390. {
  391. misfGridIUD(grd_rfehdabplist, "A");
  392. grd_rfehdabplist.valueMatrix(grd_rfehdabplist.row, grd_rfehdabplist.colRef("instcd")) = cmb_instcd.value;
  393. grd_rfehdabplist.valueMatrix(grd_rfehdabplist.row, grd_rfehdabplist.colRef("fixtrseqmtflag")) = grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("fixtrseqmtflag"));
  394. grd_rfehdabplist.valueMatrix(grd_rfehdabplist.row, grd_rfehdabplist.colRef("reqdd")) = grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("reqdd"));
  395. grd_rfehdabplist.valueMatrix(grd_rfehdabplist.row, grd_rfehdabplist.colRef("reqno")) = grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("reqno"));
  396. grd_rfehdabplist.valueMatrix(grd_rfehdabplist.row, grd_rfehdabplist.colRef("rpirdd")) = grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("rpirdd"));
  397. grd_rfehdabplist.valueMatrix(grd_rfehdabplist.row, grd_rfehdabplist.colRef("acsrsunit")) = "EA"
  398. grd_rfehdabplist.valueMatrix(grd_rfehdabplist.row, grd_rfehdabplist.colRef("acsrsqty")) = 1;
  399. grd_rfehdabplist.valueMatrix(grd_rfehdabplist.row, grd_rfehdabplist.colRef("acsrsamt")) = 0;
  400. grd_rfehdabplist.valueMatrix(grd_rfehdabplist.row, grd_rfehdabplist.colRef("acsrsmoney")) = 0;
  401. }
  402. function fRpirspecAdd()
  403. {
  404. var totalCmt = "";
  405. var totalCmtDD = grd_rfemdamklist.valueMatrix( grd_rfemdamklist.row, grd_rfemdamklist.colRef("rpirdd"));
  406. ipt_accountdd.value = grd_rfemdamklist.valueMatrix( grd_rfemdamklist.row, grd_rfemdamklist.colRef("rpirdd"));
  407. totalCmt += ( totalCmtDD.substr(0,4) + "-" + totalCmtDD.substr(4,2) + "-" + totalCmtDD.substr(6,2) + " >>\n"
  408. + grd_rfemdamklist.valueMatrix( grd_rfemdamklist.row, grd_rfemdamklist.colRef("rpirspec")) );
  409. model.setValue("/root/main/component/rfehemhtlist/lastrpirrslt", totalCmt);
  410. }
  411. //수리상태 변경시(수리의뢰 및 청구 상태로 되돌릴시....) 현재 수리현황 내역 및 사용부품목록이 있는지 판단하여
  412. //설정가능한 수리상태 체크.
  413. function fWorkStatusComboCheck()
  414. {
  415. var bool = false;
  416. if( cmb_workstat.value == "00" )
  417. {
  418. messageBox("수리상태를 청구승인의뢰 상태로 되돌릴 수 없습니다.", "");
  419. cmb_workstat.value = grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("workstat"));
  420. bool = true;
  421. }else if( grd_rfemdamklist.rows != grd_rfemdamklist.fixedRows )
  422. {
  423. if( cmb_workstat.value == "00" || cmb_workstat.value == "01" ) {
  424. messageBox("수리내역이 존재함으로 현재 수리상태를 수리의뢰 및 청구승인의뢰 상태로 되돌릴 수 없습니다.", "");
  425. cmb_workstat.value = grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("workstat"));
  426. bool = true;
  427. }
  428. }
  429. //수리 상태 변경에 따라 항목들이 disable되는 부분 조절하는데 현재는 다 풀어놓는다.
  430. //fWorkStatusDisabled( parseInt(cmb_workstat.value) );
  431. return bool;
  432. }
  433. //부서장 승인 여부 저장
  434. function fupdateCheckSave(i)
  435. {
  436. misfGridRowStatusChange(grd_temp, "/root/temp", "/root/main/component" );
  437. if(getGridUpdateData(grd_temp) != "" )
  438. {
  439. model.copyNode("/root/main/grid/rfehemhtlist["+ i +"]", "/root/main/component/rfehemhtlist");
  440. grd_rfehemhtlist.addStatus( i , grd_temp.rowStatus(grd_temp.row));
  441. model.resetInstanceNode("/root/main/component/rfehemhtlist");
  442. misfGridInit(grd_temp);
  443. }
  444. // if(getGridUpdateData(grd_rfehemhtlist) == "")
  445. // {
  446. // messageBox("변경된 데이터가","I004");
  447. // return;
  448. // }
  449. misfSave("TXRFE00801");
  450. if (model.getValue(gvErrorMsgPath + "/type") != "error")
  451. {
  452. btn_search.dispatch("DOMActivate");
  453. }
  454. //misfMsterDetailRetrieve();
  455. }
  456. ]]>
  457. </script>
  458. </xhtml:head>
  459. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  460. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  461. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:186px; height:14px; ">비품수리접수 및 결과 등록</caption>
  462. </group>
  463. <group id="grp_biz" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  464. <line id="line28" class="line_2" style="x1:639px; y1:205px; x2:1194px; y2:205px; "/>
  465. <line id="line1" class="line_1" style="x1:639px; y1:106px; x2:1194px; y2:106px; "/>
  466. <line id="line38" class="line_2" style="x1:639px; y1:302px; x2:1194px; y2:302px; "/>
  467. <line id="line37" class="line_2" style="x1:639px; y1:253px; x2:1194px; y2:253px; "/>
  468. <line id="line14" class="line_2" style="x1:639px; y1:382px; x2:1194px; y2:382px; "/>
  469. <line id="line24" class="line_3" style="x1:0px; y1:478px; x2:1194px; y2:478px; "/>
  470. <line id="line35" class="line_2" style="x1:639px; y1:229px; x2:1194px; y2:229px; "/>
  471. <line id="line10" class="line_2" style="x1:639px; y1:133px; x2:1194px; y2:133px; "/>
  472. <line id="line9" class="line_2" style="x1:639px; y1:181px; x2:1194px; y2:181px; "/>
  473. <line id="line40" class="line_2" style="x1:639px; y1:325px; x2:1194px; y2:325px; "/>
  474. <line id="line8" class="line_2" style="x1:639px; y1:157px; x2:1194px; y2:157px; "/>
  475. <group id="grp_sea" navindex="-1" style="left:0px; top:10px; width:1195px; height:65px; vertical-align:top; ">
  476. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:65px; "/>
  477. <caption id="cap_fixtrseqmtflag" class="search_name" style="left:245px; top:10px; width:86px; height:17px; ">자산구분 :</caption>
  478. <button id="btn_search" class="btn1_letter2" navindex="11" style="left:1124px; top:22px; width:56px; height:22px; ">
  479. <caption>조회</caption>
  480. <script type="javascript" ev:event="DOMActivate">
  481. <![CDATA[
  482. if(!isRequiredControls("cmb_instcd"))return;
  483. if(!isRequiredControls("ipt_reqdd1S"))return;
  484. if(!isRequiredControls("ipt_reqdd2S"))return;
  485. if(!isRequiredControls("cmb_fixtrseqmtflag"))return;
  486. fRdoChangedInit();
  487. submit("TRRFE00501");
  488. grd_rfehemhtlist.row = grd_rfehemhtlist.fixedRows;
  489. grd_rfehemhtlist.select(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("fixasetnm")) = true;
  490. grd_rfehemhtlist.dispatch("onrowchanged");
  491. misfSetReadOnlyCol(grd_rfehemhtlist, "acptflag,reqdd,reqno,depthngnm,fixasetnm,workstat", true);
  492. fdeptGrantYN();
  493. model.refresh();
  494. ]]>
  495. </script>
  496. </button>
  497. <line id="line13" class="line_4" style="x1:1110px; y1:10px; x2:1110px; y2:58px; border-color:#ffe4bb; border-left-style:solid; "/>
  498. <button id="btn_reqdeptcd" class="icon_search" navindex="-1" style="left:646px; top:10px; width:16px; height:16px; ">
  499. <caption/>
  500. <script type="javascript" ev:event="DOMActivate">
  501. <![CDATA[
  502. misfOpenPopUpList("02", ipt_reqdeptcdS, "", "reqdeptcd,reqdeptnm");
  503. model.refresh();
  504. ]]>
  505. </script>
  506. </button>
  507. <input id="ipt_reqdeptcdS" ref="/root/send/reqdeptcd" class="input_default" navindex="5" style="left:542px; top:10px; width:100px; height:19px; ">
  508. <script type="javascript" ev:event="xforms-value-changed">
  509. <![CDATA[
  510. if(ipt_reqdeptcdS.value.length == 0)
  511. ipt_reqpsnnm.value = "";
  512. else
  513. misfValidationCheck("02", "", "reqdeptcd,reqdeptnm" );
  514. model.refresh();
  515. ]]>
  516. </script>
  517. </input>
  518. <input id="ipt_reqdeptnmS" ref="/root/send/reqdeptnm" class="input_default" navindex="6" style="left:668px; top:10px; width:160px; height:19px; ">
  519. <script type="javascript" ev:event="xforms-value-changed">
  520. <![CDATA[
  521. if(ipt_reqdeptnmS.value.length == 0)
  522. ipt_reqdeptcdS.value = "";
  523. else
  524. misfValidationCheck("02", "", "reqdeptcd,reqdeptnm" );
  525. model.refresh();
  526. ]]>
  527. </script>
  528. </input>
  529. <caption id="caption3" class="search_name" style="left:456px; top:10px; width:86px; height:17px; ">의뢰부서 :</caption>
  530. <caption id="cap_reqdd1S" class="search_name" style="left:15px; top:35px; width:86px; height:17px; ">의뢰일자 :</caption>
  531. <input id="ipt_reqdd1S" ref="/root/send/reqdd1" class="input_s_essential" navindex="3" inputtype="date" style="left:100px; top:35px; width:120px; height:19px; "/>
  532. <input id="ipt_reqdd2S" ref="/root/send/reqdd2" class="input_s_essential" navindex="4" inputtype="date" style="left:240px; top:35px; width:120px; height:19px; "/>
  533. <button id="btn_chrgpsnidS" class="icon_search" navindex="-1" visibility="visible" style="left:646px; top:35px; width:16px; height:16px; ">
  534. <script type="javascript" ev:event="DOMActivate">
  535. <![CDATA[
  536. misfOpenPopUpList("01", ipt_chrgpsnidS, "", "chrgpsnid,chrgpsnnm");
  537. model.refresh();
  538. ]]>
  539. </script>
  540. <caption/>
  541. </button>
  542. <caption id="caption20" class="search_name" visibility="visible" style="left:458px; top:35px; width:87px; height:17px; ">담 당 자 :</caption>
  543. <input id="ipt_chrgpsnidS" ref="/root/send/chrgpsnid" class="input_default" navindex="7" visibility="visible" style="left:542px; top:35px; width:100px; height:19px; ">
  544. <script type="javascript" ev:event="xforms-value-changed">
  545. <![CDATA[
  546. if(ipt_chrgpsnidS.value.length == 0)
  547. ipt_chrgpsnnmS.value = "";
  548. else
  549. misfValidationCheck("01-1", "", "chrgpsnid,chrgpsnnm");
  550. // misfValidationCheck("12","","chrgpsnid,chrgpsnnm");
  551. model.refresh();
  552. ]]>
  553. </script>
  554. </input>
  555. <input id="ipt_chrgpsnnmS" ref="/root/send/chrgpsnnm" class="input_default" navindex="8" visibility="visible" style="left:668px; top:35px; width:160px; height:19px; ">
  556. <script type="javascript" ev:event="xforms-value-changed">
  557. <![CDATA[
  558. if(ipt_chrgpsnnmS.value.length == 0)
  559. ipt_chrgpsnidS.value = "";
  560. else
  561. misfValidationCheck("01-2", "", "chrgpsnid,chrgpsnnm");
  562. model.refresh();
  563. ]]>
  564. </script>
  565. </input>
  566. <select1 id="cmb_fixtrseqmtflag" ref="/root/send/fixtrseqmtflag" class="combo_s_essential" disabled="true" navindex="2" appearance="minimal" style="left:330px; top:10px; width:95px; height:19px; ">
  567. <choices>
  568. <item selected="true">
  569. <label>비품</label>
  570. <value>GE</value>
  571. </item>
  572. <item>
  573. <label>의료장비</label>
  574. <value>EQ</value>
  575. </item>
  576. </choices>
  577. </select1>
  578. <caption id="caption22" class="search_name" style="left:860px; top:10px; width:85px; height:17px; ">상 태 :</caption>
  579. <select1 id="cmb_instcd" ref="/root/send/instcd" class="combo_s_essential" navindex="1" appearance="minimal" style="left:100px; top:10px; width:131px; height:19px; ">
  580. <choices>
  581. <itemset>
  582. <label/>
  583. <value/>
  584. </itemset>
  585. </choices>
  586. <script type="javascript" ev:event="xforms-value-changed">
  587. <![CDATA[
  588. btn_search.dispatch("DOMActivate");
  589. ]]>
  590. </script>
  591. </select1>
  592. <caption id="cap_instcd" class="search_name" style="left:15px; top:10px; width:86px; height:17px; ">기관코드 :</caption>
  593. <caption id="caption12" style="left:225px; top:35px; width:20px; height:20px; font-weight:bold; ">~</caption>
  594. <select1 id="cmb_workstatS" ref="/root/send/workstat" class="combo_default" navindex="9" appearance="minimal" style="left:945px; top:10px; width:120px; height:19px; border-style:solid; ">
  595. <choices>
  596. <item>
  597. <label>전체</label>
  598. <value/>
  599. </item>
  600. <item>
  601. <label>청구승인의뢰</label>
  602. <value>00</value>
  603. </item>
  604. <item>
  605. <label>수리의뢰</label>
  606. <value>01</value>
  607. </item>
  608. <item>
  609. <label>수리중</label>
  610. <value>03</value>
  611. </item>
  612. <item>
  613. <label>외부수리</label>
  614. <value>10</value>
  615. </item>
  616. <item>
  617. <label>수리완료</label>
  618. <value>04</value>
  619. </item>
  620. <item>
  621. <label>수리불가</label>
  622. <value>08</value>
  623. </item>
  624. <item>
  625. <label>재고지급</label>
  626. <value>09</value>
  627. </item>
  628. </choices>
  629. <script type="javascript" ev:event="xforms-value-changed">
  630. <![CDATA[
  631. // fRdoChangedInit();
  632. btn_search.dispatch("DOMActivate");
  633. ]]>
  634. </script>
  635. </select1>
  636. <caption id="caption16" class="search_name" style="left:860px; top:35px; width:86px; height:17px; ">자산코드 :</caption>
  637. <input id="ipt_fixasetcdS" ref="/root/send/fixasetcd" class="input_default" navindex="10" visibility="visible" imemode="alpha" maxlength="14" _chartype="upper" style="left:945px; top:35px; width:120px; height:19px; ">
  638. <script type="javascript" ev:event="onkeyup">
  639. <![CDATA[
  640. inputEnterKey("btn_search", "DOMActivate");
  641. ]]>
  642. </script>
  643. </input>
  644. </group>
  645. <caption id="caption1" class="tit_2" style="left:5px; top:91px; width:157px; height:13px; ">의뢰내역</caption>
  646. <line id="line2" class="line_1" style="x1:0px; y1:106px; x2:634px; y2:106px; "/>
  647. <caption id="caption60" class="cell_1" style="left:639px; top:255px; width:90px; height:23px; vertical-align:middle; ">수리상태</caption>
  648. <caption id="caption32" class="cell_1" style="left:639px; top:207px; width:90px; height:23px; vertical-align:middle; ">의뢰번호</caption>
  649. <caption id="caption5" class="cell_1" style="left:639px; top:183px; width:90px; height:23px; vertical-align:middle; ">의뢰부서</caption>
  650. <input id="ipt_depthngnm" ref="/root/main/component/rfehemhtlist/depthngnm" class="input_default" navindex="21" style="left:731px; top:185px; width:123px; height:19px; "/>
  651. <input id="ipt_installplcecd" ref="/root/main/component/rfehemhtlist/installplcecd" class="input_default" navindex="19" style="left:947px; top:161px; width:106px; height:19px; "/>
  652. <caption id="caption4" class="cell_1" style="left:855px; top:159px; width:90px; height:23px; vertical-align:middle; ">설치장소</caption>
  653. <caption id="caption14" class="cell_1" style="left:639px; top:352px; width:90px; height:50px; vertical-align:middle; ">의뢰내역</caption>
  654. <input id="ipt_reqtel" ref="/root/main/component/rfehemhtlist/reqtel" class="input_default" disabled="true" navindex="22" editable="true" maxlength="15" style="left:947px; top:185px; width:106px; height:19px; "/>
  655. <caption id="cap_reqtel" class="cell_1" style="left:855px; top:183px; width:90px; height:23px; vertical-align:middle; ">의뢰자 연락처</caption>
  656. <caption id="caption18" class="cell_1" style="left:639px; top:403px; width:90px; height:72px; vertical-align:middle; ">수리내역</caption>
  657. <input id="ipt_genrdd" ref="/root/main/component/rfehemhtlist/genrdd" class="input_default" navindex="25" format="yyyy-mm-dd" style="left:1040px; top:208px; width:152px; height:19px; text-align:center; "/>
  658. <textarea id="txt_lastrpirrslt" ref="/root/main/component/rfehemhtlist/lastrpirrslt" navindex="41" editable="true" style="left:731px; top:405px; width:464px; height:69px; "/>
  659. <caption id="caption26" class="cell_1" style="left:639px; top:159px; width:90px; height:23px; vertical-align:middle; ">의뢰자</caption>
  660. <caption id="caption27" class="cell_1" style="left:639px; top:111px; width:90px; height:47px; vertical-align:middle; ">자산코드</caption>
  661. <input id="ipt_fixasetcd" ref="/root/main/component/rfehemhtlist/fixasetcd" class="input_default" navindex="15" style="left:731px; top:113px; width:151px; height:19px; "/>
  662. <input id="ipt_fixasetnm" ref="/root/main/component/rfehemhtlist/fixasetnm" class="input_default" navindex="17" style="left:731px; top:137px; width:464px; height:19px; "/>
  663. <input id="ipt_goodmodel" ref="/root/main/component/rfehemhtlist/goodmodel" class="input_default" navindex="16" style="left:884px; top:113px; width:311px; height:19px; "/>
  664. <input id="ipt_reqpsnnm" ref="/root/main/component/rfehemhtlist/reqpsnnm" class="input_default" navindex="18" style="left:731px; top:161px; width:123px; height:19px; "/>
  665. <input id="ipt_installplcenm" ref="/root/main/component/rfehemhtlist/installplcenm" class="input_default" navindex="20" style="left:1055px; top:161px; width:137px; height:19px; "/>
  666. <caption id="caption8" class="cell_1" style="left:855px; top:255px; width:90px; height:23px; vertical-align:middle; ">수리형태</caption>
  667. <select1 id="cmb_workstat" ref="/root/main/component/rfehemhtlist/workstat" class="combo_default" navindex="30" appearance="minimal" style="left:731px; top:257px; width:123px; height:19px; text-align:center; ">
  668. <choices>
  669. <!-- 접수확인창에서는 삭제
  670. <item>
  671. <label>청구승인의뢰</label>
  672. <value>00</value>
  673. </item>
  674. -->
  675. <item>
  676. <label>수리의뢰</label>
  677. <value>01</value>
  678. </item>
  679. <item>
  680. <label>수리중</label>
  681. <value>03</value>
  682. </item>
  683. <item>
  684. <label>외부수리</label>
  685. <value>10</value>
  686. </item>
  687. <item>
  688. <label>수리완료</label>
  689. <value>04</value>
  690. </item>
  691. <item>
  692. <label>수리불가</label>
  693. <value>08</value>
  694. </item>
  695. <item>
  696. <label>재고지급</label>
  697. <value>09</value>
  698. </item>
  699. </choices>
  700. <script type="javascript" ev:event="xforms-value-changed">
  701. <![CDATA[
  702. // 수리상태 변경시 오류가 발생하면 기본데이터를 변경하지 않게 하였스빈다.
  703. if( fWorkStatusComboCheck() ) return;
  704. //접수 유무에 따른 접수일자 설정.
  705. if( parseInt(cmb_workstat.value) > 1 )
  706. {
  707. model.setValue(ipt_acptdd.attribute("ref"), getCurrentDate());
  708. model.setValue(rdo_useyn.attribute("ref"), "1");
  709. model.setValue(ipt_acptpsnid.attribute("ref"), getUserInfo("userid") );
  710. model.setValue(ipt_acptpsnnm.attribute("ref"), getUserInfo("usernm"));
  711. //[2007.11.29 HBH 추가
  712. model.setValue(ipt_chrgpsnid.attribute("ref"), getUserInfo("userid") );
  713. model.setValue(ipt_chrgpsnnm.attribute("ref"), getUserInfo("usernm"));
  714. }else{
  715. model.setValue(ipt_acptdd.attribute("ref"), "");
  716. model.setValue(rdo_useyn.attribute("ref"), "");
  717. model.setValue(ipt_acptpsnid.attribute("ref"), "");
  718. model.setValue(ipt_acptpsnnm.attribute("ref"), "");
  719. //[2007.11.29 HBH 추가
  720. model.setValue(ipt_chrgpsnid.attribute("ref"), "" );
  721. model.setValue(ipt_chrgpsnnm.attribute("ref"), "");
  722. }
  723. model.refresh();
  724. ]]>
  725. </script>
  726. </select1>
  727. <caption id="caption24" class="cell_1" style="left:639px; top:304px; width:90px; height:23px; vertical-align:middle; ">비고</caption>
  728. <textarea id="txt_cmt" ref="/root/main/component/rfehemhtlist/cmt" navindex="36" style="left:731px; top:306px; width:460px; height:19px; "/>
  729. <textarea id="txt_hdrncspec" ref="/root/main/component/rfehemhtlist/hdrncspec" navindex="40" editable="false" style="left:731px; top:350px; width:464px; height:52px; "/>
  730. <caption id="cap_genrdd" class="cell_1" style="left:948px; top:206px; width:90px; height:23px; vertical-align:middle; ">발생일자</caption>
  731. <input id="ipt_reqno" ref="/root/main/component/rfehemhtlist/reqno" class="input_default" navindex="24" style="left:840px; top:209px; width:105px; height:19px; "/>
  732. <select1 id="cmb_rpirflag2" ref="/root/main/component/rfehemhtlist/rpirflag2" class="combo_default" navindex="31" appearance="minimal" style="left:947px; top:257px; width:83px; height:19px; text-align:center; ">
  733. <choices>
  734. <item>
  735. <label>자체수리</label>
  736. <value>1</value>
  737. </item>
  738. <item>
  739. <label>외부수리</label>
  740. <value>2</value>
  741. </item>
  742. <item>
  743. <label>점검지급</label>
  744. <value>3</value>
  745. </item>
  746. <item>
  747. <label>부품</label>
  748. <value>4</value>
  749. </item>
  750. <item>
  751. <label>폐기</label>
  752. <value>5</value>
  753. </item>
  754. </choices>
  755. </select1>
  756. <select1 id="rdo_useyn" ref="/root/main/component/rfehemhtlist/useyn" disabled="true" navindex="32" overflow="visible" appearance="full" cols="2" style="left:1093px; top:258px; width:93px; height:20px; background-color:transparent; border-style:none; ">
  757. <choices>
  758. <itemset nodeset="/root/init/rpirflag2">
  759. <label ref="label"/>
  760. <value ref="value"/>
  761. </itemset>
  762. </choices>
  763. </select1>
  764. <caption id="caption10" class="cell_1" style="left:1032px; top:255px; width:59px; height:23px; vertical-align:middle; ">청구구분</caption>
  765. <datagrid id="grd_temp" nodeset="/root/temp/rfehemhtlist" visibility="hidden" caption="caption1^caption2^caption3" colsep="^" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:230px; width:625px; height:75px; ">
  766. <col ref="instcd" visibility="hidden"/>
  767. <col ref="fixtrseqmtflag" visibility="hidden"/>
  768. <col ref="reqdd" format="yyyy-mm-dd"/>
  769. <col ref="reqno" style="text-align:right; "/>
  770. <col ref="reqdeptcd" visibility="hidden"/>
  771. <col ref="depthngnm"/>
  772. <col ref="reqpsnid" visibility="hidden"/>
  773. <col ref="reqpsnnm" visibility="hidden" style="text-align:center; "/>
  774. <col ref="genrdd" visibility="hidden"/>
  775. <col ref="genrtm" visibility="hidden"/>
  776. <col ref="chrgpsnid" visibility="hidden"/>
  777. <col ref="chrgpsnnm" visibility="hidden"/>
  778. <col ref="acptdd" visibility="hidden"/>
  779. <col ref="acpttm" visibility="hidden"/>
  780. <col ref="acptpsnid" visibility="hidden"/>
  781. <col ref="acptpsnnm" visibility="hidden"/>
  782. <col checkvalue="Y,N" type="checkbox" visibility="hidden"/>
  783. <col ref="acptdeptcd" visibility="hidden"/>
  784. <col ref="acptdeptnm" visibility="hidden"/>
  785. <col ref="fixasetnm"/>
  786. <col ref="fixasetcd" visibility="hidden"/>
  787. <col ref="workstat" type="combo" style="text-align:center; ">
  788. <choices>
  789. <itemset>
  790. <label/>
  791. <value/>
  792. </itemset>
  793. </choices>
  794. </col>
  795. <col ref="itemnm" visibility="hidden"/>
  796. <col ref="goodmodel" visibility="hidden"/>
  797. <col ref="hdrncspec" visibility="hidden"/>
  798. <col ref="rpirflag1" visibility="hidden"/>
  799. <col ref="rpirflag2" visibility="hidden"/>
  800. <col ref="useyn" visibility="hidden"/>
  801. <col ref="lastrpirstat" visibility="hidden"/>
  802. <col ref="acptpsncnfm" visibility="hidden"/>
  803. <col ref="deptacptdd" visibility="hidden"/>
  804. <col ref="deptacptpsnid" visibility="hidden"/>
  805. <col ref="deptacptpsnnm" visibility="hidden"/>
  806. <col ref="rpiramt" visibility="hidden"/>
  807. <col ref="cmt" visibility="hidden"/>
  808. <col ref="rpirenddd" visibility="hidden"/>
  809. <col ref="chrgtel" visibility="hidden"/>
  810. <col ref="sanctyn" visibility="hidden"/>
  811. <col ref="chrgpsncmt" visibility="hidden"/>
  812. <col ref="sanctdd" visibility="hidden"/>
  813. <col ref="nonworkdayno" visibility="hidden"/>
  814. <col ref="emaildeliveyn" visibility="hidden"/>
  815. <col ref="installplcecd" visibility="hidden"/>
  816. <col ref="installplcenm" visibility="hidden"/>
  817. <col ref="lastrpirrslt" visibility="hidden"/>
  818. <col ref="acptflag"/>
  819. <col ref="custcd" visibility="hidden"/>
  820. <col ref="reqtel" visibility="hidden"/>
  821. <col ref="bugtyy" visibility="hidden"/>
  822. <col ref="bugtcd" visibility="hidden"/>
  823. <col ref="stdysubjno" visibility="hidden"/>
  824. <col ref="stdysubjnm" visibility="hidden"/>
  825. <col ref="deptaprvyn" visibility="hidden"/>
  826. <col ref="deptaprvpsnid" visibility="hidden"/>
  827. <col ref="deptaprvdd" visibility="hidden"/>
  828. <col ref="accountdd" visibility="hidden"/>
  829. <col ref="calcdocukind" visibility="hidden"/>
  830. <col ref="purcagredd" visibility="hidden"/>
  831. </datagrid>
  832. <input id="ipt_reqdd" ref="/root/main/component/rfehemhtlist/reqdd" class="input_default" navindex="23" style="left:731px; top:209px; width:107px; height:19px; "/>
  833. <caption id="caption9" class="cell_1" style="left:639px; top:231px; width:90px; height:23px; vertical-align:middle; ">예산년도/계정</caption>
  834. <line id="line5" class="line_2" style="x1:638px; y1:278px; x2:1193px; y2:278px; "/>
  835. <caption id="caption13" class="cell_1" style="left:855px; top:231px; width:90px; height:23px; vertical-align:middle; ">연구과제</caption>
  836. <input id="ipt_bugtyy" ref="/root/main/component/rfehemhtlist/bugtyy" class="input_default" disabled="true" navindex="26" style="left:731px; top:233px; width:49px; height:19px; "/>
  837. <select1 id="cmb_bugtcd" ref="/root/main/component/rfehemhtlist/bugtcd" disabled="true" navindex="27" appearance="minimal" style="left:781px; top:233px; width:73px; height:19px; ">
  838. <choices>
  839. <itemset>
  840. <label/>
  841. <value/>
  842. </itemset>
  843. </choices>
  844. </select1>
  845. <input id="ipt_stdysubjnm" ref="/root/main/component/rfehemhtlist/stdysubjnm" class="input_dafault" disabled="true" navindex="29" style="left:1055px; top:234px; width:137px; height:19px; ">
  846. <script type="javascript" ev:event="xforms-value-changed">
  847. <![CDATA[
  848. if(ipt_stdysubjnm.value != "")
  849. {
  850. rszfValidationCheck("TRRSD00261", "studylist", "refcond,instcd,stdysubjnm", "stdysubjnm," + cmb_instcd.value + "," + ipt_stdysubjnm.value, "",
  851. "stdysubjno,stdysubjnm", ipt_stdysubjnm, "SPRSD00260", "instcd", "cmb_instcd");
  852. }else
  853. {
  854. ipt_stdysubjno.value = "";
  855. ipt_stdysubjnm.value = "";
  856. }
  857. model.refresh();
  858. ]]>
  859. </script>
  860. </input>
  861. <input id="ipt_stdysubjno" ref="/root/main/component/rfehemhtlist/stdysubjno" class="input_dafault" disabled="true" navindex="28" style="left:947px; top:234px; width:106px; height:19px; ">
  862. <script type="javascript" ev:event="xforms-value-changed">
  863. <![CDATA[
  864. if(ipt_stdysubjno.value != "")
  865. {
  866. rszfValidationCheck("TRRSD00261", "studylist", "refcond,instcd,stdysubjno", "stdysubjno," + cmb_instcd.value + "," + ipt_stdysubjno.value, "",
  867. "stdysubjno,stdysubjnm", ipt_stdysubjno, "SPRSD00260", "instcd", "cmb_instcd");
  868. }else
  869. {
  870. ipt_stdysubjno.value = "";
  871. ipt_stdysubjnm.value = "";
  872. }
  873. model.refresh();
  874. ]]>
  875. </script>
  876. </input>
  877. <caption id="cap_chrgtel" class="cell_1" style="left:946px; top:280px; width:90px; height:23px; vertical-align:middle; ">담당자 연락처</caption>
  878. <button id="btn_chrgpsnid" class="icon_search" navindex="-1" style="left:831px; top:284px; width:16px; height:16px; ">
  879. <caption/>
  880. <script type="javascript" ev:event="DOMActivate">
  881. <![CDATA[
  882. misfOpenPopUpList("01", ipt_chrgpsnid, "", "chrgpsnid,chrgpsnnm");
  883. model.refresh();
  884. ]]>
  885. </script>
  886. </button>
  887. <input id="ipt_chrgpsnid" ref="/root/main/component/rfehemhtlist/chrgpsnid" navindex="33" style="left:731px; top:282px; width:97px; height:19px; text-align:center; ">
  888. <script type="javascript" ev:event="xforms-value-changed">
  889. <![CDATA[
  890. misfValidationCheck("01-1", "", "chrgpsnid,chrgpsnnm");
  891. // misfValidationCheck("12", "", "chrgpsnid,chrgpsnnm");
  892. model.refresh();
  893. ]]>
  894. </script>
  895. </input>
  896. <caption id="cap_chrgpsnid" class="cell_1" style="left:639px; top:280px; width:90px; height:23px; vertical-align:middle; ">담당자</caption>
  897. <input id="ipt_chrgpsnnm" ref="/root/main/component/rfehemhtlist/chrgpsnnm" class="input_search" navindex="34" style="left:849px; top:282px; width:95px; height:19px; text-align:center; ">
  898. <script type="javascript" ev:event="xforms-value-changed">
  899. <![CDATA[
  900. misfValidationCheck("01-2", "", "chrgpsnid,chrgpsnnm");
  901. model.refresh();
  902. ]]>
  903. </script>
  904. </input>
  905. <input id="ipt_chrgtel" ref="/root/main/component/rfehemhtlist/chrgtel" navindex="35" maxlength="15" style="left:1038px; top:282px; width:154px; height:19px; text-align:left; "/>
  906. <group id="group1" style="left:0px; top:479px; width:1195px; height:256px; ">
  907. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:213px; "/>
  908. <caption id="caption81" class="tit_2" style="left:2px; top:136px; width:70px; height:13px; ">부품목록</caption>
  909. <button id="btn_insRfehdabp" class="btn2_letter3" disabled="true" navindex="50" style="left:1085px; top:134px; width:53px; height:19px; ">
  910. <caption>행추가</caption>
  911. <script type="javascript" ev:event="DOMActivate">
  912. <![CDATA[
  913. fInputDabpAdd();
  914. ]]>
  915. </script>
  916. </button>
  917. <datagrid id="grd_rfehdabplist" nodeset="/root/main/grid/rfehdabplist" caption="부품명^규격^수량^단위^단가^금액" colsep="^" colwidth="485, 184, 100, 59, 100, 135" dataheight="25" ellipsis="true" rowheader="update" rowheight="25" rowsep="|" tooltip="true" navindex="49" style="left:0px; top:156px; width:1194px; height:89px; ">
  918. <col ref="acsrsnm" type="input" style="left:500px; top:23px; width:300px; height:23px; text-align:left; "/>
  919. <col ref="acsrsspec" type="input" style="text-align:left; "/>
  920. <col ref="acsrsqty" type="input" format="#,###" style="text-align:right; "/>
  921. <col ref="acsrsunit" style="text-align:left; "/>
  922. <col ref="acsrsamt" type="input" format="#,###" style="text-align:right; "/>
  923. <col ref="acsrsmoney" format="#,###" style="text-align:right; "/>
  924. <col ref="instcd" visibility="hidden"/>
  925. <col ref="fixtrseqmtflag" visibility="hidden"/>
  926. <col ref="reqdd" visibility="hidden"/>
  927. <col ref="reqno" visibility="hidden"/>
  928. <col ref="rpirdd" visibility="hidden"/>
  929. <col ref="rpirseq" visibility="hidden"/>
  930. <script type="javascript" ev:event="xforms-value-changed">
  931. <![CDATA[
  932. // model.setValue("/root/main/grid/rfemdamklist/rfehdabptotal", model.getValue("/root/main/grid/rfehdabplist["+ (count - 1) +"]/acsrsmoney"));
  933. ]]>
  934. </script>
  935. </datagrid>
  936. <button id="btn_delRfehdabp" class="btn2_letter3" disabled="true" navindex="51" style="left:1140px; top:134px; width:53px; height:19px; ">
  937. <caption>행삭제</caption>
  938. <script type="javascript" ev:event="DOMActivate">
  939. <![CDATA[
  940. misfGridIUD(grd_rfehdabplist, "D");
  941. delnm = delnm + Number(model.getValue("/root/main/grid/rfehdabplist["+grd_rfehdabplist.row+"]/acsrsmoney"));
  942. ]]>
  943. </script>
  944. </button>
  945. <line id="line29" class="line_1" style="x1:0px; y1:26px; x2:1195px; y2:25px; "/>
  946. <datagrid id="grd_rfemdamklist" nodeset="/root/main/grid/rfemdamklist" autoresize="true" caption="수리구분^처리자^처리자^수리/계산서일자^계산서유형^수리비용^지불필여부^거래처^거래처^수리내역" colsep="^" colwidth="76, 90, 80, 97, 90, 85, 67, 90, 101, 218, 100, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" navindex="42" style="left:0px; top:30px; width:1194px; height:100px; ">
  947. <col class="gridcombo" ref="rpirflag" type="combo" style="text-align:center; ">
  948. <choices>
  949. <itemset nodeset="/root/init/rpirflag">
  950. <label ref="label"/>
  951. <value ref="value"/>
  952. </itemset>
  953. </choices>
  954. </col>
  955. <col ref="mainrpirpsn" type="inputbutton" style="text-align:center; "/>
  956. <col ref="mainrpirpsnnm" type="input" style="text-align:center; "/>
  957. <col class="input_essential" ref="rpirdd" type="inputdate" _key="true" style="text-align:center; "/>
  958. <col ref="calcdocukind" type="combo">
  959. <choices>
  960. <itemset nodeset="/root/init/calcdocukind">
  961. <label ref="label"/>
  962. <value ref="value"/>
  963. </itemset>
  964. </choices>
  965. </col>
  966. <col ref="rfehdabptotal" format="#,###" style="text-align:right; "/>
  967. <col checkvalue="2,1" ref="paycond" type="checkbox"/>
  968. <col ref="custcd" type="inputbutton" style="text-align:center; "/>
  969. <col ref="custnm" type="input" style="text-align:center; "/>
  970. <col ref="rpirspec" type="input" style="text-align:left; "/>
  971. <col ref="instcd" visibility="hidden" style="text-align:left; "/>
  972. <col ref="fixtrseqmtflag" visibility="hidden" style="text-align:left; "/>
  973. <col ref="reqdd" visibility="hidden" style="text-align:left; "/>
  974. <col ref="reqno" visibility="hidden" style="text-align:left; "/>
  975. <script type="javascript" ev:event="onrowchanged">
  976. <![CDATA[
  977. grd_rfemdamklist.dispatch("onmouseup");
  978. //수리현황일자별 부품목록 조회.
  979. fSearchDataDabp();
  980. ]]>
  981. </script>
  982. <script type="javascript" ev:event="xforms-value-changed">
  983. <![CDATA[
  984. if (grd_rfemdamklist.col == grd_rfemdamklist.colRef("mainrpirpsn")) {// 처리자 코드
  985. misfValidationCheck("01-1", "", "mainrpirpsn,mainrpirpsnnm" );
  986. }
  987. else if (grd_rfemdamklist.col == grd_rfemdamklist.colRef("mainrpirpsnnm")){// 처리자명
  988. misfValidationCheck("01-2", "", "mainrpirpsn,mainrpirpsnnm" );
  989. }
  990. else if(grd_rfemdamklist.col == grd_rfemdamklist.colRef("custnm")){//거래처명
  991. if(grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custnm")).length == 0)
  992. {
  993. grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custcd")) = "";
  994. }else
  995. {
  996. rszfValidationCheck("TRRSD00221", "reqcustomlist", "instcd,refcond,retrnm",
  997. cmb_instcd.value + "," + "custnm," + grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custnm")), "", "custcd,custnm",
  998. grd_rfemdamklist, "SPRSD00220", "instcd","cmb_instcd");
  999. }
  1000. // 거래처 코드가 변경되면 마스터에 입력한다.
  1001. model.setValue("/root/main/component/rfehemhtlist/custcd", grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custcd")) );
  1002. model.setValue("/root/main/component/rfehemhtlist/custnm", grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custnm")) );
  1003. }
  1004. else if(grd_rfemdamklist.col == grd_rfemdamklist.colRef("custcd")){//거래처코드
  1005. if(grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custcd")).length == 0)
  1006. {
  1007. grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custnm")) = "";
  1008. }
  1009. else
  1010. {
  1011. rszfValidationCheck("TRRSD00221", "reqcustomlist", "instcd,refcond,retrnm",
  1012. cmb_instcd.value + "," + "entrregno," + grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custcd")), "", "custcd,custnm",
  1013. grd_rfemdamklist, "SPRSD00220", "instcd","cmb_instcd");
  1014. }
  1015. // 거래처 코드가 변경되면 마스터에 입력한다.
  1016. model.setValue("/root/main/component/rfehemhtlist/custcd", grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custcd")) );
  1017. model.setValue("/root/main/component/rfehemhtlist/custnm", grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custnm")) );
  1018. }else if( (grd_rfemdamklist.col == grd_rfemdamklist.colRef("rpirdd")) || (grd_rfemdamklist.col == grd_rfemdamklist.colRef("rpirspec")) )
  1019. {
  1020. fRpirspecAdd();
  1021. }
  1022. model.refresh();
  1023. ]]>
  1024. </script>
  1025. <script type="javascript" ev:event="onbuttonclick">
  1026. <![CDATA[
  1027. if (grd_rfemdamklist.col == grd_rfemdamklist.colRef("custcd")) {// 그리드 거래처 클릭
  1028. rszfOpenPopUpListByWndName(grd_rfemdamklist,"","custcd,custnm","SPRSD00220","instcd","cmb_instcd");
  1029. // 거래처 코드가 변경되면 마스터에 입력한다.
  1030. model.setValue("/root/main/component/rfehemhtlist/custcd", grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custcd")) );
  1031. model.setValue("/root/main/component/rfehemhtlist/custnm", grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("custnm")) );
  1032. }else if(grd_rfemdamklist.col == grd_rfemdamklist.colRef("mainrpirpsn")){//처리자 클릭
  1033. misfOpenPopUpList("01", grd_rfemdamklist, "", "mainrpirpsn,mainrpirpsnnm");
  1034. }
  1035. model.refresh();
  1036. ]]>
  1037. </script>
  1038. </datagrid>
  1039. <caption id="caption15" class="tit_2" style="left:2px; top:8px; width:83px; height:13px; ">수리현황</caption>
  1040. <button id="btn_input" class="btn2_letter2" disabled="true" navindex="43" style="left:1106px; top:4px; width:42px; height:19px; ">
  1041. <caption>입력</caption>
  1042. <script type="javascript" ev:event="DOMActivate">
  1043. <![CDATA[
  1044. fInputDamkMode();
  1045. fInputButtonSetting();
  1046. ]]>
  1047. </script>
  1048. </button>
  1049. <button id="btn_del" class="btn2_letter2" disabled="true" navindex="44" style="left:1150px; top:4px; width:42px; height:19px; ">
  1050. <caption>삭제</caption>
  1051. <script type="javascript" ev:event="DOMActivate">
  1052. <![CDATA[
  1053. fDelDamkCheck();
  1054. fInputButtonSetting();
  1055. ]]>
  1056. </script>
  1057. </button>
  1058. </group>
  1059. <button id="btn_excel" class="btn5_letter5" navindex="13" style="left:558px; top:85px; width:75px; height:19px; ">
  1060. <caption>Excel 저장</caption>
  1061. <script type="javascript" ev:event="DOMActivate">
  1062. <![CDATA[
  1063. if( grd_rfehemhtlist.rows - grd_rfehemhtlist.fixedRows > 0 ) {
  1064. var fileName = "비품수리의뢰내역_" + getCurrentDate();
  1065. var fileName = window.fileDialog("save", ",", false, fileName, "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  1066. grd_rfehemhtlist.saveExcel(fileName, "sheetname:비품수리의뢰내역;colhiddenextend:true;");
  1067. } else {
  1068. messageBox("저장 데이터가","I004");
  1069. }
  1070. ]]>
  1071. </script>
  1072. </button>
  1073. <input id="ipt_deptacptdd" ref="/root/main/component/rfehemhtlist/deptacptdd" class="input_default" visibility="hidden" style="left:442px; top:412px; width:68px; height:19px; "/>
  1074. <input id="ipt_deptacptpsnnm" ref="/root/main/component/rfehemhtlist/deptacptpsnnm" class="input_default" visibility="hidden" style="left:563px; top:388px; width:51px; height:19px; "/>
  1075. <caption id="caption23" class="cell_1" visibility="hidden" style="left:516px; top:386px; width:35px; height:23px; vertical-align:middle; ">인수자</caption>
  1076. <caption id="caption7" class="cell_1" visibility="hidden" style="left:395px; top:410px; width:35px; height:23px; vertical-align:middle; ">완료인수일</caption>
  1077. <button id="btn_acptpsnid" class="icon_search" visibility="hidden" style="left:393px; top:341px; width:16px; height:16px; ">
  1078. <caption/>
  1079. <script type="javascript" ev:event="DOMActivate">
  1080. <![CDATA[
  1081. misfOpenPopUpList("01", ipt_acptpsnid, "", "acptpsnid,acptpsnnm");
  1082. model.refresh();
  1083. ]]>
  1084. </script>
  1085. </button>
  1086. <input id="ipt_acptpsnid" ref="/root/main/component/rfehemhtlist/acptpsnid" visibility="hidden" style="left:354px; top:342px; width:33px; height:19px; text-align:center; ">
  1087. <script type="javascript" ev:event="xforms-value-changed">
  1088. <![CDATA[
  1089. misfValidationCheck("01-1", "", "acptpsnid,acptpsnnm");
  1090. // misfValidationCheck("12", "", "acptpsnid,acptpsnnm");
  1091. model.refresh();
  1092. ]]>
  1093. </script>
  1094. </input>
  1095. <caption id="cap_acptpsnid" class="cell_1" visibility="hidden" style="left:310px; top:340px; width:40px; height:23px; vertical-align:middle; ">접수자</caption>
  1096. <caption id="cap_acptdd" class="cell_1" visibility="hidden" style="left:498px; top:340px; width:37px; height:23px; vertical-align:middle; ">접수일자</caption>
  1097. <input id="ipt_acptpsnnm" ref="/root/main/component/rfehemhtlist/acptpsnnm" class="input_defalut" visibility="hidden" style="left:425px; top:342px; width:35px; height:19px; text-align:center; ">
  1098. <script type="javascript" ev:event="xforms-value-changed">
  1099. <![CDATA[
  1100. misfValidationCheck("01-2", "", "acptpsnid,acptpsnnm");
  1101. model.refresh();
  1102. ]]>
  1103. </script>
  1104. </input>
  1105. <input id="ipt_acptdd" ref="/root/main/component/rfehemhtlist/acptdd" visibility="hidden" inputtype="date" style="left:546px; top:342px; width:67px; height:19px; text-align:center; "/>
  1106. <caption id="caption31" class="cell_1" visibility="hidden" style="left:510px; top:440px; width:35px; height:23px; vertical-align:middle; ">고장유형</caption>
  1107. <select1 id="cmb_rpirflag1" ref="/root/main/component/rfehemhtlist/rpirflag1" class="combo_default" visibility="hidden" appearance="minimal" style="left:557px; top:442px; width:68px; height:19px; text-align:center; ">
  1108. <choices>
  1109. <itemset>
  1110. <label/>
  1111. <value/>
  1112. </itemset>
  1113. </choices>
  1114. </select1>
  1115. <caption id="caption51" class="cell_1" visibility="hidden" style="left:250px; top:370px; width:35px; height:23px; vertical-align:middle; ">거래처</caption>
  1116. <input id="ipt_custnm" ref="/root/main/component/rfehemhtlist/custnm" class="input_fix" visibility="hidden" appearance="input" style="left:355px; top:370px; width:63px; height:19px; ">
  1117. <script type="javascript" ev:event="xforms-value-changed">
  1118. <![CDATA[
  1119. if(ipt_custnm.value.length == 0)
  1120. ipt_custcd.value = "";
  1121. else
  1122. rszfValidationCheck("TRRSD00221", "reqcustomlist", "instcd,refcond,retrnm",
  1123. cmb_instcd.value + "," + "custnm," + ipt_custnm.value, "", "custcd,custnm",
  1124. ipt_custnm, "SPRSD00220", "instcd","cmb_instcd");
  1125. model.refresh();
  1126. ]]>
  1127. </script>
  1128. </input>
  1129. <input id="ipt_custcd" ref="/root/main/component/rfehemhtlist/custcd" visibility="hidden" style="left:297px; top:372px; width:15px; height:19px; ">
  1130. <script type="javascript" ev:event="xforms-value-changed">
  1131. <![CDATA[
  1132. if(ipt_custcd.value.length == 0)
  1133. ipt_custnm.value = "";
  1134. else
  1135. rszfValidationCheck("TRRSD00221", "reqcustomlist", "instcd,refcond,retrnm",
  1136. cmb_instcd.value + "," + "entrregno," + ipt_custcd.value, "", "custcd,custnm",
  1137. ipt_custcd, "SPRSD00220", "instcd","cmb_instcd");
  1138. model.refresh();
  1139. ]]>
  1140. </script>
  1141. <script type="javascript" ev:event="onkeydown">
  1142. <![CDATA[
  1143. if(event.keyCode == 9)
  1144. {
  1145. if(event.shiftKey)model.setFocus("cmb_prodplce");
  1146. else model.setFocus("ipt_goodmodel");
  1147. }
  1148. event.preventDefault();
  1149. ]]>
  1150. </script>
  1151. </input>
  1152. <button id="btn_suplplcecd" class="icon_search" visibility="hidden" style="left:332px; top:374px; width:39px; height:16px; ">
  1153. <caption/>
  1154. <script type="javascript" ev:event="DOMActivate">
  1155. <![CDATA[
  1156. rszfOpenPopUpListByWndName(ipt_custcd,"","custcd,custnm","SPRSD00220","instcd","cmb_instcd");
  1157. model.refresh();
  1158. ]]>
  1159. </script>
  1160. </button>
  1161. <button id="btn_accept" class="btn2_letter2" navindex="12" visibility="hidden" style="left:513px; top:85px; width:42px; height:19px; ">
  1162. <caption>승인</caption>
  1163. <script type="javascript" ev:event="DOMActivate">
  1164. <![CDATA[
  1165. //20081108 승인버튼으로 승인처리를 일괄로 한다.
  1166. // for ( var i= grd_rfehemhtlist.fixedRows; i< grd_rfehemhtlist.rows; i++) {
  1167. // if(grd_rfehemhtlist.valueMatrix( i , grd_rfehemhtlist.colRef("purcagreyn")) == "Y" )
  1168. // {
  1169. // fupdateCheckSave(i);
  1170. // }
  1171. // else if( grd_rfehemhtlist.valueMatrix( i , grd_rfehemhtlist.colRef("purcagreyn")) == "N" || grd_rfehemhtlist.valueMatrix( i , grd_rfehemhtlist.colRef("purcagreyn")) == "" )
  1172. // {
  1173. // fupdateCheckSave(i);
  1174. // }
  1175. // }
  1176. // model.refresh();
  1177. ]]>
  1178. </script>
  1179. </button>
  1180. <caption id="caption2" class="cell_1" visibility="visible" style="left:639px; top:328px; width:90px; height:23px; vertical-align:middle; ">계산서일자</caption>
  1181. <input id="ipt_accountdd" ref="/root/main/component/rfehemhtlist/accountdd" class="input_default" navindex="38" visibility="visible" inputtype="date" format="yyyy-mm-dd" style="left:731px; top:328px; width:123px; height:19px; text-align:center; "/>
  1182. <caption id="caption11" class="cell_1" style="left:855px; top:325px; width:90px; height:23px; vertical-align:middle; ">수리비용</caption>
  1183. <input id="ipt_rpiramt" ref="/root/main/component/rfehemhtlist/rpiramt" class="input_essential" navindex="39" format="#,###" style="left:947px; top:328px; width:106px; height:19px; text-align:right; "/>
  1184. <datagrid id="grd_rfehemhtlist" nodeset="/root/main/grid/rfehemhtlist" caption="의뢰일자^의뢰일자^의뢰부서^비품명^상태^부서승인^승인^품명^모델명^고장내역^고장유형^수리형태^청구구분^최종수리상태^인수자확인^부서인수일자^부서인수자ID^부서인수자^수리비^비고^수리완료일자^담당자전화번호^결재여부^담당자comment^결재일자^미가동일수^메일방송여부^설치장소CODE^설치장소^수리내역^접수구분^caption1^caption2^caption3" colsep="^" colwidth="66, 36, 71, 284, 81, 53, 51, 85, 100, 100, 100, 100, 100, 100, 80, 70, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 96, 52, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" ellipsis="true" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" navindex="14" style="left:0px; top:110px; width:634px; height:366px; text-align:center; ">
  1185. <col ref="reqdd" format="yyyy-mm-dd"/>
  1186. <col ref="reqno" style="text-align:center; "/>
  1187. <col ref="depthngnm"/>
  1188. <col ref="fixasetnm" style="text-align:left; "/>
  1189. <col ref="workstat" type="combo" style="text-align:center; ">
  1190. <choices>
  1191. <item>
  1192. <label>청구승인의뢰</label>
  1193. <value>00</value>
  1194. </item>
  1195. <item>
  1196. <label>수리의뢰</label>
  1197. <value>01</value>
  1198. </item>
  1199. <item>
  1200. <label>수리중</label>
  1201. <value>03</value>
  1202. </item>
  1203. <item>
  1204. <label>수리완료</label>
  1205. <value>04</value>
  1206. </item>
  1207. <item>
  1208. <label>수리불가</label>
  1209. <value>08</value>
  1210. </item>
  1211. <item>
  1212. <label>재고지급</label>
  1213. <value>09</value>
  1214. </item>
  1215. <item>
  1216. <label>외부수리</label>
  1217. <value>10</value>
  1218. </item>
  1219. </choices>
  1220. </col>
  1221. <col checkvalue="Y,N" disabled="true" ref="deptaprvyn" type="checkbox" visibility="hidden"/>
  1222. <col checkvalue="Y,N" ref="purcagreyn" type="checkbox"/>
  1223. <col ref="itemnm" visibility="hidden"/>
  1224. <col ref="goodmodel" visibility="hidden"/>
  1225. <col ref="hdrncspec" visibility="hidden"/>
  1226. <col ref="rpirflag1" visibility="hidden"/>
  1227. <col ref="rpirflag2" visibility="hidden"/>
  1228. <col ref="useyn" visibility="hidden"/>
  1229. <col ref="lastrpirstat" visibility="hidden"/>
  1230. <col ref="acptpsncnfm" visibility="hidden"/>
  1231. <col ref="deptacptdd" visibility="hidden"/>
  1232. <col ref="deptacptpsnid" visibility="hidden"/>
  1233. <col ref="deptacptpsnnm" visibility="hidden"/>
  1234. <col ref="rpiramt" visibility="hidden"/>
  1235. <col ref="cmt" visibility="hidden"/>
  1236. <col ref="rpirenddd" visibility="hidden"/>
  1237. <col ref="chrgtel" visibility="hidden"/>
  1238. <col ref="sanctyn" visibility="hidden"/>
  1239. <col ref="chrgpsncmt" visibility="hidden"/>
  1240. <col ref="sanctdd" visibility="hidden"/>
  1241. <col ref="nonworkdayno" visibility="hidden"/>
  1242. <col ref="emaildeliveyn" visibility="hidden"/>
  1243. <col ref="installplcecd" visibility="hidden"/>
  1244. <col ref="installplcenm" visibility="hidden"/>
  1245. <col ref="lastrpirrslt" visibility="hidden"/>
  1246. <col ref="reqtel" visibility="hidden"/>
  1247. <col ref="bugtyy" visibility="hidden"/>
  1248. <col ref="bugtcd" visibility="hidden"/>
  1249. <col ref="stdysubjno" visibility="hidden"/>
  1250. <col ref="stdysubjnm" visibility="hidden"/>
  1251. <col ref="acptflag" type="combo" visibility="hidden">
  1252. <choices>
  1253. <itemset nodeset="/root/init/acptflag">
  1254. <label ref="label"/>
  1255. <value ref="value"/>
  1256. </itemset>
  1257. </choices>
  1258. </col>
  1259. <col ref="custcd" visibility="hidden"/>
  1260. <col ref="deptaprvpsnid" visibility="hidden"/>
  1261. <col ref="deptaprvdd" visibility="hidden"/>
  1262. <col ref="sancttrsmyn" visibility="hidden"/>
  1263. <col ref="instcd" visibility="hidden"/>
  1264. <col ref="fixtrseqmtflag" visibility="hidden"/>
  1265. <col ref="reqdeptcd" visibility="hidden"/>
  1266. <col ref="reqpsnid" visibility="hidden"/>
  1267. <col ref="reqpsnnm" visibility="hidden" style="text-align:center; "/>
  1268. <col ref="genrdd" visibility="hidden"/>
  1269. <col ref="genrtm" visibility="hidden"/>
  1270. <col ref="chrgpsnid" visibility="hidden"/>
  1271. <col ref="chrgpsnnm" visibility="hidden"/>
  1272. <col ref="acptdd" visibility="hidden"/>
  1273. <col ref="acpttm" visibility="hidden"/>
  1274. <col ref="acptpsnid" visibility="hidden"/>
  1275. <col ref="acptpsnnm" visibility="hidden"/>
  1276. <col ref="acptdeptcd" visibility="hidden"/>
  1277. <col ref="acptdeptnm" visibility="hidden"/>
  1278. <col ref="fixasetcd" visibility="hidden"/>
  1279. <col ref="accountdd" visibility="hidden"/>
  1280. <col ref="calcdocukind" visibility="hidden"/>
  1281. <col ref="purcagredd" visibility="hidden"/>
  1282. <col ref="goodspec" visibility="hidden"/>
  1283. <col ref="execdept" visibility="hidden"/>
  1284. <col ref="execdeptnm" visibility="hidden"/>
  1285. <col ref="bizscrnid" visibility="hidden"/>
  1286. <col ref="deptaprvreqyn" visibility="hidden"/>
  1287. <script type="javascript" ev:event="onrowchanged">
  1288. <![CDATA[
  1289. grd_rfehemhtlist.dispatch("onmouseup");
  1290. fGridRowChangedEvent();
  1291. ]]>
  1292. </script>
  1293. <script type="javascript" ev:event="ondblclick">
  1294. <![CDATA[
  1295. if(grd_rfehemhtlist.col == grd_rfehemhtlist.colRef("fixasetnm"))
  1296. {
  1297. /* [2007.11.28 HBH] 수리접수이전에 상세내역을 보지 못하게 하는게 좋을듯.*/
  1298. //if ( grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row,grd_rfehemhtlist.colRef("workstat")) == "01" )
  1299. //{
  1300. // messageBox("수리접수 처리 이전에는 상세를 조회 ","E001");
  1301. // return;
  1302. //}
  1303. // if(cmb_workstat.value == "01" || cmb_workstat.value == "02" )
  1304. // {
  1305. //
  1306. // model.setValue(cmb_workstat.attribute("ref"), "03");
  1307. //
  1308. // if (ipt_acptdd.value.length== 0 || ipt_acptdd.value == null ) model.setValue(ipt_acptdd.attribute("ref"), getCurrentDate());
  1309. // if (rdo_useyn.value.length== 0 || rdo_useyn.value == null ) model.setValue(rdo_useyn.attribute("ref"), "1");
  1310. // if (ipt_acptpsnid.value.length== 0 || ipt_acptpsnid.value == null ) model.setValue(ipt_acptpsnid.attribute("ref"), getUserInfo("userid") );
  1311. // if (ipt_chrgpsnid.value.length== 0 || ipt_chrgpsnid.value == null ) model.setValue(ipt_chrgpsnid.attribute("ref"), getUserInfo("userid") );
  1312. // if (ipt_chrgpsnnm.value.length== 0 || ipt_chrgpsnnm.value == null ) model.setValue(ipt_chrgpsnnm.attribute("ref"), getUserInfo("usernm"));
  1313. //
  1314. // model.refresh();
  1315. //
  1316. // misfGridRowStatusChange(grd_temp, "/root/temp", "/root/main/component" );
  1317. //
  1318. // if(getGridUpdateData(grd_temp) != "" )
  1319. // {
  1320. // model.copyNode("/root/main/grid/rfehemhtlist["+ grd_rfehemhtlist.row +"]", "/root/main/component/rfehemhtlist");
  1321. // grd_rfehemhtlist.addStatus(grd_rfehemhtlist.row, grd_temp.rowStatus(grd_temp.row));
  1322. //
  1323. //// model.resetInstanceNode("/root/main/component/rfehemhtlist");
  1324. // misfGridInit(grd_temp);
  1325. //
  1326. // }
  1327. // if(getGridUpdateData(grd_rfehemhtlist) == "")
  1328. // {
  1329. // messageBox("변경된 데이터가","I004");
  1330. // return;
  1331. // }
  1332. //
  1333. //
  1334. // model.refresh();
  1335. // misfSave("TXRFE00501");
  1336. //
  1337. // }
  1338. //
  1339. // modal("SMRFE00600", "", "", "", "popup", grd_rfehemhtlist.attribute("nodeset") + "[" + grd_rfehemhtlist.row + "]", "/root/temp" );
  1340. }
  1341. ]]>
  1342. </script>
  1343. <script type="javascript" ev:event="xforms-value-changed">
  1344. <![CDATA[
  1345. //구매승인 체크하면 구매승인일자 자동으로 셋팅
  1346. //의미없는 승인 접수라고생각하면됨 2008.12.05 L.J.I
  1347. // if(grd_rfehemhtlist.col == grd_rfehemhtlist.colRef("purcagreyn"))
  1348. // {
  1349. // if(grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("purcagreyn")) == "Y")
  1350. // {//구매부서승인일경우
  1351. // grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("purcagredd")) = getCurrentDate();
  1352. // model.refresh();
  1353. // }
  1354. // else
  1355. // {//구매부서미승인일경우
  1356. // grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("purcagredd")) = "";
  1357. // model.refresh();
  1358. // }
  1359. // }
  1360. if( grd_rfehemhtlist.colRef("purcagreyn") == grd_rfehemhtlist.col )
  1361. {
  1362. if(grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row,grd_rfehemhtlist.colRef("purcagreyn")) != grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row,grd_rfehemhtlist.colRef("temppurcaprvyn")))
  1363. {
  1364. if(grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row,grd_rfehemhtlist.colRef("purcagreyn")) == 'Y')
  1365. {
  1366. grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("purcagredd")) = getCurrentDate();
  1367. // grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("purcagresnid")) = getUserInfo("userid");
  1368. // grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("purcagresnnm")) = getUserInfo("usernm");
  1369. }else
  1370. {
  1371. grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("purcagredd")) = "";
  1372. // grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("purcagresnid")) = "";
  1373. // grd_rfehemhtlist.valueMatrix(grd_rfehemhtlist.row, grd_rfehemhtlist.colRef("purcagresnnm")) = "";
  1374. }
  1375. }else{
  1376. grd_rfehemhtlist.rowStatus(grd_rfehemhtlist.row) = 0;
  1377. }
  1378. }
  1379. // 부서장 승인에서 일괄처리시 한줄 한줄 읽으며 저장하는걸 피하기 위해 승인 체크시 마다 한줄 저장 2008.12.19. NHS
  1380. var i = grd_rfehemhtlist.row;
  1381. if(grd_rfehemhtlist.valueMatrix( i , grd_rfehemhtlist.colRef("purcagreyn")) == "Y" )
  1382. {
  1383. model.refresh();
  1384. fupdateCheckSave(i);
  1385. }
  1386. else if( grd_rfehemhtlist.valueMatrix( i , grd_rfehemhtlist.colRef("purcagreyn")) == "N" || grd_rfehemhtlist.valueMatrix( grd_rfehemhtlist.row , grd_rfehemhtlist.colRef("purcagreyn")) == "" )
  1387. {
  1388. model.refresh();
  1389. fupdateCheckSave(i);
  1390. }
  1391. ]]>
  1392. </script>
  1393. </datagrid>
  1394. <select1 id="rdo_execdept" ref="/root/main/component/rfehemhtlist/execdept" navindex="37" visibility="hidden" overflow="visible" appearance="full" cellspacing="10" cols="2" style="left:1045px; top:306px; width:145px; height:20px; border-style:none; ">
  1395. <choices>
  1396. <item>
  1397. <label>시설팀</label>
  1398. <value>1</value>
  1399. </item>
  1400. <item>
  1401. <label>구매관리팀</label>
  1402. <value>2</value>
  1403. </item>
  1404. </choices>
  1405. </select1>
  1406. <caption id="cap_execdept" class="cell_1" visibility="hidden" style="left:961px; top:304px; width:80px; height:23px; vertical-align:middle; ">시행부서</caption>
  1407. </group>
  1408. <group id="group4" style="left:0px; top:12px; width:1195px; height:27px; ">
  1409. <button id="button26" class="btn3_letter4" navindex="46" visibility="hidden" style="left:58px; top:3px; width:80px; height:22px; ">
  1410. <caption>화면이동</caption>
  1411. </button>
  1412. <button id="btn_print" class="btn6_letter2" navindex="45" visibility="visible" style="left:0px; top:3; width:56px; height:22px; ">
  1413. <caption>출력</caption>
  1414. <script type="javascript" ev:event="DOMActivate">
  1415. <![CDATA[
  1416. //model.removenode("/root/main/printdata/data");
  1417. model.copyNode( "/root/main/printdata/data", grd_rfehemhtlist.attribute("nodeset") + "[" + grd_rfehemhtlist.row + "]");
  1418. model.makeValue("/root/main/printdata/data/instnm", cmb_instcd.label);
  1419. model.makeValue("/root/main/printdata/data/rpirflag2nm", cmb_rpirflag2.label);
  1420. ipt_accountdd
  1421. //exeReportPreview("RPRFE00801", "XMLSTR");
  1422. exeReportPreview("RPRFE00802", "XMLSTR");
  1423. ]]>
  1424. </script>
  1425. </button>
  1426. <button id="btn_save" class="btn4_letter2" navindex="47" style="left:1069px; top:3px; width:56px; height:22px; ">
  1427. <caption>저장</caption>
  1428. <script type="javascript" ev:event="DOMActivate">
  1429. <![CDATA[
  1430. model.makeValue("/root/main/component/rfehemhtlist/bizscrnid", "SMRFE00800_비품수리접수 및 결과등록.xrw");
  1431. // 기본 값 검사!.
  1432. if(cmb_workstat.value != "01" && cmb_workstat.value == "02")
  1433. {
  1434. // if(!isRequiredControls("ipt_acptpsnid")) return; //접수자 필수입력항목에서 제외함
  1435. // if(!isRequiredControls("ipt_acptdd")) return; //접수일자 필수입력항목에서 제외함
  1436. // if(!isRequiredControls("ipt_chrgpsnid")) return; //담당자 필수입력항목에서 제외함
  1437. // if(!isRequiredControls("ipt_chrgtel")) return; //담당자 연락처 필수입력항목에서 제외함
  1438. }
  1439. // if(!isRequiredControls("ipt_genrdd")) return;
  1440. // model.setValue("/root/main/component/rfehemhtlist/rpiramt", grd_rfemdamklist.valueMatrix(grd_rfemdamklist.row, grd_rfemdamklist.colRef("rfehdabptotal")) );
  1441. // misfGridRowStatusChange(grd_temp, "/root/temp", "/root/main/component" );
  1442. /* 부품목록의 금액을 추가하거나 삭제한 후 저장할 때 수리비용이 계산되어지는 식 */
  1443. var count = grd_rfehdabplist.rows - grd_rfehdabplist.fixedRows;
  1444. var vrfehdabptotal = 0; // 각 부품금액의 합을 저장하는 변수
  1445. if(count > 0) // 조회 또는 추가시
  1446. {
  1447. for(i=1 ; i<=count ; i++){
  1448. vrfehdabptotal = vrfehdabptotal + Number(model.getValue("/root/main/grid/rfehdabplist["+ i +"]/acsrsmoney"));
  1449. }
  1450. }
  1451. if(delnm != 0) // 행 삭제시
  1452. {
  1453. vrfehdabptotal = vrfehdabptotal - delnm;
  1454. }
  1455. model.setValue("/root/main/component/rfehemhtlist/rpiramt", vrfehdabptotal);
  1456. misfGridRowStatusChange(grd_temp, "/root/temp", "/root/main/component" );
  1457. if(getGridUpdateData(grd_temp) != "" )
  1458. {
  1459. model.copyNode("/root/main/grid/rfehemhtlist["+ grd_rfehemhtlist.row +"]", "/root/main/component/rfehemhtlist");
  1460. grd_rfehemhtlist.addStatus(grd_rfehemhtlist.row, grd_temp.rowStatus(grd_temp.row));
  1461. //model.resetInstanceNode("/root/main/component/rfehemhtlist");
  1462. misfGridInit(grd_temp);
  1463. model.refresh();
  1464. }
  1465. // if(getGridUpdateData(grd_rfehemhtlist) == "")
  1466. // {
  1467. // messageBox("변경된 데이터가","I004");
  1468. // return;
  1469. // }
  1470. misfSave("TXRFE00801");
  1471. if (model.getValue(gvErrorMsgPath + "/type") != "error")
  1472. {
  1473. btn_search.dispatch("DOMActivate");
  1474. }
  1475. delnm = 0; // 저장후 삭제 합계 금액 변수 초기화
  1476. ]]>
  1477. </script>
  1478. </button>
  1479. <button id="btn_init" class="btn4_letter3" navindex="48" style="left:1127px; top:3px; width:68px; height:22px; ">
  1480. <caption>초기화</caption>
  1481. <script type="javascript" ev:event="DOMActivate">
  1482. <![CDATA[
  1483. fInitialize();
  1484. ]]>
  1485. </script>
  1486. </button>
  1487. <line id="line3" class="line_6" style="x1:0px; y1:25; x2:1194px; y2:25; "/>
  1488. </group>
  1489. </xhtml:body>
  1490. </xhtml:html>