SMCNS00200_SMS템플릿관리.xrw 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * Name : SMCNS00200_SMS템플릿관리
  4. * Summary : SMS템플릿
  5. * Programmer : 최정환
  6. * Date Written : 2007.06.22
  7. * History : 2008.06.15 차재훈
  8. * Remark :
  9. -->
  10. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  11. <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">
  12. <xhtml:head>
  13. <xhtml:title>SMS메시지관리</xhtml:title>
  14. <model id="model1">
  15. <instance id="instance1">
  16. <root xmlns="">
  17. <main>
  18. <list>
  19. <msgtmpllist>
  20. <msgsmlcd/>
  21. <msgcnts/>
  22. <smstrsmcntcno/>
  23. <usernm/>
  24. <msglrgcd/>
  25. <msgmdlcd/>
  26. <useyn/>
  27. <rgstdeptnm/>
  28. </msgtmpllist>
  29. <msgtmplkeylist>
  30. <msglrgcd/>
  31. <msgmdlcd/>
  32. <msgsmlcd/>
  33. <basersrvcnts/>
  34. <addrsrvcnts/>
  35. <cmpncnts/>
  36. <tmpldtmncnts/>
  37. <chnlflag/>
  38. <usernm/>
  39. </msgtmplkeylist>
  40. </list>
  41. <msgtmpl>
  42. <msglrgcd/>
  43. <msgmdlcd/>
  44. <msgsmlcd/>
  45. <msgcnts/>
  46. <smstrsmcntcno/>
  47. <useyn/>
  48. <savemode/>
  49. <chnlflag/>
  50. </msgtmpl>
  51. </main>
  52. <countnode/>
  53. <send>
  54. <data>
  55. <rgstfromdd/>
  56. <rgsttodd/>
  57. <msgcnts/>
  58. <useyn>Y</useyn>
  59. <msgmdlcd/>
  60. <mdlgrupcd/>
  61. </data>
  62. <info>
  63. <msglrgcd/>
  64. <chnlflag/>
  65. </info>
  66. </send>
  67. <init>
  68. <chnllrglist>
  69. <chnllrggrup>
  70. <msglrgnm/>
  71. <msglrgcd/>
  72. </chnllrggrup>
  73. </chnllrglist>
  74. <chnlmdllist>
  75. <chnlmdlgrup>
  76. <msgmdlnm/>
  77. <msgmdlcd/>
  78. <msglrgcd/>
  79. </chnlmdlgrup>
  80. </chnlmdllist>
  81. </init>
  82. <temp>
  83. <prvwscrn/>
  84. <msgsmlcd/>
  85. <messagecnt/>
  86. </temp>
  87. <hidden>
  88. <messagecnt/>
  89. <pagecnt/>
  90. <msgsmlcd/>
  91. </hidden>
  92. </root>
  93. </instance>
  94. <submission id="TRCNS00204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list/msgtmplkeylist"/>
  95. <submission id="TRCNS00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/info" resultref="/root/init/chnllrglist/chnllrggrup"/>
  96. <submission id="TRCNS00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/info" replace="instance" resultref="/root/init/chnlmdllist/chnlmdlgrup"/>
  97. <submission id="TRCNS00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list/msgtmpllist"/>
  98. <submission id="TXCNS00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/msgtmpl"/>
  99. </model>
  100. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  101. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  102. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  103. <script type="javascript" ev:event="xforms-ready">
  104. <![CDATA[
  105. // SMS 탭버튼 활성
  106. btn_sms.selected = true;
  107. // SMS메시지 그리드의 col을 초기화 시켜준다.
  108. model.removenodeset("/root/main/list/msgtmpllist");
  109. // 메시지 분류코드 설정 (SMS : S)
  110. model.setValue("/root/send/info/chnlflag", "S");
  111. // 메시지 대그룹을 가져온다
  112. submit("TRCNS00201");
  113. // 입력모드로 표시
  114. model.setValue("/root/main/msgtmpl/savemode","I");
  115. //저장 수정버튼 활성화 구분
  116. fGetMsgStatus();
  117. fCheckAuth();
  118. ]]>
  119. </script>
  120. <script type="javascript">
  121. <![CDATA[
  122. function fCheckAuth() {
  123. // 권한체크
  124. if (!checkAuth("r")) {
  125. btn_search.disabled=true;
  126. }
  127. if (!checkAuth("x")) {
  128. btn_del.disabled=true;
  129. btn_save.disabled=true;
  130. btn_updt.disabled=true;
  131. }
  132. }
  133. // 초기화
  134. function fInitiate() {
  135. model.resetInstanceNode("/root/main/msgtmpl/msgsmlcd");
  136. model.resetInstanceNode("/root/main/msgtmpl/msgcnts");
  137. model.resetInstanceNode("/root/main/msgtmpl/smstrsmcntcno");
  138. model.resetInstanceNode("/root/temp/prvwscrn");
  139. model.setValue("/root/hidden/messagecnt", "0");
  140. model.setValue("/root/main/msgtmpl/savemode", "I");
  141. model.setValue("/root/temp/messagecnt", "0");
  142. fGetMsgStatus();
  143. }
  144. // 입력한글자수 체크
  145. function fGetCheckMsgCnts() {
  146. var strlen = 0;
  147. var str = tar_msgcnts.currentText
  148. for (var i=0; i<str.length; i++) {
  149. strlen += (str.charCodeAt(i) > 128) ? 2 : 1;
  150. }
  151. if (strlen > 240) {
  152. model.setValue("/root/hidden/messagecnt", strlen);
  153. ipt_messagecnt.refresh();
  154. messageBox("최대입력글자인 240 byte를 ", "E003");
  155. return false;
  156. }else{
  157. model.setValue("/root/hidden/messagecnt", strlen);
  158. ipt_messagecnt.refresh();
  159. return true;
  160. }
  161. }
  162. // 그룹관리의 변경된 내용을 새로 적용시켜준다.
  163. function fChnlLrg() {
  164. model.removenodeset("/root/init/chnllrglist/chnllrggrup");
  165. model.removenodeset("/root/init/chnlmdllist/chnlmdlgrup");
  166. model.resetInstanceNode("/root/main/msgtmpl/msglrgcd");
  167. model.resetInstanceNode("/root/main/msgtmpl/msgmdlcd");
  168. submit("TRCNS00201");
  169. }
  170. // 선택한 채널관리 대분류에 따른 채널관리 중분류를 가져온다.
  171. function fGetChnlMdlCd() {
  172. var msglrgcd = model.getValue("/root/main/msgtmpl/msglrgcd");
  173. model.setValue("/root/send/info/msglrgcd",msglrgcd);
  174. submit("TRCNS00202");
  175. }
  176. // SMS메시지 관리 등록 및 수정
  177. function fSaveMsg(savemode) {
  178. var chnlflag = model.getValue("/root/send/info/chnlflag");
  179. model.setValue("/root/main/msgtmpl/chnlflag", chnlflag);
  180. if(isRequiredControls("tar_msgcnts")) {
  181. submit("TXCNS00201");
  182. messageBox("탬플릿 저장이", "I002", "");
  183. model.resetInstanceNode("/root/main/msgtmpl/msgsmlcd");
  184. model.resetInstanceNode("/root/main/msgtmpl/msgcnts");
  185. model.resetInstanceNode("/root/main/msgtmpl/smstrsmcntcno");
  186. model.resetInstanceNode("/root/temp/prvwscrn");
  187. model.resetInstanceNode("/root/hidden/messagecnt");
  188. model.setValue("/root/main/msgtmpl/savemode", "I");
  189. model.refresh();
  190. }
  191. }
  192. //SMS 저장시 정합성 체크
  193. function fMsgValid(){
  194. var msgcnts = model.getValue("/root/main/msgtmpl/msgcnts");
  195. var msglrgcd = model.getValue("/root/main/msgtmpl/msglrgcd");
  196. var msgmdlcd = model.getValue("/root/main/msgtmpl/msgmdlcd");
  197. var cnt = fGetCheckMsgCnts();
  198. if(msgcnts == ""){
  199. messageBox("SMS내용이 입력 되지", "E007");
  200. return false;
  201. }
  202. if(!cnt){
  203. return false;
  204. }
  205. if(msglrgcd == ""){
  206. messageBox("SMS대분류가 선택 되지", "E007");
  207. return false;
  208. }
  209. if(msgmdlcd == "" || msgmdlcd == "0"){
  210. messageBox("SMS중분류가 선택 되지", "E007");
  211. return false;
  212. }
  213. return true;
  214. }
  215. // SMS메시지 리스트 조회
  216. function fGetMsgTmplList() {
  217. model.removeNodeset("/root/main/list/msgtmpllist");
  218. model.setValue("/root/send/data/mdlgrupcd", "")
  219. submit("TRCNS00203");
  220. var grid_rows = grd_msgtmpllist.rows-1;
  221. model.setvalue("/root/countnode" , grid_rows);
  222. var msgcnts = model.getValue("/root/main/list/msgtmpllist/msgcnts");
  223. msgcnts = msgcnts.replace('','');
  224. }
  225. // SMS정보조회
  226. function fGetSMSAttr() {
  227. var row = grd_msgtmpllist.row;
  228. // 선택한 채널관리 리스트항목의 대분류에 따른 채널관리 중분류를 가져온다.
  229. var msglrgcd = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("msglrgcd"));
  230. if (msglrgcd != "") {
  231. model.setValue("/root/main/msgtmpl/msglrgcd",msglrgcd);
  232. model.setValue("/root/send/info/msglrgcd",msglrgcd);
  233. submit("TRCNS00202");
  234. // 선택한 채널관리 리스트항목의 중분류를 가져온다.
  235. var msgmdlcd = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("msgmdlcd"));
  236. model.setValue("/root/main/msgtmpl/msgmdlcd",msgmdlcd);
  237. // 선택한 채널관리 리스트항목의 내용을 뿌려준다.
  238. var msgcnts = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("msgcnts"));
  239. model.setValue("/root/main/msgtmpl/msgcnts",msgcnts);
  240. var smstrsmcntcno = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("smstrsmcntcno"));
  241. model.setValue("/root/main/msgtmpl/smstrsmcntcno",smstrsmcntcno);
  242. var useyn = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("useyn"));
  243. model.setValue("/root/main/msgtmpl/useyn",useyn);
  244. var msgsmlcd = grd_msgtmpllist.valueMatrix(row, grd_msgtmpllist.colRef("msgsmlcd"));
  245. model.setValue("/root/main/msgtmpl/msgsmlcd",msgsmlcd);
  246. // 조회하면 새로가져온다.
  247. // fGetMsgTmplList();
  248. model.refresh();
  249. }
  250. }
  251. //-------------------------//
  252. // 저장,수정버튼 활성화 //
  253. //-------------------------//
  254. function fGetMsgStatus(){
  255. var msgStatus = model.getValue("/root/main/msgtmpl/savemode");
  256. if(msgStatus == "I"){
  257. btn_updt.disabled = true;
  258. btn_save.disabled = false;
  259. }else if(msgStatus == "U"){
  260. btn_updt.disabled = false;
  261. btn_save.disabled = true;
  262. }else{
  263. btn_updt.disabled = true;
  264. btn_save.disabled = true;
  265. }
  266. model.refresh();
  267. }
  268. // SMS메시지 관리 삭제(사용안함 상태로 바꾸기)
  269. function fDelMsg(savemode) {
  270. var chnlflag = model.getValue("/root/send/info/chnlflag");
  271. model.setValue("/root/main/msgtmpl/chnlflag", chnlflag);
  272. if(isRequiredControls("tar_msgcnts")) {
  273. submit("TXCNS00201");
  274. messageBox("탬플릿 삭제가", "I002", "");
  275. model.resetInstanceNode("/root/main/msgtmpl/msgsmlcd");
  276. model.resetInstanceNode("/root/main/msgtmpl/msgcnts");
  277. model.resetInstanceNode("/root/main/msgtmpl/smstrsmcntcno");
  278. model.resetInstanceNode("/root/temp/prvwscrn");
  279. model.resetInstanceNode("/root/hidden/messagecnt");
  280. model.setValue("/root/main/msgtmpl/savemode", "I");
  281. model.refresh();
  282. }
  283. }
  284. function fPrvwscrn(){
  285. var msgcnts = model.getValue("/root/main/msgtmpl/msgcnts")
  286. var dutplceinstnm = getUserInfo("dutplceinstnm")
  287. var usernm = getUserInfo("usernm");
  288. var getdate = getCurrentDate();
  289. var pmonth = getdate.substr(4,2);
  290. var pdate = getdate.substr(6,2);
  291. var gettime = getCurrentTime();
  292. var phour = gettime.substr(0,2);
  293. var pmin = gettime.substr(2,2);
  294. msgcnts = msgcnts.replace('<@고객>','홍길동');
  295. msgcnts = msgcnts.replace('<@진료과>','내과');
  296. msgcnts = msgcnts.replace('<@진료의>','홍길순');
  297. msgcnts = msgcnts.replace('<@병원명>',dutplceinstnm);
  298. msgcnts = msgcnts.replace('<@월>',pmonth);
  299. msgcnts = msgcnts.replace('<@일>',pdate);
  300. msgcnts = msgcnts.replace('<@시>',phour);
  301. msgcnts = msgcnts.replace('<@분>',pmin);
  302. msgcnts = msgcnts.replace('<@처방코드>','A001');
  303. msgcnts = msgcnts.replace('<@검사실>','통증치료실');
  304. msgcnts = msgcnts.replace('<@부서위치>','본관1층');
  305. model.setValue("/root/temp/prvwscrn", msgcnts);
  306. model.refresh();
  307. var strlen = 0;
  308. var str = tar_contents.currentText
  309. for (var i=0; i<str.length; i++) {
  310. strlen += (str.charCodeAt(i) > 128) ? 2 : 1;
  311. }
  312. if (strlen > 240) {
  313. model.setValue("/root/temp/messagecnt", strlen);
  314. ipt_prvwcnt.refresh();
  315. messageBox("최대입력글자인 240 byte를 ", "E003");
  316. return false;
  317. }else{
  318. model.setValue("/root/temp/messagecnt", strlen);
  319. if (strlen > 80) {
  320. ipt_prvwcnt.visible = false;
  321. ipt_prvwcntovr.visible = true;
  322. } else {
  323. ipt_prvwcnt.visible = true;
  324. ipt_prvwcntovr.visible = false;
  325. }
  326. ipt_prvwcnt.refresh();
  327. return true;
  328. }
  329. }
  330. //=======================//
  331. //80바이트 넘으면 선긋기 //
  332. //=======================//
  333. function fGetLine(){
  334. var strlen = 0;
  335. var str = model.getValue("/root/temp/prvwscrn");
  336. var prvStr = "";
  337. var chck80 = "N";
  338. var chck160 = "N";
  339. for (var i=0; i<str.length; i++) {
  340. strlen += (str.charCodeAt(i) > 128) ? 2 : 1;
  341. prvStr += str.charAt(i);
  342. if (strlen > 80 && chck80 == "N") {
  343. prvStr += "\n"
  344. prvStr += "=================";
  345. chck80 = "Y";
  346. }
  347. if (strlen > 160 && chck160 == "N") {
  348. prvStr += "\n"
  349. prvStr += "=================";
  350. chck160 = "Y";
  351. }
  352. }
  353. if(chck80 == "Y"){
  354. model.setValue("/root/temp/prvwscrn", prvStr);
  355. model.refresh();
  356. }
  357. }
  358. ]]>
  359. </script>
  360. </xhtml:head>
  361. <xhtml:body guideline="2,736;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  362. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  363. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:145px; height:14px; ">상용구 관리</caption>
  364. </group>
  365. <group id="grp_johe" style="left:225px; top:21px; width:665px; height:55px; vertical-align:top; ">
  366. <caption id="caption4" class="tit_2" style="left:5px; top:0px; width:150px; height:14px; ">SMS</caption>
  367. <line id="line4" class="line_1" style="x1:0px; y1:14px; x2:665px; y2:14px; "/>
  368. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:20px; width:665px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  369. <caption id="caption2" class="search_name" style="left:15px; top:29px; width:70px; height:17px; ">내 용 :</caption>
  370. <input id="ipt_s_dtmntitl" ref="/root/send/data/msgcnts" class="input_search" navindex="1" style="left:85px; top:29px; width:130px; height:19px; ">
  371. <script type="javascript" ev:event="onkeyup">
  372. <![CDATA[
  373. inputEnterKey("btn_search", "DOMActivate");
  374. ]]>
  375. </script>
  376. </input>
  377. <line id="line1" class="line_4" style="x1:582px; y1:27px; x2:582px; y2:49px; "/>
  378. <button id="btn_search" class="btn1_letter2" navindex="2" style="left:597px; top:27px; width:56px; height:22px; ">
  379. <caption>조회</caption>
  380. <script type="javascript" ev:event="DOMActivate">
  381. <![CDATA[
  382. fGetMsgTmplList();
  383. // SMS등록화면 초기화
  384. model.resetInstanceNode("/root/main/msgtmpl");
  385. model.resetInstanceNode("/root/temp/prvwscrn");
  386. model.setValue("/root/main/msgtmpl/savemode", "I");
  387. //저장 수정버튼 활성화 구분
  388. fGetMsgStatus();
  389. ]]>
  390. </script>
  391. </button>
  392. </group>
  393. <group id="group2" style="left:224px; top:76px; width:666px; height:267px; ">
  394. <caption id="caption9" class="tit_2" style="left:5px; top:10px; width:150px; height:13px; ">상용구 리스트</caption>
  395. <button id="btn_del" class="btn5_letter2" style="left:624px; top:5px; width:42px; height:19px; ">
  396. <caption>삭제</caption>
  397. <script type="javascript" ev:event="DOMActivate">
  398. <![CDATA[
  399. if(model.getValue("/root/main/msgtmpl/msgsmlcd")!=""){
  400. if (messageBox("선택된 SMS 상용구를","Q001")==6){
  401. submit("TRCNS00204");
  402. var selKey = grd_msgtmpllist.valueMatrix(grd_msgtmpllist.row,grd_msgtmpllist.colRef("msgsmlcd"));
  403. var grid = grd_msgtmplkeylist;
  404. for(i=1; grid.rows>i; i++){
  405. if(selKey == grid.valueMatrix(i,grid.colRef("msgsmlcd"))){
  406. var basersrvcnts = grid.valueMatrix(i,grid.colRef("basersrvcnts"));
  407. var addrsrvcnts = grid.valueMatrix(i,grid.colRef("addrsrvcnts"));
  408. var cmpncnts = grid.valueMatrix(i,grid.colRef("cmpncnts"));
  409. var tmpldtmncnts = grid.valueMatrix(i,grid.colRef("tmpldtmncnts"));
  410. if((basersrvcnts == "" || basersrvcnts == "0")
  411. && (addrsrvcnts == "" || addrsrvcnts == "0")
  412. && (cmpncnts == "" || cmpncnts == "0")
  413. && (tmpldtmncnts == "" || tmpldtmncnts == "0")){
  414. grd_msgtmpllist.deleteItem(grd_msgtmpllist.selectedRow(0));
  415. model.setValue("/root/main/msgtmpl/useyn","N");
  416. var savemode = "U";
  417. fDelMsg(savemode);
  418. }else{
  419. messageBox("사용중인 SMS 상용구이므로 삭제", "E001");
  420. return;
  421. }
  422. }
  423. }
  424. }
  425. }else{
  426. messageBox("삭제할 SMS 상용구를", "C002");
  427. }
  428. ]]>
  429. </script>
  430. </button>
  431. <line id="line2" class="line_1" style="x1:0px; y1:26px; x2:665px; y2:26px; "/>
  432. <datagrid id="grd_msgtmpllist" nodeset="/root/main/list/msgtmpllist" allowselection="false" caption="코드^메시지^회신 전화번호^등록자" colsep="^" colwidth="41, 440, 86, 48, 0, 0, 0, 0" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" tooltip="true" style="left:1px; top:31px; width:664px; height:236px; ">
  433. <col ref="msgsmlcd" style="text-align:center; "/>
  434. <col ref="msgcnts"/>
  435. <col ref="smstrsmcntcno" style="text-align:center; "/>
  436. <col ref="usernm" style="text-align:center; "/>
  437. <col ref="msglrgcd" visibility="hidden"/>
  438. <col ref="msgmdlcd" visibility="hidden"/>
  439. <col ref="useyn" visibility="hidden"/>
  440. <col ref="rgstdeptnm" visibility="hidden"/>
  441. <script type="javascript" ev:event="onclick">
  442. <![CDATA[
  443. if( grd_msgtmpllist.isCell(event.target) && grd_msgtmpllist.row >= grd_msgtmpllist.fixedRows ){
  444. fGetSMSAttr(); // SMS메시지 정보조회
  445. fGetCheckMsgCnts();//문자 용량
  446. fPrvwscrn();//미리보기
  447. fGetLine();
  448. model.setValue("/root/main/msgtmpl/savemode","U");
  449. //저장 수정버튼 활성화 구분
  450. fGetMsgStatus();
  451. model.setValue("/root/hidden/msgsmlcd",grd_msgtmpllist.valueMatrix(grd_msgtmpllist.row,grd_msgtmpllist.colRef("msgsmlcd")));
  452. }
  453. ]]>
  454. </script>
  455. <script type="javascript" ev:event="onrowchanged">
  456. <![CDATA[
  457. fGetSMSAttr(); // SMS메시지 정보조회
  458. fGetCheckMsgCnts();//문자 용량
  459. fPrvwscrn();//미리보기
  460. fGetLine();
  461. model.setValue("/root/main/msgtmpl/savemode","U");
  462. //저장 수정버튼 활성화 구분
  463. fGetMsgStatus();
  464. ]]>
  465. </script>
  466. </datagrid>
  467. <datagrid id="grd_msgtmplkeylist" nodeset="/root/main/list/msgtmplkeylist" visibility="hidden" caption="대^중^소^병원전송^부서전송^캠페인^템플릿마이닝^종류^등록자" colsep="^" colwidth="50, 50, 50, 60, 60, 67, 92, 60, 49" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:40px; top:135px; width:580px; height:110px; ">
  468. <col ref="msglrgcd"/>
  469. <col ref="msgmdlcd"/>
  470. <col ref="msgsmlcd"/>
  471. <col ref="basersrvcnts"/>
  472. <col ref="addrsrvcnts"/>
  473. <col ref="cmpncnts"/>
  474. <col ref="tmpldtmncnts"/>
  475. <col ref="chnlflag"/>
  476. <col ref="usernm"/>
  477. </datagrid>
  478. </group>
  479. <group id="group1" style="left:224px; top:345px; width:410px; height:435px; ">
  480. <shape id="rectangle1" appearance="rectangle" style="left:1px; top:30px; width:409px; height:378px; border-color:#c0c0c0; "/>
  481. <caption id="caption6" class="tit_2" style="left:5px; top:10px; width:150px; height:13px; ">SMS 상용구 작성</caption>
  482. <line id="line3" class="line_1" style="x1:1px; y1:25px; x2:410px; y2:25px; "/>
  483. <img id="img_smsbg" src="../../../com/commonweb/images/sms_half_bg_new.gif" style="left:107px; top:62px; width:204px; height:295px; background-stretch:stretch; "/>
  484. <caption id="caption8" style="left:251px; top:279px; width:44px; height:25px; font-weight:bold; color:#ffffff; ">/80</caption>
  485. <input id="ipt_messagecnt" ref="/root/hidden/messagecnt" class="input_default" editable="false" maxlength="20" style="left:227px; top:283px; width:30px; height:19px; font-weight:bold; color:#ffffff; background-color:transparent; border-style:none; "/>
  486. <textarea id="tar_msgcnts" ref="/root/main/msgtmpl/msgcnts" class="input_default" scroll="vertical" style="left:156px; top:135px; width:127px; height:132px; color:#ffffff; background-color:transparent; border-style:none; ">
  487. <script type="javascript" ev:event="onkeyup">
  488. <![CDATA[
  489. fGetCheckMsgCnts();
  490. ]]>
  491. </script>
  492. </textarea>
  493. <caption id="cap_smstrsmcntcno" class="cell_1" style="left:114px; top:320px; width:70px; height:23px; text-align:center; background-color:transparent; ">회신 번호</caption>
  494. <input id="ipt_smstrsmcntcno" ref="/root/main/msgtmpl/smstrsmcntcno" class="input_default" maxlength="20" style="left:181px; top:321px; width:110px; height:19px; background-color:#ffffff; "/>
  495. <button id="btn_prvw" class="btn5_letter4" style="left:190px; top:411px; width:64px; height:19px; ">
  496. <caption>미리보기</caption>
  497. <script type="javascript" ev:event="DOMActivate">
  498. <![CDATA[
  499. fPrvwscrn();
  500. fGetLine();
  501. ]]>
  502. </script>
  503. </button>
  504. <button id="btn_init" class="btn5_letter3" style="left:1px; top:411px; width:53px; height:19px; ">
  505. <caption>초기화</caption>
  506. <script type="javascript" ev:event="DOMActivate">
  507. <![CDATA[
  508. fInitiate();
  509. ]]>
  510. </script>
  511. </button>
  512. <button id="btn_save" class="btn5_letter5" style="left:257px; top:411px; width:75px; height:19px; ">
  513. <caption>메시지저장</caption>
  514. <script type="javascript" ev:event="DOMActivate">
  515. <![CDATA[
  516. if(fMsgValid()){
  517. model.setValue("/root/main/msgtmpl/useyn","Y");
  518. var savemode = model.getValue("/root/main/msgtmpl/savemode");
  519. fSaveMsg(savemode); //SMS메시지관리 속성 저장(I:등록, U:수정)
  520. model.setValue("/root/send/data/mdlgrupcd", model.getValue("/root/main/msgtmpl/msgmdlcd"));
  521. submit("TRCNS00203"); //재조회
  522. model.setValue("/root/send/data/mdlgrupcd", "");
  523. }
  524. ]]>
  525. </script>
  526. </button>
  527. <button id="btn_updt" class="btn5_letter5" style="left:335px; top:411px; width:75px; height:19px; ">
  528. <caption>메시지수정</caption>
  529. <script type="javascript" ev:event="DOMActivate">
  530. <![CDATA[
  531. if(fMsgValid()){
  532. model.setValue("/root/main/msgtmpl/useyn","Y");
  533. var savemode = model.getValue("/root/main/msgtmpl/savemode");
  534. fSaveMsg(savemode); //SMS메시지관리 속성 저장(I:등록, U:수정)
  535. model.setValue("/root/send/data/mdlgrupcd", model.getValue("/root/main/msgtmpl/msgmdlcd"));
  536. submit("TRCNS00203"); //재조회
  537. model.setValue("/root/send/data/mdlgrupcd", "");
  538. }
  539. ]]>
  540. </script>
  541. </button>
  542. </group>
  543. <group id="group3" style="left:739px; top:345px; width:451px; height:420px; ">
  544. <shape id="rectangle3" appearance="rectangle" style="left:0px; top:30px; width:451px; height:93px; border-color:#c0c0c0; "/>
  545. <shape id="rectangle4" appearance="rectangle" style="left:0px; top:155px; width:451px; height:253px; border-color:#c0c0c0; "/>
  546. <caption id="caption12" class="tit_2" style="left:5px; top:10px; width:85px; height:14px; ">특수문자</caption>
  547. <line id="line9" class="line_1" style="x1:0px; y1:25px; x2:450px; y2:25px; "/>
  548. <line id="line5" class="line_1" style="x1:0px; y1:150px; x2:450px; y2:150px; "/>
  549. <caption id="caption7" class="tit_2" style="left:5px; top:135px; width:85px; height:13px; ">이모티콘</caption>
  550. <group id="group10" style="left:3px; top:156px; width:447px; height:249px; ">
  551. <caption id="caption5" style="left:0px; top:0px; width:446px; height:65px; background-color:#e9f7fe; "/>
  552. <caption id="caption13" style="left:0px; top:70px; width:446px; height:65px; background-color:#e9f7fe; "/>
  553. <caption id="caption14" style="left:0px; top:140px; width:446px; height:108px; background-color:#e9f7fe; "/>
  554. <button id="button74" style="left:8px; top:105px; width:45px; height:19px; background-color:transparent; border-style:none; ">
  555. <caption>n.n</caption>
  556. </button>
  557. <button id="button75" style="left:55px; top:105px; width:45px; height:19px; ">
  558. <caption>^Δ^</caption>
  559. </button>
  560. <button id="button76" style="left:107px; top:105px; width:45px; height:19px; ">
  561. <caption>^v^</caption>
  562. </button>
  563. <button id="button77" style="left:394px; top:34px; width:31px; height:19px; ">
  564. <caption>^.^</caption>
  565. </button>
  566. <button id="button78" style="left:280px; top:12px; width:45px; height:19px; ">
  567. <caption>^_^</caption>
  568. </button>
  569. <button id="button79" style="left:159px; top:105px; width:45px; height:19px; ">
  570. <caption>^O^</caption>
  571. </button>
  572. <button id="button80" style="left:8px; top:83px; width:45px; height:19px; ">
  573. <caption>^L^</caption>
  574. </button>
  575. <button id="button81" style="left:332px; top:12px; width:45px; height:19px; ">
  576. <caption>⌒⌒</caption>
  577. </button>
  578. <button id="button82" style="left:226px; top:105px; width:45px; height:19px; ">
  579. <caption>^.~</caption>
  580. </button>
  581. <button id="button83" style="left:55px; top:83px; width:45px; height:19px; ">
  582. <caption>^ε^</caption>
  583. </button>
  584. <button id="button84" style="left:389px; top:12px; width:36px; height:19px; ">
  585. <caption>^-^b</caption>
  586. </button>
  587. <button id="button85" style="left:288px; top:105px; width:45px; height:19px; ">
  588. <caption>*^^*</caption>
  589. </button>
  590. <button id="button86" style="left:107px; top:83px; width:45px; height:19px; ">
  591. <caption>^▽^</caption>
  592. </button>
  593. <button id="button87" style="left:8px; top:34px; width:37px; height:19px; ">
  594. <caption>=^.^=</caption>
  595. </button>
  596. <button id="button88" style="left:345px; top:105px; width:45px; height:19px; ">
  597. <caption>(^^)γ</caption>
  598. </button>
  599. <button id="button89" style="left:159px; top:83px; width:45px; height:19px; ">
  600. <caption>o(^-^)o</caption>
  601. </button>
  602. <button id="button90" style="left:57px; top:34px; width:45px; height:19px; ">
  603. <caption>(*^-^)</caption>
  604. </button>
  605. <button id="button91" style="left:397px; top:105px; width:45px; height:19px; ">
  606. <caption>(*^o^*)</caption>
  607. </button>
  608. <button id="button92" style="left:226px; top:83px; width:45px; height:19px; ">
  609. <caption>^o^~~♬</caption>
  610. </button>
  611. <button id="button93" style="left:109px; top:34px; width:45px; height:19px; ">
  612. <caption>☞^.^☜</caption>
  613. </button>
  614. <button id="button94" style="left:288px; top:83px; width:45px; height:19px; ">
  615. <caption>S(^.^)b</caption>
  616. </button>
  617. <button id="button95" style="left:166px; top:34px; width:45px; height:19px; ">
  618. <caption>( ̄∇ ̄)</caption>
  619. </button>
  620. <button id="button96" style="left:5px; top:12px; width:45px; height:19px; ">
  621. <caption>(*^-^*)</caption>
  622. </button>
  623. <button id="button97" style="left:345px; top:83px; width:45px; height:19px; ">
  624. <caption>(^o^)/</caption>
  625. </button>
  626. <button id="button98" style="left:223px; top:34px; width:45px; height:19px; ">
  627. <caption>♥.♥</caption>
  628. </button>
  629. <button id="button99" style="left:57px; top:12px; width:31px; height:19px; ">
  630. <caption>♡.♡</caption>
  631. </button>
  632. <button id="button100" style="left:397px; top:83px; width:45px; height:19px; ">
  633. <caption>*♥o♥*</caption>
  634. </button>
  635. <button id="button101" style="left:280px; top:34px; width:45px; height:19px; ">
  636. <caption>(~.^)s</caption>
  637. </button>
  638. <button id="button102" style="left:109px; top:12px; width:45px; height:19px; ">
  639. <caption>☞♡☜</caption>
  640. </button>
  641. <button id="button103" style="left:332px; top:34px; width:45px; height:19px; ">
  642. <caption>γ^ε^γ</caption>
  643. </button>
  644. <button id="button104" style="left:166px; top:12px; width:45px; height:19px; ">
  645. <caption>(♡.♡)</caption>
  646. </button>
  647. <button id="button105" style="left:223px; top:12px; width:45px; height:19px; ">
  648. <caption>(*`0`*)</caption>
  649. </button>
  650. <button id="button4" style="left:5px; top:216px; width:55px; height:19px; ">
  651. <caption>(⌒ε⌒*)</caption>
  652. </button>
  653. <button id="button5" style="left:400px; top:187px; width:45px; height:19px; ">
  654. <caption>(*^}{^*)</caption>
  655. </button>
  656. <button id="button7" style="left:5px; top:155px; width:55px; height:19px; ">
  657. <caption>づ^O^)づ</caption>
  658. </button>
  659. <button id="button8" style="left:5px; top:187px; width:55px; height:19px; ">
  660. <caption>☜(^^*)☞</caption>
  661. </button>
  662. <button id="button9" style="left:239px; top:155px; width:55px; height:19px; ">
  663. <caption>(*^з(^^*)</caption>
  664. </button>
  665. <button id="button10" style="left:154px; top:155px; width:45px; height:19px; ">
  666. <caption>(^*^)</caption>
  667. </button>
  668. <button id="button11" style="left:70px; top:155px; width:65px; height:19px; ">
  669. <caption>(つ^з^)つ</caption>
  670. </button>
  671. <button id="button12" style="left:305px; top:155px; width:75px; height:19px; ">
  672. <caption>(*⌒.^)(^ε⌒*)</caption>
  673. </button>
  674. <button id="button13" style="left:305px; top:187px; width:75px; height:19px; ">
  675. <caption>(*^-^)♡(^o^*)</caption>
  676. </button>
  677. <button id="button106" style="left:199px; top:155px; width:45px; height:19px; ">
  678. <caption>~o~</caption>
  679. </button>
  680. <button id="button107" style="left:259px; top:187px; width:45px; height:19px; ">
  681. <caption>⊙.⊙</caption>
  682. </button>
  683. <button id="button108" style="left:199px; top:187px; width:45px; height:19px; ">
  684. <caption>^----^</caption>
  685. </button>
  686. <button id="button109" style="left:154px; top:187px; width:45px; height:19px; ">
  687. <caption>^.~♥</caption>
  688. </button>
  689. <button id="button110" style="left:74px; top:187px; width:61px; height:19px; ">
  690. <caption>♬(^O^)~♪</caption>
  691. </button>
  692. <button id="button111" style="left:75px; top:217px; width:56px; height:19px; ">
  693. <caption>s( ̄▽ ̄)/</caption>
  694. </button>
  695. <button id="button112" style="left:405px; top:156px; width:40px; height:19px; ">
  696. <caption>(*^.^)</caption>
  697. </button>
  698. <script type="javascript" ev:event="onclick">
  699. <![CDATA[
  700. var trgObj = document.controls.item(event.target);
  701. if( trgObj.elementName == "xforms:button" ) {
  702. var btnMark = trgObj.label;
  703. var txtSelPos = tar_msgcnts.selBegin;
  704. var curText = tar_msgcnts.currentText;
  705. var curTextBefore = curText.substr(0, txtSelPos);
  706. var curTextAfter = curText.substr(txtSelPos, curText.length);
  707. tar_msgcnts.currentText = curTextBefore + btnMark + curTextAfter;
  708. var endTxt = tar_msgcnts.currentText;
  709. model.setFocus("tar_msgcnts");
  710. tar_msgcnts.selBegin = endTxt.length-curTextAfter.length;
  711. tar_msgcnts.dispatch("onkeyup");
  712. }
  713. ]]>
  714. </script>
  715. </group>
  716. <group id="group4" style="left:2px; top:31px; width:438px; height:90px; ">
  717. <button id="button1" style="left:5px; top:68px; width:17px; height:19px; background-color:transparent; border-style:none; ">
  718. <caption>@</caption>
  719. </button>
  720. <button id="button2" style="left:27px; top:68px; width:17px; height:19px; ">
  721. <caption>♨</caption>
  722. </button>
  723. <button id="button3" style="left:49px; top:68px; width:17px; height:19px; ">
  724. <caption>☎</caption>
  725. </button>
  726. <button id="button6" style="left:159px; top:24px; width:17px; height:19px; ">
  727. <caption>♥</caption>
  728. </button>
  729. <button id="button14" style="left:115px; top:2px; width:17px; height:19px; ">
  730. <caption>◎</caption>
  731. </button>
  732. <button id="button15" style="left:71px; top:68px; width:17px; height:19px; ">
  733. <caption>☜</caption>
  734. </button>
  735. <button id="button16" style="left:5px; top:46px; width:17px; height:19px; ">
  736. <caption>♧</caption>
  737. </button>
  738. <button id="button17" style="left:137px; top:2px; width:17px; height:19px; ">
  739. <caption>◇</caption>
  740. </button>
  741. <button id="button18" style="left:93px; top:68px; width:17px; height:19px; ">
  742. <caption>☞</caption>
  743. </button>
  744. <button id="button19" style="left:27px; top:46px; width:17px; height:19px; ">
  745. <caption>♣</caption>
  746. </button>
  747. <button id="button20" style="left:159px; top:2px; width:17px; height:19px; ">
  748. <caption>◆</caption>
  749. </button>
  750. <button id="button21" style="left:115px; top:68px; width:17px; height:19px; ">
  751. <caption>%</caption>
  752. </button>
  753. <button id="button22" style="left:49px; top:46px; width:17px; height:19px; ">
  754. <caption>◁</caption>
  755. </button>
  756. <button id="button23" style="left:5px; top:24px; width:17px; height:19px; ">
  757. <caption>□</caption>
  758. </button>
  759. <button id="button24" style="left:137px; top:68px; width:17px; height:19px; ">
  760. <caption>☏</caption>
  761. </button>
  762. <button id="button25" style="left:71px; top:46px; width:17px; height:19px; ">
  763. <caption>◀</caption>
  764. </button>
  765. <button id="button26" style="left:27px; top:24px; width:17px; height:19px; ">
  766. <caption>■</caption>
  767. </button>
  768. <button id="button27" style="left:159px; top:68px; width:17px; height:19px; ">
  769. <caption>♪</caption>
  770. </button>
  771. <button id="button28" style="left:93px; top:46px; width:17px; height:19px; ">
  772. <caption>▷</caption>
  773. </button>
  774. <button id="button29" style="left:49px; top:24px; width:17px; height:19px; ">
  775. <caption>△</caption>
  776. </button>
  777. <button id="button30" style="left:115px; top:46px; width:17px; height:19px; ">
  778. <caption>▶</caption>
  779. </button>
  780. <button id="button31" style="left:71px; top:24px; width:17px; height:19px; ">
  781. <caption>▲</caption>
  782. </button>
  783. <button id="button32" style="left:5px; top:2px; width:17px; height:19px; ">
  784. <caption>●</caption>
  785. </button>
  786. <button id="button33" style="left:137px; top:46px; width:17px; height:19px; ">
  787. <caption>♤</caption>
  788. </button>
  789. <button id="button34" style="left:93px; top:24px; width:17px; height:19px; ">
  790. <caption>▽</caption>
  791. </button>
  792. <button id="button35" style="left:27px; top:2px; width:17px; height:19px; ">
  793. <caption>※</caption>
  794. </button>
  795. <button id="button36" style="left:159px; top:46px; width:17px; height:19px; ">
  796. <caption>♠</caption>
  797. </button>
  798. <button id="button37" style="left:115px; top:24px; width:17px; height:19px; ">
  799. <caption>▼</caption>
  800. </button>
  801. <button id="button38" style="left:49px; top:2px; width:17px; height:19px; ">
  802. <caption>☆</caption>
  803. </button>
  804. <button id="button39" style="left:137px; top:24px; width:17px; height:19px; ">
  805. <caption>♡</caption>
  806. </button>
  807. <button id="button40" style="left:71px; top:2px; width:17px; height:19px; ">
  808. <caption>★</caption>
  809. </button>
  810. <button id="button41" style="left:93px; top:2px; width:17px; height:19px; ">
  811. <caption>○</caption>
  812. </button>
  813. <button id="button42" style="left:179px; top:68px; width:17px; height:19px; ">
  814. <caption>♬</caption>
  815. </button>
  816. <button id="button43" style="left:199px; top:68px; width:17px; height:19px; ">
  817. <caption>♩</caption>
  818. </button>
  819. <button id="button44" style="left:179px; top:24px; width:17px; height:19px; ">
  820. <caption>ㆀ</caption>
  821. </button>
  822. <button id="button45" style="left:179px; top:46px; width:17px; height:19px; ">
  823. <caption>▣</caption>
  824. </button>
  825. <button id="button46" style="left:259px; top:2px; width:17px; height:19px; ">
  826. <caption>→</caption>
  827. </button>
  828. <button id="button47" style="left:239px; top:2px; width:17px; height:19px; ">
  829. <caption>←</caption>
  830. </button>
  831. <button id="button48" style="left:219px; top:2px; width:17px; height:19px; ">
  832. <caption>▒</caption>
  833. </button>
  834. <button id="button49" style="left:199px; top:2px; width:17px; height:19px; ">
  835. <caption>▦</caption>
  836. </button>
  837. <button id="button50" style="left:179px; top:2px; width:17px; height:19px; ">
  838. <caption>▤</caption>
  839. </button>
  840. <button id="button51" style="left:279px; top:2px; width:17px; height:19px; ">
  841. <caption>Ø</caption>
  842. </button>
  843. <button id="button52" style="left:259px; top:24px; width:17px; height:19px; ">
  844. <caption>↓</caption>
  845. </button>
  846. <button id="button53" style="left:239px; top:24px; width:17px; height:19px; ">
  847. <caption>↑</caption>
  848. </button>
  849. <button id="button54" style="left:219px; top:24px; width:17px; height:19px; ">
  850. <caption>◇</caption>
  851. </button>
  852. <button id="button55" style="left:199px; top:24px; width:17px; height:19px; ">
  853. <caption>▨</caption>
  854. </button>
  855. <button id="button56" style="left:259px; top:46px; width:17px; height:19px; ">
  856. <caption>§</caption>
  857. </button>
  858. <button id="button57" style="left:239px; top:46px; width:17px; height:19px; ">
  859. <caption>⇒</caption>
  860. </button>
  861. <button id="button58" style="left:219px; top:46px; width:17px; height:19px; ">
  862. <caption>◈</caption>
  863. </button>
  864. <button id="button59" style="left:199px; top:46px; width:17px; height:19px; ">
  865. <caption>▩</caption>
  866. </button>
  867. <button id="button60" style="left:279px; top:24px; width:17px; height:19px; ">
  868. <caption>∀</caption>
  869. </button>
  870. <button id="button61" style="left:259px; top:68px; width:17px; height:19px; ">
  871. <caption>◑</caption>
  872. </button>
  873. <button id="button62" style="left:239px; top:68px; width:17px; height:19px; ">
  874. <caption>◐</caption>
  875. </button>
  876. <button id="button63" style="left:219px; top:68px; width:17px; height:19px; ">
  877. <caption>⊙</caption>
  878. </button>
  879. <button id="button64" style="left:319px; top:68px; width:17px; height:19px; ">
  880. <caption>≥</caption>
  881. </button>
  882. <button id="button65" style="left:299px; top:68px; width:17px; height:19px; ">
  883. <caption>≤</caption>
  884. </button>
  885. <button id="button66" style="left:379px; top:68px; width:17px; height:19px; ">
  886. <caption>!</caption>
  887. </button>
  888. <button id="button67" style="left:359px; top:68px; width:17px; height:19px; ">
  889. <caption>』</caption>
  890. </button>
  891. <button id="button68" style="left:339px; top:68px; width:17px; height:19px; ">
  892. <caption>『</caption>
  893. </button>
  894. <button id="button69" style="left:279px; top:68px; width:17px; height:19px; ">
  895. <caption>∏</caption>
  896. </button>
  897. <button id="button70" style="left:279px; top:46px; width:17px; height:19px; ">
  898. <caption>∃</caption>
  899. </button>
  900. <button id="button71" style="left:379px; top:46px; width:17px; height:19px; ">
  901. <caption>≫</caption>
  902. </button>
  903. <button id="button72" style="left:359px; top:46px; width:17px; height:19px; ">
  904. <caption>≪</caption>
  905. </button>
  906. <button id="button73" style="left:339px; top:46px; width:17px; height:19px; ">
  907. <caption>℡</caption>
  908. </button>
  909. <button id="button119" style="left:319px; top:46px; width:17px; height:19px; ">
  910. <caption>&#187;</caption>
  911. </button>
  912. <button id="button120" style="left:299px; top:46px; width:17px; height:19px; ">
  913. <caption>&#171;</caption>
  914. </button>
  915. <button id="button121" style="left:379px; top:24px; width:17px; height:19px; ">
  916. <caption>¥</caption>
  917. </button>
  918. <button id="button122" style="left:359px; top:24px; width:17px; height:19px; ">
  919. <caption>¢</caption>
  920. </button>
  921. <button id="button123" style="left:339px; top:24px; width:17px; height:19px; ">
  922. <caption>⊃</caption>
  923. </button>
  924. <button id="button124" style="left:319px; top:24px; width:17px; height:19px; ">
  925. <caption>≠</caption>
  926. </button>
  927. <button id="button125" style="left:299px; top:24px; width:17px; height:19px; ">
  928. <caption>∽</caption>
  929. </button>
  930. <button id="button126" style="left:379px; top:2px; width:17px; height:19px; ">
  931. <caption>∴</caption>
  932. </button>
  933. <button id="button127" style="left:359px; top:2px; width:17px; height:19px; ">
  934. <caption>∬</caption>
  935. </button>
  936. <button id="button128" style="left:339px; top:2px; width:17px; height:19px; ">
  937. <caption>∪</caption>
  938. </button>
  939. <button id="button129" style="left:319px; top:2px; width:17px; height:19px; ">
  940. <caption>∧</caption>
  941. </button>
  942. <button id="button130" style="left:299px; top:2px; width:17px; height:19px; ">
  943. <caption>∞</caption>
  944. </button>
  945. <script type="javascript" ev:event="onclick">
  946. <![CDATA[
  947. var trgObj = document.controls.item(event.target);
  948. if( trgObj.elementName == "xforms:button" ) {
  949. var btnMark = trgObj.label;
  950. var txtSelPos = tar_msgcnts.selBegin;
  951. var curText = tar_msgcnts.currentText;
  952. var curTextBefore = curText.substr(0, txtSelPos);
  953. var curTextAfter = curText.substr(txtSelPos, curText.length);
  954. tar_msgcnts.currentText = curTextBefore + btnMark + curTextAfter;
  955. model.setFocus("tar_msgcnts");
  956. tar_msgcnts.selBegin = txtSelPos + 1;
  957. tar_msgcnts.dispatch("onkeyup");
  958. }
  959. ]]>
  960. </script>
  961. </group>
  962. </group>
  963. <group id="group12" style="left:0px; top:23px; width:225px; height:757px; ">
  964. <button id="btn_dm" class="btn_sw" group="tab" style="left:0px; top:5px; width:71px; height:22px; ">
  965. <caption>DM</caption>
  966. <script type="javascript" ev:event="DOMActivate">
  967. <![CDATA[
  968. navigate("SMCND00200");
  969. ]]>
  970. </script>
  971. </button>
  972. <button id="btn_mail" class="btn_sw" group="tab" style="left:72px; top:5px; width:71px; height:22px; ">
  973. <caption>E-mail</caption>
  974. <script type="javascript" ev:event="DOMActivate">
  975. <![CDATA[
  976. navigate("SMCNE00200");
  977. ]]>
  978. </script>
  979. </button>
  980. <button id="btn_sms" class="btn_sw" group="tab" style="left:144px; top:5px; width:71px; height:22px; ">
  981. <caption>SMS</caption>
  982. <script type="javascript" ev:event="DOMActivate">
  983. <![CDATA[
  984. navigate("SMCNS00200");
  985. ]]>
  986. </script>
  987. </button>
  988. <import id="import1" src="./SSCNS00300_채널그룹트리.xrw" style="left:0px; top:30px; width:215px; height:727px; "/>
  989. </group>
  990. <group id="group6" style="left:895px; top:10px; width:295px; height:335px; ">
  991. <caption id="caption3" class="tit_2" style="left:5px; top:10px; width:150px; height:13px; ">미리보기 화면</caption>
  992. <line id="line6" class="line_1" style="x1:0px; y1:25px; x2:294px; y2:25px; "/>
  993. <shape id="rectangle2" appearance="rectangle" style="left:0px; top:30px; width:294px; height:305px; border-color:#c0c0c0; "/>
  994. <img id="img1" src="../../../com/commonweb/images/sms_half_bg_new.gif" style="left:45px; top:32px; width:204px; height:295px; background-stretch:stretch; "/>
  995. <caption id="caption10" style="left:181px; top:244px; width:44px; height:25px; font-weight:bold; color:#ffffff; ">/80</caption>
  996. <input id="ipt_prvwcnt" ref="/root/temp/messagecnt" class="input_default" editable="false" maxlength="20" style="left:157px; top:248px; width:30px; height:19px; font-weight:bold; color:#ffffff; background-color:transparent; border-style:none; "/>
  997. <input id="ipt_prvwcntovr" ref="/root/temp/messagecnt" class="input_default" editable="false" maxlength="20" style="left:157px; top:248px; width:30px; height:19px; font-weight:bold; color:red; background-color:transparent; border-style:none; "/>
  998. <textarea id="tar_contents" ref="/root/temp/prvwscrn" class="input_default" scroll="vertical" editable="false" maxlength="55" style="left:93px; top:105px; width:127px; height:132px; color:#ffffff; background-color:transparent; border-style:none; "/>
  999. <caption id="caption11" style="left:59px; top:289px; width:61px; height:23px; text-align:center; ">회신 번호</caption>
  1000. <input id="ipt_smstrsmcntcnoprvw" ref="/root/main/msgtmpl/smstrsmcntcno" class="input_default" disabled="true" maxlength="20" style="left:119px; top:290px; width:110px; height:19px; background-color:transparent; "/>
  1001. </group>
  1002. <group id="group7" style="left:637px; top:345px; width:101px; height:420px; ">
  1003. <shape id="rectangle5" appearance="rectangle" style="left:1px; top:30px; width:96px; height:378px; border-color:#c0c0c0; "/>
  1004. <caption id="caption15" class="tit_2" style="left:5px; top:10px; width:82px; height:14px; ">자동입력어</caption>
  1005. <line id="line7" class="line_1" style="x1:1px; y1:25px; x2:97px; y2:25px; "/>
  1006. <group id="group5" style="left:3px; top:32px; width:75px; height:268px; ">
  1007. <button id="button131" class="btn2_letter3" style="left:5px; top:2px; width:53px; height:19px; ">
  1008. <caption>고객</caption>
  1009. </button>
  1010. <button id="button132" class="btn2_letter3" style="left:5px; top:25px; width:53px; height:19px; ">
  1011. <caption>진료과</caption>
  1012. </button>
  1013. <button id="button133" class="btn2_letter3" style="left:5px; top:48px; width:53px; height:19px; ">
  1014. <caption>진료의</caption>
  1015. </button>
  1016. <button id="button134" class="btn2_letter3" style="left:5px; top:71px; width:53px; height:19px; ">
  1017. <caption>병원명</caption>
  1018. </button>
  1019. <button id="button135" class="btn2_letter3" style="left:5px; top:94px; width:53px; height:19px; ">
  1020. <caption>월</caption>
  1021. </button>
  1022. <button id="button136" class="btn2_letter3" style="left:5px; top:117px; width:53px; height:19px; ">
  1023. <caption>일</caption>
  1024. </button>
  1025. <button id="button137" class="btn2_letter3" style="left:5px; top:140px; width:53px; height:19px; ">
  1026. <caption>시</caption>
  1027. </button>
  1028. <button id="button138" class="btn2_letter3" style="left:5px; top:163px; width:53px; height:19px; ">
  1029. <caption>분</caption>
  1030. </button>
  1031. <button id="button139" class="btn2_letter4" style="left:5px; top:186px; width:53px; height:19px; ">
  1032. <caption>검사실</caption>
  1033. </button>
  1034. <button id="button140" class="btn2_letter4" style="left:5px; top:209px; width:64px; height:19px; ">
  1035. <caption>처방코드</caption>
  1036. </button>
  1037. <button id="button141" class="btn2_letter4" style="left:5px; top:232px; width:64px; height:19px; ">
  1038. <caption>부서위치</caption>
  1039. </button>
  1040. <script type="javascript" ev:event="onclick">
  1041. <![CDATA[
  1042. var trgObj = document.controls.item(event.target);
  1043. if( trgObj.elementName == "xforms:button" ) {
  1044. var btnMark = "<@" + trgObj.label + ">";
  1045. var txtSelPos = tar_msgcnts.selBegin;
  1046. var curText = tar_msgcnts.currentText;
  1047. var curTextBefore = curText.substr(0, txtSelPos);
  1048. var curTextAfter = curText.substr(txtSelPos, curText.length);
  1049. tar_msgcnts.currentText = curTextBefore + btnMark + curTextAfter;
  1050. var endTxt = tar_msgcnts.currentText;
  1051. model.setFocus("tar_msgcnts");
  1052. tar_msgcnts.selBegin = endTxt.length-curTextAfter.length;
  1053. tar_msgcnts.dispatch("onkeyup");
  1054. }
  1055. ]]>
  1056. </script>
  1057. </group>
  1058. </group>
  1059. </xhtml:body>
  1060. </xhtml:html>