123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499 |
- var instance = document.models(0).instances(0);
- var pageInfo = new PAGEINFO();
- var nodelistMain = null;
- var nodelistTemp = null;
- /**
- * @group :
- * @ver : 2009.12.04
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 서식 로드 초기화
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize() {
-
- model.removeNodeset("/root/main/selectdiaglist");
- grd_diaglist.col = 2;
- grd_diaglist.row = grd_diaglist.rows - 1;
- // fAddrow();
-
- //dispOnLoadComplete("", model.getValue(pageInfo.formmastRef + "/formcd"));
- //dispOnLoadComplete("", "0900006875");//0900006875 : Care Plan 부분서식코드
- dispOnLoadComplete("", "0900006866");//0900006866 : Care Plan 부분서식코드
- //parent.window.javascript.setParameter("loadformcd", model.getValue(pageInfo.formmastRef + "/formcd"));
- //parent.body.dispatch("onloadcomplete");
- //model.refresh();
-
- }
- /**
- * @group :
- * @ver : 2009.12.04
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 부분서식 사이즈값 초기화
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitPage(colhide, heig, wid, ivwID)
- {
- body.attribute("height") = heig;
- body.attribute("width") = wid;
- grd_diaglist.attribute("height") = heig - 2;
- grd_diaglist.attribute("width") = wid - 4;
- grd_diaglist.extendLastCol = "scroll";
- if(colhide)
- {
- grd_diaglist.colhidden(0) = colhide;
- btn_pop.attribute("visibility") = "hidden";
- }
- if (ivwID != null && ivwID != "")
- gSendParentCallID = ivwID;
- body.refresh();
- }
- /**
- * @group :
- * @ver : 2009.12.07
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드 행삭제
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGrdDelRow(){
-
- var iRow = grd_diaglist.row;
- var path = "/root/main/recinfo/grid";
-
- var nodelistJuh = instance.selectNodes(path);
- var nodelength = nodelistJuh.length;
- var smmcnts = model.getValue("/root/main/recinfo/grid[" + iRow + "]/recitem[colno='0']/reccnts");
- if(nodelength > 0 && (smmcnts != "")){
- model.removeNode("/root/main/recinfo/grid[" + iRow + "]");
- model.removeNode("/root/tmpcc/selectdiaglist[" + iRow + "]");
-
- //2010.01.20 dhkim - 젤첫번째 노드일 경우 default 1row를 생성시켜줌.
- if(iRow == 1)
- fAddrow();
-
- }
-
- var nodelist = model.instance1.selectNodes("/root/main/recinfo/grid");
- var totrow = nodelist.length;
- var irowcnt = 0;
-
- //var degnitemlevlcd = model.getValue(path + "/degnitemlevlcd");
-
- //2010.01.14 dhkim - forminfo에서 degnitemlevlcd를 가져옴.
- var fstlevlitemcd = model.getValue(path + "/recitem[degnitemkind='GRD']/fstlevlitemcd");
- var supdegnitemlevlcd = parent.model.instances(0).selectSingleNode(pageInfo.formdegnRef +"[degnitemcd=" + fstlevlitemcd + "]/degnitemlevlcd").text;
-
- //2010.01.14 dhkim - problem과 plan의 degnitemlevlcd
- var headDegnitemlevlcd = supdegnitemlevlcd + "." + model.getValue(pageInfo.formdegnRef+"[degnitemkind='GRD' and degnitemno = '1']/degnitemlevlcd");
- var probDegnitemlevlcd = supdegnitemlevlcd + "." + model.getValue(pageInfo.formdegnRef+"[degnitemkind='GSU' and degnitemno = '2']/degnitemlevlcd");
- var planDegnitemlevlcd = supdegnitemlevlcd + "." + model.getValue(pageInfo.formdegnRef+"[degnitemkind='GSU' and degnitemno = '4']/degnitemlevlcd");
- model.addLog("fstlevlitemcd222 : " + fstlevlitemcd);
- model.addLog("supdegnitemlevlcd2222 : " + supdegnitemlevlcd);
- model.addLog("headDegnitemlevlcd2222 : " + headDegnitemlevlcd);
- model.addLog("probDegnitemlevlcd2222 : " + probDegnitemlevlcd);
- model.addLog("planDegnitemlevlcd2222 : " + planDegnitemlevlcd);
-
- for(var i = 0; i < totrow; i++){
- var node = nodelist.item(i);
-
- //2010.01.14 dhkim
- var path1 = node.selectSingleNode("recitem[degnitemlevlcd='" + headDegnitemlevlcd + "']/rowno"); //Care Plan header
- var path2 = node.selectSingleNode("recitem[degnitemlevlcd='" + probDegnitemlevlcd + "']/rowno"); //problem
- var path3 = node.selectSingleNode("recitem[degnitemlevlcd='" + planDegnitemlevlcd + "']/rowno"); //Plan and Goal
-
- /*
- //20100106 dhkim
- var path1 = node.selectSingleNode("recitem[degnitemlevlcd='" + degnitemlevlcd + "']/rowno"); //Care Plan header
- var path2 = node.selectSingleNode("recitem[degnitemlevlcd='" + degnitemlevlcd + ".0000280']/rowno"); //problem
- var path3 = node.selectSingleNode("recitem[degnitemlevlcd='" + degnitemlevlcd + ".0022825']/rowno"); //Plan and Goal
- */
- /*
- var path1 = node.selectSingleNode("recitem[degnitemlevlcd='0022826.0022826']/rowno"); //Care Plan header
- var path2 = node.selectSingleNode("recitem[degnitemlevlcd='0022826.0022826.0000280']/rowno"); //problem
- var path3 = node.selectSingleNode("recitem[degnitemlevlcd='0022826.0022826.0022825']/rowno"); //Plan and Goal
- */
- path1.text = irowcnt;
- path2.text = irowcnt;
- path3.text = irowcnt;
- irowcnt++;
- }
-
- grd_diaglist.rebuild();
- //model.refresh();
- }
- /**
- * @group :
- * @ver : 2009.12.09
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : care plan 상용구 팝업을 호출한다
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickPopUp()
- {
-
- setParameter("SPMRJ09900_workflag", "002");
- modal("SPMRJ09900", 1, 0, 0, "", "", "");
-
- var getData = getParameter("SPMRJ09900_careplan");
- var clickBtn = getParameter("SPMRJ09900_clickbtn");
-
- if(clickBtn == "ok"){
-
- //root.tempcc.selectdiaglist 노드를 생성해 리턴값을 세팅
- model.removenode("/root/tmpcc/selectdiaglist");
- model.makeNode("/root/tmpcc/selectdiaglist");
-
- var rowsArr = getData.split("▩");//row별로 split
- var colsArr = null;
- var smmcnts;
-
- var iRow = grd_diaglist.row;
- var path = "/root/main/recinfo/grid";
- var nodelistCarePlan = instance.selectNodes(path);
- var nodelength = nodelistCarePlan.length;
- var smmcnts = model.getValue(path + "/grid[" + nodelength + "]/recitem/reccnts");
-
- //리턴받은 값을 tempcc 노드에 임시 생성 후 recinfo 인스턴스 구조 변경
- var idx = 1;
- for(var i = 0; i < rowsArr.length; i++){
-
- colsArr = rowsArr[i].split("▦");//col별로 split
-
- for(var j = 0; j < colsArr.length; j++){
-
- model.makeValue("/root/tmpcc/selectdiaglist["+idx+"]/reccnts" + (j+1), colsArr[j]);
-
- }
- idx++;
-
- if(smmcnts == ""){
- model.removeNodeset("/root/main/recinfo/grid[" + nodelength + "]");
- model.removeNodeset("/root/main/selectdiaglist[" + nodelength + "]");
- grd_diaglist.refresh();
- }
-
-
- // fReMakeInst();//인스턴스 구조 변경
-
- }
- fReMakeInst();//인스턴스 구조 변경
-
- grd_diaglist.refresh();
- }else{
-
- return;//취소버튼
-
- }
-
- }
- /**
- * @desc : 인스턴스 구조 변경
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fReMakeInst()
- {
- var instance = document.models(0).instances(0);
- var iLeng = 0;
- var sTmpProblem = "";
- var sTmpPlanGoal = "";
- nodelistMain = instance.selectNodes("/root/main/selectdiaglist");
- nodelistTemp = instance.selectNodes("/root/tmpcc/selectdiaglist");
- var iMainleng = nodelistMain.length;
-
-
- // alert("[tmp]"+instance.selectNodesXml('/root/tmpcc/selectdiaglist'));
- // alert("iMainleng:" + iMainleng);
- // alert('ins1 templen ; '+instance.selectNodes("/root/tmpcc/selectdiaglist").length);
- if(nodelistTemp.length >= 1){
- for(var i = 1; i <= nodelistTemp.length; i++)
- {
- //debugger;
- sTmpProblem = model.getValue("/root/tmpcc/selectdiaglist[" + i + "]/reccnts1");
- sTmpPlanGoal = model.getValue("/root/tmpcc/selectdiaglist[" + i + "]/reccnts2");
- var iFndRow = getNodesetCnt(model, "/root/main/recinfo/grid/recitem[reccnts ='" + sTmpProblem + "' or rectermnm ='" + sTmpProblem + "']");
- //alert("iFndRow:" + iFndRow);
- //alert("sTmpProblem:" + sTmpProblem);
- //alert("sTmpPlanGoal:" + sTmpPlanGoal);
- if(iFndRow > 0){
- iMainleng = iMainleng - 1;
- }else if(iFndRow <= 0){
- iLeng = i + iMainleng;
- // alert(sTmpProblem);
- // iLeng = i;
-
- // model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 1 + "]/rectermcd", "");
- model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 1 + "]/reccnts", sTmpProblem);
- model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 1 + "]/cntsyn", "Y");
- model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 1 + "]/comp", "true");
- model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 1 + "]/colno", "0");
- // model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 2 + "]/rectermcd", "");
- model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 2 + "]/reccnts", sTmpPlanGoal);
- model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 2 + "]/cntsyn", "Y");
- model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 2 + "]/comp", "true");
- model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 2 + "]/colno", "1");
-
-
- // model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 1 + "]/ccflag", "");
- // model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 2 + "]/rectermcd", "");
- // model.makeValue("/root/main/selectdiaglist[" + iLeng + "]/col["+ 2 + "]/comp", "false");
- }
- }
- }
-
- // alert("[main]"+instance.selectNodesXml('/root/main/selectdiaglist'));
- // alert("main len:"+nodelistMain.length);
- // return;
- nodelistMain = instance.selectNodes("/root/main/selectdiaglist");
- makeProgInstance(pageInfo, instance, nodelistMain);
- fAddrow();
- }
- /**
- * @desc : 줄추가
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddrow()
- {
- var path1 = "/root/main/recinfo/grid[degnitemno = '1']";
- var nodelistJuh = instance.selectNodes(path1);
- var nodelength = nodelistJuh.length;
- var path2 = "/root/main/recinfo/grid[degnitemno = '1'][" + nodelength + "]";
- copyNodeset("/root/tmp", path2, "replace", model, model);
-
- var smmcnts = model.getValue("/root/tmp/recitem[colno='1']/reccnts");
- //alert("MRF04100.js::: smmcnts::::"+smmcnts);
- if(smmcnts != "" || nodelength == 0)
- {
- // model.makeValue("/root/main/selectdiaglist[" + 1 + "]/col["+ 1 + "]/rectermcd", "");
- model.makeValue("/root/main/selectdiaglist[" + 1 + "]/col["+ 1 + "]/reccnts", "-");
- model.makeValue("/root/main/selectdiaglist[" + 1 + "]/col["+ 1 + "]/cntsyn", "Y");
- model.makeValue("/root/main/selectdiaglist[" + 1 + "]/col["+ 1 + "]/comp", "true");
- model.makeValue("/root/main/selectdiaglist[" + 1 + "]/col["+ 1 + "]/colno", "0");
- // model.makeValue("/root/main/selectdiaglist[" + 1 + "]/col["+ 2 + "]/rectermcd", "");
- model.makeValue("/root/main/selectdiaglist[" + 1 + "]/col["+ 2 + "]/reccnts", "");
- model.makeValue("/root/main/selectdiaglist[" + 1 + "]/col["+ 2 + "]/cntsyn", "Y");
- model.makeValue("/root/main/selectdiaglist[" + 1 + "]/col["+ 2 + "]/comp", "true");
- model.makeValue("/root/main/selectdiaglist[" + 1 + "]/col["+ 2 + "]/colno", "1");
- nodelistMain = instance.selectNodes("/root/main/selectdiaglist");
-
- makeProgInstance(pageInfo, instance, nodelistMain);
- grd_diaglist.refresh();
- }
- //20091208 dhkim 마지막 row추가후 focus를 마지막 row로
- if(grd_diaglist.rows > 1){
- //포커스이동
-
- if(grd_diaglist.row != 1){
- grd_diaglist.row = grd_diaglist.rows-1;
- }
-
- if(grd_diaglist.col == 1){
- grd_diaglist.col = 2;
- }else{
- grd_diaglist.col = 1;
- // alert(grd_diaglist.col);
- }
- //2010.01.06 dhkim
- // grd_diaglist.editCell();
- }
- }
- /**
- * @desc : 편집 후 termcd가 없는 경우 '-'를 넣어줌(저장문제)
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fEndEdit()
- {
- /*
- //debugger;
- var path1 = "/root/main/recinfo/grid[degnitemno = '1']";
- var nodelistJuh = instance.selectNodes(path1);
- var nodelength = nodelistJuh.length;
- var smmcnts = model.getValue("/root/main/recinfo/grid[degnitemno = '1'][" + nodelength + "]/recitem[colno='1']/reccnts");
-
- // alert('/root/main/recinfo/grid[degnitemno = "1"][' + nodelength + ']/recitem[colno="1"]/reccnts"=' +smmcnts);
- if (smmcnts == "")
- {
- fGrdDelRow();
- }
- */
- }
- /**
- * @desc : 저장전 검사
- * : 2010.01.06 dhkim - itemNm 추가
- * @
- * @param : itemNm 부분서식명칭
- * @return :
- * @---------------------------------------------------
- */
- function fChkGrdPreSave(itemNm)
- {
- if(itemNm == null || itemNm == ""){
- var pageInfo = new PAGEINFO();
- itemNm = model.instances(0).selectSingleNode(pageInfo.formdegnRef + "[degnitemkind = 'GRD']").getXPathString("itemnm");
- }
- var path = "/root/main/recinfo/grid";
-
- var nodelist = instance.selectNodes(path);
- var nodelength = (nodelist.length);
- var pbmVal = "", pbmNm = "";
- var pngVal = "", pngNm = "";
- var sMsg = "";
- var rtn = true;
-
- for(var i = 1; i <= nodelength; i++){
-
- pbmVal = model.getValue(path + "[" + i + "]/recitem[colno='0']/reccnts");
- pngVal = model.getValue(path + "[" + i + "]/recitem[colno='1']/reccnts");
- pbmNm = model.getValue(path + "[" + i + "]/recitem[colno='0']/degnitemnm");
- pngNm = model.getValue(path + "[" + i + "]/recitem[colno='1']/degnitemnm");
-
- if((pbmVal == null || pbmVal == "") && (pngVal == null || pngVal == "")){
- break;
- }
-
- if(pbmVal == null || pbmVal == ""){
- messageBox(itemNm + "부분서식의 " + i + "행에 " + pbmNm + "이 입력되지 않았습니다. " + pbmNm + "은", "I003");
- return false;
- }
-
- if(pngVal == null || pngVal == ""){
- messageBox(itemNm + "부분서식의 " + i + "행에 " + pngNm + "이 입력되지 않았습니다. " + pngNm + "은", "I003");
- return false;
- }
-
- }
-
- return true;
-
- }
- /**
- * @desc : 상용구 팝업
- * @id :
- * @event : DOMActivate
- * @return : void
- * @authur : 박종훈
- */
- function fPopCommUse()
- {
- /*
- setParameter("comn_chosflag", "C") // C : 상용구
- setParameter("comn_formprogflag", "B") // A: Summary, B : 주호소
- setParameter("openmode", "select");
-
- // 새로운 상용구 관리 Param 추가
- setParameter("deptflag", "U");
-
- //modal("SPMRF04700");
-
- var pageInfo = new PAGEINFO();
-
- //var grdNodeList = findNodeset(model, "/root/main/recinfo/grid[degnitemlevlcd = '0000931']");
- //var fstlevlitemcd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/fstlevlitemcd");
-
- setParameter("comn_degnitemcd", "0000931");
- setParameter("comn_srcformcd", "0000000901");
-
- modal("SPMRF04900",1 ,50, 50);
- var rtn = getParameter("comncnts"); //내용
- setParameter("comncnts", "");
- var grdNodeList = findNodeset(model, "/root/main/recinfo/grid[degnitemno = '1']");
- var rowno = grd_diaglist.row -1;
-
- var grdNode = "";
- var recitemNodelist = "";
- var recitemNode = "";
- var reccnts = "";
- var subnode = "";
- grdNode = grdNodeList.item(rowno);
- recitemNodelist = grdNode.selectSingleNode("recitem[colno='0']");
-
- if(recitemNodelist != null)
- {
- reccnts = recitemNodelist.selectSingleNode("rectermnm").text;
- }
-
- if (rtn == "")
- {
- return;
- }
- if (reccnts == "")
- {
- recitemNodelist.selectSingleNode("rectermnm'").text = rtn;
- fEndEdit();
- fAddrow();
- }
- else
- {
- recitemNodelist.selectSingleNode("rectermnm").text = reccnts + " " + rtn;
- }
- model.refresh();
- */
- }
|