SPMRJ00200_다학제간환자교육정보입력.xfdl 38 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMRJ00200" position="absolute 0 0 1133 700" titletext="환자교육 통합기록 입력" oninit="SPMRJ00200_oninit" onload="SPMRJ00200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid position="absolute 1 26 846 296" id="datagrid14" scrollbars="autovert" binddataset="ds_J000000014" oncellclick="datagrid14_oncellclick">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="40"/>
  12. <Column size="100"/>
  13. <Column size="536"/>
  14. <Column size="0"/>
  15. <Column size="0"/>
  16. <Column size="0"/>
  17. </Columns>
  18. <Rows>
  19. <Row size="24" band="head"/>
  20. <Row size="24"/>
  21. </Rows>
  22. <Band id="head">
  23. <Cell text="선택"/>
  24. <Cell col="1" text="교육항목"/>
  25. <Cell col="2" text="교육내용"/>
  26. <Cell col="3"/>
  27. <Cell col="4"/>
  28. <Cell col="5"/>
  29. </Band>
  30. <Band id="body">
  31. <Cell displaytype="checkbox" edittype="checkbox" text="bind:selected" expr="expr:(selected==&quot;true&quot;||selected==1)?1:0"/>
  32. <Cell col="1" text="bind:cdnm"/>
  33. <Cell col="2" text="bind:refcdnm"/>
  34. <Cell col="3" text="bind:maincd"/>
  35. <Cell col="4" text="bind:cdno"/>
  36. <Cell col="5" text="bind:refcd1"/>
  37. </Band>
  38. </Format>
  39. </Formats>
  40. </Grid>
  41. <Button position="absolute 1 315 65 337" id="button1" class="btn5" text="선택추가" onclick="button1_onclick"/>
  42. <Grid position="absolute 1 340 1131 525" id="datagrid06" binddataset="ds_educcntslist" autosizingtype="row" autofittype="col" cellsizingtype="both" extendsizetype="row">
  43. <Formats>
  44. <Format id="default">
  45. <Columns>
  46. <Column size="20" band="left"/>
  47. <Column size="100"/>
  48. <Column size="568"/>
  49. <Column size="0"/>
  50. <Column size="0"/>
  51. <Column size="0"/>
  52. <Column size="0"/>
  53. <Column size="0"/>
  54. <Column size="0"/>
  55. <Column size="0"/>
  56. <Column size="0"/>
  57. <Column size="0"/>
  58. <Column size="0"/>
  59. </Columns>
  60. <Rows>
  61. <Row size="24" band="head"/>
  62. <Row size="24"/>
  63. </Rows>
  64. <Band id="head">
  65. <Cell/>
  66. <Cell col="1" text="교육항목"/>
  67. <Cell col="2" text="교육내용"/>
  68. <Cell col="3"/>
  69. <Cell col="4"/>
  70. <Cell col="5"/>
  71. <Cell col="6"/>
  72. <Cell col="7"/>
  73. <Cell col="8"/>
  74. <Cell col="9"/>
  75. <Cell col="10"/>
  76. <Cell col="11"/>
  77. <Cell col="12"/>
  78. </Band>
  79. <Band id="body">
  80. <Cell celltype="head"/>
  81. <Cell col="1" displaytype="combo" edittype="combo" text="bind:educd"/>
  82. <Cell col="2" displaytype="text" edittype="textarea" text="bind:educnts" wordwrap="word" autosizerow="limitmin"/>
  83. <Cell col="3" text="bind:eduprepyn"/>
  84. <Cell col="4" text="bind:eduwho"/>
  85. <Cell col="5" text="bind:eduway"/>
  86. <Cell col="6" text="bind:edurslt"/>
  87. <Cell col="7" text="bind:edudd"/>
  88. <Cell col="8" text="bind:edutm"/>
  89. <Cell col="9" text="bind:eduid"/>
  90. <Cell col="10" text="bind:pid"/>
  91. <Cell col="11" text="bind:orddd"/>
  92. <Cell col="12" text="bind:cretno"/>
  93. </Band>
  94. </Format>
  95. </Formats>
  96. </Grid>
  97. <Button position="absolute 69 315 122 337" id="button2" class="btn2" text="행추가" onclick="button2_onclick"/>
  98. <Button position="absolute 126 315 179 337" id="button3" class="btn2" text="행삭제" onclick="button3_onclick"/>
  99. <Grid position="absolute 1 535 124 698" id="datagrid10" binddataset="ds_J000000010">
  100. <Formats>
  101. <Format id="default">
  102. <Columns>
  103. <Column size="40"/>
  104. <Column size="80"/>
  105. </Columns>
  106. <Rows>
  107. <Row size="24" band="head"/>
  108. <Row size="24"/>
  109. </Rows>
  110. <Band id="head">
  111. <Cell text="선택"/>
  112. <Cell col="1" text="학습준비도"/>
  113. </Band>
  114. <Band id="body">
  115. <Cell displaytype="checkbox" edittype="checkbox" text="bind:selected" expr="expr:(selected==&quot;true&quot;||selected==1)?1:0"/>
  116. <Cell col="1" text="bind:cdnm"/>
  117. </Band>
  118. </Format>
  119. </Formats>
  120. </Grid>
  121. <Grid position="absolute 130 535 365 698" id="datagrid11" binddataset="ds_J000000011" onselectchanged="datagrid11_onselectchanged">
  122. <Formats>
  123. <Format id="default">
  124. <Columns>
  125. <Column size="40"/>
  126. <Column size="192"/>
  127. <Column size="0"/>
  128. </Columns>
  129. <Rows>
  130. <Row size="24" band="head"/>
  131. <Row size="24"/>
  132. </Rows>
  133. <Band id="head">
  134. <Cell text="선택"/>
  135. <Cell col="1" text="교육대상자"/>
  136. <Cell col="2"/>
  137. </Band>
  138. <Band id="body">
  139. <Cell displaytype="checkbox" edittype="checkbox" text="bind:selected" expr="expr:(selected==&quot;true&quot;||selected==1)?1:0"/>
  140. <Cell col="1" displaytype="text" edittype="expr:getColumn(currow,'selected')=='true' || getColumn(currow,'selected')=='1'?&quot;text&quot;:&quot;none&quot;" style="background:EXPR(expr:getColumn(currow,'selected')=='true' || getColumn(currow,'selected')=='1'?&quot;#DDDDDD&quot;:&quot;#FFFFFF&quot;);background2:EXPR(expr:getColumn(currow,'selected')=='true' || getColumn(currow,'selected')=='1'?&quot;#DDDDDD&quot;:&quot;#FFFFFF&quot;);" text="bind:cdnm" enable="false"/>
  141. <Cell col="2" text="bind:cdno"/>
  142. </Band>
  143. </Format>
  144. </Formats>
  145. </Grid>
  146. <Grid position="absolute 371 535 606 698" id="datagrid12" binddataset="ds_J000000012" onselectchanged="datagrid12_onselectchanged">
  147. <Formats>
  148. <Format id="default">
  149. <Columns>
  150. <Column size="40"/>
  151. <Column size="192"/>
  152. <Column size="0"/>
  153. </Columns>
  154. <Rows>
  155. <Row size="24" band="head"/>
  156. <Row size="24"/>
  157. </Rows>
  158. <Band id="head">
  159. <Cell text="선택"/>
  160. <Cell col="1" text="교육방법"/>
  161. <Cell col="2"/>
  162. </Band>
  163. <Band id="body">
  164. <Cell displaytype="checkbox" edittype="checkbox" text="bind:selected" expr="expr:(selected==&quot;true&quot;||selected==1)?1:0"/>
  165. <Cell col="1" displaytype="text" edittype="expr:getColumn(currow,'selected')=='true' || getColumn(currow,'selected')=='1'?&quot;text&quot;:&quot;none&quot;" style="background:EXPR(expr:getColumn(currow,'selected')=='true' || getColumn(currow,'selected')=='1'?&quot;#DDDDDD&quot;:&quot;#FFFFFF&quot;);background2:EXPR(expr:getColumn(currow,'selected')=='true' || getColumn(currow,'selected')=='1'?&quot;#DDDDDD&quot;:&quot;#FFFFFF&quot;);" text="bind:cdnm" enable="false"/>
  166. <Cell col="2" text="bind:cdno"/>
  167. </Band>
  168. </Format>
  169. </Formats>
  170. </Grid>
  171. <Grid position="absolute 611 535 934 698" id="datagrid13" binddataset="ds_J000000013" onselectchanged="datagrid13_onselectchanged">
  172. <Formats>
  173. <Format id="default">
  174. <Columns>
  175. <Column size="40"/>
  176. <Column size="280"/>
  177. <Column size="0"/>
  178. </Columns>
  179. <Rows>
  180. <Row size="24" band="head"/>
  181. <Row size="24"/>
  182. </Rows>
  183. <Band id="head">
  184. <Cell text="선택"/>
  185. <Cell col="1" text="교육결과"/>
  186. <Cell col="2"/>
  187. </Band>
  188. <Band id="body">
  189. <Cell displaytype="checkbox" edittype="checkbox" text="bind:selected" expr="expr:(selected==&quot;true&quot;||selected==1)?1:0"/>
  190. <Cell col="1" displaytype="text" edittype="expr:getColumn(currow,'selected')=='true' || getColumn(currow,'selected')=='1'?&quot;text&quot;:&quot;none&quot;" style="background:EXPR(expr:getColumn(currow,'selected')=='true' || getColumn(currow,'selected')=='1'?&quot;#DDDDDD&quot;:&quot;#FFFFFF&quot;);background2:EXPR(expr:getColumn(currow,'selected')=='true' || getColumn(currow,'selected')=='1'?&quot;#DDDDDD&quot;:&quot;#FFFFFF&quot;);" text="bind:cdnm" enable="false"/>
  191. <Cell col="2" text="bind:cdno"/>
  192. </Band>
  193. </Format>
  194. </Formats>
  195. </Grid>
  196. <Button position="absolute 1011 675 1067 697" id="btn_save" class="btn3" text="저장" onclick="btn_save_onclick"/>
  197. <Button position="absolute 1071 675 1127 697" id="button5" class="btn4" text="닫기" onclick="button5_onclick"/>
  198. <Calendar position="absolute 1021 540 1111 559" id="ipt_edudd" dateformat="yyyy-MM-dd" value="null" autoselect="true"/>
  199. <Static text="* 교육일자 :" position="absolute 936 540 1021 560" id="caption1"/>
  200. <Tab position="absolute 851 25 1131 297" id="switch1">
  201. <Tabpages>
  202. <Tabpage text="약제" id="case1">
  203. <Layouts>
  204. <Layout>
  205. <Grid position="absolute 0 0 278 244" id="datagridJ000000006" scrollbars="autovert" binddataset="ds_J000000006">
  206. <Formats>
  207. <Format id="default">
  208. <Columns>
  209. <Column size="40"/>
  210. <Column size="233"/>
  211. </Columns>
  212. <Rows>
  213. <Row size="24" band="head"/>
  214. <Row size="24"/>
  215. </Rows>
  216. <Band id="head">
  217. <Cell text="선택"/>
  218. <Cell col="1" text="약제"/>
  219. </Band>
  220. <Band id="body">
  221. <Cell displaytype="checkbox" edittype="checkbox" text="bind:selected" expr="expr:(selected==&quot;true&quot;||selected==1)?1:0"/>
  222. <Cell col="1" text="bind:cdnm"/>
  223. </Band>
  224. </Format>
  225. </Formats>
  226. </Grid>
  227. </Layout>
  228. </Layouts>
  229. </Tabpage>
  230. <Tabpage text="통증관리" id="case2">
  231. <Layouts>
  232. <Layout>
  233. <Grid position="absolute 0 0 278 244" id="datagridJ000000007" scrollbars="autovert" binddataset="ds_J000000007">
  234. <Formats>
  235. <Format id="default">
  236. <Columns>
  237. <Column size="40"/>
  238. <Column size="233"/>
  239. </Columns>
  240. <Rows>
  241. <Row size="24" band="head"/>
  242. <Row size="24"/>
  243. </Rows>
  244. <Band id="head">
  245. <Cell text="선택"/>
  246. <Cell col="1" text="통증관리"/>
  247. </Band>
  248. <Band id="body">
  249. <Cell displaytype="checkbox" edittype="checkbox" text="bind:selected" expr="expr:(selected==&quot;true&quot;||selected==1)?1:0"/>
  250. <Cell col="1" text="bind:cdnm"/>
  251. </Band>
  252. </Format>
  253. </Formats>
  254. </Grid>
  255. </Layout>
  256. </Layouts>
  257. </Tabpage>
  258. <Tabpage text="감염관리" id="case3">
  259. <Layouts>
  260. <Layout>
  261. <Grid position="absolute 0 0 278 244" id="datagridJ000000008" scrollbars="autovert" binddataset="ds_J000000008">
  262. <Formats>
  263. <Format id="default">
  264. <Columns>
  265. <Column size="40"/>
  266. <Column size="233"/>
  267. </Columns>
  268. <Rows>
  269. <Row size="24" band="head"/>
  270. <Row size="24"/>
  271. </Rows>
  272. <Band id="head">
  273. <Cell text="선택"/>
  274. <Cell col="1" text="감염관리"/>
  275. </Band>
  276. <Band id="body">
  277. <Cell displaytype="checkbox" edittype="checkbox" text="bind:selected" expr="expr:(selected==&quot;true&quot;||selected==1)?1:0"/>
  278. <Cell col="1" text="bind:cdnm"/>
  279. </Band>
  280. </Format>
  281. </Formats>
  282. </Grid>
  283. </Layout>
  284. </Layouts>
  285. </Tabpage>
  286. <Tabpage text="의료기기" id="case4">
  287. <Layouts>
  288. <Layout>
  289. <Grid position="absolute 0 0 278 244" id="datagridJ000000009" scrollbars="autovert" binddataset="ds_J000000009">
  290. <Formats>
  291. <Format id="default">
  292. <Columns>
  293. <Column size="40"/>
  294. <Column size="233"/>
  295. </Columns>
  296. <Rows>
  297. <Row size="24" band="head"/>
  298. <Row size="24"/>
  299. </Rows>
  300. <Band id="head">
  301. <Cell text="선택"/>
  302. <Cell col="1" text="의료기기"/>
  303. </Band>
  304. <Band id="body">
  305. <Cell displaytype="checkbox" edittype="checkbox" text="bind:selected" expr="expr:(selected==&quot;true&quot;||selected==1)?1:0"/>
  306. <Cell col="1" text="bind:cdnm"/>
  307. </Band>
  308. </Format>
  309. </Formats>
  310. </Grid>
  311. </Layout>
  312. </Layouts>
  313. </Tabpage>
  314. </Tabpages>
  315. </Tab>
  316. <Button position="absolute 943 675 1007 697" id="button6" class="btn2" visible="false" text="체크추가" onclick="button6_onclick"/>
  317. <Static text="* 교육시간 :" position="absolute 936 565 1021 585" id="caption2"/>
  318. <MaskEdit position="absolute 1021 565 1086 584" id="ipt_edutm" mask="##:##" limitbymask="none" type="string" maskchar=" " displaynulltext=" " style="align:center middle;" autoselect="true"/>
  319. <Static position="absolute 1 5 618 26" id="caption17" class="tit_2"/>
  320. <Shape position="absolute 1 21 845 27" id="line12" class="line_10"/>
  321. </Layout>
  322. </Layouts>
  323. <Objects>
  324. <Dataset id="ds_educcntslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  325. <ColumnInfo>
  326. <Column id="educd" type="STRING"/>
  327. <Column id="educnts" type="STRING"/>
  328. <Column id="eduprepyn" type="STRING"/>
  329. <Column id="eduwho" type="STRING"/>
  330. <Column id="eduway" type="STRING"/>
  331. <Column id="edurslt" type="STRING"/>
  332. <Column id="edudd" type="STRING"/>
  333. <Column id="edutm" type="STRING"/>
  334. <Column id="eduid" type="STRING"/>
  335. <Column id="pid" type="STRING"/>
  336. <Column id="orddd" type="STRING"/>
  337. <Column id="cretno" type="STRING"/>
  338. </ColumnInfo>
  339. </Dataset>
  340. <Dataset id="ds_J000000006" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  341. <ColumnInfo>
  342. <Column id="selected" type="STRING"/>
  343. <Column id="cdnm" type="STRING"/>
  344. </ColumnInfo>
  345. </Dataset>
  346. <Dataset id="ds_J000000007" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  347. <ColumnInfo>
  348. <Column id="selected" type="STRING"/>
  349. <Column id="cdnm" type="STRING"/>
  350. </ColumnInfo>
  351. </Dataset>
  352. <Dataset id="ds_J000000008" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  353. <ColumnInfo>
  354. <Column id="selected" type="STRING"/>
  355. <Column id="cdnm" type="STRING"/>
  356. </ColumnInfo>
  357. </Dataset>
  358. <Dataset id="ds_J000000009" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  359. <ColumnInfo>
  360. <Column id="selected" type="STRING"/>
  361. <Column id="cdnm" type="STRING"/>
  362. </ColumnInfo>
  363. </Dataset>
  364. <Dataset id="ds_init_pinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  365. <ColumnInfo>
  366. <Column id="instcd" type="STRING" size="256"/>
  367. <Column id="pid" type="STRING" size="256"/>
  368. <Column id="orddd" type="STRING" size="256"/>
  369. <Column id="cretno" type="STRING" size="256"/>
  370. <Column id="workpart" type="STRING" size="256"/>
  371. </ColumnInfo>
  372. <Rows>
  373. <Row>
  374. <Col id="instcd"/>
  375. <Col id="pid"/>
  376. <Col id="orddd"/>
  377. <Col id="cretno"/>
  378. <Col id="workpart"/>
  379. </Row>
  380. </Rows>
  381. </Dataset>
  382. <Dataset id="ds_J000000010" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  383. <ColumnInfo>
  384. <Column id="selected" type="STRING"/>
  385. <Column id="cdnm" type="STRING"/>
  386. </ColumnInfo>
  387. </Dataset>
  388. <Dataset id="ds_J000000011" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  389. <ColumnInfo>
  390. <Column id="selected" type="STRING"/>
  391. <Column id="cdnm" type="STRING"/>
  392. </ColumnInfo>
  393. </Dataset>
  394. <Dataset id="ds_J000000012" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  395. <ColumnInfo>
  396. <Column id="selected" type="STRING"/>
  397. <Column id="cdnm" type="STRING"/>
  398. </ColumnInfo>
  399. </Dataset>
  400. <Dataset id="ds_J000000013" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  401. <ColumnInfo>
  402. <Column id="selected" type="STRING"/>
  403. <Column id="cdnm" type="STRING"/>
  404. </ColumnInfo>
  405. </Dataset>
  406. <Dataset id="ds_J000000014" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  407. <ColumnInfo>
  408. <Column id="selected" type="STRING"/>
  409. <Column id="cdnm" type="STRING"/>
  410. <Column id="refcdnm" type="STRING"/>
  411. <Column id="maincd" type="STRING"/>
  412. <Column id="cdno" type="STRING"/>
  413. <Column id="refcd1" type="STRING"/>
  414. </ColumnInfo>
  415. </Dataset>
  416. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  417. <ColumnInfo>
  418. <Column id="instcd" type="STRING" size="256"/>
  419. <Column id="pid" type="STRING" size="256"/>
  420. <Column id="orddd" type="STRING" size="256"/>
  421. <Column id="cretno" type="STRING" size="256"/>
  422. </ColumnInfo>
  423. <Rows>
  424. <Row>
  425. <Col id="instcd"/>
  426. <Col id="pid"/>
  427. <Col id="orddd"/>
  428. <Col id="cretno"/>
  429. </Row>
  430. </Rows>
  431. </Dataset>
  432. <Dataset id="ds_patordinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  433. <ColumnInfo>
  434. <Column id="patordinfo" type="STRING" size="256"/>
  435. </ColumnInfo>
  436. <Rows>
  437. <Row/>
  438. </Rows>
  439. </Dataset>
  440. <Dataset id="ds_msglist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  441. </Objects>
  442. <Bind>
  443. <BindItem id="item0" compid="caption17" propid="text" datasetid="ds_patordinfo" columnid="patordinfo"/>
  444. </Bind>
  445. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  446. * System Name :
  447. * Job Name :
  448. * Creator :
  449. * Make Date : 2015-01-14
  450. * Description :
  451. *---------------------------------------------------------------------------------------
  452. * Modify Date Modifier Modify Description
  453. *---------------------------------------------------------------------------------------
  454. * 2015-01-14 Live Converter TF->XP
  455. *
  456. *---------------------------------------------------------------------------------------
  457. ****************************************************************************************/
  458. include "com_commonxp::comm_main.xjs";
  459. //include "emr_jcimngtxp::SMMRJ09900.xjs";
  460. include "emr_prcpmngtxp::MMOCommon.xjs";
  461. /* --------------------------------------------------*/
  462. /* type : function */
  463. /* access : public */
  464. /* desc : xforms-ready시 수행한다 */
  465. /* return : */
  466. /* --------------------------------------------------*/
  467. function fInit() {
  468. var vPid ="";
  469. var vOrddd ="";
  470. var vCretno ="";
  471. var vEducd ="";
  472. var vEducnts ="";
  473. var vWorkPart ="";
  474. if (frmf_isPopup()) {
  475. vPid = opener.frmf_getParameter("SPMRJ00200_pid");
  476. vOrddd = opener.frmf_getParameter("SPMRJ00200_orddd");
  477. vCretno = opener.frmf_getParameter("SPMRJ00200_cretno");
  478. vEducd = opener.frmf_getParameter("SPMRJ00200_educd");
  479. vEducnts = opener.frmf_getParameter("SPMRJ00200_educnts");
  480. vWorkPart = opener.frmf_getParameter("SPMRJ00200_workpart");
  481. }else
  482. {
  483. vPid = frmf_getParameter("SPMRJ00200_pid");
  484. vOrddd = frmf_getParameter("SPMRJ00200_orddd");
  485. vCretno = frmf_getParameter("SPMRJ00200_cretno");
  486. vEducd = frmf_getParameter("SPMRJ00200_educd");
  487. vEducnts = frmf_getParameter("SPMRJ00200_educnts");
  488. vWorkPart = frmf_getParameter("SPMRJ00200_workpart");
  489. }
  490. if(utlf_isNull(vPid)||utlf_isNull(vOrddd)||utlf_isNull(vCretno)){
  491. sysf_messageBox("전달 인자값이 누락되었습니다.","I007"); //*I007=확인하십시오.
  492. return;
  493. }
  494. ds_init_pinfo.setColumn(0,"pid", vPid);
  495. ds_init_pinfo.setColumn(0,"orddd", vOrddd);
  496. ds_init_pinfo.setColumn(0,"cretno",vCretno);
  497. ds_init_pinfo.setColumn(0,"workpart",vWorkPart);
  498. fSelectCodeList();
  499. ipt_edudd.value = utlf_getCurrentDate().substr(0, 8);
  500. ipt_edutm.value = utlf_getCurrentTime().substr(0, 4);
  501. sysf_trace(utlf_getCurrentTime().substr(0, 4));
  502. sysf_trace(ipt_edutm.value);
  503. fSelectEducCntsList();
  504. if (!utlf_isNull(vEducd)||!utlf_isNull(vEducnts)){
  505. fOpenRowAdd(vEducd,vEducnts,vPid,vOrddd,vCretno);
  506. }
  507. }
  508. /**
  509. * 그리드 행추가 버튼을 클릭하였을 경우 이벤트
  510. *
  511. */
  512. function fOpenRowAdd(param1,param2,param3,param4,param5){
  513. // 입력할 행 추가.
  514. var cur_row = ds_educcntslist.addRow(); // 추가된 행 번호 가져오기
  515. ds_educcntslist.setColumn(cur_row,"educd", param1);
  516. ds_educcntslist.setColumn(cur_row,"educnts" , param2);
  517. ds_educcntslist.setColumn(cur_row,"pid", param3);
  518. ds_educcntslist.setColumn(cur_row,"orddd", param4);
  519. ds_educcntslist.setColumn(cur_row,"cretno" , param5);
  520. }
  521. function fSelectCodeList(){
  522. var arrParam = [{dsNm: "ds_J000000006", cdGrpId: "J000000006"}
  523. ,{dsNm: "ds_J000000007", cdGrpId: "J000000007"}
  524. ,{dsNm: "ds_J000000008", cdGrpId: "J000000008"}
  525. ,{dsNm: "ds_J000000009", cdGrpId: "J000000009"}
  526. ,{dsNm: "ds_J000000010", cdGrpId: "J000000010"}
  527. ,{dsNm: "ds_J000000011", cdGrpId: "J000000011"}
  528. ,{dsNm: "ds_J000000012", cdGrpId: "J000000012"}
  529. ,{dsNm: "ds_J000000013", cdGrpId: "J000000013"}
  530. ,{dsNm: "ds_J000000014", cdGrpId: "J000000014"}
  531. ]
  532. appf_getCodeList(arrParam);
  533. //emrfGetCodeList(new Array("J000000006","J000000007","J000000008","J000000009","J000000010","J000000011","J000000012","J000000013","J000000014"), new Array("/root/init/J000000006","/root/init/J000000007","/root/init/J000000008","/root/init/J000000009","/root/init/J000000010","/root/init/J000000011","/root/init/J000000012","/root/init/J000000013","/root/init/J000000014"));
  534. //emrfGetCodeList(new Array("J000000014"), new Array("/root/init/list14"),"Y");
  535. }
  536. function fSelectEducCntsList(){
  537. ds_send.setColumn(0,"pid", ds_init_pinfo.getColumn(0,"pid"));
  538. ds_send.setColumn(0,"orddd", ds_init_pinfo.getColumn(0,"orddd"));
  539. ds_send.setColumn(0,"cretno",ds_init_pinfo.getColumn(0,"cretno"));
  540. var oParam = {};
  541. oParam.id = "TRMRJ00202";
  542. oParam.service = "jcimngtapp.JcimngtBase";
  543. oParam.method = "reqGetEducCntsList";
  544. oParam.inds = "req=ds_send";
  545. oParam.outds = "ds_educcntslist=educcntslist ds_patordinfo=patordinfo";
  546. oParam.async = false;
  547. oParam.callback = "cf_TRMRJ00202";
  548. tranf_submit(oParam);// 입력화면으로 입력만 가능 하도록 처리 주석 풀면 조회하여 기존 데어터도 처리 가능
  549. }
  550. function cf_TRMRJ00202(sSvcId, nErrorCode, sErrorMsg) {
  551. if(nErrorCode < 0) return;
  552. }
  553. function fCheckGrid14(){
  554. var selectedRow = ds_J000000014.rowposition;
  555. if(0 == selectedRow){return;}
  556. var selectValue = ds_J000000014.getColumn(selectedRow,lf_getBindCellName(datagrid14,0));
  557. if (selectValue=="true")
  558. {
  559. var refcdid1Value = ds_J000000014.getColumn(selectedRow,lf_getBindCellName(datagrid14,5));
  560. if(!(refcdid1Value=="-"))
  561. {
  562. switch (refcdid1Value){
  563. case "J000000006":
  564. switch1.tabindex = 0;
  565. case "J000000007":
  566. switch1.tabindex = 1;
  567. case "J000000008":
  568. switch1.tabindex = 2;
  569. case "J000000009":
  570. switch1.tabindex = 3;
  571. }
  572. }
  573. }
  574. }
  575. function fSelectedAdd(){
  576. var datagrid1Rows = ds_J000000014.rowcount
  577. if(0 == datagrid1Rows){return;}
  578. var vSpace = " ";
  579. var vComma = ",";
  580. var vPid = ds_init_pinfo.getColumn(0,"pid");
  581. var vOrddd = ds_init_pinfo.getColumn(0,"orddd");
  582. var vCretno = ds_init_pinfo.getColumn(0,"cretno");
  583. for(i=0; i< datagrid1Rows;i++)
  584. {
  585. var selectValue = ds_J000000014.getColumn(i,lf_getBindCellName(datagrid14,0));
  586. var vAdverb = "";
  587. if(selectValue=="true")
  588. {
  589. var vCdidJ0000000014 = ds_J000000014.getColumn(i,lf_getBindCellName(datagrid14,4));
  590. var vMemo = ds_J000000014.getColumn(i,lf_getBindCellName(datagrid14,2));
  591. var vRefcdid1Value = ds_J000000014.getColumn(i,lf_getBindCellName(datagrid14,5));
  592. if(!(vRefcdid1Value == "-"))
  593. {
  594. var subDatagridSize = this.objects["ds_"+vRefcdid1Value].rowcount;
  595. var vSubTotalMomo = "";
  596. for(k=0; k< subDatagridSize;k++)
  597. {
  598. var subSelectValue = this.objects["ds_"+vRefcdid1Value].getColumn(k,lf_getBindCellName(this.components["datagrid"+vRefcdid1Value],0));
  599. if(subSelectValue=="true")
  600. {
  601. vAdverb = " ";
  602. var vSubMomo = this.objects["ds_"+vRefcdid1Value].getColumn(k,lf_getBindCellName(this.components["datagrid"+vRefcdid1Value],1));
  603. if (utlf_isNull(vSubTotalMomo))
  604. {
  605. vSubTotalMomo = vSubMomo;
  606. }else
  607. {
  608. vSubTotalMomo = vSubTotalMomo+vComma+vSpace+vSubMomo;
  609. }
  610. }
  611. }
  612. vMemo = vSubTotalMomo+vAdverb+vMemo;
  613. }
  614. var vAddRow = ds_educcntslist.addRow();
  615. ds_educcntslist.setColumn(vAddRow,"educd", vCdidJ0000000014);
  616. ds_educcntslist.setColumn(vAddRow,"educnts", vMemo);
  617. ds_educcntslist.setColumn(vAddRow,"pid",vPid);
  618. ds_educcntslist.setColumn(vAddRow,"orddd", vOrddd);
  619. ds_educcntslist.setColumn(vAddRow,"cretno", vCretno);
  620. }
  621. }
  622. ClearDataGridCheck(ds_J000000014);
  623. ClearDataGridCheck(ds_J000000006);
  624. ClearDataGridCheck(ds_J000000007);
  625. ClearDataGridCheck(ds_J000000008);
  626. ClearDataGridCheck(ds_J000000009);
  627. }
  628. function ClearDataGridCheck(dsObj:Dataset){
  629. var gridRows = dsObj.rowcount;
  630. for(i=0; i< gridRows;i++){
  631. dsObj.setColumn(i,"selected","false");
  632. }
  633. }
  634. /**
  635. * 그리드 행추가 버튼을 클릭하였을 경우 이벤트
  636. *
  637. */
  638. function fClickRowAddBtn(){
  639. var vPid = ds_init_pinfo.getColumn(0,"pid");
  640. var vOrddd = ds_init_pinfo.getColumn(0,"orddd");
  641. var vCretno = ds_init_pinfo.getColumn(0,"cretno");
  642. ds_educcntslist.addRow(); // 입력할 행 추가.
  643. var cur_row = ds_educcntslist.rowposition; // 추가된 행 번호 가져오기
  644. ds_educcntslist.setColumn(cur_row,"pid", vPid);
  645. ds_educcntslist.setColumn(cur_row,"orddd", vOrddd);
  646. ds_educcntslist.setColumn(cur_row,"cretno",vCretno);
  647. }
  648. /**
  649. * 삭제 버튼을 클릭하였을 경우 이벤트
  650. *
  651. */
  652. function fClickDeleteBtn(){
  653. var cur_row = ds_educcntslist.rowposition; // 행 번호 가져오기
  654. var iStatus = ds_educcntslist.getRowType(cur_row);
  655. if(cur_row <= 0 || cur_row =="undefined") {
  656. sysf_messageBox("삭제할 행을 선택하시기 바랍니다.","C002"); // *C002=선택하십시오 !
  657. return;
  658. }
  659. if (iStatus == 2){ // 새로 삽입된 행이면
  660. ds_educcntslist.deleteRow(cur_row);
  661. }else if (iStatus == 8){ // 삭제로 표시된 행이면
  662. ds_educcntslist.setRowType(cur_row, 1)
  663. }else{
  664. ds_educcntslist.setRowType(cur_row, 8)
  665. }
  666. }
  667. function fCheckedGrd(grid:Grid){
  668. //EXPR로 처리
  669. // var currRow = grid.currentrow;
  670. // var checkedYn = grid.getCellValue(currRow,0);
  671. // var checkedRowValue = grid.getCellValue(currRow,2);
  672. // var colDisabledCol = "";
  673. // var colDisabledYN = "";
  674. // var rowDefaultValue = "";
  675. //
  676. // if(checkedYn=="true" || checkedYn=="1"){
  677. // colDisabledYN = "false";
  678. // colDisabledCol = "#DDDDDD";
  679. // rowDefaultValue = "";
  680. // }else{
  681. // colDisabledYN = "true";
  682. // colDisabledCol = "#FFFFFF";
  683. // rowDefaultValue = "직접입력(free text)";
  684. // }
  685. // if(checkedRowValue=="999"){
  686. // cellAttribute("disabled", currRow, 1 ) = colDisabledYN;
  687. // grid.cellstyle("background-color", currRow, 1) = colDisabledCol;
  688. // if (colDisabledYN=="true"){
  689. // grid.valueMatrix(currRow, 1) = rowDefaultValue;
  690. // }
  691. //
  692. // }
  693. }
  694. function fAddOtherGrid(){
  695. var vGridRows06 = ds_educcntslist.rowcount;
  696. var vGridRows10 = ds_J000000010.rowcount;
  697. var vGridRows11 = ds_J000000011.rowcount;
  698. var vGridRows12 = ds_J000000012.rowcount;
  699. var vGridRows13 = ds_J000000013.rowcount;
  700. var vGridCheckValue10 = "";
  701. var vGridCheckValue11 = "";
  702. var vGridCheckValue12 = "";
  703. var vGridCheckValue13 = "";
  704. var vGridCheckCnt10 = 0;
  705. var vGridCheckCnt11 = 0;
  706. var vGridCheckCnt12 = 0;
  707. var vGridCheckCnt13 = 0;
  708. for(i10=0; i10<vGridRows10; i10++)
  709. {
  710. if(ds_J000000010.getColumn(i10,"selected") =="true" || ds_J000000010.getColumn(i10,"selected") =="1")
  711. {
  712. vGridCheckCnt10 = vGridCheckCnt10 + 1;
  713. vGridCheckValue10 = vGridCheckValue10+ds_J000000010.getColumn(i10,"cdnm");
  714. }
  715. }
  716. if(vGridCheckCnt10==0){
  717. sysf_messageBox("선택된 학습준비도 항목이 없습니다. ","I007");//I007=확인하십시오.
  718. return false;
  719. }
  720. for(i11=0; i11<vGridRows11; i11++)
  721. {
  722. if(ds_J000000011.getColumn(i11,"selected") =="true" || ds_J000000011.getColumn(i11,"selected") =="1")
  723. {
  724. vGridCheckCnt11 = vGridCheckCnt11 + 1;
  725. if(utlf_isNull(vGridCheckValue11))
  726. {
  727. vGridCheckValue11 = vGridCheckValue11+ ds_J000000011.getColumn(i11,"cdnm");
  728. }else
  729. {
  730. vGridCheckValue11 = vGridCheckValue11+", "+ds_J000000011.getColumn(i11,"cdnm");
  731. }
  732. }
  733. }
  734. if(vGridCheckCnt11==0){
  735. sysf_messageBox("선택된 교육대상자 항목이 없습니다. ","I007");//I007=확인하십시오.
  736. return false;
  737. }
  738. for(i12=0; i12<vGridRows12; i12++)
  739. {
  740. if(ds_J000000012.getColumn(i12,"selected") =="true" || ds_J000000012.getColumn(i12,"selected") =="1")
  741. {
  742. vGridCheckCnt12 = vGridCheckCnt12 + 1;
  743. if(utlf_isNull(vGridCheckValue12))
  744. {
  745. vGridCheckValue12 = vGridCheckValue12+ds_J000000012.getColumn(i12,"cdnm") ;
  746. }else
  747. {
  748. vGridCheckValue12 = vGridCheckValue12+", "+ds_J000000012.getColumn(i12,"cdnm") ;
  749. }
  750. }
  751. }
  752. if(vGridCheckCnt12==0){
  753. sysf_messageBox("선택된 교육방법 항목이 없습니다. ","I007");//I007=확인하십시오.
  754. return false;
  755. }
  756. for(i13=0; i13<vGridRows13; i13++)
  757. {
  758. if(ds_J000000013.getColumn(i13,"selected") =="true" || ds_J000000013.getColumn(i13,"selected") =="1")
  759. {
  760. vGridCheckCnt13 = vGridCheckCnt13 + 1;
  761. vGridCheckValue13 = vGridCheckValue13+ds_J000000013.getColumn(i13,"cdnm");
  762. }
  763. }
  764. if(vGridCheckCnt13==0){
  765. sysf_messageBox("선택된 교육결과 항목이 없습니다. ","I007");//I007=확인하십시오.
  766. return false;
  767. }
  768. for(i06=0; i06<vGridRows06; i06++)
  769. {
  770. ds_educcntslist.setColumn(i06,"eduprepyn", vGridCheckValue10);
  771. ds_educcntslist.setColumn(i06,"eduwho", vGridCheckValue11);
  772. ds_educcntslist.setColumn(i06,"eduway", vGridCheckValue12);
  773. ds_educcntslist.setColumn(i06,"edurslt", vGridCheckValue13);
  774. ds_educcntslist.setColumn(i06,"edudd", ipt_edudd.value);
  775. ds_educcntslist.setColumn(i06,"edutm", ipt_edutm.value);
  776. }
  777. return true;
  778. }
  779. /*
  780. * 저장 버튼을 클릭하였을 경우 이벤트
  781. *
  782. */
  783. function fOnClickSaveBtn(){
  784. if(!checkGridUpdate(datagrid06)){
  785. sysf_messageBox("저장할 자료가 존재하지 않습니다. ","I007");//I007=확인하십시오.
  786. return;
  787. }
  788. if(utlf_isNull(sysf_getUserInfo("jobkindcd"))){
  789. sysf_messageBox("직종코드가 존재하지 않습니다. ","I007");//I007=확인하십시오.
  790. return;
  791. }
  792. if(!fAddOtherGrid()){
  793. return;
  794. }
  795. if(checkGridField(datagrid06,"educd▦educnts▦eduprepyn▦eduwho▦eduway▦edurslt▦edudd▦edutm▦pid▦orddd▦cretno")==false){
  796. sysf_messageBox("데이터중에 비어있는 필수필드가 있습니다. ","I007");//I007=확인하십시오.
  797. return;
  798. }
  799. //model.makeValue("/root/send/listdata",datagrid06.getUpdateData());
  800. var oParam = {};
  801. oParam.id = "TXMRJ00101";
  802. oParam.service = "jcimngtapp.JcimngtBase";
  803. oParam.method = "reqSetEducCntsList";
  804. oParam.inds = "listdata="+grdf_getGridUpdateData(datagrid06) ;
  805. oParam.outds = "ds_msglist=msglist";
  806. oParam.async = false;
  807. oParam.callback = "cf_TXMRJ00101";
  808. tranf_submit(oParam);
  809. }
  810. function cf_TXMRJ00101(sSvcId, nErrorCode, sErrorMsg) {
  811. if(nErrorCode < 0) return;
  812. ClearDataGridCheck(datagrid10);
  813. ClearDataGridCheck(datagrid11);
  814. ClearDataGridCheck(datagrid12);
  815. ClearDataGridCheck(datagrid13);
  816. this.ds_educcntslist.clearData();
  817. if( sysf_messageBox("다학제 간 환자 교육내용이 등록 되었습니다. ","Q008")!=6){//추가 하시겠습니까?
  818. fClose();
  819. }
  820. }
  821. /**
  822. * @group :
  823. * @ver : 2006.12.20
  824. * @by :
  825. * @---------------------------------------------------
  826. * @type : function
  827. * @access : public
  828. * @desc :
  829. * @return : bool
  830. * @---------------------------------------------------
  831. */
  832. function checkGridUpdate(grid)
  833. {
  834. //var iData = grid.getUpdateDataXml("insert");
  835. //var uData = grid.getUpdateDataXml("update");
  836. //var dData = grid.getUpdateDataXml("delete");
  837. if (utlf_isNull(grdf_getGridUpdateData(grid))) return false;
  838. else return true;
  839. }
  840. /**
  841. * @group :
  842. * @ver : 2006.12.20
  843. * @by :
  844. * @---------------------------------------------------
  845. * @type : function
  846. * @access : public
  847. * @desc :
  848. * @return : bool
  849. * @---------------------------------------------------
  850. */
  851. function checkGridField(grid:Grid, field){
  852. var nodeset = grid.binddataset;
  853. var iStatus;
  854. //var iData = grid.getUpdateDataXml("insert");
  855. for (i=0; i<nodeset.rowcount; i++){
  856. iStatus = nodeset.getRowType(i);
  857. if (iStatus == 2 ){
  858. var fieldArr = field.split("▦");
  859. if(fieldArr.length < 1){
  860. return false;
  861. }
  862. for(var j = 0; j < fieldArr.length; j++){
  863. if(utlf_isNull(fieldArr[j])){
  864. continue;
  865. }
  866. if(utlf_isNull(nodeset.getColumn(i,fieldArr[j]))) return false;
  867. }
  868. }
  869. }
  870. return true;
  871. }
  872. function fClose(){
  873. /*
  874. * 닫기 버튼 클릭시 저장 여부 체크 하여 저장 이전에 메세지 출력하고 RETURN 처리함
  875. */
  876. if(checkGridUpdate(datagrid06)&&ds_init_pinfo.getColumn(0,"workpart")=="inreq"){ // "inreq" 입원 의뢰의 경우 저장 필수 처리
  877. sysf_messageBox("저장 하지 않은 자료가 존재합니다. ","I007");//I007=확인하십시오.
  878. return;
  879. }
  880. this.close();
  881. }
  882. function SPMRJ00200_oninit(obj:Form, e:InitEventInfo)
  883. {
  884. frmf_initForm(obj);
  885. }
  886. function SPMRJ00200_onload(obj:Form, e:LoadEventInfo)
  887. {
  888. grdf_setRowTypeIcon(datagrid06, 0);
  889. fInit();
  890. }
  891. function datagrid14_oncellclick(obj:Grid, e:GridClickEventInfo)
  892. {
  893. fCheckGrid14();
  894. }
  895. function button1_onclick(obj:Button, e:ClickEventInfo)
  896. {
  897. fSelectedAdd();
  898. }
  899. function button2_onclick(obj:Button, e:ClickEventInfo)
  900. {
  901. fClickRowAddBtn();
  902. }
  903. function button3_onclick(obj:Button, e:ClickEventInfo)
  904. {
  905. fClickDeleteBtn();
  906. }
  907. function datagrid11_onselectchanged(obj:Grid, e:GridSelectEventInfo)
  908. {
  909. //fCheckedGrd(datagrid11);
  910. }
  911. function datagrid12_onselectchanged(obj:Grid, e:GridSelectEventInfo)
  912. {
  913. //fCheckedGrd(datagrid12);
  914. }
  915. function datagrid13_onselectchanged(obj:Grid, e:GridSelectEventInfo)
  916. {
  917. //fCheckedGrd(datagrid13);
  918. }
  919. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  920. {
  921. fOnClickSaveBtn();
  922. }
  923. function button5_onclick(obj:Button, e:ClickEventInfo)
  924. {
  925. fClose();
  926. }
  927. function button6_onclick(obj:Button, e:ClickEventInfo)
  928. {
  929. fAddGrdBottom();
  930. }
  931. ]]></Script>
  932. </Form>
  933. </FDL>