SPMNP06800.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
  1. /*
  2. (SPMNP06800_환자부위정보표시.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. - Desc : 피부관찰 팝업이미지 에서 사용하는 스크립트
  6. */
  7. /***************************************************************************************************************************************************/
  8. /****************************************************** 팝업 이미지에서 사용하는 펑션 시작 ************************************************************/
  9. /***************************************************************************************************************************************************/
  10. /**
  11. * @group :
  12. * @ver : 2007.06.18
  13. * @by : 정찬성
  14. * @---------------------------------------------------
  15. * @type : function
  16. * @access : public
  17. * @desc : 신체부위 체크값 풀때
  18. * @param :
  19. * @return :
  20. * @---------------------------------------------------
  21. */
  22. function fbodyunselect(){
  23. var selectValue2 = model.getValue("/root/main/cond/anteriogrup/anteriogruplist/select") ;
  24. // alert("selectValue2 : " + selectValue2);
  25. /* 신체 부위 선택 필수 체크 시작 */
  26. if(selectValue2 == "" || selectValue2 == null ){
  27. /* 확인버튼만 있는 화면 시작 */
  28. model.setValue("/root/main/cond/positiongrup/positiongruplist/leftright","");//부위 선택이 바꿀때 left/right 초기화
  29. model.setValue("/root/main/cond/positiongrup/positiongruplist/seqforback","");//부위 선택이 바꿀때 seqforback 초기화
  30. button1.selected = true;
  31. model.toggle("case5");
  32. /* 확인버튼만 있는 화면 끝 */
  33. return;
  34. }
  35. /* 신체 부위 선택 필수 체크 끝 */
  36. }
  37. /**
  38. * @group :
  39. * @ver : 2007.06.18
  40. * @by : 정찬성
  41. * @---------------------------------------------------
  42. * @type : function
  43. * @access : public
  44. * @desc : 그리드내에 버튼을 클릭했을때, 어떤 버튼인지 체크
  45. * @param :
  46. * @return :
  47. * @---------------------------------------------------
  48. */
  49. function fbodyselect(){
  50. var value = model.getValue("/root/main/cond/anteriogrup/anteriogruplist/select");
  51. var valueArray = value.split(" ");
  52. model.setValue("/root/main/cond/anteriogrup/anteriogruplist/select", valueArray[valueArray.length - 1]);
  53. group1.refresh();
  54. var selectValue = model.getValue("/root/main/cond/anteriogrup/anteriogruplist/select") ;
  55. model.setValue("/root/main/cond/positiongrup/positiongruplist/part",selectValue);//부위 선택이 바꿀때 선택부위 셋팅
  56. model.setValue("/root/main/cond/positiongrup/positiongruplist/leftright","");//부위 선택이 바꿀때 left/right 초기화
  57. model.setValue("/root/main/cond/positiongrup/positiongruplist/seqforback","");//부위 선택이 바꿀때 seqforback 초기화
  58. model.refresh();
  59. if(
  60. selectValue == "(anterior)face"
  61. || selectValue == "(anterior)chin"
  62. || selectValue == "(anterior)neck"
  63. || selectValue == "(anterior)chest"
  64. || selectValue == "(anterior)abdomen"
  65. || selectValue == "(posterior)occipital"
  66. || selectValue == "(posterior)spinous-process"
  67. || selectValue == "(posterior)coccyx"
  68. || selectValue == "(posterior)sacrum" //!!!
  69. ){
  70. /* 확인버튼만 있는 화면 시작 */
  71. button1.selected = true;
  72. model.toggle("case5");
  73. /* 확인버튼만 있는 화면 끝 */
  74. } else if(
  75. selectValue == "(anterior)thigh"
  76. || selectValue == "(posterior)thigh"
  77. || selectValue == "(anterior)ear"
  78. || selectValue == "(anterior)shoulder"
  79. || selectValue == "(anterior)upper-arm"
  80. || selectValue == "(anterior)lower-arm"
  81. || selectValue == "(anterior)wrist"
  82. || selectValue == "(anterior)leg"
  83. || selectValue == "(anterior)ankle"
  84. || selectValue == "(anterior)inguinal"
  85. || selectValue == "(anterior)malleolus"
  86. || selectValue == "(anterior)knee"
  87. || selectValue == "(posterior)inguinal"
  88. || selectValue == "(posterior)scapular"
  89. || selectValue == "(posterior)elbow"
  90. || selectValue == "(posterior)iliac-crest"
  91. || selectValue == "(posterior)trochant"
  92. || selectValue == "(posterior)ischium"
  93. || selectValue == "(posterior)calf"
  94. || selectValue == "(posterior)heel"
  95. || selectValue == "(posterior)buttock"
  96. ) {
  97. /* 오른쪽/왼쪽 선택화면 시작 */
  98. button18.selected = true;
  99. model.toggle("case1");
  100. /* 오른쪽/왼쪽 선택화면 끝 */
  101. } else if(
  102. selectValue == "(anterior)finger"
  103. || selectValue == "(anterior)toe"
  104. ){
  105. /* 오른쪽/왼쪽 손/발가락 선택화면 시작 */
  106. button2.selected = true;
  107. model.toggle("case2");
  108. /* 오른쪽/왼쪽 손/발가락 선택화면 끝 */
  109. } else if(
  110. selectValue == "(anterior)hand"
  111. ){
  112. /* 오른쪽/왼쪽 손바닥/손등 선택화면 시작 */
  113. button3.selected = true;
  114. model.toggle("case3");
  115. /* 오른쪽/왼쪽 손바닥/손등 선택화면 끝 */
  116. } else if(
  117. selectValue == "(anterior)foot"
  118. ){
  119. /* 오른쪽/왼쪽 발바닥/발등 선택화면 시작 */
  120. button4.selected = true;
  121. model.toggle("case4");
  122. /* 오른쪽/왼쪽 발바닥/발등 선택화면 끝 */
  123. }
  124. model.refresh();
  125. }
  126. /**
  127. * @group :
  128. * @ver : 2007.06.18
  129. * 2008.06.04 dhkim 수정
  130. * @by : 정찬성
  131. * @---------------------------------------------------
  132. * @type : function
  133. * @access : public
  134. * @desc : 팝업창 Init
  135. * @param :
  136. * @return :
  137. * @---------------------------------------------------
  138. */
  139. function fPopinit(){
  140. button1.selected = true;
  141. model.toggle("case5");
  142. if( window.opener != null && opener.window.javascript.getParameter("partall") != "" ){
  143. var partall = opener.window.javascript.getParameter("partall");
  144. var valueArray = partall.split(",");
  145. model.setValue("/root/main/cond/anteriogrup/anteriogruplist/select",valueArray[0]);//신체부위 선택
  146. model.setValue("/root/main/cond/positiongrup/positiongruplist/part",valueArray[0]);//선택부위 명칭 등록
  147. model.setValue("/root/main/cond/positiongrup/positiongruplist/leftright",valueArray[1]);//leftrigth
  148. model.setValue("/root/main/cond/positiongrup/positiongruplist/seqforback",valueArray[2]);//마디/바닥/등 선택
  149. model.refresh();
  150. if(
  151. valueArray[0] == "(anterior)face"
  152. || valueArray[0] == "(anterior)chin"
  153. || valueArray[0] == "(anterior)neck"
  154. || valueArray[0] == "(anterior)chest"
  155. || valueArray[0] == "(anterior)abdomen"
  156. || valueArray[0] == "(posterior)occipital"
  157. || valueArray[0] == "(posterior)spinous-process"
  158. || valueArray[0] == "(posterior)coccyx"
  159. || valueArray[0] == "(posterior)sacrum"
  160. ){
  161. /* 확인버튼만 있는 화면 시작 */
  162. button1.selected = true;
  163. model.toggle("case5");
  164. /* 확인버튼만 있는 화면 끝 */
  165. } else if(
  166. valueArray[0] == "(anterior)thigh"
  167. || valueArray[0] == "(posterior)thigh"
  168. || valueArray[0] == "(anterior)ear"
  169. || valueArray[0] == "(anterior)shoulder"
  170. || valueArray[0] == "(anterior)upper-arm"
  171. || valueArray[0] == "(anterior)lower-arm"
  172. || valueArray[0] == "(anterior)wrist"
  173. || valueArray[0] == "(anterior)leg"
  174. || valueArray[0] == "(anterior)ankle"
  175. || valueArray[0] == "(anterior)malleolus"
  176. || valueArray[0] == "(anterior)knee"
  177. || valueArray[0] == "(posterior)inguinal"
  178. || valueArray[0] == "(posterior)scapular"
  179. || valueArray[0] == "(posterior)elbow"
  180. || valueArray[0] == "(posterior)iliac-crest"
  181. || valueArray[0] == "(posterior)trochant"
  182. || valueArray[0] == "(posterior)ischium"
  183. || valueArray[0] == "(posterior)calf"
  184. || valueArray[0] == "(posterior)heel"
  185. || valueArray[0] == "(posterior)buttock"
  186. ) {
  187. /* 오른쪽/왼쪽 선택화면 시작 */
  188. button18.selected = true;
  189. model.toggle("case1");
  190. /* 오른쪽/왼쪽 선택화면 끝 */
  191. } else if(
  192. valueArray[0] == "(anterior)finger"
  193. || valueArray[0] == "(anterior)toe"
  194. ){
  195. /* 오른쪽/왼쪽 손/발가락 선택화면 시작 */
  196. button2.selected = true;
  197. model.toggle("case2");
  198. /* 오른쪽/왼쪽 손/발가락 선택화면 끝 */
  199. } else if(
  200. valueArray[0] == "(anterior)hand"
  201. ){
  202. /* 오른쪽/왼쪽 손바닥/손등 선택화면 시작 */
  203. button3.selected = true;
  204. model.toggle("case3");
  205. /* 오른쪽/왼쪽 손바닥/손등 선택화면 끝 */
  206. } else if(
  207. valueArray[0] == "(anterior)foot"
  208. ){
  209. /* 오른쪽/왼쪽 발바닥/발등 선택화면 시작 */
  210. button4.selected = true;
  211. model.toggle("case4");
  212. /* 오른쪽/왼쪽 발바닥/발등 선택화면 끝 */
  213. }
  214. } else if( window.opener != null && opener.window.javascript.getParameter("partall") == "" ) {
  215. button1.selected = true;
  216. model.toggle("case5");
  217. }
  218. //이미저장된 데이터이면 확인버튼을 hidden처리한다.
  219. var editable = opener.window.javascript.getParameter('editable');
  220. if(editable == 'f'){
  221. button1.attribute('visibility') = 'hidden';
  222. button2.attribute('visibility') = 'hidden';
  223. button3.attribute('visibility') = 'hidden';
  224. button4.attribute('visibility') = 'hidden';
  225. button18.attribute('visibility') = 'hidden';
  226. }else if(editable == 't'){
  227. button1.attribute('visibility') = 'visible';
  228. button2.attribute('visibility') = 'visible';
  229. button3.attribute('visibility') = 'visible';
  230. button4.attribute('visibility') = 'visible';
  231. button18.attribute('visibility') = 'visible';
  232. }
  233. //readonly상태일때 모든 checkbox를 disabled처리한다.
  234. if(editable == 'f')
  235. group1.disabled = true;
  236. else if(editable == 't')
  237. group1.disabled = false;
  238. }
  239. /**
  240. * @group :
  241. * @ver : 2007.06.18
  242. * : 2008.05.28 dhkim 수정
  243. * @by : 정찬성
  244. * @------------------------------------------------------------
  245. * @type : function
  246. * @access : public
  247. * @param :
  248. * @return :
  249. * @desc : 욕창 부위 선택 팝업창 확인버튼 누를때 호출 되는 펑션이다.
  250. * [case 종류] - 체크박스를 선택 할 때마다 아래 case별로 화면이 바뀜
  251. * case 1 : left, right만 선택
  252. * case 2 : left, right, 방향 선택(손가락, 발가락)
  253. * case 3 : left, right, 손등,손바닥 선택
  254. * case 4 : left, right, 발등, 발바닥 선택
  255. * case 5 : 확인버튼만 있음
  256. * @------------------------------------------------------------
  257. */
  258. function fPopClose(){
  259. var xAnterioGrupPath = '/root/main/cond/anteriogrup/anteriogruplist'; //발생 부위
  260. var xPositionGrupPath = '/root/main/cond/positiongrup/positiongruplist'; //발생 위치 (left, right, 손발등, 손발바닥, 손발가락)
  261. //선택한 체크박스 값
  262. var selectValue2 = model.getValue(xAnterioGrupPath + "/select") ;
  263. var part = model.getValue(xPositionGrupPath + "/part");
  264. var leftright = model.getValue(xPositionGrupPath + "/leftright");
  265. var seqforback = model.getValue(xPositionGrupPath + "/seqforback");
  266. //선택 안했을때 리턴시킴
  267. if(selectValue2 == "" || selectValue2 == null ){
  268. messageBox("신체 부위를 ", "C002");
  269. model.setValue(xPositionGrupPath + "/leftright", "");
  270. model.setValue(xPositionGrupPath + "/seqforback","");
  271. button1.selected = true;
  272. model.toggle("case5");
  273. return;
  274. }
  275. //위치정보 필요없는 부위(검정색)
  276. if( part == "(anterior)face" || part == "(anterior)chin" || part == "(anterior)neck"
  277. || part == "(anterior)chest" || part == "(anterior)abdomen" || part == "(posterior)occipital"
  278. || part == "(posterior)spinous-process" || part == "(posterior)coccyx"|| part == "(posterior)sacrum" ) {
  279. model.setValue(xPositionGrupPath + "/leftright", "");
  280. model.setValue(xPositionGrupPath + "/seqforback","");
  281. // 신체 부위 선택시 추가 선택부분 체크
  282. if(leftright != "" || seqforback != ""){
  283. messageBox("신체 부위 추가선택 항목은 ", "I001");
  284. return;
  285. }
  286. }
  287. //left, right 선택해야 하는 부위(초록색)
  288. else if( part == "(anterior)thigh" || part == "(posterior)thigh" || part == "(anterior)ear" || part == "(anterior)shoulder"
  289. || part == "(anterior)upper-arm" || part == "(anterior)lower-arm" || part == "(anterior)wrist" || part == "(anterior)leg"
  290. || part == "(anterior)ankle" || part == "(anterior)malleolus" || part == "(anterior)knee" || part == "(posterior)inguinal"
  291. || part == "(posterior)scapular"|| part == "(posterior)elbow" || part == "(posterior)iliac-crest"
  292. || part == "(posterior)trochant" || part == "(posterior)ischium" || part == "(posterior)buttock"
  293. || part == "(posterior)calf" || part == "(posterior)heel" ) {
  294. model.setValue(xPositionGrupPath + "/seqforback","");
  295. // 신체 부위 선택시 추가 선택부분 체크
  296. if(leftright == "" || leftright.length == 0 ){
  297. messageBox("Left/Right를 ", "C002");
  298. return;
  299. }
  300. }
  301. //left, right, 손발 번호 선택 (빨간색)
  302. else if(part == "(anterior)finger" || part == "(anterior)toe"){
  303. /* 신체 부위 선택시 추가 선택부분 체크 시작 */
  304. if(leftright == "" || leftright.length == 0 ){
  305. messageBox("Left/Right를 ", "C002");
  306. return;
  307. } else if ( seqforback == "" || seqforback.length == 0 ) {
  308. messageBox("손/발가락 번호를 ", "C002");
  309. return;
  310. }
  311. }
  312. //left, right, 손발바닥, 손발등 선택(빨간색)
  313. else if(part == "(anterior)hand" || part == "(anterior)foot"){
  314. /* 신체 부위 선택시 추가 선택부분 체크 시작 */
  315. if(leftright == "" || leftright.length == 0 ){
  316. messageBox("Left/Right를 ", "C002");
  317. return;
  318. } else if ( seqforback == "" || seqforback.length == 0 ) {
  319. messageBox("손/발바닥, 손/발등을 ", "C002");
  320. return;
  321. }
  322. }
  323. model.setValue(xPositionGrupPath + "/part", selectValue2);
  324. model.refresh();
  325. if( window.opener != null ){
  326. var retStr = part;
  327. if(leftright != null && leftright != ''){
  328. // retStr += ',' + leftright;
  329. retStr += leftright;
  330. }
  331. if(seqforback != null && seqforback != ''){
  332. // retStr += ',' + seqforback;
  333. retStr += seqforback;
  334. }
  335. opener.javascript.setParameter("part", part);
  336. opener.javascript.setParameter("leftright", leftright);
  337. opener.javascript.setParameter("seqforback",seqforback);
  338. opener.javascript.setParameter("caseno", switch1.selectedIndex);
  339. opener.javascript.setParameter('retStr', retStr);
  340. window.close();
  341. }
  342. }
  343. /***************************************************************************************************************************************************/
  344. /****************************************************** 팝업 이미지에서 사용하는 펑션 끝 ************************************************************/
  345. /***************************************************************************************************************************************************/