123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- /* ---------------------------------------------------------------------
- 회복실 코드관리(SMMNP00710.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- : Create By taebum
- : 2008-06-02 오전 8:55:01
- ---------------------------------------------------------------------- */
- var sGGridXPath = "/root/main/list/codelists";
- /**
- * 초기화
- *
- */
- function fInitialize(){
- model.removeNodeset("/root/main/list/codelists");
- model.resetInstanceNode("/root/send");
- model.refresh();
- cmb_codeflag.select(0);
- fSetGridCaptionInfo(cmb_codeflag.value);
- }
- //codeflag에 대한 Grid Caption 정보 변경
- function fSetGridCaptionInfo(pFlag){
- if(pFlag == "01"){ //배액관
- grd_codelist.caption = "*구분^*배액관코드^*명칭^*규격^*개수^*부위^부연설명";
- }else if(pFlag == "02"){//합병증
- grd_codelist.caption = "*구분^*합병증코드^*합병증명^부연설명1^부연설명2^부연설명3^부연설명4";
- }
- //grd_codelist.refresh();
- }
- /**
- * 그리드 행추가 버튼을 클릭하였을 경우 이벤트
- *
- */
- function fClickRowAddBtn(){
- grd_codelist.addRow(); // 입력할 행 추가.
- var cur_row = grd_codelist.row; // 추가된 행 번호 가져오기
- var cnt_row = grd_codelist.rows; // 현재 행의 갯수 가져오기
-
- var codeflag = cmb_codeflag.value;
-
- model.setValue(sGGridXPath+"["+cur_row+"]/codeflag",codeflag);
- grd_codelist.refresh();
-
- grd_codelist.row = cur_row;
- grd_codelist.select(cur_row, 4) = true;
- grd_codelist.editcell();
- //grd_codelist.colDisabled(1);
- }
- /**
- * 그리드 Row가 추가될 경우 이벤트
- *
- */
- function fRowChanged(){
- var cur_row = grd_codelist.row;
- if ( cur_row > 0 ) {
- model.copyNode("/root/main/item","/root/main/list/codelists["+cur_row+"]");
- model.refresh();
- }
- }
- /**
- * 그리드 ValueChanged가 발생되었을 경우 이벤트
- *
- */
- function fGridValueChanged(){
- var cur_row = grd_codelist.row; // 추가된 행 번호 가져오기
- var cur_cel = grd_codelist.col;
- var cnt_row = grd_codelist.rows; // 현재 행의 갯수 가져오기
- var stat = grd_codelist.colstatus(0);
- }
- /**
- * 삭제 버튼을 클릭하였을 경우 이벤트
- *
- */
- function fClickDeleteBtn(){
- var cur_row = grd_codelist.row; // 행 번호 가져오기
- var iStatus = grd_codelist.rowstatus(cur_row);
-
- if(cur_row <= 0 || cur_row =="undefined") {
- alert("삭제할 행을 선택하시기 바랍니다...");
- return;
- }
-
- if (iStatus == 1 || iStatus == 3){ // 새로 삽입된 행이면
- grd_codelist.deleteitem(cur_row);
-
- }else if (iStatus == 4){ // 삭제로 표시된 행이면
- grd_codelist.removestatus(cur_row, "delete");
- }else{
- grd_codelist.addStatus(cur_row, "delete");
- }
- }
- /*
- * 저장 버튼을 클릭하였을 경우 이벤트
- *
- */
- function fOnClickSaveBtn(){
- if(!checkGridUpdate(grd_codelist)){
- alert("저장할 자료가 존재하지 않습니다.");
- return;
- }
- if(checkGridField(grd_codelist,"codeflag▦code▦")==false){
- alert("데이터중에 비어있는 필수필드가 있습니다.");
- return;
- }
- model.setValue("/root/send/listdata",grd_codelist.getUpdateData());
- if ( submit("TXMNP00710") ) {
- grd_codelist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
- //changeNodeSet();
- }
- }
- /**
- * @group :
- * @ver : 2006.12.20
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @return : bool
- * @---------------------------------------------------
- */
- function checkGridUpdate(grid)
- {
- var iData = grid.getUpdateDataXml("insert");
- var uData = grid.getUpdateDataXml("update");
- var dData = grid.getUpdateDataXml("delete");
- if (iData=="" && uData=="" && dData=="") return false;
- else return true;
- }
- /**
- * @group :
- * @ver : 2006.12.20
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @return : bool
- * @---------------------------------------------------
- */
- function checkGridField(grid, field){
- var nodeset = grid.nodeset;
- var iStatus;
- //var iData = grid.getUpdateDataXml("insert");
- for (i=grid.fixedRows; i<grid.rows; i++){
- iStatus = grid.rowstatus(i);
- if (iStatus == 1 || iStatus == 3){
- var fieldArr = field.split("▦");
- if(fieldArr.length < 1){
- return false;
- }
- for(var j = 0; j < fieldArr.length; j++){
- if(fieldArr[j] == null || fieldArr[j] == "" || fieldArr[j] == "undefined"){
- continue;
- }
-
- if(model.getValue(nodeset+"["+i+"]/"+fieldArr[j])=="") return false;
- }
- }
- }
- return true;
- }
- /* @group :
- * @ver : 2008-06-02 오후 5:01:10
- * @by : taebum
- * @-----------------------------------
- * @type : function
- * @access : public
- * @desc : 조회 및 검색
- */
- function fbtnSearch() {
- model.removeNodeSet("/root/main/list/codelists");
- model.refresh();
- submit("TRMNP00710");
- //changeNodeSet();
- }
- /* @group :
- * @ver : 2008-06-02 오후 5:19:26
- * @by : taebum
- * @-----------------------------------
- * @type : function
- * @access : public
- * @desc : Excel 버튼 클릭시 이벤트
- */
- function fOnClickExcelBtn(){
- var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
-
- if (fileName != ""){
- grd_codelist.saveExcel(fileName);
- }
- }
- /* ------------------------------------------------- */
- /* ------End Of List ------------------------------- */
- /* -------------------------------------------------- */
|