SMCVQ00100_부서VOC처리현황.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * Name : SMCVQ00100_부서 VOC 처리사항 조회
  4. * Summary : 부서 VOC 처리사항 조회
  5. * Programmer : Roger Kim
  6. * Date Written : 2007.01.23
  7. * History :
  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>부서 VOC 처리현황</xhtml:title>
  14. <model id="model1">
  15. <instance id="instance1">
  16. <root xmlns="">
  17. <main>
  18. <list>
  19. <voclist>
  20. <acptseq/>
  21. <replreqdd/>
  22. <acpttype/>
  23. <deptnm/>
  24. <empnm/>
  25. <deptprcsstat/>
  26. <innraprvreqdd/>
  27. <innraprvdd/>
  28. <acpttitl/>
  29. <acptkindlrg/>
  30. <rgstseq/>
  31. <acptdd/>
  32. <deptprcsstatcd/>
  33. <prcsstatcd/>
  34. <aprvreqflag/>
  35. </voclist>
  36. </list>
  37. </main>
  38. <send>
  39. <data>
  40. <srchacptdd1/>
  41. <srchacptdd2/>
  42. <srchacpttypecd/>
  43. <srchprcsstatcd/>
  44. <srchdeptcd/>
  45. <srchempnm/>
  46. </data>
  47. <key>
  48. <sndacptdd/>
  49. <sndacptseq/>
  50. <sndrgstseq/>
  51. </key>
  52. </send>
  53. <init>
  54. <C0001list>
  55. <C0001>
  56. <cdid/>
  57. <cdnm>전체</cdnm>
  58. </C0001>
  59. </C0001list>
  60. </init>
  61. </root>
  62. </instance>
  63. <script type="javascript" ev:event="xforms-ready">
  64. <![CDATA[
  65. model.removeNodeset("/root/main/list");
  66. var reSrchAcptDD1 = model.getValue("/root/send/data/srchacptdd1")
  67. // 처음 검색 팝업을 띄울 때에는 기본 정보를 안 보여주고, 한번 검색 한 이후에는 최종선택한 정보를 기본적으로 가져옴..
  68. if ( reSrchAcptDD1 == "" || reSrchAcptDD1 == null ){
  69. model.setValue("/root/send/data/srchacptdd1",getCurrentDate().toDate().getAddDate(-61,"D").getDateFormat());
  70. model.setValue("/root/send/data/srchacptdd2",getCurrentDate());
  71. }
  72. initGridStyle("grd_voclist");
  73. submit("TRCVQ00101");
  74. setRowStyle("grd_voclist" , "2" , "접수" , "deptprcsstat", "");
  75. //model.SetFocus("grd_voclist");
  76. zbcfGetCodeList( new Array("C0001"), new Array("/root/init/C0001list"), true );
  77. fCheckAuth();
  78. model.refresh();
  79. ]]>
  80. </script>
  81. <script type="javascript" ev:event="xforms-model-construct-done">
  82. <![CDATA[
  83. grd_voclist.mergeCol(0) = false;
  84. grd_voclist.mergeCol(3) = false;
  85. grd_voclist.mergeCol(4) = false;
  86. grd_voclist.mergeCol(5) = false;
  87. grd_voclist.mergeCol(6) = false;
  88. grd_voclist.mergeCol(7) = false;
  89. grd_voclist.mergeCol(8) = false;
  90. grd_voclist.mergeCol(9) = false;
  91. grd_voclist.mergeCol(10) = false;
  92. grd_voclist.mergeCol(11) = false;
  93. ]]>
  94. </script>
  95. <script type="javascript">
  96. <![CDATA[
  97. function fCheckAuth() {
  98. // 권한체크
  99. if (!checkAuth("r")) {
  100. btnicon_search1.disabled = true;
  101. btn_search.disabled = true;
  102. btn_list.disabled = true;
  103. }
  104. if (!checkAuth("x")) {
  105. }
  106. if (!checkAuth("p")) {
  107. btn_excsave.disabled = true;
  108. }
  109. }
  110. ]]>
  111. </script>
  112. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  113. <submission id="TRCVQ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" resultref="/root/main/list"/>
  114. </model>
  115. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  116. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  117. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  118. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  119. </xhtml:head>
  120. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  121. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  122. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:145px; height:13px; ">부서 VOC 처리현황</caption>
  123. </group>
  124. <group id="grp_johe" style="left:225px; top:23px; width:970px; height:59px; vertical-align:top; ">
  125. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:970px; height:59px; "/>
  126. <caption id="caption2" class="search_name" style="left:15px; top:9px; width:87px; height:17px; ">접수일자 :</caption>
  127. <input id="ipt_SrchAcptDD1" ref="/root/send/data/srchacptdd1" class="input_s_essential" inputtype="date" style="left:105px; top:8px; width:120px; height:19px; "/>
  128. <caption id="caption3" class="search_no_b" style="left:230px; top:9px; width:12px; height:17px; ">~</caption>
  129. <input id="ipt_SrchAcptDD2" ref="/root/send/data/srchacptdd2" class="input_s_essential" inputtype="date" style="left:245px; top:8px; width:120px; height:19px; "/>
  130. <caption id="caption4" class="search_name" style="left:394px; top:9px; width:87px; height:17px; ">접수구분 :</caption>
  131. <select1 id="cmb_SrchAcptTypeCd" ref="/root/send/data/srchacpttypecd" class="combo_search" appearance="minimal" style="left:483px; top:8px; width:130px; height:19px; ">
  132. <choices>
  133. <itemset nodeset="/root/init/C0001list/C0001">
  134. <label ref="cdnm"/>
  135. <value ref="cdid"/>
  136. </itemset>
  137. </choices>
  138. </select1>
  139. <caption id="caption5" class="search_name" style="left:640px; top:9px; width:87px; height:17px; ">진행상태 :</caption>
  140. <select1 id="cmb_SrchPrcsStatCd" ref="/root/send/data/srchprcsstatcd" class="combo_search" appearance="minimal" style="left:730px; top:8px; width:130px; height:19px; ">
  141. <choices>
  142. <item>
  143. <label>전체</label>
  144. <value/>
  145. </item>
  146. <item>
  147. <label>접수</label>
  148. <value>A</value>
  149. </item>
  150. <item>
  151. <label>처리중</label>
  152. <value>B</value>
  153. </item>
  154. <item>
  155. <label>결재요청</label>
  156. <value>C</value>
  157. </item>
  158. <item>
  159. <label>회신완료</label>
  160. <value>D</value>
  161. </item>
  162. <item>
  163. <label>모든 부서 열람</label>
  164. <value>Z</value>
  165. </item>
  166. <item>
  167. <label>자체처리 알림</label>
  168. <value>X</value>
  169. </item>
  170. </choices>
  171. </select1>
  172. <caption id="caption6" class="search_name" style="left:15px; top:33px; width:87px; height:17px; ">해당직원 :</caption>
  173. <input id="ipt_SrchPatNm" ref="/root/send/data/srchempnm" class="input_search" style="left:105px; top:32px; width:130px; height:19px; ">
  174. <script type="javascript" ev:event="onkeyup">
  175. <![CDATA[
  176. inputEnterKey("btn_search", "DOMActivate");
  177. ]]>
  178. </script>
  179. </input>
  180. <line id="line1" class="line_4" style="x1:883px; y1:7px; x2:883px; y2:53px; "/>
  181. <button id="btn_search" class="btn1_letter2" style="left:898px; top:17px; width:56px; height:22px; ">
  182. <caption>조회</caption>
  183. <script type="javascript" ev:event="DOMActivate">
  184. <![CDATA[
  185. if (isRequiredControls("ipt_SrchAcptDD1", "ipt_SrchAcptDD2") ){
  186. model.removeNodeset("/root/main/list/voclist");
  187. initGridStyle("grd_voclist");
  188. submit("TRCVQ00101");
  189. setRowStyle("grd_voclist" , "2" , "접수" , "deptprcsstat", "");
  190. //model.SetFocus("grd_voclist");
  191. }
  192. ]]>
  193. </script>
  194. </button>
  195. </group>
  196. <group id="grp_customer" style="left:225px; top:82px; width:970px; height:669px; ">
  197. <caption id="caption9" class="tit_2" style="left:5px; top:10px; width:165px; height:14px; ">부서 VOC 처리 목록</caption>
  198. <button id="btn_excsave" class="btn2_letter4" visibility="visible" style="left:906px; top:5px; width:64px; height:19px; ">
  199. <caption>엑셀저장</caption>
  200. <script type="javascript" ev:event="DOMActivate">
  201. <![CDATA[
  202. var fileName = window.fileDialog("save", ",", false, "VOC접수목록엑셀", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  203. if (fileName != "")
  204. {
  205. grd_voclist.saveExcel(fileName);
  206. }
  207. ]]>
  208. </script>
  209. </button>
  210. <line id="line2" class="line_1" style="x1:0px; y1:25px; x2:970px; y2:25px; "/>
  211. <datagrid id="grd_voclist" nodeset="/root/main/list/voclist" allowselection="false" autoresize="true" caption="접수번호^접수일자^접수구분^담당부서^담당자^진행상태^결재요청일^부서장결재^제목^접수유형^등록순서^접수일자^부서진행상태코드^진행상태코드^승인요청" colsep="^" colwidth="70, 80, 80, 80, 75, 80, 75, 75, 255, 75, 0, 0, 0, 0, 0" dataheight="23" defaultrows="0" extendlastcol="scroll" mergecells="byrestriccol" mergecellsfixedrows="bycolrec" rowheader="reverseseq" rowheight="23" rowsep="|" style="left:0px; top:30px; width:970px; height:639px; ">
  212. <col class="text_center" ref="acptseq"/>
  213. <col class="text_center" ref="replreqdd" format="yyyy-mm-dd"/>
  214. <col class="text_center" ref="acpttype"/>
  215. <col ref="deptnm"/>
  216. <col class="text_center" ref="empnm"/>
  217. <col class="text_center" ref="deptprcsstat"/>
  218. <col class="text_center" ref="innraprvreqdd" format="yyyy-mm-dd"/>
  219. <col class="text_center" ref="innraprvdd" format="yyyy-mm-dd"/>
  220. <col ref="acpttitl"/>
  221. <col class="text_center" ref="acptkindlrg"/>
  222. <col ref="rgstseq" visibility="hidden"/>
  223. <col ref="acptdd" visibility="hidden"/>
  224. <col ref="deptprcsstatcd" visibility="hidden"/>
  225. <col ref="prcsstatcd" visibility="hidden"/>
  226. <col ref="aprvreqflag" visibility="hidden"/>
  227. <script type="javascript" ev:event="ondblclick">
  228. <![CDATA[
  229. var row = grd_voclist.row;
  230. var receive_acptdd = grd_voclist.valueMatrix(row, grd_voclist.colRef("acptdd"));
  231. var receive_acptseq = grd_voclist.valueMatrix(row, grd_voclist.colRef("acptseq"));
  232. var receive_rgstseq = grd_voclist.valueMatrix(row, grd_voclist.colRef("rgstseq"));
  233. var receive_aprvreqflag = grd_voclist.valueMatrix(row, grd_voclist.colRef("aprvreqflag"));
  234. var receive_deptprcsstat = grd_voclist.valueMatrix(row, grd_voclist.colRef("deptprcsstatcd"));
  235. if ((grd_voclist.row > 0) && grd_voclist.isCell(event.target)){
  236. model.setValue("/root/send/key/sndacptdd", receive_acptdd);
  237. model.setValue("/root/send/key/sndacptseq", receive_acptseq);
  238. model.setValue("/root/send/key/sndrgstseq", receive_rgstseq);
  239. if (receive_aprvreqflag == "2") { // 모든부서열람 Z
  240. navigate("SMCVQ01000", "", "", "", "SMCVQ01000", "/root/send", "/root/main/temp");
  241. } else if (receive_aprvreqflag == "1") { // 자체처리알림 X
  242. navigate("SMCVQ01100", "", "", "", "SMCVQ01100", "/root/send", "/root/main/temp");
  243. } else {
  244. if (receive_deptprcsstat == "A") {
  245. navigate("SMCVQ00500", "", "", "", "SMCVQ00500", "/root/send", "/root/main/temp");
  246. } else if (receive_deptprcsstat == "B") {
  247. navigate("SMCVQ00600", "", "", "", "SMCVQ00600", "/root/send", "/root/main/temp");
  248. } else if (receive_deptprcsstat == "C") {
  249. var rtn = messageBox("부서장 결재를 기다리고 있는 중입니다. ","Q003");
  250. if(rtn == 6){
  251. navigate("SMCVQ00700", "", "", "", "SMCVQ00700", "/root/send", "/root/main/temp");
  252. } else {
  253. }
  254. } else if (receive_deptprcsstat == "D") {
  255. navigate("SMCVQ00800", "", "", "", "SMCVQ00800", "/root/send", "/root/main/temp");
  256. } else if (receive_deptprcsstat == "E") {
  257. navigate("SMCVQ00900", "", "", "", "SMCVQ00900", "/root/send", "/root/main/temp");
  258. }
  259. }
  260. } else {
  261. }
  262. ]]>
  263. </script>
  264. </datagrid>
  265. </group>
  266. <group id="grp_btn" scroll="auto" style="left:225px; top:751px; width:970px; height:27px; ">
  267. <caption id="caption20" class="hand" style="left:100px; top:7px; width:672px; height:17px; ">부서 VOC 처리현황에서는 사용자의 부서에 들어온 처리요청 및 공개열람/자체처리 내역을 보실 수 있습니다.</caption>
  268. <button id="btn_list" class="btn4_letter5" style="left:878px; top:5px; width:92px; height:22px; ">
  269. <caption>정보 보기</caption>
  270. <script type="javascript" ev:event="DOMActivate">
  271. <![CDATA[
  272. var row = grd_voclist.row;
  273. var receive_acptdd = grd_voclist.valueMatrix(row, grd_voclist.colRef("acptdd"));
  274. var receive_acptseq = grd_voclist.valueMatrix(row, grd_voclist.colRef("acptseq"));
  275. var receive_rgstseq = grd_voclist.valueMatrix(row, grd_voclist.colRef("rgstseq"));
  276. var receive_aprvreqflag = grd_voclist.valueMatrix(row, grd_voclist.colRef("aprvreqflag"));
  277. var receive_deptprcsstat = grd_voclist.valueMatrix(row, grd_voclist.colRef("deptprcsstatcd"));
  278. if ((grd_voclist.row > 0) && grd_voclist.isCell(event.target)){
  279. model.setValue("/root/send/key/sndacptdd", receive_acptdd);
  280. model.setValue("/root/send/key/sndacptseq", receive_acptseq);
  281. model.setValue("/root/send/key/sndrgstseq", receive_rgstseq);
  282. if (receive_aprvreqflag == "2") { // 모든부서열람 Z
  283. navigate("SMCVQ01000", "", "", "", "SMCVQ01000", "/root/send", "/root/main/temp");
  284. } else if (receive_aprvreqflag == "1") { // 자체처리알림 X
  285. navigate("SMCVQ01100", "", "", "", "SMCVQ01100", "/root/send", "/root/main/temp");
  286. } else {
  287. if (receive_deptprcsstat == "A") {
  288. navigate("SMCVQ00500", "", "", "", "SMCVQ00500", "/root/send", "/root/main/temp");
  289. } else if (receive_deptprcsstat == "B") {
  290. navigate("SMCVQ00600", "", "", "", "SMCVQ00600", "/root/send", "/root/main/temp");
  291. } else if (receive_deptprcsstat == "C") {
  292. var rtn = messageBox("부서장 결재를 기다리고 있는 중입니다. ","Q003");
  293. if(rtn == 6){
  294. navigate("SMCVQ00700", "", "", "", "SMCVQ00700", "/root/send", "/root/main/temp");
  295. } else {
  296. }
  297. } else if (receive_deptprcsstat == "D") {
  298. navigate("SMCVQ00800", "", "", "", "SMCVQ00800", "/root/send", "/root/main/temp");
  299. } else if (receive_deptprcsstat == "E") {
  300. navigate("SMCVQ00900", "", "", "", "SMCVQ00900", "/root/send", "/root/main/temp");
  301. }
  302. }
  303. } else {
  304. messageBox("조회하신 후 목록을 ","C002");
  305. model.SetFocus("grd_voclist");
  306. }
  307. ]]>
  308. </script>
  309. </button>
  310. </group>
  311. <import id="import1" overflow="hidden" instancetype="merge" src="./SSCVO00100_LeftTree.xrw" style="left:0px; top:23px; width:215px; height:744px; "/>
  312. <shape id="rndrctlgnd" class="roundrect_legend" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:24px; top:505px; width:167px; height:224px; background-color:#f2f6ff; border-color:#c8c0fd; "/>
  313. <caption id="caption50" class="hand" style="left:35px; top:530px; width:144px; height:30px; ">부서 처리 프로세스</caption>
  314. <caption id="caption51" style="left:54px; top:560px; width:120px; height:21px; font-weight:bold; vertical-align:top; line-spacing:7; ">
  315. <![CDATA[(1) 접수]]>
  316. <hint>
  317. <![CDATA[
  318. 부서 담당자가 "접수"된 VOC를 선택하여 그 내용을 읽고 『부서 접수 확인』
  319. 버튼을 눌러 해당 VOC 처리를 시작했음을 알리면【처리중】상태가 된다.
  320. ]]>
  321. </hint>
  322. </caption>
  323. <caption id="caption52" style="left:54px; top:580px; width:120px; height:21px; font-weight:bold; vertical-align:top; line-spacing:7; ">
  324. <![CDATA[(2) 처리중]]>
  325. <hint>
  326. <![CDATA[
  327. 부서 담당자는 "처리중"인 VOC에 대해 민원이 제기된 내용 확인, 고객과의 연락, 민원 처리 등 실제
  328. 업무 처리를 진행하고 그 결과 내용을 저장한다. 진행상태는 여전히【처리중】상태가 되어 있다.
  329. ]]>
  330. </hint>
  331. </caption>
  332. <caption id="caption53" style="left:54px; top:600px; width:120px; height:20px; font-weight:bold; vertical-align:top; line-spacing:7; ">
  333. <![CDATA[(3) 결재요청]]>
  334. <hint>
  335. <![CDATA[
  336. 부서 담당자는 업무 처리 결과 내용의 입력 완료 후 부서장 결재 요청 버튼을
  337. 눌러 부서장에게 결재를 요청한다. 진행상태는【결재요청】상태가 된다.
  338. ]]>
  339. </hint>
  340. </caption>
  341. <caption id="caption54" style="left:54px; top:620px; width:120px; height:20px; font-weight:bold; vertical-align:top; line-spacing:7; ">
  342. <![CDATA[(4) 회신완료]]>
  343. <hint>
  344. <![CDATA[
  345. 부서장은 담당자가 결재 요청한 VOC에 대하여 그 내용을 확인, 판단하여
  346. 부서장 의견을 적어 결재 처리를 하면서 민원 담당자에게 회신하게 되면
  347. 진행상태는【회신완료】상태가 되어 부서에서의 업무가 종료하게 된다.
  348. ]]>
  349. </hint>
  350. </caption>
  351. <caption id="caption56" style="left:54px; top:644px; width:125px; height:20px; vertical-align:top; line-spacing:7; ">
  352. <![CDATA[ * 공개열람내용 확인]]>
  353. <hint>
  354. <![CDATA[
  355. 부서 담당자 및 부서내 직원은 진행상태를 "모든 부서 열람"으로
  356. 검색하여 다른 부서의 공개된 VOC 접수 내용을 볼 수 있다.
  357. ]]>
  358. </hint>
  359. </caption>
  360. <caption id="caption57" style="left:54px; top:662px; width:120px; height:21px; vertical-align:top; line-spacing:7; ">
  361. <![CDATA[ * 자체처리 알림]]>
  362. <hint>
  363. <![CDATA[
  364. 민원 담당자가 이미 자체적으로 처리하였지만 부서 담당자도 민원 내용을
  365. 알 필요가 있는 경우 자체처리 알림을 통해 VOC 접수 내용을 볼 수 있다.
  366. ]]>
  367. </hint>
  368. </caption>
  369. <caption id="caption58" style="left:54px; top:680px; width:120px; height:20px; vertical-align:top; line-spacing:7; ">
  370. <![CDATA[ * 부서통계]]>
  371. <hint>
  372. <![CDATA[
  373. 부서 담당자는 "기간별 VOC 현황" "직원별 VOC 현황" 메뉴에서
  374. 자신의 부서에 대하여 조회일자를 지정하여 그 현황을 확인할 수 있다.
  375. ]]>
  376. </hint>
  377. </caption>
  378. </xhtml:body>
  379. </xhtml:html>