SMLQF00300_QC검사코드관리.xrw 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLQF00300.xrw
  4. * 설 명 : QC검사코드관리
  5. * 설 계 자 : 서승현
  6. * 작 성 자 : 서승현
  7. * 작 성 일 : 2008.05.29
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  12. <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">
  13. <xhtml:head>
  14. <xhtml:title>QC검사코드관리</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root>
  18. <main>
  19. <testlist>
  20. <chk/>
  21. <testcd/>
  22. <testnm/>
  23. <ocitemcd/>
  24. <ocmthdcd/>
  25. <ocreagentcd/>
  26. <octmprcd/>
  27. <ocunitcd/>
  28. <ocitemnm/>
  29. <ocmthdnm/>
  30. <ocreagentnm/>
  31. <octmprnm/>
  32. <ocunitnm/>
  33. </testlist>
  34. <tclscdlist>
  35. <chk/>
  36. <tclscd/>
  37. <tclsnm/>
  38. </tclscdlist>
  39. </main>
  40. <init>
  41. </init>
  42. <hidden>
  43. <testlrg>00</testlrg>
  44. <testmdl>
  45. <cd>00</cd>
  46. </testmdl>
  47. <detlmdlcd/>
  48. <search>
  49. <searchflag>1</searchflag>
  50. <searchtext/>
  51. <selectgbn/>
  52. </search>
  53. <temp>
  54. <chk/>
  55. <tclscd/>
  56. <tclsnm/>
  57. </temp>
  58. <refflag/>
  59. <infonm>
  60. <info/>
  61. </infonm>
  62. </hidden>
  63. <send>
  64. <codeflag/>
  65. <testmdlcd/>
  66. <testlrgcd/>
  67. <deptflag/>
  68. <refgbn/>
  69. <refcont/>
  70. <testlist/>
  71. <colno/>
  72. <itemcd/>
  73. <sectcd/>
  74. <tsectcd/>
  75. </send>
  76. </root>
  77. </instance>
  78. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  79. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  80. <submission id="TRLZZ00101" ref="/root/send" method="post" mediatype="application/x-www-form-urlencoded" replace="instance" resultref="/root/LB0102"/>
  81. <submission id="TRLLF00608" ref="/root/send" method="post" mediatype="application/x-www-form-urlencoded" resultref="/root/main/tclsList"/>
  82. <submission id="TRLLF00607" ref="/root/send" method="post" mediatype="application/x-www-form-urlencoded" resultref="/root/main/tclscdlist"/>
  83. <submission id="TRLQF00301" ref="/root/send" method="post" mediatype="application/x-www-form-urlencoded" resultref="/root/main/testlist"/>
  84. <submission id="TRLQF00302" ref="/root/send" method="post" mediatype="application/x-www-form-urlencoded" resultref="/root/hidden/infonm"/>
  85. <submission id="TRLQF00303" ref="/root/send" method="post" mediatype="application/x-www-form-urlencoded" resultref="/root/main"/>
  86. <submission id="TRLQF00304" ref="/root/send" method="post" mediatype="application/x-www-form-urlencoded" resultref="/root/main"/>
  87. <submission id="TXLQF00301" ref="/root/send" method="post" mediatype="application/x-www-form-urlencoded" resultref="/root/main/testlist"/>
  88. <script type="javascript" ev:event="xforms-ready">
  89. <![CDATA[
  90. fSetInit();
  91. ]]>
  92. </script>
  93. </model>
  94. <script type="javascript">
  95. <![CDATA[
  96. function fSetInit(){
  97. model.removeNodeset("/root/main/tclscdlist");
  98. grd_tclsList.rebuild();
  99. model.removeNodeset("/root/main/testlist");
  100. grd_testList.rebuild();
  101. model.removeNodeset("/root/init");
  102. model.setValue("/root/send/codeflag", "0102|0104|0000|0111|0106|"); // 0102= 중분류 // 0104 대분류 // 0000 userdeptflagcd
  103. submit("TRLZZ00101");
  104. //fGetHospTclscd(); //검사코드상세내역 조회
  105. fSelectGbn();
  106. model.setValue("/root/hidden/search/selectgbn","1");
  107. model.refresh();
  108. }
  109. function fKeyEvent(){
  110. if(event.keyCode == "13"){
  111. if(event.target =="ipt_search"){
  112. model.setValue("/root/hidden/search/searchtext", ipt_search.currentText);
  113. fGetHospTclscd();
  114. }
  115. }
  116. }
  117. //중분류 초기정보 조회
  118. function fSetTestLrgCd(){
  119. var lrg = model.getvalue("/root/hidden/testlrg");
  120. if(lrg == "00"){
  121. cmb_testMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0102";
  122. model.setValue("/root/hidden/testmdl/cd" , "00");
  123. }
  124. else{
  125. model.setValue("/root/hidden/testmdl/cd" , "00");
  126. cmb_testMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0102[cd= '00' or etc01='"+ lrg +"']";
  127. }
  128. cmb_testMdlCd.refresh();
  129. fGetTclscdList();
  130. }
  131. // 검사코드 리스트 조회
  132. function fGetTclscdList(){
  133. model.removeNodeset("/root/main/tclscdlist");
  134. grd_tclsList.rebuild();
  135. model.makeValue("/root/send/selectgbn", model.getValue("/root/hidden/search/selectgbn"));
  136. if (cmb_selectgbn.value == "1"){
  137. model.setValue("/root/send/testlrgcd", model.getValue("/root/hidden/testlrg"));
  138. model.setValue("/root/send/testmdlcd", model.getValue("/root/hidden/testmdl/cd"));
  139. }
  140. //조회구분 시행부서 선택시
  141. else if(cmb_selectgbn.value == "2"){
  142. model.setValue("/root/send/sectcd", model.getValue("/root/hidden/testlrg"));
  143. model.setValue("/root/send/tsectcd", model.getValue("/root/hidden/testmdl/cd"));
  144. }
  145. model.setValue("/root/send/deptflag", model.getValue("/root/init/LB0000/nm"));
  146. //submit("TRLLF00608");
  147. submit("TRLQF00303");
  148. }
  149. // 검색버튼
  150. function fGetHospTclscd(){
  151. model.removeNodeset("/root/main/testlist");
  152. grd_testList.rebuild();
  153. model.setValue("/root/send/refgbn" , model.getValue("/root/hidden/search/searchflag"));
  154. model.setValue("/root/send/refcont" , model.getValue("/root/hidden/search/searchtext"));
  155. model.setValue("/root/send/deptflag" , model.getValue("/root/init/LB0000/nm"));
  156. //조회구분
  157. if (cmb_selectgbn.value == "1"){
  158. model.setValue("/root/send/testmdlcd" , model.getValue("/root/hidden/testmdl/cd"));
  159. model.setValue("/root/send/testlrgcd" , model.getValue("/root/hidden/testlrg"));
  160. }
  161. //조회구분 시행부서 선택시
  162. else if(cmb_selectgbn.value == "2"){
  163. model.setValue("/root/send/sectcd", model.getValue("/root/hidden/testlrg"));
  164. model.setValue("/root/send/tsectcd", model.getValue("/root/hidden/testmdl/cd"));
  165. }
  166. if(model.getValue("/root/hidden/search/searchtext") == ""){ //텍스트 검색이 아니면 등록된 검사코드 모두 조회
  167. submit("TRLQF00301");
  168. }else{
  169. submit("TRLQF00304");
  170. }
  171. }
  172. //검사코드복사
  173. function fSetChoiTestList ( ) {
  174. var vChk = ""
  175. var vTestCd = ""
  176. var vTestNm = ""
  177. for ( i = 1; i < grd_tclsList.rows; i++){
  178. vChk = model.getValue("/root/main/tclscdlist[" + i + "]/chk");
  179. vTclsCd = model.getValue("/root/main/tclscdlist[" + i + "]/tclscd");
  180. vTclsNm = model.getValue("/root/main/tclscdlist[" + i + "]/tclsnm");
  181. if( vChk == "true"){ //검사항목 선택된놈들
  182. if(grd_testList.findRow(vTclsCd, 1, 2, true, true) == "-1"){ //물질별 검사항목에 등록되어있지 않은 항목만
  183. grd_testList.addRow(false);
  184. model.setValue("/root/main/testlist[" + (grd_testList.rows-1) + "]/testcd" , vTclsCd);
  185. model.setValue("/root/main/testlist[" + (grd_testList.rows-1) + "]/testnm" , vTclsNm);
  186. model.setValue("/root/main/tclscdlist[" + i + "]/chk", "false");
  187. }else{
  188. alert(vTclsCd + " 항목이 중복되었습니다");
  189. model.setValue("/root/main/tclscdlist[" + i + "]/chk", "false");
  190. }
  191. }
  192. }//end for
  193. grd_testList.bottomRow = grd_testList.rows;
  194. model.refresh();
  195. /* 위에껄로 변경... 요건 너무 복잡해 ㅠ_ㅠ
  196. model.removeNodeset("/root/hidden/temp");
  197. //체크된 검사리스트 찾기
  198. for(i=1; i< grd_tclsList.rows; i++){
  199. var fcheck = grd_tclsList.findRow("true", i, 1, false, true);
  200. if(fcheck == -1 ) {
  201. break;
  202. }
  203. i = fcheck;
  204. var tcd= model.getValue("/root/main/tclscdlist["+fcheck+"]/tclscd");
  205. var trow = grd_testList.findRow(tcd, 1, 2, false, false);
  206. //QC검사리스트와 선택값 비교해서 중복값 찾기
  207. if(model.getValue("/root/main/tclscdlist["+ fcheck +"]/tclscd") != "" &&
  208. model.getValue("/root/main/testlist["+ grd_testList.row +"]/testcd")== model.getValue("/root/main/tclscdlist["+ fcheck +"]/tclscd")) {
  209. messageBox("이미 포함되어 있는 항목이", "E005");
  210. return;
  211. } else if(trow > 0){
  212. messageBox("코드 선택이", "E006");
  213. return;
  214. } else {
  215. model.makeNode("/root/hidden/temp");
  216. //선택값 임시노드로 복사
  217. copyNodeListType("/root/hidden/temp", "/root/main/tclscdlist["+fcheck+"]", "after");
  218. }
  219. }
  220. var count = getNodesetCount("/root/hidden/temp/tclscdlist"); //선택값 갯수
  221. var row = getNodesetCount("/root/main/testlist"); //QC검사항목리스트 갯수
  222. //QC검사코드 상세내역으로 복사
  223. for(i = 1; i<=count;i++) {
  224. grd_testList.addRow(false);
  225. ++row;
  226. model.makeNode("/root/main/testlist["+ row +"]");
  227. //model.setValue("/root/main/testlist["+row+"]/chk", "true"); //복사한 값 자동 체크
  228. model.setValue("/root/main/testlist["+row+"]/testcd", model.getValue( "/root/hidden/temp/tclscdlist["+i+"]/tclscd")); //검사코드
  229. model.setValue("/root/main/testlist["+row+"]/testnm", model.getValue("/root/hidden/temp/tclscdlist["+i+"]/tclsnm"));//검사명
  230. }
  231. //검사항목코드목록 체크초기화
  232. var rows = grd_tclsList.rows;
  233. for(j = 1; j<=(rows-1);j++){
  234. model.makeValue("/root/main/tclscdlist["+j+"]/chk", "false");
  235. }
  236. model.refresh();
  237. */
  238. }
  239. //검사코드복사
  240. function fSetTclsCopy(){
  241. var sTestcd = model.getValue("/root/main/tclscdlist["+grd_tclsList.row+"]/tclscd");
  242. var findrow = grd_testList.findRow(sTestcd , 1,2 , true,true);
  243. if(findrow >0 ) {
  244. alert("이미 선택된 검사코드입니다.");
  245. model.setValue("/root/main/tclscdlist[" + grd_tclsList.row + "]/chk", "false");
  246. return;
  247. }
  248. grd_testList.addRow(false);
  249. model.setValue("/root/main/testlist[" + (grd_testList.rows-1) + "]/testcd", model.getValue("/root/main/tclscdlist[" + grd_tclsList.row + "]/tclscd"));
  250. model.setValue("/root/main/testlist[" + (grd_testList.rows-1) + "]/testnm", model.getValue("/root/main/tclscdlist[" + grd_tclsList.row + "]/tclsnm"));
  251. model.setValue("/root/main/tclscdlist[" + grd_tclsList.row + "]/chk", "false");
  252. grd_testList.bottomRow = grd_testList.rows;
  253. model.refresh();
  254. }
  255. //저장 데이터 확인
  256. function checkGridUpdate(grid){
  257. var iData = grid.getUpdateDataXml("insert");
  258. var uData = grid.getUpdateDataXml("update");
  259. var dData = grid.getUpdateDataXml("delete");
  260. if (iData=="" && uData=="" && dData=="") return false;
  261. else{
  262. return true;
  263. }
  264. }
  265. //검사항목 리스트 클릭시 Row선택하면 체크 선택되게
  266. function fTclsListClick(){
  267. if(grd_tclsList.col != "1"){
  268. if(model.getValue("/root/main/tclscdlist[" + grd_tclsList.row + "]/chk") != "true"){
  269. model.setValue("/root/main/tclscdlist[" + grd_tclsList.row + "]/chk", "true");
  270. }else{
  271. model.setValue("/root/main/tclscdlist[" + grd_tclsList.row + "]/chk", "false");
  272. }
  273. }
  274. }
  275. //항목, 방법, 시약, 온도, 단위 코드의 "名" 조회
  276. //col = 4 : 항목, 6 : 방법, 8 : 시약, 10 : 온도, 12 : 단위
  277. function fGetTestInfo(){
  278. var vCol = grd_testList.col;
  279. var vRow = grd_testList.row;
  280. switch(vCol){
  281. case 4:
  282. model.setValue("/root/send/itemcd", model.getvalue("/root/main/testlist[" + vRow + "]/ocitemcd"));
  283. break;
  284. case 6:
  285. model.setValue("/root/send/itemcd", model.getvalue("/root/main/testlist[" + vRow + "]/ocmthdcd"));
  286. break;
  287. case 8:
  288. model.setValue("/root/send/itemcd", model.getvalue("/root/main/testlist[" + vRow + "]/ocreagentcd"));
  289. break;
  290. case 10:
  291. model.setValue("/root/send/itemcd", model.getvalue("/root/main/testlist[" + vRow + "]/octmprcd"));
  292. break;
  293. case 12:
  294. model.setValue("/root/send/itemcd", model.getvalue("/root/main/testlist[" + vRow + "]/ocunitcd"));
  295. break;
  296. }
  297. model.setValue("/root/send/colno" , vCol);
  298. if(submit("TRLQF00302", false)){
  299. switch(vCol){
  300. case 4:
  301. model.setvalue("/root/main/testlist[" + vRow + "]/ocitemnm", model.getValue("/root/hidden/infonm/info"));
  302. break;
  303. case 6:
  304. model.setvalue("/root/main/testlist[" + vRow + "]/ocmthdnm", model.getValue("/root/hidden/infonm/info"));
  305. break;
  306. case 8:
  307. model.setvalue("/root/main/testlist[" + vRow + "]/ocreagentnm", model.getValue("/root/hidden/infonm/info"));
  308. break;
  309. case 10:
  310. model.setvalue("/root/main/testlist[" + vRow + "]/octmprnm", model.getValue("/root/hidden/infonm/info"));
  311. break;
  312. case 12:
  313. model.setvalue("/root/main/testlist[" + vRow + "]/ocunitnm", model.getValue("/root/hidden/infonm/info"));
  314. break;
  315. }
  316. }
  317. grd_testList.refresh();
  318. }
  319. function fSelectGbn(){
  320. //검사분류 선택
  321. if(cmb_selectgbn.value == "1"){
  322. //첫번째 콤보에 대분류 셋팅
  323. cmb_testLrgCd.choices.itemset.attribute("nodeset") = "/root/init/LB0104";
  324. //두번째 콤보에 중분류 셋팅
  325. cmb_testMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0102";
  326. }
  327. //시행부서 선택
  328. else if(cmb_selectgbn.value == "2"){
  329. //첫번째 콤보에 계코드 셋팅
  330. cmb_testLrgCd.choices.itemset.attribute("nodeset") = "/root/init/LB0111";
  331. //두번째 콤보에 검사계코드 셋팅
  332. cmb_testMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0106";
  333. }
  334. model.setvalue("/root/hidden/testlrg", "00");
  335. model.setvalue("/root/hidden/testmdl/cd", "00");
  336. cmb_testLrgCd.refresh();
  337. cmb_testMdlCd.refresh();
  338. }
  339. function fSetSelect02(){
  340. var select01 = model.getvalue("/root/hidden/testlrg");
  341. //검사분류선택
  342. if(cmb_selectgbn.value == "1"){
  343. if(select01 == "00"){
  344. cmb_testMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0102";
  345. }
  346. else{
  347. cmb_testMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0102[cd= '00' or etc01='"+ select01 +"']";
  348. }
  349. //model.setValue("/root/hidden/select01" , "00");
  350. cmb_testMdlCd.refresh();
  351. }
  352. //시행부서 선택
  353. else if(cmb_selectgbn.value == "2"){
  354. if(select01 == "00"){
  355. cmb_testMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0106";
  356. }
  357. else{
  358. cmb_testMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0106[cd= '00' or etc01='"+ select01 +"']";
  359. }
  360. //model.setValue("/root/hidden/select02" , "00");
  361. cmb_testMdlCd.refresh();
  362. }
  363. }
  364. ]]>
  365. </script>
  366. </xhtml:head>
  367. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  368. <group id="group3" scroll="auto" style="left:0px; top:40; width:1195px; height:744px; ">
  369. <line id="line1" class="line_1" style="x1:0px; y1:71px; x2:1194px; y2:71px; "/>
  370. <datagrid id="grd_testList" nodeset="/root/main/testlist" class="datagrid2" autoresize="true" caption="^검사코드^검사명^항목코드^OnCall항목^방법코드^OnCall방법^시약코드^OnCall시약^온도코드^OnCall온도^단위코드^OnCall단위" colwidth="25, 60, 135, 30, 120, 30, 120, 30, 120, 30, 70, 30, 70" dataheight="25" defaultrows="1" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" colsep="^" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" tooltip="true" style="left:5px; top:75px; width:885px; height:647px; ">
  371. <col ref="chk" type="checkbox" checkvalue="true,false" visibility="hidden"/>
  372. <col ref="testcd"/>
  373. <col ref="testnm"/>
  374. <col ref="ocitemcd" type="input"/>
  375. <col ref="ocitemnm"/>
  376. <col ref="ocmthdcd" type="input"/>
  377. <col ref="ocmthdnm"/>
  378. <col ref="ocreagentcd" type="input"/>
  379. <col ref="ocreagentnm"/>
  380. <col ref="octmprcd" type="input"/>
  381. <col ref="octmprnm"/>
  382. <col ref="ocunitcd" type="input"/>
  383. <col ref="ocunitnm"/>
  384. <script type="javascript" ev:event="onaftersort">
  385. <![CDATA[
  386. grd_testList.gridToInstance();
  387. ]]>
  388. </script>
  389. <script type="javascript" ev:event="onkeypress">
  390. <![CDATA[
  391. if(event.keyCode == "13"){
  392. fGetTestInfo();
  393. }
  394. ]]>
  395. </script>
  396. </datagrid>
  397. <caption id="caption2" class="tit_2" style="left:5px; top:56px; width:173px; height:14px; ">검사코드상세내역</caption>
  398. <button id="btn_add" class="btn2_letter3" visibility="visible" disabled="true" style="left:777px; top:50px; width:53px; height:19px; ">
  399. <caption>행추가</caption>
  400. <script type="javascript" ev:event="DOMActivate">
  401. <![CDATA[
  402. grd_testList.additem();
  403. ]]>
  404. </script>
  405. </button>
  406. <group id="group1" style="left:0px; top:10px; width:1195px; height:35px; ">
  407. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
  408. <line id="line3" class="line_4" style="x1:450px; y1:5px; x2:450px; y2:27px; "/>
  409. <button id="button1" class="btn1_letter2" style="left:1115px; top:7px; width:56px; height:22px; ">
  410. <caption>검색</caption>
  411. <script type="javascript" ev:event="DOMActivate">
  412. <![CDATA[
  413. fGetHospTclscd();
  414. ]]>
  415. </script>
  416. </button>
  417. <caption id="caption1" class="search_name" style="left:455px; top:9px; width:90px; height:17px; ">검색구분 :</caption>
  418. <select1 id="cbo_searchFlag" ref="/root/hidden/search/searchflag" class="combo_search" appearance="minimal" style="left:548px; top:8px; width:117px; height:19px; ">
  419. <choices>
  420. <item>
  421. <label>검사코드</label>
  422. <value>1</value>
  423. </item>
  424. <item>
  425. <label>검사명</label>
  426. <value>2</value>
  427. </item>
  428. </choices>
  429. </select1>
  430. <input id="ipt_search" ref="/root/hidden/search/searchtext" class="input_s_button" inputtype="button" style="left:670px; top:8px; width:110px; height:19px; ">
  431. <script type="javascript" ev:event="onkeypress">
  432. <![CDATA[
  433. fKeyEvent();
  434. ]]>
  435. </script>
  436. </input>
  437. <caption id="caption25" class="search_name" style="left:20px; top:9px; width:87px; height:17px; ">조회구분 :</caption>
  438. <select1 id="cmb_testLrgCd" ref="/root/hidden/testlrg" class="combo_s_essential" appearance="minimal" itemcount="10" style="left:210px; top:9px; width:110px; height:19px; ">
  439. <choices>
  440. <itemset nodeset="/root/init/LB0104">
  441. <label ref="nm"/>
  442. <value ref="cd"/>
  443. </itemset>
  444. </choices>
  445. <script type="javascript" ev:event="xforms-value-changed">
  446. <![CDATA[
  447. fSetSelect02();
  448. //fSetTestLrgCd();
  449. ]]>
  450. </script>
  451. </select1>
  452. <select1 id="cmb_testMdlCd" ref="/root/hidden/testmdl/cd" class="combo_s_essential" appearance="minimal" itemcount="10" style="left:325px; top:9px; width:115px; height:19px; ">
  453. <choices>
  454. <itemset nodeset="/root/init/LB0102">
  455. <label ref="nm"/>
  456. <value ref="cd"/>
  457. </itemset>
  458. </choices>
  459. <script type="javascript" ev:event="xforms-select">
  460. <![CDATA[
  461. //검사코드리스트조회
  462. fGetTclscdList();
  463. ]]>
  464. </script>
  465. </select1>
  466. <select1 id="rdo_refFlag" ref="/root/hidden/refflag" visibility="hidden" overflow="visible" appearance="full" cols="2" style="left:800px; top:10px; width:90px; height:16px; border-style:none; ">
  467. <choices>
  468. <item>
  469. <label>QC</label>
  470. <value>1</value>
  471. </item>
  472. <item>
  473. <label>코드</label>
  474. <value>2</value>
  475. </item>
  476. </choices>
  477. </select1>
  478. <line id="line2" class="line_4" style="x1:1100px; y1:5px; x2:1100px; y2:27px; "/>
  479. <select1 id="cmb_selectgbn" ref="/root/hidden/search/selectgbn" class="combo_search" visibility="visible" appearance="minimal" style="left:115px; top:9px; width:90px; height:19px; ">
  480. <choices>
  481. <item>
  482. <label>검사분류</label>
  483. <value>1</value>
  484. </item>
  485. <item>
  486. <label>시행부서</label>
  487. <value>2</value>
  488. </item>
  489. </choices>
  490. <script type="javascript" ev:event="xforms-select">
  491. <![CDATA[
  492. fSelectGbn();
  493. ]]>
  494. </script>
  495. </select1>
  496. </group>
  497. <button id="btn_up" class="icon_left" style="left:895px; top:395px; width:26px; height:19px; ">
  498. <caption/>
  499. <script type="javascript" ev:event="DOMActivate">
  500. <![CDATA[
  501. //선택검사목록
  502. fSetChoiTestList();
  503. ]]>
  504. </script>
  505. </button>
  506. <caption id="caption3" class="tit_2" style="left:925px; top:55px; width:173px; height:13px; ">검사항목코드목록</caption>
  507. <datagrid id="grd_tclsList" nodeset="/root/main/tclscdlist" class="datagrid2" caption="^검사코드^검사명" colwidth="20, 65, 135" dataheight="25" defaultrows="1" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" selectionmode="byrow" rowsep="|" colsep="^" tooltip="true" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:925px; top:75px; width:268px; height:647px; ">
  508. <col ref="chk" type="checkbox" checkvalue="true,false"/>
  509. <col ref="tclscd"/>
  510. <col ref="tclsnm"/>
  511. <script type="javascript" ev:event="onaftersort">
  512. <![CDATA[
  513. grd_tclsList.gridToInstance();
  514. ]]>
  515. </script>
  516. <script type="javascript" ev:event="ondblclick">
  517. <![CDATA[
  518. if(grd_tclsList.isCell(event.target) && grd_tclsList.row >= grd_tclsList.fixedRows){
  519. fSetTclsCopy();
  520. }
  521. ]]>
  522. </script>
  523. <script type="javascript" ev:event="onclick">
  524. <![CDATA[
  525. if(grd_tclsList.isCell(event.target) && grd_tclsList.row >= grd_tclsList.fixedRows){
  526. fTclsListClick();
  527. }
  528. ]]>
  529. </script>
  530. </datagrid>
  531. <button id="btn_del" class="btn2_letter3" visibility="visible" style="left:837px; top:50px; width:53px; height:19px; ">
  532. <caption>행삭제</caption>
  533. <script type="javascript" ev:event="DOMActivate">
  534. <![CDATA[
  535. grd_testList.rowStatus(grd_testList.row) = 4; //멀티업데이트 시 Delete로 설정 //0:new, 1:insert, 2:update, 3:insert&new, 4:delete
  536. //grd_testList.deleteitem(grd_testList.row);
  537. ]]>
  538. </script>
  539. </button>
  540. </group>
  541. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  542. <button id="button5" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  543. <caption>초기화</caption>
  544. <script type="javascript" ev:event="onclick">
  545. <![CDATA[
  546. window.reload();
  547. ]]>
  548. </script>
  549. </button>
  550. <line id="line32" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  551. <button id="btn_exec" class="btn4_letter2" style="left:1068px; top:3px; width:56px; height:22px; ">
  552. <caption>저장</caption>
  553. <script type="javascript" ev:event="DOMActivate">
  554. <![CDATA[
  555. if(messageBox("", "Q002")==6){
  556. if(!checkGridUpdate(grd_testList))
  557. {
  558. alert("저장할 자료가 존재하지 않습니다.");
  559. return;
  560. }
  561. model.setValue("/root/send/testlist", grd_testList.getUpdateData());
  562. model.setValue("/root/send/deptflag", model.getValue("/root/init/LB0000/nm"));
  563. if ( submit("TXLQF00301") ) {
  564. grd_testList.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  565. fGetHospTclscd();
  566. }
  567. }
  568. ]]>
  569. </script>
  570. </button>
  571. </group>
  572. <group id="group2" style="left:0px; top:0px; width:1195px; height:13px; ">
  573. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">QC검사코드관리</caption>
  574. </group>
  575. </xhtml:body>
  576. </xhtml:html>