SMMQO00500.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510
  1. function fInitialize(init){
  2. //인스턴스 초기화
  3. model.resetInstanceNode("/root/send/req");
  4. model.removenode("/root/tmp/opin");
  5. model.removenode("/root/send/cond/opin/list");
  6. //조회를 위한 접수번호 셋팅
  7. var ano = opener.javascript.getParameter("ano");
  8. model.setValue("/root/send/acptno", ano);
  9. model.setValue("/root/send/author", "Q");
  10. //화면조회
  11. submit("TRMQO00501");
  12. copyNodeType("/root/main/cond", "/root/tmp/cond", "replace");
  13. copyNodeType("/root/send/cond/attach", "/root/tmp/attach", "replace");
  14. copyNodeType("/root/send/cond/opin", "/root/tmp/opin", "replace");
  15. var rgstrid = getUserId();
  16. var suggempdeptcd = getUserInfo("dutplcecd");
  17. var instcd = getUserInfo("dutplceinstcd");
  18. var prcsstatcd = model.getValue("/root/main/cond/prcsstatcd")
  19. model.setValue("/root/send/req/acptno", ano);
  20. model.setValue("/root/send/req/instcd", instcd);
  21. //------------------------------화면자동 세팅-----------------------------
  22. groupRevitalize("grp_suj", "D", "Y");
  23. groupRevitalize("grp_qip", "D", "Y");
  24. groupRevitalize("grp_txt1", "D", "Y");
  25. groupRevitalize("grp_txt2", "D", "Y");
  26. //grp_txt1.disabled = false;
  27. //grp_txt2.disabled = false;
  28. btn_down1.disabled = false;
  29. btn_up1.disabled = false;
  30. btn_down2.disabled = false;
  31. btn_up2.disabled = false;
  32. //최초등록일 경우 or 초기화 눌렀을경우
  33. if(prcsstatcd < 2 || (init == "A" && prcsstatcd < 6)){
  34. //관리자일 경우
  35. if(checkUserGroup("UGE_QIP") || rgstrid == "DEVB07"){
  36. ipt_chgrmail.disabled = false;
  37. tar_req.disabled = false;
  38. btn_chgrmail.disabled = false;
  39. ipt_reqdd.attribute("ref") = "";
  40. btn_down1.disabled = false;
  41. btn_up1.disabled = false;
  42. }
  43. }else{
  44. var cur_row = "";
  45. for(var i = 1 ; i < datagrid3.rows ; i++){
  46. var repldd = model.getValue("/root/send/cond/opin/list[" + i + "]/repldd");
  47. var perchgrid = model.getValue("/root/send/cond/opin/list[" + i + "]/perchgrid");
  48. if(perchgrid == rgstrid){
  49. cur_row = i;
  50. break;
  51. }
  52. }
  53. if(cur_row != ""){
  54. getOpinDetail(cur_row);
  55. }
  56. }
  57. //테스트를 위한 버튼설정
  58. if(rgstrid == "DEVB07"){
  59. btn_test.visible = true;
  60. }
  61. model.refresh();
  62. }
  63. function sendMail(prcsstatcd) {
  64. //메일전송결과를 서브밋하여 결과를 표시한다.
  65. model.setValue("/root/send/userinfo/userid", getUserId());
  66. submit("TRMQK00101");
  67. var fromaddress = model.getValue("/root/tmp/userinfo/email");
  68. if (fromaddress == ""){
  69. var fromaddress = "cmc@cmcnu.or.kr";
  70. }
  71. var fromname = model.getValue("/root/tmp/userinfo/usernm");
  72. var perchgremail
  73. if(prcsstatcd == "6"){
  74. var perchgremail = model.getValue("/root/send/req/dcusexecchgremail");
  75. }
  76. else{
  77. var perchgremail = model.getValue("/root/send/req/perchgremail");
  78. }
  79. model.setValue("/root/send/mail/fromaddress", fromaddress);
  80. model.setValue("/root/send/mail/fromname", fromname);
  81. model.setValue("/root/send/mail/toaddress", perchgremail);
  82. var cmc = " CMC nU 바로가기";
  83. //cmc = cmc.link("http://his012.cmcnu.or.kr/himed/webapps/com/hismainweb/jsp/login.live");
  84. cmc = cmc.link("http://portal.cmcnu.or.kr");
  85. if(prcsstatcd == "6"){
  86. var txt = "";
  87. var txt2 = "";
  88. var con = "<br><br><br>- 심의내용 : " + tar_rslt.value;
  89. if(cmb_rslt.value == "02"){
  90. txt2 = "기각";
  91. }
  92. else if(cmb_rslt.value == "03"){
  93. txt2 = "채택";
  94. }
  95. else if(cmb_rslt.value == "04"){
  96. txt2 = "기시행";
  97. }
  98. else if(cmb_rslt.value == "05"){
  99. txt2 = "종결";
  100. }
  101. txt = "<br><br>- 심의결과 : " + txt2;
  102. model.setValue("/root/send/mail/subject", "["+txt2+"] 제안제도 - " + model.getValue("/root/main/cond/subj"));
  103. model.setValue("/root/send/mail/msg", txt + con + "<br><br>" + cmc);
  104. }
  105. else{
  106. model.setValue("/root/send/mail/subject", "[의견요청] 제안제도 - " + model.getValue("/root/main/cond/subj"));
  107. model.setValue("/root/send/mail/msg", "귀부서의 의견을 요청드립니다." + cmc);
  108. }
  109. if (submit("TXZME00101"))
  110. {
  111. messageBox(model.getValue("/root/hidden/msg/contents"), "I999");
  112. }
  113. }
  114. //2008-12-15 강지훈 작성
  115. function getOpinDetail(cur_row){
  116. var instcd = model.getValue("/root/send/cond/opin/list[" + cur_row + "]/instcd");
  117. var acptno = model.getValue("/root/send/cond/opin/list[" + cur_row + "]/acptno");
  118. var perchgrid = model.getValue("/root/send/cond/opin/list[" + cur_row + "]/perchgrid");
  119. var seq = model.getValue("/root/send/cond/opin/list[" + cur_row + "]/seq");
  120. var currentdd = getCurrentDate();
  121. model.setValue("/root/send/detail/instcd", instcd);
  122. model.setValue("/root/send/detail/acptno", acptno);
  123. model.setValue("/root/send/detail/perchgrid", perchgrid);
  124. model.setValue("/root/send/detail/seq", seq);
  125. if(cur_row > 0){
  126. submit("TRMQO00502");
  127. var userdeptcd = getUserInfo("dutplcecd");
  128. var userid = getUserId();
  129. var perchgrdeptcd = model.getValue("/root/send/req/perchgrdeptcd");
  130. var perchgrid = model.getValue("/root/send/req/perchgrid");
  131. var perexecdeptcd = model.getValue("/root/send/req/perexecdeptcd");
  132. var perexecid = model.getValue("/root/send/req/perexecid");
  133. var statcd = model.getValue("/root/send/req/statcd");
  134. var prcsstatcd = model.getValue("/root/send/req/prcsstatcd");
  135. var repldd = model.getValue("/root/send/req/repldd");
  136. var rereqldd = model.getValue("/root/send/req/rereqldd");
  137. var rerepldd = model.getValue("/root/send/req/rerepldd");
  138. var dcusdd = model.getValue("/root/send/req/dcustretdd");
  139. var execdd = model.getValue("/root/send/req/exectretdd");
  140. groupRevitalize("grp_suj", "D", "Y");
  141. groupRevitalize("grp_qip", "D", "Y");
  142. if(statcd >= 2){
  143. ipt_reqdd.attribute("ref") = "/root/send/req/reqdd";
  144. }
  145. else{
  146. ipt_reqdd.attribute("ref") = "";
  147. }
  148. grp_suj.visible = true;
  149. grp_qip.visible = true;
  150. btn_exec.visible =true;
  151. btn_save.visible = true;
  152. btn_down1.disabled = false;
  153. btn_up1.disabled = false;
  154. btn_down2.disabled = false;
  155. btn_up2.disabled = false;
  156. // 화면 권한관리
  157. //1 ------------------관리자일 경우------------------
  158. if(checkUserGroup("UGE_QIP") || userid == "DEVB07"){
  159. //의견 요청 회신단계
  160. if(prcsstatcd < 6){
  161. //1 - 1 의견 요청
  162. if(statcd == "2"){
  163. btn_chgrmail.disabled = false;
  164. ipt_chgrmail.disabled = false;
  165. tar_req.disabled = false;
  166. grp_txt2.disabled = false;
  167. btn_down2.disabled = false;
  168. btn_up2.disabled = false;
  169. if(userdeptcd == perchgrdeptcd || userid == perchgrid){ // 관리자가 회신자일 경우
  170. opt_repldd.disabled = false;
  171. if(opt_repldd.value == ""){
  172. opt_repldd.value = currentdd;
  173. }
  174. tar_repl.disabled = false;
  175. }
  176. }
  177. //1 - 2 회신
  178. else if(statcd == "3"){
  179. tar_req.disabled = false;
  180. tar_repl.disabled = false;
  181. tar_req.attribute("editable") = "false";
  182. tar_repl.attribute("editable") = "false";
  183. cap_rereqsubj.disabled = false;
  184. tar_rereq.disabled = false;
  185. cap_exesubj.disabled = false;
  186. btn_execmail.disabled = false;
  187. cmb_rslt.disabled = false;
  188. ipt_execmail.disabled = false;
  189. tar_rslt.disabled = false;
  190. if(userdeptcd == perchgrdeptcd || userid == perchgrid){ // 관리자가 회신자일 경우
  191. opt_repldd.disabled = false;
  192. if(opt_repldd.value == ""){
  193. opt_repldd.value = currentdd;
  194. }
  195. tar_repl.disabled = false;
  196. }
  197. }
  198. //1 - 3 의견 재 요청
  199. else if(statcd == "4"){
  200. tar_req.disabled = false;
  201. tar_repl.disabled = false;
  202. tar_req.attribute("editable") = "false";
  203. tar_repl.attribute("editable") = "false";
  204. tar_rereq.disabled = false;
  205. if(userdeptcd == perchgrdeptcd || userid == perchgrid){ // 관리자가 회신자일 경우
  206. tar_rerepl.disabled = false;
  207. }
  208. }
  209. //1 - 4 재회신
  210. else if(statcd == "5"){
  211. tar_req.disabled = false;
  212. tar_repl.disabled = false;
  213. tar_rereq.disabled = false;
  214. tar_rerepl.disabled = false;
  215. tar_rslt.disabled = false;
  216. tar_req.attribute("editable") = "false";
  217. tar_repl.attribute("editable") = "false";
  218. tar_rereq.attribute("editable") = "false";
  219. tar_rerepl.attribute("editable") = "false";
  220. btn_execmail.disabled = false;
  221. tar_rslt.disabled = false;
  222. cmb_rslt.disabled = false;
  223. ipt_execmail.disabled = false;
  224. if(userdeptcd == perchgrdeptcd || userid == perchgrid){ // 관리자가 회신자일 경우
  225. tar_rerepl.disabled = false;
  226. }
  227. }
  228. }
  229. //1 - 5 제안 심의
  230. else if(prcsstatcd == "6"){
  231. tar_req.disabled = false;
  232. tar_repl.disabled = false;
  233. tar_rereq.disabled = false;
  234. tar_rerepl.disabled = false;
  235. tar_req.attribute("editable") = "false";
  236. tar_repl.attribute("editable") = "false";
  237. tar_rereq.attribute("editable") = "false";
  238. tar_rerepl.attribute("editable") = "false";
  239. btn_execmail.disabled = false;
  240. cmb_rslt.disabled = false;
  241. ipt_execmail.disabled = false;
  242. tar_rslt.disabled = false;
  243. if(userdeptcd == perexecdeptcd || userid == perexecid){ // 관리자가 실행자인 경우
  244. tar_exec.disabled = false;
  245. }
  246. }
  247. //1 - 6 채택제안 실행
  248. else if(prcsstatcd == "7"){
  249. if(userdeptcd == perexecdeptcd || userid == perexecid){ // 관리자가 실행자인 경우
  250. tar_req.disabled = false;
  251. tar_repl.disabled = false;
  252. tar_rereq.disabled = false;
  253. tar_rerepl.disabled = false;
  254. tar_rslt.disabled = false;
  255. tar_checkcnts.disabled = false;
  256. tar_req.attribute("editable") = "false";
  257. tar_repl.attribute("editable") = "false";
  258. tar_rereq.attribute("editable") = "false";
  259. tar_rerepl.attribute("editable") = "false";
  260. tar_rslt.attribute("editable") = "false";
  261. tar_checkcnts.attribute("editable") = "true";
  262. //ipt_checkdd.disabled = false;
  263. //tar_checkcnts.disabled = false;
  264. //tar_checkcnts.attribute("editable") = "true";
  265. }
  266. else{
  267. tar_req.disabled = false;
  268. tar_repl.disabled = false;
  269. tar_rereq.disabled = false;
  270. tar_rerepl.disabled = false;
  271. tar_rslt.disabled = false;
  272. tar_exec.disabled = false;
  273. tar_req.attribute("editable") = "false";
  274. tar_repl.attribute("editable") = "false";
  275. tar_rereq.attribute("editable") = "false";
  276. tar_rerepl.attribute("editable") = "false";
  277. tar_rslt.attribute("editable") = "false";
  278. tar_exec.attribute("editable") = "false";
  279. btn_exec.visible =false;
  280. btn_save.visible = false;
  281. }
  282. }
  283. else{
  284. btn_exec.visible =false;
  285. btn_save.visible = false;
  286. }
  287. }
  288. //2 ------------------회신자인 경우------------------
  289. //else if(prcsstatcd < 6 && (userdeptcd == perchgrdeptcd || userid == perchgrid)){
  290. else if((userdeptcd == perchgrdeptcd || userid == perchgrid)){
  291. if(!(prcsstatcd >= 6 && (userdeptcd == perexecdeptcd || userid == perexecid))){
  292. grp_qip.visible = false;
  293. }
  294. else{
  295. tar_req.disabled = false;
  296. tar_repl.disabled = false;
  297. tar_rereq.disabled = false;
  298. tar_rerepl.disabled = false;
  299. tar_rslt.disabled = false;
  300. tar_req.attribute("editable") = "false";
  301. tar_repl.attribute("editable") = "false";
  302. tar_rereq.attribute("editable") = "false";
  303. tar_rerepl.attribute("editable") = "false";
  304. tar_rslt.attribute("editable") = "false";
  305. tar_exec.disabled = false;
  306. }
  307. //2 - 1 회신내역
  308. if(statcd == "2" && prcsstatcd < 6){
  309. tar_req.disabled = false;
  310. tar_req.attribute("editable") = "false";
  311. tar_repl.disabled = false;
  312. }
  313. //2 - 2 재회신내역
  314. else if(statcd == "4" && prcsstatcd < 6){
  315. tar_req.disabled = false;
  316. tar_repl.disabled = false;
  317. tar_rereq.disabled = false;
  318. tar_req.attribute("editable") = "false";
  319. tar_repl.attribute("editable") = "false";
  320. tar_rereq.attribute("editable") = "false";
  321. tar_rerepl.disabled = false;
  322. }
  323. else{
  324. if(!(prcsstatcd >= 6 && (userdeptcd == perexecdeptcd || userid == perexecid))){
  325. btn_exec.visible =false;
  326. btn_save.visible = false;
  327. }
  328. }
  329. }
  330. //3 ------------------실행자인 경우------------------
  331. else if(prcsstatcd >= 6 && (userdeptcd == perexecdeptcd || userid == perexecid)){
  332. if(!(userdeptcd == perchgrdeptcd || userid == perchgrid)){
  333. grp_suj.visible = false;
  334. groupRevitalize("grp_suj", "D", "Y");
  335. }
  336. tar_rslt.disabled = false;
  337. tar_rslt.attribute("editable") = "false";
  338. tar_exec.disabled = false;
  339. }
  340. else{
  341. grp_suj.visible = false;
  342. grp_qip.visible = false;
  343. btn_exec.visible =false;
  344. btn_save.visible = false;
  345. }
  346. }
  347. model.refresh();
  348. }
  349. //화면정보를 저장한다
  350. function fSave() {
  351. var vreplopin = model.getValue("/root/send/req/replopin");
  352. if ( vreplopin.getTrim() == "" ) {
  353. model.setValue("/root/send/req/repldd", "");
  354. } else {
  355. if ( model.getValue("/root/send/req/repldd") == "" ) {
  356. model.setValue("/root/send/req/repldd", getCurrentDate());
  357. }
  358. }
  359. //--------------------------------- 필수입력정보 확인---------------------------------
  360. var prcsstatcd = model.getValue("/root/send/req/prcsstatcd");
  361. var statcd = model.getValue("/root/send/req/statcd");
  362. if(statcd == ""){
  363. messageBox("내용을 ", "C001");
  364. return false;
  365. }
  366. if(statcd == "2" || opt_perchgrhngnm.value != ""){
  367. if(!isRequiredControls("ipt_genrdt", "opt_perchgrhngnm", "ipt_chgrmail", "tar_req")){
  368. return false;
  369. }
  370. }
  371. if(statcd == "3"){
  372. if(!isRequiredControls("opt_perchgrhngnm", "ipt_chgrmail", "tar_req", "tar_repl")){
  373. return false;
  374. }
  375. }
  376. if(statcd == "4"){
  377. if(!isRequiredControls("tar_repl", "tar_rereq")){
  378. return false;
  379. }
  380. }
  381. if(statcd == "5"){
  382. if(!isRequiredControls("tar_rereq", "tar_rerepl")){
  383. return false;
  384. }
  385. }
  386. if(prcsstatcd == "6" || opt_perexechngnm.value != ""){
  387. if(!isRequiredControls( "opt_perexechngnm", "cmb_rslt", "ipt_execmail", "tar_rslt")){
  388. return false;
  389. }
  390. }
  391. if(prcsstatcd == "7"){
  392. if(!isRequiredControls( "tar_exec")){
  393. return false;
  394. }
  395. }
  396. if(prcsstatcd == "8"){
  397. if(!isRequiredControls( "tar_checkcnts")){
  398. return false;
  399. }
  400. var userdeptcd = getUserInfo("dutplcecd");
  401. var userid = getUserId();
  402. model.setValue("/root/send/req/checkdeptcd", userdeptcd);
  403. model.setValue("/root/send/req/checkid", userid);
  404. }
  405. //--------------------------------- 필수입력정보 확인 끝---------------------------------
  406. //저장
  407. if (submit("TXMQO00501")) {
  408. model.refresh();
  409. }
  410. if(statcd == "2" || prcsstatcd == "6"){
  411. sendMail(prcsstatcd);
  412. }
  413. window.reload();
  414. //fInitialize();
  415. //model.refresh();
  416. }