123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/**
- */
- /***************************************************************************
- 전역 변수
- ***************************************************************************/
- /***************************************************************************
- function
- ***************************************************************************/
- /**
- * @ver : 0.1
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 동적 Dataset 삭제
- * @param1 : objDs : dataset name
- * @return :
- * @---------------------------------------------------
- */
-
- //objDs : dataset name
- function lf_deleteDs(objDs){
- var objDs = this.removeChild(objDs);
- delete objDs;
- objDs = null;
- }
- /**
- * @ver : 0.1
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Dastaset 동적 생성
- * @param1 : sName : dataset name
- * @return : dataset
- * @---------------------------------------------------
- */
-
- function lf_createDs(sName){
- if(this.objects[sName] != null){
- this.objects[sName].clear();
- }else{
- var objDs = new Dataset(sName);
-
- this.addChild(sName, objDs);
- objDs.name = sName;
-
- return objDs
- }
- }
- /**
- * @ver : 0.1
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 프린트 설정 여부 확인 (이벤트 - onload 적용)
- ( 작성 예: lf_chkPrint("SPADB63000"); )
- * @param1 : scnid (화면 아이디)
- * @return :
- * @---------------------------------------------------
- */
- function lf_chkPrint(scnid) {
- var sInDsName = dsf_createDsRow("ds_temp_scrnid"
- , [{col: "scrnid", val: scnid}]); //화면ID
- var sOutDsName = dsf_createDsRow("ds_temp_prtinfo", []); //기존 프린터 설정값
-
- tranf_submit({ //기존 프린터 설정 조회
- id: "TRADT00713"
- , service: "diagtestapplib.LisCommon"
- , method: "reqGetSetUpInfo"
- , inds: "scrnid="+sInDsName
- , outds: sOutDsName+"=getSetUpInfo"
- });
-
- var prntsetupinfo = ds_temp_prtinfo.getColumn(0,"prntsetupinfo"); //프린터설정 XML형식
- var nullChk = 0;
- if(!utlf_isNull(prntsetupinfo)){
- var DomParsers = new DomParser;
- var xmlDoc = DomParsers.parseFromString(prntsetupinfo);
- var nodeSetupval = xmlDoc.getElementsByTagName("setupval"); //기본프린터
- var nodePrtnm = xmlDoc.getElementsByTagName("prtnm"); //프린터명
-
- if(!utlf_isNull(nodeSetupval) || !utlf_isNull(nodePrtnm)){
- nullChk++;
- }
- }
-
- if(nullChk == 0){ //기본,설정 프린터 설정 여부 체크
- if(sysf_messageBox("설정된 프린터가 없습니다. 프린터설정을","Q004") != 6){
- return;
- } else{
- lf_setPrint();
- }
- }
-
- lf_setPrintXml(prntsetupinfo); //설정값 데이터셋으로 변환
- }
- /**
- * @ver : 0.1
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 프린트 설정 화면 팝업 (이벤트 - onclick 적용)
- ds_temp_print 데이터셋으로 출력물 설정 가능
- ( 적용 예: var option = "open=1;save=1;directprint="+ds_temp_print.getColumn(ds_temp_print.findRow("barnm","RPADT10508"), "printnm")+";printdialog=0;print=1;zoom=0;callno=0321234567;faxno=0323298384"; )
- * @param1 :
- * @return :
- * @---------------------------------------------------
- */
- function lf_setPrint()
- {
- var objSetupinfo = new Object();
- var prntsetupinfo = ds_temp_prtinfo.getColumn(0, "prntsetupinfo");
- objSetupinfo.plgv_sSetupInfo = prntsetupinfo;
- objSetupinfo.plgv_sCallBackFunction = "lf_getSetupInfo";
- frmf_open("SPADB67000", "SPADB67000", objSetupinfo, "", "", "", "", "", "", "", "", "", "M"); //프린터 설정 팝업
- }
- /**
- * @ver : 0.1
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 프린트 설정 값 XML형식으로 세팅
- * @param1 :
- * @return :
- * @---------------------------------------------------
- */
- function lf_getSetupInfo(sXML)
- {
- var nRow = ds_temp_prtinfo.rowposition;
-
- if(ds_temp_prtinfo.getRowCount()<1){
- nRow = ds_temp_prtinfo.addRow();
- }
- ds_temp_prtinfo.setColumn(nRow, "prntsetupinfo", sXML);
-
-
- var prntsetupinfo = ds_temp_prtinfo.getColumn(nRow, "prntsetupinfo");
- lf_setPrintXml(prntsetupinfo); //설정값 데이터셋으로 변환
- }
- /**
- * @ver : 0.1
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 프린트 설정 XML형식의 데이터 데이터셋으로 변환
- * @param1 :
- * @return :
- * @---------------------------------------------------
- */
- function lf_setPrintXml(prntsetupinfo) {
- if(!utlf_isNull(prntsetupinfo)){
- var DomParsers = new DomParser;
- var xmlDoc = DomParsers.parseFromString(prntsetupinfo);
-
- var nodeSetupval = xmlDoc.getElementsByTagName("setupval"); //기본프린터
- var nodeBarnm = xmlDoc.getElementsByTagName("barnm"); //바코드명
- var nodePrtnm = xmlDoc.getElementsByTagName("prtnm"); //프린터명
-
- var setupval = "";
- if(!utlf_isNull(nodeSetupval)) {
- setupval = nodeSetupval[0].childNodes[0].data;
- }
- dsf_createDsRow("ds_temp_print"
- , [{col: "setupval", val: setupval} //기본프린터 셋팅
- , {col: "barnm", val: ""}
- , {col: "prtnm", val: ""}]);
-
- for(i=0;i<nodeBarnm.length;i++) {
- var barnm = nodeBarnm[i].childNodes[0];
- var prtnm = nodePrtnm[i].childNodes[0];
-
- ds_temp_print.addRow();
-
- // 수정필요.
- if ( nodeBarnm.get_item(i).source == '<barnm/>' ) {
- ds_temp_print.setColumn(i, "barnm", ""); //바코드명 셋팅
- } else {
- ds_temp_print.setColumn(i, "barnm",barnm.data); //바코드명 셋팅
- }
- if ( nodePrtnm.get_item(i).source == '<prtnm/>' ) {
- ds_temp_print.setColumn(i, "prtnm", ""); //프린터명 셋팅
- } else {
- ds_temp_print.setColumn(i, "prtnm",prtnm.data); //프린터명 셋팅
- }
-
- //ds_temp_print.setColumn(i, "barnm",barnm.data); //바코드명 셋팅
- //ds_temp_print.setColumn(i, "prtnm",prtnm.data); //프린터명 셋팅
- }
- }
- }
- /**
- * @ver : 0.1
- * @by : 김영준
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 공통 코드 동적 생성 및 Combo 바인드 처리
- * @param1 : sName : dataset name
- * : objCmNm : bind할 Object
- * : outDs : out Dataset
- * : sCode : bind codecolumn
- * : sValue : bind datacolumn
- * : nCol : Grid bind Col
- * : flag : 바인딩 여부
- * @return : dataset
- * @type : function
- * @access : public
- * @desc :
- * @param1 :
- * @return :
- * @---------------------------------------------------
- */
-
- function lf_dynamicDs(sDsNm, objCmId, outDs, sCode, sValue, nCol, flag){
- var sDsName = "ds_"+sDsNm;
-
- if(this.objects[sDsName] != null){
- this.objects[sDsName].clear();
- }else{
- var objDs = lf_createDs(sDsName);
- }
-
- for(var i=0; i < outDs.colcount; i++){
- var sColId = outDs.getColID(i);
- var o_cinfo = outDs.getColumnInfo(i);
- objDs.addColumn(sColId,o_cinfo.type,o_cinfo.size);
- }
- //trace(objCmId.name);
- outDs.filter("cdtype=='"+sDsNm+"'");
- objDs.copyData(outDs,true);
-
- if(flag != "N"){
- if( (objCmId.toString()== "[object Grid]")){
- objCmId.setCellProperty("body", nCol, "combodataset",sDsName );
- objCmId.setCellProperty("body", nCol, "combocodecol",sCode);
- objCmId.setCellProperty("body", nCol, "combodatacol",sValue );
- }else{
- objCmId.innerdataset=objDs
- objCmId.codecolumn=sCode;
- objCmId.datacolumn=sValue;
- }
- }
- }
- /****************************************************************************************
- * Argument : getObjChk : 값을 가져올 cp_CheckBox
- setObjEdt : 값을 보여줄 Edit
- sColNm : DataSet에 setcolumn 해 줄 컬럼명
- objDs : secolumn해 줄 DataSet
- sSplit : sSplit에 대한 추가 조건 구현 필요!!
- * Description : kyj 아래 함수 추가함.
- ex> lf_getCheckBoxValue(grp_sea00.cp_checkboxList00,"","chosflag",ds_cond_req,",");
- ****************************************************************************************/
- function lf_getCheckBoxValue(getObjChk,setObjEdt,sColNm,objDs,sSplit){
- var objDept = new Array();
- var objDeptNm = new Array();
-
- var sDeptCd;
- var sDeptNm;
-
- objDept = getObjChk.getData(); // code
- objDeptNm = getObjChk.getLableData(); //data
-
- for(var i = 0 ; i < objDept.length ; i ++){
-
- if(utlf_isNull(objDept[i])) objDept[i] = "";
-
- if(sSplit == "," || utlf_isNull(sSplit)){
- if(i == 0 ){
- if(objDept.length == 1){
- sDeptCd = "'"+objDept[i]+"'";
- }else{
- sDeptCd = "'"+objDept[i]+"',";
- }
- }else{
- if(i == objDept.length - 1){
- sDeptCd += "'"+objDept[i]+"'";
- }else{
- sDeptCd += "'"+objDept[i]+"',";
- }
- }
- }else if(sSplit == "|" ){
- if(i == 0 ){
- sDeptCd = objDept[i];
- }else{
- sDeptCd += "|"+objDept[i];
- }
- }
-
-
-
-
-
- }
-
- setObjEdt.value = objDeptNm;
-
- objDs.setColumn(0,sColNm,sDeptCd);
- }
- /****************************************************************************************
- * Argument : objChk : cp_checkbox 명
- objDs : cp_checkbox에 bind된 dataset
- arg : eventID
- sAll : 전체 Check eventID
- sValY : 전체 check 일때 value
- sValN : 전체 check 해제 일때 value
- * Description : cp_checkbox 전체 체크, 해제
- ex> lf_chkEvent(group3.cp_reqPharm,ds_reqPharm,obj,"chk_0","A","");
- ****************************************************************************************/
- function lf_chkEvent(objChk,objDs,arg,sAll,sValY,sValN){
- var rtn = objChk.getData();
- var nRow = objDs.rowcount;
- switch (arg){
- case sAll : if(eval(arg).value == sValY ) objChk.setCheckAll(true);
- if(nRow - 1 == rtn.length && eval(sAll).value == sValN ) {
- objChk.setCheckAll(false);
- }
- break;
- default :
- if(eval(sAll).value == sValY ){
- if(eval(arg).value == "") eval(sAll).value = sValN;
- }else{
- if(nRow - 1 == rtn.length){
- eval(sAll).value = sValY;
- }
- }
- break;
- }
- }
- function lf_onColResize(obj:Grid, e:GridSizeChangedEventInfo)
- {
- //trace(e.oldvalue)
- if(e.oldvalue == 0)
- {
- obj.setRealColSize(e.subindex, 0);
- return false;
- }
- if (e.newvalue == 0){
- obj.setRealColSize(e.subindex, 1);
- }
- }
- //Dataset에값을 가져오는 함수
- function lf_getDsValue(pDsObj, pRow, pColumnName)
- {
- return (utlf_isNull(pDsObj.getColumnInfo(pColumnName)) || utlf_isNull(pDsObj.getColumn(pRow, pColumnName))) ? "" : pDsObj.getColumn(pRow, pColumnName);
- }
- //tooltip 세팅
- function lf_tooltip(gridobj, row, cell)
- {
- if(row < 0 || cell < 0) return;
- var sObjExtCom = new ExtCommon();
- var sCellTextLen = sObjExtCom.getTextExtent(gridobj, gridobj.getCellText(row, cell));
-
- var sMsg = String(gridobj.getCellText(row, cell));
- var arrMsg = sMsg.split("\n");
- var nRowCnt = arrMsg.length;
-
- if ( sCellTextLen[1] > gridobj.getRealColSize(cell) || nRowCnt > 1 ) {
- gridobj.tooltiptext = utlf_trim(gridobj.getCellText(row, cell)); //cell의 width 보다 클 경우만 tooltiptext 셋팅.
- } else {
- gridobj.tooltiptext = ""; //tooltiptext 초기화
- }
- }
- /****************************************************************************************
- * Function : lf_chkAllSet
- * Description : check List 전체체크 / 전체해제
- * Argument : 01.objCompo - 컴포넌트Id
- * : 02.objDs - 데이터셋
- * : 03.flg - 체크여부
- * : 04.colid - dataseet 컬럼 id
- * 예)lf_chkAllSet(group3.group5.cp_checkBoxListStat, ds_condGbn, true);
- * return type :
- * Creator : 윤영호
- ****************************************************************************************/
- function lf_chkAllSet(objCompo, objDs, flg, colid){
- if (!isChkEvent){
- return;
- }
-
- isChkEvent = false;
- var aData = new Array()
- var aDelData = new Array()
- if (flg){
- for (var i=0; i<objDs.rowcount; i++){
- aData[i] = objDs.getColumn(i, colid);
- }
- } else {
- for (var i=0; i<objDs.rowcount; i++){
- aData = "";
- aDelData[i] = objDs.getColumn(i, colid);
- }
- }
- objCompo.setData(aData, aDelData);
- isChkEvent = true;
- }
- function lf_AuthEnablChk(flag){
- if(flag == 1){
- return true;
- }else{
- return false;
- }
- }
- /****************************************************************************************
- * Function : lf_AuthChk
- * Description : 권한에 따른 visible, enable 설정
- * Argument : 01.objDs - 데이터셋
- * : objDs 구성
- 첫 번째 컬럼 : commpent ID ex> group4.btn_new
- 두 번째 컬럼 : X : 쓰기(ex:저장,삭제번튼)
- P : 프린트 (ex:엑셀저장, 출력물)
- * 예)lf_chkAllSet(group3.group5.cp_checkBoxListStat, ds_condGbn, true);
- * return type :
- * Creator : 김영준
- ****************************************************************************************/
- function lf_AuthChk(objDs){
- // 권한 체크
- var sAuth = frmf_getScreenAuth();
- var sR = sAuth.substr(0,1); // R : 읽기
- var sX = sAuth.substr(1,1); // X : 쓰기
- var sP = sAuth.substr(2,1); // P : 프린트(엑셀 포함)
- var sBtnNm = "";
- trace("권한 ::::: "+sAuth);
- trace("읽기 ::::: "+sR);
- trace("쓰기 ::::: "+sX);
- trace("프린트 ::::: "+sP);
- if(lf_AuthEnablChk(sAuth.substr(0,1))){
- for(i = 0 ; i < objDs.rowcount ; i ++){
- var sBtnNm = objDs.getColumn(i,0);
- var sAuth = objDs.getColumn(i,1);
-
- //eval(sBtnNm).visible = false; // 초기는 enable 처리
- eval(sBtnNm).enable = false; // 초기는 enable 처리
-
- if(sAuth == "X" && lf_AuthEnablChk(sX)){ // 쓰기 권한
- // eval(sBtnNm).visible = lf_AuthEnablChk(sX);
- eval(sBtnNm).enable = lf_AuthEnablChk(sX);
- }
-
- if(sAuth == "P" && lf_AuthEnablChk(sP)){ // 프린트(엑셀 포함) 권한
- // eval(sBtnNm).visible = lf_AuthEnablChk(sP);
- eval(sBtnNm).enable = lf_AuthEnablChk(sP);
- }
- }
- }else{
- // 화면 R권한 없으면 화면 Close
- sysf_messageBox("사용 권한이 없습니다.","E000");
- this.close();
- }
-
- }]]></Script>
|