SMLVF00100_검증소견코드관리.xfdl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLVF00100" position="absolute 0 0 1256 805" titletext="판독소견코드관리" onload="SMLVF00100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="판독소견코드관리" class="tit_1" position="absolute 0 0 162 25"/>
  8. <Div id="grp_sea" anchor="left top right" taborder="1" style="align:center top;" position="absolute 0 25 1256 67" class="div_SA">
  9. <Layouts>
  10. <Layout>
  11. <Static id="caption2" text="조회구분" class="search_name" position="absolute 8 10 82 30" style="align:left middle;" anchor="default"/>
  12. <Combo id="cmb_SectCd" taborder="1" position="absolute 82 10 244 30" style="align:left middle;" anchor="default" innerdataset="@ds_readkind" codecolumn="value" datacolumn="label" index="0" value="0" text="전체" onitemchanged="grp_sea_cmb_SectCd_onitemchanged"/>
  13. <Edit id="input1" taborder="2" visible="false" position="absolute 247 10 409 30" style="align:left middle;" anchor="default" oneditclick="grp_sea_input1_oneditclick"/>
  14. <Button id="btn_Ref" taborder="3" text="조회" onlbuttonup="btn_Ref_onlbuttonup" class="btn1" position="absolute 1188 10 1244 30" style="align:left middle;" anchor="top right" onclick="grp_sea_btn_Ref_onclick"/>
  15. <Button id="btn_Init" taborder="4" text="초기화" onlbuttonup="btn_Init_onlbuttonup" class="btn3" position="absolute 1116 10 1185 30" anchor="top right"/>
  16. </Layout>
  17. </Layouts>
  18. </Div>
  19. <Static id="caption1" text="판독소견목록" class="tit_2" position="absolute 0 77 136 97"/>
  20. <Grid id="grd_readcmtlist" taborder="4" useinputpanel="false" position="absolute 0 97 477 805" onclick="readcmtlist_onclick" autofittype="col" anchor="all" binddataset="ds_grid_grd_readcmtlist" autoenter="select" class="CSS::lis.css">
  21. <Formats>
  22. <Format id="default">
  23. <Columns>
  24. <Column size="30"/>
  25. <Column size="31"/>
  26. <Column size="120"/>
  27. <Column size="300"/>
  28. <Column size="0"/>
  29. </Columns>
  30. <Rows>
  31. <Row size="24" band="head"/>
  32. <Row size="24"/>
  33. </Rows>
  34. <Band id="head">
  35. <Cell/>
  36. <Cell col="1"/>
  37. <Cell col="2" text="판독소견코드"/>
  38. <Cell col="3" text="판독소견코드명"/>
  39. <Cell col="4" text="소견"/>
  40. </Band>
  41. <Band id="body">
  42. <Cell celltype="head" expr="expr:currow+1"/>
  43. <Cell col="1" displaytype="image" style="align:center;"/>
  44. <Cell col="2" displaytype="text" edittype="expr:getRowType(currow) == 2 ? 'text' : 'none'" editfilter="upper,number,char" style="align:center middle;" text="bind:readcmtcd" editlimit="10" editacceptstab="true"/>
  45. <Cell col="3" displaytype="text" edittype="expr:getRowType(currow) == 2 ? 'text' : 'none'" style="align:left;" text="bind:readcmttitl" editlimit="100"/>
  46. <Cell col="4"/>
  47. </Band>
  48. </Format>
  49. </Formats>
  50. </Grid>
  51. <Static id="caption3" text="소견상세내용" class="tit_2" position="absolute 486 77 617 97" anchor="top right"/>
  52. <TextArea id="readcmtcnts" taborder="5" position="absolute 486 97 1256 805" anchor="top right bottom" maxlength="1000" ontextchanged="readcmtcnts_ontextchanged" class="input_essential" scrollbars="autovert" wordwrap="word" style="font:굴림체,12;" oneditclick="readcmtcnts_oneditclick"/>
  53. <Button id="btn_Save" taborder="0" text="저장" onlbuttonup="btn_Save_onlbuttonup" class="btn4" position="absolute 1200 0 1256 20" anchor="top right" onclick="btn_Save_onclick"/>
  54. <Button id="button1" taborder="2" text="행삭제" onlbuttonup="button1_onlbuttonup" class="btn2" position="absolute 367 74 420 94" anchor="top right" onclick="button1_onclick"/>
  55. <Button id="btn_grdadd" taborder="3" text="행추가" class="btn2" position="absolute 423 74 476 94" anchor="top right" onclick="btn_grdadd_onclick"/>
  56. </Layout>
  57. </Layouts>
  58. <Objects>
  59. <Dataset id="ds_readkind" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  60. <ColumnInfo>
  61. <Column id="label" type="STRING" size="256"/>
  62. <Column id="value" type="STRING" size="256"/>
  63. </ColumnInfo>
  64. <Rows>
  65. <Row>
  66. <Col id="label">전체</Col>
  67. <Col id="value">0</Col>
  68. </Row>
  69. <Row>
  70. <Col id="label">코드</Col>
  71. <Col id="value">1</Col>
  72. </Row>
  73. <Row>
  74. <Col id="label">코드명</Col>
  75. <Col id="value">2</Col>
  76. </Row>
  77. </Rows>
  78. </Dataset>
  79. <Dataset id="ds_grid_grd_readcmtlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_grid_grd_readcmtlist_oncolumnchanged" onvaluechanged="ds_grid_grd_readcmtlist_onvaluechanged">
  80. <ColumnInfo>
  81. <Column id="status" type="STRING" size="256"/>
  82. <column id="readcmtcd" type="STRING" size="256"/>
  83. <Column id="readcmttitl" type="STRING" size="256"/>
  84. <Column id="readcmtcnts" type="STRING" size="256"/>
  85. </ColumnInfo>
  86. </Dataset>
  87. </Objects>
  88. <Bind>
  89. <BindItem id="item0" compid="readcmtcnts" propid="value" datasetid="ds_grid_grd_readcmtlist" columnid="readcmtcnts"/>
  90. </Bind>
  91. <Style url="CSS::lis.css"/>
  92. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  93. * System Name :
  94. * Job Name :
  95. * Creator :
  96. * Make Date : 2015-11-09
  97. * Description :
  98. *---------------------------------------------------------------------------------------
  99. * Modify Date Modifier Modify Description
  100. *---------------------------------------------------------------------------------------
  101. * 2015-11-09 Live Converter TF->XP
  102. *
  103. *---------------------------------------------------------------------------------------
  104. ****************************************************************************************/
  105. include "com_commonxp::comm_main.xjs";
  106. function SMLVF00100_onload(obj:Form, e:LoadEventInfo)
  107. {
  108. //폼 초기화 함수
  109. frmf_initForm(obj);
  110. grdf_setRowTypeIcon(grd_readcmtlist,1);
  111. }
  112. function lf_getreadlsit() {
  113. var readkind = grp_sea.cmb_SectCd.value;
  114. var search = grp_sea.input1.value;
  115. var sInDsName = dsf_createDsRow("ds_temp_search"
  116. , [{col: "readkind", val: readkind}
  117. , {col: "search", val: search}]);
  118. var oParam = {};
  119. oParam.id = "TRLVF00101";
  120. oParam.service = "verificationbasemngtapp.CmtCdMngt";
  121. oParam.method = "reqGetReadCmtList";
  122. oParam.inds = "cond="+sInDsName;
  123. oParam.outds = "ds_grid_grd_readcmtlist=getReadCmtList";
  124. oParam.async = false;
  125. oParam.callback = "cf_TRLVF00101";
  126. tranf_submit(oParam);
  127. }
  128. function lf_exeReadCmtList() {
  129. var bChkValue= frmf_chkMdtGrid(grd_readcmtlist,[1,2],["판독소견코드","판독소견코드명"]);
  130. if(bChkValue==true) {
  131. for(i=0; i<ds_grid_grd_readcmtlist.rowcount; i++) {
  132. if(utlf_isNull(ds_grid_grd_readcmtlist.getColumn(i, "readcmtcnts"))) {
  133. sysf_messageBox(ds_grid_grd_readcmtlist.getColumn(i, "readcmttitl") + "의 소견상세내용이 없습니다.","E");
  134. //readcmtlist.rowStatus(i) = 0;
  135. ds_grid_grd_readcmtlist.setColumn(i, "status", "");
  136. return;
  137. }
  138. }
  139. sysf_trace("ds_grid_grd_readcmtlist : " + ds_grid_grd_readcmtlist.saveXML());
  140. return;
  141. var oParam = {};
  142. oParam.id = "TXLVF00101";
  143. oParam.service = "verificationbasemngtapp.CmtCdMngt";
  144. oParam.method = "reqSetReadCmtList";
  145. oParam.inds = "cond=ds_grid_grd_readcmtlist:U";
  146. oParam.async = false;
  147. oParam.callback = "cf_TRLVF00101";
  148. tranf_submit(oParam);
  149. }
  150. }
  151. // callback 함수
  152. function cf_TRLVF00101(strSvcID, nErrorCode, strErrorMag){
  153. if(nErrorCode != 0) {
  154. sysf_messageBox("ID: "+ strSvcID + " Error: " + strErrorMag, "E009", "");
  155. }else{
  156. switch(strSvcID){
  157. case "TRLVF00101":
  158. break;
  159. case "TXLVF00101":
  160. lf_getreadlsit();
  161. break;
  162. default:
  163. break;
  164. }
  165. }
  166. }
  167. //초기화
  168. function lf_setInit() {
  169. this.reload();
  170. }
  171. //행추가
  172. function lf_insRowAdd(pGridId) {
  173. var addRW = pGridId.addRow();
  174. ds_grid_grd_readcmtlist.setColumn(addRW,"status","i");
  175. grd_readcmtlist.setFocus();
  176. ds_grid_grd_readcmtlist.rowposition= ds_grid_grd_readcmtlist.rowcount-1;
  177. var nCellIdx=grd_readcmtlist.getBindCellIndex("body","readcmtcd");
  178. grd_readcmtlist.setCellPos(nCellIdx);
  179. grd_readcmtlist.showEditor(true);
  180. }
  181. //행삭제
  182. function lf_insRowDel() {
  183. var arrPostion = new Array();
  184. arrPostion[0] = ds_grid_grd_readcmtlist.rowposition;
  185. if(ds_grid_grd_readcmtlist.getRowType(arrPostion)==Dataset.ROWTYPE_INSERT){
  186. ds_grid_grd_readcmtlist.deleteRow(arrPostion);
  187. } else {
  188. grdf_setStatus(grd_readcmtlist, "D", arrPostion);
  189. ds_grid_grd_readcmtlist.setColumn(ds_grid_grd_readcmtlist.rowposition, "status", "d");
  190. }
  191. }
  192. //검색텍스트 박스 활성화
  193. function lf_viewtext() {
  194. grp_sea.input1.value = "";
  195. if(grp_sea.cmb_SectCd.value == "0"){
  196. grp_sea.input1.visible = false;
  197. }
  198. else{
  199. grp_sea.input1.visible = true;
  200. }
  201. }
  202. // 소견상세내용 update 상태처리
  203. function lf_upcnts() {
  204. if((ds_grid_grd_readcmtlist.getColumn(ds_grid_grd_readcmtlist.rowposition, "status") <> "d")
  205. &&(ds_grid_grd_readcmtlist.getColumn(ds_grid_grd_readcmtlist.rowposition, "status") <> "i")
  206. &&(ds_grid_grd_readcmtlist.getRowType(ds_grid_grd_readcmtlist.rowposition)==4)) {
  207. ds_grid_grd_readcmtlist.setColumn(ds_grid_grd_readcmtlist.rowposition, "status", "u"); // update
  208. }
  209. }
  210. //중복체크
  211. function lf_checkCmtCode(sCmtCode){
  212. var sCmtCd ="";
  213. for(var i=0; i < ds_grid_grd_readcmtlist.rowcount; i++){
  214. sCmtCd = ds_grid_grd_readcmtlist.getColumn(i,"readcmtcd");
  215. if(ds_grid_grd_readcmtlist.getRowType(i) != Dataset.ROWTYPE_INSERT){
  216. if(sCmtCd == sCmtCode){
  217. sysf_messageBox("소견코드가 존재합니다.확인해주세요.","I","");
  218. return false;
  219. }
  220. }
  221. }
  222. return true;
  223. }
  224. function button1_onlbuttonup(obj:Button, e:MouseEventInfo)
  225. {
  226. lf_insRowDel();
  227. }
  228. function readcmtlist_onclick(obj:Grid, e:ClickEventInfo)
  229. {
  230. lf_viewcnts();
  231. }
  232. function btn_Ref_onlbuttonup(obj:Button, e:MouseEventInfo)
  233. {
  234. lf_getreadlsit();
  235. }
  236. function btn_Save_onlbuttonup(obj:Button, e:MouseEventInfo)
  237. {
  238. lf_exeReadCmtList();
  239. }
  240. function btn_Init_onlbuttonup(obj:Button, e:MouseEventInfo)
  241. {
  242. lf_setInit();
  243. }
  244. function grp_sea_cmb_SectCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  245. {
  246. lf_viewtext();
  247. }
  248. function readcmtcnts_ontextchanged(obj:TextArea, e:TextChangedEventInfo)
  249. {
  250. if(e.pretext <> e.posttext) {
  251. }
  252. }
  253. function ds_grid_grd_readcmtlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  254. {
  255. if(e.oldvalue <> e.newvalue) {
  256. lf_upcnts();
  257. }
  258. }
  259. function btn_grdadd_onclick(obj:Button, e:ClickEventInfo)
  260. {
  261. lf_insRowAdd(ds_grid_grd_readcmtlist);
  262. }
  263. function ds_grid_grd_readcmtlist_onvaluechanged(obj:Dataset, e:DSColChangeEventInfo)
  264. {
  265. if(grd_readcmtlist.getCellPos()!= grd_readcmtlist.getBindCellIndex("body","readcmtcd")) return;
  266. var nRowNum = obj.rowposition;
  267. if(obj.getRowType(nRowNum) != Dataset.ROWTYPE_INSERT) return;
  268. var sCmtCd =obj.getColumn(nRowNum,"readcmtcd");
  269. if(utlf_isNull(sCmtCd)) return;
  270. if(lf_checkCmtCode(sCmtCd)==false){
  271. grd_readcmtlist.moveToPrevCell();
  272. obj.setColumn(nRowNum,"readcmtcd","");
  273. grd_readcmtlist.setFocus();
  274. obj.rowposition= nRowNum;
  275. var nCellIdx=grd_readcmtlist.getBindCellIndex("body","readcmtcd");
  276. grd_readcmtlist.setCellPos(nCellIdx);
  277. grd_readcmtlist.showEditor(true);
  278. }
  279. }
  280. function btn_Save_onclick(obj:Button, e:ClickEventInfo)
  281. {
  282. }
  283. function grp_sea_btn_Ref_onclick(obj:Button, e:ClickEventInfo)
  284. {
  285. }
  286. function grp_sea_input1_oneditclick(obj:Edit, e:EditClickEventInfo)
  287. {
  288. }
  289. function readcmtcnts_oneditclick(obj:TextArea, e:EditClickEventInfo)
  290. {
  291. }
  292. function button1_onclick(obj:Button, e:ClickEventInfo)
  293. {
  294. }
  295. ]]></Script>
  296. </Form>
  297. </FDL>