SPIMR00500_과제별연구원정보수정.xrw 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  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>기관정보관리</xhtml:title>
  6. <script type="javascript" src="C:\CMCProject\application\webapps\crc\clinicresearchweb\js\crccnvsub1.js"/>
  7. <model id="model1">
  8. <instance id="instance1">
  9. <root xmlns="">
  10. <main>
  11. <grid>
  12. <item>
  13. <chk/>
  14. <userkind/>
  15. <usernm/>
  16. <deptnm/>
  17. <jobposnm/>
  18. <rrgstno/>
  19. <workplceaddr/>
  20. <cmpytelno/>
  21. <email/>
  22. <bankcd/>
  23. <acntno/>
  24. <depor/>
  25. <subjid/>
  26. <instcd/>
  27. <userid/>
  28. <userseqno/>
  29. </item>
  30. </grid>
  31. </main>
  32. <send>
  33. <itemsavedata/>
  34. <userkind/>
  35. <subjid/>
  36. <instcd/>
  37. </send>
  38. <init>
  39. <cmb_info>
  40. <initbank>
  41. <cdid/>
  42. <cdnm/>
  43. </initbank>
  44. </cmb_info>
  45. </init>
  46. </root>
  47. </instance>
  48. <script type="javascript" ev:event="xforms-ready">
  49. <![CDATA[
  50. zbcfGetCodeList( new Array("R0001"), new Array("/root/init/cmb_info/initbank") );
  51. submit("TRZBC00101", false);
  52. var instcd = opener.javascript.getParameter("instcd");
  53. var subjid = opener.javascript.getParameter("subjid");
  54. model.setValue("/root/send/instcd",instcd);
  55. model.setValue("/root/send/subjid",subjid);
  56. submit("TRIMR00550");
  57. model.refresh();
  58. ]]>
  59. </script>
  60. <submission id="TRZBC00101"/>
  61. <submission id="TRIMR00550" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/grid"/>
  62. <submission id="TXIMR00550" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/grid"/>
  63. </model>
  64. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  65. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  66. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  67. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  68. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  69. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  70. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  71. <script type="javascript">
  72. <![CDATA[
  73. function datacheck() {
  74. var chk = 0;
  75. for ( var i = 0; i < grd_reserinfo.rows; i++ ) {
  76. if ( grd_reserinfo.valueMatrix(i, grd_reserinfo.colRef("chk")) == 'Y' ) {
  77. ++chk;
  78. }
  79. }
  80. if ( chk < 1 ) {
  81. messageBox("수정하실 연구원을 선택해 주세요.", "I999");
  82. return false;
  83. }
  84. for ( var i = 0; i < grd_reserinfo.rows; i++ ) {
  85. if ( grd_reserinfo.valueMatrix(i, grd_reserinfo.colRef("chk")) == 'Y' ) {
  86. if(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) == "" ) {
  87. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 성명은", "I003");
  88. return false;
  89. }
  90. if(model.getValue("/root/main/grid/item[" + i + "]/deptnm") == "" ) {
  91. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 소속은", "I003");
  92. return false;
  93. }
  94. if(model.getValue("/root/main/grid/item[" + i + "]/jobposnm") == "" ) {
  95. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 직위는", "I003");
  96. return false;
  97. }
  98. if( model.getValue("/root/main/grid/item[" + i + "]/rrgstno") == "" ) {
  99. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 주민번호는", "I003");
  100. return false;
  101. }
  102. var rrgs = model.getValue("/root/main/grid/item[" + i + "]/rrgstno");
  103. if(!isResidentNo(rrgs)){ // 주민번호 유효성 체크
  104. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 주민번호는 잘못된 주민번호","E008");
  105. return false;
  106. }
  107. if(model.getValue( "/root/main/grid/item[" + i + "]/workplceaddr" ) == "" ) {
  108. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 주소는", "I003");
  109. return false;
  110. }
  111. if(model.getValue( "/root/main/grid/item[" + i + "]/cmpytelno" ) == "" ) {
  112. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 연락처는", "I003");
  113. return false;
  114. }
  115. if(model.getValue( "/root/main/grid/item[" + i + "]/email" ) == "" ) {
  116. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 이메일은", "I003");
  117. return false;
  118. }
  119. if(model.getValue("/root/main/grid/item[" + i + "]/bankcd") == "" ) {
  120. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 은행은", "I003");
  121. return false;
  122. }
  123. if(model.getValue("/root/main/grid/item[" + i + "]/acntno") == "" ) {
  124. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 계좌번호는", "I003");
  125. return false;
  126. }
  127. if(model.getValue("/root/main/grid/item[" + i + "]/acntno").length < 5 ) {
  128. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 계좌번호는 잘못된 계좌번호", "E008");
  129. return false;
  130. }
  131. if(model.getValue("/root/main/grid/item[" + i + "]/depor") == "" ) {
  132. messageBox(model.getValue( "/root/main/grid/item[" + i + "]/usernm" ) + "님의 예금주는", "I003");
  133. return false;
  134. }
  135. }
  136. }
  137. }
  138. function settingData() {
  139. for ( var i = 0; i < grd_reserinfo.rows; i++ ) {
  140. if ( grd_reserinfo.valueMatrix(i, grd_reserinfo.colRef("chk")) == 'Y' ) {
  141. opener.window.javascript.setParameter("userkind", model.getValue( "/root/main/grid/item[" + i + "]/userkind"));
  142. opener.window.javascript.setParameter("usernm", model.getValue( "/root/main/grid/item[" + i + "]/usernm"));
  143. opener.window.javascript.setParameter("deptnm", model.getValue( "/root/main/grid/item[" + i + "]/deptnm"));
  144. opener.window.javascript.setParameter("jobposnm", model.getValue( "/root/main/grid/item[" + i + "]/jobposnm"));
  145. opener.window.javascript.setParameter("rrgstno", model.getValue( "/root/main/grid/item[" + i + "]/rrgstno"));
  146. opener.window.javascript.setParameter("workplceaddr", model.getValue( "/root/main/grid/item[" + i + "]/workplceaddr"));
  147. opener.window.javascript.setParameter("cmpytelno", model.getValue( "/root/main/grid/item[" + i + "]/cmpytelno"));
  148. opener.window.javascript.setParameter("email", model.getValue( "/root/main/grid/item[" + i + "]/email"));
  149. opener.window.javascript.setParameter("bankcd", model.getValue( "/root/main/grid/item[" + i + "]/bankcd"));
  150. opener.window.javascript.setParameter("acntno", model.getValue( "/root/main/grid/item[" + i + "]/acntno"));
  151. opener.window.javascript.setParameter("depor", model.getValue( "/root/main/grid/item[" + i + "]/depor"));
  152. opener.window.javascript.setParameter("userid", model.getValue( "/root/main/grid/item[" + i + "]/userid"));
  153. }
  154. }
  155. }
  156. ]]>
  157. </script>
  158. </xhtml:head>
  159. <xhtml:body pagewidth="820" pageheight="360" guideline="1,799;2,339;">
  160. <group id="grp_tle" style="left:0px; top:0px; width:800px; height:14px; ">
  161. <caption id="caption120" class="tit_1" style="left:0px; top:0px; width:160px; height:14px; ">과제별 연구원 정보 수정</caption>
  162. </group>
  163. <line id="line1" class="line_1" style="x1:0px; y1:45px; x2:800px; y2:45px; "/>
  164. <button id="button_S" class="btn5_letter4" _auth="X" style="left:735px; top:25px; width:64px; height:19px; ">
  165. <caption>정보수정</caption>
  166. <script type="javascript" ev:event="DOMActivate">
  167. <![CDATA[
  168. if (datacheck() == false){
  169. return;
  170. }
  171. var nodeList = instance1.selectNodes("/root/main/grid/item[chk='Y']");
  172. var rCSV = getNodeListCSV(nodeList);
  173. model.removeNodeset("/root/send/itemsavedata");
  174. model.makeNode("/root/send/itemsavedata");
  175. model.setValue("/root/send/itemsavedata", rCSV);
  176. submit("TXIMR00550");
  177. ]]>
  178. </script>
  179. </button>
  180. <button id="button1" class="btn2_letter2" _auth="X" style="left:758px; top:320px; width:42px; height:19px; ">
  181. <caption>닫기</caption>
  182. <script type="javascript" ev:event="DOMActivate">
  183. <![CDATA[
  184. window.close();
  185. ]]>
  186. </script>
  187. </button>
  188. <datagrid id="grd_reserinfo" nodeset="/root/main/grid/item" caption="^구분^성명^소속^직위^주민등록번호^주소^연락처^이메일^은행^계좌번호^예금주" colsep="^" colwidth="34, 100, 100, 100, 100, 126, 204, 100, 100, 100, 100, 100, 34, 23, 27, 25" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:50px; width:800px; height:250px; ">
  189. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  190. <col disabled="true" ref="userkind" type="combo">
  191. <choices>
  192. <item>
  193. <label>책임연구자</label>
  194. <value>1</value>
  195. </item>
  196. <item>
  197. <label>공동연구자</label>
  198. <value>2</value>
  199. </item>
  200. <item>
  201. <label>코디네이터</label>
  202. <value>3</value>
  203. </item>
  204. <item>
  205. <label>관리약사</label>
  206. <value>4</value>
  207. </item>
  208. </choices>
  209. </col>
  210. <col ref="usernm" type="input"/>
  211. <col ref="deptnm" type="input"/>
  212. <col ref="jobposnm" type="input"/>
  213. <col ref="rrgstno" type="input" format="999999-9999999"/>
  214. <col ref="workplceaddr" type="input"/>
  215. <col ref="cmpytelno" type="input"/>
  216. <col ref="email" type="input"/>
  217. <col ref="bankcd" type="combo">
  218. <choices>
  219. <itemset nodeset="/root/init/cmb_info/initbank/R0001">
  220. <label ref="cdnm"/>
  221. <value ref="cdid"/>
  222. </itemset>
  223. </choices>
  224. </col>
  225. <col ref="acntno" type="input"/>
  226. <col ref="depor" type="input"/>
  227. <col ref="subjid" visibility="hidden"/>
  228. <col ref="instcd" visibility="hidden"/>
  229. <col ref="userid" visibility="hidden"/>
  230. <col ref="userseqno" visibility="hidden"/>
  231. </datagrid>
  232. <button id="btn_chk" class="btn2_letter2" _auth="X" style="left:710px; top:320px; width:42px; height:19px; ">
  233. <caption>선택</caption>
  234. <script type="javascript" ev:event="DOMActivate">
  235. <![CDATA[
  236. var chk = 0;
  237. for ( var i = 0; i < grd_reserinfo.rows; i++ ) {
  238. if ( grd_reserinfo.valueMatrix(i, grd_reserinfo.colRef("chk")) == 'Y' ) {
  239. ++chk;
  240. }
  241. }
  242. if ( chk < 1 ) {
  243. messageBox("연구원을 선택해 주세요.", "I999");
  244. return false;
  245. }
  246. if ( chk > 1 ) {
  247. messageBox("연구원을 한명만 선택해 주세요.", "I999");
  248. return false;
  249. }
  250. if ( chk == 1 ) {
  251. if (datacheck() == false){
  252. return;
  253. }
  254. settingData();
  255. window.close();
  256. }
  257. ]]>
  258. </script>
  259. </button>
  260. <caption id="caption1" class="tit_2" style="left:0px; top:30px; width:131px; height:13px; ">과제별 연구원</caption>
  261. <caption id="caption2" style="left:110px; top:25px; width:626px; height:20px; ">※ 연구원 정보를 수정할 경우, 수정할 연구원을 체크한 후 체크된 연구원의 정보를 수정한 후 저장 버튼을 누르세요.</caption>
  262. </xhtml:body>
  263. </xhtml:html>