123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483 |
- var gRef_MediFormView = "/root/main/prcplist";
- var IMGE_SZ = 500;
- var instance = document.models(0).instances(0);
- var gExtnFuncFlag = true;
- /**
- * @desc : 화면 초기화
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fReadyForm()
- {
- grd_prcp.autoresize = true;
- }
- /**
- * @desc : 조회내역 클리어
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fClear()
- {
- model.removeNodeset(gRef_MediFormView);
- }
- /**
- * @desc : 처방내역 조회
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fRefOrdCnts(comn_cont_reccnts)
- {
- var fromdd = comn_cont_reccnts.fromdd;
- var todd = comn_cont_reccnts.todd;
- model.makeValue("/root/send/prcp/pid", comn_cont_reccnts.pid);
- //model.makeValue("/root/send/prcp/pid", "1846");
- model.makeValue("/root/send/prcp/orddeptcd", comn_cont_reccnts.formrecdeptcd);
- model.makeValue("/root/send/prcp/fromdd", fromdd);
- model.makeValue("/root/send/prcp/todd", todd);
-
- submit("TRMMR01401");
-
- var nodelistPrcp = instance.selectNodes("/root/main/prcplist");
-
- if(nodelistPrcp.length >= 1){
- var prcpcls = "";
- var cmt = "";
- grd_prcp.attribute("ref") = "";
- for(var i = 1; i <= nodelistPrcp.length; i++)
- {
- prcpcls = model.getValue("/root/main/prcplist[" + i + "]/prcpcls").substring(0, 3);
-
- if(prcpcls == "처방일")
- {
- model.makeValue("/root/main/prcplist[" + i + "]/viewflag", "recinfo");
- }else{
- model.makeValue("/root/main/prcplist[" + i + "]/viewflag", "data");
- }
- }
- fDrawGrid();
- }
-
- }
- /**
- * @desc : 그리드 그리기 로직
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- var gfontSz = 11;
- function fDrawGrid()
- {
- grd_prcp.visible = false;
- grd_prcp.rebuild();
-
- var colref_viewflag = grd_prcp.colref("viewflag");
-
- var viewflag;
- var degnitemlevlno;
- //var ft_std = 11;
- var ft_std = 0;
- var ft_header = (ft_std + gfontSz + 1) + "pt";
- var ft_cnts = (ft_std + gfontSz) + "pt";
- var ft_tail = (ft_std + gfontSz - 1) + "pt";
- var padng = 15;
- for (var i = 1; i <= grd_prcp.rows; i++)
- {
- viewflag = grd_prcp.valueMatrix(i, colref_viewflag);
- if (viewflag == "recinfo")
- {
- //grd_prcp.rowheight(i) = grd_prcp.rowheight(i) + 3;
- grd_prcp.rowheight(i) = 30;
- grd_prcp.mergebyfree(i, 0, i, 3);
- grd_prcp.rowstyle(i, "data", "text-align") = "left";
- grd_prcp.rowstyle(i, "data", "background-color") = "#cce8ff";
- }
- }
- grd_prcp.refresh();
- grd_prcp.visible = true;
-
- }
- /**
- * @desc : 그리드 Row형식 셋팅
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function fSetRowStyle(rowidx, backColr, fontWei, fontSize, padLeft)
- {
- grd_prcp.rowstyle(rowidx, "data", "background-color") = backColr;
-
- grd_prcp.rowstyle(rowidx, "data", "font-weight") = fontWei;
- grd_prcp.rowStyle(rowidx, "data", "font-size") = fontSize;
- if (padLeft == "IMGE")
- {
- grd_prcp.rowStyle(rowidx, "data", "background-position") = "center";
- }
- else
- {
- grd_prcp.rowStyle(rowidx, "data", "padding-left") = padLeft;
- grd_prcp.rowStyle(rowidx, "data", "background-image") = "";
- }
- }
- /**
- * @desc : 메뉴 확인버튼 클릭시
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function fCnfm()
- {
- var nodelist = instance1.selectNodes("/root/hidden/formlist[chk='Y' and value!='-']/value");
- var arrSrcFormCds = null;
- //alert((nodelist.length +"/"+ getNodesetCount("/root/hidden/formlist")));
- if (nodelist.length != getNodesetCount("/root/hidden/formlist[value!='-']"))
- {
- arrSrcFormCds = new Array(nodelist.length);
- for (var i=0; i<nodelist.length; i++)
- {
- arrSrcFormCds[i] = nodelist.item(i).text;
- }
- }
- nodelist = instance1.selectNodes("/root/hidden/itemlist[chk='Y' and value!='-']/value");
- var arrItemBaseCds = null;
- //alert((nodelist.length +"/"+ getNodesetCount("/root/hidden/itemlist")));
- if (nodelist.length != getNodesetCount("/root/hidden/itemlist"))
- {
- arrItemBaseCds = new Array(nodelist.length);
- for (var i=0; i<nodelist.length; i++)
- {
- arrItemBaseCds[i] = nodelist.item(i).text;
- }
- }
-
- grup_menu.visible = false;
- return fFiltering(arrSrcFormCds, arrItemBaseCds);
- }
- /**
- * @desc : 메뉴 취소버튼 클릭시
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function fCncl()
- {
- grup_menu.visible = false;
- }
- var gSrcFormCds = "";
- var gItemBaseCds = "";
- /**
- * @desc : 기록내용 필터링
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function fFiltering(pArrSrcFormCds, pArrItemBaseCds)
- {
- var stmtForm = "";
- var stmtItem = "";
- if (pArrSrcFormCds != null)
- {
- for (var i = 0; i < pArrSrcFormCds.length; i++)
- {
- if (stmtForm != "")
- stmtForm += " or ";
- stmtForm += "srcformcd='" +pArrSrcFormCds[i]+ "'";
- }
- }
- if (pArrItemBaseCds != null)
- {
- for (var i = 0; i < pArrItemBaseCds.length; i++)
- {
- if (stmtItem != "")
- stmtItem += " or ";
- stmtItem += "fstlevlitembasecd='" +pArrItemBaseCds[i]+ "'";
- }
- }
- var stmt = "";
- if (stmtForm != "")
- {
- stmt = "(" + stmtForm + ")";
- }
- if (stmt != "" && stmtItem != "")
- {
- stmt += " and ";
- }
- if (stmtItem != "")
- {
- stmt += "(" + stmtItem + " or fstlevlitembasecd='-1')";
- }
- if (gFilterCond == stmt)
- {
- return false;
- }
- else
- {
- return fExeFilter(stmt);
- }
- }
- /**
- * @desc : 최근 폰트 사이즈로 보이기
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function fShowLstFtSz()
- {
- if (gExtnFuncFlag == false) return;
-
- if(event.button == 3)
- {
- if (! grup_menu.visible)
- {
- grup_menu.attribute("left") = event.clientX;
- grup_menu.attribute("top") = event.clientY;
- var widGrup = parseInt(grup_menu.attribute("width"));
- var widGrd = parseInt(grd_prcp.attribute("width"));
- if (widGrd < event.clientX + widGrup)
- {
- grup_menu.attribute("left") = widGrd - widGrup - 17;
- }
- var heiGrup = parseInt(grup_menu.attribute("height"));
- var heiGrd = parseInt(grd_prcp.attribute("height"));
- if (heiGrd < event.clientY + heiGrup)
- {
- grup_menu.attribute("top") = heiGrd - heiGrup;
- }
- }
- grup_menu.visible = !grup_menu.visible;
- event.propagate = "stop";
- }
- else
- {
- grup_menu.visible = false;
- }
- }
- /**
- * @desc : 폰트 사이즈 변경
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function fChgFontSz()
- {
- grup_menu.visible = false;
- if (grd_fntsz.row != 0)
- {
- if (gfontSz != parseInt(grd_fntsz.valueMatrix(grd_fntsz.row, grd_fntsz.colref("value"))))
- {
- gfontSz = parseInt(grd_fntsz.valueMatrix(grd_fntsz.row, grd_fntsz.colref("value")));
- if (fCnfm() == false)
- {
- fDrawGrid();
- }
- }
- }
- }
- /**
- * @desc : 기록 인스턴스 연결
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- */
- function fSetRecItemValue()
- {
- var viewflag = grd_prcp.valueMatrix(grd_prcp.row, grd_prcp.colref("viewflag"));
- var nodelist;
- var preFix = "[formrecseq = '" + grd_prcp.valueMatrix(grd_prcp.row, grd_prcp.colref("formrecseq")) + "'";
- var postFix = " and viewflag='data']";
- //var postFix = " and viewflag='data' and (rectermcd != '' or recitemcd != '' or reccnts != '')]";
- switch (viewflag)
- {
- case "data":
- nodelist = instance1.selectNodes(gRef_ViewMediFormView +
- preFix +
- postFix);
- var reciteminfo = new RECITEM_INFO();
- reciteminfo.degnitemkind = grd_prcp.valueMatrix(grd_prcp.row, grd_prcp.colref("degnitemkind"));
- reciteminfo.degnitemcd = "";
- reciteminfo.degnitemlevlcd = grd_prcp.valueMatrix(grd_prcp.row, grd_prcp.colref("degnitemlevlcd"));
- reciteminfo.rectermcd = grd_prcp.valueMatrix(grd_prcp.row, grd_prcp.colref("rectermcd"));
- reciteminfo.recitemcd = grd_prcp.valueMatrix(grd_prcp.row, grd_prcp.colref("recitemcd"));
- reciteminfo.reccnts = grd_prcp.valueMatrix(grd_prcp.row, grd_prcp.colref("reccnts"));
- parent.window.javascript.fSetRecItemValueBydegnitemlevlcd(reciteminfo);
- fRecurSelect(grd_prcp.valueMatrix(grd_prcp.row, grd_prcp.colref("formrecseq")),
- grd_prcp.valueMatrix(grd_prcp.row, grd_prcp.colref("fstlevlitemcd")),
- grd_prcp.valueMatrix(grd_prcp.row, grd_prcp.colref("degnitemno")));
- break;
- case "fstlevl":
- nodelist = instance1.selectNodes(gRef_ViewMediFormView +
- preFix +
- " and fstlevlitemcd = '" + grd_prcp.valueMatrix(grd_prcp.row, grd_prcp.colref("fstlevlitemcd")) +"'"+
- postFix);
- fSetRecItemValueByNodeList(nodelist);
- break;
- default:
- nodelist = instance1.selectNodes(gRef_ViewMediFormView +
- preFix +
- postFix);
- fSetRecItemValueByNodeList(nodelist);
- break;
- }
- }
- /**
- * @desc : 노드리스트별 기록 인스턴스 연결을 위한 재귀함수
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- */
- function fRecurSelect(formrecseq, fstlevlitemcd, degnitemno)
- {
- var nodelist = instance1.selectNodes(gRef_ViewMediFormView + "[viewflag='data' and formrecseq = '" +formrecseq+
- "' and fstlevlitemcd = '" +fstlevlitemcd+ "' and supdegnitemno = '" +degnitemno+ "']");
- for (var i=0; i<nodelist.length; i++)
- {
- fRecurSelect(formrecseq, fstlevlitemcd, nodelist.item(i).getXPathString("degnitemno"));
- }
- fSetRecItemValueByNodeList(nodelist);
- }
- /**
- * @desc : 노드리스트별 기록 인스턴스 연결
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- */
- function fSetRecItemValueByNodeList(nodelist)
- {
- var reciteminfo;
- for (var i=0; i<nodelist.length; i++)
- {
- if (nodelist.item(i).getXPathString("rectermcd") != "" ||
- nodelist.item(i).getXPathString("recitemcd") != "" ||
- nodelist.item(i).getXPathString("reccnts") != "" )
- {
- reciteminfo = new RECITEM_INFO();
- reciteminfo.degnitemkind = nodelist.item(i).getXPathString("degnitemkind");
- reciteminfo.degnitemcd = "";
- reciteminfo.degnitemlevlcd = nodelist.item(i).getXPathString("degnitemlevlcd");
- reciteminfo.rectermcd = nodelist.item(i).getXPathString("rectermcd");
- reciteminfo.recitemcd = nodelist.item(i).getXPathString("recitemcd");
- reciteminfo.reccnts = nodelist.item(i).getXPathString("reccnts");
- parent.window.javascript.fSetRecItemValueBydegnitemlevlcd(reciteminfo);
- }
- }
- }
- /*
- function fConfirm()
- {
- getSubFormData();
-
- var refTarget = "/root/main/subform";
- var refUniqInfo = "/root/hidden/forminfo/formdegnseqno";
- if(findNode(opener.model, refTarget + "[@id='" + model.getValue(refUniqInfo) + "']"))
- opener.model.removeNode(refTarget + "[@id='" + model.getValue(refUniqInfo) + "']");
- var cntSubForm = getNodesetCnt(opener.model, refTarget);
- copyNodeset(opener.model, model, refTarget + "[" + (cntSubForm + 1) + "]", refTarget);
- opener.model.makeValue(refTarget + "[" + (cntSubForm + 1) + "]/@id", model.getValue(refUniqInfo));
- opener.model.makeValue(refTarget + "[" + (cntSubForm + 1) + "]/@type", "formdegnseqno");
- window.close();
- }
- function fTmpSave()
- {
- getSubFormData();
- fSetFormRecInfo("N");
- }
- function fSignedSave()
- {
- getSubFormData();
- fSetFormRecInfo("Y");
- }
- */
- /**
- * @desc : 복사하기(클립보드에복사)
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function fSendBufCnts()
- {
- if (gExtnFuncFlag == false) return;
-
- var bufCnts = "";
- var rowidx;
- var colref_viewcnts = grd_prcp.colref("precinfo");
- //var colref_degnitemlevlno = grd_prcp.colref("degnitemlevlno");
- //var colref_imgehei = grd_prcp.colref("imgehei");
- //var degnitemlevlno;
- for (var i = 0; i < grd_prcp.selectedRows; i++)
- {
- rowidx = grd_prcp.selectedRow(i);
- //degnitemlevlno = grd_prcp.valueMatrix(rowidx, colref_degnitemlevlno);
- bufCnts += grd_prcp.valueMatrix(rowidx, colref_viewcnts) + "\r\n";
- }
- window.clipBoardData = bufCnts;
- //alert(bufCnts);
- }
|