123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
- <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">
- <xhtml:head>
- <xhtml:title>수치결과검사항목</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <testiteminfo>
- <testitemlist>
- <levl/>
- <tclscd/>
- <tclsscrnnm/>
- <check/>
- <rsltunit/>
- </testitemlist>
- <useyn/>
- </testiteminfo>
- </main>
- <send>
- <reqdata/>
- </send>
- <hidden>
- </hidden>
- <init/>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- //초기화
- model.removeNodeset("/root/main/testiteminfo/testitemlist");
- model.refresh();
- //수치결과검사항목을 모두 조회
- submit("TRMMB01301");
- //레벨을 트리형태로 나타내고 검사코드를 레벨단위로 보여준다~
- setTree(grd_testitem , grd_testitem.colref("levl"), grd_testitem.colref("tclscd"), false);
- //부모창에서 검사항목 개수를 받아옴
- var count = opener.javascript.getParameter("count");
- //검사항목 개수대로 코드를 받아옴
- for(var i=1 ; i <= count ; i++){
- model.makeNode("/root/hidden/cd[" + i + "]");
- model.setValue("/root/hidden/cd[" + i + "]",opener.javascript.getParameter("cd", i));
- }
-
- //레벨1은 선택되지 않게 막는다.
- var gridrows = grd_testitem.rows;
- for(var i = 1 ; i <= gridrows ; i++){
- var level = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/levl");
- if(level == '1'){
- //체크박스의 체크가 불가능하게 비활성화
- grd_testitem.isreadonly(i, 0, i, 1) = true;
- }
- //부모창에서 받아온 코드가 이 그리드에 존재하는지 확인후 있는 것은 체크박스에 체크
- var tclscd = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/tclscd");
- for(var j = 1 ; j<= count ; j++){
- var cd = model.getValue("/root/hidden/cd[" + j + "]");
- if(cd == tclscd){
- model.setValue("/root/main/testiteminfo/testitemlist[" + i + "]/check", 'true');
- }
- }
- }
- ]]>
- </script>
- <submission id="TRMMB01301" mediatype="application/x-www-form-urlencoded" method="post" resultref="/root/main/testiteminfo"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- </xhtml:head>
- <xhtml:body pagewidth="550" pageheight="450" guideline="1,585;1,526;" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
- <caption id="caption6" class="tit_2" style="left:0px; top:0px; width:175px; height:13px; text-align:left; ">수치결과검사항목</caption>
- <line id="line3" class="line_1" style="x1:0px; y1:20px; x2:526px; y2:20px; "/>
- <datagrid id="grd_testitem" nodeset="/root/main/testiteminfo/testitemlist" class="datagrid_logo" autoresize="true" caption="선택^레벨^검사코드^검사명^단위" colsep="^" colwidth="50, 0, 100, 250, 100" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:25px; width:527px; height:375px; ">
- <col ref="check" type="checkbox"/>
- <col ref="levl"/>
- <col ref="tclscd"/>
- <col ref="tclsscrnnm"/>
- <col ref="rsltunit"/>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- //2단계를 선택시 3단계 모두 선택되게하고 2단계선택 해제시 선택 해제되게 한다~
- var gridrows = grd_testitem.rows;
- var gridrow = grd_testitem.row;
- var level = model.getValue("/root/main/testiteminfo/testitemlist[" + gridrow + "]/levl");
- var check = model.getValue("/root/main/testiteminfo/testitemlist[" + gridrow + "]/check");
- if(check == 'true'){
- if(level == '2'){
- for(var i = gridrow+1 ; i <= gridrows ; i++){
- var level = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/levl");
- if(level == '2'){
- break;
- }else if(level == '1'){
- break;
- }else{
- model.setValue("/root/main/testiteminfo/testitemlist[" + i + "]/check",'true');
- }
- }
- }
- }else{
- if(level == '2'){
- for(var i = gridrow+1 ; i <= gridrows ; i++){
- var level = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/levl");
- if(level == '2'){
- break;
- }else if(level == '1'){
- break;
- }else{
- model.setValue("/root/main/testiteminfo/testitemlist[" + i + "]/check",'false');
- }
- }
- }
- }
- model.refresh();
- ]]>
- </script>
- </datagrid>
- <button id="button1" class="btn4_letter2" style="left:412px; top:405px; width:56px; height:22px; ">
- <caption>선택</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //그리드의 총개수
- var gridrows = grd_testitem.rows;
- //체크한 개수를 얻기위한 변수
- var count = 0;
- //코드,코드명을 저장할 배열
- var tclscd = new Array();
- var tclsnm = new Array();
- var tclsscrnnm = new Array();
- var tclsscrncd = new Array();
- //레벨을 저장할 배열
- var levl = new Array();
- //그리드의 모든 데이타를 확인
- for(var i = 1 ; i <= gridrows ; i++){
- //체크값을 받아옴
- var check = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/check");
- //체크가 선택된 것
- if(check == 'true'){
- //개수를 알기 위해 카운트를 1씩 증가
- count = count + 1;
- //레벨값을 배열에 저장
- levl[count] = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/levl");
- if(levl[count] == '2'){
- //레벨값이 2인경우인데 아래 3레벨이 존재하는 경우 2레벨 데이타를 가져가지 않는다
- for(var j = i+1 ; j <= gridrows ; j++){
- var level = model.getValue("/root/main/testiteminfo/testitemlist[" + j + "]/levl");
- //가지고 갈 데이타 개수를 한개 줄임
- if(level == '3'){
- count = count - 1;
- break;
- }else{
- //3레벨이 아닌경우는 2레벨의 데이타를 가지고 간다
- tclscd[count] = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/tclscd");
- tclsnm[count] = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/tclsscrnnm");
- tclsscrncd[count] = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/tclscd");
- tclsscrnnm[count] = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/tclsscrnnm");
- break;
- }
- }
- //레벨이 3인경우
- }else if(levl[count] == '3'){
- //상세검사코드,싱세검사명을 가져감
- tclsscrncd[count] = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/tclscd");
- tclsscrnnm[count] = model.getValue("/root/main/testiteminfo/testitemlist[" + i + "]/tclsscrnnm");
- for(var j = i-1 ; j >= 1 ; j--){
- var level = model.getValue("/root/main/testiteminfo/testitemlist[" + j + "]/levl");
- //레벨2를 검사코드,검사명으로 가저감
- if(level == '2'){
- tclscd[count] = model.getValue("/root/main/testiteminfo/testitemlist[" + j + "]/tclscd");
- tclsnm[count] = model.getValue("/root/main/testiteminfo/testitemlist[" + j + "]/tclsscrnnm");
- break;
- }
- }
- }
- }
- }
- //같은 검사명이 여러개가 가지 않도록 함
- // for(var i=1; i < count ; i++){
- // for(var j=i+1; j<=count ; j++){
- // if(tclsnm[i] == tclsnm[j]){
- // tclsnm[j] = '';
- // }
- // }
- //// }
- //받아온 배열을 부모창으로 보냄
- parent.window.model.makeValue("/root/hidden/testiteminfo/count",count);
- parent.window.model.makeValue("/root/hidden/testiteminfo/useyn","Y");
- for(var i = 1 ; i <= count ; i++){
- parent.window.model.makeValue("/root/hidden/testiteminfo/testitemlist[" + i + "]/testcd",tclscd[i]);
- parent.window.model.makeValue("/root/hidden/testiteminfo/testitemlist[" + i + "]/testitemcd",tclsscrncd[i]);
- parent.window.model.makeValue("/root/hidden/testiteminfo/testitemlist[" + i + "]/testnm",tclsnm[i]);
- parent.window.model.makeValue("/root/hidden/testiteminfo/testitemlist[" + i + "]/testitemnm",tclsscrnnm[i]);
- }
- window.close();
- ]]>
- </script>
- </button>
- <button id="button2" class="btn4_letter2" style="left:470px; top:405px; width:56px; height:22px; ">
- <caption>취소'</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //취소 버튼 눌렀다는 상태값을 부모창으로 보내고 창 닫음
- parent.window.model.makeValue("/root/hidden/testiteminfo/useyn","N");
- window.close();
- ]]>
- </script>
- </button>
- </xhtml:body>
- </xhtml:html>
|