SMRPV03600_내부고객만족도설문등록.xrw 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <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">
  4. <xhtml:head>
  5. <xhtml:title>내부고객 만족도 설문 등록</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <inlist>
  11. <iocustvaludept>
  12. <iocustvaludeptlist/>
  13. </iocustvaludept>
  14. <incustvaluscor>
  15. <incustvaluscorlist/>
  16. </incustvaluscor>
  17. </inlist>
  18. <outlist>
  19. <outcustvaludept>
  20. <outcustvaludeptlist/>
  21. </outcustvaludept>
  22. <outcustvaluscor>
  23. <outcustvaluscorlist/>
  24. </outcustvaluscor>
  25. </outlist>
  26. <incustcnts>
  27. <incustcntslist/>
  28. </incustcnts>
  29. <temp>
  30. <text/>
  31. </temp>
  32. </main>
  33. <send>
  34. <iocustvaludept>
  35. <valuyy/>
  36. <instcd/>
  37. <valuclscd>01</valuclscd>
  38. <valumdlcd>001</valumdlcd>
  39. <valuclsdetlcd>001</valuclsdetlcd>
  40. <fstscndhfyyflag/>
  41. <valupsnemplno/>
  42. <valupsnemplnm/>
  43. <emplno/>
  44. <emplnm/>
  45. </iocustvaludept>
  46. <iocustvalu>
  47. <valuyy/>
  48. <instcd/>
  49. <valuclscd/>
  50. <valumdlcd/>
  51. <valuclsdetlcd/>
  52. <fstscndhfyyflag/>
  53. <valupsnemplno/>
  54. <deptcd/>
  55. <valuinstcd/>
  56. <valudeptcd/>
  57. </iocustvalu>
  58. <save>
  59. <incustvaluscorlist/>
  60. <outcustvaluscorlist/>
  61. <dutvaluyn/>
  62. </save>
  63. </send>
  64. <init/>
  65. <target/>
  66. </root>
  67. </instance>
  68. <script type="javascript" ev:event="xforms-ready">
  69. <![CDATA[
  70. /* Grid 초기화 */
  71. misfGridInit(grd_valudept);
  72. misfGridInit(grd_invaluscor);
  73. misfGridInit(grd_outvaluscor);
  74. /* Submit의 ref에 참조 될 Node들은 꼭 Instance에 생성 해야 함.*/
  75. /* Grid의 Mater, Detail관계 설정
  76. misfMsterDetailSet(관계설정할 Grid, Mater가 될 Grid, submit ID, 저장여부) */
  77. misfMsterDetailSet(grd_valudept,null, "TRRPV03601" ,"N");
  78. misfMsterDetailSet(grd_invaluscor,null, "TRRPV03602" ,"Y");
  79. misfMsterDetailSet(grd_outvaluscor,null, "TRRPV03603" ,"Y");
  80. rpvfComboInstCdList("cmb_instcd");
  81. rpvfComboValuCdList(model.getValue(ipt_valuyy.attribute("ref")),"VALUSCOR,FSTSCNDHFYYFLAG","grd_invaluscor.valuscor,cmb_fstscndhfyyflag");
  82. misfComboCopyItemSet(grd_invaluscor,"valuscor",grd_outvaluscor,"valuscor");
  83. model.setValue("/root/send/iocustvaludept/valupsnemplno", getUserInfo("userid"));
  84. model.setValue("/root/send/iocustvaludept/valupsnemplnm", getUserInfo("usernm"));
  85. cmb_fstscndhfyyflag.select(0);
  86. var curdate = getCurrentDate();
  87. model.setValue(ipt_valuyy.attribute("ref") , curdate.substr(0, 4));
  88. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  89. //현재화면이 팝업으로 Load 되었을 시.....
  90. if(instance1.selectNodes("/root/target/*").length > 0)
  91. {
  92. fPopupDataSet("valuyy,dutinst,trgtemplno,trgtemplnm","ipt_valuyy,cmb_instcd,ipt_emplnos,ipt_emplnms");
  93. }
  94. model.refresh();
  95. // 평가기간에 따른 권한 부여.
  96. // if(model.getValue("/root/temp/trgtflag") != ""){
  97. // rpvfCheckDayFlag(getCurrentDate().toDate().getDateFormat("YYYY"), getUserInfo("userid"), model.getValue("/root/temp/trgtflag"), model.getValue("/root/temp/program"), "btn_adjt,btn_complete,btn_init,btn_save,btn_search,btn_insert,btn_delete");
  98. // }else{
  99. // rpvfCheckDayFlag(getCurrentDate().toDate().getDateFormat("YYYY"), getUserInfo("userid"), "01", "SMRPV03600", "btn_adjt,btn_complete,btn_init,btn_save,btn_search,btn_insert,btn_delete");
  100. // }
  101. var instcd = getUserInfo("dutplceinstcd");
  102. var emplno = getUserInfo("userid");
  103. rpvfGetUserAuth(instcd,emplno);
  104. if(DUTY_VALU_YN =='Y'){
  105. if (instcd == "001") {
  106. ipt_emplnos.disabled = false;
  107. ipt_emplnms.disabled = false;
  108. }
  109. else {
  110. ipt_emplnos.disabled = true;
  111. ipt_emplnms.disabled = true;
  112. }
  113. btn_emplno.disabled = false;
  114. btn_completecan.visible = true;
  115. }else{
  116. ipt_emplnos.disabled = true;
  117. ipt_emplnms.disabled = true;
  118. btn_emplno.disabled = true;
  119. btn_completecan.visible = false;
  120. }
  121. ]]>
  122. </script>
  123. <submission id="TRRPV03601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/iocustvalu" resultref="/root/main/inlist/iocustvaludept"/>
  124. <submission id="TRRPV03602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/iocustvalu" resultref="/root/main/inlist/incustvaluscor"/>
  125. <submission id="TRRPV03603" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/iocustvalu" resultref="/root/main/outlist/outcustvaluscor"/>
  126. <submission id="TRRPV03604" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/iocustvalu" resultref="/root/main/outlist/outcustvaludept"/>
  127. <submission id="TXRPV03601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/inlist/incustvaluscor/incustvaluscorlist" resultref="/root/hidden/temp"/>
  128. <script type="javascript" ev:event="xforms-model-destruct">
  129. <![CDATA[
  130. if (getGridUpdateData(grd_invaluscor) != "" ) {
  131. var save_val = messageBox("변경된 자료가 존재 합니다. ", "Q002");
  132. if (save_val == "6") {
  133. btn_save.dispatch("DOMActivate");
  134. }
  135. }
  136. ]]>
  137. </script>
  138. <submission id="TXRPV03603" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  139. </model>
  140. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  141. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  142. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  143. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  144. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  145. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  146. <script type="javascript">
  147. <![CDATA[
  148. var gridrow = -1;
  149. //현재화면이 팝업화면으로 Loadding 될때 넘겨받은값을 설정.
  150. function fPopupDataSet()
  151. {
  152. var fgetValueNode = "/root/target/";
  153. var fNodeName = arguments[0].split(",");
  154. var fSetControl = arguments[1].split(",");
  155. for(var i = 0; i < fSetControl.length; i++)
  156. {
  157. document.controls(fSetControl[i]).value = model.getValue(fgetValueNode + fNodeName[i]);
  158. }
  159. }
  160. function fSettingValuInfoList(pdatagrid, pnode, nodename){
  161. var codynode = instance1.selectNodes(pnode + "/*");
  162. var addRow = pdatagrid.rows - pdatagrid.fixedRows;
  163. var nocopy = false;
  164. if(model.getValue(pdatagrid.nodeset + "[" + addRow + "]/valuitemcnts").length > 0)addRow = addRow + 1;
  165. for (var j = 1; j <= codynode.length ; j++) {
  166. if(pdatagrid.findrow(model.getValue(pnode +"/" + nodename + "[" + j + "]/valuitemcnts"),pdatagrid.fixedRows,pdatagrid.colRef("valuitemcnts"),false,false) == -1)
  167. {
  168. if(addRow > pdatagrid.rows - pdatagrid.fixedRows)
  169. {
  170. misfGridIUD(pdatagrid,"A");
  171. addRow = pdatagrid.rows - pdatagrid.fixedRows;
  172. }
  173. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/valuitemcnts" , model.getValue(pnode +"/" + nodename + "[" + j + "]/valuitemcnts"));
  174. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/valuitemcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/valuitemcd"));
  175. addRow = addRow + 1;
  176. }
  177. }
  178. model.recalculate();
  179. model.refresh();
  180. }
  181. function fcheckyn()
  182. {
  183. var bool = false;
  184. if( grd_invaluscor.valueMatrix(grd_invaluscor.row, grd_invaluscor.colRef("procstat")) == "01" )
  185. {
  186. bool = true;
  187. }else if( grd_invaluscor.valueMatrix(grd_invaluscor.row, grd_invaluscor.colRef("procstat")) == "02" )
  188. {
  189. bool = true;
  190. }
  191. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("valuitemcnts")) = bool;
  192. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("valuscor")) = bool;
  193. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("c10")) = bool;
  194. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("c9")) = bool;
  195. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("c8")) = bool;
  196. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("c7")) = bool;
  197. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("c6")) = bool;
  198. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("c5")) = bool;
  199. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("c4")) = bool;
  200. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("c3")) = bool;
  201. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("c2")) = bool;
  202. grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("c1")) = bool;
  203. //grd_invaluscor.isReadOnly(grd_invaluscor.row, grd_invaluscor.colRef("cmt")) = bool;
  204. }
  205. function fpointcheck(checkpoint)
  206. {
  207. for(var i = 1; i < 11; i++)
  208. {
  209. if( i != checkpoint)
  210. {
  211. grd_invaluscor.valueMatrix(grd_invaluscor.row, grd_invaluscor.colRef("c"+ i)) = 'N';
  212. }
  213. }
  214. if( grd_invaluscor.valueMatrix(grd_invaluscor.row, grd_invaluscor.col) == 'Y' )
  215. {
  216. grd_invaluscor.valueMatrix(grd_invaluscor.row, grd_invaluscor.colRef("valuscor")) = checkpoint;
  217. }else{
  218. grd_invaluscor.valueMatrix(grd_invaluscor.row, grd_invaluscor.colRef("valuscor")) = '';
  219. }
  220. model.refresh();
  221. }
  222. function fAllvaluecheck()
  223. {
  224. if(grd_invaluscor.fixedRows == grd_invaluscor.rows) return;
  225. for(var i = grd_invaluscor.fixedRows; i < grd_invaluscor.rows; i++)
  226. {
  227. // grd_invaluscor.valueMatrix(i, grd_invaluscor.colRef("t5")) = "매우그렇다";
  228. // grd_invaluscor.valueMatrix(i, grd_invaluscor.colRef("t4")) = "그렇다";
  229. // grd_invaluscor.valueMatrix(i, grd_invaluscor.colRef("t3")) = "보통";
  230. // grd_invaluscor.valueMatrix(i, grd_invaluscor.colRef("t2")) = "그렇지않다";
  231. // grd_invaluscor.valueMatrix(i, grd_invaluscor.colRef("t1")) = "전혀그렇지않다";
  232. if(grd_invaluscor.valueMatrix( i, grd_invaluscor.colRef("valuscor")) != '')
  233. {
  234. grd_invaluscor.valueMatrix( i, grd_invaluscor.colRef("c" +grd_invaluscor.valueMatrix( i, grd_invaluscor.colRef("valuscor")))) = 'Y';
  235. }
  236. }
  237. }
  238. ]]>
  239. </script>
  240. </xhtml:head>
  241. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  242. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  243. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">내부고객 만족도 설문 등록</caption>
  244. </group>
  245. <group id="group2" scroll="auto" style="left:0px; top:38; width:1195px; height:744; ">
  246. <switch id="sch_select" style="left:0px; top:45px; width:1193px; height:695px; ">
  247. <case id="case1" selected="true">
  248. <datagrid id="grd_valudept" nodeset="/root/main/inlist/iocustvaludept/iocustvaludeptlist" autoresize="true" caption="부서^기관^부서명^설문참여^평가자기관^평가자부서|부서^기관^부서명^설문참여^평가자기관^평가자부서" colsep="^" colwidth="79, 110, 110, 30, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:27px; width:275px; height:663px; ">
  249. <col ref="deptcd" visibility="hidden"/>
  250. <col ref="instnm" style="text-align:center; "/>
  251. <col ref="deptnm" style="text-align:center; "/>
  252. <col ref="useyn" style="text-align:center; "/>
  253. <col ref="valuinstnm"/>
  254. <col ref="valudeptnm"/>
  255. <col ref="valuyy" visibility="hidden"/>
  256. <col ref="instcd" visibility="hidden"/>
  257. <col ref="valuclscd" visibility="hidden"/>
  258. <col ref="valumdlcd" visibility="hidden"/>
  259. <col ref="valuclsdetlcd" visibility="hidden"/>
  260. <col ref="inoutflag" visibility="hidden"/>
  261. <col ref="fstscndhfyyflag" visibility="hidden"/>
  262. <col ref="valupsnemplno" visibility="hidden"/>
  263. <col ref="valuinstcd" visibility="hidden"/>
  264. <col ref="valudeptcd" visibility="hidden"/>
  265. <script type="javascript" ev:event="onrowchanged">
  266. <![CDATA[
  267. grd_valudept.dispatch("onmouseup");
  268. if(grd_valudept.rows - grd_valudept.fixedRows == 0)return;
  269. if(grd_valudept.row == -1)grd_valudept.row = grd_valudept.fixedRows;
  270. model.removenode("/root/send/iocustvalu/deptcd");
  271. model.removenode("/root/send/iocustvalu/valuinstcd");
  272. model.removenode("/root/send/iocustvalu/valudeptcd");
  273. model.makeNode("/root/send/iocustvalu/deptcd");
  274. model.makeNode("/root/send/iocustvalu/valuinstcd");
  275. model.makeNode("/root/send/iocustvalu/valudeptcd");
  276. model.setValue("/root/send/iocustvalu/deptcd", grd_valudept.valueMatrix(grd_valudept.row, grd_valudept.colRef("deptcd")));
  277. model.setValue("/root/send/iocustvalu/instcd", grd_valudept.valueMatrix(grd_valudept.row, grd_valudept.colRef("instcd")));
  278. model.setValue("/root/send/iocustvalu/valuinstcd", grd_valudept.valueMatrix(grd_valudept.row, grd_valudept.colRef("valuinstcd")));
  279. model.setValue("/root/send/iocustvalu/valudeptcd", grd_valudept.valueMatrix(grd_valudept.row, grd_valudept.colRef("valudeptcd")));
  280. misfGridInit(grd_invaluscor);
  281. txt_cnts.value = "";
  282. var deptnm = grd_valudept.valueMatrix(grd_valudept.row, grd_valudept.colRef("deptnm"));
  283. ipt_text.value = "11. 그렇다면 팀장님께서는 " + deptnm + "의 개선해야할 점은 무엇이라고 생각하십니까? 생각나시는대로 모두 말씀해 주십시오.";
  284. submit("TRRPV03602");
  285. gridrow = grd_valudept.row;
  286. // 점수 컬럼에 있는 값을 체크박스에 설정.
  287. fAllvaluecheck();
  288. if (grd_invaluscor.rows - grd_invaluscor.fixedRows > 0) {
  289. txt_cnts.value = grd_invaluscor.valueMatrix(grd_invaluscor.fixedRows, grd_invaluscor.colRef("cmt"));
  290. }
  291. grd_invaluscor.rebuild();
  292. ]]>
  293. </script>
  294. </datagrid>
  295. <caption id="caption1" class="tit_2" style="left:280px; top:5px; width:230px; height:13px; vertical-align:middle; ">내부고객 만족도 설문 List</caption>
  296. <caption id="caption4" class="tit_2" style="left:5px; top:5px; width:230px; height:13px; vertical-align:middle; ">내부고객 만족도 부서 List</caption>
  297. <line id="line1" class="line_1" style="x1:0px; y1:22px; x2:275px; y2:22px; "/>
  298. <line id="line2" class="line_1" style="x1:280px; y1:22px; x2:1190px; y2:22px; "/>
  299. <button id="btn_insert" class="btn2_letter3" style="left:1083px; top:2px; width:53px; height:19px; ">
  300. <caption>행추가</caption>
  301. <script type="javascript" ev:event="DOMActivate">
  302. <![CDATA[
  303. if ((grd_valudept.rows - grd_valudept.fixedRows == 0) ||( !isRequiredControls("ipt_valuyy","cmb_instcd", "cmb_fstscndhfyyflag", "ipt_emplnos"))) {
  304. return false;
  305. }
  306. misfGridIUD(grd_invaluscor, "A");
  307. model.setValue(grd_invaluscor.attribute("nodeset")+"["+(grd_invaluscor.row - grd_invaluscor.fixedRows + 1)+"]/deptcd", grd_valudept.valueMatrix(grd_valudept.row, grd_valudept.colRef("valudeptcd")));
  308. ]]>
  309. </script>
  310. </button>
  311. <button id="btn_delete" class="btn2_letter3" style="left:1138px; top:2px; width:53px; height:19px; ">
  312. <caption>행삭제</caption>
  313. <script type="javascript" ev:event="DOMActivate">
  314. <![CDATA[
  315. misfGridIUD(grd_invaluscor, "D");
  316. ]]>
  317. </script>
  318. </button>
  319. <datagrid id="grd_invaluscor" nodeset="/root/main/inlist/incustvaluscor/incustvaluscorlist" autoresize="true" caption="설문내용^매우 그렇다... 점수 ...전혀 그렇지 않다^매우 그렇다... 점수 ...전혀 그렇지 않다^매우 그렇다... 점수 ...전혀 그렇지 않다^매우 그렇다... 점수 ...전혀 그렇지 않다^매우 그렇다... 점수 ...전혀 그렇지 않다^매우 그렇다... 점수 ...전혀 그렇지 않다^매우 그렇다... 점수 ...전혀 그렇지 않다^매우 그렇다... 점수 ...전혀 그렇지 않다^매우 그렇다... 점수 ...전혀 그렇지 않다^매우 그렇다... 점수 ...전혀 그렇지 않다^사유^점수|설문내용^10^9^8^7^6^5^4^3^2^1^사유^점수" colsep="^" colwidth="539, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 242, 23, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:280px; top:27px; width:910px; height:433px; ">
  320. <col ref="valuitemcnts" type="inputbutton"/>
  321. <col checkvalue="Y,N" ref="c10" type="checkbox">
  322. <script type="javascript" ev:event="xforms-value-changed">
  323. <![CDATA[
  324. fpointcheck(10);
  325. ]]>
  326. </script>
  327. </col>
  328. <col checkvalue="Y,N" ref="c9" type="checkbox">
  329. <script type="javascript" ev:event="xforms-value-changed">
  330. <![CDATA[
  331. fpointcheck(9);
  332. ]]>
  333. </script>
  334. </col>
  335. <col checkvalue="Y,N" ref="c8" type="checkbox">
  336. <script type="javascript" ev:event="xforms-value-changed">
  337. <![CDATA[
  338. fpointcheck(8);
  339. ]]>
  340. </script>
  341. </col>
  342. <col checkvalue="Y,N" ref="c7" type="checkbox">
  343. <script type="javascript" ev:event="xforms-value-changed">
  344. <![CDATA[
  345. fpointcheck(7);
  346. ]]>
  347. </script>
  348. </col>
  349. <col checkvalue="Y,N" ref="c6" type="checkbox">
  350. <script type="javascript" ev:event="xforms-value-changed">
  351. <![CDATA[
  352. fpointcheck(6);
  353. ]]>
  354. </script>
  355. </col>
  356. <col checkvalue="Y,N" ref="c5" type="checkbox">
  357. <script type="javascript" ev:event="xforms-value-changed">
  358. <![CDATA[
  359. fpointcheck(5);
  360. ]]>
  361. </script>
  362. </col>
  363. <col checkvalue="Y,N" ref="c4" type="checkbox">
  364. <script type="javascript" ev:event="xforms-value-changed">
  365. <![CDATA[
  366. fpointcheck(4);
  367. ]]>
  368. </script>
  369. </col>
  370. <col checkvalue="Y,N" ref="c3" type="checkbox">
  371. <script type="javascript" ev:event="xforms-value-changed">
  372. <![CDATA[
  373. fpointcheck(3);
  374. ]]>
  375. </script>
  376. </col>
  377. <col checkvalue="Y,N" ref="c2" type="checkbox">
  378. <script type="javascript" ev:event="xforms-value-changed">
  379. <![CDATA[
  380. fpointcheck(2);
  381. ]]>
  382. </script>
  383. </col>
  384. <col checkvalue="Y,N" ref="c1" type="checkbox">
  385. <script type="javascript" ev:event="xforms-value-changed">
  386. <![CDATA[
  387. fpointcheck(1);
  388. ]]>
  389. </script>
  390. </col>
  391. <col ref="cmt" type="output" visibility="hidden"/>
  392. <col class="gridcombo" ref="valuscor" type="combo" visibility="hidden">
  393. <choices>
  394. <itemset>
  395. <label/>
  396. <value/>
  397. </itemset>
  398. </choices>
  399. </col>
  400. <col ref="valuyy" visibility="hidden"/>
  401. <col ref="instcd" visibility="hidden"/>
  402. <col ref="valuclscd" visibility="hidden"/>
  403. <col ref="valumdlcd" visibility="hidden"/>
  404. <col ref="valuclsdetlcd" visibility="hidden"/>
  405. <col ref="fstscndhfyyflag" visibility="hidden"/>
  406. <col ref="valupsnemplno" visibility="hidden"/>
  407. <col ref="valuitemcd" visibility="hidden"/>
  408. <col ref="deptcd" visibility="hidden"/>
  409. <col ref="procstat" visibility="hidden"/>
  410. <col ref="valuinstcd" visibility="hidden"/>
  411. <col ref="valudeptcd" visibility="hidden"/>
  412. <script type="javascript" ev:event="onrowchanged">
  413. <![CDATA[
  414. fcheckyn();
  415. ]]>
  416. </script>
  417. <script type="javascript" ev:event="onbuttonclick">
  418. <![CDATA[
  419. if(grd_invaluscor.col = grd_invaluscor.colRef("valuitemcnts"))
  420. {
  421. model.removenode("/root/copynode");
  422. model.removenode(gvParamPath +"/SMRPV99900_/SMRPV99900_value");
  423. model.makeNode("/root/copynode");
  424. rpvfOpenPopUpList("22",grd_invaluscor,"","valuitemcnts,valuitemcd", "ipt_valuyy,ipt_valuclscd,ipt_valumdlcd,ipt_valuclsdetlcd");
  425. var cur_row = grd_invaluscor.row;
  426. var status = grd_invaluscor.valueMatrix(cur_row, grd_invaluscor.colRef("m"));
  427. var CSV = model.getValue(gvParamPath +"/SMRPV99900_/SMRPV99900_value");
  428. setCSVToNode("/root/copynode", CSV, "custvalulist");
  429. fSettingValuInfoList(grd_invaluscor,"/root/copynode", "custvalulist");
  430. }
  431. ]]>
  432. </script>
  433. </datagrid>
  434. <textarea id="txt_cnts" ref="/root/main/incustcnts/incustcntslist" maxbyte="900" style="left:280px; top:505px; width:910px; height:185px; ">
  435. <script type="javascript" ev:event="xforms-value-changed">
  436. <![CDATA[
  437. for (var i = grd_invaluscor.fixedRows; i < grd_invaluscor.rows; i++) {
  438. grd_invaluscor.valueMatrix(i, grd_invaluscor.colRef("cmt")) = txt_cnts.label;
  439. //alert(grd_invaluscor.rowStatus(i));
  440. if (grd_invaluscor.rowStatus(i) == "0") {
  441. grd_invaluscor.rowStatus(i) = "2";
  442. }
  443. }
  444. ]]>
  445. </script>
  446. </textarea>
  447. <line id="line4" class="line_1" style="x1:280px; y1:497px; x2:1190px; y2:497px; "/>
  448. <input id="ipt_text" ref="/root/main/temp/text" editable="false" style="left:280px; top:475px; width:910px; height:19px; "/>
  449. </case>
  450. <case id="case2">
  451. <caption id="caption5" class="tit_2" style="left:0px; top:9px; width:230px; height:13px; vertical-align:middle; ">외부고객 만족도 결과 List</caption>
  452. <line id="line3" class="line_1" style="x1:0px; y1:24px; x2:1190px; y2:24px; "/>
  453. <button id="btn_outinsert" class="btn2_letter3" style="left:1080px; top:3px; width:53px; height:19px; ">
  454. <caption>행추가</caption>
  455. <script type="javascript" ev:event="DOMActivate">
  456. <![CDATA[
  457. if ( !isRequiredControls("ipt_valuyy","cmb_instcd") ) {
  458. return false;
  459. }
  460. misfGridIUD(grd_outvaluscor, "A");
  461. model.setValue(grd_outvaluscor.attribute("nodeset")+"["+(grd_outvaluscor.row - grd_outvaluscor.fixedRows + 1)+"]/valuyy", model.getValue(ipt_valuyy.attribute("ref")));
  462. model.setValue(grd_outvaluscor.attribute("nodeset")+"["+(grd_outvaluscor.row - grd_outvaluscor.fixedRows + 1)+"]/instcd", model.getValue(cmb_instcd.attribute("ref")));
  463. model.setValue(grd_outvaluscor.attribute("nodeset")+"["+(grd_outvaluscor.row - grd_outvaluscor.fixedRows + 1)+"]/valuclscd", model.getValue(ipt_valuclscd.attribute("ref")));
  464. model.setValue(grd_outvaluscor.attribute("nodeset")+"["+(grd_outvaluscor.row - grd_outvaluscor.fixedRows + 1)+"]/valumdlcd", model.getValue(ipt_valumdlcd.attribute("ref")));
  465. model.setValue(grd_outvaluscor.attribute("nodeset")+"["+(grd_outvaluscor.row - grd_outvaluscor.fixedRows + 1)+"]/valuclsdetlcd", model.getValue(ipt_valuclsdetlcd.attribute("ref")));
  466. grd_outvaluscor.refresh();
  467. ]]>
  468. </script>
  469. </button>
  470. <button id="btn_outdelete" class="btn2_letter3" style="left:1135px; top:3px; width:53px; height:19px; ">
  471. <caption>행삭제</caption>
  472. <script type="javascript" ev:event="DOMActivate">
  473. <![CDATA[
  474. misfGridIUD(grd_outvaluscor, "D");
  475. ]]>
  476. </script>
  477. </button>
  478. <datagrid id="grd_outvaluscor" nodeset="/root/main/outlist/outcustvaluscor/outcustvaluscorlist" caption="피평가 부서^피평가 부서명^점수^조정점수^비고" colsep="^" colwidth="121, 323, 100, 100, 510" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:29px; width:1190px; height:621px; ">
  479. <col ref="deptcd" type="inputbutton"/>
  480. <col ref="deptnm"/>
  481. <col ref="valuscor" type="combo">
  482. <choices>
  483. <itemset>
  484. <label/>
  485. <value/>
  486. </itemset>
  487. </choices>
  488. </col>
  489. <col ref="adjtscor" type="input" format="#,###.00" maxlength="5.2" style="text-align:right; "/>
  490. <col ref="cmt" type="input"/>
  491. <col ref="valuyy" visibility="hidden" style="left:141px; top:23px; width:323px; height:23px; "/>
  492. <col ref="instcd" visibility="hidden"/>
  493. <col ref="valuclscd" visibility="hidden"/>
  494. <col ref="valumdlcd" visibility="hidden"/>
  495. <col ref="valuclsdetlcd" visibility="hidden"/>
  496. <col ref="valupsnemplno" visibility="hidden"/>
  497. <script type="javascript" ev:event="onbuttonclick">
  498. <![CDATA[
  499. if(grd_outvaluscor.col == grd_outvaluscor.colRef("deptcd")){
  500. rpvfOpenDeptCdHelp(grd_outvaluscor,"deptcd,deptnm",model.getValue(cmb_instcd.attribute("ref")));
  501. model.refresh();
  502. }
  503. ]]>
  504. </script>
  505. </datagrid>
  506. <button id="btn_outcustdept" class="btn2_letter8" style="left:970px; top:3px; width:108px; height:19px; ">
  507. <caption>평가부서 가져오기</caption>
  508. <script type="javascript" ev:event="DOMActivate">
  509. <![CDATA[
  510. submit("TRRPV03604");
  511. var cur_row = grd_outvaluscor.row;
  512. var status = grd_outvaluscor.valueMatrix(cur_row, grd_outvaluscor.colRef("m"));
  513. var node = "/root/main/outlist/outcustvaludept";
  514. var nodename = "outcustvaludeptlist";
  515. var codynode = instance1.selectNodes(node + "/*");
  516. var addRow = grd_outvaluscor.rows - grd_outvaluscor.fixedRows;
  517. if(model.getValue(grd_outvaluscor.nodeset + "[" + addRow + "]/deptcd").length > 0)addRow = addRow + 1;
  518. for (var j = 1; j <= codynode.length ; j++) {
  519. if(grd_outvaluscor.findrow(model.getValue(node +"/" + nodename + "[" + j + "]/valudeptcd"),grd_outvaluscor.fixedRows,grd_outvaluscor.colRef("deptcd"),false,false) == -1)
  520. {
  521. if(addRow > grd_outvaluscor.rows - grd_outvaluscor.fixedRows)
  522. {
  523. misfGridIUD(grd_outvaluscor,"A");
  524. addRow = grd_outvaluscor.rows - grd_outvaluscor.fixedRows;
  525. }
  526. model.setValue(grd_outvaluscor.nodeset + "[" + addRow + "]/deptcd" , model.getValue(node +"/" + nodename + "[" + j + "]/valudeptcd"));
  527. model.setValue(grd_outvaluscor.nodeset + "[" + addRow + "]/deptnm" , model.getValue(node +"/" + nodename + "[" + j + "]/valudeptnm"));
  528. addRow = addRow + 1;
  529. }
  530. }
  531. ]]>
  532. </script>
  533. </button>
  534. </case>
  535. </switch>
  536. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0; top:10; width:1195; height:35px; "/>
  537. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  538. <button id="button3" class="btn_sw" visibility="hidden" group="tab" selected="true" style="left:104px; top:38px; width:100px; height:22px; ">
  539. <caption>외부고객만족도</caption>
  540. <toggle case="case2" ev:event="DOMActivate"/>
  541. </button>
  542. <button id="button4" class="btn_sw" visibility="hidden" group="tab" selected="true" style="left:2px; top:38px; width:100px; height:22px; ">
  543. <caption>내부고객만족도</caption>
  544. <toggle case="case1" ev:event="DOMActivate"/>
  545. </button>
  546. <caption id="cap_valuyy" class="search_name" style="left:5px; top:19px; width:100px; height:17px; vertical-align:middle; ">기준년도 :</caption>
  547. <input id="ipt_valuyy" ref="/root/send/iocustvaludept/valuyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:94px; top:18px; width:125px; height:19px; text-align:center; ">
  548. <script type="javascript" ev:event="xforms-value-changed">
  549. <![CDATA[
  550. var instcd = cmb_instcd.value;
  551. rpvfComboInstCdList("cmb_instcd",ipt_valuyy.value);
  552. cmb_instcd.value = instcd;
  553. ]]>
  554. </script>
  555. </input>
  556. <select1 id="cmb_instcd" ref="/root/send/iocustvaludept/instcd" class="combo_s_essential" appearance="minimal" style="left:288px; top:18px; width:219px; height:19px; text-align:center; ">
  557. <choices>
  558. <itemset>
  559. <label/>
  560. <value/>
  561. </itemset>
  562. </choices>
  563. </select1>
  564. <caption id="cap_instcd" class="search_name" style="left:225px; top:19px; width:61px; height:17px; vertical-align:middle; ">기관 :</caption>
  565. <select1 id="cmb_fstscndhfyyflag" ref="/root/send/iocustvaludept/fstscndhfyyflag" class="combo_s_essential" appearance="minimal" style="left:602px; top:18px; width:110px; height:19px; text-align:center; ">
  566. <choices>
  567. <itemset nodeset="/root/init/fstscndhfyyflag">
  568. <label ref="cdnm"/>
  569. <value ref="code"/>
  570. </itemset>
  571. </choices>
  572. </select1>
  573. <caption id="cap_fstscndhfyyflag" class="search_name" style="left:518px; top:19px; width:81px; height:17px; vertical-align:middle; ">상하반기:</caption>
  574. <caption id="cap_emplnos" class="search_name" style="left:717px; top:19px; width:94px; height:17px; font-weight:bold; ">평가자사번:</caption>
  575. <button id="btn_emplno" class="icon_search" style="left:903px; top:20px; width:16px; height:16px; ">
  576. <caption/>
  577. <script type="javascript" ev:event="DOMActivate">
  578. <![CDATA[
  579. var recv_list = "valupsnemplno,valupsnemplnm" ;
  580. // rpbfOpenPopUpList("SPRPB00101", ipt_emplnos, recv_list,"","","","emplno,emplnm");
  581. if (getUserInfo("dutplceinstcd") == "001") {
  582. rpbfOpenPopUpList("SPRPB00101", ipt_emplnos, "emplno,emplnm","","","");
  583. }
  584. else {
  585. rpbfOpenPopUpList("SPRPB00101", ipt_emplnos, "emplno,emplnm","","","");
  586. }
  587. model.setValue("/root/send/iocustvaludept/valupsnemplno", model.getValue("/root/send/iocustvaludept/emplno"));
  588. model.setValue("/root/send/iocustvaludept/valupsnemplnm", model.getValue("/root/send/iocustvaludept/emplnm"));
  589. model.refresh();
  590. ]]>
  591. </script>
  592. </button>
  593. <input id="ipt_emplnos" ref="/root/send/iocustvaludept/valupsnemplno" class="input_s_essential" style="left:814px; top:18px; width:87px; height:19px; text-align:center; ">
  594. <script type="javascript" ev:event="xforms-value-changed">
  595. <![CDATA[
  596. // var recv_list = "valupsnemplno,valupsnemplnm" ;
  597. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  598. model.setValue("/root/send/iocustvaludept/valupsnemplno", model.getValue("/root/send/iocustvaludept/emplno"));
  599. model.setValue("/root/send/iocustvaludept/valupsnemplnm", model.getValue("/root/send/iocustvaludept/emplnm"));
  600. model.refresh();
  601. ]]>
  602. </script>
  603. </input>
  604. <input id="ipt_emplnms" ref="/root/send/iocustvaludept/valupsnemplnm" class="input_default" style="left:920px; top:18px; width:146px; height:19px; text-align:center; ">
  605. <script type="javascript" ev:event="xforms-value-changed">
  606. <![CDATA[
  607. // var recv_list = "valupsnemplno,valupsnemplnm" ;
  608. rpbfValidationCheck("EMPLNM", "emplno,emplnm");
  609. model.setValue("/root/send/iocustvaludept/valupsnemplno", model.getValue("/root/send/iocustvaludept/emplno"));
  610. model.setValue("/root/send/iocustvaludept/valupsnemplnm", model.getValue("/root/send/iocustvaludept/emplnm"));
  611. model.refresh();
  612. ]]>
  613. </script>
  614. </input>
  615. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:16px; width:56px; height:22px; ">
  616. <caption>조회</caption>
  617. <script type="javascript" ev:event="DOMActivate">
  618. <![CDATA[
  619. /*
  620. if ( !isRequiredControls("ipt_valuyy","cmb_instcd", "cmb_fstscndhfyyflag", "ipt_emplnos") ) {
  621. return false;
  622. }
  623. */
  624. if ( !isRequiredControls("ipt_valuyy","cmb_instcd","cmb_fstscndhfyyflag","ipt_emplnos") ) {
  625. return false;
  626. }
  627. misfGridInit(grd_valudept);
  628. misfGridInit(grd_invaluscor);
  629. misfGridInit(grd_outvaluscor);
  630. model.copyNode("/root/send/iocustvalu","/root/send/iocustvaludept");
  631. model.refresh();
  632. submit("TRRPV03601");
  633. model.setFocus("grd_valudept");
  634. if (gridrow == -1 || gridrow == grd_valudept.rows - grd_valudept.fixedRows + 1) {
  635. grd_valudept.row = grd_valudept.fixedRows;
  636. }
  637. else {
  638. grd_valudept.row = gridrow + 1;
  639. }
  640. grd_valudept.select(grd_valudept.row, grd_valudept.colRef("instnm")) = true;
  641. grd_valudept.dispatch("onrowchanged");
  642. //grd_valudept.dispatch("onrowchanged");
  643. if (grd_invaluscor.rows - grd_invaluscor.fixedRows == 0) {
  644. btn_complete.disabled = false;
  645. btn_save.disabled = false;
  646. btn_delete.disabled = false;
  647. btn_completecan.disabled = true;
  648. btn_insert.disabled = false;
  649. txt_cnts.disabled = false;
  650. }
  651. else {
  652. if (grd_invaluscor.valueMatrix(grd_invaluscor.fixedRows, grd_invaluscor.colRef("procstat")) == "01" ) {
  653. btn_complete.disabled = true;
  654. btn_save.disabled = true;
  655. btn_delete.disabled = true;
  656. btn_completecan.disabled = false;
  657. btn_insert.disabled = true;
  658. txt_cnts.disabled = true;
  659. }
  660. else {
  661. btn_complete.disabled = false;
  662. btn_save.disabled = false;
  663. btn_delete.disabled = false;
  664. btn_completecan.disabled = true;
  665. btn_insert.disabled = false;
  666. txt_cnts.disabled = false;
  667. }
  668. }
  669. //submit("TRRPV03603");
  670. ]]>
  671. </script>
  672. </button>
  673. <input id="ipt_valumdlcd" ref="/root/send/iocustvaludept/valumdlcd" visibility="hidden" style="left:320px; top:40px; width:65px; height:19px; "/>
  674. <input id="ipt_valuclscd" ref="/root/send/iocustvaludept/valuclscd" visibility="hidden" style="left:260px; top:40px; width:60px; height:19px; "/>
  675. <input id="ipt_valuclsdetlcd" ref="/root/send/iocustvaludept/valuclsdetlcd" visibility="hidden" style="left:385px; top:40px; width:65px; height:19px; "/>
  676. </group>
  677. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  678. <line id="line6" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
  679. <button id="btn_init" class="btn4_letter3" style="left:1119px; top:3px; width:68px; height:22px; ">
  680. <caption>초기화</caption>
  681. <script type="javascript" ev:event="DOMActivate">
  682. <![CDATA[
  683. window.reload() ;
  684. ]]>
  685. </script>
  686. </button>
  687. <button id="btn_complete" class="btn4_letter4" style="left:1031px; top:3px; width:80px; height:22px; ">
  688. <caption>평가완료</caption>
  689. <script type="javascript" ev:event="DOMActivate">
  690. <![CDATA[
  691. if(DUTY_VALU_YN != "Y"){
  692. for(var i = grd_invaluscor.fixedRows; i < grd_invaluscor.rows; i++)
  693. {
  694. if(grd_invaluscor.valueMatrix(i, grd_invaluscor.colRef("valuscor")) == "")
  695. {
  696. messageBox("내부고객 만족도의 점수를 모두 입력하여 주세요.", "I999");
  697. return;
  698. }
  699. }
  700. }
  701. for(var i = grd_invaluscor.fixedRows; i < grd_invaluscor.rows; i++)
  702. {
  703. grd_invaluscor.valueMatrix(i, grd_invaluscor.colRef("procstat")) = "01";
  704. grd_invaluscor.addStatus(i, "update");
  705. }
  706. if (DUTY_VALU_YN == "Y") {
  707. model.setValue("/root/send/save/dutvaluyn", "Y");
  708. }
  709. else {
  710. model.setValue("/root/send/save/dutvaluyn", "N");
  711. }
  712. misfSave("TXRPV03603");
  713. btn_search.dispatch("DOMActivate");
  714. ]]>
  715. </script>
  716. </button>
  717. <button id="btn_adjt" class="btn4_letter4" visibility="hidden" style="left:762px; top:3px; width:80px; height:22px; ">
  718. <caption>편차조정</caption>
  719. </button>
  720. <button id="btn_save" class="btn4_letter2" style="left:864px; top:3px; width:56px; height:22px; ">
  721. <caption>저장</caption>
  722. <script type="javascript" ev:event="DOMActivate">
  723. <![CDATA[
  724. misfSave("TXRPV03601");
  725. btn_search.dispatch("DOMActivate");
  726. ]]>
  727. </script>
  728. </button>
  729. <button id="btn_completecan" class="btn4_letter6" style="left:925px; top:3px; width:104px; height:22px; ">
  730. <caption>평가완료취소</caption>
  731. <script type="javascript" ev:event="DOMActivate">
  732. <![CDATA[
  733. for(var i = grd_invaluscor.fixedRows; i < grd_invaluscor.rows; i++)
  734. {
  735. grd_invaluscor.valueMatrix(i, grd_invaluscor.colRef("procstat")) = "";
  736. grd_invaluscor.addStatus(i, "update");
  737. }
  738. if (DUTY_VALU_YN == "Y") {
  739. model.setValue("/root/send/save/dutvaluyn", "Y");
  740. }
  741. else {
  742. model.setValue("/root/send/save/dutvaluyn", "N");
  743. }
  744. misfSave("TXRPV03603");
  745. btn_search.dispatch("DOMActivate");
  746. ]]>
  747. </script>
  748. </button>
  749. </group>
  750. </xhtml:body>
  751. </xhtml:html>