SMRPV04300_TFT활동평가.xrw 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/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>TFT활동평가</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <trgttftvalu>
  11. <trgttftvalulist/>
  12. </trgttftvalu>
  13. <tftvaluscor>
  14. <tftvaluscorlist/>
  15. </tftvaluscor>
  16. <smsdata>
  17. <bizabbr/>
  18. <replytelno/>
  19. <rsrvyn/>
  20. <rsrvdate/>
  21. <rsrvtime/>
  22. <msgcnts/>
  23. <closeflag/>
  24. <recvrlist>
  25. <chk/>
  26. <recvrnm/>
  27. <recvrtelno/>
  28. </recvrlist>
  29. </smsdata>
  30. </main>
  31. <send>
  32. <save>
  33. <tftvaluscorlist/>
  34. <trgttftvalulist/>
  35. </save>
  36. <trgttftvalu>
  37. <valuyy/>
  38. <emplno/>
  39. <emplnm/>
  40. </trgttftvalu>
  41. <tftvaluscor>
  42. <valuyy/>
  43. <emplno/>
  44. <seqno/>
  45. </tftvaluscor>
  46. </send>
  47. <init/>
  48. <hidden/>
  49. <temp/>
  50. <target/>
  51. </root>
  52. </instance>
  53. <script type="javascript" ev:event="xforms-ready">
  54. <![CDATA[
  55. /* Grid 초기화 */
  56. misfGridInit(grd_trgttftvalulist);
  57. misfGridInit(grd_tftvaluscorlist);
  58. /* Submit의 ref에 참조 될 Node들은 꼭 Instance에 생성 해야 함.*/
  59. /* Grid의 Mater, Detail관계 설정
  60. misfMsterDetailSet(관계설정할 Grid, Mater가 될 Grid, submit ID, 저장여부) */
  61. misfMsterDetailSet(grd_trgttftvalulist,null, "TRRPV04301" ,"Y");
  62. misfMsterDetailSet(grd_tftvaluscorlist,grd_trgttftvalulist, "TRRPV04302" ,"Y");
  63. var curdate = getCurrentDate();
  64. model.setValue(ipt_valuyy.attribute("ref") , curdate.substr(0, 4));
  65. // 기본 값 설정.
  66. model.setValue(ipt_emplno.attribute("ref"), getUserInfo("userid")); // 사번
  67. model.setValue(opt_emplnm.attribute("ref"), getUserInfo("usernm")); // 이름
  68. //현재화면이 팝업으로 Load 되었을 시.....
  69. if(instance1.selectNodes("/root/target/*").length > 0)
  70. {
  71. fPopupDataSet("valuyy,trgtemplno,trgtemplnm","ipt_valuyy,ipt_emplno,opt_emplnm");
  72. }
  73. rpvfComboValuCdList(model.getValue(ipt_valuyy.attribute("ref")),"VALUSCORBIZ","grd_tftvaluscorlist.valupsnscor1");
  74. var instcd = getUserInfo("dutplceinstcd");
  75. var emplno = getUserInfo("userid");
  76. rpvfGetUserAuth(instcd,emplno);
  77. if(DUTY_VALU_YN =="Y"){
  78. ipt_emplno.disabled = false;
  79. btn_emplno.disabled = false;
  80. }else{
  81. ipt_emplno.disabled = true;
  82. btn_emplno.disabled = true;
  83. }
  84. if(DUTY_VALU_YN !="Y"){
  85. // 평가기간에 따른 권한 부여.
  86. if(model.getValue("/root/temp/trgtflag") != ""){
  87. rpvfCheckDayFlag(getCurrentDate().toDate().getDateFormat("YYYY"), getUserInfo("userid"), model.getValue("/root/temp/trgtflag"), model.getValue("/root/temp/program"), "btn_cancel,btn_valucnfm,btn_uinit,btn_save,btn_search");
  88. }else{
  89. rpvfCheckDayFlag(getCurrentDate().toDate().getDateFormat("YYYY"), getUserInfo("userid"), "01", "SMRPV04300", "btn_cancel,btn_valucnfm,btn_uinit,btn_save,btn_search");
  90. }
  91. }
  92. model.refresh();
  93. ]]>
  94. </script>
  95. <submission id="TRRPV04301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/trgttftvalu" resultref="/root/main/trgttftvalu"/>
  96. <submission id="TRRPV04302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/tftvaluscor" resultref="/root/main/tftvaluscor"/>
  97. <submission id="TXRPV04301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  98. <script type="javascript" ev:event="xforms-model-destruct">
  99. <![CDATA[
  100. if (getGridUpdateData(grd_tftvaluscorlist) != "" ) {
  101. var save_val = messageBox("변경된 자료가 존재 합니다. ", "Q002");
  102. if (save_val == "6") {
  103. btn_save.dispatch("DOMActivate");
  104. }
  105. }
  106. ]]>
  107. </script>
  108. </model>
  109. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  110. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  111. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  112. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  113. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  114. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  115. <script type="javascript">
  116. <![CDATA[
  117. var gridrow = -1;
  118. // 문자메세지 전송.
  119. // * 수신자의 전화번호는 10자리를 넘어야만 전송이 가능하며, 발신자의 전화번호도 10자리를 넘어야만한다.
  120. //
  121. // fgrid_target : 수신자 리스트 데이터가 있는 그리드.
  122. // fphoneno : 발신자 전화번호 - "01010092456"
  123. // fmsg : 전송할 문자 내용 - "하고싶은말을 적으면 됩니다."
  124. // checkYN : 체크되었는 사용자만 전송할건지 전부 전송할건지 유무! - "Y" or "N" or ""
  125. function fSendMsg( fgrid_target,fphoneno, fmsg, checkYN)
  126. {
  127. /// 발신자 정보 설정.
  128. misfGridInit(grd_msg);
  129. var fPhone = '';
  130. var sPhone = '';
  131. var tPhone = '';
  132. tPhone = fphoneno.split("-");
  133. fphoneno = '';
  134. for(var r = 0; r < tPhone.length; r++ )
  135. {
  136. fphoneno += tPhone[r];
  137. }
  138. model.setValue("/root/main/smsdata/bizabbr", "mis"); // 그룹명, ex> mis, com, tis, his...등등...
  139. model.setValue("/root/main/smsdata/replytelno", fphoneno); // 발신자 전화번호
  140. model.setValue("/root/main/smsdata/rsrvyn", 0); // 예약전송 구분
  141. model.setValue("/root/main/smsdata/rsrvdate", getCurrentDate()); // 전송 날자
  142. model.setValue("/root/main/smsdata/rsrvtime", getCurrentTime().substr(0,4)); // 전송 시간
  143. model.setValue("/root/main/smsdata/msgcnts", fmsg); // 전송할 메세지
  144. model.setValue("/root/main/smsdata/closeflag", "Y"); // 메시지 전송 팝업화면을 바로 닫기위한 구분자.
  145. /// 수신자 정보설정.
  146. /// 아래에 있는 소스는 수신자의 리스트를 정리한다. 현제 DB에 전화번호가 010-2321-1231 이렇게 되어 있으므로 '-' 이것을 제외한 01023211231 로 변환.
  147. /// 그리드에 체크 유무에 따라 수신자 리스트에 추가를 하도록 되어있다.
  148. ///
  149. for(var i = fgrid_target.fixedRows; i < fgrid_target.rows; i++ )
  150. {
  151. // 체크된 사람만 보낼건지 전체를 보낼건지 구분.
  152. if(checkYN == "Y")
  153. {
  154. // 체크된사람 유무.
  155. if(fgrid_target.valueMatrix(i, fgrid_target.colRef("check")) == "Y")
  156. {
  157. if(fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")) != '')
  158. {
  159. misfGridIUD(grd_msg, "A");
  160. fPhone = fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")).split("-");
  161. sPhone = '';
  162. for(var p = 0; p < fPhone.length; p++ )
  163. {
  164. sPhone += fPhone[p];
  165. }
  166. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("chk")) = 'Y'; // 여기서 Y의 의미는 문자메세지를 보낼때 팝업화면에서 전송받을 수신자의 선택유무다. 무조건 보내기 위해 Y 로 설정.
  167. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrnm")) = fgrid_target.valueMatrix(i, fgrid_target.colRef("emplnm")); // 수신자 이름 설정.
  168. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrtelno")) = sPhone; // 수신자 전화번호 설정.
  169. }
  170. }
  171. }else{
  172. if(fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")) != '')
  173. {
  174. misfGridIUD(grd_msg, "A");
  175. fPhone = fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")).split("-");
  176. sPhone = '';
  177. for(var p = 0; p < fPhone.length; p++ )
  178. {
  179. sPhone += fPhone[p];
  180. }
  181. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("chk")) = 'Y'; // 여기서 Y의 의미는 문자메세지를 보낼때 팝업화면에서 전송받을 수신자의 선택유무다. 무조건 보내기 위해 Y 로 설정.
  182. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrnm")) = fgrid_target.valueMatrix(i, fgrid_target.colRef("emplnm")); // 수신자 이름 설정.
  183. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrtelno")) = sPhone; // 수신자 전화번호 설정.
  184. }
  185. }
  186. }
  187. // 메시지 전송창 화면 밖으로 이동(rpvfOpenSMS 사용하실때에는 꼭 closeflag 를 'Y' 로 설정 하시기 바랍니다. )
  188. rpvfOpenSMS("/root/main/smsdata");
  189. // 메시지 전송창 화면 중간으로 이동
  190. //zmsfOpenSMS("/root/main/smsdata");
  191. }
  192. //현재화면이 팝업화면으로 Loadding 될때 넘겨받은값을 설정.
  193. function fPopupDataSet()
  194. {
  195. var fgetValueNode = "/root/target/";
  196. var fNodeName = arguments[0].split(",");
  197. var fSetControl = arguments[1].split(",");
  198. for(var i = 0; i < fSetControl.length; i++)
  199. {
  200. document.controls(fSetControl[i]).value = model.getValue(fgetValueNode + fNodeName[i]);
  201. }
  202. }
  203. ]]>
  204. </script>
  205. </xhtml:head>
  206. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  207. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  208. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">TFT활동 평가 등록</caption>
  209. </group>
  210. <group id="group2" scroll="auto" style="left:0px; top:38; width:1195px; height:744; ">
  211. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0; top:10; width:1195; height:35px; "/>
  212. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:16px; width:56px; height:22px; ">
  213. <caption>조회</caption>
  214. <script type="javascript" ev:event="DOMActivate">
  215. <![CDATA[
  216. if ( !isRequiredControls("ipt_valuyy","ipt_emplno") ) {
  217. return false;
  218. }
  219. //misfMsterDetailRetrieve();
  220. submit("TRRPV04301");
  221. model.setFocus("grd_trgttftvalulist");
  222. if (gridrow == -1 || gridrow == grd_trgttftvalulist.rows - grd_trgttftvalulist.fixedRows + 1) {
  223. grd_trgttftvalulist.row = grd_trgttftvalulist.fixedRows;
  224. }
  225. else {
  226. grd_trgttftvalulist.row = gridrow + 1;
  227. }
  228. grd_trgttftvalulist.select(grd_trgttftvalulist.row, grd_trgttftvalulist.colRef("emplno")) = true;
  229. grd_trgttftvalulist.dispatch("onclick");
  230. ]]>
  231. </script>
  232. </button>
  233. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  234. <input id="ipt_valuyy" ref="/root/send/trgttftvalu/valuyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:80px; top:17px; width:80px; height:19px; "/>
  235. <caption id="cap_valuyy" class="search_name" style="left:15px; top:18px; width:60px; height:17px; vertical-align:middle; ">년도 :</caption>
  236. <datagrid id="grd_trgttftvalulist" nodeset="/root/main/trgttftvalu/trgttftvalulist" autoresize="true" caption="선택^기관명^부서명^사원번호^성명^기간^기간^최종확정여부^평가상태^평가자사원번호^TFT활동내용^일련번호^평가년도|선택^기관명^부서명^사원번호^성명^시작일^종료일^최종확정여부^평가상태^평가자사원번호^TFT활동내용^일련번호^평가년도" colsep="^" colwidth="23, 98, 82, 61, 70, 87, 85, 33, 26, 26, 30, 29, 32" dataheight="25" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:0px; top:75px; width:525px; height:665px; ">
  237. <col checkvalue="Y,N" ref="selyn" type="checkbox"/>
  238. <col ref="instnm"/>
  239. <col ref="deptnm"/>
  240. <col ref="emplno"/>
  241. <col ref="emplnm"/>
  242. <col disabled="true" ref="fromdd" type="inputdate" format="yyyy-mm-dd"/>
  243. <col disabled="true" ref="todd" type="inputdate" format="yyyy-mm-dd"/>
  244. <col ref="lastcnfmyn" visibility="hidden"/>
  245. <col ref="valustat" visibility="hidden"/>
  246. <col ref="valupsnemplno" visibility="hidden"/>
  247. <col ref="tftactcnts" visibility="hidden"/>
  248. <col ref="seqno" visibility="hidden"/>
  249. <col ref="valuyy" visibility="hidden"/>
  250. <col ref="phone" visibility="hidden"/>
  251. <col ref="email" visibility="hidden"/>
  252. <script type="javascript" ev:event="onclick">
  253. <![CDATA[
  254. if (grd_trgttftvalulist.rows - grd_trgttftvalulist.fixedRows > 0) {
  255. if (gridrow != grd_trgttftvalulist.row) {
  256. model.setValue("/root/send/tftvaluscor/valuyy",grd_trgttftvalulist.valueMatrix(grd_trgttftvalulist.row, grd_trgttftvalulist.colRef("valuyy")));
  257. model.setValue("/root/send/tftvaluscor/emplno",grd_trgttftvalulist.valueMatrix(grd_trgttftvalulist.row, grd_trgttftvalulist.colRef("emplno")));
  258. model.setValue("/root/send/tftvaluscor/seqno",grd_trgttftvalulist.valueMatrix(grd_trgttftvalulist.row, grd_trgttftvalulist.colRef("seqno")));
  259. submit("TRRPV04302");
  260. //misfMsterDetailRetrieve();
  261. if(grd_trgttftvalulist.valueMatrix(grd_trgttftvalulist.row, grd_trgttftvalulist.colRef("lastcnfmyn")) == 'Y' )
  262. {
  263. for(var i = grd_tftvaluscorlist.fixedRows; i < grd_tftvaluscorlist.rows; i ++)
  264. {
  265. grd_tftvaluscorlist.isReadOnly(i, grd_tftvaluscorlist.colRef("valupsnscor1")) = true;
  266. }
  267. }
  268. gridrow = grd_trgttftvalulist.row;
  269. }
  270. }
  271. ]]>
  272. </script>
  273. </datagrid>
  274. <caption id="caption1" class="tit_2" style="left:0px; top:54px; width:230px; height:14px; vertical-align:middle; ">TFT활동 대상자 List</caption>
  275. <line id="line2" class="line_1" style="x1:0px; y1:69px; x2:525px; y2:69px; "/>
  276. <button id="btn_emplno" class="icon_search" style="left:372px; top:17px; width:16px; height:16px; ">
  277. <caption/>
  278. <script type="javascript" ev:event="DOMActivate">
  279. <![CDATA[
  280. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm", "", "N", "N","emplno,emplnm");
  281. model.refresh();
  282. ]]>
  283. </script>
  284. </button>
  285. <caption id="cap_emplno" class="search_name" style="left:200px; top:18px; width:72px; height:17px; font-weight:bold; vertical-align:middle; ">평가자:</caption>
  286. <input id="ipt_emplno" ref="/root/send/trgttftvalu/emplno" class="input_s_essential" style="left:269px; top:17px; width:100px; height:19px; ">
  287. <script type="javascript" ev:event="xforms-value-changed">
  288. <![CDATA[
  289. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  290. model.refresh();
  291. ]]>
  292. </script>
  293. </input>
  294. <output id="opt_emplnm" ref="/root/send/trgttftvalu/emplnm" class="output_search" style="left:393px; top:17px; width:156px; height:19px; "/>
  295. <datagrid id="grd_tftvaluscorlist" nodeset="/root/main/tftvaluscor/tftvaluscorlist" autoresize="true" caption="번호^성과지표^측정방법^달성성과^가중치^본인평가점수^1차평가자점수^평가상태^최종확정여부^평가년도^사원번호^일련번호^가중치^본인평가점수|번호^성과지표^측정방법^달성성과^가중치^본인평가점수^1차평가자점수^평가상태^최종확정여부^평가년도^사원번호^일련번호^가중치^본인평가점수" colsep="^" colwidth="32, 186, 138, 113, 56, 47, 51, 31, 23, 28, 33, 26, 24, 21" dataheight="25" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:530px; top:75px; width:664px; height:665px; ">
  296. <col ref="actseqno" visibility="hidden"/>
  297. <col ref="rsltidx"/>
  298. <col ref="inspmthd"/>
  299. <col ref="achvmntrslt"/>
  300. <col ref="wtnscornm"/>
  301. <col ref="ownvaluscornm"/>
  302. <col class="gridcombo" ref="valupsnscor1" type="combo">
  303. <choices>
  304. <itemset>
  305. <label/>
  306. <value/>
  307. </itemset>
  308. </choices>
  309. </col>
  310. <col ref="valustat" visibility="hidden"/>
  311. <col ref="lastcnfmyn" visibility="hidden"/>
  312. <col ref="valuyy" visibility="hidden"/>
  313. <col ref="emplno" visibility="hidden"/>
  314. <col ref="seqno" visibility="hidden"/>
  315. <col ref="wtnscor" visibility="hidden"/>
  316. <col ref="ownvaluscor" visibility="hidden"/>
  317. </datagrid>
  318. <caption id="caption2" class="tit_2" style="left:530px; top:54px; width:230px; height:13px; vertical-align:middle; ">TFT활동 평가 List</caption>
  319. <line id="line1" class="line_1" style="x1:530px; y1:69px; x2:1194px; y2:69px; "/>
  320. <datagrid id="grd_msg" nodeset="/root/main/smsdata/recvrlist" visibility="hidden" caption="체크여부^이름^전화번호" colsep="^" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:85px; top:265px; width:310px; height:125px; ">
  321. <col ref="chk"/>
  322. <col ref="recvrnm"/>
  323. <col ref="recvrtelno"/>
  324. </datagrid>
  325. </group>
  326. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  327. <line id="line6" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
  328. <button id="btn_uinit" class="btn4_letter3" style="left:1119px; top:3px; width:68px; height:22px; ">
  329. <caption>초기화</caption>
  330. <script type="javascript" ev:event="DOMActivate">
  331. <![CDATA[
  332. window.reload() ;
  333. ]]>
  334. </script>
  335. </button>
  336. <button id="btn_save" class="btn4_letter2" style="left:894px; top:3px; width:56px; height:22px; ">
  337. <caption>저장</caption>
  338. <script type="javascript" ev:event="DOMActivate">
  339. <![CDATA[
  340. misfSave("TXRPV04301");
  341. btn_search.dispatch("DOMActivate");
  342. ]]>
  343. </script>
  344. </button>
  345. <button id="btn_valucnfm" class="btn4_letter4" style="left:1037px; top:3px; width:80px; height:22px; ">
  346. <caption>평가완료</caption>
  347. <script type="javascript" ev:event="DOMActivate">
  348. <![CDATA[
  349. if(grd_trgttftvalulist.fixedRows == grd_trgttftvalulist.rows) return;
  350. for(var i = grd_tftvaluscorlist.fixedRows; i < grd_tftvaluscorlist.rows; i++)
  351. {
  352. if( grd_tftvaluscorlist.valueMatrix( i, grd_tftvaluscorlist.colRef("valupsnscor1")) == "" ){
  353. messageBox("TFT활동평가의 1차평가자점수를 모두 입력하신다음 평가완료를 하세요.", "I999");
  354. return;
  355. }
  356. }
  357. if( messageBox(grd_trgttftvalulist.valueMatrix(grd_trgttftvalulist.row,grd_trgttftvalulist.colRef("emplnm")) + "[" + grd_trgttftvalulist.valueMatrix(grd_trgttftvalulist.row, grd_trgttftvalulist.colRef("emplno")) + "] 님의 평가를 완료하시겠습니까?", "Q999") != 6 ) return;
  358. grd_trgttftvalulist.valueMatrix(grd_trgttftvalulist.row, grd_trgttftvalulist.colRef("lastcnfmyn")) = 'Y';
  359. grd_trgttftvalulist.addStatus(grd_trgttftvalulist.row, "update");
  360. for(var s = grd_tftvaluscorlist.fixedRows; s < grd_tftvaluscorlist.rows; s++)
  361. {
  362. grd_tftvaluscorlist.valueMatrix( s, grd_tftvaluscorlist.colRef("lastcnfmyn") ) = 'Y';
  363. grd_tftvaluscorlist.addStatus(s, "update");
  364. }
  365. btn_save.dispatch("DOMActivate");
  366. //사용자 정보 조회.(조회자의 전화번호 가져오기.)
  367. //rpvfGetUserInfo( ipt_emplno.value, getUserInfo("dutplceinstcd") );
  368. // 수신자 리스트 그리드id ,발신자 폰번호, 발신할 문자메세지
  369. //fSendMsg( grd_trgttftvalulist, model.getValue("/root/init/info/userinfo/phone"), "TFT활동 평가 등록 평가완료 되었습니다.");
  370. // Email 그리고 Sms 전송
  371. // 보내는 사람의 Email 주소가 없을경우 Sms를 전송하도록...Email 주소, Sms 전화번호가 없을경우 경고 메세지 발생.
  372. // fGrid : Email 주소나 휴대전화번호가 있는 그리드 id.
  373. // fCmt : 전체적으로 보낼 전송메세지.
  374. // fEmailTitle : 이메일 전송시의 제목.
  375. // fCheckYN : 선택된 사람만 전송할지 유무.
  376. // fEmplno : 발신자의 정보 호출을 위한 발신자 사원번호.
  377. // fInstcd : 발신자의 정보 호출을 위한 발신자 기관코드.
  378. rpvfCheckEmailAndSms( grd_trgttftvalulist, "[TFT활동평가등록] 평가완료 되었습니다.", "TFT활동평가등록 통보", 'N', ipt_emplno.value);
  379. ]]>
  380. </script>
  381. </button>
  382. <button id="btn_cancel" class="btn4_letter4" style="left:955px; top:3px; width:80px; height:22px; ">
  383. <caption>평가취소</caption>
  384. <script type="javascript" ev:event="DOMActivate">
  385. <![CDATA[
  386. if(grd_trgttftvalulist.fixedRows == grd_trgttftvalulist.rows) return;
  387. for(var i = grd_tftvaluscorlist.fixedRows; i < grd_tftvaluscorlist.rows; i++)
  388. {
  389. if( grd_tftvaluscorlist.valueMatrix( i, grd_tftvaluscorlist.colRef("valupsnscor1")) == "" ){
  390. messageBox("TFT활동평가의 1차평가자점수를 모두 입력하신다음 평가완료를 하세요.", "I999");
  391. return;
  392. }
  393. }
  394. grd_trgttftvalulist.valueMatrix(grd_trgttftvalulist.row, grd_trgttftvalulist.colRef("lastcnfmyn")) = 'N';
  395. grd_trgttftvalulist.addStatus(grd_trgttftvalulist.row, "update");
  396. for(var s = grd_tftvaluscorlist.fixedRows; s < grd_tftvaluscorlist.rows; s++)
  397. {
  398. grd_tftvaluscorlist.valueMatrix( s, grd_tftvaluscorlist.colRef("lastcnfmyn") ) = 'N';
  399. grd_tftvaluscorlist.addStatus(s, "update");
  400. }
  401. btn_save.dispatch("DOMActivate");
  402. //사용자 정보 조회.(조회자의 전화번호 가져오기.)
  403. // rpvfGetUserInfo( ipt_emplno.value, getUserInfo("dutplceinstcd") );
  404. // 수신자 리스트 그리드id ,발신자 폰번호, 발신할 문자메세지
  405. // fSendMsg( grd_trgttftvalulist, model.getValue("/root/init/info/userinfo/phone"), "TFT활동 평가 등록 평가취소 되었습니다.");
  406. // Email 그리고 Sms 전송
  407. // 보내는 사람의 Email 주소가 없을경우 Sms를 전송하도록...Email 주소, Sms 전화번호가 없을경우 경고 메세지 발생.
  408. // fGrid : Email 주소나 휴대전화번호가 있는 그리드 id.
  409. // fCmt : 전체적으로 보낼 전송메세지.
  410. // fEmailTitle : 이메일 전송시의 제목.
  411. // fCheckYN : 선택된 사람만 전송할지 유무.
  412. // fEmplno : 발신자의 정보 호출을 위한 발신자 사원번호.
  413. // fInstcd : 발신자의 정보 호출을 위한 발신자 기관코드.
  414. rpvfCheckEmailAndSms( grd_trgttftvalulist, "[TFT활동평가등록] 평가취소 되었습니다.", "TFT활동평가등록 통보", 'N', ipt_emplno.value);
  415. ]]>
  416. </script>
  417. </button>
  418. </group>
  419. </xhtml:body>
  420. </xhtml:html>