SPCVO02300_VOC추가요청등록.xrw 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * Name :SPCVO02300_VOC추가요청등록
  4. * Summary : VOC 추가요청등록
  5. * Programmer : 김준규
  6. * Date Written : 2007.10.23
  7. * History :
  8. * Remark :
  9. -->
  10. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.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>VOC 고객회신관리</xhtml:title>
  14. <model id="model1">
  15. <instance id="instance1">
  16. <root xmlns="">
  17. <main>
  18. <vocdata>
  19. <deptview>
  20. <deptnm/>
  21. <deptcd/>
  22. <empnm/>
  23. <empid/>
  24. <endreqdd/>
  25. <acptdd/>
  26. <acptseq/>
  27. <rgstseq/>
  28. <rereqreasoncnts/>
  29. </deptview>
  30. <area>
  31. <reqdeptcd/>
  32. <reqdeptnm/>
  33. <reqempid/>
  34. <reqempnm/>
  35. <acptdd/>
  36. <acptseq/>
  37. <rereqyn>Y</rereqyn>
  38. <rereqreasoncnts/>
  39. </area>
  40. </vocdata>
  41. <temp>
  42. <data>
  43. <srchacptdd1/>
  44. <srchacptdd2/>
  45. <srchacpttypecd/>
  46. <srchprcsstatcd/>
  47. <srchdeptcd/>
  48. <srchdeptnm/>
  49. <srchpatnm/>
  50. <srchpid/>
  51. <srchfstrgstrnm/>
  52. </data>
  53. <key>
  54. <sndacptdd/>
  55. <sndacptseq/>
  56. <sndrgstseq/>
  57. </key>
  58. </temp>
  59. </main>
  60. <temp/>
  61. <send>
  62. <data>
  63. </data>
  64. </send>
  65. <init/>
  66. </root>
  67. </instance>
  68. <submission id="TRCVO02301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/temp/key" resultref="/root/main/vocdata"/>
  69. <submission id="TXCVO02301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/vocdata/area"/>
  70. </model>
  71. <script type="javascript" ev:event="xforms-ready">
  72. <![CDATA[
  73. var reAcptDD = model.getValue("/root/main/temp/key/sndacptdd")
  74. var reAcptSeq = model.getValue("/root/main/temp/key/sndacptseq")
  75. var sndrgstseq = model.getValue("/root/main/temp/key/sndrgstseq");
  76. if (( reAcptDD == "" || reAcptDD == null ) || ( reAcptSeq == "" || reAcptSeq == null )) {
  77. var rtn = messageBox("조회에 필요한 항목이 전달되지", "E007");
  78. if(rtn == 1){
  79. window.close();
  80. }
  81. } else {
  82. submit("TRCVO02301");
  83. model.makeValue("/root/main/vocdata/area/reqdeptcd", "");
  84. model.makeValue("/root/main/vocdata/area/reqdeptnm", "");
  85. model.makeValue("/root/main/vocdata/area/reqempid", "");
  86. model.makeValue("/root/main/vocdata/area/reqempnm", "");
  87. model.makeValue("/root/main/vocdata/area/rereqreasoncnts", "");
  88. model.makeValue("/root/main/vocdata/area/acptdd", reAcptDD);
  89. model.makeValue("/root/main/vocdata/area/acptseq", reAcptSeq);
  90. model.makeValue("/root/main/vocdata/area/rereqyn", "Y");
  91. }
  92. var mode = model.getValue("/root/main/temp/key/mode");
  93. if (mode == "B") {
  94. for (var i = 1; i <= grd_dept.rows-1; i++) {
  95. if (sndrgstseq == model.getValue("/root/main/vocdata/deptview["+ i + "]/rgstseq")) {
  96. model.setValue("/root/main/vocdata/area/rereqreasoncnts", model.getValue("/root/main/vocdata/deptview[" + i + "]/rereqreasoncnts"));
  97. btn_input.disabled = true;
  98. }
  99. }
  100. }
  101. fCheckAuth();
  102. model.refresh();
  103. ]]>
  104. </script>
  105. <script type="javascript">
  106. <![CDATA[
  107. function fCheckAuth() {
  108. // 권한체크
  109. if (!checkAuth("r")) {
  110. }
  111. if (!checkAuth("x")) {
  112. btn_input.disable = false;
  113. }
  114. if (!checkAuth("p")) {
  115. }
  116. }
  117. ]]>
  118. </script>
  119. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  120. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  121. </xhtml:head>
  122. <xhtml:body pagewidth="630" pageheight="370" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  123. <group id="grp_tle" style="left:0px; top:0px; width:610px; height:13px; ">
  124. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:132px; height:14px; ">VOC 해당부서 정보</caption>
  125. </group>
  126. <group id="grp_customer" style="left:0px; top:13px; width:610px; height:307px; ">
  127. <line id="line2" class="line_1" style="x1:0px; y1:5px; x2:610px; y2:5px; "/>
  128. <line id="line1" class="line_3" style="x1:0px; y1:304px; x2:610px; y2:304px; "/>
  129. <caption id="caption2" class="cell_1" style="left:0px; top:185px; width:105px; height:120px; text-align:center; vertical-align:middle; ">추가요청사유</caption>
  130. <textarea id="tar_Noticnts" ref="/root/main/vocdata/area/rereqreasoncnts" scroll="vertical" style="left:108px; top:185px; width:502px; height:117px; "/>
  131. <output id="ipt_EmpCD" ref="/root/main/vocdata/area/reqempid" class="output_fix" visibility="hidden" style="left:307px; top:139px; width:100px; height:19px; "/>
  132. <caption id="caption30" class="search_no_b" style="left:113px; top:162px; width:38px; height:17px; ">부서 :</caption>
  133. <input id="ipt_DeptNm" ref="/root/main/vocdata/area/reqdeptnm" class="input_default" imemode="hangul" style="left:154px; top:162px; width:130px; height:19px; ">
  134. <script type="javascript" ev:event="onkeyup">
  135. <![CDATA[
  136. inputEnterKey("btnicon_search6", "DOMActivate");
  137. ]]>
  138. </script>
  139. </input>
  140. <datagrid id="grd_dept" nodeset="/root/main/vocdata/deptview" caption="해당부서^부서코드^해당직원^직원ID^종결처리일^접수일^접수순서^등록순서" colwidth="225, 40, 100, 50, 100, 50, 50, 50" dataheight="23" defaultrows="0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:0px; top:11px; width:610px; height:124px; ">
  141. <col class="text_center" ref="deptnm" _key="true"/>
  142. <col class="text_center" ref="deptcd" visibility="hidden" _key="true"/>
  143. <col class="text_center" ref="empnm"/>
  144. <col class="text_center" ref="empid" visibility="hidden"/>
  145. <col class="text_center" ref="endreqdd" format="yyyy-mm-dd"/>
  146. <col class="text_center" ref="acptdd" visibility="hidden"/>
  147. <col class="text_center" ref="acptseq" visibility="hidden"/>
  148. <col class="text_center" ref="rgstseq" visibility="hidden"/>
  149. </datagrid>
  150. <button id="btnicon_search6" class="icon_search" style="left:288px; top:163px; width:16px; height:16px; ">
  151. <caption/>
  152. <script type="javascript" ev:event="DOMActivate">
  153. <![CDATA[
  154. var search_term = model.getValue("/root/main/vocdata/area/reqdeptnm");
  155. var search_condition = "deptnm";
  156. var receive_deptcd_path = "/root/main/vocdata/area/reqdeptcd";
  157. var receive_deptnm_path = "/root/main/vocdata/area/reqdeptnm";
  158. setParameter("search_condition", search_condition);
  159. setParameter("search_term", search_term);
  160. setParameter("receive_deptcd_path", receive_deptcd_path);
  161. setParameter("receive_deptnm_path", receive_deptnm_path);
  162. modal("SPCVO00600")
  163. clearParameter("search_condition");
  164. clearParameter("search_term");
  165. clearParameter("receive_deptcd_path");
  166. clearParameter("receive_deptnm_path");
  167. // zbcfOpenInstDeptCodeList(search_condition, search_term, receive_deptcd_path, receive_deptnm_path);
  168. ]]>
  169. </script>
  170. </button>
  171. <button id="btnicon_search7" class="icon_search" style="left:288px; top:140px; width:16px; height:16px; ">
  172. <caption/>
  173. <script type="javascript" ev:event="DOMActivate">
  174. <![CDATA[
  175. var search_term1 = model.getValue("/root/main/vocdata/area/reqempid");
  176. var search_term2 = model.getValue("/root/main/vocdata/area/reqempnm");
  177. var search_term3 = model.getValue("/root/main/vocdata/area/reqdeptcd");
  178. if ( search_term1 != "") {
  179. var search_condition = "empid";
  180. var search_term = search_term1;
  181. } else if ((search_term1 == "") && (search_term2 == "") && (search_term3 != "")) {
  182. var search_condition = "deptcd";
  183. var search_term = search_term3;
  184. } else {
  185. var search_condition = "empnm";
  186. var search_term = search_term2;
  187. }
  188. // var search_condition = "empid";
  189. // var search_term = model.getValue("/root/main/vocdata/area/EmpID");
  190. var receive_empid_path = "/root/main/vocdata/area/reqempid";
  191. var receive_empnm_path = "/root/main/vocdata/area/reqempnm";
  192. var receive_deptcd_path = "/root/main/vocdata/area/reqdeptcd";
  193. var receive_deptnm_path = "/root/main/vocdata/area/reqdeptnm";
  194. setParameter("search_condition", search_condition);
  195. setParameter("search_term", search_term);
  196. setParameter("receive_empid_path", receive_empid_path);
  197. setParameter("receive_empnm_path", receive_empnm_path);
  198. setParameter("receive_deptcd_path", receive_deptcd_path);
  199. setParameter("receive_deptnm_path", receive_deptnm_path);
  200. modal("SPCVO00700")
  201. clearParameter("search_condition");
  202. clearParameter("search_term");
  203. clearParameter("receive_empid_path");
  204. clearParameter("receive_empnm_path");
  205. clearParameter("receive_deptcd_path");
  206. clearParameter("receive_deptnm_path");
  207. ]]>
  208. </script>
  209. </button>
  210. <caption id="caption15" class="search_no_b" style="left:113px; top:139px; width:38px; height:17px; ">직원 :</caption>
  211. <caption id="caption27" class="hand" style="left:310px; top:135px; width:205px; height:28px; ">부서 선택은 필수 사항입니다.</caption>
  212. <input id="ipt_EmpNm" ref="/root/main/vocdata/area/reqempnm" class="input_default" imemode="hangul" style="left:154px; top:139px; width:130px; height:19px; ">
  213. <script type="javascript" ev:event="onkeyup">
  214. <![CDATA[
  215. inputEnterKey("btnicon_search7", "DOMActivate");
  216. ]]>
  217. </script>
  218. </input>
  219. <output id="ipt_DeptCd" ref="/root/main/vocdata/area/reqdeptcd" class="output_fix" visibility="hidden" style="left:308px; top:160px; width:100px; height:19px; "/>
  220. <caption id="caption31" style="left:312px; top:162px; width:193px; height:17px; ">(해당 직원 없이 부서만 있는 경우)</caption>
  221. <caption id="caption3" class="cell_1" style="left:0px; top:138px; width:105px; height:45px; text-align:center; vertical-align:middle; ">추가요청부서</caption>
  222. </group>
  223. <group id="grp_btn" scroll="auto" style="left:0px; top:320px; width:610px; height:27px; ">
  224. <button id="btn_close" class="btn4_letter2" style="left:550px; top:5px; width:56px; height:22px; ">
  225. <caption>닫기</caption>
  226. <close ev:event="DOMActivate"/>
  227. </button>
  228. <button id="btn_input" class="btn4_letter5" style="left:455px; top:5px; width:92px; height:22px; ">
  229. <caption>추가 요청</caption>
  230. <script type="javascript" ev:event="DOMActivate">
  231. <![CDATA[
  232. var reAcptSeq = model.getValue("/root/main/temp/key/sndacptseq")
  233. var reAcptDD = model.getValue("/root/main/temp/key/sndacptdd")
  234. var reDeptcd = model.getValue("/root/main/vocdata/area/reqdeptcd")
  235. var reDeptnm = model.getValue("/root/main/vocdata/area/reqdeptnm")
  236. var reEmpid = model.getValue("/root/main/vocdata/area/reqempid")
  237. var reEmpnm = model.getValue("/root/main/vocdata/area/reqempnm")
  238. var reCnts = model.getValue("/root/main/vocdata/area/rereqreasoncnts")
  239. model.setValue("/root/main/vocdata/area/acptseq", reAcptSeq);
  240. model.setValue("/root/main/vocdata/area/acptdd", reAcptDD);
  241. if ( reAcptSeq == "" || reAcptSeq == null ) {
  242. var rtn = messageBox("저장에 필요한 항목이 전달되지", "E007");
  243. if(rtn == 1){
  244. window.close();
  245. }
  246. } else if (reDeptnm == "" || reDeptnm == null) {
  247. var rtn = messageBox("부서 선택은 필수사항입니다. 부서를 선택하지 ", "E007");
  248. if(rtn == 1){
  249. model.setFocus("btnicon_search6");
  250. }
  251. } else if (reDeptcd == "" || reDeptcd == null) {
  252. var rtn = messageBox("부서 조회를 통해 부서를 선택하지 ", "E007");
  253. if(rtn == 1){
  254. model.setFocus("btnicon_search6");
  255. }
  256. } else if (reEmpid == "" && reEmpnm != "") {
  257. var rtn = messageBox("직원 선택은 검색을 통해서 입력하셔야 합니다. \n직원 없이 부서만 등록 ", "S001");
  258. if(rtn == 6){
  259. model.setValue("/root/main/vocdata/area/reqempnm", "");
  260. } else {
  261. model.setFocus("ipt_EmpNm");
  262. return false;
  263. }
  264. } else if (reEmpid != "" && reEmpnm == "") {
  265. var rtn = messageBox("직원 선택을 하셨으나 임의로 직원 이름을 지웠습니다. \n직원 없이 부서만 등록 ", "S001");
  266. if(rtn == 6){
  267. model.setValue("/root/main/vocdata/area/reqempid", "");
  268. } else {
  269. model.setFocus("ipt_EmpNm");
  270. return false;
  271. }
  272. } else if (reCnts == "" || reCnts == null) {
  273. var rtn = messageBox("추가요청 사유를 ", "C001");
  274. if(rtn == 1){
  275. model.setFocus("tar_Noticnts");
  276. }
  277. } else if (reDeptcd != "") {
  278. for ( i = 1; i < grd_dept.rows; i++) {
  279. if ((grd_dept.valueMatrix(i, grd_dept.colRef("deptcd")) == reDeptcd) && (grd_dept.valueMatrix(i, grd_dept.colRef("endreqdd")) == "")) {
  280. messageBox(i+" 번째 부서와 같은 부서에 대하여 부서 추가를 다시 ","E001");
  281. model.setValue("/root/main/vocdata/area/reqempnm", "");
  282. model.setValue("/root/main/vocdata/area/reqempid", "");
  283. model.setValue("/root/main/vocdata/area/reqdeptnm", "");
  284. model.setValue("/root/main/vocdata/area/reqdeptcd", "");
  285. model.SetFocus("ipt_DeptNm");
  286. model.refresh();
  287. return false;
  288. }
  289. }
  290. if (submit("TXCVO02301")){
  291. messageBox("추가요청 내용 저장이 ", "I002");
  292. parent.javaScript.fNavigateAdd();
  293. window.close();
  294. }
  295. }
  296. ]]>
  297. </script>
  298. </button>
  299. <caption id="cpt_Notice" class="hand" style="left:5px; top:7px; width:402px; height:17px; ">추가요청은 새로운 부서 또는 종결된 부서만 추가 가능합니다.</caption>
  300. </group>
  301. </xhtml:body>
  302. </xhtml:html>