123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <!--
- * Name : SPCCN00100_SMS전송
- * Summary : SMS전송
- * Programmer : 최정환
- * Date Written : 2007.07.02
- * History : 2008.06.16 차재훈
- * Remark :
- -->
- <?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">
- <xhtml:head>
- <xhtml:title>SMS전송</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <msgattr>
- <trsmdd/>
- <bizflag/>
- <bizdetlcd/>
- <rsrvdd/>
- <rsrvtm/>
- <replytelno/>
- <msgcnts/>
- <rsrvyn>N</rsrvyn>
- <recvrpid/>
- <urgntflag/>
- <delivedd/>
- <delivereqtm/>
- <cmpncd/>
- <cmpnnm/>
- <orddrid/>
- <prcpcd/>
- <msglrgcd/>
- <msgmdlcd/>
- <msgsmlcd/>
- <recvrlist/>
- <aprvyn>1</aprvyn>
- <aprvreqsmmcnts/>
- <sanctflag>2</sanctflag>
- </msgattr>
- <msgsmllist>
- <msgsmlcd/>
- <smstrsmcntcno/>
- <msgcnts/>
- </msgsmllist>
- <recvrinfo>
- <recvrlist>
- <chk>N</chk>
- <recvrnm/>
- <recvrtelno/>
- </recvrlist>
- </recvrinfo>
- </main>
- <send>
- <info>
- <msglrgcd/>
- <msgmdlcd/>
- <chnlflag/>
- </info>
- <data>
- </data>
- </send>
- <init>
- <chnllrglist>
- <chnllrggrup>
- <msglrgnm/>
- <msglrgcd/>
- </chnllrggrup>
- </chnllrglist>
- <chnlmdllist>
- <chnlmdlgrup>
- <msgmdlnm/>
- <msgmdlcd/>
- <msglrgcd/>
- </chnlmdlgrup>
- </chnlmdllist>
- </init>
- <hidden>
- <messagecnt/>
- <messagealtyn>N</messagealtyn>
- </hidden>
- <fwd>
- <searchtype/>
- <searchname/>
- <type>sms</type>
- </fwd>
- </root>
- </instance>
- <submission id="TRCNS00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/info" resultref="/root/init/chnllrglist/chnllrggrup"/>
- <submission id="TRCNS00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/info" replace="instance" resultref="/root/init/chnlmdllist/chnlmdlgrup"/>
- <submission id="TRCCN00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/info" replace="instance" resultref="/root/main/msgsmllist"/>
- <submission id="TXCCN00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/msgattr"/>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- //cmb_searchtype 선택
- cmb_searchtype.select(0);
- //fInitialize();
-
- // SMS메시지 그리드의 col을 초기화 시켜준다.
- model.removenodeset("/root/main/msgsmllist"); // SMS 템플릿 리스트
-
- // 메시지 분류코드 설정 (SMS : S)
- model.setValue("/root/send/info/chnlflag", "S");
-
- // 메시지 대그룹을 가져온다
- submit("TRCNS00201");
-
- // 전송일자를 입력해준다.
- model.setValue("/root/main/msgattr/trsmdd",getCurrentDate());
-
- // 예약일자와 예약시간 비활성
- ipt_trsmreqdt_date.disabled = true;
- ipt_trsmreqdt_time.disabled = true;
-
- ]]>
- </script>
- <script type="javascript">
- <![CDATA[
- // 입력한글자수 체크
- function fGetCheckMsgCnts() {
-
- var strlen = 0;
- var str = tar_contents.currentText
-
- for (var i=0; i<str.length; i++) {
- strlen += (str.charCodeAt(i) > 128) ? 2 : 1;
- }
-
- var messagealtyn = model.getValue("/root/hidden/messagealtyn")
- if (strlen > 80 && messagealtyn == "N") {
- model.setValue("/root/hidden/messagealtyn", "Y")
- messageBox("입력글자가 80 byte를 ", "E003");
- return false;
- }
-
- if (strlen > 240) {
- model.setValue("/root/hidden/messagecnt", strlen);
- ipt_messagecnt.refresh();
- messageBox("최대입력글자인 240 byte를 ", "E003");
- return false;
- }else{
- model.setValue("/root/hidden/messagecnt", strlen);
- ipt_messagecnt.refresh();
- return true;
- }
-
- }
-
- // 선택한 채널관리 대분류에 따른 채널관리 중분류를 가져온다.
- function fGetChnlMdlCd() {
-
- var msglrgcd = model.getValue("/root/main/msgattr/msglrgcd");
- model.setValue("/root/send/info/msglrgcd",msglrgcd);
- submit("TRCNS00202");
- }
-
- // 선택한 채널관리 중분류에 따른 메시지 리스트를 가져온다.
- function fGetChnlSmlCd() {
-
- var msgmdlcd = model.getValue("/root/main/msgattr/msgmdlcd");
- model.setValue("/root/send/info/msgmdlcd",msgmdlcd);
- submit("TRCCN00101");
- }
-
- // 즉시전송과 예약전송 선택에 따른 예약일자 및 예약시간 활성화
- function frdocheck()
- {
- var req_chk = model.getValue("/root/main/msgattr/rsrvyn");
- if (req_chk=="N")
- {
- ipt_trsmreqdt_date.disabled = true;
- ipt_trsmreqdt_time.disabled = true;
- // 즉시전송 선택시 기존 입력한 예약일자 및 예약시간 Clear
- model.setValue("/root/main/msgattr/delivedd", "");
- model.setValue("/root/main/msgattr/delivereqtm", "");
- model.refresh();
- }
- else
- {
- ipt_trsmreqdt_date.disabled = false;
- ipt_trsmreqdt_time.disabled = false;
- }
- }
-
- // 그리드에 선택한 수신자를 삭제하는 함수
- 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/recvrinfo/recvrlist["+i+"]/chk");
- if (chk == "Y")
- {
- selectedRows[d_cnt++] = i;
- }
- }
- if(d_cnt == 0) {
- messageBox("삭제할 행을", "C002");
- return;
- }
-
- for (var i=d_cnt-1; i>=0; i--)
- {
- grid.deleterow(selectedRows[i],false);
- }
-
- model.refresh();
- }
-
- // 메시지 전송
- function fSendMsg(ref) {
- var cnt = fGetCheckMsgCnts();
-
- if(!cnt){
- return;
- }
-
- // 각 필드값을 체크한다.
- if(model.getValue("/root/main/msgattr/aprvreqsmmcnts")=="")
- {
- messageBox("전송사유는 ", "I003");
- model.setFocus("ipt_aprvreqsmmcnts");
- return;
- }
-
- if(model.getValue("/root/main/msgattr/sanctflag")=="")
- {
- messageBox("결재구분은 ", "I003");
- model.setFocus("cmb_sanctflag2");
- return;
- }
-
- if(model.getValue(ref+"/replytelno").getTrim()=="")
- {
- messageBox("회신 번호는 ", "I003");
- model.setFocus("ipt_callback");
- return;
- }
-
- var temp = model.getValue(ref+"/replytelno").length;
-
- if(temp <8)
- {
- messageBox("회신 번호는 8자리 이상을 ", "C001");
- model.setFocus("ipt_callback");
- return;
- }
-
- if(model.getValue(ref+"/rsrvyn").getTrim()=="")
- {
- messageBox("예약여부는 ", "I003");
- model.setFocus("rdo_rsrvyn");
- model.setValue(ref+"/rsrvyn", "N");
- frdocheck();
- rdo_rsrvyn.refresh();
- return;
- }
-
- if(model.getValue(ref+"/rsrvyn")=="Y" && // 예약설정이 Y 인경우에만 체크한다.
- model.getValue(ref+"/delivedd").getTrim()=="")
- {
- messageBox("예약일자는 ", "I003");
- model.setFocus("ipt_trsmreqdt_date");
- return;
- }
- if(model.getValue(ref+"/rsrvyn")=="Y" && // 예약설정이 Y 인경우에만 체크한다.
- model.getValue(ref+"/delivereqtm").getTrim()=="")
- {
- messageBox("예약시간은 ", "I003");
- model.setFocus("ipt_trsmreqdt_time");
- return;
- }
-
- if(model.getValue(ref+"/msgcnts").getTrim()=="")
- {
- messageBox("메시지내용은 ", "I003");
- 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++;
- model.setValue("/root/main/recvrinfo/recvrlist["+cnt+"]/chk","N");
- recvrnm = model.getValue("/root/main/recvrinfo/recvrlist["+cnt+"]/recvrnm");
- recvrtelno = model.getValue("/root/main/recvrinfo/recvrlist["+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;
- }
- }
-
- var nodeList = instance1.selectNodes("/root/main/recvrinfo/recvrlist");
- var rCSV = getNodeListCSV(nodeList);
-
- model.setValue("/root/main/msgattr/recvrlist", rCSV);
-
- // model.makeValue("/root/main/msgattr/recvrlist", grd_recvrlist.getUpdateData());
-
- // 예약전송시 예약일자 및 예약시간 설정
- var rsrvdd = model.getValue("/root/main/msgattr/trsmdd");
- var rsrvtm = getCurrentTime().substring(0,4);
-
- // 수동전송시 기본값 설정
- var delivedd = model.getValue("/root/main/msgattr/delivedd");
- var delivereqtm = model.getValue("/root/main/msgattr/delivereqtm");
- var bizflag = model.getValue("/root/main/msgattr/bizflag");
-
- if (bizflag == "") {
- model.setValue("/root/main/msgattr/bizflag", "2"); // 수동전송은 업무구분을 무조건 2로 한다.
- model.setValue("/root/main/msgattr/bizdetlcd", "99"); // 수동전송은 업무상세구분을 무조건 99로 한다.
- }
- if (delivedd == "") {
- model.setValue("/root/main/msgattr/delivedd", rsrvdd); // 발송요청일자
- }
-
- if (delivereqtm == "") {
- model.setValue("/root/main/msgattr/delivereqtm", rsrvtm); // 발송요청시간
- }
- //전송등록
- if (submit("TXCCN00101")){
- var approvalflag = model.getValue("/root/main/msgattr/sanctflag");
- if(approvalflag == 1){
- messageBox("승인요청 목록에 등록되었습니다. 승인 후 전송됩니다.","I099");
- }else{
- messageBox("메시지가 성공적으로 전송","I001");
- }
-
- //model.resetInstanceNode("/root/main/msgattr/delivedd");
- //model.resetInstanceNode("/root/main/msgattr/delivereqtm");
-
- model.setValue("/root/main/msgattr/msgcnts", "");
- model.setValue("/root/main/msgattr/replytelno", "");
- model.resetInstanceNode("/root/main/recvrinfo/recvrlist");
- model.setValue("/root/main/msgattr/rsrvyn", "N");
- ipt_trsmreqdt_date.disabled = true;
- ipt_trsmreqdt_time.disabled = true;
- model.setValue("/root/main/msgattr/delivedd", "");
- model.setValue("/root/main/msgattr/delivereqtm", "");
- model.setValue("/root/hidden/messagecnt", "0");
- model.setValue("/root/main/msgattr/aprvreqsmmcnts", "");
- model.refresh();
- } else {
- messageBox("메시지 등록/전송이","E009");
- }
- }
- ]]>
- </script>
- </model>
- <script type="javascript">
- <![CDATA[
- //----------------------------------------//
- // 그리드 전체 행 선택 함수 //
- //----------------------------------------//
- function fGridAllRow(grid) {
- var rows = grid.rows;
- var fRow = grid.fixedRows;
- var chk = grid.valueMatrix(1,grid.colRef("chk"));
- if(chk == "N"){
- for(var i=fRow; i<rows; i++){
- grid.valueMatrix(i,grid.colRef("chk"))="Y";
- }
- }else{
- for(var i=fRow; i<rows; i++){
- grid.valueMatrix(i,grid.colRef("chk"))="N";
- }
- }
- model.refresh();
- }
-
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="750" pageheight="607" guideline="1,251;2,591;" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
- <group id="group1" class="sms" style="left:0px; top:0px; width:251px; height:593px; ">
- <textarea id="tar_contents" ref="/root/main/msgattr/msgcnts" style="left:26px; top:65px; width:197px; height:174px; padding:10; background-color:transparent; ">
- <script type="javascript" ev:event="onkeyup">
- <![CDATA[
- fGetCheckMsgCnts();
- ]]>
- </script>
- </textarea>
- <input id="ipt_messagecnt" ref="/root/hidden/messagecnt" class="input_default" editable="false" maxlength="20" style="left:130px; top:44px; width:30px; height:19px; text-align:right; "/>
- <caption id="caption8" style="left:160px; top:44px; width:40px; height:19px; ">/ 80</caption>
- <button id="btn_add" class="num_add" style="left:49px; top:479px; width:73px; height:23px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var i;
- grd_recvrlist.addItem();
- i = grd_recvrlist.rows;
- grd_recvrlist.bottomRow = i;
- grd_recvrlist.select(i, 1, i, 1) = true;
- ]]>
- </script>
- </button>
- <button id="btn_delete" class="num_del" style="left:128px; top:479px; width:73px; height:23px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fgriddelete(grd_recvrlist);
- ]]>
- </script>
- </button>
- <button id="btn_trsm" class="sms_send" style="left:57px; top:534px; width:62px; height:21px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //fSMSSubmit("/root/main");
- fSendMsg("/root/main/msgattr");
- ]]>
- </script>
- </button>
- <button id="btn_cncl" class="sms_cancel" style="left:127px; top:534px; width:62px; height:21px; ">
- <caption/>
- <close ev:event="DOMActivate"/>
- </button>
- <line id="line1" style="x1:28px; y1:505px; x2:221px; y2:505px; border-color:#C4CDDB; "/>
- <!--<button id="button5" class="send_name" style="left:35px; top:437px; width:52px; height:10px; ">
- <caption/>
- </button>-->
- <select1 id="rdo_rsrvyn" ref="/root/main/msgattr/rsrvyn" appearance="full" cols="2" overflow="visible" style="left:18px; top:511px; width:91px; height:17px; text-align:left; border-style:none; ">
- <choices>
- <item>
- <label>일반</label>
- <value>N</value>
- </item>
- <item>
- <label>예약</label>
- <value>Y</value>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- frdocheck();
- ]]>
- </script>
- </select1>
- <input id="ipt_trsmreqdt_date" ref="/root/main/msgattr/delivedd" class="input_default" imemode="disabled" inputtype="date" validateformat="true" style="left:106px; top:510px; width:80px; height:19px; "/>
- <input id="ipt_trsmreqdt_time" ref="/root/main/msgattr/delivereqtm" class="input_default" imemode="disabled" format="hh:nn" showmask="true" validateformat="true" style="left:188px; top:510px; width:40px; height:19px; "/>
- <caption id="caption1" style="left:39px; top:246px; width:70px; height:17px; ">회신 번호 :</caption>
- <input id="ipt_callback" ref="/root/main/msgattr/replytelno" class="input_default" imemode="disabled" maxlength="11" style="left:105px; top:245px; width:109px; height:19px; "/>
- <button id="btn_address" class="btn2_letter3" style="left:35px; top:284px; width:53px; height:19px; ">
- <caption>주소록</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- modal("SPCCN00500", "", "", "", "SPCCN00500", "/root/fwd", "/root/fwd");
- if ( grd_recvrlist.valueMatrix(1,grd_recvrlist.colRef("recvrnm")) == "" && grd_recvrlist.valueMatrix(1,grd_recvrlist.colRef("recvrtelno")) == "" ) {
- grd_recvrlist.deleterow(1, false);
- }
- //window.load("SPCCN00500_주소록검색.xrw", "modal", "addr_pop", "align:center;", "/root/fwd", "/root/fwd");
- ]]>
- </script>
- </button>
- <button id="btn_addfile" class="btn2_letter9" style="left:95px; top:284px; width:119px; height:19px; ">
- <caption>외부파일 가져오기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- modal("SPCCN00600", "", "", "", "SPCCN00600", "/root/fwd", "/root/fwd");
- if ( grd_recvrlist.valueMatrix(1,grd_recvrlist.colRef("recvrnm")) == "" && grd_recvrlist.valueMatrix(1,grd_recvrlist.colRef("recvrtelno")) == "" ) {
- grd_recvrlist.deleterow(1, false);
- }
- //window.load("SPCCN00600_외부파일가져오기.xrw", "modal", "addr_pop", "align:center;", "/root/fwd", "/root/fwd");
- ]]>
- </script>
- </button>
- <datagrid id="grd_recvrlist" nodeset="/root/main/recvrinfo/recvrlist" class="datagrid_sms" caption="^수신자명^전화번호" colwidth="22, 60, 100" dataheight="23" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" style="left:26px; top:335px; width:195px; height:142px; ">
- <col class="sms" checkvalue="Y,N" ref="chk" type="checkbox" style="text-align:center; "/>
- <col ref="recvrnm" type="input"/>
- <col ref="recvrtelno" type="input" maxlength="11"/>
- </datagrid>
- <button id="btn_allchk" class="btn2_letter2" style="left:27px; top:335px; width:42px; height:19px; ">
- <caption>All</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGridAllRow(grd_recvrlist);
- ]]>
- </script>
- </button>
- <select1 id="cmb_searchtype" ref="/root/fwd/searchtype" class="combo_default" appearance="minimal" style="left:26px; top:310px; width:70px; height:19px; ">
- <choices>
- <item>
- <label>전체</label>
- <value/>
- </item>
- <item>
- <label>환자</label>
- <value>1</value>
- </item>
- <item>
- <label>교직원</label>
- <value>2</value>
- </item>
- <item>
- <label>기타</label>
- <value>3</value>
- </item>
- </choices>
- </select1>
- <button id="btnicon_search3" class="icon_search" style="left:211px; top:311px; width:16px; height:16px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var clntnm = model.getValue("/root/fwd/searchname");
- if (clntnm.length < 2){
- messageBox("검색은 최소 2글자 이상 ", "C001");
- model.setFocus("ipt_searchname");
- }else{
- modal("SPCCN00500", "", "", "", "SPCCN00600", "/root/fwd", "/root/fwd");
- if ( grd_recvrlist.valueMatrix(1,grd_recvrlist.colRef("recvrnm")) == "" && grd_recvrlist.valueMatrix(1,grd_recvrlist.colRef("recvrtelno")) == "" ) {
- grd_recvrlist.deleterow(1, false);
- }
- }
- ]]>
- </script>
- </button>
- <input id="ipt_searchname" ref="/root/fwd/searchname" style="left:100px; top:310px; width:105px; height:19px; ">
- <script type="javascript" ev:event="onkeyup">
- <![CDATA[
- inputEnterKey("btnicon_search3", "DOMActivate");
- ]]>
- </script>
- </input>
- </group>
- <group id="group2" style="left:256px; top:0px; width:474px; height:593px; ">
- <caption id="caption9" class="tit_2" style="left:5px; top:10px; width:111px; height:13px; ">SMS 승인정보</caption>
- <line id="line2" class="line_1" style="x1:0px; y1:26px; x2:474px; y2:26px; "/>
- <caption id="cap_dtmntitl" class="cell_1" style="left:0px; top:30px; width:105px; height:23px; text-align:center; vertical-align:middle; ">전송사유</caption>
- <input id="ipt_aprvreqsmmcnts" ref="/root/main/msgattr/aprvreqsmmcnts" class="input_essential" maxlength="100" style="left:108px; top:32px; width:365px; height:19px; "/>
- <line id="line4" class="line_2" style="x1:0px; y1:53px; x2:474px; y2:53px; "/>
- <caption id="caption2" class="cell_1" style="left:0px; top:55px; width:105px; height:23px; text-align:center; vertical-align:middle; ">결재구분</caption>
- <line id="line3" class="line_2" style="x1:0px; y1:78px; x2:474px; y2:78px; "/>
- <caption id="caption3" class="tit_2" style="left:5px; top:90px; width:111px; height:13px; ">SMS 즉시전송</caption>
- <line id="line5" class="line_1" style="x1:0px; y1:105px; x2:474px; y2:105px; "/>
- <line id="line6" class="line_2" style="x1:0px; y1:133px; x2:474px; y2:133px; "/>
- <caption id="caption4" class="cell_1" style="left:0px; top:110px; width:105px; height:23px; text-align:center; vertical-align:middle; ">그룹</caption>
- <select1 id="cmb_msglrgcd" ref="/root/main/msgattr/msglrgcd" class="combo_default" appearance="minimal" style="left:108px; top:111px; width:150px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/chnllrglist/chnllrggrup">
- <label ref="msglrgnm"/>
- <value ref="msglrgcd"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- // 기존에 선택된 중분류를 초기화한다.
- model.removenodeset("/root/init/chnlmdllist/chnlmdlgrup");
-
- // 선택한 채널관리 대분류에 따른 채널관리 중분류를 가져온다.
- fGetChnlMdlCd();
- model.setFocus("cmb_msgmdlcd");
- ]]>
- </script>
- </select1>
- <select1 id="cmb_msgmdlcd" ref="/root/main/msgattr/msgmdlcd" class="combo_default" appearance="minimal" style="left:261px; top:111px; width:150px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/chnlmdllist/chnlmdlgrup">
- <label ref="msgmdlnm"/>
- <value ref="msgmdlcd"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- // 메시지 리스트를 초기화한다.
- model.removenodeset("/root/main/msgsmllist");
-
- // 선택한 채널관리 대분류에 따른 채널관리 중분류를 가져온다.
- fGetChnlSmlCd();
- ]]>
- </script>
- </select1>
- <datagrid id="grd_msglist" nodeset="/root/main/msgsmllist" caption="코드^메시지^" colwidth="50, 387, 0" dataheight="23" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" tooltip="true" style="left:0px; top:137px; width:474px; height:306px; ">
- <col ref="msgsmlcd"/>
- <col ref="msgcnts"/>
- <col ref="smstrsmcntcno" visibility="hidden"/>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- if( grd_msglist.isCell(event.target) && grd_msglist.row >= grd_msglist.fixedRows ){
- var row = grd_msglist.row;
- var msgcnts = grd_msglist.valueMatrix(row, grd_msglist.colRef("msgcnts"));
- var msgsmlcd = grd_msglist.valueMatrix(row, grd_msglist.colRef("msgsmlcd"));
- var smstrsmcntcno = grd_msglist.valueMatrix(row, grd_msglist.colRef("smstrsmcntcno"));
-
- model.setValue("/root/main/msgattr/msgsmlcd", msgsmlcd);
- model.setValue("/root/main/msgattr/msgcnts", msgcnts);
- model.setValue("/root/main/msgattr/replytelno", smstrsmcntcno);
- tar_contents.refresh();
- ipt_callback.refresh();
- }
- fGetCheckMsgCnts();
- ]]>
- </script>
- </datagrid>
- <caption id="caption12" class="tit_2" style="left:5px; top:455px; width:150px; height:14px; ">자동입력어</caption>
- <line id="line9" class="line_1" style="x1:0px; y1:470px; x2:473px; y2:470px; "/>
- <caption id="caption13" class="cell_1" style="left:0px; top:475px; width:105px; height:23px; text-align:center; ">자동입력어</caption>
- <group id="group5" style="left:105px; top:476px; width:160px; height:23px; ">
- <button id="button4" class="btn2_letter3" style="left:5px; top:2px; width:53px; height:19px; ">
- <caption>고객</caption>
- </button>
- <button id="button8" class="btn2_letter3" style="left:61px; top:2px; width:53px; height:19px; ">
- <caption>병원명</caption>
- </button>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- var trgObj = document.controls.item(event.target);
-
- if( trgObj.elementName == "xforms:button" ) {
-
- var btnMark = "<@" + trgObj.label + ">";
- var txtSelPos = tar_contents.selBegin;
-
- var curText = tar_contents.currentText;
- var curTextBefore = curText.substr(0, txtSelPos);
- var curTextAfter = curText.substr(txtSelPos, curText.length);
-
- tar_contents.currentText = curTextBefore + btnMark + curTextAfter;
-
- var endTxt = tar_contents.currentText;
- model.setFocus("tar_contents");
- tar_contents.selBegin = endTxt.length-curTextAfter.length;
- tar_contents.dispatch("onkeyup");
-
- }
- ]]>
- </script>
- </group>
- <line id="line11" class="line_2" style="x1:0px; y1:498px; x2:473px; y2:498px; "/>
- <caption id="caption14" class="cell_1" style="left:0px; top:500px; width:105px; height:90px; text-align:center; ">특수문자</caption>
- <group id="group4" style="left:106px; top:500px; width:364px; height:90px; ">
- <button id="caption40" class="btn_number" style="left:5px; top:68px; width:39px; height:19px; ">
- <caption>@</caption>
- </button>
- <button id="caption41" class="btn_number" style="left:47px; top:68px; width:39px; height:19px; ">
- <caption>♨</caption>
- </button>
- <button id="caption42" class="btn_number" style="left:89px; top:68px; width:39px; height:19px; ">
- <caption>☎</caption>
- </button>
- <button id="caption31" class="btn_number" style="left:299px; top:24px; width:39px; height:19px; ">
- <caption>♥</caption>
- </button>
- <button id="caption20" class="btn_number" style="left:215px; top:2px; width:39px; height:19px; ">
- <caption>◎</caption>
- </button>
- <button id="caption43" class="btn_number" style="left:131px; top:68px; width:39px; height:19px; ">
- <caption>☜</caption>
- </button>
- <button id="caption32" class="btn_number" style="left:5px; top:46px; width:39px; height:19px; ">
- <caption>♧</caption>
- </button>
- <button id="caption21" class="btn_number" style="left:257px; top:2px; width:39px; height:19px; ">
- <caption>◇</caption>
- </button>
- <button id="caption44" class="btn_number" style="left:173px; top:68px; width:39px; height:19px; ">
- <caption>☞</caption>
- </button>
- <button id="caption33" class="btn_number" style="left:47px; top:46px; width:39px; height:19px; ">
- <caption>♣</caption>
- </button>
- <button id="caption22" class="btn_number" style="left:299px; top:2px; width:39px; height:19px; ">
- <caption>◆</caption>
- </button>
- <button id="caption45" class="btn_number" style="left:215px; top:68px; width:39px; height:19px; ">
- <caption>%</caption>
- </button>
- <button id="caption34" class="btn_number" style="left:89px; top:46px; width:39px; height:19px; ">
- <caption>◁</caption>
- </button>
- <button id="caption23" class="btn_number" style="left:5px; top:24px; width:39px; height:19px; ">
- <caption>□</caption>
- </button>
- <button id="caption46" class="btn_number" style="left:257px; top:68px; width:39px; height:19px; ">
- <caption>☏</caption>
- </button>
- <button id="caption35" class="btn_number" style="left:131px; top:46px; width:39px; height:19px; ">
- <caption>◀</caption>
- </button>
- <button id="caption24" class="btn_number" style="left:47px; top:24px; width:39px; height:19px; ">
- <caption>■</caption>
- </button>
- <button id="caption47" class="btn_number" style="left:299px; top:68px; width:39px; height:19px; ">
- <caption>♪</caption>
- </button>
- <button id="caption36" class="btn_number" style="left:173px; top:46px; width:39px; height:19px; ">
- <caption>▷</caption>
- </button>
- <button id="caption25" class="btn_number" style="left:89px; top:24px; width:39px; height:19px; ">
- <caption>△</caption>
- </button>
- <button id="caption37" class="btn_number" style="left:215px; top:46px; width:39px; height:19px; ">
- <caption>▶</caption>
- </button>
- <button id="caption26" class="btn_number" style="left:131px; top:24px; width:39px; height:19px; ">
- <caption>▲</caption>
- </button>
- <button id="caption15" class="btn_number" style="left:5px; top:2px; width:39px; height:19px; ">
- <caption>●</caption>
- </button>
- <button id="caption38" class="btn_number" style="left:257px; top:46px; width:39px; height:19px; ">
- <caption>♤</caption>
- </button>
- <button id="caption27" class="btn_number" style="left:173px; top:24px; width:39px; height:19px; ">
- <caption>▽</caption>
- </button>
- <button id="caption16" class="btn_number" style="left:47px; top:2px; width:39px; height:19px; ">
- <caption>※</caption>
- </button>
- <button id="caption39" class="btn_number" style="left:299px; top:46px; width:39px; height:19px; ">
- <caption>♠</caption>
- </button>
- <button id="caption28" class="btn_number" style="left:215px; top:24px; width:39px; height:19px; ">
- <caption>▼</caption>
- </button>
- <button id="caption17" class="btn_number" style="left:89px; top:2px; width:39px; height:19px; ">
- <caption>☆</caption>
- </button>
- <button id="caption29" class="btn_number" style="left:257px; top:24px; width:39px; height:19px; ">
- <caption>♡</caption>
- </button>
- <button id="caption18" class="btn_number" style="left:131px; top:2px; width:39px; height:19px; ">
- <caption>★</caption>
- </button>
- <button id="caption19" class="btn_number" style="left:173px; top:2px; width:39px; height:19px; ">
- <caption>○</caption>
- </button>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
-
- var trgObj = document.controls.item(event.target);
-
- if( trgObj.elementName == "xforms:button" ) {
-
- var btnMark = trgObj.label;
- var txtSelPos = tar_contents.selBegin;
- var curText = tar_contents.currentText;
- var curTextBefore = curText.substr(0, txtSelPos);
- var curTextAfter = curText.substr(txtSelPos, curText.length);
-
- tar_contents.currentText = curTextBefore + btnMark + curTextAfter;
-
- model.setFocus("tar_contents");
- tar_contents.selBegin = txtSelPos + 1;
- tar_contents.dispatch("onkeyup");
-
- }
- ]]>
- </script>
- </group>
- <select1 id="cmb_sanctflag" ref="/root/main/msgattr/sanctflag" appearance="full" overflow="visible" style="left:110px; top:57px; width:115px; height:20px; border-style:none; ">
- <choices>
- <item>
- <label>전송 전 승인요청</label>
- <value>1</value>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- model.setValue("/root/main/msgattr/aprvyn","0");
- ]]>
- </script>
- <hint>
- <![CDATA[전송 전에 승인요청 목록에 등록되며, 승인 후 즉시(또는 예약시간에) 발송이 이루어짐.]]>
- </hint>
- </select1>
- <select1 id="cmb_sanctflag2" ref="/root/main/msgattr/sanctflag" appearance="full" overflow="visible" style="left:230px; top:57px; width:115px; height:20px; border-style:none; ">
- <choices>
- <item>
- <label>전송 후 승인요청</label>
- <value>2</value>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- model.setValue("/root/main/msgattr/aprvyn","1");
- ]]>
- </script>
- <hint>
- <![CDATA[전송시 즉시(또는 예약시간에) 발송되며, 승인요청 목록에서 사후 승인됨.]]>
- </hint>
- </select1>
- </group>
- </xhtml:body>
- </xhtml:html>
|