Ext.ns('CommonJs'); //global 변수 var GLOBAL_UI_VIEW =GLOBAL_CONTEXT_PATH+"/compliance/share/uiView.view"; var GLOBAL_UI_INNER_VIEW =GLOBAL_CONTEXT_PATH+"/compliance/share/uiInnerView.view"; var GLOBAL_UX_FORM_IMAGES =GLOBAL_CONTEXT_PATH+'/js/ext-'+GLOBAL_EXT_VERSION+'/ux/images/'; Ext.BLANK_IMAGE_URL = GLOBAL_CONTEXT_PATH+'/js/ext-'+GLOBAL_EXT_VERSION+'/resources/images/default/s.gif'; //complance 공통 global 예약어 var pageLoad; //page 간 이동 & Parameter 전달 역활 var member; // 사용자 정보 CommonJs.PageLoad = function() { var sendUIParam; var sendParams; var sendStoreParams; var STORE_PARAMETER_NAME = '__storeParams'; //var receiveParams=""; this.setParams = function(sendParams){ this.sendParams = sendParams; } /* * List Page로 이동 (list에넘어온 Store Parameter 정보를 다시 넘긴다. * Param1 uiJs : js 명 * Param2 additionalData : 추가 Parameter 정보 * Param3 addStoreParam : list에서 넘어온 Store Parameter를 넘길지 여부 */ this.gotoList = function(uiJs,additionalData) { if(typeof(additionalData) == 'undefined' || additionalData == ''){ additionalData = this.getSendStorParams(); }else{ additionalData +="&"+this.getSendStorParams(); } this.gotoPage(uiJs,additionalData); } /* * Page 이동 * Param1 uiJs : js 명 * Param2 additionalData : 추가 Parameter 정보 * Param3 sendParamstore : 이전 페이지 Store에서 넘어온 Parameter */ this.gotoPage = function(uiJs,additionalData,sendParamstore) { this.sendUIParam = "uiJs=" + uiJs; if(typeof(additionalData) != "undefined" && additionalData != ""){ this.sendParams = additionalData; } if(typeof(sendParamstore) != "undefined" && sendParamstore != ""){ var options = sendParamstore.lastOptions; options.params = options.params || {}; for(var name in options.params){ if(typeof(this.sendStoreParams) != "undefined" && this.sendStoreParams != ""){ this.sendStoreParams +="&"+name+"="+options.params[name]; }else{ this.sendStoreParams =name+"="+options.params[name]; } } //end of for(...) if(typeof(this.sendStoreParams) != "undefined" && this.sendStoreParams != ""){ //alert(this.sendStoreParams); if(typeof(this.sendParams) != "undefined" && this.sendParams != ""){ this.sendParams +="&"+STORE_PARAMETER_NAME+"="+encodeURIComponent(this.sendStoreParams); }else{ this.sendParams ="&"+STORE_PARAMETER_NAME+"="+encodeURIComponent(this.sendStoreParams); } } } this.reloadTab(); } /* * 다음페이지에 넘길 Parameter 정보를 조회 * return Parmeter 정보(ex. ui=12&com=34) */ this.getSendParams = function(){ return (typeof(this.sendParams) != "undefined" && this.sendParams != null)?this.sendParams : ""; } /* * 다음페이지에 넘길 Full Url정보를 조회(Parameter 포함) * return Parmeter 정보(ex. uiJs=aaaa.js&ui=12&com=34) */ this.getSendFullParams = function(){ return this.sendUIParam+(this.getSendParams() != ""? "&"+this.getSendParams():""); } /* * 이전페이지에서 넘어온 Store Parameter정보를 조회 * return Parmeter 정보(ex. ui=12&com=34) */ this.getSendStorParams = function(){ return decodeURIComponent(this.getParameter(STORE_PARAMETER_NAME)); } /* * 이전페이지에서 넘어온 Parameter정보를 조회 * return Parmeter 정보(ex. ui=12&com=34) */ this.getParameter = function(param) { if(typeof(param) == "undefined" || param == null || param == "") return ""; var reqParams = Ext.urlDecode(window.location.search.substring(1)); if(typeof(reqParams) != "undefined" && typeof(reqParams[param]) != "undefined"){ return reqParams[param]; }else{ return ""; } }; /* * 이전페이지에서 넘어온 Parameter 정보를 Setting 한다. (Component & Store BaseParams) * return store baseParam을 Setting할 Store * return componentId 값을 Setting 할 component ID */ this.setParamValue = function(store,componentId) { if(typeof(Ext.getCmp(componentId)) == 'undefined') return; var cmpName = Ext.getCmp(componentId).name; var vName = this.getParameter(cmpName); if(vName == null) vName =""; Ext.getCmp(componentId).setValue(vName) if(typeof(store) == 'undefined') return; store.baseParams[cmpName] = vName; }; /* * Tab 정보를 Reload 한다. */ this.reloadTab = function(){ var activeTab = parent.contentPanel.getActiveTab(); activeTab.setSrc(GLOBAL_UI_VIEW+"?"+this.getSendFullParams()); activeTab.on('documentloaded', function(frame){ alert('Document is loaded');}); } /* * 조회조건 parameter 를 GET 방식으로 Setting 한다. */ this.reqParams = function(keys) { var param = ''; for(var i = 0; i < keys.length; i ++) { var obj = document.getElementById(keys[i]); if(obj != null) { param += '&' + keys[i] + '=' + obj.value; } } return param; } this.resParams = function(keys) { var param = ''; for(var i = 0; i < keys.length; i ++) { var value = this.getParameter(keys[i]); if(value != '') { param += '&' + keys[i] + '=' + value; } } return param; } this.searchLoad = function(keys) { for(var i = 0; i < keys.length; i ++) { var obj = document.getElementById(keys[i]); if(this.getParameter(keys[i]) != '') { obj.value = this.getParameter(keys[i]); } } } this.isDirty = function(key) { if(this.getParameter(key) != document.getElementById(key).value) return true; return false; } this.load = function(store) { } }; /* * user session 정보. */ CommonJs.MemberSession = function() { var companyCode;//사용자comcode var companyName;//사용자comcode var deptCode;//사용자 deptCode var deptName;//사용자 deptCode var userId;//사용자 ID var empNo;//사원번호 var nameKor;//사용자명 var nameEngFirst;//영문 사용자이름 var nameEngLast;//영문 사용자성 var positionCode;//직급코드 var positionName;//직급코드 var email;//이메일 var cellPhoneNo;//핸드폰번호 var officePhoneNo;//사무실번호 var faxNo;//팩스번호 var defaultLanguage;//defaultLanguage var userAuth; this.setCompanyCode = function(companyCode){ this.companyCode = companyCode; } this.setCompayName = function(companyName){ this.companyName = companyName; } /** * @param deptCode the deptCode to set */ this.setDeptCode = function(deptCode){ this.deptCode = deptCode; } /** * @param deptName the deptCode to set */ this.setDeptName = function(deptName){ this.deptName = deptName; } /** * @param userId the userId to set */ this.setUserId = function(userId){ this.userId = userId; } /** * @param empNo the empNo to set */ this.setEmpNo = function(empNo){ this.empNo = empNo; } /** * @param nameKor the nameKor to set */ this.setNameKor = function(nameKor){ this.nameKor = nameKor; } /** * @param nameEngFirst the nameEngFirst to set */ this.setNameEngFirst = function(nameEngFirst){ this.nameEngFirst = nameEngFirst; } /** * @param nameEngLast the nameEngLast to set */ this.setNameEngLast = function(nameEngLast){ this.nameEngLast = nameEngLast; } /** * @param positionCode the positionCode to set */ this.setPositionCode = function(positionCode){ this.positionCode = positionCode; } /** * @param positionCode the positionCode to set */ this.setPositionName = function(positionName){ this.positionName = positionName; } /** * @param email the email to set */ this.setEmail = function(email){ this.email = email; } /** * @param cellPhoneNo the cellPhoneNo to set */ this.setCellPhoneNo = function(cellPhoneNo){ this.cellPhoneNo = cellPhoneNo; } /** * @param officePhoneNo the officePhoneNo to set */ this.setOfficePhoneNo = function(officePhoneNo){ this.officePhoneNo = officePhoneNo; } /** * @param faxNo the faxNo to set */ this.setFaxNo = function(faxNo){ this.faxNo = faxNo; } /** * @param language the language to set */ this.setDefaultLanguage = function(defaultLanguage){ this.defaultLanguage = defaultLanguage; } /** * @param language the language to set */ this.setUserAuth = function(userAuth){ this.userAuth = userAuth; } } member = new CommonJs.MemberSession(); pageLoad = new CommonJs.PageLoad(); function innerOption(store, data, options) { var comObj = document.getElementById(options.params.objId); if(store.getCount() > 0) { var index = 0; var totalCnt = store.getCount(); //alert(eval(options.params.isEmpty)); var flag = eval(options.params.isEmpty); if(flag) { comObj.options[index++] = new Option("전체", ""); } for(var i = 0; i < totalCnt; i ++) { var record = store.getAt(i); if(options.params.type == 'txt') comObj.options[index++] = new Option(record.get("txtValue1"), record.get("codeName")); else if(options.params.type == 'division') comObj.options[index++] = new Option(record.get("divisionName"), record.get("divisionCode")); else comObj.options[index++] = new Option(record.get("codeName"), record.get("code")); } } } function loadRecord(store, data, options) { var frm = eval("document." + options.params.frmName); var record = store.getAt(0); for(var i = 0; i < record.fields.items.length; i ++) { var field = record.fields.items[i].name; var obj = eval("frm." + field); if(obj != undefined || obj != null) { if(typeof(record.get(field)) == 'number') { obj.value = record.get(field); }else{ obj.value = record.get(field).trim(); } //obj.value = record.get(field); } } if(options.params.exp != undefined || options.params.exp != null) { var arrObj = options.params.exp.split(','); for(var i = 0; i < arrObj.length; i ++) { var obj = eval("frm." + arrObj[i]); for(var j = 0; j < obj.length; j ++) { if(obj[j].value == record.get(arrObj[i])) obj[j].checked = true; } } } } function setValues(store, data, options) { var frm = eval("document." + options.params.frmName); var record = store.getAt(0); for(i = 0; i < frm.elements.length; i ++) { if(frm.elements[i].type == "button") continue; if(frm.elements[i].type == "radio") { if(record.get(frm.elements[i].name) == frm.elements[i].value) { frm.elements[i].checked = true; } continue; } for(var j = 0; j < record.fields.items.length; j ++) { var field = record.fields.items[j].name; if(field == frm.elements[i].name) { frm.elements[i].value = record.get(field); } } } } function getValues(frmId) { var frm = eval("document." + frmId); var params = '{'; for(i = 0; i < frm.elements.length; i ++) { if(frm.elements[i].type == "button") continue; if(i != 0 && frm.elements[i].type != "radio") params += ','; if(frm.elements[i].type == "radio") { if(frm.elements[i].checked) params += ',"' + frm.elements[i].name + '":' + Ext.util.JSON.encode(frm.elements[i].value); }else params += '"' + frm.elements[i].name + '":' + Ext.util.JSON.encode(frm.elements[i].value); } return params + '}'; } function setEnabled(frmName, pkArr) { var frm = eval("document."+frmName); for(i = 0; i < frm.elements.length; i ++) { if(pkArr.length == 0) { frm.elements[i].readOnly = false; } else { for(j = 0; j < pkArr.length; j ++) { if(frm.elements[i].name == pkArr[j]) frm.elements[i].readOnly = false; } } } } function setDisabled(frmName, pkArr) { var frm = eval("document."+frmName); for(i = 0; i < frm.elements.length; i ++) { if(pkArr.length == 0) { frm.elements[i].readOnly = true; } else { for(j = 0; j < pkArr.length; j ++) { if(frm.elements[i].name == pkArr[j]) frm.elements[i].readOnly = true; } } } } Ext.util.Format.storeRenderer = function(store){ return function(value){ var record = store.getAt(store.findExact('code', value)); return record ? record.get('txtValue1') : record.get('codeName'); } }