SMLPC02800_검사항목조회등록.xrw 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLPC02800_검사항목조회등록.xrw
  4. * 설 명 : 검사항목조회화면등록 화면
  5. * 설 계 자 : (주)에이씨케이 - 황상미
  6. * 작 성 자 : (주)에이씨케이 - 황상미
  7. * 작 성 일 : 2007.01.09
  8. * 수정이력 : 2007.03.03 - 유동철
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  12. <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">
  13. <xhtml:head>
  14. <xhtml:title>검사항목조회등록</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <lrgcdlist>
  20. <lrgcdinfo>
  21. <choi/>
  22. <instcd/>
  23. <baseflagcd/>
  24. <baseflagnm/>
  25. </lrgcdinfo>
  26. </lrgcdlist>
  27. <mdlcdlist>
  28. <mdlcdinfo>
  29. <choi/>
  30. <instcd/>
  31. <baseflagcd/>
  32. <resncd/>
  33. <resncnts/>
  34. <mdlflagcd/>
  35. </mdlcdinfo>
  36. </mdlcdlist>
  37. <smlcdlist>
  38. <smlcdinfo>
  39. <choi/>
  40. <instcd/>
  41. <baseflagcd/>
  42. <dispseqno/>
  43. <resncd/>
  44. <resncnts/>
  45. <smlflagcd/>
  46. <delyn/>
  47. </smlcdinfo>
  48. </smlcdlist>
  49. </main>
  50. <send>
  51. <instcd/>
  52. </send>
  53. <init>
  54. <testcodecnts>
  55. <testcodelist>
  56. <choi/>
  57. <instcd/>
  58. <testcd/>
  59. <testnm/>
  60. <testabbr/>
  61. <workflagcd/>
  62. <workkindcd/>
  63. <delyn/>
  64. </testcodelist>
  65. </testcodecnts>
  66. <popupmenu>
  67. <item>
  68. <name>선택</name>
  69. <func>fSelectList</func>
  70. </item>
  71. <item>
  72. <name>해제</name>
  73. <func>fDeSelectList</func>
  74. </item>
  75. </popupmenu>
  76. </init>
  77. <hidden>
  78. </hidden>
  79. </root>
  80. </instance>
  81. <bind id="detl_initialinfo" ref="/root/main/detlinitialcnts"/>
  82. <bind id="bind_output1" ref="/root/main/detlinitialcnts"/>
  83. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  84. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  85. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  86. <script type="javascript" ev:event="xforms-ready">
  87. <![CDATA[
  88. fExeInitialize();
  89. ]]>
  90. </script>
  91. <!-- public Script end -->
  92. <bind id="bind_input5" ref="/root/main/detlinitialcnts/instcd"/>
  93. <submission id="TRLPC02801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/lrgcdlist/lrgcdinfo"/>
  94. <submission id="TRLPC02802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/mdlcdlist/mdlcdinfo"/>
  95. <submission id="TRLPC02803" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/smlcdlist/smlcdinfo"/>
  96. <submission id="TRLPC02804" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/testcodecnts/testcodelist"/>
  97. <submission id="TXLPC02801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden"/>
  98. </model>
  99. <script type="javascript">
  100. <![CDATA[
  101. /* @group : 검사항목조회화면등록 화면
  102. * @ver : 2007.01.09 (CMCDEV-0001)
  103. * @by : 황상미(ACK)
  104. * @-----------------------------------
  105. * @type : function
  106. * @access : public
  107. * @desc : 화면초기화 함수
  108. */
  109. function fExeInitialize(){
  110. //----------------------
  111. // 전체 검사코드목록 조회
  112. model.removeNodeset("/root/send");
  113. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  114. model.makeValue("/root/send/delflagcd", "0");
  115. model.makeValue("/root/send/workflagcd", "-");
  116. model.makeValue("/root/send/workkindcd", "-");
  117. submit("TRLPC02804", false);
  118. //------------------
  119. // 작업구분목록 조회
  120. //submit("TRLPZ00104");
  121. //대분류 조회.
  122. fGetRefData();
  123. model.removeNodeset("/root/main/mdlcdlist/mdlcdinfo"); //중분류클리어
  124. model.removeNodeset("/root/main/smlcdlist/smlcdinfo"); //소분류클리어
  125. //------------------------------------------------------
  126. model.removeNodeset("/root/main/settingcnts/settinglist");
  127. //-------------
  128. model.refresh();
  129. }
  130. /* @group : 검사항목조회화면등록 화면
  131. * @ver : 2007.03.03 (CMCDEV-0001)
  132. * @by : 유동철(ACK)
  133. * @-----------------------------------
  134. * @type : function
  135. * @access : public
  136. * @desc : 작업구분에 따른 작업종류 검색 함수
  137. */
  138. function fGetReasonList() {
  139. model.removeNodeset("/root/send");
  140. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  141. model.makeValue("/root/send/baseflagcd", "'"+model.getValue("/root/hidden/refflag/workflagcd")+"'");
  142. submit("TRLPZ00103");
  143. model.removeNodeset("/root/init/resncd/resncdlist[resncd='ZZZZ']");
  144. cmb_workkind.refresh();
  145. }
  146. /* @group : 검사항목조회화면등록 화면
  147. * @ver : 2007.03.03 (CMCDEV-0001)
  148. * @by : 유동철(ACK)
  149. * @-----------------------------------
  150. * @type : function
  151. * @access : public
  152. * @desc : 서분류목록에 검사코드 추가 및 삭제
  153. */
  154. function fExeDataAddDel(pFlagCd) {
  155. var iRowNo = 0;
  156. var iSmlCdNo = 1;
  157. var iCurNo = 1;
  158. var sUsedYN = "Y";
  159. var iMaxNo = 1;
  160. if(pFlagCd == "DEL") {
  161. //행삭제
  162. iRowNo = grd_smlcd.findRow("true", 0, grd_smlcd.colRef("choi"), true, true);
  163. if(iRowNo <= 0) {
  164. messageBox("삭제할 소분류 항목을 선택하여 주세요", "I999");
  165. return;
  166. }
  167. grd_smlcd.deleteRow(iRowNo);
  168. fGetTestCdList("CLEAR");
  169. /*
  170. model.removeNodeset("/root/send");
  171. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  172. model.makeValue("/root/send/baseflagcd", model.getValue("/root/main/smlcdlist/smlcdinfo["+ iRowNo+"]/baseflagcd"));
  173. model.makeValue("/root/send/resncnts", model.getValue("/root/main/smlcdlist/smlcdinfo["+ iRowNo +"]/resncnts"));
  174. model.makeValue("/root/send/resncd", model.getValue("/root/main/smlcdlist/smlcdinfo["+ iRowNo+"]/resncd"));
  175. model.makeValue("/root/send/adddelflag", "DEL");
  176. */
  177. } else if(pFlagCd == "ADD"){
  178. //행추가
  179. iRowNo = grd_mdlcd.findRow("true", 0, grd_mdlcd.colRef("choi"), true, true);
  180. if(iRowNo <= 0) {
  181. messageBox("중분류 항목을 선택하여 주세요", "I999");
  182. return;
  183. }
  184. grd_smlcd.addRow(false);
  185. for(var iNo = 1 ; iNo <= getNodesetCount("/root/main/smlcdlist/smlcdinfo") ; iNo++) {
  186. iCurNo = Number(model.getValue("/root/main/smlcdlist/smlcdinfo["+ iNo +"]/smlflagcd"));
  187. iCurNo = iCurNo+1;
  188. //현재값 +1 을 이미 사용하고 있는지 확인한다.
  189. for(var iNo2 = 1 ; iNo2 < grd_smlcd.rows ; iNo2++) {
  190. if(iCurNo == Number(model.getValue("/root/main/smlcdlist/smlcdinfo["+ iNo2 +"]/smlflagcd"))) {
  191. sUsedYN = "Y";
  192. break;
  193. }
  194. if(iNo2 == (grd_smlcd.rows-1)) {
  195. sUsedYN = "N";
  196. iSmlCdNo = iCurNo-1;
  197. }
  198. }
  199. if(sUsedYN == "N") {
  200. break;
  201. }
  202. //맥스 값을 구한다.
  203. if(iMaxNo < Number(model.getValue("/root/main/smlcdlist/smlcdinfo["+ iNo +"]/smlflagcd"))) {
  204. iMaxNo = Number(model.getValue("/root/main/smlcdlist/smlcdinfo["+ iNo +"]/smlflagcd"));
  205. }
  206. if(iNo == (grd_smlcd.rows-1)) {
  207. iSmlCdNo = iMaxNo;
  208. }
  209. }
  210. iSmlCdNo = iSmlCdNo+1;
  211. if(iSmlCdNo > 9) {
  212. model.setValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/smlflagcd", iSmlCdNo);
  213. } else {
  214. model.setValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/smlflagcd", "0" + iSmlCdNo);
  215. }
  216. model.setValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/instcd", model.getValue("/root/main/mdlcdlist/mdlcdinfo["+ iRowNo +"]/instcd"));
  217. model.setValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/baseflagcd", model.getValue("/root/main/mdlcdlist/mdlcdinfo["+ iRowNo +"]/baseflagcd"));
  218. model.setValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/resncd",
  219. model.getValue("/root/main/mdlcdlist/mdlcdinfo["+ iRowNo +"]/mdlflagcd") + model.getValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/smlflagcd"));
  220. /*
  221. model.removeNodeset("/root/send");
  222. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  223. model.makeValue("/root/send/baseflagcd", model.getValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/baseflagcd"));
  224. model.makeValue("/root/send/resncnts", model.getValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/resncnts"));
  225. model.makeValue("/root/send/resncd", model.getValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/resncd"));
  226. model.makeValue("/root/send/adddelflag", "ADD");
  227. */
  228. }
  229. }
  230. /* @group : 검사항목조회화면등록 화면
  231. * @ver : 2007.03.03 (CMCDEV-0001)
  232. * @by : 유동철(ACK)
  233. * @-----------------------------------
  234. * @type : function
  235. * @access : public
  236. * @desc : 설정목록 검색 함수
  237. */
  238. function fGetRefData() {
  239. model.removeNodeset("/root/send");
  240. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  241. model.makeValue("/root/send/delflagcd", "0");
  242. model.makeValue("/root/send/frombaseflagcd", "ZA");
  243. model.makeValue("/root/send/tobaseflagcd", "ZZ");
  244. submit("TRLPC02801");
  245. }
  246. /* @group : 검사항목조회화면등록 화면
  247. * @ver : 2007.03.03 (CMCDEV-0001)
  248. * @by : 유동철(ACK)
  249. * @-----------------------------------
  250. * @type : function
  251. * @access : public
  252. * @desc : 중분류조회
  253. */
  254. function fGetMdlData() {
  255. var iRowNo = grd_lrgcd.findRow("true", 0, grd_lrgcd.colRef("choi"), true, true);
  256. model.removeNodeset("/root/send");
  257. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  258. model.makeValue("/root/send/delflagcd", "0");
  259. //model.makeValue("/root/send/baseflagcd", model.getValue("/root/main/lrgcdlist/lrgcdinfo[choi = true]/baseflagcd"));
  260. //model.makeValue("/root/send/resncd", model.getValue("/root/main/lrgcdlist/lrgcdinfo[choi = true]/baseflagcd"));
  261. model.makeValue("/root/send/baseflagcd", model.getValue("/root/main/lrgcdlist/lrgcdinfo["+ iRowNo +"]/baseflagcd"));
  262. model.makeValue("/root/send/resncd", model.getValue("/root/main/lrgcdlist/lrgcdinfo["+ iRowNo +"]/baseflagcd"));
  263. model.makeValue("/root/send/seaflag", "M");
  264. submit("TRLPC02802");
  265. }
  266. /* @group : 검사항목조회화면등록 화면
  267. * @ver : 2007.03.03 (CMCDEV-0001)
  268. * @by : 유동철(ACK)
  269. * @-----------------------------------
  270. * @type : function
  271. * @access : public
  272. * @desc : 검사코드조회
  273. */
  274. function fGetTestCdList(pFlagcd) {
  275. if(pFlagcd == "GET") {
  276. var iRowNo = grd_smlcd.findRow("true", 0, grd_smlcd.colRef("choi"), true, true);
  277. model.removeNodeset("/root/send");
  278. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  279. model.makeValue("/root/send/workflagcd", model.getValue("/root/main/smlcdlist/smlcdinfo["+ iRowNo +"]/baseflagcd"));
  280. model.makeValue("/root/send/workkindcd", model.getValue("/root/main/smlcdlist/smlcdinfo["+ iRowNo +"]/resncd"));
  281. } else {
  282. model.removeNodeset("/root/send");
  283. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  284. model.makeValue("/root/send/workflagcd", "-");
  285. model.makeValue("/root/send/workkindcd", "-");
  286. }
  287. submit("TRLPC02804");
  288. }
  289. /* @group : 검사항목조회화면등록 화면
  290. * @ver : 2007.03.03 (CMCDEV-0001)
  291. * @by : 유동철(ACK)
  292. * @-----------------------------------
  293. * @type : function
  294. * @access : public
  295. * @desc : 중분류조회
  296. */
  297. function fGetSmlData() {
  298. var iRowNo = grd_mdlcd.findRow("true", 0, grd_mdlcd.colRef("choi"), true, true);
  299. model.removeNodeset("/root/send");
  300. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  301. model.makeValue("/root/send/delflagcd", "0");
  302. //model.makeValue("/root/send/baseflagcd", model.getValue("/root/main/mdlcdlist/mdlcdinfo[choi = true]/baseflagcd"));
  303. //model.makeValue("/root/send/resncd", model.getValue("/root/main/mdlcdlist/mdlcdinfo[choi = true]/mdlflagcd"));
  304. model.makeValue("/root/send/baseflagcd", model.getValue("/root/main/mdlcdlist/mdlcdinfo["+ iRowNo +"]/baseflagcd"));
  305. model.makeValue("/root/send/resncd", model.getValue("/root/main/mdlcdlist/mdlcdinfo["+ iRowNo +"]/mdlflagcd"));
  306. model.makeValue("/root/send/seaflag", "S");
  307. submit("TRLPC02803");
  308. }
  309. /* @group : 검사항목조회화면등록 화면
  310. * @ver : 2007.03.03 (CMCDEV-0001)
  311. * @by : 유동철(ACK)
  312. * @-----------------------------------
  313. * @type : function
  314. * @access : public
  315. * @desc : 자료저장 처리 함수
  316. */
  317. function fExeRefData() {
  318. var iRowNo = 0;
  319. var iSmlRowNo = iRowNo = grd_smlcd.findRow("true", 0, grd_smlcd.colRef("choi"), true, true);
  320. var ICnt = 0;
  321. iRowNo = grd_mdlcd.findRow("true", 0, grd_mdlcd.colRef("choi"), true, true);
  322. if(iRowNo <= 0) {
  323. messageBox("중분류 항목을 선택하여 주세요", "I999");
  324. return;
  325. }
  326. //소분류노드가 없을 경우 삭제만 한다.
  327. if(getNodesetCount("/root/main/smlcdlist/smlcdinfo") <= 0) {
  328. grd_smlcd.addRow(false);
  329. model.setValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/instcd", model.getValue("/root/main/mdlcdlist/mdlcdinfo["+ iRowNo +"]/instcd"));
  330. model.setValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/baseflagcd", model.getValue("/root/main/mdlcdlist/mdlcdinfo["+ iRowNo +"]/baseflagcd"));
  331. model.setValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/resncd", model.getValue("/root/main/mdlcdlist/mdlcdinfo["+ iRowNo +"]/mdlflagcd"));
  332. model.setValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/delyn", "Y");
  333. grd_smlcd.addStatus(grd_smlcd.row, "insert");
  334. } else {
  335. grd_smlcd.clearStatus();
  336. for(var iNo = 1 ; iNo < grd_smlcd.rows ; iNo++){
  337. grd_smlcd.addStatus(iNo, "insert");
  338. }
  339. }
  340. //검사코드저장
  341. grd_testcdlist.clearStatus();
  342. for(var iNo = 1 ; iNo < grd_testcdlist.rows ; iNo++){
  343. if(model.getValue("/root/init/testcodecnts/testcodelist["+ iNo +"]/choi") == "true") {
  344. grd_testcdlist.addStatus(iNo, "insert");
  345. ICnt++;
  346. }
  347. }
  348. //선택된 검사목록이 없을 경우
  349. if(ICnt <= 0) {
  350. grd_testcdlist.addRow(false);
  351. model.setValue("/root/init/testcodecnts/testcodelist["+ grd_testcdlist.row +"]/choi", "true");
  352. model.setValue("/root/init/testcodecnts/testcodelist["+ grd_testcdlist.row +"]/delyn", "Y");
  353. model.setValue("/root/init/testcodecnts/testcodelist["+ grd_testcdlist.row +"]/instcd", model.getValue("/root/main/mdlcdlist/mdlcdinfo["+ iRowNo +"]/instcd"));
  354. model.setValue("/root/init/testcodecnts/testcodelist["+ grd_testcdlist.row +"]/workflagcd", model.getValue("/root/main/mdlcdlist/mdlcdinfo["+ iRowNo +"]/baseflagcd"));
  355. //소분류 항목은 선택되어 있고 검사코드 목록은 선택되어 있지 않을 경우 해당 소분류 항목의 검사코드를 삭제 하여 준다.
  356. if(iSmlRowNo > 0) {
  357. model.setValue("/root/init/testcodecnts/testcodelist["+ grd_testcdlist.row +"]/workkindcd", model.getValue("/root/main/smlcdlist/smlcdinfo["+ iSmlRowNo +"]/resncd"));
  358. }
  359. grd_testcdlist.addStatus(grd_testcdlist.row, "insert");
  360. }
  361. model.makeValue("/root/send/smlcdinfo", grd_smlcd.getUpdateData("insert"));
  362. model.makeValue("/root/send/testcdinfo", grd_testcdlist.getUpdateData("insert"));
  363. if(submit("TXLPC02801")) {
  364. fGetSmlData();
  365. fGetTestCdList("CLEAR");
  366. }
  367. }
  368. /* @group : 검사항목조회화면등록 화면
  369. * @ver : 2008.11.27 (CMCDEV-0001)
  370. * @by : 유동철(ACK)
  371. * @-----------------------------------
  372. * @type : function
  373. * @access : public
  374. * @desc : 다중 선택 함수
  375. */
  376. function fSelectList() {
  377. var iFirstRow = grd_testcdlist.selectedRow(0);
  378. var iLasrRow = grd_testcdlist.selectedRow(grd_testcdlist.selectedRows-1);
  379. var iRowNo = grd_smlcd.findRow("true", 0, grd_smlcd.colRef("choi"), true, true);
  380. if(iRowNo <= 0) {
  381. messageBox("소분류 항목을 선택하여 주세요", "I999");
  382. return;
  383. }
  384. for(var iNo = iLasrRow ; iNo >= iFirstRow ; iNo--) {
  385. model.setValue("/root/init/testcodecnts/testcodelist["+ iNo +"]/choi", "true");
  386. model.setValue("/root/init/testcodecnts/testcodelist["+ iNo +"]/workflagcd", model.getValue("/root/main/smlcdlist/smlcdinfo["+iRowNo+"]/baseflagcd"));
  387. model.setValue("/root/init/testcodecnts/testcodelist["+ iNo +"]/workkindcd", model.getValue("/root/main/smlcdlist/smlcdinfo["+iRowNo+"]/resncd"));
  388. }
  389. grd_testcdlist.refresh();
  390. }
  391. /* @group : 검사항목조회화면등록 화면
  392. * @ver : 2008.11.27 (CMCDEV-0001)
  393. * @by : 유동철(ACK)
  394. * @-----------------------------------
  395. * @type : function
  396. * @access : public
  397. * @desc : 다중 선택 함수
  398. */
  399. function fDeSelectList() {
  400. var iFirstRow = grd_testcdlist.selectedRow(0);
  401. var iLasrRow = grd_testcdlist.selectedRow(grd_testcdlist.selectedRows-1);
  402. for(var iRowNo = iLasrRow ; iRowNo >= iFirstRow ; iRowNo--) {
  403. model.setValue("/root/init/testcodecnts/testcodelist["+ iRowNo +"]/choi", "false");
  404. }
  405. grd_testcdlist.refresh();
  406. }
  407. ]]>
  408. </script>
  409. </xhtml:head>
  410. <xhtml:body guideline="2,784;2,757;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  411. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  412. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:15px; ">검사항목조회등록</caption>
  413. </group>
  414. <group id="grp_biz" scroll="auto" style="left:0px; top:40; width:1195px; height:744px; ">
  415. <caption id="caption1" class="tit_2" style="left:5px; top:10px; width:131px; height:14px; background-image:../../../com/commonweb/images/tit_bullet2.gif; ">대분류</caption>
  416. <line id="line1" class="line_1" style="x1:0px; y1:25px; x2:190px; y2:25px; "/>
  417. <caption id="caption3" class="tit_2" style="left:720px; top:10px; width:131px; height:13px; background-image:../../../com/commonweb/images/tit_bullet2.gif; ">검사코드목록</caption>
  418. <datagrid id="grd_testcdlist" nodeset="/root/init/testcodecnts/testcodelist" caption="선택^기관코드^검사코드^검사코드명^검사약칭^workflagcd^workkindcd^delyn" colsep="^" colwidth="30, 0, 80, 200, 115, 100, 100, 100" dataheight="23" defaultrows="1" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" navindex="5" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:720px; top:30px; width:475px; height:714px; border-color:#c0c0c0; ">
  419. <col ref="choi" type="checkbox"/>
  420. <col ref="instcd"/>
  421. <col ref="testcd" type="output"/>
  422. <col ref="testnm" type="output"/>
  423. <col ref="testabbr" type="output"/>
  424. <col ref="workflagcd" visibility="hidden"/>
  425. <col ref="workkindcd" visibility="hidden"/>
  426. <col ref="delyn" visibility="hidden"/>
  427. <script type="javascript" ev:event="onmousedown">
  428. <![CDATA[
  429. if ( (grd_testcdlist.mouseRow >= grd_testcdlist.fixedRows) && (grd_testcdlist.isCell(event.target))) {
  430. setPopupMenu("grd_testcdlist", false, "/root/init/popupmenu/item", "name", "func");
  431. }
  432. ]]>
  433. </script>
  434. <script type="javascript" ev:event="DOMFocusOut">
  435. <![CDATA[
  436. window.setPopupMenu(false);
  437. ]]>
  438. </script>
  439. <script type="javascript" ev:event="xforms-value-changed">
  440. <![CDATA[
  441. if(model.getValue("/root/init/testcodecnts/testcodelist["+ grd_testcdlist.row +"]/choi") == "true") {
  442. var iRowNo = grd_smlcd.findRow("true", 0, grd_smlcd.colRef("choi"), true, true);
  443. if(iRowNo <= 0) {
  444. messageBox("소분류 항목을 선택하여 주세요", "I999");
  445. model.setValue("/root/init/testcodecnts/testcodelist["+ grd_testcdlist.row +"]/choi", "false");
  446. return;
  447. }
  448. model.setValue("/root/init/testcodecnts/testcodelist["+ grd_testcdlist.row +"]/workflagcd", model.getValue("/root/main/smlcdlist/smlcdinfo["+iRowNo+"]/baseflagcd"));
  449. model.setValue("/root/init/testcodecnts/testcodelist["+ grd_testcdlist.row +"]/workkindcd", model.getValue("/root/main/smlcdlist/smlcdinfo["+iRowNo+"]/resncd"));
  450. }
  451. ]]>
  452. </script>
  453. <script type="javascript" ev:event="onaftersort">
  454. <![CDATA[
  455. grd_testcdlist.gridToInstance();
  456. ]]>
  457. </script>
  458. </datagrid>
  459. <line id="line2" class="line_1" style="x1:720px; y1:25px; x2:1195px; y2:25px; "/>
  460. <button id="btn_add" class="btn2_letter3" navindex="6" style="left:607px; top:5px; width:53px; height:19px; ">
  461. <caption>행추가</caption>
  462. <script type="javascript" ev:event="DOMActivate">
  463. <![CDATA[
  464. fExeDataAddDel("ADD");
  465. ]]>
  466. </script>
  467. </button>
  468. <datagrid id="grd_lrgcd" nodeset="/root/main/lrgcdlist/lrgcdinfo" caption="선택^대분류^instcd^baseflagcd" colsep="^" colwidth="30, 120, 100, 100" dataheight="23" defaultrows="1" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" navindex="5" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:30px; width:190px; height:714px; border-color:#c0c0c0; ">
  469. <col ref="choi" type="checkbox"/>
  470. <col ref="baseflagnm"/>
  471. <col ref="instcd" visibility="hidden"/>
  472. <col ref="baseflagcd" visibility="hidden"/>
  473. <script type="javascript" ev:event="xforms-value-changed">
  474. <![CDATA[
  475. if(model.getValue("/root/main/lrgcdlist/lrgcdinfo["+ grd_lrgcd.row +"]/choi") == "true") {
  476. for(var iRowNo = 1 ; iRowNo < grd_lrgcd.rows ; iRowNo++) {
  477. if(iRowNo != grd_lrgcd.row) {
  478. model.setValue("/root/main/lrgcdlist/lrgcdinfo["+ iRowNo+"]/choi", "false");
  479. }
  480. }
  481. fGetMdlData();
  482. fGetTestCdList("CLEAR"); //검사코드 클리어
  483. } else {
  484. model.removeNodeset("/root/main/mdlcdlist/mdlcdinfo"); //중분류클리어
  485. model.removeNodeset("/root/main/smlcdlist/smlcdinfo"); //소분류클리어
  486. fGetTestCdList("CLEAR"); //검사코드클리어
  487. }
  488. ]]>
  489. </script>
  490. </datagrid>
  491. <datagrid id="grd_mdlcd" nodeset="/root/main/mdlcdlist/mdlcdinfo" caption="선택^중분류^baseflagcd^resncd^instcd^mdlflagcd" colsep="^" colwidth="30, 160, 100, 100, 100, 100" dataheight="23" defaultrows="1" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" navindex="5" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:195px; top:30px; width:230px; height:714px; border-color:#c0c0c0; ">
  492. <col ref="choi" type="checkbox"/>
  493. <col ref="resncnts"/>
  494. <col ref="baseflagcd" visibility="hidden"/>
  495. <col ref="resncd" visibility="hidden"/>
  496. <col ref="instcd" visibility="hidden"/>
  497. <col ref="mdlflagcd" visibility="hidden"/>
  498. <script type="javascript" ev:event="xforms-value-changed">
  499. <![CDATA[
  500. if(model.getValue("/root/main/mdlcdlist/mdlcdinfo["+ grd_mdlcd.row +"]/choi") == "true") {
  501. for(var iRowNo = 1 ; iRowNo < grd_mdlcd.rows ; iRowNo++) {
  502. if(iRowNo != grd_mdlcd.row) {
  503. model.setValue("/root/main/mdlcdlist/mdlcdinfo["+ iRowNo+"]/choi", "false");
  504. }
  505. }
  506. fGetSmlData();
  507. fGetTestCdList("CLEAR"); //검사코드 클리어
  508. } else {
  509. model.removeNodeset("/root/main/smlcdlist/smlcdinfo"); //소분류 클리어
  510. fGetTestCdList("CLEAR"); //검사코드클리어
  511. }
  512. ]]>
  513. </script>
  514. </datagrid>
  515. <datagrid id="grd_smlcd" nodeset="/root/main/smlcdlist/smlcdinfo" caption="선택^소분류^표시순서^baseflagcd^resncd^instcd^smlflagcd^delyn" colsep="^" colwidth="30, 170, 54, 100, 100, 100, 100, 100" dataheight="23" defaultrows="1" extendlastcol="noscroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" navindex="5" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:430px; top:30px; width:285px; height:714px; border-color:#c0c0c0; ">
  516. <col ref="choi" type="checkbox"/>
  517. <col ref="resncnts" type="input"/>
  518. <col ref="dispseqno" type="input"/>
  519. <col ref="baseflagcd" visibility="hidden"/>
  520. <col ref="resncd" visibility="hidden"/>
  521. <col ref="instcd" visibility="hidden"/>
  522. <col ref="smlflagcd" visibility="hidden"/>
  523. <col ref="delyn" visibility="hidden"/>
  524. <script type="javascript" ev:event="xforms-value-changed">
  525. <![CDATA[
  526. if(grd_smlcd.col == grd_smlcd.colRef("choi")) {
  527. if(model.getValue("/root/main/smlcdlist/smlcdinfo["+ grd_smlcd.row +"]/choi") == "true") {
  528. for(var iRowNo = 1 ; iRowNo < grd_smlcd.rows ; iRowNo++) {
  529. if(iRowNo != grd_smlcd.row) {
  530. model.setValue("/root/main/smlcdlist/smlcdinfo["+ iRowNo+"]/choi", "false");
  531. }
  532. }
  533. fGetTestCdList("GET");
  534. } else {
  535. fGetTestCdList("CLEAR"); //검사코드 클리어
  536. }
  537. }
  538. ]]>
  539. </script>
  540. </datagrid>
  541. <group id="group1" visibility="hidden" style="left:0px; top:155px; width:1194px; height:35px; ">
  542. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  543. <line id="line14" class="line_4" style="x1:1108px; y1:6px; x2:1108px; y2:28px; border-color:#ffe4bb; border-left-style:solid; "/>
  544. <caption id="caption23" class="search_name" style="left:15px; top:9px; width:90px; height:17px; vertical-align:middle; background-image:../../../com/commonweb/images/search_bullet1.gif; ">작업구분 :</caption>
  545. <select1 id="cmb_workflag" ref="/root/hidden/refflag/workflagcd" class="combo_search" navindex="1" appearance="minimal" style="left:108px; top:8px; width:120px; height:19px; ">
  546. <choices>
  547. <itemset nodeset="/root/init/baseflagcd/baseflagcdlist">
  548. <label ref="baseflagnm"/>
  549. <value ref="baseflagcd"/>
  550. </itemset>
  551. </choices>
  552. <script type="javascript" ev:event="xforms-value-changed">
  553. <![CDATA[
  554. fGetReasonList();
  555. ]]>
  556. </script>
  557. </select1>
  558. <select1 id="cmb_workkind" ref="/root/hidden/refflag/workkindcd" class="combo_search" navindex="2" appearance="minimal" style="left:943; top:8px; width:150px; height:19px; ">
  559. <choices>
  560. <itemset nodeset="/root/init/resncd/resncdlist">
  561. <label ref="resncnts"/>
  562. <value ref="resncd"/>
  563. </itemset>
  564. </choices>
  565. </select1>
  566. <caption id="caption2" class="search_name" style="left:849px; top:9px; width:90px; height:17px; vertical-align:middle; background-image:../../../com/commonweb/images/search_bullet1.gif; ">작업유형 :</caption>
  567. <button id="btn_sea" class="btn1_letter2" navindex="3" style="left:1123px; top:7px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  568. <caption>조회</caption>
  569. <script type="javascript" ev:event="DOMActivate">
  570. <![CDATA[
  571. fGetRefData();
  572. ]]>
  573. </script>
  574. </button>
  575. </group>
  576. <caption id="caption4" class="tit_2" style="left:195px; top:10px; width:131px; height:13px; background-image:../../../com/commonweb/images/tit_bullet2.gif; ">중분류</caption>
  577. <caption id="caption5" class="tit_2" style="left:430px; top:10px; width:131px; height:13px; background-image:../../../com/commonweb/images/tit_bullet2.gif; ">소분류</caption>
  578. <line id="line3" class="line_1" style="x1:195px; y1:25px; x2:425px; y2:25px; "/>
  579. <line id="line4" class="line_1" style="x1:430px; y1:25px; x2:715px; y2:25px; "/>
  580. <button id="btn_del" class="btn2_letter3" navindex="6" style="left:662px; top:5px; width:53px; height:19px; ">
  581. <caption>행삭제</caption>
  582. <script type="javascript" ev:event="DOMActivate">
  583. <![CDATA[
  584. fExeDataAddDel("DEL");
  585. ]]>
  586. </script>
  587. </button>
  588. </group>
  589. <group id="grp_btn" scroll="auto" style="left:0px; top:13; width:1195px; height:27px; ">
  590. <line id="line17" class="line_6" style="x1:0px; y1:25; x2:1194px; y2:25; "/>
  591. <button id="btn_save" class="btn4_letter2" navindex="7" style="left:1139px; top:3px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  592. <caption>저장</caption>
  593. <script type="javascript" ev:event="DOMActivate">
  594. <![CDATA[
  595. fExeRefData();
  596. ]]>
  597. </script>
  598. </button>
  599. </group>
  600. </xhtml:body>
  601. </xhtml:html>