123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[function moveItemUp(grdObj:Grid, collapsed)
- {
- var selRow = grdObj.currentrow;
- if(selRow <= 0)
- return;
-
- var degnitemno = grdObj.binddataset.getColumn(selRow,"degnitemno");
- var supdegnitemno = model.getValue(grdObj.attribute("nodeset") + "[" + selRow + "]/supdegnitemno");
- var degnitemlevlno = model.getValue(grdObj.attribute("nodeset") + "[" + selRow + "]/degnitemlevlno");
- var nextRow = -1;
- var nextItemNo = model.getValue(grdObj.attribute("nodeset") + "[degnitemlevlno <= " + degnitemlevlno + " and position() > " + selRow + "]/degnitemno");
- if(nextItemNo == '')
- nextRow = grdObj.rows;
- else
- nextRow = grdObj.findRow(nextItemNo, selRow + 1, grdObj.colRef("degnitemno"));
- //alert("nextRow : " + nextRow);
- //1. 현재 선택된 row의 그룹을 찾는다.(degnitemlevlcd를 이용)
- var nodeList = instance1.selectNodes(grdObj.attribute("nodeset") + "[position() >= " + selRow + " and position() < " + nextRow + "]");
- //alert("length : " + nodeList.length);
- //2. 상위 아이템의 depth를 비교해서 seq를 구한다. (degnitemlevlno를 이용.. 자신과 같을때까지 찾는다.)
- for(var i = selRow - 1; i > 0; i --)
- {
- if(parseInt(degnitemlevlno) > parseInt(model.getValue(grdObj.attribute("nodeset") + "[" + i + "]/degnitemlevlno")))
- break;
- for(var j = 0; j < nodeList.length; j++)
- {
- var seq = grdObj.findRow(nodeList.item(j).selectSingleNode("degnitemno").nodeValue,
- grdObj.fixedRows, grdObj.colRef("degnitemno"));
- model.setValue(grdObj.attribute("nodeset") + "[" + seq + "]/degnrowno",
- parseInt(nodeList.item(j).selectSingleNode("degnrowno").nodeTypedValue) - 1);
- }
- model.setValue(grdObj.attribute("nodeset") + "[" + i + "]/degnrowno",
- parseInt(model.getValue(grdObj.attribute("nodeset") + "[" + i + "]/degnrowno")) + parseInt(nodeList.length));
- if(degnitemlevlno == model.getValue(grdObj.attribute("nodeset") + "[" + i + "]/degnitemlevlno"))
- break;
- }
- grdObj.refresh();
- setCollapsed(grdObj, false);
- grdObj.outlinebar=0;
-
- grdObj.colsort(grdObj.colRef("degnrowno")) = "asc";
- //grdObj.colsort(grdObj.colRef("degnxval")) = "asc";
-
- //grdObj.sort(grdObj.fixedRows, grdObj.colRef("degnxval"), grdObj.rows - 1, grdObj.colRef("degnxval")) = "asc";
- grdObj.sort(grdObj.fixedRows, grdObj.colRef("degnrowno"), grdObj.rows - 1, grdObj.colRef("degnrowno")) = "asc";
- grdObj.gridToInstance();
-
- setTree(grdObj, grdObj.colRef("degnitemlevlno"), grdObj.colRef("degnitemcd"), collapsed);
- //grdObj.outlinebar = 4;
- var seq = grdObj.findRow(degnitemno, grdObj.fixedRows, grdObj.colRef("degnitemno"));
- grdObj.row = seq;
- }
- function moveItemDown(grdObj, collapsed)
- {
- var selRow = grdObj.row;
- if(selRow == grdObj.rows - 1)
- return;
- var degnitemno = model.getValue(grdObj.attribute("nodeset") + "[" + selRow + "]/degnitemno");
- var degnitemlevlno = model.getValue(grdObj.attribute("nodeset") + "[" + selRow + "]/degnitemlevlno");
-
- for(var i = selRow + 1; i < grdObj.rows; i ++)
- {
- if(degnitemlevlno == model.getValue(grdObj.attribute("nodeset") + "[" + i + "]/degnitemlevlno"))
- {
- grdObj.row = i;
- moveItemUp(grdObj, collapsed);
- break;
- }
- }
-
- var seq = grdObj.findRow(degnitemno, grdObj.fixedRows, grdObj.colRef("degnitemno"));
- grdObj.row = seq;
- }
- /**
- * @---------------------------------------------------
- * @desc : 문자열 앞뒤에있는 공백 제거
- * @param : N/A
- * @return : 공백을 제거한 결과 문자열
- * @---------------------------------------------------
- */
-
- String.prototype.getTrim = function()
- {
- var startPoint = 0; // subString 하기 위한 시작 포인트
- var endPoint = this.length; // subString 하기 위한 끝 포인트
- //문자열앞에 공백문자가 들어 있는 Index 추출
- while( (startPoint < endPoint) && (this.charCodeAt(startPoint) == 32) )
- {
- startPoint++;
- }
- //문자열뒤에 공백문자가 들어 있는 Index 추출
- while( (startPoint < endPoint) && (this.charCodeAt(endPoint-1) == 32) )
- {
- endPoint--;
- }
- // 공백을 제거했으면 subString하여 결과문자열을 리턴하고 제거한 내용이 없으면 그대로 리턴
- return ( (startPoint > 0) || (endPoint < this.length) ) ? this.substring(startPoint, endPoint) : this;
- }
-
- function fUserAdmin()
- {
-
- // 의료정보팀, 의료정보분석Unit 에게만 오픈한다.
- var dutplcecd = sysf_getUserInfo("dutplcecd");
- var hardcdno = "1001";
-
- dsf_createDsRow("ds_cond_reqdata", [{col:"hardcdno", type:"string", size:256, val: hardcdno}]);
- dsf_createDs("ds_data_hardcdlist");
-
- var oParam = {};
- oParam.id = "TRMRF03104";
- oParam.service = "formmngtapp.SetIndxMngt";
- oParam.method = "reqGetEmrInfoTeamCd";
- oParam.inds = "req=ds_cond_reqdata";
- oParam.outds = "ds_data_hardcdlist=hardcdlist";
- oParam.async = false;
- oParam.callback = "cf_TRMRF03104";
- tranf_submit(oParam);
-
- var nFindRow = ds_data_hardcdlist.findRow("trgtcd", dutplcecd);
-
- if( nFindRow > -1 ){
- return 1;
- }
-
- return 0;
- }
- function cf_TRMRF03104(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- var gSendParentCallID = "";
- function fSendParentCallSetMaxSize()
- {
- try
- {
- parent.fSetTermViewMaxSize(gSendParentCallID);
- }
- catch(e)
- {
- sysf_catchTrace(e);
- }
- }
- ]]></Script>
|