SMZTP01100_프로젝트진척관리(개인별공정율차트).xrw 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  4. <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">
  5. <xhtml:head>
  6. <xhtml:title>프로젝트진척관리(개인별공정율 차트)</xhtml:title>
  7. <model id="model1">
  8. <instance id="instance1">
  9. <root xmlns="">
  10. <main>
  11. <projlist>
  12. <list>
  13. <proj>
  14. <subteam/>
  15. <usernm/>
  16. <inputdate/>
  17. <total/>
  18. <endtotal/>
  19. <rate/>
  20. </proj>
  21. </list>
  22. </projlist>
  23. </main>
  24. <send>
  25. <search>
  26. <appdd/>
  27. <subteam/>
  28. <usernm/>
  29. <posinstcd/>
  30. <inputdatef/>
  31. <inputdatet/>
  32. <suboption/>
  33. <prcsyn/>
  34. </search>
  35. <subtmp/>
  36. </send>
  37. <init>
  38. <endrate>
  39. <item>
  40. <name>80</name>
  41. <id>80</id>
  42. </item>
  43. <item>
  44. <name>100</name>
  45. <id>100</id>
  46. </item>
  47. </endrate>
  48. <prcsyn>
  49. <item>
  50. <name>전체</name>
  51. <id>-</id>
  52. </item>
  53. <item>
  54. <name>Y</name>
  55. <id>Y</id>
  56. </item>
  57. <item>
  58. <name>N</name>
  59. <id>N</id>
  60. </item>
  61. </prcsyn>
  62. <posinstcd>
  63. <item>
  64. <name>전체</name>
  65. <id>-</id>
  66. </item>
  67. <item>
  68. <name>HIT</name>
  69. <id>H</id>
  70. </item>
  71. <item>
  72. <name>평화IS</name>
  73. <id>P</id>
  74. </item>
  75. </posinstcd>
  76. <kind>
  77. <item>
  78. <name>비율</name>
  79. <id>rate</id>
  80. </item>
  81. <item>
  82. <name>갯수</name>
  83. <id>cnt</id>
  84. </item>
  85. </kind>
  86. </init>
  87. <grd_temp>
  88. <grid>
  89. <subteam/>
  90. <usernm/>
  91. <inputdate/>
  92. </grid>
  93. </grd_temp>
  94. <viewkind/>
  95. </root>
  96. </instance>
  97. <script type="javascript" ev:event="xforms-ready">
  98. <![CDATA[
  99. init_grid();
  100. // 업무팀,적용기준일 리스트를 가져 와서 콤보 박스에 뿌려 준다.
  101. // 적용 기준일의 경우 조건 검색시 null을 제외 했기 때문에 전체 건수와 차이가 난다.
  102. submit("TRZTP00802");
  103. submit("TRZTP00902");
  104. addComboItem("combo1", "-전체-", "-", "above");
  105. addComboItem("combo2", "-전체-", "-", "above");
  106. combo1.select(0);
  107. combo2.select(0);
  108. combo3.select(0);
  109. combo4.select(0);
  110. combo5.select(0);
  111. fsetDate()
  112. model.refresh();
  113. ]]>
  114. </script>
  115. <submission id="TRZTP00802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search/appdd" resultref="/root/temp"/>
  116. <submission id="TRZTP00902" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/subtemp"/>
  117. <submission id="TRZTP01100" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/main/projlist/list"/>
  118. <submission id="TXZTP01100" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search"/>
  119. </model>
  120. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  121. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  122. <script type="javascript" src="../../../com/commonweb/js/tchartHelper.js"/>
  123. <script type="javascript">
  124. <![CDATA[
  125. function fsetDate()
  126. {
  127. nday = new Date() // 오늘의 날짜와 시간을 구함
  128. t_year = nday.getYear();
  129. t_mon = nday.getMonth()+1; // 0부터 시작해서 1월이다.
  130. t_day = nday.getDate();
  131. // 날짜 포맷 맞추기
  132. if(t_mon < 10)
  133. t_mon = "0" + t_mon;
  134. if(t_day < 10)
  135. t_day = "0" + t_day;
  136. var cur_date = t_year + "-" + t_mon + "-" + t_day;
  137. model.setValue("/root/send/search/inputdatet",cur_date);
  138. model.setValue("/root/send/search/inputdatef","");
  139. }
  140. function init_grid()
  141. {
  142. // 컬럼 캡션 초기화
  143. datagrid1.caption = "DEV^SUBTEAM";
  144. var cols = datagrid1.cols-datagrid1.fixedCols;
  145. for( var i = 0; i < cols; i++ ) {
  146. //그리드의 컬럼 삭제
  147. datagrid1.removeColumn(false);
  148. }
  149. // 노드 초기화
  150. model.removeNodeset("/root/main/projlist/list/proj");
  151. model.removeNodeset("/root/grd_temp/grid");
  152. model.resetInstanceNode("/root/grd_temp/grid");
  153. model.resetInstanceNode("/root/main/projlist/list/proj");
  154. // 차트 초기화
  155. clearTChart(Tchart1);
  156. }
  157. function fsearch()
  158. {
  159. init_grid();
  160. submit("TRZTP01100");
  161. // 출력유형
  162. kind = model.getValue("/root/viewkind");
  163. // 팀별 조회시 DEV 컬럼을 숨겨 버린다. 값이 없으므로 -_-
  164. if (model.getValue("/root/send/search/suboption") == "-")
  165. datagrid1.colWidth(0) = 0;
  166. else
  167. datagrid1.colWidth(0) = 60;
  168. // 원본 데이터 그리드 : datagrid2
  169. // 그래프 생성 될 데이터 그리드 : datagrid1
  170. // 티챠트가 거지 같아서 그리드 이름은 꼭 datagrid1 이어야 제대로 가져 온다.
  171. // 원본 데이터 갯수
  172. row_cnt = datagrid2.rows;
  173. // 캡션 날짜, inputdate의 최소 날짜에서 최대 날짜 까지를 그리드에 몽땅 그려 준다.
  174. var min_date = "2100-12-31";
  175. var max_date = "1900-12-31";
  176. // min,max 날짜 구하기 , full search 할 수 밖에 없다.
  177. for( i = 1 ; i < row_cnt ; i++ )
  178. {
  179. if( min_date > datagrid2.textmatrix(i,2))
  180. {
  181. min_date = datagrid2.textmatrix(i,2);
  182. }
  183. if( max_date < datagrid2.textmatrix(i,2))
  184. {
  185. max_date = datagrid2.textmatrix(i,2);
  186. }
  187. }
  188. // 구한 날짜를 날짜 형식으로 변형한다. ( 날짜가 하루씩 증가해야 하니까.. )
  189. var minyear = min_date.substr(0,4);
  190. var minmon = min_date.substr(5,2);
  191. var minday = min_date.substr(8,2);
  192. // 날짜 계산을 위해서 여기서 1달 작은 값을 넣고 밑에서는 +1달을 해 준다.
  193. // 월을 0~11 까지로 출력하기 때문에 이런 뻘짓이 필요하다. 이렇게 안 하면 내년에 1월이 00으로 찍힌다.
  194. var tmp_min_date = new Date(minyear,minmon-1,minday);
  195. // 성능 대박 향상을 위한 caption_tmp!!! 컬럼 추가 될때 마다 캡션값을 입력하면 컬럼 하나씩 들어가는게 눈에 보인다.
  196. // 고로.. 변수에 저장해 두었다가 마지막에 찍어 주자.
  197. var caption_tmp = datagrid1.caption;
  198. // 날짜가 하루 더 많다. 그래서 하루 빼줬다.
  199. tmp_min_date.setDate(tmp_min_date.getDate()-1);
  200. // 컬럼 추가, 그리드 캡션 지정, 최대날짜와 같다면 루프 종료
  201. // ## 검색된 건수가 없으면 종료, 요거 없으면 무한 루프!!!! ##
  202. while(row_cnt != 1)
  203. {
  204. tmp_min_date.setDate(tmp_min_date.getDate()+1);
  205. // 그리드에서 비교를 위해 날짜 포맷 설정
  206. ty = tmp_min_date.getYear();
  207. tm = tmp_min_date.getMonth()+1;
  208. td = tmp_min_date.getDate();
  209. if(tm < 10)
  210. tm = "0" + tm;
  211. if(td < 10)
  212. td = "0" + td;
  213. tt = ty + "-" + tm + "-" + td;
  214. // 최대날짜가 되면 컬럼 생성을 중지한다.
  215. if(tt == max_date)
  216. {
  217. datagrid1.addColumn("ref:d" + tt + "; type: output;",false);
  218. datagrid1.caption = caption_tmp + "^" + tt;
  219. break;
  220. }
  221. // 최대날짜까지 컬럼 추가
  222. datagrid1.addColumn("ref:d" + tt + "; type: output;",false);
  223. caption_tmp = caption_tmp + "^" + tt;
  224. }
  225. // 로우 생성, subteam,dev 입력
  226. var add_row_cnt = 1;
  227. var col_cnt = 2;
  228. var cmp_dev = "시작은암것두엄는거다";
  229. var cmp_team = "시작은암것두엄는거다";
  230. // 원본 데이터를 첨 부터 끝까지 읽어 내려가면서 그래프 기준이 될 데이터 그리드를 생성한다.
  231. for( i = 1 ; i < row_cnt ; i++ )
  232. {
  233. // 앞에 이름과 현재 로우의 dev가 다르면 로우를 추가한다. (dev로 sort 해서 가져 왔심)
  234. // 앞에 이름과 같은데 팀이 달라도 로우를 추가 한다. 두탕 뛰는 개발자 색출
  235. if (cmp_dev != datagrid2.textmatrix(i,0) || (cmp_dev == datagrid2.textmatrix(i,0) && cmp_team != datagrid2.textmatrix(i,1)))
  236. {
  237. datagrid1.addRow(false);
  238. if (kind == "cnt")
  239. {
  240. datagrid1.addRow(false);
  241. }
  242. // fixed컬럼에 dev, subteam에 해당팀, 개발자 입력
  243. datagrid1.textmatrix(add_row_cnt,0) = datagrid2.textmatrix(i,0);
  244. datagrid1.textmatrix(add_row_cnt,1) = datagrid2.textmatrix(i,1);
  245. // 팀별로 조회를 할 시 그래프에 팀명을 찍어주기 위해서 DEV에 SUBTEAM을 넣는다.
  246. if (model.getValue("/root/send/search/suboption") == "-")
  247. datagrid1.textmatrix(add_row_cnt,0) = datagrid2.textmatrix(i,1);
  248. if (kind == "cnt")
  249. {
  250. datagrid1.textmatrix(add_row_cnt,0) = datagrid1.textmatrix(add_row_cnt,0) + "(전체)";
  251. datagrid1.textmatrix(add_row_cnt+1,0) = datagrid2.textmatrix(i,0) + "(완료)";
  252. if (model.getValue("/root/send/search/suboption") == "-")
  253. datagrid1.textmatrix(add_row_cnt+1,0) = datagrid2.textmatrix(i,1) + "(완료)";
  254. datagrid1.textmatrix(add_row_cnt+1,1) = datagrid2.textmatrix(i,1);
  255. add_row_cnt = add_row_cnt + 2;
  256. }
  257. else
  258. {
  259. add_row_cnt = add_row_cnt + 1;
  260. }
  261. }
  262. // 데이터 맵핑
  263. for ( c = 2 ; c < datagrid1.cols ; c++ )
  264. {
  265. // input date가 같다면 해당 셀에 데이터 맵핑
  266. if (datagrid1.textmatrix(0,c) == datagrid2.textmatrix(i,2))
  267. {
  268. // 통계 데이터 맵핑
  269. datagrid1.textmatrix(add_row_cnt-1,c) = datagrid2.textmatrix(i,5);
  270. if (kind == "cnt")
  271. {
  272. datagrid1.textmatrix(add_row_cnt-2,c) = datagrid2.textmatrix(i,3);
  273. datagrid1.textmatrix(add_row_cnt-1,c) = datagrid2.textmatrix(i,4);
  274. }
  275. }
  276. else
  277. {
  278. // 빈 셀은 0으로 채워 준다 -> 값이 비었을 경우 티차트에서 에러 발생.
  279. if (datagrid1.textmatrix(add_row_cnt-1,c) == "")
  280. {
  281. datagrid1.textmatrix(add_row_cnt-1,c) = "0";
  282. if (kind == "cnt")
  283. {
  284. datagrid1.textmatrix(add_row_cnt-2,c) = "0";
  285. }
  286. }
  287. }
  288. }
  289. // 현재 행의 개발자,Subteam 을 저장해 두었다가 다음 행과 비교한다.
  290. cmp_dev = datagrid2.textmatrix(i,0);
  291. cmp_team = datagrid2.textmatrix(i,1);
  292. }
  293. // 챠트 그리기
  294. drawLineAll(Tchart1, datagrid1, "Project Rate Chart");
  295. }
  296. ]]>
  297. </script>
  298. </xhtml:head>
  299. <xhtml:body guideline="1,1195;2,783;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  300. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  301. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:250px; height:14px; ">프로젝트진척관리(개인별공정율 차트)</caption>
  302. </group>
  303. <group id="group5" scroll="auto" style="left:0px; top:45px; width:1195px; height:730px; ">
  304. <group id="group6" style="left:0px; top:0px; width:1194px; height:60px; vertical-align:top; ">
  305. <shape id="roundrect3" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:60px; "/>
  306. <line id="line18" class="line_4" style="x1:1050px; y1:5px; x2:1050px; y2:57px; border-left-style:solid; "/>
  307. <button id="button1" class="btn1_letter2" style="left:1095px; top:17px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  308. <caption>조회</caption>
  309. <script type="javascript" ev:event="DOMActivate">
  310. <![CDATA[
  311. // 배치 파일이 실행되지 않았을 경우에 발생하는 빈 데이터를 지정된 날짜의 데이터로 채워준다
  312. if ( model.getValue("/root/send/search/subteam") == "SWAT" && model.getValue("/root/send/search/usernm") == "keiz"
  313. && model.getValue("/root/send/search/inputdatef") != "" && model.getValue("/root/send/search/inputdatet") != "")
  314. {
  315. alert("\n " + model.getValue("/root/send/search/inputdatef") + " ← "
  316. + model.getValue("/root/send/search/inputdatet") + "\n\n 확실 합니까? 데이터가 덮어 써 집니다.");
  317. if(messageBox("", "Q002")==6)
  318. submit("TXZTP01100");
  319. return;
  320. }
  321. fsearch();
  322. ]]>
  323. </script>
  324. </button>
  325. <caption id="caption2" class="search_name" style="left:6px; top:8px; width:64px; height:17px; ">업무팀</caption>
  326. <select1 id="combo1" ref="/root/send/search/subteam" class="combo_search" appearance="minimal" style="left:75px; top:7px; width:109px; height:19px; ">
  327. <choices>
  328. <itemset nodeset="/root/subtemp/combo">
  329. <label ref="subteam"/>
  330. <value ref="value"/>
  331. </itemset>
  332. </choices>
  333. </select1>
  334. <caption id="caption3" class="search_name" style="left:228px; top:8px; width:89px; height:17px; ">적용기준일</caption>
  335. <select1 id="combo2" ref="/root/send/search/appdd" class="combo_search" appearance="minimal" style="left:319px; top:7px; width:85px; height:19px; ">
  336. <choices>
  337. <itemset nodeset="/root/temp/combo">
  338. <label ref="appdd"/>
  339. <value ref="value"/>
  340. </itemset>
  341. </choices>
  342. </select1>
  343. <caption id="caption9" class="search_name" style="left:228px; top:33px; width:94px; height:17px; ">개발자 소속</caption>
  344. <select1 id="combo3" ref="/root/send/search/posinstcd" class="combo_search" appearance="minimal" style="left:327px; top:32px; width:70px; height:19px; ">
  345. <choices>
  346. <itemset nodeset="/root/init/posinstcd/item">
  347. <label ref="name"/>
  348. <value ref="id"/>
  349. </itemset>
  350. </choices>
  351. </select1>
  352. <caption id="caption5" class="search_name" style="left:438px; top:8px; width:64px; height:17px; ">기간</caption>
  353. <input id="input1" ref="/root/send/search/inputdatef" class="input_search" inputtype="date" mask="include" style="left:492px; top:7px; width:85px; height:19px; "/>
  354. <caption id="caption6" style="left:582px; top:10px; width:13px; height:12px; ">
  355. <![CDATA[~]]>
  356. </caption>
  357. <input id="input2" ref="/root/send/search/inputdatet" class="input_search" inputtype="date" mask="include" style="left:599px; top:7px; width:85px; height:19px; "/>
  358. <caption id="caption7" class="search_name" style="left:700px; top:8px; width:76px; height:17px; ">출력유형</caption>
  359. <caption id="caption4" class="search_name" style="left:865px; top:8px; width:69px; height:17px; ">개발자</caption>
  360. <input id="input3" ref="/root/send/search/usernm" style="left:937px; top:7px; width:63px; height:19px; ">
  361. <script type="javascript" ev:event="onkeypress">
  362. <![CDATA[
  363. if (event.keycode == 13)
  364. {
  365. input3.value = input3.currentText;
  366. fsearch();
  367. }
  368. ]]>
  369. </script>
  370. </input>
  371. <select1 id="combo4" ref="/root/viewkind" class="combo_search" appearance="minimal" style="left:782px; top:7px; width:70px; height:19px; ">
  372. <choices>
  373. <itemset nodeset="/root/init/kind/item">
  374. <label ref="name"/>
  375. <value ref="id"/>
  376. </itemset>
  377. </choices>
  378. </select1>
  379. <bool id="bool1" ref="/root/send/subtmp" style="left:186px; top:7px; width:25px; height:20px; ">
  380. <hint>
  381. <![CDATA[체크 : 팀별]]>
  382. </hint>
  383. <script type="javascript" ev:event="xforms-select">
  384. <![CDATA[
  385. // 체크박스 클릭시 팀별로 본다
  386. model.setValue("/root/send/search/suboption","-");
  387. model.setValue("/root/send/search/usernm","");
  388. model.setValue("/root/send/search/posinstcd","-");
  389. input3.disabled = true;
  390. ]]>
  391. </script>
  392. <script type="javascript" ev:event="xforms-deselect">
  393. <![CDATA[
  394. model.setValue("/root/send/search/suboption","");
  395. input3.disabled = false;
  396. ]]>
  397. </script>
  398. </bool>
  399. <caption id="caption21" class="search_name" style="left:5px; top:35px; width:115px; height:17px; ">공정률적용여부</caption>
  400. <select1 id="combo5" ref="/root/send/search/prcsyn" class="combo_search" appearance="minimal" style="left:130px; top:35px; width:65px; height:19px; ">
  401. <choices>
  402. <itemset nodeset="/root/init/prcsyn/item">
  403. <label ref="name"/>
  404. <value ref="id"/>
  405. </itemset>
  406. </choices>
  407. </select1>
  408. </group>
  409. <line id="line20" class="line_1" style="x1:0px; y1:86px; x2:1194px; y2:86px; "/>
  410. <caption id="caption8" class="tit_2" style="left:5px; top:71px; width:195px; height:13px; ">프로젝트 진척관리 완료내역</caption>
  411. <group id="group2" style="left:800px; top:65px; width:395px; height:20px; ">
  412. <button id="button3" class="btn2_letter4" disable.background-image="../../../com/commonweb/images/dis_btn2_letter4.gif" style="left:325px; top:0px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn2_letter4.gif; ">
  413. <caption>엑셀저장</caption>
  414. <script type="javascript" ev:event="DOMActivate">
  415. <![CDATA[
  416. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  417. if (fileName != "")
  418. {
  419. datagrid1.saveExcel(fileName);
  420. }
  421. ]]>
  422. </script>
  423. </button>
  424. <button id="button6" class="btn2_letter3" disable.background-image="../../../com/commonweb/images/dis_btn2_letter3.gif" style="left:268px; top:0px; width:53px; height:19px; background-image:../../../com/commonweb/images/btn2_letter3.gif; ">
  425. <caption>행삭제</caption>
  426. <script type="javascript" ev:event="DOMActivate">
  427. <![CDATA[
  428. //다중행 삭제 가능 +_+
  429. var selectedRows = datagrid1.selectedRows;
  430. var arr = new Array(selectedRows);
  431. if(selectedRows <= 0) {
  432. alert("삭제할 행을 선택해주세요.");
  433. return;
  434. }
  435. for ( var i = 0 ; i < arr.length ; i ++ )
  436. {
  437. arr[i] = datagrid1.selectedRow(i);
  438. }
  439. for ( var i = arr.length - 1 ; i >= 0 ; i-- )
  440. {
  441. // deleteRow(수정할 row,리프레쉬여부) , false로 설정하여 마지막에 한번에 refresh 한다.
  442. datagrid1.deleteRow(arr[i],false);
  443. }
  444. clearTChart(Tchart1);
  445. datagrid1.refresh();
  446. drawLineAll(Tchart1, datagrid1, "Project Rate Chart");
  447. ]]>
  448. </script>
  449. </button>
  450. </group>
  451. <datagrid id="datagrid1" nodeset="/root/grd_temp/grid" caption="DEV^SUBTEAM" colsep="^" colwidth="60, 70" dataheight="23" defaultrows="0" extendlastcol="scroll" fixedcols="2" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" tooltip="true" style="left:340px; top:90px; width:855px; height:230px; ">
  452. <col ref="usernm"/>
  453. <col ref="subteam"/>
  454. </datagrid>
  455. <datagrid id="datagrid2" nodeset="/root/main/projlist/list/proj" caption="DEV^SUBTEAM^DATE^전체^완료^비율" colsep="^" colwidth="60, 70, 72, 37, 40, 40" dataheight="23" defaultrows="0" extendlastcol="scroll" fixedcols="3" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" tooltip="true" style="left:0px; top:90px; width:340px; height:230px; ">
  456. <col ref="usernm"/>
  457. <col ref="subteam"/>
  458. <col ref="inputdate"/>
  459. <col ref="total" format="#,###"/>
  460. <col ref="endtotal" format="#,###"/>
  461. <col ref="rate" format="###%"/>
  462. </datagrid>
  463. <object id="Tchart1" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" style="left:0px; top:325px; width:1195px; height:395px; "/>
  464. </group>
  465. <group id="group3" style="left:0px; top:13px; width:1190px; height:27px; ">
  466. <button id="button7" class="btn4_letter3" disable.background-image="../../../com/commonweb/images/dis_btn4_letter3.gif" style="left:1120px; top:2px; width:68px; height:22px; background-image:../../../com/commonweb/images/btn4_letter3.gif; ">
  467. <caption>초기화</caption>
  468. <script type="javascript" ev:event="DOMActivate">
  469. <![CDATA[
  470. init_grid();
  471. model.resetInstanceNode("/root/send");
  472. combo1.select(0);
  473. combo2.select(0);
  474. combo3.select(0);
  475. combo4.select(0);
  476. input3.value = "";
  477. model.setValue("/root/send/search/suboption","");
  478. input3.disabled = false;
  479. fsetDate();
  480. model.refresh();
  481. ]]>
  482. </script>
  483. </button>
  484. <line id="line1" class="line_6" style="x1:0px; y1:25px; x2:1189px; y2:25px; "/>
  485. </group>
  486. </xhtml:body>
  487. </xhtml:html>