SPMQP04000_팝업관리.xrw 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936
  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>Untitle</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <inqrinfo>
  11. <inqrlist/>
  12. </inqrinfo>
  13. <inqrdetlist>
  14. <inqrheader>
  15. <inqrno/>
  16. <inqrhistno/>
  17. <cpgno/>
  18. <cpghistseq/>
  19. <inqrnm/>
  20. <pntmflag/>
  21. <inqrflag/>
  22. <stepno/>
  23. </inqrheader>
  24. <inqr/>
  25. <answ/>
  26. </inqrdetlist>
  27. <inqrform>
  28. <inqrheader>
  29. <inqrno/>
  30. <inqrhistno/>
  31. <cpgno/>
  32. <cpghistseq/>
  33. <inqrnm/>
  34. <pntmflag/>
  35. <inqrflag/>
  36. <stepno/>
  37. </inqrheader>
  38. <inqrlist>
  39. <inqrstatus/>
  40. <inqrinqrno/>
  41. <inqrinqrhistno/>
  42. <inqrqestno/>
  43. <inqrqestcnts/>
  44. <inqranswflag/>
  45. <inqranswessyn/>
  46. <inqrlimno/>
  47. <inqrlimhistno/>
  48. <inqrlimcdno/>
  49. <inqrsetattrno/>
  50. <inqrsetattrhistno/>
  51. </inqrlist>
  52. <answlist>
  53. <answstatus/>
  54. <asnwinqrno/>
  55. <answinqrhistno/>
  56. <answqestno/>
  57. <answanswno/>
  58. <answanswcnts/>
  59. </answlist>
  60. </inqrform>
  61. <inqrmenulist>
  62. <menu>
  63. <item>
  64. <name>삭제</name>
  65. <func>fDelInqrList</func>
  66. </item>
  67. </menu>
  68. <menu2>
  69. <item>
  70. <name>기타속성 지정</name>
  71. <func>fInputFreetextAttr</func>
  72. </item>
  73. <item>
  74. <name>답안추가</name>
  75. <func>fAddAnswList</func>
  76. </item>
  77. </menu2>
  78. </inqrmenulist>
  79. <tempanswlist/>
  80. </main>
  81. <temp/>
  82. </root>
  83. </instance>
  84. <script type="javascript" ev:event="xforms-ready">
  85. <![CDATA[
  86. fInqrInit();
  87. ]]>
  88. </script>
  89. <submission id="TXMQP04001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata/inqrlist/dellist" resultref="/root/main/inqrinfo"/>
  90. <submission id="TXMQP04002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata/inqrlist" resultref="/root/main/inqrinfo"/>
  91. <submission id="TRMQP04001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/inqrinfo"/>
  92. <submission id="TRMQP04002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/inqrdetlist/inqrheader" resultref="/root/temp"/>
  93. <submission id="TXMQP04003" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata/inqrlist"/>
  94. </model>
  95. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  96. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  97. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  98. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  99. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  100. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  101. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  102. <script type="javascript">
  103. <![CDATA[
  104. //## 핸들링하고 있는 문진 리스트 번호 2010.04.20 KHJ
  105. var grdpoplistRow = 1;
  106. var Answ_Path = "/root/main/inqrdetlist/answ";
  107. var Inqr_Path = "/root/main/inqrdetlist/inqr";
  108. var maxqestno = 0;
  109. var oldQestNo = 0;
  110. /*
  111. * @desc : 팝업시점의 변화에 따른 step 활성화
  112. * @
  113. * @param :
  114. * @return :
  115. * @author : 김영학 (2009. 02.28)
  116. * @---------------------------------------------------
  117. */
  118. function fStepSetup() {
  119. var pntmflag = model.getValue("/root/main/inqrdetlist/inqrheader/pntmflag");
  120. if (pntmflag =="3") {
  121. cmb_inqrstepno.disabled = false;
  122. cmb_inqrstepno.select(0);
  123. } else {
  124. cmb_inqrstepno.disabled = true;
  125. model.setValue("/root/main/inqrdetlist/inqrheader/stepno", "0");
  126. }
  127. model.refresh();
  128. //fChngInqrflag();
  129. }
  130. /*
  131. * @desc : 문진 삭제
  132. * @
  133. * @param :
  134. * @return :
  135. * @author : 김영학 (2009. 02.28)
  136. * @---------------------------------------------------
  137. */
  138. function fDelInqrList() {
  139. model.removeNodeset("/root/send/savedata/inqrlist/dellist");
  140. var tmpstrTitle = "inqrno▦inqrhistno▦cpgno▦cpghistseq▩";
  141. var tmpstrCnts = "";
  142. var rows = grd_poplist.rows;
  143. for (var row = 1; row <= rows; row++ ) {
  144. if(grd_poplist.isSelected(row)) {
  145. var inqrno = model.getValue("/root/main/inqrinfo/inqrlist[" + row + "]/inqrno");
  146. var inqrhistno = model.getValue("/root/main/inqrinfo/inqrlist[" + row + "]/inqrhistno");
  147. var cpgno = model.getValue("/root/main/inqrinfo/inqrlist[" + row + "]/cpgno");
  148. var cpghistseq = model.getValue("/root/main/inqrinfo/inqrlist[" + row + "]/cpghistseq");
  149. tmpstrCnts = tmpstrCnts + inqrno + "▦" + inqrhistno + "▦" + cpgno + "▦" + cpghistseq + "▩";
  150. }
  151. }
  152. if( !isNull(tmpstrCnts) ){
  153. model.makeValue("/root/send/savedata/inqrlist/dellist" , tmpstrTitle + tmpstrCnts);
  154. if( !submit("TXMQP04001", false) ) return false;
  155. opener.window.javascript.fInitAttList();
  156. fInqrInit();
  157. fCheckStepAttr(); //저장 후 스텝의 속성 정보 변경 시 체크하여 변경사항을 outline에 반영한다 --JJE
  158. model.refresh();
  159. }
  160. }
  161. /*
  162. * @desc : 초기화
  163. * @
  164. * @param :
  165. * @return :
  166. * @author : 김영학 (2009. 02.28)
  167. * @---------------------------------------------------
  168. */
  169. function fInqrInit() {
  170. fStepSetup() ;
  171. submit("TRMQP04001");
  172. model.removenode("/root/main/inqrdetlist/inqr");
  173. model.removenode("/root/main/inqrdetlist/answ");
  174. model.refresh();
  175. }
  176. /*
  177. * @desc : 팝업관리 저장
  178. * @
  179. * @param :
  180. * @return :
  181. * @author : 김영학 (2009. 02.28)
  182. * @---------------------------------------------------
  183. */
  184. function fSaveInqrList() {
  185. var title = model.getValue("/root/main/inqrdetlist/inqrheader/inqrnm");
  186. if (isNull(title)) {
  187. messageBox("제목은", "I003");
  188. model.setFocus("ipt_title");
  189. return false;
  190. }
  191. var inqrflag = model.getValue("/root/main/inqrdetlist/inqrheader/inqrflag");
  192. if (isNull(inqrflag)) {
  193. messageBox("용도는", "I003");
  194. model.setFocus("rdo_mthd");
  195. return false;
  196. }
  197. var pntmflag = model.getValue("/root/main/inqrdetlist/inqrheader/pntmflag");
  198. if (isNull(pntmflag)) {
  199. messageBox("팝업시점은", "I003");
  200. model.setFocus("rdo_popstart");
  201. return false;
  202. }
  203. if (pntmflag == "3") {
  204. var stepno = model.getValue("/root/main/inqrdetlist/inqrheader/stepno");
  205. if (stepno == "0") {
  206. messageBox("스탭 지정은", "I003");
  207. model.setFocus("cmb_inqrstepno");
  208. return false;
  209. }
  210. }
  211. if (grd_inqrlist.rows > 1) {
  212. for (var i = 1 ; i < grd_inqrlist.rows ; i++ ) {
  213. var answflag = model.getValue(Inqr_Path + "/inqrlist[" + i + "]/inqranswflag");
  214. if (isNull(answflag)) {
  215. messageBox("답안속성은", "I003");
  216. grd_inqrlist.row = i;
  217. grd_inqrlist.col = 6;
  218. grd_inqrlist.editCell();
  219. return false;
  220. }
  221. }
  222. }
  223. /*
  224. if (grd_answlist.rows > 1 ) {
  225. for (i = 0 ; i < grd_answlist.rows ; i++ ) {
  226. var answcnts = model.getValue(Answ_Path + "/answlist[" + i + "]/answanswcnsts");
  227. if (isNull(answcnts)) {
  228. messageBox("답안은", "I003");
  229. grd_answlist.col= 6;
  230. grd_answlist.editCell();
  231. return false;
  232. }
  233. }
  234. }
  235. */
  236. model.removeNodeset("/root/send/savedata/inqr/inqrheader");
  237. model.removeNodeset("/root/send/savedata/inqr/inqrlist");
  238. model.removeNodeset("/root/send/savedata/inqr/answlist");
  239. model.setValue("/root/main/inqrdetlist/inqrheader/cpgno" , model.getValue("/root/main/cond/cpgno"));
  240. model.setValue("/root/main/inqrdetlist/inqrheader/cpghistseq" , model.getValue("/root/main/cond/cpghistseq"));
  241. model.makeValue("/root/send/savedata/inqrlist/inqrlist", grd_inqrlist.getUpdateDataAll(i));
  242. //temp 인스턴스는 전체 답안을 모두 가지고 있음. 저장 시 temp 인스턴스를 날림 (JJE)
  243. if( oldQestNo > 0 && instance1.selectSingleNode("/root/main/inqrdetlist/answ/answlist[answstatus!='']") != null ){
  244. model.removeNodeset("/root/temp/answlist[answqestno='"+oldQestNo+"']");
  245. copyNodeListType("/root/temp", "/root/main/inqrdetlist/answ/answlist[answqestno='"+oldQestNo+"']", "after");
  246. }
  247. grd_allanswlist.refresh();
  248. model.makeValue("/root/send/savedata/inqrlist/answlist", grd_allanswlist.getUpdateDataAll(i));
  249. model.removeNodeset("/root/send/savedata/inqrlist/inqrheader");
  250. model.makeNode("/root/send/savedata/inqrlist/inqrheader");
  251. model.copyNode("/root/send/savedata/inqrlist/inqrheader" , "/root/main/inqrdetlist/inqrheader");
  252. if( !submit("TXMQP04002", true) ) return false;
  253. fInqrInit();
  254. //## 저장시 조회한 헤더 정보 셋팅 20100420 KHJ
  255. model.copyNode("/root/main/inqrdetlist/inqrheader", "/root/main/inqrinfo/inqrlist[" + grdpoplistRow + "]");
  256. if( submit("TRMQP04002", true) ){
  257. model.makeNode("/root/main/inqrdetlist/inqr");
  258. //## 답변 노드 생성 20100420 KHJ
  259. model.makeNode("/root/main/inqrdetlist/answ");
  260. copyNodeListType("/root/main/inqrdetlist/inqr", "/root/temp/inqrlist", "after");
  261. model.refresh();
  262. }
  263. }
  264. /*
  265. * @desc : 속성리스트에서 항목 복사시 질문번호와 답안 번호를 순서에 맞게 재배열
  266. * @
  267. * @param :
  268. * @return :
  269. * @author : 김영학 (2009. 02.28)
  270. * @---------------------------------------------------
  271. */
  272. function fAddInqrList() {
  273. var inqrnm = model.getValue("/root/main/inqrdetlist/inqrheader/inqrnm");
  274. if (isNull(inqrnm)) { // 문진을 새로 작성하는 경우
  275. model.copyNode("/root/main/inqrdetlist/inqrheader", "/root/temp/inqrheader");
  276. model.setValue("/root/main/inqrdetlist/inqrheader/inqrno" , ""); // 복사된 질문의 문진번호와 이력번호를 널값 처리 해준다.
  277. model.setValue("/root/main/inqrdetlist/inqrheader/inqrhistno" , "");
  278. var stepno = model.getValue("/root/main/inqrdetlist/inqrheader/stepno");
  279. fStepSetup() ;
  280. model.setValue("/root/main/inqrdetlist/inqrheader/stepno", stepno);
  281. }
  282. model.makeNode("/root/main/inqrdetlist/inqr");
  283. model.makeNode("/root/main/inqrdetlist/answ");
  284. var inqrList = instance1.selectNodes("/root/temp/inqrlist");
  285. if (inqrList.length > 0) {
  286. for (i =0; i < inqrList.length ; i++ ) {
  287. maxqestno = parseInt(maxqestno) + 1;
  288. inqrNode = inqrList.item(i);
  289. var inqrqestno = inqrNode.selectSingleNode("inqrqestno");
  290. var qestno = inqrqestno.text;
  291. for (j =0; j < grd_inqrlist.rows ; j++) {
  292. inqrqestno = model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + j + "]/inqrqestno");
  293. if (maxqestno > inqrqestno) {
  294. maxqestno = maxqestno;
  295. } else {
  296. maxqestno = parseInt(inqrqestno) + 1;
  297. }
  298. }
  299. model.setValue(inqrNode.selectSingleNode("inqrstatus"), "i");
  300. var inqrinqrqestno = model.getValue("/root/main/inqrdetlist/inqr/inqrlist[inqrqestno='" + inqrqestno + "']/inqrqestno");
  301. if (!isNull(inqrinqrqestno) ) {
  302. model.setValue(inqrNode.selectSingleNode("inqrqestno"), maxqestno);
  303. var anwList = instance1.selectNodes("/root/temp/answlist");
  304. for (k = 0 ; k < anwList.length; k++ ) {
  305. answNode = anwList.item(k);
  306. var answqestno = answNode.selectSingleNode("answqestno");
  307. var anqestno = answqestno.text;
  308. var tempanswqestno = answNode.selectSingleNode("tempanswqestno");
  309. var tempqestno = tempanswqestno.text;
  310. if (anqestno == qestno) {
  311. if (anqestno == tempqestno) {
  312. model.setValue(answNode.selectSingleNode("answqestno"), maxqestno);
  313. }
  314. }
  315. }
  316. }
  317. }
  318. }
  319. var anwList = instance1.selectNodes("/root/temp/answlist");
  320. for (k = 0 ; k < anwList.length; k++ ) {
  321. answNode = anwList.item(k);
  322. model.setValue(answNode.selectSingleNode("answstatus"), "I");
  323. }
  324. copyNodeListType("/root/main/inqrdetlist/inqr", "/root/temp/inqrlist", "after");
  325. copyNodeListType("/root/main/inqrdetlist/answ", "/root/temp/answlist", "after");
  326. model.setValue("/root/main/inqrdetlist/inqrheader/cpgno" , model.getValue("/root/main/cond/cpgno"));
  327. model.setValue("/root/main/inqrdetlist/inqrheader/cpghistseq" , model.getValue("/root/main/cond/cpghistseq"));
  328. model.refresh();
  329. // 추가된 값들은 insert 상태로 보이도록 하고 질문호와 이력번호는 header값과 같도록 셋팅해준다.
  330. for (i = 1; i < grd_inqrlist.rows ; i++) {
  331. var inqrstatus = model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + i + "]/inqrstatus");
  332. if (inqrstatus == "i") {
  333. model.setValue("/root/main/inqrdetlist/inqr/inqrlist[" + i + "]/inqrinqrno", model.getValue("/root/main/inqrdetlist/inqrheader/inqrno"));
  334. model.setValue("/root/main/inqrdetlist/inqr/inqrlist[" + i + "]/inqrinqrhistno", model.getValue("/root/main/inqrdetlist/inqrheader/inqrno"));
  335. grd_inqrlist.rowStatus(i) = 1;
  336. }
  337. }
  338. for (i = 1; i < grd_answlist.rows ; i++) {
  339. var answstatus = model.getValue("/root/main/inqrdetlist/answ/answlist[" + i + "]/answstatus");
  340. if (answstatus == "I") {
  341. model.setValue("/root/main/inqrdetlist/answ/answlist[" + i + "]/answinqrno", model.getValue("/root/main/inqrdetlist/inqrheader/inqrno"));
  342. model.setValue("/root/main/inqrdetlist/answ/answlist[" + i + "]/answinqrhistno", model.getValue("/root/main/inqrdetlist/inqrheader/inqrno"));
  343. grd_answlist.rowStatus(i) = 1;
  344. }
  345. }
  346. //설정된 스텝번호를 파라메터로 셋팅해서 outline의 아이콘 불이 들어오도록 (2009.04.14)
  347. setParameter("SPMQP00300_before_stepno", "0");
  348. setParameter("SPMQP00300_after_stepno", model.getValue("/root/main/inqrdetlist/inqrheader/stepno"));
  349. }
  350. /*
  351. * @desc : 그리드 refresh 후 rowstatus 초기화되는 현상에 대한 처리
  352. * @
  353. * @param :
  354. * @return :
  355. * @author : 전지은
  356. * @---------------------------------------------------
  357. */
  358. function fSetGrdRowStatus(grd) {
  359. var grdCtrl = document.controls(grd);
  360. if( grd == "grd_inqrlist" ){
  361. var ref1 = "/root/main/inqrdetlist/inqr/inqrlist";
  362. var ref2 = "/inqrstatus";
  363. }else if( grd == "grd_answlist" ){
  364. var ref1 = "/root/main/inqrdetlist/answ/answlist";
  365. var ref2 = "/answstatus";
  366. }
  367. for( var i=1; i<grdCtrl.rows; i++){
  368. if( model.getValue(ref1 + "[" + i + "]" + ref2) == "I" ){
  369. grdCtrl.rowStatus(i) = 1;
  370. }else if( model.getValue(ref1 + "[" + i + "]" + ref2) == "U" ){
  371. grdCtrl.rowStatus(i) = 2;
  372. }else if( model.getValue(ref1 + "[" + i + "]" + ref2) == "D" ){
  373. grdCtrl.rowStatus(i) = 4;
  374. }else{
  375. grdCtrl.rowStatus(i) = 0;
  376. }
  377. if( grd == "grd_answlist" ){
  378. if( model.getValue(ref1 + "[" + i + "]/answanswno") == "99999" ){
  379. model.setValue(ref1 + "[" + i + "]/answanswcnts", "(기타)");
  380. grd_answlist.rowstyle(i, "data", "color") = "#FF0000";
  381. }
  382. }
  383. }
  384. }
  385. /*
  386. * @desc : 답안을 추가한다.
  387. * @
  388. * @param :
  389. * @return :
  390. * @author : 전지은
  391. * @---------------------------------------------------
  392. */
  393. function fAddAnswList(pos){
  394. if( isNull(pos) ) pos = "S"; //B:bottom에 추가, S:Select Line에 추가
  395. if ( instance1.selectSingleNode("/root/main/inqrdetlist/inqr/inqrlist") == null ) {
  396. messageBox("질문이", "I004");
  397. return;
  398. }
  399. if ( grd_inqrlist.row <= 0 ) {
  400. messageBox("질문을", "C002");
  401. return;
  402. }
  403. var qestno = model.getValue(Inqr_Path + "/inqrlist["+ grd_inqrlist.row + "]/inqrqestno");
  404. var answno = grd_answlist.rows-1;
  405. var answflag = model.getValue("/root/main/inqrdetlist/inqr/inqrlist["+ grd_inqrlist.row + "]/inqranswflag");
  406. if ( answflag == "" ) {
  407. messageBox("답안속성을", "C002");
  408. return;
  409. }else if( answflag == "3" ){
  410. if( grd_answlist.rows - 1 >= 1 ){
  411. messageBox("입력답안의 수는 하나만", "I006");
  412. return;
  413. }
  414. }
  415. var inqrno = model.getValue("/root/main/inqrdetlist/inqrheader/inqrno");
  416. var inqrhistno = model.getValue("/root/main/inqrdetlist/inqrheader/inqrhistno");
  417. model.makeNode("/root/main/inqrdetlist/answ");
  418. if( pos == "B" ){
  419. copyNodeListType("/root/main/inqrdetlist/answ", "/root/main/inqrform/answlist", "after");
  420. answno++;
  421. model.setValue(Answ_Path + "/answlist["+ answno + "]/answstatus" , "I"); //상태값 셋팅 추가(JJE)
  422. model.setValue(Answ_Path + "/answlist["+ answno + "]/answqestno" , qestno);
  423. model.setValue(Answ_Path + "/answlist["+ answno + "]/asnwinqrno" , inqrno);
  424. model.setValue(Answ_Path + "/answlist["+ answno + "]/answinqrhistno" , inqrhistno);
  425. model.setValue(Answ_Path + "/answlist["+ answno + "]/answanswno" , "0"); //화면단에서 키를 지정해주는것이 명확하지 않아 저장 전 순차적으로 생성해줌(2009.05.19 JJE)
  426. }else if( pos == "S" ){
  427. // /root/main/tempanswlist
  428. }
  429. model.refresh();
  430. fSetGrdRowStatus("grd_answlist");
  431. }
  432. /*
  433. * @desc : 답안 중 기타속성으로 지정한다.
  434. * @
  435. * @param :
  436. * @return :
  437. * @author : 전지은
  438. * @---------------------------------------------------
  439. */
  440. function fInputFreetextAttr(){
  441. var iRow = grd_answlist.row;
  442. var answNo = model.getValue(Answ_Path + "/answlist[" + iRow + "]/answanswno");
  443. if( answNo == "99999" )
  444. model.setValue(Answ_Path + "/answlist[" + iRow + "]/answanswno", "0");
  445. else{
  446. var ftNode = instance1.selectSingleNode("/root/main/inqrdetlist/answ/answlist[answanswno!='"+answNo.text+"' and answanswno=99999]");
  447. if( ftNode != null ){
  448. messageBox("이미 기타 답안이 존재합니다.\n기타 답안은 1건만 입력", "I006");
  449. return;
  450. }
  451. model.setValue(Answ_Path + "/answlist[" + iRow + "]/answanswno", "99999");
  452. }
  453. if( model.getValue(Answ_Path + "/answlist[" + iRow + "]/answstatus") != "I" ){
  454. model.setValue(Answ_Path + "/answlist[" + iRow + "]/answstatus", "U");
  455. }
  456. fSetGrdRowStatus("grd_answlist");
  457. }
  458. function fSetQestNo(){
  459. var NodeList = instance1.selectNodes(Inqr_Path + "/inqrlist");
  460. var AnswList = null;
  461. if( NodeList.length > 0 ){
  462. var qestCnt = 0;
  463. var iQestCnt = 0;
  464. for (var i = 1 ; i <= NodeList.length ; i++ ) {
  465. var iStatus = model.getValue(Inqr_Path + "/inqrlist["+ i + "]/inqrstatus");
  466. var iQestNo = model.getValue(Inqr_Path + "/inqrlist["+ i + "]/inqrqestno");
  467. if( iStatus == "D" ){
  468. iQestCnt = 0;
  469. //답안데이터의 질문번호 변경
  470. AnswList = instance1.selectNodes("/root/temp/answlist[answqestno='" + iQestNo + "']");
  471. if( AnswList.length > 0 ){
  472. for (var j = 0 ; j < AnswList.length ; j++ ) {
  473. var node = AnswList.item(j);
  474. model.setValue(node.selectSingleNode("answqestno"), 0);
  475. model.setValue(node.selectSingleNode("answstatus"), "D");
  476. }
  477. }
  478. }else{
  479. qestCnt++;
  480. iQestCnt = qestCnt;
  481. //답안데이터의 질문번호 변경
  482. AnswList = instance1.selectNodes("/root/temp/answlist[answqestno='" + iQestNo + "']");
  483. if( AnswList.length > 0 ){
  484. for (var j = 0 ; j < AnswList.length ; j++ ) {
  485. var node = AnswList.item(j);
  486. model.setValue(node.selectSingleNode("answqestno"), iQestCnt);
  487. if( node.selectSingleNode("answstatus").text != "I" )
  488. model.setValue(node.selectSingleNode("answstatus"), "");
  489. }
  490. }
  491. }
  492. //질문데이터의 질문번호 변경
  493. model.setValue(Inqr_Path + "/inqrlist["+ i + "]/inqrqestno", iQestCnt);
  494. } //end for
  495. } //end check
  496. }
  497. /*
  498. * @desc : 답안 중 기타속성으로 지정한다.
  499. * @
  500. * @param :
  501. * @return :
  502. * @author : 전지은
  503. * @---------------------------------------------------
  504. */
  505. function fChngInqrflag(){
  506. var inqrflag = model.getValue("/root/main/inqrdetlist/inqrheader/inqrflag");
  507. if( isNull(inqrflag) || instance1.selectSingleNode("/root/init/M0516/M0516[cdid='"+inqrflag+"']") != null ) {
  508. rdo_popstart.disabled = false;
  509. btn_addqest.disabled = false;
  510. btn_delqest.disabled = false;
  511. btn_addansw.disabled = false;
  512. btn_delansw.disabled = false;
  513. cap_detl_inqrflag.visible = false;
  514. }else{
  515. model.setValue("/root/main/inqrdetlist/inqrheader/pntmflag", "1"); //퇴원예고
  516. model.removeNodeset("/root/main/inqrdetlist/inqr/inqrlist");
  517. model.removeNodeset("/root/main/inqrdetlist/answ/answlist");
  518. rdo_popstart.refresh();
  519. grd_inqrlist.refresh();
  520. grd_answlist.refresh();
  521. rdo_popstart.disabled = true;
  522. btn_addqest.disabled = true;
  523. btn_delqest.disabled = true;
  524. btn_addansw.disabled = true;
  525. btn_delansw.disabled = true;
  526. cap_detl_inqrflag.visible = true;
  527. }
  528. }
  529. ]]>
  530. </script>
  531. </xhtml:head>
  532. <xhtml:body>
  533. <button id="btn_addqest" class="btn2_letter4" disable.background-image="../../../com/commonweb/images/dis_btn2_letter2.gif" style="left:346px; top:231px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn2_letter2.gif; ">
  534. <caption>질문추가</caption>
  535. <script type="javascript" ev:event="DOMActivate">
  536. <![CDATA[
  537. var qestno = grd_inqrlist.rows -1;
  538. var inqrno = model.getValue("/root/main/inqrdetlist/inqrheader/inqrno");
  539. var inqrhistno = model.getValue("/root/main/inqrdetlist/inqrheader/inqrhistno");
  540. model.makeNode("/root/main/inqrdetlist/inqr");
  541. copyNodeListType("/root/main/inqrdetlist/inqr", "/root/main/inqrform/inqrlist", "after");
  542. qestno++;
  543. model.setValue(Inqr_Path + "/inqrlist["+ qestno + "]/inqrstatus", "I"); //입력시 상태값 추가(JJE)
  544. model.setValue(Inqr_Path + "/inqrlist["+ qestno + "]/inqrqestno", "0"); //화면단에서 키를 지정해주는것이 명확하지 않아 저장 전 순차적으로 생성해줌(2009.05.19 JJE)
  545. model.setValue(Inqr_Path + "/inqrlist["+ qestno + "]/inqrinqrno", inqrno);
  546. model.setValue(Inqr_Path + "/inqrlist["+ qestno + "]/inqrinqrhistno", inqrhistno);
  547. fSetQestNo(); //질문 상태 변경에 따른, 답안 상태 동시 변경 처리 (2010.04.12)
  548. model.refresh();
  549. fSetGrdRowStatus("grd_inqrlist");
  550. ]]>
  551. </script>
  552. </button>
  553. <datagrid id="grd_poplist" nodeset="/root/main/inqrinfo/inqrlist" caption="제목^Guideline" colsep="^" colwidth="296, 425" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="listbox" style="left:0px; top:23px; width:725px; height:106px; ">
  554. <col ref="title"/>
  555. <col ref="guide"/>
  556. <script type="javascript" ev:event="onmousedown">
  557. <![CDATA[
  558. if (isDataCell() == true) {
  559. setPopupMenu("grd_poplist", false, "/root/main/inqrmenulist/menu/item", "name", "func");
  560. }
  561. ]]>
  562. </script>
  563. <script type="javascript" ev:event="DOMFocusOut">
  564. <![CDATA[
  565. window.setPopupMenu(false);
  566. ]]>
  567. </script>
  568. <script type="javascript" ev:event="ondblclick">
  569. <![CDATA[
  570. grdpoplistRow = grd_poplist.row;
  571. if (isDataCell() == true) {
  572. model.removenode("/root/main/inqrdetlist");
  573. model.makeNode("/root/main/inqrdetlist/inqrheader");
  574. model.makeNode("/root/main/inqrdetlist/inqr");
  575. model.makeNode("/root/main/inqrdetlist/answ");
  576. var iRow = grd_poplist.row;
  577. var inqrno = model.getValue("/root/main/inqrinfo/inqrlist[" + iRow + "]/inqrno");
  578. var inqrhistno = model.getValue("/root/main/inqrinfo/inqrlist[" + iRow + "]/inqrhistno");
  579. model.copyNode("/root/main/inqrdetlist/inqrheader", "/root/main/inqrinfo/inqrlist[" + iRow + "]");
  580. if( submit("TRMQP04002", false) ){
  581. copyNodeListType("/root/main/inqrdetlist/inqr", "/root/temp/inqrlist", "after");
  582. //copyNodeListType("/root/main/inqrdetlist/answ", "/root/temp/answlist", "after");
  583. //fChngInqrflag();
  584. model.refresh();
  585. }
  586. }
  587. ]]>
  588. </script>
  589. </datagrid>
  590. <line id="line10" class="line_1" style="x1:0px; y1:148px; x2:725px; y2:148px; "/>
  591. <select1 id="cmb_inqrstepno" ref="/root/main/inqrdetlist/inqrheader/stepno" navindex="1" appearance="minimal" style="left:517px; top:208px; width:208px; height:19px; ">
  592. <choices>
  593. <itemset nodeset="/root/init/stepinfo/info">
  594. <label ref="stepnm"/>
  595. <value ref="stepno"/>
  596. </itemset>
  597. </choices>
  598. </select1>
  599. <caption id="caption1" class="cell_1" style="left:0px; top:153px; width:85px; height:23px; ">제목</caption>
  600. <button id="btn_delansw" class="btn2_letter2" disable.background-image="../../../com/commonweb/images/dis_btn2_letter2.gif" style="left:683px; top:231px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn2_letter2.gif; ">
  601. <caption>삭제</caption>
  602. <script type="javascript" ev:event="DOMActivate">
  603. <![CDATA[
  604. //선택여부 체크 추가(JJE)
  605. var iRow = grd_answlist.row;
  606. if ( iRow <= 0 ) {
  607. messageBox("삭제할 항목을", "C002");
  608. return;
  609. }
  610. //저장하지 않은 항목까지 'D' 처리하므로 직접삭제하도록 변경(JJE)
  611. for (var i = grd_answlist.selectedRows-1 ; i >=0 ; i--) {
  612. if( model.getValue("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.selectedRow(i) + "]/answstatus") == "I" ){
  613. model.removeNodeset("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.selectedRow(i) + "]");
  614. }else if( model.getValue("/root/main/inqrdetlist/answ/answlist[" + iRow + "]/answstatus") == "D" ){
  615. model.setValue("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.selectedRow(i) + "]/answstatus", "");
  616. }else{
  617. model.setValue("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.selectedRow(i) + "]/answstatus", "D");
  618. }
  619. }
  620. grd_answlist.refresh();
  621. fSetGrdRowStatus("grd_answlist");
  622. // model.removenode("/root/send/savedata/inqrlist/answlist");
  623. // model.removenode("/root/send/savedata/inqrlist/inqrlist");
  624. // model.makeValue("/root/send/savedata/inqrlist/answlist", grd_answlist.getUpdateData());
  625. // model.makeValue("/root/send/savedata/inqrlist/answlist", grd_answlist.getUpdateDataAll(i));
  626. // grd_answlist.
  627. // model.removenode("/root/main/inqrdetlist");
  628. // submit("TXMQP04003");
  629. // model.refresh();
  630. ]]>
  631. </script>
  632. </button>
  633. <caption id="caption11" class="cell_1" style="left:430px; top:206px; width:85px; height:23px; ">선택 STEP</caption>
  634. <caption id="caption2" class="tit_2" style="left:2px; top:4px; width:142px; height:14px; ">팝업리스트</caption>
  635. <caption id="caption3" class="cell_1" style="left:0px; top:206px; width:85px; height:23px; ">팝업시점</caption>
  636. <caption id="caption13" class="tit_2" style="left:0px; top:134px; width:142px; height:13px; ">팝업작성</caption>
  637. <caption id="caption4" class="cell_1" style="left:0px; top:180px; width:85px; height:23px; ">용도</caption>
  638. <line id="line2" class="line_2" style="x1:0px; y1:178px; x2:725px; y2:178px; "/>
  639. <line id="line3" class="line_1" style="x1:0px; y1:18px; x2:725px; y2:18px; "/>
  640. <select1 id="rdo_popstart" ref="/root/main/inqrdetlist/inqrheader/pntmflag" navindex="4" appearance="full" cellspacing="10" cols="3" overflow="visible" style="left:87px; top:208px; width:338px; height:20px; border-style:none; ">
  641. <choices>
  642. <itemset nodeset="/root/init/M0515/M0515">
  643. <label ref="cdnm"/>
  644. <value ref="cdid"/>
  645. </itemset>
  646. </choices>
  647. <script type="javascript" ev:event="xforms-value-changed">
  648. <![CDATA[
  649. fStepSetup() ;
  650. ]]>
  651. </script>
  652. </select1>
  653. <button id="btn_addansw" class="btn2_letter4" disable.background-image="../../../com/commonweb/images/dis_btn2_letter2.gif" style="left:616px; top:231px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn2_letter2.gif; ">
  654. <caption>답안추가</caption>
  655. <script type="javascript" ev:event="DOMActivate">
  656. <![CDATA[
  657. fAddAnswList("B");
  658. ]]>
  659. </script>
  660. </button>
  661. <line id="line5" class="line_2" style="x1:0px; y1:204px; x2:725px; y2:204px; "/>
  662. <datagrid id="grd_inqrlist" nodeset="/root/main/inqrdetlist/inqr/inqrlist" caption="status^inqrno^inqrhistno^번호^질문^답안속성^answessyn^limno^limhistno^limcdno^setattrno^setattrhistno" colsep="^" colwidth="0, 0, 0, 40, 296, 80,0,0,0,0,0,0" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" navindex="5" style="left:0px; top:252px; width:455px; height:208px; ">
  663. <col ref="inqrstatus" visibility="hidden"/>
  664. <col ref="inqrinqrno" visibility="hidden"/>
  665. <col ref="inqrinqrhistno" visibility="hidden"/>
  666. <col ref="inqrqestno" type="output"/>
  667. <col ref="inqrqestcnts" type="input"/>
  668. <col ref="inqranswflag" type="combo">
  669. <choices>
  670. <itemset nodeset="/root/init/M0518/M0518">
  671. <label ref="cdnm"/>
  672. <value ref="cdid"/>
  673. </itemset>
  674. </choices>
  675. </col>
  676. <col ref="inqranswessyn" visibility="hidden"/>
  677. <col ref="inqrlimno" visibility="hidden"/>
  678. <col ref="inqrlimhistno" visibility="hidden"/>
  679. <col ref="inqrlimcdno" visibility="hidden"/>
  680. <col ref="inqrsetattrno" visibility="hidden"/>
  681. <col ref="inqrsetattrhistno" visibility="hidden"/>
  682. <script type="javascript" ev:event="onclick">
  683. <![CDATA[
  684. //선택 질문에 대한 답리스트만 가져오도록 추가(JJE)
  685. if( oldQestNo > 0 && instance1.selectSingleNode("/root/main/inqrdetlist/answ/answlist[answstatus!='']") != null ){
  686. model.removeNodeset("/root/temp/answlist[answqestno='"+oldQestNo+"']");
  687. var etcAnswCntsNode = instance1.selectSingleNode("/root/main/inqrdetlist/answ/answlist[answanswno='99999']/answanswcnts");
  688. if( etcAnswCntsNode != null ) model.setValue(etcAnswCntsNode, "");
  689. copyNodeListType("/root/temp", "/root/main/inqrdetlist/answ/answlist[answqestno='"+oldQestNo+"']", "after");
  690. }
  691. model.removeNodeset("/root/main/inqrdetlist/answ/answlist");
  692. if( grd_inqrlist.row >= 1 && grd_inqrlist.row <= grd_inqrlist.rows ){
  693. var qestNo = model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.row + "]/inqrqestno");
  694. oldQestNo = qestNo;
  695. copyNodeListType("/root/main/inqrdetlist/answ", "/root/temp/answlist[answqestno='"+qestNo+"']", "after");
  696. grd_answlist.refresh();
  697. fSetGrdRowStatus("grd_answlist");
  698. }
  699. ]]>
  700. </script>
  701. <script type="javascript" ev:event="xforms-value-changed">
  702. <![CDATA[
  703. //alert( grd_inqrlist.col ); // 4, 6
  704. var iRow = grd_inqrlist.row;
  705. if( grd_inqrlist.col = grd_inqrlist.colRef("inqranswflag") ){
  706. var answflag = model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + iRow + "]/inqranswflag");
  707. var answNodes = instance1.selectNodes("/root/main/inqrdetlist/answ/answlist");
  708. if(answflag == "3" ){
  709. if( answNodes.length <= 0 ){
  710. model.removeNodeset("/root/main/inqrdetlist/answ/answlist");
  711. fAddAnswList("B");
  712. }
  713. }
  714. }
  715. ]]>
  716. </script>
  717. </datagrid>
  718. <select1 id="rdo_mthd" ref="/root/main/inqrdetlist/inqrheader/inqrflag" navindex="3" appearance="full" cellspacing="5" cols="5" overflow="visible" style="left:127px; top:182px; width:222px; height:20px; border-style:none; ">
  719. <choices>
  720. <itemset nodeset="/root/init/M0516/M0516">
  721. <label ref="cdnm"/>
  722. <value ref="cdid"/>
  723. </itemset>
  724. </choices>
  725. <script type="javascript" ev:event="xforms-value-changed">
  726. <![CDATA[
  727. //fChngInqrflag();
  728. ]]>
  729. </script>
  730. </select1>
  731. <input id="ipt_title" ref="/root/main/inqrdetlist/inqrheader/inqrnm" class="input_essential" navindex="2" style="left:87px; top:155px; width:637px; height:19px; "/>
  732. <datagrid id="grd_answlist" nodeset="/root/main/inqrdetlist/answ/answlist" caption="status^inqrno^inqrhistno^질문번호^번호^답안^" colsep="^" colwidth="0, 0, 0, 3, 0, 226" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" navindex="5" style="left:460px; top:252px; width:265px; height:208px; ">
  733. <col ref="answstatus" visibility="hidden"/>
  734. <col ref="answinqrno" visibility="hidden"/>
  735. <col ref="answinqrhistno" visibility="hidden"/>
  736. <col ref="answqestno" type="output" visibility="hidden"/>
  737. <col ref="answanswno" visibility="hidden"/>
  738. <col ref="answanswcnts" type="input"/>
  739. <script type="javascript" ev:event="onmousedown">
  740. <![CDATA[
  741. if(event.button == 3){
  742. grd_answlist.row = grd_answlist.mouseRow;
  743. event.preventDefault();
  744. window.setPopupMenu(true, "/root/main/inqrmenulist/menu2/item", "name", "func", false);
  745. }
  746. ]]>
  747. </script>
  748. <script type="javascript" ev:event="DOMFocusOut">
  749. <![CDATA[
  750. window.setPopupMenu(false);
  751. ]]>
  752. </script>
  753. <script type="javascript" ev:event="xforms-value-changed">
  754. <![CDATA[
  755. if ( model.getValue("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.row + "]/answstatus") == "" ) {
  756. model.setValue("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.row + "]/answstatus", "U");
  757. }
  758. ]]>
  759. </script>
  760. </datagrid>
  761. <button id="btn_delqest" class="btn2_letter2" disable.background-image="../../../com/commonweb/images/dis_btn2_letter2.gif" style="left:413px; top:231px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn2_letter2.gif; ">
  762. <caption>삭제</caption>
  763. <script type="javascript" ev:event="DOMActivate">
  764. <![CDATA[
  765. //선택여부 체크 추가(JJE)
  766. var iRow = grd_inqrlist.row;
  767. if ( iRow <= 0 ) {
  768. messageBox("삭제할 항목을", "C002");
  769. return;
  770. }
  771. //저장하지 않은 항목까지 'D' 처리하므로 직접삭제하도록 변경(JJE)
  772. for (var i = grd_inqrlist.selectedRows-1 ; i >=0 ; i--) {
  773. var iStatus = model.getValue(Inqr_Path + "/inqrlist["+ grd_inqrlist.selectedRow(i) + "]/inqrstatus");
  774. var iQestNo = model.getValue(Inqr_Path + "/inqrlist["+ grd_inqrlist.selectedRow(i) + "]/inqrqestno");
  775. if( model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.selectedRow(i) + "]/inqrstatus") == "I" ){
  776. //답안도 함께 물리적 삭제
  777. model.removeNodeset("/root/temp/answlist[answqestno='"+iQestNo+"']");
  778. model.removeNodeset("/root/main/inqrdetlist/answ/answlist[answqestno='"+iQestNo+"']");
  779. //질문 삭제
  780. model.removeNodeset("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.selectedRow(i) + "]");
  781. }else if( model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.selectedRow(i) + "]/inqrstatus") == "D" ){
  782. model.setValue("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.selectedRow(i) + "]/inqrstatus", "");
  783. }else{
  784. model.setValue("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.selectedRow(i) + "]/inqrstatus", "D");
  785. }
  786. }
  787. grd_inqrlist.refresh();
  788. fSetQestNo(); //질문 상태 변경에 따른, 답안 상태 동시 변경 처리 (2010.04.12)
  789. grd_inqrlist.refresh();
  790. grd_answlist.refresh();
  791. fSetGrdRowStatus("grd_inqrlist");
  792. fSetGrdRowStatus("grd_answlist");
  793. // model.removenode("/root/send/savedata/inqrlist/answlist");
  794. // model.removenode("/root/send/savedata/inqrlist/inqrlist");
  795. // model.makeValue("/root/send/savedata/inqrlist/inqrlist", grd_inqrlist.getUpdateData());
  796. // model.removenode("/root/main/inqrdetlist");
  797. // submit("TXMQP04003");
  798. ]]>
  799. </script>
  800. </button>
  801. <line id="line1" class="line_2" style="x1:0px; y1:229px; x2:725px; y2:229px; "/>
  802. <button id="button3" class="btn2_letter2" disable.background-image="../../../com/commonweb/images/dis_btn2_letter2.gif" style="left:683px; top:129px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn2_letter2.gif; ">
  803. <caption>신규</caption>
  804. <script type="javascript" ev:event="DOMActivate">
  805. <![CDATA[
  806. grdpoplistRow = grd_poplist.rows;
  807. model.removenode("/root/main/inqrdetlist");
  808. model.removenode("/root/temp");
  809. model.makeNode("/root/main/inqrdetlist/inqrheader")
  810. model.makeNode("/root/main/inqrdetlist/inqr");
  811. model.makeNode("/root/main/inqrdetlist/answ");
  812. model.copyNode("/root/main/inqrdetlist/inqrheader", "/root/main/inqrform/inqrheader");
  813. model.makeNode("/root/temp");
  814. model.refresh();
  815. rdo_popstart.disabled = false;
  816. btn_addqest.disabled = false;
  817. btn_delqest.disabled = false;
  818. btn_addansw.disabled = false;
  819. btn_delansw.disabled = false;
  820. ]]>
  821. </script>
  822. </button>
  823. <datagrid id="grd_allanswlist" nodeset="/root/temp/answlist" visibility="hidden" caption="status^inqrno^inqrhistno^질문번호^번호^답안^" colsep="^" colwidth="0, 0, 0, 58, 0, 167" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" navindex="5" style="left:460px; top:365px; width:265px; height:95px; ">
  824. <col ref="answstatus" visibility="hidden"/>
  825. <col ref="answinqrno" visibility="hidden"/>
  826. <col ref="answinqrhistno" visibility="hidden"/>
  827. <col ref="answqestno" type="output"/>
  828. <col ref="answanswno" visibility="hidden"/>
  829. <col ref="answanswcnts" type="output"/>
  830. </datagrid>
  831. <caption id="caption5" class="cell_1" style="left:87px; top:180px; width:40px; height:23px; ">일반</caption>
  832. <caption id="caption6" class="cell_1" style="left:349px; top:180px; width:77px; height:23px; ">
  833. <![CDATA[미발행 사유]]>
  834. <hint>
  835. <![CDATA[평가용 CPG에서, 퇴원예고시 미발행 사유를 입력받아야 할 경우 제목과 용도를 등록하셔야 합니다.]]>
  836. </hint>
  837. </caption>
  838. <select1 id="rdo_mthd2" ref="/root/main/inqrdetlist/inqrheader/inqrflag" navindex="3" appearance="full" cellspacing="5" cols="2" overflow="visible" style="left:426px; top:182px; width:297px; height:20px; border-style:none; ">
  839. <choices>
  840. <itemset nodeset="/root/init/M0516_2/M0516">
  841. <label ref="cdnm"/>
  842. <value ref="cdid"/>
  843. </itemset>
  844. </choices>
  845. <script type="javascript" ev:event="xforms-value-changed">
  846. <![CDATA[
  847. //fChngInqrflag();
  848. ]]>
  849. </script>
  850. </select1>
  851. <caption id="cap_detl_inqrflag" visibility="hidden" style="left:0px; top:435px; width:445px; height:25px; font-weight:bold; ">
  852. <![CDATA[평가용 CPG에서, 퇴원예고시 미발행 사유를 입력받아야 할 경우
  853. 제목과 용도를 등록합니다.
  854. 질문과 답은 따로 작성하지 않습니다.
  855. 퇴원예고 시 문진 팝업에
  856. 각 스텝의 프로토콜에 입력된 필수처방과, 구간에 등록된 선택필수 처방이
  857. 자동으로 질문/답 형식으로 구성됩니다.]]>
  858. </caption>
  859. </xhtml:body>
  860. </xhtml:html>