SPADB63300_약품식별마스터성분별수정.xrw 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  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>약품식별마스터성분별수정</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <druginfo>
  11. <atcdruglist>
  12. <idcd/>
  13. <atccode/>
  14. <atccodenm/>
  15. <useyn/>
  16. <drugcd/>
  17. <comcnts/>
  18. <efcysmm/>
  19. <samedrug/>
  20. <homodrugflag/>
  21. <hngnm/>
  22. <engnm/>
  23. <prodcmpynm/>
  24. </atcdruglist>
  25. </druginfo>
  26. </main>
  27. <send>
  28. <srchinfo>
  29. <srchflag>atccode</srchflag>
  30. <srchval/>
  31. <srchflag2>fstrgstdt</srchflag2>
  32. <srchfromdd/>
  33. <srchtodd/>
  34. <instcd/>
  35. </srchinfo>
  36. <saveitem>
  37. <drugidinfo/>
  38. </saveitem>
  39. <imginfo>
  40. <drugidinfo/>
  41. </imginfo>
  42. <srchcode>
  43. <codetype/>
  44. <code/>
  45. </srchcode>
  46. </send>
  47. <init>
  48. <comboitem>
  49. <useyn>
  50. <A0635>
  51. <cdnm/>
  52. <cdid/>
  53. </A0635>
  54. </useyn>
  55. </comboitem>
  56. </init>
  57. <hidden>
  58. <receivecom>/root/temp/cominfo/</receivecom>
  59. <receiveref>/root/temp/receivedata/drugcd</receiveref>
  60. <popupmenu>
  61. <!--
  62. <menu>
  63. <label>잘라내기 Ctrl+X</label>
  64. <func>cut</func>
  65. </menu>
  66. -->
  67. <menu>
  68. <label>복사하기 Ctrl+C</label>
  69. <func>fRowCopy</func>
  70. </menu>
  71. <menu>
  72. <label>붙여넣기 Ctrl+V</label>
  73. <func>fPaste</func>
  74. </menu>
  75. <menu>
  76. <label>지우기</label>
  77. <func>fdel</func>
  78. </menu>
  79. <!--
  80. <menu>
  81. <label>사진 붙여넣기</label>
  82. <func>fPasteimg</func>
  83. </menu>
  84. <menu>
  85. <label>사진 지우기</label>
  86. <func>fdel</func>
  87. </menu>
  88. <menu>
  89. <label/>
  90. <func/>
  91. </menu>
  92. <menu>
  93. <label>한줄삭제</label>
  94. <func>fDataGridRowDelete</func>
  95. </menu>
  96. -->
  97. </popupmenu>
  98. <recieveprodcmpy>/root/temp/prodcmpy</recieveprodcmpy>
  99. <popupuseynmenu>
  100. <menu>
  101. <label>본원사용 일괄수정</label>
  102. <func>-</func>
  103. </menu>
  104. <menu>
  105. <label/>
  106. <func/>
  107. </menu>
  108. <menu>
  109. <label>X</label>
  110. <func>fchguseynX</func>
  111. </menu>
  112. <menu>
  113. <label>O</label>
  114. <func>fchguseynO</func>
  115. </menu>
  116. <menu>
  117. <label>O (타회사)</label>
  118. <func>fchguseynDP</func>
  119. </menu>
  120. <menu>
  121. <label>O (타용량)</label>
  122. <func>fchguseynDQ</func>
  123. </menu>
  124. <menu>
  125. <label>O (타회사-타용량)</label>
  126. <func>fchguseynDPQ</func>
  127. </menu>
  128. <menu>
  129. <label/>
  130. <func/>
  131. </menu>
  132. <menu>
  133. <label>지우기</label>
  134. <func>fdel</func>
  135. </menu>
  136. </popupuseynmenu>
  137. </hidden>
  138. <temp>
  139. <cominfo>
  140. <comcd/>
  141. <comexcd/>
  142. <comnm/>
  143. </cominfo>
  144. <receivedata>
  145. <receiveref>/root/temp/receivedata/drugcd</receiveref>
  146. <drugcd/>
  147. <drugnm/>
  148. <comcd/>
  149. </receivedata>
  150. <codeinfo>
  151. <codenm/>
  152. </codeinfo>
  153. <prodcmpy/>
  154. </temp>
  155. </root>
  156. </instance>
  157. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  158. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  159. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  160. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  161. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  162. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  163. <submission id="TRZBC00101"/>
  164. <script type="javascript">
  165. <![CDATA[
  166. var gv_useyn = "";
  167. // 복사하기
  168. function fRowCopy(){
  169. grd_druginfo.dispatch("oncopy");
  170. }
  171. // 붙여넣기
  172. function fPaste(){
  173. //pasteType="char";
  174. grd_druginfo.dispatch("onpaste");
  175. }
  176. //지우기
  177. function fdel(){
  178. fgrid_clear();
  179. }
  180. /* 본원사용 X 일괄수정 */
  181. function fchguseynX(){
  182. gv_useyn = "-";
  183. fchguseyn(gv_useyn);
  184. grd_druginfo.refresh();
  185. }
  186. /* 본원사용 O 일괄수정 */
  187. function fchguseynO(){
  188. gv_useyn = "1";
  189. fchguseyn(gv_useyn);
  190. grd_druginfo.refresh();
  191. }
  192. /* 타회사 일괄수정 */
  193. function fchguseynDP(){
  194. gv_useyn = "2";
  195. fchguseyn(gv_useyn);
  196. grd_druginfo.refresh();
  197. }
  198. /* 타용량 일괄수정 */
  199. function fchguseynDQ(){
  200. gv_useyn = "3";
  201. fchguseyn(gv_useyn);
  202. grd_druginfo.refresh();
  203. }
  204. /* 타회사-타용량 일괄수정 */
  205. function fchguseynDPQ(){
  206. gv_useyn = "4";
  207. fchguseyn(gv_useyn);
  208. grd_druginfo.refresh();
  209. }
  210. /* 본원사용여부 일괄수정
  211. 1. 선택된 셀들에 대해서 일괄수정 기능*/
  212. function fchguseyn(useyn){
  213. var firstCell = getFirstCell(grd_druginfo.selectedCells);
  214. var lastCell = getLastCell(grd_druginfo.selectedCells);
  215. var rowUseyn = ""
  216. for( i = firstCell.row; i <= lastCell.row; i++ ) {
  217. rowUseyn = grd_druginfo.valueMatrix(i, grd_druginfo.colRef("useyn"));
  218. if(rowUseyn != useyn){
  219. grd_druginfo.valueMatrix(i, grd_druginfo.colRef("useyn")) = useyn;
  220. grd_druginfo.rowStatus(i) = 2;
  221. }
  222. }
  223. }
  224. //=======================================================================================================
  225. // 마우스 우클릭 팝업메뉴 // 복사하기
  226. //=======================================================================================================
  227. function astgrid_oncopy() {
  228. var trgObj = document.all.item(event.target);
  229. if( trgObj.elementName == "xforms:datagrid" ) // event.target이 datagrid > input일 경우 return
  230. gridObj = trgObj;
  231. else
  232. return;
  233. var cellValue;
  234. var rClipBoardValue = "";
  235. var gridSelMode = gridObj.selectionMode;
  236. //alert(gridSelMode);
  237. // datagrid@selectionmode가 free일 경우
  238. if( gridSelMode == "free" ) {
  239. if( gridObj.selectedCells.length == 0 )
  240. return;
  241. var firstCell = getFirstCell(gridObj.selectedCells);
  242. var lastCell = getLastCell(gridObj.selectedCells);
  243. // alert(gridObj.selectedCells.length);
  244. // alert(firstCell.row +" "+ lastCell.row+"\n"+firstCell.col+" "+lastCell.col);
  245. var i, j;
  246. for( i = firstCell.row; i <= lastCell.row; i++ ) {
  247. for ( j = firstCell.col; j <= lastCell.col; j++ ) {
  248. if(j != gridObj.colRef("atccodenm") ){ // atc 성분코드명 변경 불가
  249. cellValue = gridObj.valueMatrix(i, j);
  250. }
  251. rClipBoardValue += cellValue;
  252. if( j != lastCell.col )
  253. rClipBoardValue += "\t";
  254. }
  255. rClipBoardValue += "\r\n";
  256. }
  257. var setClipBoardFlag = true;
  258. // selectedCells 갯수와 rClipBoardValue의 갯수 비교
  259. var cntRClip = 0;
  260. var cntRRow = rClipBoardValue.split("\r\n").length;
  261. var cntRCol = rClipBoardValue.split("\r\n")[0].split("\t").length;
  262. if( gridObj.selectedCells.length != ( cntRRow - 1 ) * cntRCol ) {
  263. setClipBoardFlag = false;
  264. }
  265. // selectedCell이 firstCell부터 lastCell까지 속해있나 비교
  266. for( i = 0; i < gridObj.selectedCells.length; i++ ) {
  267. if( firstCell.row > gridObj.selectedCells.item(i).row || lastCell.row < gridObj.selectedCells.item(i).row ) {
  268. setClipBoardFlag = false;
  269. break;
  270. }
  271. if( firstCell.col > gridObj.selectedCells.item(i).col || lastCell.col < gridObj.selectedCells.item(i).col ) {
  272. setClipBoardFlag = false;
  273. break;
  274. }
  275. }
  276. if( !setClipBoardFlag ) {
  277. messageBox("다중 선택 범위에서는", "E001");
  278. return;
  279. }
  280. }
  281. // datagrid@selectionmode가 bycol일 경우
  282. else if( gridSelMode == "bycol" ) {
  283. if( gridObj.selectedCells.length == 0 )
  284. return;
  285. var firstCell = getFirstCell(gridObj.selectedCells);
  286. var lastCell = getLastCell(gridObj.selectedCells);
  287. //alert(firstCell +" "+ lastCell);
  288. var i, j;
  289. for( i = gridObj.fixedRows; i < gridObj.rows; i++ ) {
  290. for ( j = firstCell.col; j <= lastCell.col; j++ ) {
  291. if(j != gridObj.colRef("atccodenm")){ // atc 성분코드명 변경 불가
  292. cellValue = gridObj.valueMatrix(i, j);
  293. //if( cellValue.indexOf("\n") != -1 )
  294. // cellValue = '"' + cellValue + '"';
  295. }else cellValue = "";
  296. rClipBoardValue += cellValue;
  297. if( j != lastCell.col )
  298. rClipBoardValue += "\t";
  299. }
  300. rClipBoardValue += "\r\n";
  301. }
  302. }
  303. // datagrid@selectionmode가 default이거나 byrow일 경우
  304. else {
  305. var gridCols = gridObj.Cols;
  306. var selRow;
  307. var i, j;
  308. for( i = 0; i < gridObj.selectedRows; i++ ) {
  309. selRow = gridObj.selectedRow(i);
  310. for ( j = gridObj.fixedCols; j < gridCols; j++ ) {
  311. if(j != gridObj.colRef("atccodenm")){ // atc 성분코드명 변경 불가
  312. cellValue = gridObj.valueMatrix(selRow, j);
  313. //if( cellValue.indexOf("\n") != -1 )
  314. // cellValue = '"' + cellValue + '"';
  315. }else cellValue = "";
  316. rClipBoardValue += cellValue;
  317. if( j != gridCols - 1 )
  318. rClipBoardValue += "\t";
  319. }
  320. rClipBoardValue += "\r\n";
  321. }
  322. }
  323. if( rClipBoardValue != "" )
  324. window.clipBoardData = rClipBoardValue;
  325. }
  326. //=======================================================================================================
  327. // 마우스 우클릭 팝업메뉴 // 붙여넣기
  328. //=======================================================================================================
  329. function astgrid_onpaste(){
  330. var trgObj = document.all.item(event.target);
  331. if( trgObj.elementName == "xforms:datagrid" ){ // event.target이 datagrid > input일 경우 return
  332. gridObj = trgObj;
  333. }
  334. else{
  335. return;
  336. }
  337. var rClipBoardValue = "";
  338. var gridSelMode = gridObj.selectionMode;
  339. if(window.clipBoardData !="")
  340. var rClipBoardValue = window.clipBoardData;
  341. var clipBoardRow = rClipBoardValue.split("\r\n");
  342. if(gridSelMode = "free"){ // free 모드 동작
  343. var firstCell = getFirstCell(gridObj.selectedCells);
  344. var lastCell = getLastCell(gridObj.selectedCells);
  345. var row = firstCell.row;
  346. for(var i = 0; i < clipBoardRow.length-1; i++){
  347. var clipBoardCol = clipBoardRow[i].split("\t"); // 클립보드에 저장된 내용을 tab 단위로 분리
  348. var col = firstCell.col;
  349. for(var j = 0; j < clipBoardCol.length; j++){
  350. if(col != gridObj.colRef("atccodenm")){ // atc 성분코드명 변경 불가
  351. gridObj.ValueMatrix(row, col) = clipBoardCol[j];
  352. gridObj.rowStatus(row) = 2;
  353. }
  354. col++;
  355. }
  356. row++;
  357. }
  358. }else { // defualt, byrow, list 모드 동작
  359. var gridCols = gridObj.Cols;
  360. var selRow = gridObj.row;
  361. var i, j;
  362. for(var i = 0; i < clipBoardRow.length-1; i++){
  363. var clipBoardCol = clipBoardRow[i].split("\t");
  364. var col = 0;
  365. for(var j = 0; j < clipBoardCol.length; j++){
  366. if(j != gridObj.colRef("atccodenm")){ // atc 성분코드명 변경 불가
  367. gridObj.ValueMatrix(row, col) = clipBoardCol[j];
  368. gridObj.rowStatus(row) = 2;
  369. }
  370. col++;
  371. }
  372. selRow++
  373. }
  374. }
  375. }
  376. //=======================================================================================================
  377. // 마우스 우클릭 팝업메뉴 : 지우기
  378. //
  379. // ** 팝업메뉴 클릭시 모든 기능 동작
  380. // ** 단일행, 셀에 대해서만 단축키 동작 가능
  381. // ** 멀티행, 셀에 대해서는 단축키 동작 불능
  382. //=======================================================================================================
  383. function fgrid_clear(){
  384. var gridSelMode = grd_druginfo.selectionMode;
  385. if(gridSelMode == "free"){
  386. var firstCell = getFirstCell(grd_druginfo.selectedCells);
  387. var lastCell = getLastCell(grd_druginfo.selectedCells);
  388. for(var i = firstCell.row; i <= lastCell.row; i++){
  389. for(var j = firstCell.col; j <= lastCell.col; j++){
  390. if(j != grd_druginfo.colRef("atccodenm")){ // atc 성분코드명 변경 불가
  391. grd_druginfo.ValueMatrix(i,j) = "";
  392. grd_druginfo.rowStatus(i) = 2;
  393. }
  394. }
  395. }
  396. }else{
  397. for(var i = 0; i < grd_druginfo.selectedRows; i++){
  398. selRow = grd_druginfo.selectedRow(i);
  399. for ( j = grd_druginfo.fixedCols; j < grd_druginfo.cols; j++ ) {
  400. if(j != grd_druginfo.colRef("atccodenm")){ // atc 성분코드명 변경 불가
  401. grd_druginfo.ValueMatrix(selRow, j) = "";
  402. grd_druginfo.rowStatus(i) = 2;
  403. }
  404. }
  405. }
  406. }
  407. }
  408. function fCodeChg(col, row){
  409. var atccode = model.getValue("/root/main/druginfo/atcdruglist["+grd_druginfo.row+"]/atccode");
  410. var drugcd = model.getValue("/root/main/druginfo/atcdruglist["+grd_druginfo.row+"]/drugcd");
  411. var codenm = "";
  412. var codenm2 = "";
  413. var drugtype = ""
  414. if(atccode != "" || drugcd != ""){
  415. // 조회조건 설정
  416. if(grd_druginfo.colRef("atccode") == col){
  417. model.setValue("/root/send/srchcode/codetype",grd_druginfo.colAttribute(col, "ref"));
  418. model.setValue("/root/send/srchcode/code", atccode.toUpperCase());
  419. }else if(grd_druginfo.colRef("drugcd") == col){
  420. model.setValue("/root/send/srchcode/codetype",grd_druginfo.colAttribute(col, "ref"));
  421. model.setValue("/root/send/srchcode/code", drugcd.toUpperCase());
  422. }
  423. // 조회부
  424. if(submit("TRADB63302", false)){
  425. codenm = model.getValue("/root/temp/codeinfo/codenm");
  426. codenm2 = model.getValue("/root/temp/codeinfo/codenm2");
  427. if(codenm == ""){
  428. messageBox("조회된 사항이", "I004");
  429. }else{
  430. drugtype = model.getValue("/root/send/srchcode/codetype");
  431. if(drugtype == "atccode"){
  432. model.setValue("/root/main/druginfo/atcdruglist["+grd_druginfo.row+"]/atccode",atccode.toUpperCase());
  433. model.setValue("/root/main/druginfo/atcdruglist["+grd_druginfo.row+"]/atccodenm",codenm);
  434. }else if(drugtype == "drugcd"){
  435. model.setValue("/root/main/druginfo/atcdruglist["+grd_druginfo.row+"]/drugcd",drugcd.toUpperCase());
  436. model.setValue("/root/main/druginfo/atcdruglist["+grd_druginfo.row+"]/comcnts",codenm);
  437. model.setValue("/root/main/druginfo/atcdruglist["+grd_druginfo.row+"]/hngnm",codenm2);
  438. }
  439. model.setValue("/root/temp/codeinfo/codenm","");
  440. }
  441. }
  442. }else{
  443. model.setValue("/root/send/srchcode/codetype", "");
  444. model.setValue("/root/send/srchcode/code", "");
  445. }
  446. }
  447. ]]>
  448. </script>
  449. <script type="javascript" ev:event="xforms-ready">
  450. <![CDATA[
  451. zbcfGetCodeList( new Array("A0635"), new Array("/root/init/comboitem/useyn"));
  452. grd_druginfo.rowHeight(0) = 40;
  453. grd_druginfo.deleteRow(1); // 약품식별 그리드 초기화
  454. grd_com.deleteRow(1); // 성분명 임시 그리드 초기화
  455. ]]>
  456. </script>
  457. <submission id="TRADB63301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchinfo" replace="instance" resultref="/root/main/druginfo"/>
  458. <submission id="TRADB63302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchcode" replace="instance" resultref="/root/temp/codeinfo"/>
  459. <submission id="TXADB63301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/saveitem" replace="instance" resultref="/root/main/druginfo"/>
  460. </model>
  461. </xhtml:head>
  462. <xhtml:body>
  463. <group id="group1" style="left:0px; top:0px; width:1195px; height:15px; ">
  464. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">약품식별 마스터 - 성분별 수정</caption>
  465. </group>
  466. <group id="group4" style="left:0px; top:15px; width:1195px; height:765px; ">
  467. <group id="group2" style="left:0px; top:30px; width:1195px; height:40px; ">
  468. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:40px; background-color:#fffbf2; border-color:#ffd799; "/>
  469. <line id="line13" style="x1:1080px; y1:5px; x2:1080px; y2:35px; border-color:#ffe4bb; border-left-style:solid; "/>
  470. <caption id="caption2" class="search_name" style="left:20px; top:10px; width:91px; height:17px; ">검색조건 :</caption>
  471. <select1 id="cmb_srchflag" ref="/root/send/srchinfo/srchflag" class="combo_search" appearance="minimal" style="left:107px; top:9px; width:153px; height:19px; ">
  472. <choices>
  473. <item>
  474. <label>약품코드</label>
  475. <value>drugcd</value>
  476. </item>
  477. <item>
  478. <label>한글약품명</label>
  479. <value>hngnm</value>
  480. </item>
  481. <item>
  482. <label>영문약품명</label>
  483. <value>engnm</value>
  484. </item>
  485. <item>
  486. <label>성분 및 함량</label>
  487. <value>comcnts</value>
  488. </item>
  489. <item>
  490. <label>ATC성분코드</label>
  491. <value>atccode</value>
  492. </item>
  493. <item>
  494. <label>ATC성분코드 명칭</label>
  495. <value>atccodenm</value>
  496. </item>
  497. </choices>
  498. </select1>
  499. <input id="ipt_srchval" ref="/root/send/srchinfo/srchval" class="input_search" style="left:265px; top:9px; width:140px; height:19px; ">
  500. <script type="javascript" ev:event="onkeydown">
  501. <![CDATA[
  502. inputEnterKey("btn_sea","DOMActivate");
  503. ]]>
  504. </script>
  505. </input>
  506. <button id="btn_sea" class="btn1_letter2" style="left:1105px; top:7px; width:56px; height:22px; ">
  507. <caption>조회</caption>
  508. <script type="javascript" ev:event="DOMActivate">
  509. <![CDATA[
  510. var srchval = model.getValue("/root/send/srchinfo/srchval");
  511. if(srchval.length >= 2) {
  512. model.setValue("/root/send/srchinfo/srchval", srchval.toUpperCase());
  513. submit("TRADB63301");
  514. }else {
  515. messageBox("최소 2글자 이상","C001");
  516. model.setFocus("ipt_srchval");
  517. }
  518. model.refresh();
  519. ]]>
  520. </script>
  521. </button>
  522. <caption id="caption26" class="search_name" style="left:460px; top:10px; width:70px; height:17px; ">일자 :</caption>
  523. <input id="ipt_srchfromdd" ref="/root/send/srchinfo/srchfromdd" class="input_search" autonext="false" inputtype="date" style="left:620px; top:10px; width:105px; height:19px; ">
  524. <script type="javascript" ev:event="onkeydown">
  525. <![CDATA[
  526. inputEnterKey("btn_sea","DOMActivate");
  527. ]]>
  528. </script>
  529. </input>
  530. <select1 id="cmb_srchflag2" ref="/root/send/srchinfo/srchflag2" class="combo_search" appearance="minimal" style="left:525px; top:10px; width:90px; height:19px; ">
  531. <choices>
  532. <item>
  533. <label>등록일자</label>
  534. <value>fstrgstdt</value>
  535. </item>
  536. <item>
  537. <label>수정일자</label>
  538. <value>lastupdt</value>
  539. </item>
  540. </choices>
  541. </select1>
  542. <input id="ipt_srchtodd" ref="/root/send/srchinfo/srchtodd" class="input_search" autonext="false" inputtype="date" style="left:745px; top:10px; width:105px; height:19px; ">
  543. <script type="javascript" ev:event="onkeydown">
  544. <![CDATA[
  545. inputEnterKey("btn_sea","DOMActivate");
  546. ]]>
  547. </script>
  548. </input>
  549. <caption id="caption1" style="left:729px; top:10px; width:15px; height:20px; ">~</caption>
  550. </group>
  551. <group id="group3" style="left:0px; top:80px; width:1195px; height:685px; ">
  552. <datagrid id="grd_druginfo" nodeset="/root/main/druginfo/atcdruglist" autoresize="true" caption="idcd^ATC성분코드^ATC 성분코드명^본원사용^약품코드^성분 및 함량^효능 효과^동효약^동종약^한글상품명^영문상품명^제약회사" colsep="^" colwidth="10, 83, 130, 73, 93, 230, 210, 100, 100, 215, 209, 100" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" selectionmode="free" style="left:0px; top:0px; width:1195px; height:650px; ">
  553. <col ref="idcd" visibility="hidden"/>
  554. <col ref="atccode" type="inputbutton"/>
  555. <col editable="false" ref="atccodenm"/>
  556. <col ref="useyn" type="combo" style="text-align:center; ">
  557. <choices>
  558. <itemset nodeset="/root/init/comboitem/useyn/A0635">
  559. <label ref="cdnm"/>
  560. <value ref="cdid"/>
  561. </itemset>
  562. </choices>
  563. </col>
  564. <col ref="drugcd" type="inputbutton"/>
  565. <col ref="comcnts" type="input" style="word-wrap:word; "/>
  566. <col ref="efcysmm" type="input" style="word-wrap:word; "/>
  567. <col ref="samedrug" type="input" style="word-wrap:word; "/>
  568. <col ref="homodrugflag" type="input" style="word-wrap:word; "/>
  569. <col ref="hngnm" type="input" style="word-wrap:word; "/>
  570. <col ref="engnm" type="input" style="word-wrap:word; "/>
  571. <col editable="false" ref="prodcmpynm" type="inputbutton"/>
  572. <script type="javascript" ev:event="onbuttonclick">
  573. <![CDATA[
  574. var col = grd_druginfo.mouseCol;
  575. var row = grd_druginfo.mouseRow;
  576. if(grd_druginfo.colRef("atccode") == col){
  577. modal("SPADB61300",0,100,150,"SPADB61300","/root/hidden/receivecom","/root/hidden/receiveref");
  578. if(model.getValue("/root/temp/cominfo[1]/comcd") != ""){
  579. model.setValue("/root/main/druginfo/atcdruglist["+row+"]/atccode", model.getValue("/root/temp/cominfo[1]/comcd"));
  580. model.setValue("/root/main/druginfo/atcdruglist["+row+"]/atccodenm", model.getValue("/root/temp/cominfo[1]/comnm"));
  581. grd_druginfo.rowStatus(row) = 2;
  582. grd_com.deleteRow(1); // 성분명 임시 그리드 초기화
  583. }
  584. }else if(grd_druginfo.colRef("drugcd") == col){
  585. modal("SPADB60100",0,100,150,"SPADB60100","/root/temp/receivedata","/root/temp/receivedata");
  586. drugcode = model.getValue("/root/temp/receivedata/drugcd");
  587. if(drugcode != ""){
  588. model.setValue("/root/main/druginfo/atcdruglist["+row+"]/drugcd", drugcode);
  589. fCodeChg(col, row);
  590. grd_druginfo.rowStatus(row) = 2;
  591. }
  592. }else if(grd_druginfo.colRef("prodcmpynm") == col){
  593. modal("SPADB63400",0,50,50,"SPADB63400","/root/hidden/recieveprodcmpy","/root/hidden/receiveref");
  594. grd_druginfo.valueMatrix(grd_druginfo.row, grd_druginfo.colRef("prodcmpynm")) = model.getValue("/root/temp/prodcmpy");
  595. grd_druginfo.refresh();
  596. }
  597. model.refresh();
  598. ]]>
  599. </script>
  600. <script type="javascript" ev:event="onmousedown">
  601. <![CDATA[
  602. if(grd_druginfo.col != grd_druginfo.colRef("useyn")){
  603. setPopupMenu("grd_druginfo", false , "/root/hidden/popupmenu/menu", "label", "func");
  604. }else{
  605. setPopupMenu("grd_druginfo", false , "/root/hidden/popupuseynmenu/menu", "label", "func");
  606. }
  607. ]]>
  608. </script>
  609. <script type="javascript" ev:event="DOMFocusOut">
  610. <![CDATA[
  611. initPopupMenu();
  612. ]]>
  613. </script>
  614. <script type="javascript" ev:event="oncopy">
  615. <![CDATA[
  616. astgrid_oncopy();
  617. ]]>
  618. </script>
  619. <script type="javascript" ev:event="onpaste">
  620. <![CDATA[
  621. astgrid_onpaste();
  622. ]]>
  623. </script>
  624. <script type="javascript" ev:event="onkeydown">
  625. <![CDATA[
  626. if (event.keyCode == "46") fgrid_clear();
  627. ]]>
  628. </script>
  629. <script type="javascript" ev:event="xforms-value-changed">
  630. <![CDATA[
  631. var col = grd_druginfo.Col;
  632. var row = grd_druginfo.Row;
  633. if(grd_druginfo.colRef("atccode") == col){
  634. fCodeChg(col, row);
  635. }
  636. model.refresh();
  637. ]]>
  638. </script>
  639. </datagrid>
  640. <datagrid id="grd_com" nodeset="/root/temp/cominfo" visibility="hidden" caption="caption1^caption2^caption3" colsep="^" mergecellsfixedrows="bycolrec" rowsep="|" style="left:65px; top:105px; width:350px; height:60px; ">
  641. <col ref="comcd"/>
  642. <col ref="comexcd"/>
  643. <col ref="comnm"/>
  644. </datagrid>
  645. </group>
  646. <group id="group5" style="left:0px; top:0px; width:1195px; height:30px; ">
  647. <button id="btn_save" class="btn4_letter2" style="left:1105px; top:5px; width:56px; height:22px; ">
  648. <caption>저장</caption>
  649. <script type="javascript" ev:event="DOMActivate">
  650. <![CDATA[
  651. var updatedata = grd_druginfo.getUpdateData();
  652. var updateCnt = 0;
  653. /* 변경사항 유무 체크 Start */
  654. for (var i = grd_druginfo.fixedRows; i < grd_druginfo.rows; i++){
  655. if(grd_druginfo.rowStatus(i) != 0) updateCnt ++;
  656. }
  657. if(updateCnt == 0) {
  658. messageBox("변경사항이","I004");
  659. return;
  660. }
  661. /* 변경사항 유무 체크 End */
  662. if(messageBox("","Q002") == "6"){
  663. var updatedata = grd_druginfo.getUpdateData();
  664. model.setValue("/root/send/saveitem/drugidinfo", updatedata);
  665. submit("TXADB63301");
  666. btn_sea.dispatch("DOMActivate");
  667. }
  668. ]]>
  669. </script>
  670. </button>
  671. </group>
  672. </group>
  673. </xhtml:body>
  674. </xhtml:html>