SMLLF90400_사용자별검사그룹관리.xrw 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : 사용자별 검사그룹 관리.xrw
  4. * 설 명 : 사용자별 검사그룹 관리
  5. * 설 계 자 : (주)에이씨케이 - 박정은
  6. * 작 성 자 : (주)에이씨케이 - 박정은
  7. * 작 성 일 : 2007.04.20
  8. * 수정이력 : 2007-08-03 박정은 코드인스펙션
  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>사용자별 검사그룹 관리</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <gruplist>
  20. <testgrupnm/>
  21. </gruplist>
  22. <testgruplist>
  23. <cd/>
  24. <nm/>
  25. <etc01/>
  26. <etc02/>
  27. <etc03/>
  28. </testgruplist>
  29. <testgrupdetl>
  30. <chk/>
  31. <tclsnm/>
  32. <tclscd/>
  33. <spccd/>
  34. </testgrupdetl>
  35. <tclscdlist>
  36. <ptclscd/>
  37. <tclsnm/>
  38. <tclscd/>
  39. <spccd/>
  40. <lvl/>
  41. </tclscdlist>
  42. </main>
  43. <send>
  44. <codeflag/>
  45. <testmdlcd/>
  46. <testgrupnm/>
  47. <grddata/>
  48. <gruprow/>
  49. <detlrow/>
  50. <searchflag/>
  51. <searchtext/>
  52. <userdeptflagcd/>
  53. <nuflag/>
  54. </send>
  55. <init>
  56. </init>
  57. <hidden>
  58. <extrdt/>
  59. <testgrupnm/>
  60. <testitem/>
  61. <mdlcd>00</mdlcd>
  62. <testgruplist>
  63. <testgrupcd/>
  64. <testgrupnm/>
  65. <etc01/>
  66. <etc02/>
  67. <etc03/>
  68. </testgruplist>
  69. <testgrupdetl>
  70. <chk/>
  71. <tclsnm/>
  72. <tclscd/>
  73. </testgrupdetl>
  74. <temp/>
  75. <tclscdlist>
  76. <tclscdlist/>
  77. <tclsnmlist/>
  78. <tclscdlist2/>
  79. <tclsnmlist2/>
  80. <testgrup/>
  81. </tclscdlist>
  82. <search>
  83. <searchtext/>
  84. <searchgbn>1</searchgbn>
  85. </search>
  86. <nuflag>1</nuflag>
  87. </hidden>
  88. <codedata>
  89. <popupmenu>
  90. <grid>
  91. <item>
  92. <name>한꺼번에 옮기기</name>
  93. <func>fSetTestGrupDetlAll</func>
  94. </item>
  95. <item>
  96. <name>하나씩 옮기기</name>
  97. <func>fSetTestGrupDetl</func>
  98. </item>
  99. </grid>
  100. </popupmenu>
  101. </codedata>
  102. </root>
  103. </instance>
  104. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  105. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  106. <script type="javascript" ev:event="xforms-ready">
  107. <![CDATA[
  108. // 초기정보 Get
  109. if( model.getValue("/root/properties/menu/menuparam")=="C" ){ // 핵의학 진검메뉴에 메뉴파라미터 S 지정
  110. btn_cnfm.visible = false;
  111. }
  112. // 2. 중분류 리스트 조회
  113. model.setValue("/root/send/codeflag", "0102|0000|0403|"); // 0102= 중분류 // 0103 검사그룹
  114. submit("TRLZZ00101");
  115. var codechangeYN = model.getValue("/root/init/LB0403/nm");
  116. if(codechangeYN == "Y"){
  117. radio1.visible = true;
  118. }
  119. // 검사그룹 목록 초기화
  120. //grd_testgruplist.deleteRow(1);
  121. model.removeNodeset("/root/main/testgruplist");
  122. // 상세정보 목록 초기화
  123. //grd_testgrupdetl.deleteRow(1);
  124. model.removeNodeset("/root/main/testgrupdetl");
  125. // 검사그룹 조회
  126. //submit("TRLLF90403");
  127. fGetTestGrupList(0);
  128. if(model.getValue("/root/hidden/tclscdlist/testgrup") != "") {
  129. var grup = model.getValue("/root/hidden/tclscdlist/testgrup");
  130. for(i = 1; i <= getNodesetCount("/root/main/testgruplist"); i++) {
  131. var find = grd_testgruplist.findRow(grup, i, 2);
  132. if(find < 0) {
  133. break;
  134. }
  135. grd_testgruplist.row = find;
  136. fGetTestGrupDetlList();
  137. i = find;
  138. }
  139. }
  140. // 1. 사용자별 검사그룹 목록 조회
  141. //fSettestgrup(); 삭제예정
  142. // 3. 검사항목 리스트 조회
  143. //fGetTclscdList("00");
  144. ]]>
  145. </script>
  146. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/LB0103"/>
  147. <submission id="TRLLF90401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/testgrupdetl"/>
  148. <submission id="TRLLF90402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/tclscdlist"/>
  149. <submission id="TXLLF90401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  150. <submission id="TRLLF90403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/testgruplist"/>
  151. <submission id="TXLLF90402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  152. </model>
  153. <script type="javascript">
  154. <![CDATA[
  155. var iudGbn = null;
  156. // 검사그룹 목록 조회 삭제예정
  157. /*function fSettestgrup(){
  158. var vInstance = document.models(0).instances(0);
  159. var cntCR = vInstance.selectNodes("/root/init/LB0103").length;
  160. NodeCnt = 1;
  161. for(i=1; i<= cntCR; i++){
  162. model.makeNode("/root/hidden/testgruplist["+NodeCnt+"]/testgrupcd");
  163. model.makeNode("/root/hidden/testgruplist["+NodeCnt+"]/testgrupnm");
  164. model.makeNode("/root/hidden/testgruplist["+NodeCnt+"]/etc01");
  165. model.makeNode("/root/hidden/testgruplist["+NodeCnt+"]/etc02");
  166. model.makeNode("/root/hidden/testgruplist["+NodeCnt+"]/etc03");
  167. model.setValue("/root/hidden/testgruplist["+NodeCnt+"]/testgrupcd", model.getValue("/root/init/LB0103["+i+"]/cd"));
  168. model.setValue("/root/hidden/testgruplist["+NodeCnt+"]/testgrupnm", model.getValue("/root/init/LB0103["+i+"]/nm"));
  169. model.setValue("/root/hidden/testgruplist["+NodeCnt+"]/etc01", model.getValue("/root/init/LB0103["+i+"]/etc01"));
  170. model.setValue("/root/hidden/testgruplist["+NodeCnt+"]/etc02", model.getValue("/root/init/LB0103["+i+"]/etc02"));
  171. model.setValue("/root/hidden/testgruplist["+NodeCnt+"]/etc03", model.getValue("/root/init/LB0103["+i+"]/etc03"));
  172. NodeCnt++;
  173. }
  174. }*/
  175. // 검사그룹 목록 조회
  176. function fGetTestGrupList(ref){
  177. submit("TRLLF90403");
  178. if(ref != 0) {
  179. grd_testgruplist.row = ref;
  180. fGetTestGrupDetlList();
  181. }
  182. model.refresh();
  183. }
  184. // 검사항목 리스트 조회
  185. function fGetTclscdList(cd){
  186. model.removeNodeset("/root/main/tclscdlist");
  187. var cd = model.getValue("/root/hidden/mdlcd");
  188. var nuflag = model.getValue("/root/hidden/nuflag");
  189. model.setValue("/root/send/testmdlcd", cd);
  190. model.setValue("/root/send/searchflag", model.getValue("/root/hidden/search/searchgbn"));
  191. model.setValue("/root/send/searchtext", model.getValue("/root/hidden/search/searchtext"));
  192. model.setValue("/root/send/nuflag", nuflag);
  193. model.setValue("/root/send/userdeptflagcd", model.getValue("/root/init/LB0000/nm"));
  194. submit("TRLLF90402");
  195. fSetMakeTree();
  196. fSetTextColor();
  197. model.refresh();
  198. }
  199. // 트리구조 만들기
  200. function fSetMakeTree(){
  201. /*
  202. for(var i = 1; i<grd_testitemlist.rows; i++) {
  203. grd_testitemlist.IsSubtotal(i) = true; //그리드의 모든 row를 subtotal 속성을 가진 row로 변경 해주셔야 합니다..
  204. grd_testitemlist.outlinelevel(i) = grd_testitemlist.TextMatrix(i, 4); //인스턴스H_DEPTH 값임 (이넘이 그리드에서 각 로우가 트리상 어떤 Depth를 갖는지 결정하는 넘입니다..)
  205. }
  206. grd_testitemlist.OutlineCol = 1; // 트리 만들 col
  207. grd_testitemlist.OutlineBar = 4; //+ , - , 사각형 안보이게 하려면 0 으로 세팅 //4가 정상
  208. grd_testitemlist.TreeColor = "gray";*/
  209. setTree(grd_testitemlist, 4, 1, true);
  210. }
  211. //Group, Panel의 글자색 바꾸기
  212. function fSetTextColor(){
  213. var kind = "";
  214. for(i = 1; i < grd_testitemlist.rows; i++) {
  215. kind = grd_testitemlist.labelMatrix(i, 2);
  216. if(kind == "0" || kind == "1") {
  217. grd_testitemlist.cellStyle("color", i, 1) = "#0066FF";
  218. } else {
  219. grd_testitemlist.cellStyle("color", i, 1) = "#000000";
  220. }
  221. }
  222. model.refresh();
  223. }
  224. // 검사항목에서 더블클릭시 검사그룹 상세 정보 목록으로 보내기
  225. function fSetTestGrupDetl(){
  226. var detlrow = grd_testgrupdetl.rows;
  227. var sTclscd = model.getValue("/root/main/tclscdlist["+grd_testitemlist.row+"]/tclscd");
  228. var findrow = grd_testgrupdetl.findRow(sTclscd , 1,3 , true,true);
  229. if(findrow >0 ) {
  230. messageBox("이미 선택된 검사코드 ", "E008"); //이미 선택된 검사코드입니다.
  231. return;
  232. }
  233. if(model.getValue("/root/main/tclscdlist["+grd_testitemlist.row+"]/lvl") != "1"){
  234. grd_testgrupdetl.addRow();
  235. model.makeNode("/root/main/testgrupdetl["+detlrow+"]/chk");
  236. model.makeNode("/root/main/testgrupdetl["+detlrow+"]/tclsnm");
  237. model.makeNode("/root/main/testgrupdetl["+detlrow+"]/tclscd");
  238. model.makeNode("/root/main/testgrupdetl["+detlrow+"]/spccd");
  239. model.setValue("/root/main/testgrupdetl["+detlrow+"]/tclsnm", model.getValue("/root/main/tclscdlist["+grd_testitemlist.row+"]/tclsnm"));
  240. model.setValue("/root/main/testgrupdetl["+detlrow+"]/tclscd", model.getValue("/root/main/tclscdlist["+grd_testitemlist.row+"]/tclscd"));
  241. model.setValue("/root/main/testgrupdetl["+detlrow+"]/spccd", model.getValue("/root/main/tclscdlist["+grd_testitemlist.row+"]/spccd"));
  242. grd_testgrupdetl.rowStatus(detlrow) = 1;
  243. detlrow++;
  244. iudGbn = 0;
  245. }
  246. }
  247. // 검사항목에서 더블클릭시 검사그룹 상세 정보 목록으로 보내기(배터리 같은거 한꺼번에)
  248. function fSetTestGrupDetlAll(){
  249. var selectlvl = model.getValue("/root/main/tclscdlist["+grd_testitemlist.row+"]/lvl");
  250. var detlrow = grd_testgrupdetl.rows;
  251. var lrow = grd_testitemlist.row +1;
  252. var sTclscd = "";
  253. var findrow = "";
  254. for(i=1; i<grd_testitemlist.rows; i++){
  255. // 선택 레벨값보다 큰거
  256. if(selectlvl < model.getValue("/root/main/tclscdlist["+lrow+"]/lvl")){
  257. sTclscd = model.getValue("/root/main/tclscdlist["+lrow+"]/tclscd");
  258. findrow = grd_testgrupdetl.findRow(sTclscd , 1,3 , true, true);
  259. if(findrow >0 ) {
  260. messageBox("이미 선택된 검사코드 ", "E008"); //이미 선택된 검사코드입니다.
  261. return;
  262. }
  263. grd_testgrupdetl.addRow();
  264. model.makeNode("/root/main/testgrupdetl["+detlrow+"]/chk");
  265. model.makeNode("/root/main/testgrupdetl["+detlrow+"]/tclsnm");
  266. model.makeNode("/root/main/testgrupdetl["+detlrow+"]/tclscd");
  267. model.makeNode("/root/main/testgrupdetl["+detlrow+"]/spccd");
  268. model.setValue("/root/main/testgrupdetl["+detlrow+"]/tclsnm", model.getValue("/root/main/tclscdlist["+lrow+"]/tclsnm"));
  269. model.setValue("/root/main/testgrupdetl["+detlrow+"]/tclscd", model.getValue("/root/main/tclscdlist["+lrow+"]/tclscd"));
  270. model.setValue("/root/main/testgrupdetl["+detlrow+"]/spccd", model.getValue("/root/main/tclscdlist["+lrow+"]/spccd"));
  271. lrow++;
  272. detlrow++;
  273. grd_testgrupdetl.rowStatus(detlrow) = 1;
  274. }
  275. }
  276. }
  277. // 검사그룹명 엔터
  278. function fKeyEvent(){
  279. if(event.keyCode == "13"){
  280. if(event.target == "ipt_testgrup"){
  281. model.setvalue("/root/hidden/testgrupnm", ipt_testgrup.currentText);
  282. // alert(ipt_testgrup.currentText);
  283. var testgrup = model.getValue("/root/hidden/testgrupnm");
  284. var grupRow = grd_testgruplist.findRow(testgrup, 1,1, false, true);
  285. grd_testgruplist.rebuild();
  286. if(grupRow < 1){
  287. // 행추가 + 그룹명 set
  288. var grupRS = grd_testgruplist.rows;
  289. //grd_testgruplist.addItem(grupRS);
  290. grd_testgruplist.addRow(grupRS);
  291. var grupNM = model.getValue("/root/hidden/testgrupnm");
  292. // alert(grupNM);
  293. if( grupNM == ""){
  294. // alert("!!!!!!");
  295. messageBox("검사그룹명을", "C001");
  296. grd_testgruplist.deleteRow(grupRS);
  297. return;
  298. }
  299. else{
  300. model.setValue("/root/main/testgruplist["+grupRS+"]/nm", model.getValue("/root/hidden/testgrupnm"));
  301. grd_testgrupdetl.select(grupRS,1,grupRS,1) = true;
  302. }
  303. //model.resetInstanceNode("/root/main/testgrupdetl");
  304. model.removeNodeset("/root/main/testgrupdetl");
  305. grd_testgrupdetl.rebuild();
  306. //grd_testgrupdetl.deleteItem(1);
  307. //grd_testgrupdetl.deleteRow(1);
  308. }else{
  309. // 검사그룹에서 조회
  310. grd_testgruplist.row = grupRow;
  311. fGetTestGrupDetlList();
  312. }
  313. ipt_testgrup.selBegin = 0;
  314. ipt_testgrup.selEnd = ipt_testgrup.currentText.length;
  315. }else if(event.target == "ipt_refgbn"){
  316. var text = ipt_refgbn.currentText;
  317. model.setValue("/root/hidden/search/searchtext", text.toUpperCase());
  318. fGetTclscdList("00");
  319. }
  320. }
  321. }
  322. // 검사항목 검색
  323. function fGetTestItemList(){
  324. var testitem = model.getValue("/root/hidden/testitem");
  325. var itemRow = grd_testitemlist.findRow(testitem, 1,1, false, false);
  326. for(i=0; i< grd_testitemlist.rows;i++){
  327. grd_testitemlist.rowStyle(i, "data", "background-color") = "#ffffff";
  328. //grd_testgruplist.rebuild();
  329. }
  330. if(itemRow > 0){
  331. grd_testitemlist.rowStyle(itemRow, "data", "background-color") = "#f3e1bf";
  332. grd_testitemlist.select(itemRow,1,itemRow,1) = true;
  333. }
  334. }
  335. // 검사그룹 등록, 수정
  336. function fExeTestGrup(){
  337. // 상세목록 없으면 등록 안되게
  338. if(grd_testgrupdetl.rows < 2){
  339. messageBox("검사그룹 상세 정보를", "C001");
  340. return;
  341. }
  342. var detldata = grd_testgrupdetl.getUpdateDataAll("i");
  343. var testGrupnm = model.getValue("/root/main/testgruplist["+grd_testgruplist.row+"]/nm");
  344. model.setValue("/root/send/grddata", detldata);
  345. model.setValue("/root/send/testgrupnm", testGrupnm);
  346. if(submit("TXLLF90401")==true){
  347. model.removeNodeset("/root/main/testgruplist");
  348. model.removeNodeset("/root/main/testgrupdetl");
  349. model.setValue("/root/hidden/tclscdlist/testgrup", "");
  350. // 사용자별 검사그룹 등록
  351. //submit("TRLLF90403");
  352. fGetTestGrupList(0);
  353. }
  354. }
  355. // 검사그룹 상세 정보 목록
  356. function fGetTestGrupDetlList(){
  357. var grupRow = grd_testgruplist.row;
  358. model.setValue("/root/send/testgrupnm", model.getValue("/root/main/testgruplist["+grd_testgruplist.row+"]/nm"));
  359. submit("TRLLF90401");
  360. fSetdetlrowstatus();
  361. }
  362. // 검사그룹 상세정보 목록 위치 이동
  363. function fSetDetlListMode(gbn){
  364. var row = grd_testgrupdetl.row;
  365. if(gbn =="1"){
  366. if(row == grd_testgrupdetl.rows-1){
  367. return;
  368. }
  369. pRow = parseInt(row) +1;
  370. model.copyNode("/root/hidden/testgrupdetl", "/root/main/testgrupdetl["+pRow+"]");
  371. model.copyNode("/root/main/testgrupdetl["+pRow+"]", "/root/main/testgrupdetl["+row+"]" );
  372. model.copyNode("/root/main/testgrupdetl["+row+"]", "/root/hidden/testgrupdetl");
  373. }else{
  374. if(row < 1 || row == 1 ){
  375. return;
  376. }
  377. mRow = parseInt(row) -1;
  378. model.copyNode("/root/hidden/testgrupdetl", "/root/main/testgrupdetl["+mRow+"]");
  379. model.copyNode("/root/main/testgrupdetl["+mRow+"]", "/root/main/testgrupdetl["+row+"]" );
  380. model.copyNode("/root/main/testgrupdetl["+row+"]", "/root/hidden/testgrupdetl");
  381. }
  382. grd_testgrupdetl.rebuild();
  383. if(gbn == 1){
  384. //grd_testgrupdetl.select(pRow,1,pRow,1) = true;
  385. grd_testgrupdetl.row= pRow;
  386. }else{
  387. grd_testgrupdetl.row= mRow;
  388. //grd_testgrupdetl.select(mRow,1,mRow,1) = true;
  389. }
  390. iudGbn = 1;
  391. fSetdetlrowstatus();
  392. }
  393. // 행삭제
  394. function fSetdeleterow(){
  395. var gRow = grd_testgrupdetl.row;
  396. //grd_testgrupdetl.deleteItem(gRow);
  397. grd_testgrupdetl.deleteRow(gRow);
  398. iudGbn = 1;
  399. fSetdetlrowstatus();
  400. }
  401. // 검사그룹 상세 정보 목록 row 상태 변경
  402. function fSetdetlrowstatus(){
  403. for(i=1; i<grd_testgrupdetl.rows; i++){
  404. grd_testgrupdetl.rowStatus(i) = 1;
  405. }
  406. }
  407. // 검사항목 그리드 팝업
  408. function fGridPopup(){
  409. if(event.button == 3){
  410. if(grd_testitemlist.isCell(event.target) && grd_testitemlist.mouseRow >= grd_testitemlist.fixedrows){
  411. window.setPopupMenu(true, "/root/codedata/popupmenu/grid/item", "name", "func", false);
  412. }else{
  413. window.setPopupMenu(false);
  414. }
  415. }
  416. }
  417. // 검사그룹 상세 정보 목록 메인으로 넘기기
  418. function fSetPopUpTclscdList(){
  419. var sendtclsnm = model.getValue("/root/main/testgrupdetl[1]/tclsnm");
  420. var sendtclsnm2 = model.getValue("/root/main/testgrupdetl[1]/tclsnm");
  421. var sendtclscd = model.getValue("/root/main/testgrupdetl[1]/tclscd");
  422. var sendtclscd2 = model.getValue("/root/main/testgrupdetl[1]/tclscd");
  423. // 검사그룹 상세 목록 없을때
  424. if(sendtclsnm == ""){
  425. model.setValue("/root/hidden/tclscdlist/tclscdlist", "");
  426. model.setValue("/root/hidden/tclscdlist/tclsnmlist", "");
  427. }else{ // 검사그룹 상세 목록 있을때
  428. for(i=2; i<grd_testgrupdetl.rows; i++){
  429. sendtclsnm = sendtclsnm + ", " + model.getValue("/root/main/testgrupdetl["+i+"]/tclsnm");
  430. sendtclsnm2 = sendtclsnm2 + "▦" + model.getValue("/root/main/testgrupdetl["+i+"]/tclsnm");
  431. //sendtclscd = sendtclscd + "▦" + model.getValue("/root/main/testgrupdetl["+i+"]/tclscd");
  432. sendtclscd = sendtclscd + "','" + model.getValue("/root/main/testgrupdetl["+i+"]/tclscd");
  433. sendtclscd2 = sendtclscd2 + "▦" + model.getValue("/root/main/testgrupdetl["+i+"]/tclscd");
  434. }
  435. model.setValue("/root/hidden/tclscdlist/tclsnmlist", sendtclsnm);
  436. model.setValue("/root/hidden/tclscdlist/tclscdlist", "'" + sendtclscd + "'");
  437. model.setValue("/root/hidden/tclscdlist/tclscdlist2", sendtclscd2);
  438. model.setValue("/root/hidden/tclscdlist/tclsnmlist2", sendtclsnm2);
  439. model.setValue("/root/hidden/tclscdlist/testgrup", model.getValue("/root/main/testgruplist["+ grd_testgruplist.row +"]/cd"));
  440. }
  441. model.copyNode(opener.root.hidden.ref.tclscdlist, root.hidden.tclscdlist);
  442. //opener.ipt_tclscdlist.refresh();
  443. opener.model.refresh();
  444. window.opener.javascript.fSetInit(2);
  445. window.close();
  446. }
  447. // 검사그룹 삭제 2007-07-31 누가지웠어???
  448. function fTestGrupDelete(){
  449. model.setValue("/root/send/testgrupnm", model.getValue("/root/main/testgruplist["+grd_testgruplist.row+"]/nm"));
  450. if(submit("TXLLF90402")==true){
  451. fGetTestGrupList(1);
  452. }
  453. }
  454. ]]>
  455. </script>
  456. </xhtml:head>
  457. <xhtml:body pagewidth="850" pageheight="590" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  458. <group id="group1" style="left:0px; top:0px; width:830px; height:540px; ">
  459. <line id="line10" class="line_2" style="x1:555px; y1:53px; x2:825px; y2:53px; "/>
  460. <caption id="caption1" class="tit_2" style="left:10px; top:11px; width:100px; height:14px; ">검사그룹 등록</caption>
  461. <line id="line1" class="line_1" style="x1:5px; y1:26px; x2:235px; y2:26px; "/>
  462. <caption id="caption2" class="cell_1" style="left:240px; top:31px; width:100px; height:23px; ">그룹상세</caption>
  463. <caption id="caption3" class="cell_1" style="left:555px; top:31px; width:100px; height:23px; ">중분류</caption>
  464. <caption id="caption7" class="cell_1" style="left:5px; top:31px; width:100px; height:23px; ">그룹명</caption>
  465. <line id="line2" class="line_1" style="x1:5px; y1:80px; x2:235px; y2:80px; "/>
  466. <caption id="caption4" class="tit_2" style="left:245px; top:11px; width:131px; height:14px; ">검사그룹 수정</caption>
  467. <line id="line3" class="line_1" style="x1:240px; y1:26px; x2:550px; y2:26px; "/>
  468. <line id="line4" class="line_1" style="x1:240px; y1:80px; x2:550px; y2:80px; "/>
  469. <line id="line5" class="line_3" style="x1:240px; y1:53px; x2:550px; y2:53px; "/>
  470. <line id="line8" class="line_3" style="x1:5px; y1:53px; x2:235px; y2:53px; "/>
  471. <caption id="caption5" class="tit_2" style="left:560px; top:11px; width:151px; height:14px; ">검사항목 조회</caption>
  472. <line id="line6" class="line_1" style="x1:555px; y1:26px; x2:825px; y2:26px; "/>
  473. <line id="line9" class="line_1" style="x1:555px; y1:105px; x2:825px; y2:105px; "/>
  474. <caption id="caption6" class="cell_1" style="left:555px; top:55px; width:59px; height:23px; ">검색</caption>
  475. <line id="line7" class="line_3" style="x1:555px; y1:77px; x2:825px; y2:77px; "/>
  476. <caption id="caption8" class="tit_2" style="left:5px; top:65px; width:100px; height:13px; ">검사그룹 목록</caption>
  477. <caption id="caption9" class="tit_2" style="left:245px; top:65px; width:162px; height:14px; ">검사그룹 상세 정보 목록</caption>
  478. <caption id="caption10" class="tit_2" style="left:560px; top:89px; width:115px; height:13px; ">검사항목 목록</caption>
  479. <datagrid id="grd_testitemlist" nodeset="/root/main/tclscdlist" caption="검사명^kind^tclscd^lvl^ptclscd^spccd" colsep="^" colwidth="220, 0, 0, 0, 0, 0" dataheight="23" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" tooltip="true" style="left:555px; top:110px; width:270px; height:425px; ">
  480. <col ref="tclsnm"/>
  481. <col ref="tclskind"/>
  482. <col ref="tclscd"/>
  483. <col ref="lvl"/>
  484. <col ref="ptclscd"/>
  485. <col ref="spccd"/>
  486. <script type="javascript" ev:event="ondblclick">
  487. <![CDATA[
  488. // 검사항목 목록 더블클릭시
  489. fSetTestGrupDetl();
  490. ]]>
  491. </script>
  492. <script type="javascript" ev:event="onmousedown">
  493. <![CDATA[
  494. // 검사항목 그리드에서 팝메뉴 보이게
  495. fGridPopup();
  496. ]]>
  497. </script>
  498. <script type="javascript" ev:event="DOMFocusOut">
  499. <![CDATA[
  500. // 검사항목 그리드 아니면 팝메뉴 안보이게
  501. window.setPopupMenu(false);
  502. ]]>
  503. </script>
  504. </datagrid>
  505. <datagrid id="grd_testgrupdetl" nodeset="/root/main/testgrupdetl" caption="선택^검사명^검사코드^검체코드" colsep="^" colwidth="30, 150, 90, 0" dataheight="23" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:240px; top:85px; width:310px; height:450px; ">
  506. <col ref="chk" type="checkbox"/>
  507. <col ref="tclsnm"/>
  508. <col ref="tclscd"/>
  509. <col ref="spccd"/>
  510. </datagrid>
  511. <datagrid id="grd_testgruplist" nodeset="/root/main/testgruplist" caption="그룹명^cd" colsep="^" colwidth="190, 0" dataheight="23" defaultrows="0" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:5px; top:85px; width:230px; height:450px; ">
  512. <col ref="nm"/>
  513. <col ref="cd"/>
  514. <script type="javascript" ev:event="onclick">
  515. <![CDATA[
  516. fGetTestGrupDetlList();
  517. ]]>
  518. </script>
  519. </datagrid>
  520. <input id="ipt_testgrup" ref="/root/hidden/testgrupnm" class="input_button" inputtype="button" style="left:108px; top:32px; width:127px; height:19px; ">
  521. <script type="javascript" ev:event="onkeypress">
  522. <![CDATA[
  523. fKeyEvent();
  524. ]]>
  525. </script>
  526. </input>
  527. <button id="btn_up" class="icon_top" style="left:439px; top:32px; width:26px; height:19px; ">
  528. <caption/>
  529. <script type="javascript" ev:event="DOMActivate">
  530. <![CDATA[
  531. fSetDetlListMode("2");
  532. ]]>
  533. </script>
  534. </button>
  535. <button id="btn_down" class="icon_bottom" style="left:468px; top:32px; width:26px; height:19px; ">
  536. <caption/>
  537. <script type="javascript" ev:event="DOMActivate">
  538. <![CDATA[
  539. fSetDetlListMode("1");
  540. ]]>
  541. </script>
  542. </button>
  543. <button id="btn_delrow" class="btn2_letter3" style="left:497px; top:32px; width:53px; height:19px; font-weight:bold; ">
  544. <caption>행삭제</caption>
  545. <script type="javascript" ev:event="DOMActivate">
  546. <![CDATA[
  547. fSetdeleterow();
  548. ]]>
  549. </script>
  550. </button>
  551. <select1 id="cmb_mdl" ref="/root/hidden/mdlcd" class="combo_essential" appearance="minimal" itemcount="20" style="left:658px; top:32px; width:167px; height:19px; ">
  552. <choices>
  553. <itemset nodeset="/root/init/LB0102">
  554. <label ref="nm"/>
  555. <value ref="cd"/>
  556. </itemset>
  557. </choices>
  558. <script type="javascript" ev:event="xforms-select">
  559. <![CDATA[
  560. fGetTclscdList();
  561. ]]>
  562. </script>
  563. </select1>
  564. <input id="ipt_refgbn" ref="/root/hidden/search/searchtext" inputtype="button" style="left:705px; top:56px; width:120px; height:19px; ">
  565. <script type="javascript" ev:event="onkeypress">
  566. <![CDATA[
  567. fKeyEvent();
  568. ]]>
  569. </script>
  570. </input>
  571. <select1 id="cmb_refgbn" ref="/root/hidden/search/searchgbn" appearance="minimal" style="left:617px; top:56px; width:85px; height:19px; ">
  572. <choices>
  573. <item>
  574. <label>검사코드</label>
  575. <value>1</value>
  576. </item>
  577. <item>
  578. <label>검사명</label>
  579. <value>2</value>
  580. </item>
  581. </choices>
  582. <script type="javascript" ev:event="xforms-select">
  583. <![CDATA[
  584. //fHiddenTodd();
  585. ]]>
  586. </script>
  587. </select1>
  588. <select1 id="radio1" ref="/root/hidden/nuflag" visibility="hidden" appearance="full" cellspacing="20" cols="2" overflow="visible" style="left:721px; top:88px; width:104px; height:15px; border-style:none; ">
  589. <choices>
  590. <item>
  591. <label>Nu</label>
  592. <value>1</value>
  593. </item>
  594. <item>
  595. <label>OCS</label>
  596. <value>2</value>
  597. </item>
  598. </choices>
  599. </select1>
  600. </group>
  601. <group id="group2" style="left:0px; top:540px; width:830px; height:27px; ">
  602. <line id="line11" class="line_6" style="x1:0px; y1:0px; x2:830px; y2:0px; "/>
  603. <button id="btn_cnfm" class="btn4_letter2" style="left:544px; top:5px; width:56px; height:22px; ">
  604. <caption>확인</caption>
  605. <script type="javascript" ev:event="DOMActivate">
  606. <![CDATA[
  607. // 검사그룹 상세 정보목록 화면에 뿌리기
  608. fSetPopUpTclscdList();
  609. ]]>
  610. </script>
  611. </button>
  612. <button id="btn_insert" class="btn4_letter4" style="left:603px; top:5px; width:80px; height:22px; ">
  613. <caption>그룹등록</caption>
  614. <script type="javascript" ev:event="DOMActivate">
  615. <![CDATA[
  616. // 검사그룹 등록, 수정
  617. fExeTestGrup();
  618. ]]>
  619. </script>
  620. </button>
  621. <button id="btn_del" class="btn4_letter4" style="left:686px; top:5px; width:80px; height:22px; ">
  622. <caption>그룹삭제</caption>
  623. <script type="javascript" ev:event="DOMActivate">
  624. <![CDATA[
  625. fTestGrupDelete();
  626. ]]>
  627. </script>
  628. </button>
  629. <button id="btn_reset" class="btn4_letter2" style="left:769px; top:5px; width:56px; height:22px; ">
  630. <caption>취소</caption>
  631. <script type="javascript" ev:event="DOMActivate">
  632. <![CDATA[
  633. window.close();
  634. ]]>
  635. </script>
  636. </button>
  637. </group>
  638. <script type="javascript" ev:event="onkeypress">
  639. <![CDATA[
  640. // fKeyEvent();
  641. ]]>
  642. </script>
  643. </xhtml:body>
  644. </xhtml:html>