123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KNUH2.0
- * Job Name : EMR
- * Creator :
- * Make Date : 2015-08-31
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2015-08-31 TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- var arErrorCode = new HashArray();
- var gridProperty = ["displaytype", "edittype", "tooltiptext", "tooltiptype", "mask", "suppress", "wordwrap", "expr", "text", "combocodecol", "combodatacol", "combodataset",
- "combodisplay", "calendardisplay", "calendardisplaynulltype", "editdisplay", "expandshow", "class", "align", "background", "background2", "backgroundimage",
- "color", "color2", "cursor", "font", "line", "padding", "selectbackground", "selectcolor", "selectfont"];
- /****************************************************************************************
- * Argument : grdid - 그리드명
- * Description : 조회데이타 칼럼 정리
- ****************************************************************************************/
- function fReqOrderInfoOfCol(grdid){
- dsf_createDsRow("ds_send_reqdata", [{col: "scrnid" , val: ds_main_cond.getColumn(0,"scrnid")}
- ,{col: "compscd" , val: ds_main_cond.getColumn(0,"compscd")}
- ]);
- call_TRADT20110();
-
- if(arErrorCode.pop("TRADT20110") > -1){
- var refdata = ds_init_userscrnenvinfo.getColumn(0,"compsrefcnts");
- var sizedata = ds_init_userscrnenvinfo.getColumn(0,"compssizecnts");
- if(!utlf_isNull(refdata) || !utlf_isNull(sizedata)){
- fSetOrderInfoOfCol(grdid + "_resize", refdata, sizedata);
- }
- }
- }
- function call_TRADT20110() {
- var oParam = {};
- oParam.id = "TRADT20110";
- oParam.service = "pharmacyprescriptionapp.MpsCheck";
- oParam.method = "reqGetUserScrnEnvEstb";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_init_userscrnenvinfo=gridseq";
- oParam.async = false;
- oParam.callback = "cf_TRADT20110";
- tranf_submit(oParam);
- }
- function cf_TRADT20110(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /****************************************************************************************
- * Argument : grdID - 그디르ID
- * : refdata - col순서 정보
- * : sizedata - col사이즈 정보
- * Description : 컬럼 순서 정보 설정
- ****************************************************************************************/
- function fSetOrderInfoOfCol(grdID, refdata, sizedata) {
- // var grdObj = eval(grdID);
- // var refArray = refdata.split("^");
- // var sizeArray = sizedata.split("^");
- // // var frozencolIndex = grdObj.getBindCellIndex("body", frozencol);
- //
- // grdObj.enableevent = false;
- // grdObj.enableredraw = false;
- //
- // try {
- // for(var i = 0; i < refArray.length; i++) {
- // var nCol = i;
- // var colText = refArray[i];
- // var col = grdObj.getBindCellIndex("body", colText);
- //
- // if(col == -1) continue;
- //
- // if(i != col) {
- // var headText = grdObj.getCellProperty("head", col, "text");
- // var bodyText = grdObj.getCellProperty("body", col, "text");
- // grdObj.deleteContentsCol(col);
- //
- // nCol = grdObj.insertContentsCol(i);
- //
- // grdObj.setCellProperty("head", nCol, "text", headText);
- // grdObj.setCellProperty("body", nCol, "text", bodyText);
- // }
- //
- // grdObj.setFormatColProperty(nCol, "size", sizeArray[i]);
- // }
- // } finally {
- // grdObj.enableevent = true;
- // grdObj.enableredraw = true;
- // }
-
- var grdObj = eval(grdID);
- var refArray = refdata.split("^");
- var sizeArray = sizedata.split("^");
- grdObj.splitContentsCell("head", 0, 0, 0, grdObj.getCellCount("Head"), true);
- grdObj.splitContentsCell("body", 0, 0, 0, grdObj.getCellCount("Body"), true);
-
- var nFixedCol = -1;
- var nLeftCol = -1;
-
- for( var i=0 ; i<grdObj.getCellCount("Body") ; i++ ){
- if( grdObj.getCellProperty("Body", i, "celltype") == "head" ){
- nFixedCol++;
- }
-
- if( grdObj.getFormatColProperty(i, "band") == "left" ){
- nLeftCol++;
- }
- }
-
- for( var i=nLeftCol ; i>=0 ; i-- ){
- grdObj.setFormatColProperty(i, "band", "body");
- }
-
- grdObj.enableredraw = false;
-
- var nMaxColCnt = -1;
-
- if( refArray.length > grdObj.getCellCount("Body") ){
- nMaxColCnt = grdObj.getCellCount("Body");
- }else{
- nMaxColCnt = refArray.length;
- }
-
- for( var i=(nFixedCol+1) ; i<nMaxColCnt ; i++ ){
- var colcnt = grdObj.getBindCellIndex("body", refArray[i]);
- var nCol = i;
-
- if( colcnt < 0 ){
- colcnt = 0;
- }
-
- // 이동 컬럼과 대상컬럼의 인덱스가 같지 않은 경우만 이동.
- if( colcnt != i && colcnt > nFixedCol && i > nFixedCol && colcnt != -1 ){
- var headText = utlf_transNullToEmpty(grdObj.getCellProperty("Head", colcnt, "text"));
- var bodyText = new Array();
-
- for( var j=0 ; j<gridProperty.length ; j++ ){
- bodyText[j] = grdObj.getCellProperty("Body", colcnt, gridProperty[j]);
- }
-
- grdObj.deleteContentsCol(colcnt);
-
- nCol = grdObj.insertContentsCol(i);
-
- grdObj.setCellProperty("Head", nCol, "text", headText);
-
- for( var j=0 ; j<gridProperty.length ; j++ ){
- if( !utlf_isNull(bodyText[j]) ){
- grdObj.setCellProperty("Body", nCol, gridProperty[j], bodyText[j]);
- }
- }
- }
-
- grdObj.setFormatColProperty(nCol, "size", sizeArray[i]);
- }
-
- grdObj.enableredraw = true;
-
- for( var i=0 ; i<=nLeftCol ; i++ ){
- grdObj.setFormatColProperty(i, "band", "left");
- }
-
- for( var i=(grdObj.getCellCount("Head")-2) ; i>=(nFixedCol+1) ; i-- ){
- if( !utlf_isNull(grdObj.getCellProperty("Head", i, "text")) &&
- grdObj.getCellProperty("Head", i, "text") == grdObj.getCellProperty("Head", i+1, "text") ){
-
- grdObj.mergeContentsCell("head", 0, i, 0, i+1, i, false);
- }
- }
- for( var i=(grdObj.getCellCount("Body")-2) ; i>=(nFixedCol+1) ; i-- ){
- if( grdObj.getCellProperty("Body", i, "text") == grdObj.getCellProperty("Body", i+1, "text") ){
- grdObj.mergeContentsCell("body", 0, i, 0, i+1, i, false);
- }
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 그리드 설정 저장
- ****************************************************************************************/
- function fSaveOrderInfoCol(){
- var grdid = "switch1."+ds_main_cond.getColumn(0,"caseid")+"."+ds_main_cond.getColumn(0,"grdid");
- var scrnid = ds_main_cond.getColumn(0,"scrnid");
- var compscd = ds_main_cond.getColumn(0,"compscd");
-
- fGetOrderInfoOfCol(grdid + "_resize");
-
- var refdata = ds_listval.getColumn(0,"refdata");
- var sizedata = ds_listval.getColumn(0,"sizedata");
-
- dsf_createDsRow("ds_send_savedata", [{col: "compscnts" , val: ""}
- ,{col: "compsrefcnts" , val: refdata}
- ,{col: "compssizecnts" , val: sizedata}
- ,{col: "scrnid" , val: scrnid}
- ,{col: "compscd" , val: compscd}
- ]);
- var oParam = {};
- oParam.id = "TXADT20110";
- oParam.service = "pharmacyprescriptionapp.MpsCheck";
- oParam.method = "reqInsUserScrnEnvEstb";
- oParam.inds = "req=ds_send_savedata";
- oParam.outds = "";
- oParam.async = false;
- //oParam.callback = "cf_TXADT20110";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 그리드 설정 초기화
- ****************************************************************************************/
- function fInitOrderOfCol(){
- var grdid = "switch1."+ds_main_cond.getColumn(0,"caseid")+"."+ds_main_cond.getColumn(0,"grdid");
-
- fGetOrderInfoOfCol(grdid); //현재 default로 설정된 grid의 column과 size를 구한다.
-
- var refdata = ds_listval.getColumn(0,"refdata");
- var sizedata = ds_listval.getColumn(0,"sizedata");
-
- fSetOrderInfoOfCol(grdid +"_resize", refdata, sizedata); //default로 설정된 grid의 column과 size를 다시 설정한다.
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 그리드 컬럼삭제 -- 사용안함 삭제시 그리드 사이즈조절로 숨김
- ****************************************************************************************/
- // function fDelColOfGrd(){
- // var grdid = "switch1."+ds_main_cond.getColumn(0,"caseid")+"."+ds_main_cond.getColumn(0,"grdid");
- // var grdObj = eval(grdid + "_resize");
- // var selectedCells = grdObj.selectedCells;
- //
- // for(var i = 0; i < selectedCells.length; i++){
- // var curcol = selectedCells.item(i).col;
- // grdObj.colWidth(curcol) = 0;
- // grdObj.colHidden(curcol) = true;
- // }
- // }
- /****************************************************************************************
- * Argument : grdID - 그리드 ID
- * Description : 디폴트 그리드 설정값 가져오기
- ****************************************************************************************/
- function fGetOrderInfoOfCol(grdID){
- var grdObj = eval(grdID);
- var refdata = ""; // ref
- var sizedata = ""; // size
- var sFrozenCol = ""; // frozenCols
- var refval = "";
- var sizeval = "";
- var oDataSet = eval(grdObj.binddataset);
- var totcol = grdObj.getCellCount("Head");
- for(var i = 0; i < totcol; i++){
- refval = ((i == 0) && (grdObj.getCellProperty("body", i, "celltype") == "head")) ? "" : lf_getBindCellName(grdObj, i); // 순번 헤더는 ""으로 처리
- refdata += refval + "^";
-
- sizeval = grdObj.getRealColSize(i);
- sizedata += sizeval + "^";
-
- // if(refval != "" && oDataSet.getColumn(0, refval) == "☜") {
- // sFrozenCol = refval;
- // }
- }
- refdata = refdata.substring(0 , refdata.length-1);
- sizedata = sizedata.substring(0, sizedata.length-1);
- ds_listval.clearData();
- ds_listval.addRow();
- ds_listval.setColumn(0, "refdata", refdata);
- ds_listval.setColumn(0, "sizedata", sizedata);
- // ds_listval.setColumn(0, "frozencol", sFrozenCol);
- }
- /****************************************************************************************
- * Argument : grdID - 그디르ID
- * : refdata - col순서 정보
- * : sizedata - col사이즈 정보
- * Description : 컬럼정보 불러오기
- ****************************************************************************************/
- function reqOrderInfoOfCol(scrnid, grdid, compscd) {
- dsf_createDsRow("ds_send_reqdata", [{col: "scrnid" , val: scrnid}
- ,{col: "compscd" , val: compscd}
- ]);
- call_TRADT20110();
-
- if(arErrorCode.pop("TRADT20110") > -1){
- var refdata = ds_init_userscrnenvinfo.getColumn(0,"compsrefcnts");
- var sizedata = ds_init_userscrnenvinfo.getColumn(0,"compssizecnts");
- if(!utlf_isNull(refdata) || !utlf_isNull(sizedata)) {
- // trace("grdid : " + grdid + " || refdata : " + refdata + " || sizedata : "+ sizedata);
- fSetOrderInfoOfCol(grdid, refdata, sizedata);
- }
- }
- }
- /****************************************************************************************
- * Argument : grdID - 그디르ID
- * : refdata - col순서 정보
- * : sizedata - col사이즈 정보
- * Description : 컬럼정보 초기화 - 특수조제실처방조회(SMADT20100) / 컬럼설정(SMADT20110) 에선 사용안함
- ****************************************************************************************/
- function setOrderInfoOfCol(grdID, refdata, sizedata){
- var grdObj = document.controls.item(grdID);
- var refArray = refdata.split("^");
- var sizeArray = sizedata.split("^");
- fGetOrderInfoOfCol(grdID);
- var gridData = ds_listval.getColumn(0,"refdata")
- var gridDataArray = gridData.split("^");
-
- //-------(20101229) 경북대
- //임시로 막음
- //if (gridDataArray.length == refArray.length ) {
- grdObj.mergeCellsFixedRows = "never"
- for(var i = 0; i < refArray.length; i++){
- var colcnt = grdObj.colref("" + refArray[i] + "");
- if (colcnt <0 ) colcnt = 0;
- // 이동 컬럼과 대상컬럼의 인덱스가 같지 않은 경우만 이동.
- if (colcnt != i) {
- grdObj.colMove(i, colcnt, "before", false);
- }
- var size = sizeArray[i];
- var sizetemp = 0;
- if(size == 0){ // size of column 0 -> hidden
- grdObj.colHidden(i) = true;
- sizetemp = "1";
- }else{
- grdObj.colHidden(i) = false;
- sizetemp = "2";
- }
- grdObj.colWidth(i) = parseInt(size);
- }
- grdObj.mergeCellsFixedRows = "bycolrec"
- //} else {
- // messageBox("컬럼이 추가(삭제) 되었습니다\n\n컬럼설정 화면을 열어 \n\n초기화후 다시 설정하여 저장해주십시오","I");
- //}
- //-------(20101229) 경북대
- model.refresh();
- }
- /*************************************************************************************
- * Argument : oTrgtGrid - 그리드ID
- * : nColumnIndx - Col Index
- * Description : 그리드 바인딩 Cell Name
- *************************************************************************************/
- function lf_getBindCellName(oTrgtGrid, nColumnIndx){
- var sRtnText = "";
- var sTrgtText = oTrgtGrid.getCellProperty("body", nColumnIndx, "text");
- if(!utlf_isNull( sTrgtText)){
- sRtnText = sTrgtText.replace("bind:", "");
- }
-
- return sRtnText;
- }
- ]]></Script>
|