123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/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>시스템 메시지관리</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <list>
- <msglist>
- </msglist>
- </list>
- <item>
- <msgcd/>
- <msgcnts1/>
- <msgcnts2/>
- <msgcnts3/>
- <bizabbr/>
- <msgtype/>
- <msgno/>
- <msgdesc/>
- <fstrgstrid/>
- <fstrgstdt/>
- <lastupdtrid/>
- <lastupdtdt/>
- </item>
- </main>
- <send>
- <bizabbr/>
- <msgtype/>
- <msgno/>
- <msglist/>
- </send>
- <init>
- <bizabbr>
- <Z0001Z0009>
- <cdengabbrnm>live</cdengabbrnm>
- </Z0001Z0009>
- <Z0001Z0009>
- <cdengabbrnm>sql</cdengabbrnm>
- </Z0001Z0009>
- <Z0001Z0009>
- <cdengabbrnm>ocs</cdengabbrnm>
- </Z0001Z0009>
- </bizabbr>
- <msgtype>
- <label>error</label>
- <value>error</value>
- </msgtype>
- <msgtype>
- <label>info</label>
- <value>info</value>
- </msgtype>
- </init>
- <temp/>
- </root>
- </instance>
- <submission id="TXZSS00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- zbcfGetKindCodeList(new Array("Z0001"), new Array("Z0009"), new Array("/root/init/bizabbr"), false, new Array("cdnm","cdengabbrnm"));
- model.refresh();
- //fCheckAuth();
- fInitialize();
-
- ]]>
- </script>
- <submission id="TRZSS00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list"/>
- <submission id="TRZBC00104" mediatype="application/x-www-form-urlencoded" method="post"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript">
- <![CDATA[
- function fCheckAuth() {
- if (!checkAuth("x")) {
- btn_save.disabled = true;
- btn_loadexcel.disabled=true;
- btn_delete.disabled=true;
- btn_insert.disabled=true;
- btn_update.disabled=true;
- btn_clear.disabled=true;
- }
-
- }
- // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
- function fInitialize() {
- fEnableInsertButton();
- model.removeNodeset("/root/main/list/msglist");
- model.resetInstanceNode("/root/send");
- model.resetInstanceNode("/root/main/item");
-
- var default_syscd = model.getValue("/root/init/syscd[1]/value");
- model.setValue("/root/send/bizabbr",default_syscd);
- model.refresh();
- }
-
- // 시스템코드, 메시지종료, 메시지 번호가 입력되면 이들을 조합하여 메시지코드를 설정한다.
- function fSetMessageCode() {
- var bizabbr = model.getValue("/root/main/item/bizabbr");
- var msgkind = model.getValue("/root/main/item/msgtype");
- var msgno = model.getValue("/root/main/item/msgno");
- var msgcd = bizabbr + "." + msgkind + "." + msgno;
- model.makeValue("/root/main/item/msgcd",msgcd);
- model.refresh();
- }
- function fEnableInsertButton() {
- btn_insert.disabled = false;
- btn_update.disabled = true;
- }
- function fEnableUpdateButton() {
- btn_insert.disabled = true;
- btn_update.disabled = false;
- }
-
- function fDeleteSelectedRows(grd,markonly) {
- var rowIdx;
- if (grd.selectedRows > 0) {
- var selectedRows = Array(grd.selectedRows);
- for(i=0;i<grd.selectedRows;i++) {
- selectedRows[i] = grd.selectedRow(i);
- }
- if (markonly != null && markonly == true) { // mark delete
- for(i=selectedRows.length-1;i>=0;i--) {
- rowIdx = selectedRows[i];
- if(grd.rowstatus(rowIdx) == 1 ) { // just inserted row
- grd.deleterow(rowIdx,false);
- } else {
- grd.addStatus(rowIdx,"delete");
- }
- }
- } else {
- for(i=selectedRows.length-1;i>=0;i--) {
- rowIdx = selectedRows[i];
- grd.deleterow(rowIdx,false);
- }
- }
- }
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
- <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:189px; height:14px; ">시스템 메시지 관리</caption>
- </group>
- <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
- <line id="line4" class="line_2" style="x1:0px; y1:176px; x2:1194px; y2:176px; "/>
- <line id="line3" class="line_2" style="x1:0px; y1:152px; x2:1194px; y2:152px; "/>
- <line id="line2" class="line_2" style="x1:0px; y1:128px; x2:1194px; y2:128px; "/>
- <line id="line6" class="line_2" style="x1:0px; y1:104px; x2:1194px; y2:104px; "/>
- <group id="group2" style="left:0px; top:14px; width:1194px; height:35px; vertical-align:top; ">
- <shape id="roundrect1" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
- <caption id="caption2" class="search_name" style="left:16px; top:8px; width:91px; height:17px; ">업무 구분 :</caption>
- <line id="line13" style="x1:1106px; y1:7px; x2:1106px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
- <caption id="caption21" class="search_name" style="left:331px; top:8px; width:104px; height:17px; ">메시지 종류 :</caption>
- <caption id="caption22" class="search_name" style="left:661px; top:8px; width:104px; height:17px; ">메시지 번호 :</caption>
- <input id="ipt_msgno" ref="/root/send/msgno" class="input_search" navindex="3" style="left:770px; top:8px; width:200px; height:19px; "/>
- <button id="btn_search" class="btn1_letter2" navindex="4" style="left:1122px; top:7px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var updtdata = getGridUpdateData(grd_msglist);
- if ( updtdata != "" ) {
- var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 조회 작업을","Q003");
- if (ret != 6) { // not OK
- return;
- }
- }
- //model.send("TRZSS00101");
- //setAlertOn();
- submit("TRZSS00101");
- ]]>
- </script>
- </button>
- <select1 id="cmb_bizabbr" ref="/root/send/bizabbr" class="combo_s_essential" navindex="1" appearance="minimal" style="left:110px; top:8px; width:200px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/bizabbr/Z0001Z0009">
- <label ref="cdengabbrnm"/>
- <value ref="cdengabbrnm"/>
- </itemset>
- </choices>
- </select1>
- <select1 id="cmb_msgtype" ref="/root/send/msgtype" class="combo_search" navindex="2" appearance="minimal" style="left:440px; top:8px; width:200px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/msgtype">
- <label ref="label"/>
- <value ref="value"/>
- </itemset>
- </choices>
- </select1>
- </group>
- <caption id="caption1" class="tit_2" style="left:6px; top:530px; width:139px; height:13px; ">메시지 입력/수정</caption>
- <line id="line1" class="line_1" style="x1:0px; y1:545px; x2:1194px; y2:545px; "/>
- <caption id="cap_bizabbrinput" class="cell_1" style="left:0px; top:550px; width:100px; height:23px; ">업무 구분</caption>
- <caption id="cap_msgtypeinput" class="cell_1" style="left:299px; top:550px; width:100px; height:23px; ">메시지 종류</caption>
- <caption id="cap_msgcnts1" class="cell_1" style="left:0px; top:574px; width:100px; height:23px; ">메시지 1</caption>
- <caption id="cap_msgcnts2" class="cell_1" style="left:0px; top:598px; width:100px; height:23px; ">메시지 2</caption>
- <caption id="cap_msgcnts3" class="cell_1" style="left:0px; top:622px; width:100px; height:23px; ">메시지 3</caption>
- <caption id="cap_msgnoinput" class="cell_1" style="left:598px; top:550px; width:100px; height:23px; ">메시지 번호</caption>
- <caption id="caption19" class="cell_1" style="left:0px; top:646px; width:100px; height:71px; ">메시지 설명</caption>
- <caption id="caption20" class="tit_2" style="left:6px; top:62px; width:118px; height:13px; ">메시지 조회 목록</caption>
- <line id="line8" class="line_1" style="x1:0px; y1:77px; x2:1194px; y2:77px; "/>
- <line id="line7" class="line_3" style="x1:0px; y1:741px; x2:1194px; y2:741px; "/>
- <caption id="cap_msgcd" class="cell_1" style="left:898px; top:550px; width:100px; height:23px; ">메시지 코드</caption>
- <datagrid id="grd_msglist" nodeset="/root/main/list/msglist" caption="업무구분^메시지종류^메시지번호^메시지 1^메시지 2^메시지 3^메시지상세설명^최초등록자^등록일시^최종수정자^수정일시" colwidth="60, 70, 80, 380, 290, 270, 100, 100, 100, 100, 66" dataheight="25" defaultrows="0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" style="left:0px; top:82px; width:1194px; height:438px; ">
- <col ref="bizabbr"/>
- <col ref="msgtype"/>
- <col ref="msgno"/>
- <col ref="msgcnts1" style="word-wrap:none; "/>
- <col ref="msgcnts2" style="word-wrap:none; "/>
- <col ref="msgcnts3" style="word-wrap:none; "/>
- <col ref="msgdesc" visibility="hidden"/>
- <col ref="fstrgstrid" visibility="hidden"/>
- <col ref="fstrgstdt" visibility="hidden"/>
- <col ref="lastupdtrid" visibility="hidden"/>
- <col ref="lastupdtdt" visibility="hidden"/>
- <script type="javascript" ev:event="onrowchanged">
- <![CDATA[
- var cur_row = grd_msglist.row;
- if ( cur_row > 0 ) {
- fEnableUpdateButton();
- model.copyNode("/root/main/item","/root/main/list/msglist["+cur_row+"]");
- fSetMessageCode();
- model.refresh();
- }
- ]]>
- </script>
- </datagrid>
- <select1 id="cmb_bizabbrinput" ref="/root/main/item/bizabbr" class="combo_essential" navindex="5" appearance="minimal" _required="true" style="left:103px; top:551px; width:193px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/bizabbr/Z0001Z0009">
- <label ref="cdengabbrnm"/>
- <value ref="cdengabbrnm"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- fSetMessageCode();
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fEnableInsertButton();
- ]]>
- </script>
- </select1>
- <select1 id="cmb_msgtypeinput" ref="/root/main/item/msgtype" class="combo_essential" navindex="6" appearance="minimal" _required="true" style="left:402px; top:551px; width:193px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/msgtype">
- <label ref="label"/>
- <value ref="value"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- fSetMessageCode();
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fEnableInsertButton();
- ]]>
- </script>
- </select1>
- <input id="ipt_msgnoinput" ref="/root/main/item/msgno" class="input_essential" navindex="7" maxlength="5" _required="true" style="left:701px; top:551px; width:193px; height:19px; ">
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fEnableInsertButton();
- fSetMessageCode();
- ]]>
- </script>
- </input>
- <input id="ipt_msgcd" ref="/root/main/item/msgcd" class="input_default" appearance="input" style="left:1001px; top:551px; width:193px; height:19px; "/>
- <input id="ipt_msgcnts1" ref="/root/main/item/msgcnts1" class="input_essential" navindex="8" _required="true" style="left:103px; top:575px; width:1091px; height:19px; "/>
- <input id="ipt_msgcnts2" ref="/root/main/item/msgcnts2" class="input_default" navindex="9" appearance="input" style="left:103px; top:599px; width:1091px; height:19px; "/>
- <input id="ipt_msgcnts3" ref="/root/main/item/msgcnts3" class="input_default" navindex="10" appearance="input" style="left:103px; top:623px; width:1091px; height:19px; "/>
- <textarea id="tar_msgdesc" ref="/root/main/item/msgdesc" navindex="11" style="left:103px; top:647px; width:1091px; height:67px; "/>
- <button id="btn_clear" class="btn2_letter3" navindex="14" style="left:1140px; top:524px; width:53px; height:19px; ">
- <caption>지우기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fEnableInsertButton();
- model.resetInstanceNode("/root/main/item");
- model.refresh();
- ]]>
- </script>
- </button>
- <button id="btn_delete" class="btn2_letter5" style="left:1118px; top:56px; width:75px; height:19px; ">
- <caption>선택행삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fDeleteSelectedRows(grd_msglist,false);
- grd_msglist.refresh();
- ]]>
- </script>
- </button>
- <button id="btn_update" class="btn2_letter2" navindex="13" style="left:1095px; top:524px; width:42px; height:19px; ">
- <caption>수정</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //if ( !fCheckMandatoryInput() ) return;
- if (!isRequiredGroup("group3")) return;
- var cur_row = grd_msglist.row; // 행 번호 가져오기
- if (cur_row > 0) {
- // 그리드에 추가
- model.copyNode("/root/main/list/msglist["+cur_row+"]","/root/main/item");
- grd_msglist.addStatus(cur_row,"update"); // 행을 업데이트 상태로 변경
- model.refresh();
- }
- ]]>
- </script>
- </button>
- <button id="btn_insert" class="btn2_letter2" navindex="12" style="left:1050px; top:524px; width:42px; height:19px; ">
- <caption>추가</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //if ( !fCheckMandatoryInput() ) return;
- if (!isRequiredGroup("group3")) return;
-
- grd_msglist.addItem(); // 입력할 행 추가.
- var cur_row = grd_msglist.row; // 추가된 행 번호 가져오기
- // 그리드에 추가
- model.copyNode("/root/main/list/msglist["+cur_row+"]","/root/main/item");
- fEnableUpdateButton();
- model.refresh();
- ]]>
- </script>
- </button>
- <output id="input1" ref="/root/main/item/lastupdtdt" class="output_fix" format="yyyy-mm-dd hh:nn:ss" appearance="output" style="left:1001px; top:719px; width:193px; height:19px; "/>
- <output id="combo1" ref="/root/main/item/fstrgstrid" class="output_fix" style="left:103px; top:719px; width:193px; height:19px; "/>
- <caption id="caption4" class="cell_1" style="left:598px; top:718px; width:100px; height:23px; vertical-align:middle; ">최종 수정자</caption>
- <caption id="caption10" class="cell_1" style="left:898px; top:718px; width:100px; height:23px; vertical-align:middle; ">최종 수정일시</caption>
- <output id="combo2" ref="/root/main/item/fstrgstdt" class="output_fix" format="yyyy-mm-dd hh:nn:ss" appearance="output" style="left:402px; top:719px; width:193px; height:19px; "/>
- <caption id="caption12" class="cell_1" style="left:0px; top:718px; width:100px; height:23px; vertical-align:middle; ">최초 등록자</caption>
- <caption id="caption13" class="cell_1" style="left:299px; top:718px; width:100px; height:23px; vertical-align:middle; ">최초 등록일시</caption>
- <output id="input2" ref="/root/main/item/lastupdtrid" class="output_fix" style="left:701px; top:719px; width:193px; height:19px; "/>
- <button id="btn_loadexcel" class="btn2_letter4" style="left:1052px; top:56px; width:64px; height:19px; ">
- <caption>엑셀입력</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var fileName = window.fileDialog("open", "", false);
- grd_msglist.loadExcel(fileName, 1);
- // 입력 상태로 변경
- var rows = grd_msglist.rows;
- for(var i=1;i<rows;i++) {
- grd_msglist.addStatus(i,"insert");
- }
- ]]>
- </script>
- </button>
- <button id="btn_saveexcel" class="btn2_letter4" style="left:985px; top:56px; width:64px; height:19px; ">
- <caption>엑셀저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
-
- if (fileName != "")
- {
- grd_msglist.saveExcel(fileName, "SheetName", true, true, "", "", false);
- }
- ]]>
- </script>
- </button>
- </group>
- <group id="group4" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
- <line id="line32" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
- <button id="btn_save" class="btn4_letter2" navindex="15" style="left:1067px; top:3px; width:56px; height:22px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var updtdata = getGridUpdateData(grd_msglist);
- if (updtdata == "") {
- messageBox("변경된 데이터가","I004");
- return;
- }
-
- //alert("grid update data = " + grd_msglist.getUpdateData());
- model.setValue("/root/send/msglist",grd_msglist.getUpdateData());
- if ( submit("TXZSS00101") ) {
- grd_msglist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
- model.setValue("/root/send/msglist","");
- }
- ]]>
- </script>
- </button>
- <button id="btn_init" class="btn4_letter3" navindex="16" style="left:1126px; top:3px; width:68px; height:22px; ">
- <caption>초기화</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var updtdata = getGridUpdateData(grd_msglist);
- if (updtdata != "" ) {
- var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 초기화 작업을","Q003");
- if (ret != 6) { // not OK
- return;
- }
- }
- fInitialize();
- ]]>
- </script>
- </button>
- </group>
- </xhtml:body>
- </xhtml:html>
|