123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 단문메시지전송 (ZMS00100.js)
- - Version :
- 1) : Ver.1.00.00
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- /**
- * @group :
- * @ver : 2006.12.20
- * @by : 이상준
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 초기화
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize() {
- opt_sender.value = getUserName(); // 사용자이름을 가져와서 보여준다.
- frdocheck();
-
- // 그리드의 모든 데이터를 입력상태로 바꾼다.
- for (i=grd_recvrlist.fixedRows; i<grd_recvrlist.rows; i++)
- {
- grd_recvrlist.rowstatus(i) = 1;
- }
- // 비어있는 노드를 체크한다.
- var bizabbr = instance1.selectSingleNode("/root/main/bizabbr");
- var replytelno = instance1.selectSingleNode("/root/main/replytelno");
- var rsrvyn = instance1.selectSingleNode("/root/main/rsrvyn");
- var rsrvdate = instance1.selectSingleNode("/root/main/rsrvdate");
- var rsrvtime = instance1.selectSingleNode("/root/main/rsrvtime");
- var msgcnts = instance1.selectSingleNode("/root/main/msgcnts");
- if(bizabbr == null) { model.makenode("/root/main/bizabbr"); }
- if(replytelno == null) { model.makenode("/root/main/replytelno"); }
- if(rsrvyn == null) { model.makenode("/root/main/rsrvyn"); }
- if(rsrvdate == null) { model.makenode("/root/main/rsrvdate"); }
- if(rsrvtime == null) { model.makenode("/root/main/rsrvtime"); }
- if(msgcnts == null) { model.makenode("/root/main/msgcnts"); }
- // 업무대분류 코드 소문자로 변환
- var bizabbr_var = model.getValue("/root/main/bizabbr");
- model.setValue("/root/main/bizabbr",bizabbr_var.toLowerCase());
- model.refresh();
-
- fGetMsgList();
- }
- function fGetMsgList() {
- if (submit("TRZMS00501")) {
- fAddMsgListLastRow();
- }
- }
- function fSaveTempMsgList() {
- var updateList = getGridUpdateData(grd_msg);
-
- if(updateList.length > 0) {
- model.setValue("/root/send_msg", updateList);
-
- if (submit("TXZMS00501")) {
- fAddMsgListLastRow();
- }
- }
- }
- function fAddMsgListLastRow() {
- grd_msg.addRow(false);
- grd_msg.rowStatus(grd_msg.rows - 1) = 0;
-
- for(var i = grd_msg.fixedRows; i < grd_msg.rows; i++) {
- grd_msg.cellstyle("background-image", i, grd_msg.colRef("save")) = "../../../com/commonweb/images/icon_leveldown_over.gif";
- }
-
- grd_msg.refresh();
- }
- /**
- * @group :
- * @ver : 2006.12.20
- * @by : 이상준
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드에서 선택한 수신자를 삭제하는 함수
- * @return :
- * @---------------------------------------------------
- */
- function fgriddelete(grid)
- {
- var cur_row = grid.row; // 행 번호 가져오기
- var iStatus = grid.rowstatus(cur_row);
- var d_cnt = 0;
- var selectedRows = new Array();
- for (var i=grid.fixedRows; i<grid.rows; i++)
- {
- var chk = model.getValue("/root/main/recvrlist["+i+"]/chk");
- if (chk == "Y")
- {
- selectedRows[d_cnt++] = i;
- }
- }
- if(d_cnt < 0) {
- alert("삭제할 행을 선택해주세요.");
- return;
- }
- for (var i=d_cnt-1; i>=0; i--)
- {
- grid.deleterow(selectedRows[i],false);
- }
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2006.12.20
- * @by : 이상준
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 예약여부에 따라서 발송일시 활성화/비활성화
- * @return :
- * @---------------------------------------------------
- */
- function frdocheck()
- {
- var req_chk = model.getValue("/root/main/rsrvyn");
- if (req_chk==0)
- {
- ipt_trsmreqdt_date.disabled = true;
- ipt_trsmreqdt_time.disabled = true;
-
- }
- else
- {
- ipt_trsmreqdt_date.disabled = false;
- ipt_trsmreqdt_time.disabled = false;
- }
- }
- /**
- * @group :
- * @ver : 2006.12.20
- * @by : 이상준
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 폼값을 체크함
- * @return :
- * @---------------------------------------------------
- */
- function fSMSSubmit(ref)
- {
- // 각 필드값을 체크한다.
- if(model.getValue(ref+"/replytelno").getTrim()=="")
- {
- messageBox("발신자 번호는 ", "I003");
- model.setFocus("ipt_callback");
- return;
- }
- var temp = model.getValue(ref+"/replytelno").length;
- if(temp <9)
- {
- messageBox("발신자 번호는 9자리이상을 ", "C001");
- model.setFocus("ipt_callback");
- return;
- }
- if(model.getValue(ref+"/rsrvyn").getTrim()=="")
- {
- messageBox("예약여부는 ", "I003");
- model.setFocus("rdo_rsrvyn");
- model.setValue(ref+"/rsrvyn", "0");
- frdocheck();
- rdo_rsrvyn.refresh();
- return;
- }
- if(model.getValue(ref+"/rsrvyn")==1 && // 예약설정이 1 인경우에만 체크한다.
- model.getValue(ref+"/rsrvdate").getTrim()=="")
- {
- messageBox("예약일자는 ", "I003");
- model.setFocus("ipt_trsmreqdt_date");
- model.setFocus("rsrvdate");
- return;
- }
- if(model.getValue(ref+"/rsrvyn")==1 && // 예약설정이 1 인경우에만 체크한다.
- model.getValue(ref+"/rsrvtime").getTrim()=="")
- {
- messageBox("예약시간은 ", "I003");
- model.setFocus("ipt_trsmreqdt_time");
- return;
- }
- // 메세지ID로 송신가능토록 수정 by 조중래 20120626
- if(model.getValue(ref+"/msgfrmtid").getTrim()==""
- && model.getValue(ref+"/msgcnts").getTrim()=="")
- {
- messageBox("메시지내용은 ", "I003");
- return;
- }
- if(model.getValue(ref+"/msgcnts").getByteLength() > 80)
- {
- messageBox("메시지내용이 80byte를 ", "E003");
- return;
- }
- if(grd_recvrlist.rows <= grd_recvrlist.fixedRows) messageBox("수신자정보는 ", "I003");
- // 수신자 리스트가 담긴의 그리드를 체크한다.
- var nodeset = grd_recvrlist.nodeset;
- var recvrnm;
- var recvrtelno;
- var cnt = 0;
- for (i=grd_recvrlist.fixedRows; i<grd_recvrlist.rows; i++)
- {
- cnt++;
- recvrnm = model.getValue(nodeset+"["+cnt+"]/recvrnm");
- recvrtelno = model.getValue(nodeset+"["+cnt+"]/recvrtelno");
- if(recvrnm.getTrim()=="")
- {
- messageBox(cnt+" 번째 수신자 이름을 ", "C001");
- grd_recvrlist.row = i;
- return;
- }
- if(recvrtelno.length <10)
- {
- messageBox(cnt+" 번째 수신자 전화번호는 10자리이상을 ", "C001");
- grd_recvrlist.row = i;
- return;
- }
- }
- model.copyNode("/root/send",ref+"");
- //model.removeNode("/root/send/recvrlist");
- model.resetInstanceNode("/root/send/recvrlist");
- model.removeNode("/root/send/recvrlist/chk");
- model.removeNode("/root/send/recvrlist/recvrnm");
- model.removeNode("/root/send/recvrlist/recvrtelno");
- //model.makeNode("/root/send/recvrlist");
- // 메세지ID로 송신가능토록 수정 by 조중래 20120626
- if(model.getValue(ref+"/msgfrmtid").getTrim()=="")
- {
- model.setValue("/root/send/recvrlist",grd_recvrlist.getUpdateData());
- } else {
- model.makeValue("/root/send/recvrlist",
- "recvrnm▦recvrtelno▩"
- + model.getValue("/root/main/recvrlist/recvrnm") + "▦"
- + model.getValue("/root/main/recvrlist/recvrtelno") + "▩");
- }
-
- if (submit("TXZMS00101"))
- {
- alert(model.getValue("/root/hidden/msg/contents"));
- }
- }
- /**
- * @group :
- * @ver : 2006.12.20
- * @by : 이상준
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 바이트 단위로 문자열 자르는 함수
- * @return :
- * @---------------------------------------------------
- */
- function trim_byte(check_string, max_byte_size) {
- var strLength = check_string.length;
- var char_ASCII;
- var i = 0;
- var total_byte = 0;
- var result;
- while(i<check_string.length){
- char_ASCII = check_string.charCodeAt(i);
- //숫자
- if (char_ASCII >= 48 && char_ASCII <= 57 ) {
- total_byte++;
- //영어
- } else if ((char_ASCII>=65 && char_ASCII<=90) || (char_ASCII>=97 && char_ASCII<=122)) {
- total_byte++;
- //특수기호 스페이스 포함(32)
- } else if ((char_ASCII>=32 && char_ASCII<=47) || (char_ASCII>=58 && char_ASCII<=64)
- || (char_ASCII>=91 && char_ASCII<=96) || (char_ASCII>=123 && char_ASCII<=126)) {
- total_byte++;
- //한글
- } else if ((char_ASCII >= 12592) || (char_ASCII <= 12687)) {
- total_byte = total_byte + 2;
- }
- i++;
- }
-
- var tmp = total_byte - max_byte_size;
- if (tmp > 0){
- result = check_string.substr(0, strLength - tmp);
- } else {
- result = check_string;
- }
- return result;
- }
- String.prototype.cut = function(len) {
- var str = this;
- var l = 0;
- for (var i=0; i<str.length; i++) {
- l += (str.charCodeAt(i) > 128) ? 2 : 1;
- if (l > len) return str.substring(0,i);
- }
- return str;
- }
- /**
- * @group :
- * @ver : 2006.12.20
- * @by : 이상준
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드의 전체 행을 선택함
- * @return :
- * @---------------------------------------------------
- */
- function fSelectAll(grid)
- {
- for (i=grid.fixedRows; i<grid.rows; i++)
- {
- model.setValue("/root/main/recvrlist["+i+"]/chk", "true") ;
- }
- model.refresh();
- }
|