123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
- <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
- <script type="javascript">
- <![CDATA[
- // 초기화
- function fInitialize()
- {
- model.removeNodeset("/root/main/diaghist/list01");
- model.makeNode("/root/main/diaghist/list01");
- model.removeNodeset("/root/main/diaghist/list02");
- model.makeNode("/root/main/diaghist/list02");
-
- submit("TRPIJ00305");
-
- }
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- function fDiagGridInsertRow(flag) {
-
- if (grd_diaglist.rowstatus(1) == 4) {
-
- var diagrow = 1;
- grd_diaglist.insertRow(diagrow++, true); // 첫번째 줄 그 다음 줄에 새로운 줄을 추가하게 된다.
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/diagseq", diagrow - 1); // 추가된 row는 [2]번째 줄이 되며, 순번을 1을 부여한다.
- fSortDiagNo();
-
- } else {
-
- // 삭제 상태가 아닌 마지막 줄을 찾는다.
- var lastRow = grd_diaglist.rows - 1;
- for (var i = 1; i < grd_diaglist.rows; i++) {
- if (grd_diaglist.rowstatus(i) == 4) { // delete
- lastRow = i - 1;
- i = grd_diaglist.rows;
- }
- }
- var diagrow = lastRow; // 상병 Grid 가장 마지막 줄에 추가한다.
-
- grd_diaglist.insertRow(diagrow++, true);
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/diagseq", diagrow);
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/pid", model.getValue("/root/send/pid"));
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/orddd", model.getValue("/root/send/orddd"));
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/orddeptcd", model.getValue("/root/send/deptcd"));
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/diagorddeptcd", model.getValue("/root/send/deptcd"));
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/insukind", model.getValue("/root/send/insukind"));
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/ruleoutyn", "false");
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/toothyn", "N");
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/toot", "-");
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/toot1", "");
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/addflag", "Y");
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/drinptyn", "N");
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/cretno", model.getValue("/root/send/cretno"));
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/ordfromdd", model.getValue("/root/send/orddd"));
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + diagrow + "]/rowstat", "I");
-
- if (flag == true) {
- fSortDiagNo();
- }
- }
- }
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 삭제"
- function fDiagGridDeleteRow() {
- var rowstatus = grd_diaglist.rowstatus(grd_diaglist.row);
- if (rowstatus == 4) { // 4 : delete
- return;
- }
- else if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- var diagnm = model.getValue("/root/main/diaghist/list02/mmohdiag2[" + grd_diaglist.row + "]/diagnm");
- if (diagnm != "") grd_diaglist.deleteRow(grd_diaglist.row, true); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + grd_diaglist.row + "]/diagseq", "D"+ grd_diaglist.row);
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + grd_diaglist.row + "]/rowstat", "D");
- grd_diaglist.rowstatus(grd_diaglist.row) = 4; // 4 : delete 상태로 stat를 변경한다.
- //grd_diaglist.deleteRow(grd_diaglist.row, true);
- // 1. 상병순서로 정렬한다.
- fSortDiagNo();
-
- // 2. 상병순서를 새로 부여한다.
- var seq = 1;
- for (var j = 1; j < grd_diaglist.rows; j++) {
- var diagseq = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagseq");
- if (diagseq > "D0") {
- } else {
- if (diagseq != seq) {
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + j + "]/diagseq", seq);
- grd_diaglist.valueMatrix(j, grd_diaglist.colRef("diagseq")) = seq;
- grd_diaglist.rowstatus(j) = 2;
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/rowstat", "U");
- }
- seq++;
- }
- }
-
- // 3. 빈줄을 추가한다.
- fDiagGridInsertRow();
- }
- }
-
- // 상병코드 조회 팝업
- function fSearchDiageCode() {
- model.resetInstanceNode("/root/hidden/sppiz00400/rslt");
-
- var row = grd_diaglist.row;
- var rows = grd_diaglist.rows;
- var diagcd = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ row + "]/diagcd");
-
- model.makeValue("/root/hidden/sppiz00400/cond/basedd", getCurrentDate());
- model.makeValue("/root/hidden/sppiz00400/cond/diagcd", diagcd);
- model.makeValue("/root/hidden/sppiz00400/cond/diagnm","");
- model.makeValue("/root/hidden/sppiz00400/cond/selectedrdodiagkind","1");
-
- // 2008. 01. 15 박지욱 수정 (상병코드가 정확히 입력된 경우 팝업없이 보여주도록 처리)
- if (diagcd) {
- submit("TRPIJ00308"); // 입력된 상병코드로 emr.mrtmicd10 테이블을 조회한다.
-
- var rsltList = instance1.selectSingleNode("/root/hidden/sppiz00400");
- if (rsltList != null && rsltList.childNodes.length == 1) {
- // 조회된 결과가 1건이면
- fSetDiagCdNm();
- } else {
- // 조회된 결과가 없거나 여러 건이면
- // 상병코드 조회를 위해 SPPIZ00400_상병코드조회.xrw 를 호출한다.
- fSearchSPPIZ00400();
- }
- } else {
- // 상병코드 입력 없이 상병명 선택 시
- fSearchSPPIZ00400();
- }
-
- var addrow = row + 1;
- if (addrow == rows ) {
- var diagcd = model.getValue("/root/hidden/sppiz00400/rslt/diagcd");
-
- if (diagcd != "") {
- fDiagGridInsertRow(false);
- }
- }
- }
-
- // 상병코드 조회를 위해 SPPIZ00400_상병코드조회.xrw 를 호출한다.
- function fSearchSPPIZ00400() {
- model.removeNodeset("/root/hidden/sppiz00400/rslt");
- model.makeNode("/root/hidden/sppiz00400/rslt/diagcd");
- model.makeNode("/root/hidden/sppiz00400/rslt/diaghngnm");
- model.makeNode("/root/hidden/sppiz00400/rslt/diagengnm");
-
- var row = grd_diaglist.row;
- var diagcd = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ row + "]/diagcd");
-
- model.resetInstanceNode("/root/hidden/sppiz00400/cond");
- model.makeValue("/root/hidden/sppiz00400/cond/basedd", getCurrentDate()); // (dateHelper.js) 현재날짜 반환
- model.makeValue("/root/hidden/sppiz00400/cond/diagcd", diagcd);
- model.makeNode("/root/hidden/sppiz00400/cond/diagnm");
- model.makeValue("/root/hidden/sppiz00400/cond/selectedrdodiagkind","3"); // 사용자가 직접검색하여 입력 할수 있도록 임의의 값(3)을 넣어줌
- modal("SPPIZ00400" ,"", "10", "10", "SPPIZ00400", "/root/hidden/sppiz00400/cond", "/root/init", "", ""); // SPPIZ00400_상병코드조회.xrw
- }
-
- // [SPPIZ00400_상병코드조회.xrw 에서 호출] 상병조회 팝업에서 상병을 더블클릭 했을경우 상병 그리드에 반영
- function fSetDiagCdNm() {
-
- var diagcd = model.getValue("/root/hidden/sppiz00400/rslt/diagcd");
- var diaghngnm = model.getValue("/root/hidden/sppiz00400/rslt/diaghngnm");
- var diagengnm = model.getValue("/root/hidden/sppiz00400/rslt/diagengnm");
- if (diagcd) {
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/diagcd", diagcd);
- }
-
- if (diaghngnm) {
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/diagnm", diaghngnm);
- }
-
- var chk_key = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/pid");
-
- //신규로 불러온 입력되는 경우는 Insert시 key값이 없으므로 기본 정보에서 읽어다 넣어 준다.
- if(chk_key){
- model.refresh();
- return;
- }else{
- //Pid
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/pid",model.getValue("/root/send/pid"));
- //Indd
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/indd",model.getValue("/root/send/indd"));
- //Cretno
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/cretno",model.getValue("/root/send/cretno"));
- //fromdd
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/fromdd",model.getValue("/root/send/fromdd"));
- //mskind
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/mskind",model.getValue("/root/send/mskind"));
- //drinptyn
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/drinptyn","N");
- //addflag
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/addflag","Y");
-
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/insukind",model.getValue("/root/send/insukind"));
-
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/diagorddeptcd",model.getValue("/root/send/deptcd"));
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row + "]/orddeptcd",model.getValue("/root/send/deptcd"));
-
- }
-
- model.refresh();
- }
-
- // 상병순서 소트
- function fSortDiagNo() {
-
- if (grd_diaglist.rows > 1) {
-
- // 1. 상병코드, 상병명 없는 빈줄 삭제
- for (var j = grd_diaglist.rows - 1; j >= 1; j--) {
- var rowstatus = grd_diaglist.rowstatus(j);
- var diagcd = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagcd");
- var diagnm = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagnm");
- if (rowstatus != 4 && diagcd == "" && diagnm == "") {
- grd_diaglist.deleteRow(j, false);
- }
- }
-
- // 2. 상병순서(diagseq)로 정렬
- var maxRow = parseInt(grd_diaglist.rows) - 1;
- grd_diaglist.sort(1, grd_diaglist.colRef("diagseq"), maxRow, grd_diaglist.colRef("diagseq")) = "asc";
- grd_diaglist.gridToInstance();
- }
-
- /*
- var SelectedRowNo = model.getValue("/root/main/diaghist/list02/mmohdiag2[" + grd_diaglist.row + "]/diagseq");
- var SelectedRow = parseInt(grd_diaglist.row);
- var TotalRow = parseInt(grd_diaglist.rows)-2;
- var tempRow = 999;
-
- for(i =1; i<grd_diaglist.rows;i++){
- var NextRowNo = parseInt(model.getValue("/root/main/diaghist/list02/mmohdiag2[" + i + "]/diagseq"));
- if(SelectedRow == i){
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + i + "]/diagseq", SelectedRowNo);
- } else {
- if ( SelectedRowNo == TotalRow ) {
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + i + "]/diagseq", NextRowNo-1);
- } else if ( NextRowNo == SelectedRowNo) {
- if (SelectedRowNo > SelectedRow ) {
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + i + "]/diagseq", NextRowNo-1);
- } else {
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + i + "]/diagseq", NextRowNo+1);
- }
- } else if ( NextRowNo <= SelectedRowNo) {
-
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + i + "]/diagseq", NextRowNo);
- } else {
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + i + "]/diagseq", tempRow);
- }
- }
- }
- var maxRow = parseInt(grd_diaglist.rows) - 1; // rows는 타이틀부분 부터 개수를 센다
- grd_diaglist.sort(1, 1, maxRow, 1) = "asc"; // 타이틀을 제외한 data 부분의 첫 줄의 row = 1
- model.refresh();
- // Sort 된 Grid 상의 Data 순서와 Instance Node 상의 Data 순서를 동일하게 맞춰준다.
- grd_diaglist.gridToInstance();
-
- for(i =1; i<grd_diaglist.rows;i++){
-
- var NextRowNo = parseInt(model.getValue("/root/main/diaghist/list02/mmohdiag2[" + i + "]/diagseq"));
-
- if(SelectedRowNo != i){
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + i + "]/diagseq", i);
- } else {
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + i + "]/diagseq", SelectedRowNo);
- }
- rowstatus = grd_diaglist.rowstatus(i);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_diaglist.rowstatus(i) = 2; // 2 : update
- }
- }
-
- var maxRow = parseInt(grd_diaglist.rows) - 1; // rows는 타이틀부분 부터 개수를 센다
- grd_diaglist.sort(1, 1, maxRow, 1) = "asc"; // 타이틀을 제외한 data 부분의 첫 줄의 row = 1
-
- model.refresh();
- // Sort 된 Grid 상의 Data 순서와 Instance Node 상의 Data 순서를 동일하게 맞춰준다.
- grd_diaglist.gridToInstance();
- */
- }
-
- // 현재 상병 Grid 상에서 입력상태의 치식을 팝업 화면에 전달하기 위해 리스트 형태로 만든다.
- function fSetToothPop(row, flag) {
- model.removeNodeset("/root/hidden/sppiz00600/cond/list");
- model.makeNode("/root/hidden/sppiz00600/cond/list");
- // 상병
- var cntcldi = getNodesetCount("/root/main/diaghist/list02/mmohdiag2");
-
- var cd = "";
- var cdnm = "";
- var orddd = "";
- var toot = "";
- var rowcnt = 1;
- for (i=1; i<cntcldi; i++) {
- cd = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ i + "]/diagcd");
- cdnm = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ i + "]/diagnm");
- orddd = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ i + "]/ordfromdd");
- toot = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ i + "]/toot");
- if (toot != "-" && toot != "") {
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row");
-
- var milktoothstr = "ABCDE000";
- var subTootStr = "";
- for (var inx = 0; inx < 32; inx++) {
- var tootnum = toot.substr(inx,1);
- if (tootnum == "*") { // 선택된 영구치의 경우 1~8 사이 숫자로 표시한다.
- if (inx < 8) {
- subTootStr += (8 - inx);
- }
- else if (inx > 7 && inx < 16) {
- subTootStr += (inx - 7);
- }
- else if (inx > 15 && inx < 24) {
- subTootStr += (24 - inx);
- } else {
- subTootStr += (inx - 23);
- }
- } else if (tootnum == "#") { // 선택된 유치의 경우 A~E 사이 알파벳으로 표시한다.
- if (inx < 8) {
- subTootStr += milktoothstr.charAt(7 - inx);
- }
- else if (inx > 7 && inx < 16) {
- subTootStr += milktoothstr.charAt(inx - 8);
- }
- else if (inx > 15 && inx < 24) {
- subTootStr += milktoothstr.charAt(23 - inx);
- } else {
- subTootStr += milktoothstr.charAt(inx - 24);
- }
- } else { // if (tootnum == "0") 선택되지 않은 경우 공백으로 처리한다.
- subTootStr += " ";
- }
- }
-
- //치식 표기를 설정한다.
- if (row == i && flag == "1" ) {
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "true");
- } else {
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "false");
- }
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag", "상병");
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd", cd);
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm", cdnm);
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper", subTootStr.substr(0, 8));
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper", subTootStr.substr(8, 8));
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower", subTootStr.substr(16, 8));
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower", subTootStr.substr(24, 8));
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd", orddd);
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot", toot);
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row", i);
- rowcnt = rowcnt+1;
- } else {
- if (row == i && flag == "1" ) {
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot");
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row");
-
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "true");
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag", "상병");
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd", cd);
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm", cdnm);
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper", "");
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper", "");
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower", "");
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower", "");
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd", orddd);
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot", "");
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row", i);
- rowcnt = rowcnt+1;
- }
- }
- }
- }
-
- // SPPIZ00600_상병및처방별치식 선택 결과를 반영한다.
- function fGetToothPop() {
- var tootSelectcnt = getNodesetCount("/root/hidden/sppiz00600/rslt/list");
- var flag = "";
- var row = "";
- var toot = "";
- tootSelectcnt = eval(tootSelectcnt) + 1;
-
- for (var i=1; i<tootSelectcnt; i++) {
- flag = model.getValue("/root/hidden/sppiz00600/rslt/list["+ i +"]/flag");
- row = model.getValue("/root/hidden/sppiz00600/rslt/list["+ i +"]/row");
- var rlsttoot = model.getValue("/root/hidden/sppiz00600/rslt/list["+ i +"]/toot");
- var rlsttoot1 = model.getValue("/root/hidden/sppiz00600/rslt/list["+ i +"]/toot1");
-
- if (rlsttoot == "") {
- rlsttoot = "-";
- }
- if (rlsttoot1 == "") {
- rlsttoot1 = "-";
- }
-
- if (flag == "1") {
- toot = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/toot");
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/toot", rlsttoot);
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/toot1", rlsttoot1);
- if (rlsttoot != toot) { // 치식번호가 변경된 경우
- var cldistatus = grd_diaglist.rowstatus(row);
- if (cldistatus == 0 || cldistatus == 2) { // 0 : new, 2 : update
- grd_diaglist.rowstatus(row) = 2; // 2 : update
- }
- }
- }
- }
- }
-
- /* 상병순서 부여 */
- function fChangeDiagNo() {
-
- var row = grd_diaglist.row;
- var newseq = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/diagseq");
- var oldseq = model.getValue("/root/hidden/list1/diag/oldseq");
-
-
- if (newseq) {
-
- // 1. seq번호를 매긴다.
- if (grd_diaglist.rowstatus(row) != 1 && grd_diaglist.rowstatus(row) != 3) {
- grd_diaglist.rowstatus(row) = 2;
- grd_diaglist.valueMatrix(row, grd_diaglist.colRef("rowstat")) = "U";
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/rowstat", "U");
- }
-
- // 2. '09' 와 같은 형식으로 입력한 경우 -> 9로 처리
- newseq = parseInt(model.getValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/diagseq"), 10);
-
- // 3. 삭제상태가 아닌 중복된 번호가 있는지 체크한다.
- var sameRow = 0;
- for (var i = 1; i < grd_diaglist.rows; i++) {
- var diagseq = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ i +"]/diagseq");
- if (row != i && diagseq == newseq) {
- sameRow = i;
- i = grd_diaglist.rows;
- }
- }
-
- // 3-1. seq번호 중복
- if (sameRow > 0) {
-
- // 이전보다 앞번호를 입력한 경우
- if (newseq < oldseq) {
- for (var j = sameRow; j < row; j++) {
- var rowstatus = grd_diaglist.rowstatus(j);
- if (rowstatus != 4) {
- var curseq = parseInt(model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagseq"), 10);
- if (rowstatus != 1 && rowstatus != 3) {
- if (model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagseq") != (curseq+1)) {
- grd_diaglist.rowstatus(j) = 2;
- grd_diaglist.valueMatrix(j, grd_diaglist.colRef("rowstat")) = "U";
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/rowstat", "U");
- }
- }
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagseq", curseq+1);
- }
- }
- }
-
- // 이전보다 뒷번호를 입력한 경우
- else {
- for (var j = row+1; j <= sameRow; j++) {
- var rowstatus = grd_diaglist.rowstatus(j);
- if (rowstatus != 4) {
- var curseq = parseInt(model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagseq"), 10);
- if (rowstatus != 1 && rowstatus != 3) {
- if (model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagseq") != (curseq-1)) {
- grd_diaglist.rowstatus(j) = 2;
- grd_diaglist.valueMatrix(j, grd_diaglist.colRef("rowstat")) = "U";
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/rowstat", "U");
- }
- }
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagseq", curseq-1);
- }
- }
- }
-
- // 정렬한다. (삭제된 row는 맨 밑으로)
- fSortDiagNo();
- // seq를 다시 매긴다.
- var seq = 1;
- for (var j = 1; j < grd_diaglist.rows; j++) {
- var diagseq = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagseq");
- if (diagseq > "D0") {
- } else {
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + j + "]/diagseq", seq);
- grd_diaglist.valueMatrix(j, grd_diaglist.colRef("diagseq")) = seq;
- seq++;
- }
- }
- // 빈줄을 추가한다.
- fDiagGridInsertRow();
-
- // 3-2. seq번호 중복안됨
- } else {
-
- // 정렬한다. (삭제된 row는 맨 밑으로)
- fSortDiagNo();
- // seq를 다시 매긴다.
- var seq = 1;
- for (var j = 1; j < grd_diaglist.rows; j++) {
- var diagseq = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagseq");
- if (diagseq > "D0") {
- } else {
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + j + "]/diagseq", seq);
- grd_diaglist.valueMatrix(j, grd_diaglist.colRef("diagseq")) = seq;
- seq++;
- }
- }
- // 빈줄을 추가한다.
- fDiagGridInsertRow();
- }
-
- } else {
- model.setValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/diagseq", oldseq);
- grd_diaglist.rowstatus(row) = model.getValue("/root/hidden/list1/diag/oldrowstat");
- }
- }
- ]]>
- </script>
- <xhtml:head>
- <xhtml:title>외래미시행오더상병관리</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <init/>
- <main>
- <diaghist>
- <list01>
- <mmohdiag1/>
- </list01>
- <list02>
- <mmohdiag2/>
- </list02>
- </diaghist>
- </main>
- <send>
- <pid/>
- <ordfromdd/>
- <ordtodd/>
- <srchflag/>
- <orddd/>
- <ioflag/>
- <deptcd/>
- <diaglist/>
- <row/>
- <insukind/>
- </send>
- <hidden>
- <item1>
- <oldpid/>
- <srchrslt/>
- <matractflag/>
- <payflag/>
- <itemflag/>
- <cpflag/>
- <actflag/>
- <ordfromdd/>
- <ordtodd/>
- <calcscorcd/>
- <edicode/>
- <judgdate/>
- <mskind/>
- <message/>
- <detlsrchflag/>
- <result/>
- </item1>
- <sppmc02500>
- <cond>
- <!-- SPPMC02500_환자조회 화면으로 검색조건을 보내는 경로임 -->
- <srchcond/>
- <pid/>
- <hngnm/>
- <rrgstno1/>
- <rrgstno2/>
- <autoflag/>
- </cond>
- </sppmc02500>
- <sppiz00400>
- <cond>
- <!-- 상병코드 Grid '상병코드' 컬럼 에서 SPPIZ00400_상병코드조회 에 전달하기 위한 조건 값 -->
- <basedd/>
- <diagcd/>
- <diagnm/>
- <selectedrdodiagkind/>
- </cond>
- <rslt>
- <rowstat/>
- <seqno/>
- <diagcd/>
- <diaghngnm/>
- <diagengnm/>
- <diagkindcd/>
- <clamdeptcd/>
- <ordfromdd/>
- <toot/>
- <estmspclcd/>
- <wundresncd/>
- </rslt>
- </sppiz00400>
- <sppiz00600>
- <cond>
- <!-- 상병 Grid '치식' 컬럼 에서 SPPIZ00600_상병및처방별치식 에 전달하기 위한 조건 값 -->
- <clamym/>
- <clamdg/>
- <pid/>
- <pidsn/>
- <toot/>
- <flag/>
- <list/>
- </cond>
- <rslt>
- <list/>
- </rslt>
- </sppiz00600>
- <popupmenu>
- <clcj>
- <!--<item>
- <name>행 추가</name>
- <func>fDiagGridInsertRow(true)</func>
- </item>-->
- <item>
- <name>-</name>
- <func/>
- </item>
- <item>
- <name>행 삭제</name>
- <func>fDiagGridDeleteRow</func>
- </item>
- </clcj>
- </popupmenu>
- <list2>
- <dept/>
- </list2>
- <rcv/>
- <currentDate/>
- </hidden>
- </root>
- </instance>
- <submission id="TRPIZ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/diaghist/list01"/>
- <submission id="TRPIJ00305" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/hidden/list2"/>
- <submission id="TRPID21501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
- <submission id="TRPID21502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
- <submission id="TXPID21501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/diaglist" replace="instance" resultref="/root/hidden/rcv"/>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- /* 테스트 시 사용 삭제 해도 무방
- model.setValue("/root/send/pid","163");
- model.setValue("/root/send/orddd","20070905");
- model.setValue("/root/send/ioflag","O");
- model.setValue("/root/send/deptcd","2170000000");
- model.setValue("/root/send/insukind","11");
- */
-
- fInitialize(); // 기본데이터 초기화
-
- // 진료 상병이력 조회
- submit("TRPID21502");
-
- var list01cnt = getNodesetCount("/root/hidden/rcv/list01/mmohdiag1");
- if (list01cnt > 0) {
- copyNodeType("/root/main/diaghist/list01","/root/hidden/rcv/list01","replace");
- }
-
- // 상병 조회
- submit("TRPID21501");
- var list02cnt = getNodesetCount("/root/hidden/rcv/list02/mmohdiag2");
- if (list02cnt > 0) {
- copyNodeType("/root/main/diaghist/list02","/root/hidden/rcv/list02","replace");
- }
- model.refresh();
-
- /* */
- list01cnt = grd_orddiaghist.rows;
- list02cnt = grd_diaglist.rows;
-
- var check = "";
-
- for (i=1; i<list01cnt ; i++) {
-
- check = "false";
-
- var ruleoutyn = model.getValue("/root/main/diaghist/list01/mmohdiag1[" + i + "]/diagkindcd");
- var rdiagcd = model.getValue("/root/main/diaghist/list01/mmohdiag1[" + i + "]/diagcd");
- var diaghngnm = model.getValue("/root/main/diaghist/list01/mmohdiag1[" + i + "]/diaghngnm");
- var orddeptcd = model.getValue("/root/main/diaghist/list01/mmohdiag1[" + i + "]/orddeptcd");
- var orddd = model.getValue("/root/main/diaghist/list01/mmohdiag1[" + i + "]/orddd");
- var toot = model.getValue("/root/main/diaghist/list01/mmohdiag1[" + i + "]/toot");
- var toot1 = model.getValue("/root/main/diaghist/list01/mmohdiag1[" + i + "]/toot1");
- var insukind = model.getValue("/root/main/diaghist/list01/mmohdiag1[" + i + "]/insukind");
-
- for (j=1; j<list02cnt ; j++) {
- var fdiagcd = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagcd");
- if (rdiagcd == fdiagcd) {
- check = "true";
- }
- }
-
- if (check == "false") {
- // 행 추가
- fDiagGridInsertRow(false);
-
- var row = grd_diaglist.rows -1;
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/ruleoutyn", ruleoutyn);
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/diagcd", rdiagcd);
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/diagnm", diaghngnm);
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/orddeptcd", orddeptcd);
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/diagorddeptcd", orddeptcd);
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/ordfromdd", orddd);
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/insukind", insukind);
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/rowstat", "I");
-
- if ( toot == "") {
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/toothyn", "N");
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/toot", "-");
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/toot1", "");
- } else {
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/toothyn", "Y");
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/toot", toot);
- model.setValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/toot", toot1);
- }
- }
- }
-
- model.refresh();
-
- // 행 추가
- fDiagGridInsertRow(false);
-
- ]]>
- </script>
- <submission id="TRPIJ00308" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/sppiz00400/cond" resultref="/root/hidden/sppiz00400"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- </xhtml:head>
- <xhtml:body pagewidth="972" pageheight="643" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <group id="grp_tle" style="left:0px; top:0px; width:756px; height:13px; ">
- <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:132px; height:13px; ">상병관리</caption>
- </group>
- <group id="grp_biz" scroll="auto" style="left:0px; top:13px; width:956px; height:603px; ">
- <line id="line34" class="line_1" style="x1:455px; y1:25px; x2:955px; y2:25px; "/>
- <caption id="caption87" class="tit_2" style="left:455px; top:10px; width:100px; height:13px; ">
- <![CDATA[상병]]>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if (grd_diaglist.attribute("height") == "168") { // 세로로 확대된 창을 원래대로 한다.
- grd_diaglist.attribute("height") = "608";
- }else{
- grd_diaglist.attribute("height") = "168";
- }
- ]]>
- </script>
- </caption>
- <datagrid id="grd_diaglist" nodeset="/root/main/diaghist/list02/mmohdiag2" caption="S^R/O^상병코드^상 병 명^과^진료개시일^치^치식EDI^치식^pid^seqno^cretno^orddd^addflag^drinptyn^rowstat^orddeptcdkey^보험유형^drinptyn^addflag^mskind" colsep="^" colwidth="22, 31, 54, 135, 75, 86, 22, 50, 50, 132, 100, 100, 54, 100, 54, 54, 100, 100" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="1" tooltip="true" style="left:455px; top:30px; width:500px; height:571px; ">
- <col ref="diagseq" type="input" format="#,###"/>
- <col ref="ruleoutyn" type="checkbox"/>
- <col imemode="disabled" ref="diagcd" type="input" _chartype="upper" style="text-align:center; "/>
- <col ref="diagnm"/>
- <col ref="diagorddeptcd" type="combo">
- <choices>
- <itemset nodeset="/root/hidden/list2/dept">
- <label ref="depthngnm"/>
- <value ref="deptcd"/>
- </itemset>
- </choices>
- </col>
- <col ref="ordfromdd" type="inputdate" format="yyyy/mm/dd"/>
- <col ref="toothyn" visibility="hidden" style="text-align:center; "/>
- <col ref="toot" visibility="hidden"/>
- <col ref="toot1"/>
- <col ref="pid" visibility="hidden"/>
- <col ref="seqno" visibility="hidden"/>
- <col ref="cretno" visibility="hidden"/>
- <col ref="orddd" visibility="hidden"/>
- <col ref="addflag" visibility="hidden"/>
- <col ref="drinptyn" visibility="hidden"/>
- <col ref="rowstat" visibility="hidden"/>
- <col ref="orddeptcd" visibility="hidden"/>
- <col ref="insukind" visibility="hidden"/>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if(grd_diaglist.col == 3){
- grd_diaglist.dispatch("onentercell");
- grd_diaglist.editCell();
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onstartedit">
- <![CDATA[
- var row = grd_diaglist.row;
- model.makeValue("/root/hidden/list1/diag/oldseq", model.getValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/diagseq"));
- model.makeValue("/root/hidden/list1/diag/olddiagcd", model.getValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/diagcd"));
- model.makeValue("/root/hidden/list1/diag/olddiagnm", model.getValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/diagnm"));
- model.makeValue("/root/hidden/list1/diag/oldrowstat", grd_diaglist.rowstatus(row));
- model.makeValue("/root/hidden/list1/diag/oldordfromdd", model.getValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/ordfromdd"));
- ]]>
- </script>
- <script type="javascript" ev:event="onendedit">
- <![CDATA[
- // event="xforms-value-changed" 사용시에는 오류 발생한다.
- // 숫자 입력 후 마우스 커서 위치를 바꾸거나 Enter 입력 시에 호출된다.
- var col = grd_diaglist.col;
- if (col == grd_diaglist.colRef("diagseq")) { // no (상병순서)
- // 사용자가 입력한 숫자를 기준으로 상병순서 부여
- fChangeDiagNo();
-
- } else if (col == grd_diaglist.colRef("diagcd")) { // col = 3은 '상병코드'
- if (event.keyCode == '13') { // Enter 입력시에만 상병조회 Popup을 호출한다.
-
- if (model.getValue("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row +"]/diagcd") != model.getValue("/root/hidden/list1/diag/olddiagcd")) {
- model.resetInstanceNode("/root/main/diaghist/list02/mmohdiag2["+ grd_diaglist.row +"]/diagnm");
- fSearchDiageCode();
- }
- }
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onmousedown">
- <![CDATA[
- if (event.button == 3) { // 3 : 오른쪽 버튼
-
- if (grd_diaglist.isCell(event.target) && grd_diaglist.mouseRow >= grd_diaglist.fixedrows) {
- window.setPopupMenu(true, "/root/hidden/popupmenu/clcj/item", "name", "func", false);
- } else {
- window.setPopupMenu(false);
- }
- }
- ]]>
- </script>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- var row = grd_diaglist.mouseRow;
- if (grd_diaglist.isCell(event.target) && row >= grd_diaglist.fixedrows) {
- var col = grd_diaglist.mouseCol;
- if (col == grd_diaglist.colRef("diagcd") || col == grd_diaglist.colRef("diagnm")) { // col = 3은 '상병코드' / col = 4는 '상병명'
- fSearchDiageCode();
- }
- else if (col == grd_diaglist.colRef("toot1")) { // 상병 - 치식여부 (Y/N)
- var row = grd_diaglist.row;
- var diagcd = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/diagcd");
- if (diagcd) {
- model.setValue("/root/hidden/sppiz00600/cond/pid", model.getValue("/root/main/diaghist/list02/mmohdiag2[" + row + "]/pid"));
- model.setValue("/root/hidden/sppiz00600/cond/toot", model.getValue("/root/main/diaghist/list02/mmohdiag2["+ row +"]/toot"));
- model.setValue("/root/hidden/sppiz00600/cond/clamym", "");
- model.setValue("/root/hidden/sppiz00600/cond/clamdg", "");
- model.setValue("/root/hidden/sppiz00600/cond/pidsn", "");
- fSetToothPop(row, "1");
- model.removenode("/root/hidden/sppiz00600/rslt"); // SPPIZ00600_상병및처방별치식 에서 선택된 결과가 copyNode되는 경로임
- modal("SPPIZ00600" ,"", "10", "10", "SPPIZ00600", "/root/hidden/sppiz00600/cond", "/root/hidden/cond", "", ""); // SPPIZ00600_상병및처방별치식.xrw
- fGetToothPop();
- }
- }
- }
- ]]>
- </script>
- <script type="javascript" ev:event="DOMFocusOut">
- <![CDATA[
- window.setPopupMenu(false);
- ]]>
- </script>
- </datagrid>
- <caption id="caption5" class="tit_2" style="left:0px; top:10px; width:105px; height:13px; ">진료상병</caption>
- <datagrid id="grd_orddiaghist" nodeset="/root/main/diaghist/list01/mmohdiag1" caption="R/O^상병코드^상병명(한글)^과^진료일자^치식^보험유형" colsep="^" colwidth="35, 54, 135, 75, 80, 50, 100" dataheight="23" ellipsis="true" explorerbar="sort" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" tooltip="true" style="left:0px; top:30px; width:450px; height:571px; ">
- <col ref="diagkindcd" type="checkbox"/>
- <col ref="diagcd" style="text-align:center; "/>
- <col ref="diaghngnm"/>
- <col disabled="true" ref="orddeptcd" type="combo">
- <choices>
- <itemset nodeset="/root/hidden/list2/dept">
- <label ref="depthngnm"/>
- <value ref="deptcd"/>
- </itemset>
- </choices>
- </col>
- <col ref="orddd" format="yyyy/mm/dd"/>
- <col ref="toot"/>
- <col ref="insukind" visibility="hidden"/>
- </datagrid>
- <line id="line1" class="line_1" style="x1:0px; y1:25px; x2:450px; y2:25px; "/>
- <button id="btn_init" class="btn2_letter2" navindex="9" style="left:913px; top:4px; width:42px; height:19px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var diagnm = "";
- var orddeptcd = "";
- var rows = grd_diaglist.rows;
- var row = rows - 1;
-
- // 상병 그리드 빈줄 제거 ( 저장할 데이터가 아닌 입력을 위한 ROW )
- for (var j = grd_diaglist.rows - 1; j >= 1; j--) {
- var rowstatus = grd_diaglist.rowstatus(j);
- var diagcd = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagcd");
- var diagnm = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ j +"]/diagnm");
- if (rowstatus != 4 && diagcd == "" && diagnm == "") {
- grd_diaglist.deleteRow(j, false);
- }
- }
-
- // 저장할 데이터가 있는지 확인
- var updateData = getGridUpdateData(grd_diaglist);
- if (updateData == "") {
- messageBox("저장할 상병 정보가","I004","");
- fDiagGridInsertRow();
- return;
- }
-
- // 저장할 데이터가 올바른지 확인
- rows = grd_diaglist.rows;
- for (i=1; i<rows; i++) {
- var diagstatus = grd_diaglist.rowstatus(i);
- diagseq = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ i +"]/diagseq");
- diagnm = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ i +"]/diagnm");
- orddeptcd = model.getValue("/root/main/diaghist/list02/mmohdiag2["+ i +"]/orddeptcd");
- if (diagnm == "" && orddeptcd != "") {
- messageBox("상병을 입력하여 주십시요!","E999","");
- return;
- }
- if (diagnm != "" && orddeptcd == "") {
- messageBox("진료과를 선택해 주십시요!","E999","");
- return;
- }
- if (diagnm == "" && orddeptcd == "") {
- grd_diaglist.rowstatus(i) = 0;
- }
- }
-
- model.makeNode("/root/send/diaglist");
- model.setValue("/root/send/diaglist", updateData);
- if(submit("TXPID21501")){
-
- model.removeNodeset("/root/main/diaghist/list02");
- model.makeNode("/root/main/diaghist/list02");
-
- // 상병 내역 저장 후 조회
- var list02cnt = getNodesetCount("/root/hidden/rcv/list02/mmohdiag2");
-
- var openerRows = model.getValue("/root/send/row");
-
- if (list02cnt > 0) {
- copyNodeType("/root/main/diaghist/list02","/root/hidden/rcv/list02","replace");
- for (i =1; i<openerRows; i++) {
- opener.model.setValue("/root/main/grd2/unexecordlist["+ i +"]/diagyn","Y");
- }
- opener.model.refresh();
- grd_diaglist.clearStatus();
- } else {
- // 상병 그리드에 데이터가 없는 형태 (모두 삭제의 경우, opener 의 상병 값을 'N'으로 바꿔준다.
- for (i =1; i<openerRows; i++) {
- opener.model.setValue("/root/main/grd2/unexecordlist["+ i +"]/diagyn","N");
- }
- opener.model.refresh();
- grd_diaglist.clearStatus();
- }
- model.refresh();
- }
-
- // 행 추가
- fDiagGridInsertRow();
-
- ]]>
- </script>
- </button>
- </group>
- <group id="grp_btn" style="left:0px; top:616px; width:956px; height:27px; ">
- <line id="line9" class="line_6" style="x1:0px; y1:0px; x2:56px; y2:0px; "/>
- <button id="btn_close" class="btn4_letter2" navindex="10" style="left:899px; top:5px; width:56px; height:22px; ">
- <caption>닫기</caption>
- <close ev:event="DOMActivate"/>
- </button>
- </group>
- </xhtml:body>
- </xhtml:html>
|