BidOfflineAmtPop.jsp 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  1. <%--
  2. - Author(s) : Hyung min Son
  3. - Date : 2014.07.25
  4. - Description: 결격 사유 팝업
  5. --%>
  6. <%@page import="monfox.toolkit.snmp.agent.modules.SnmpV2Mib.SysOREntry"%>
  7. <%@ page contentType="text/html; charset=utf-8" %>
  8. <%@ page import="kr.co.hsnc.common.sql.RowSet" %>
  9. <%@ page import="kr.co.hsnc.common.util.ValueObject" %>
  10. <%@ page import="com.udapsoft.waf.system.*" %>
  11. <%@ page import="com.udapsoft.waf.common.ui.*" %>
  12. <%@ page import="com.udapsoft.waf.common.*" %>
  13. <%@ page import="kr.co.udapsoft.common.*" %>
  14. <%@ page import="com.udapsoft.waf.common.util.StringUtils" %>
  15. <%@ page import="com.udapsoft.waf.common.ui.HTMLMaker" %>
  16. <%@ page import="com.udapsoft.waf.system.HandlerStorage" %>
  17. <%@ page import="kr.co.udapsoft.ebid.buyer.common.file.FileManager"%>
  18. <%@ include file="/jsp/work/taglib.jsp" %>
  19. <jsp:useBean id="ctx" class="com.udapsoft.waf.system.context.SessionContext" scope="session" />
  20. <%
  21. ctx.init(request, response);
  22. HandlerStorage storage = ctx.getHandlerStorage();
  23. ValueObject user = ctx.getUser();
  24. ValueObject params = storage.getParams();
  25. String event = storage.getEvent();
  26. ValueObject Order = storage.getValueObject("Order");
  27. String ROW = (String) storage.get("ROW");
  28. String VENDOR_CD = (String) storage.get("VENDOR_CD");
  29. String BID_NO = (String) storage.get("BID_NO");
  30. String BID_DEG = (String) storage.get("BID_DEG");
  31. String pop_win_id = (String) storage.get("pop_win_id");
  32. String FILE_GB = (String) storage.get("FILE_GB");
  33. String DEMANDED_ID = (String) storage.get("DEMANDED_ID");
  34. String VENDOR_NO = (String) storage.get("VENDOR_NO");
  35. String ESTI_TOT_AMT = (String) storage.get("ESTI_TOT_AMT");
  36. String OBC_EMP_YN= (String) storage.get("OBC_EMP_YN");
  37. String OBC_PENSION_YN= (String) storage.get("OBC_PENSION_YN");
  38. String OBC_HEALTH_YN= (String) storage.get("OBC_HEALTH_YN");
  39. String OBC_ELDER_YN= (String) storage.get("OBC_ELDER_YN");
  40. String OBC_WORK_YN= (String) storage.get("OBC_WORK_YN");
  41. String OBC_RESIGN_YN= (String) storage.get("OBC_RESIGN_YN");
  42. String OBC_SAFE_YN= (String) storage.get("OBC_SAFE_YN");
  43. String OBC_ENV_YN= (String) storage.get("OBC_ENV_YN");
  44. String OBC_SITE_YN= (String) storage.get("OBC_SITE_YN");
  45. String OBC_DUTY_YN= (String) storage.get("OBC_DUTY_YN");
  46. String OBC_WARR_YN= (String) storage.get("OBC_WARR_YN");
  47. String OBC_DUTY_RATE= (String) storage.get("OBC_DUTY_RATE");
  48. String PointCount= (String) storage.get("PointCount");
  49. ValueObject file = storage.getValueObject(storage.get("FILE_GB"));
  50. %>
  51. <SCRIPT language="JavaScript">
  52. var sheet1 = new ibsheetObject();
  53. var sheet1Row;
  54. var sheet1PageNo = 1;
  55. var pageLastRowIndex = 1;
  56. var validationResult = false;
  57. var filterShow = false;
  58. function _onReady(){
  59. gridInit(sheet1);
  60. autoResize();
  61. var info = [{StdCol:"DEPTH1" , SumCols:"7|8|9|10|11",CaptionText:"[소 계]",CaptionCol:3}];
  62. sheet1.ShowSubSum (info);
  63. sheet1.SetSumValue(3,"총 공 사 비");
  64. doSearchSheet();
  65. var vendorname = parent.sheet1.GetCellValue(Number("<%=ROW%>"),"VENDOR_NAME");
  66. $("vendorname").after(vendorname);
  67. $("vendorno").after(vendorNo("<%=VENDOR_NO%>"));
  68. $("#btn_Save").click(function(){
  69. if(!sheet1.IsDataModified()) {
  70. alert("저장할 내역이 없습니다.");
  71. }else{
  72. $("#fevent").val("SAVE");
  73. var url = Modular.model.PageContext.CONTEXT_ROOT + "/bid/outside/BidOfflineAmtPop_sheet.screen";
  74. var result = Modular.view.IBSheet7.doSave(sheet1, url, $("#form1"), false);
  75. }
  76. });
  77. }
  78. function doSearchfrom(){
  79. $("#fevent").val("VENDOR_INFO_SELECT");
  80. var f = document.form1;
  81. submitXmlRequest("/bid/outside/BidOfflineAmtPop_from.screen", "VENDOR_INFO_SELECT", f);
  82. }
  83. function doSearchSheet(){
  84. $("#fevent").val("VENDOR_SHEET_SELECT");
  85. var url = Modular.model.PageContext.CONTEXT_ROOT + "/bid/outside/BidOfflineAmtPop_sheet.screen";
  86. Modular.view.IBSheet7.doSearch(sheet1, url, jQuery("#form1"), 30, "");
  87. }
  88. function gridInit(sheetName){
  89. var init_sheet = {};
  90. init_sheet.Cfg = {SearchMode:0 , MergeSheet:msHeaderOnly+msPrevColumnMerge};
  91. init_sheet.Cols = [
  92. {Header:'Del', Type:"DelCheck", SaveName:"DEL_CHECK", Width:0, Align:"Center", Hidden:"True"},
  93. {Header:'Status', Type:"Status", SaveName:"STATUS", Width:0, Align:"Center" , Hidden:"True"},
  94. {Header:'구분', Type:"Text", SaveName:"DEPTH1", Width:40, Align:"Center", Edit:false},
  95. {Header:'구분', Type:"Text", SaveName:"ITEM_NAME", Width:140, Align:"left", Edit:false},
  96. {Header:'No.', Type:"Seq", SaveName:"NO", Width:0, Align:"Center", Hidden:"True"},
  97. {Header:'MATERIAL_CD', Type:"Text", SaveName:"MATERIAL_CD", Width:0, Align:"Center", Hidden:"True"},
  98. {Header:'PARENT_LEVEL', Type:"Text", SaveName:"PARENT_LEVEL", Width:0, Align:"left", Hidden:"True"},
  99. {Header:'수량/규격', Type:"Text", SaveName:"ITEMS", Width:0, Align:"Center", Hidden:"True"},
  100. {Header:'재료비', Type:"AutoSum", SaveName:"MAT_COST", Width:60, Align:"right", PointCount:<%=PointCount%>},
  101. {Header:'노무비', Type:"AutoSum", SaveName:"LAB_COST", Width:60, Align:"right", PointCount:<%=PointCount%>},
  102. {Header:'경비', Type:"AutoSum", SaveName:"UNIT_COST", Width:60, Align:"right", PointCount:<%=PointCount%>},
  103. {Header:'합계', Type:"AutoSum", SaveName:"COST_SUM", Width:60, Align:"right", CalcLogic:"|MAT_COST|+|LAB_COST|+|UNIT_COST|", PointCount:<%=PointCount%>},
  104. {Header:'산출근거', Type:"Text", SaveName:"BASIS_CALCU", Widtd:280, Align:"left", Edit:false},
  105. {Header:'비고', Type:"Text", SaveName:"NOTI", Width:100, Align:"left"},
  106. {Header:'수량', Type:"Text", SaveName:"QTY", Width:0, Align:"left", Hidden:"True"},
  107. {Header:'합계', Type:"Text", SaveName:"ROW_SUM_AMT", Width:0, Align:"left", Hidden:"True"}
  108. ];
  109. init_sheet.HeaderMode = {Sort:1};
  110. IBS_InitSheet(sheetName, init_sheet);
  111. sheetName.SetDataAutoTrim(0);
  112. setGridSize();
  113. }
  114. function sheet1_OnSaveEnd(code, msg)
  115. {
  116. var event = $("#fevent").val();
  117. if(event == "SAVE"){
  118. if(code>= "0"){
  119. alert("저장되었습니다.");
  120. var sum_amt = sheet1.GetCellValue(21,"UNIT_COST");
  121. returnValue = new Array("<%=ROW%>",sum_amt);
  122. parent.PopClose("<%=pop_win_id%>",returnValue);
  123. }else{
  124. alert("에러가 발생하였습니다.");
  125. }
  126. }
  127. }
  128. function setGridSize() {
  129. //sheet1.FitColWidth();
  130. }
  131. /**
  132. * IBSheet Event: Search End(IBSheet 데이터 조회 CallBack)
  133. */
  134. function sheet1_OnSearchEnd(code, message) {
  135. if(code == 0) {
  136. var row = sheet1.RowCount();
  137. sheet1.RowDelete(row);
  138. sheet1.RowDelete(row-2);
  139. sheet1.RowDelete(row-4);
  140. sheet1.SetMergeCell(row-3,2,1,2);//타이틀 머지
  141. sheet1.SetMergeCell(row-4,2,1,2);
  142. sheet1.SetMergeCell(row-5,2,1,2);
  143. row = 0;
  144. for (var i = 2; i <= sheet1.RowCount()+1; i ++){
  145. if (sheet1.GetCellValue(i, "DEPTH1") =="간접비"){
  146. row = i;
  147. break;
  148. }
  149. }
  150. var ingise_yn = "N";
  151. for (var i = 2; i <= sheet1.RowCount()+1; i ++){
  152. if (sheet1.GetCellValue(i, "ITEM_NAME") =="인지세"){
  153. ingise_yn = "Y";
  154. }
  155. }
  156. //여기
  157. rowEditYN(row,"<%=OBC_EMP_YN%>");
  158. rowEditYN(row+1,"<%=OBC_PENSION_YN%>");
  159. rowEditYN(row+2,"<%=OBC_HEALTH_YN%>");
  160. rowEditYN(row+3,"<%=OBC_ELDER_YN%>");
  161. rowEditYN(row+4,"<%=OBC_WORK_YN%>");
  162. rowEditYN(row+5,"<%=OBC_RESIGN_YN%>");
  163. rowEditYN(row+6,"<%=OBC_SAFE_YN%>");
  164. rowEditYN(row+7,"<%=OBC_ENV_YN%>");
  165. rowEditYN(row+8,"<%=OBC_SITE_YN%>");
  166. rowEditYN(row+9,"<%=OBC_DUTY_YN%>");
  167. rowEditYN(row+10,"<%=OBC_WARR_YN%>");//건설기계 수수료
  168. if(ingise_yn=="Y"){
  169. rowEditYN(row+11,"Y");//인지세
  170. rowEditYN(row+13,"Y");//일반관리비
  171. rowEditYN(row+14,"Y");//이윤
  172. rowEditYN(row+15,"Y");//단수정리
  173. }else{
  174. rowEditYN(row+12,"Y");//일반관리비
  175. rowEditYN(row+13,"Y");//이윤
  176. rowEditYN(row+14,"Y");//단수정리
  177. }
  178. var GrowCount = sheet1.LastRow();
  179. for(var i=1; i < GrowCount+1; i++)
  180. {
  181. if(sheet1.GetCellEditable(i, "UNIT_COST") == "1"){
  182. if (row > i){
  183. sheet1.SetCellBackColor(i, "MAT_COST", "#ccff99");
  184. sheet1.SetCellBackColor(i, "LAB_COST", "#ccff99");
  185. }
  186. sheet1.SetCellBackColor(i, "UNIT_COST", "#ccff99");
  187. }
  188. if(sheet1.GetCellEditable(i, "NOTI") == "1"){
  189. sheet1.SetCellBackColor(i, "NOTI", "#ccff99");
  190. }
  191. }
  192. setTotAmt();//견적 총금액 표시
  193. sheet1.FitColWidth();
  194. } else {
  195. //조회 에러 수행
  196. alert(message);
  197. }
  198. }
  199. function rowEditYN(Row,YN){
  200. if(YN != "Y"){
  201. sheet1.SetCellValue(Row,"NOTI","견적제외");
  202. sheet1.SetRowEditable(Row, false);
  203. }else{
  204. sheet1.SetCellEditable(Row,"MAT_COST",false);
  205. sheet1.SetCellEditable(Row,"LAB_COST",false);
  206. }
  207. }
  208. function setTotAmt(){
  209. var GrowCount = sheet1.LastRow();
  210. var amt = sheet1.GetCellValue(GrowCount,"COST_SUM");
  211. $("#ESTI_TOT_AMT").val(amt);
  212. if(amt != ""){
  213. $("#TOT_AMT").val(amt);
  214. $("#TOT_AMT").val($("#TOT_AMT").val().split(/(?=(?:\d{3})+(?:\.|$))/g).join(','));
  215. }
  216. }
  217. function sheet1_OnChange(Row, Col, Value) {
  218. setTotAmt();//견적 총금액 표시
  219. var i = 0;//간접비 시작위치 확인
  220. for (var a = 2; a <= sheet1.RowCount()+1; a ++){
  221. if (sheet1.GetCellValue(a, "DEPTH1") =="간접비"){
  222. i = a;
  223. break;
  224. }
  225. }
  226. var ingise_yn = "N";
  227. for (var b = 2; b <= sheet1.RowCount()+1; b ++){
  228. if (sheet1.GetCellValue(b, "ITEM_NAME") =="인지세"){
  229. ingise_yn = "Y";
  230. }
  231. }
  232. if(Col == 9 || Row == i){ //고용보험료
  233. if(sheet1.GetCellValue(i-1,"LAB_COST") > 0 && sheet1.GetCellValue(i,"UNIT_COST") > 0){
  234. var data = sheet1.GetCellValue(i,"UNIT_COST") / sheet1.GetCellValue(i-1,"LAB_COST") * 100;
  235. sheet1.SetCellValue(i,"BASIS_CALCU","노무비 * ("+data.toFixed(3)+")%");
  236. }
  237. }
  238. if(Row == i+2 || Row == i+3){//노인장기보험료
  239. if(sheet1.GetCellValue(i+2,"UNIT_COST") > 0 && sheet1.GetCellValue(i+3,"UNIT_COST") > 0){
  240. var data = sheet1.GetCellValue(i+3,"UNIT_COST") / sheet1.GetCellValue(i+2,"UNIT_COST") * 100;
  241. sheet1.SetCellValue(i+3,"BASIS_CALCU","건강 보험료 * ("+data.toFixed(3)+")%");
  242. }
  243. }
  244. if(Col == 9 || Row == i+4){//산재보험료
  245. if(sheet1.GetCellValue(i-1,"LAB_COST") > 0 && sheet1.GetCellValue(i+4,"UNIT_COST") > 0){
  246. var data = sheet1.GetCellValue(i+4,"UNIT_COST") / sheet1.GetCellValue(i-1,"LAB_COST") * 100;
  247. sheet1.SetCellValue(i+4,"BASIS_CALCU","노무비 * ("+data.toFixed(3)+")%");
  248. }
  249. }
  250. if(Col == 9 || Row == i+5){//퇴직공제부금
  251. if(sheet1.GetCellValue(i-1,"LAB_COST") > 0 && sheet1.GetCellValue(i+5,"UNIT_COST") > 0){
  252. var data = sheet1.GetCellValue(i+5,"UNIT_COST") / sheet1.GetCellValue(i-1,"LAB_COST") * 100;
  253. sheet1.SetCellValue(i+5,"BASIS_CALCU","노무비 * ("+data.toFixed(3)+")%");
  254. }
  255. }
  256. if(Row == i-1 || Row == i+6){//안전관리비
  257. if(sheet1.GetCellValue(i-1,"COST_SUM") > 0 && sheet1.GetCellValue(i+6,"UNIT_COST") > 0){
  258. var data = sheet1.GetCellValue(i+6,"UNIT_COST") / sheet1.GetCellValue(i-1,"COST_SUM") * 100;
  259. sheet1.SetCellValue(i+6,"BASIS_CALCU","노무비 * ("+data.toFixed(3)+")%");
  260. }
  261. }
  262. if(Col == 8 || Row == i+7){//환경관리비
  263. if(sheet1.GetCellValue(i-1,"MAT_COST") > 0 && sheet1.GetCellValue(i+7,"UNIT_COST") > 0){
  264. var data = sheet1.GetCellValue(i+7,"UNIT_COST") / sheet1.GetCellValue(i-1,"MAT_COST") * 100;
  265. sheet1.SetCellValue(i+7,"BASIS_CALCU","재료비 * ("+data.toFixed(3)+")%");
  266. }
  267. }
  268. if(Row == i-1 || Row == i+8){//현장관리비
  269. if(sheet1.GetCellValue(i-1,"COST_SUM") > 0 && sheet1.GetCellValue(i+8,"UNIT_COST") > 0){
  270. var data = sheet1.GetCellValue(i+8,"UNIT_COST") / sheet1.GetCellValue(i-1,"COST_SUM") * 100;
  271. sheet1.SetCellValue(i+8,"BASIS_CALCU","직접비 * ("+data.toFixed(3)+")%");
  272. }
  273. }
  274. if(Col == 8){//매입부가세
  275. var data = Number("<%=OBC_DUTY_RATE%>");
  276. var dataYN = "<%= OBC_DUTY_YN%>";
  277. if(sheet1.GetCellValue(i-1,"MAT_COST") > 0 && data > 0){
  278. if(dataYN == "Y"){
  279. sheet1.SetCellValue(i+9,"BASIS_CALCU","재료비 * 매입세율 ("+data+")% * 10%");
  280. var data2 = ((data/100) * sheet1.GetCellValue(i-1,"MAT_COST")) *0.1;
  281. sheet1.SetCellValue(i+9,"UNIT_COST",Math.floor(data2));
  282. }
  283. }
  284. }
  285. if(ingise_yn=="Y"){
  286. /** 금액 변동있을경우 무조건 변경 **/
  287. if(Col == 9 || Row == i+11){//인지세
  288. sheet1.SetCellValue(i+11,"BASIS_CALCU","원사업자 부담분 (50%)");
  289. }
  290. if(sheet1.GetCellValue(i+13,"UNIT_COST") > 0){ //일반관리비
  291. var sum = sheet1.GetCellValue(i-1,"SUM_COST") + sheet1.GetCellValue(i+12,"UNIT_COST");
  292. var data = sheet1.GetCellValue(i+13,"UNIT_COST") / sum * 100;
  293. sheet1.SetCellValue(i+13,"BASIS_CALCU","순공사비 * ("+data.toFixed(3)+")%");
  294. }
  295. if(sheet1.GetCellValue(i+14,"UNIT_COST") > 0){ //이윤
  296. var sum = sheet1.GetCellValue(i-1,"SUM_COST") + sheet1.GetCellValue(i+12,"UNIT_COST");
  297. var data = sheet1.GetCellValue(i+14,"UNIT_COST") / sum * 100;
  298. sheet1.SetCellValue(i+14,"BASIS_CALCU","순공사비 * ("+data.toFixed(3)+")%");
  299. }
  300. }else{
  301. /** 금액 변동있을경우 무조건 변경 **/
  302. if(sheet1.GetCellValue(i+12,"UNIT_COST") > 0){ //일반관리비
  303. var sum = sheet1.GetCellValue(i-1,"SUM_COST") + sheet1.GetCellValue(i+11,"UNIT_COST");
  304. var data = sheet1.GetCellValue(i+12,"UNIT_COST") / sum * 100;
  305. sheet1.SetCellValue(i+12,"BASIS_CALCU","순공사비 * ("+data.toFixed(3)+")%");
  306. }
  307. if(sheet1.GetCellValue(i+13,"UNIT_COST") > 0){ //이윤
  308. var sum = sheet1.GetCellValue(i-1,"SUM_COST") + sheet1.GetCellValue(i+11,"UNIT_COST");
  309. var data = sheet1.GetCellValue(i+13,"UNIT_COST") / sum * 100;
  310. sheet1.SetCellValue(i+13,"BASIS_CALCU","순공사비 * ("+data.toFixed(3)+")%");
  311. }
  312. }
  313. }
  314. function sheet1_OnSmartResize(Width, Height) {
  315. //sheet1.FitColWidth();
  316. autoResize();
  317. }
  318. function numberFormat(num) {
  319. var pattern = /(-?[0-9]+)([0-9]{3})/;
  320. while(pattern.test(num)) {
  321. num = num.replace(pattern,"$1,$2");
  322. }
  323. return num;
  324. }
  325. function doResult(Objresult){
  326. }
  327. function autoResize(){
  328. sheet1.SetSheetHeight(560);
  329. sheet1.SetSheetWidth(600);
  330. }
  331. /**
  332. * 첨부파일 예약 함수
  333. */
  334. function fileDown(file_id){
  335. var url="/common/file/FileDownloadServlet";
  336. url += "?file_id=" + file_id;
  337. window.open(url, "_fileDown", "toolbar=no, width=400, height=100, top=500, left=400, toolbar=no,directories=no,status=no,scrollbars=yes,resize=no,menubar=no,target=new")
  338. }
  339. //첨부파일
  340. function doAttachFile(obj,No) {
  341. var file_div = "bid/outside/"+"<%=BID_NO%>"+"/";
  342. if(obj==''){
  343. alert("After you have saved, you can attach a file.");
  344. }
  345. else if(obj != ''){
  346. viewFileListNew('<%=FILE_GB%>', obj.value, document.form1.p_AttachFile, "Y", file_div);
  347. }
  348. }
  349. function doAttachFileDiv(obj) {
  350. if(obj==''){
  351. alert("저장을 한 후 파일을 첨부할 수 있습니다.");
  352. }
  353. else if(obj != ''){
  354. viewFileListNew('<%=FILE_GB%>', obj.value, document.form1.p_AttachFile, "Y", file_div);
  355. }
  356. }
  357. function vendorNo(str){
  358. return str.substring(0,3)+"-"+str.substring(3,5)+"-"+str.substring(5,10);
  359. }
  360. document.onkeydown = closePopupWindow;
  361. //document.body.onload = _onReady;
  362. </SCRIPT>
  363. <modular:search id="form1">
  364. <modular:key id="fevent" />
  365. </modular:search>
  366. <FORM id="form1" name="form1" method="post" modular:type="search">
  367. <INPUT type="hidden" name="fevent" id="fevent" value="">
  368. <INPUT type="hidden" name="ROW" value="<%=ROW%>">
  369. <INPUT type="hidden" name="VENDOR_CD" value="<%=VENDOR_CD%>">
  370. <INPUT type="hidden" name="DEMANDED_ID" value="<%=DEMANDED_ID%>">
  371. <INPUT type="hidden" name="BID_NO" value="<%=BID_NO%>">
  372. <INPUT type="hidden" name="BID_DEG" value="<%=BID_DEG%>">
  373. <INPUT type="hidden" name="FILE_GB" value="<%=FILE_GB%>">
  374. <INPUT type="hidden" name="VENDOR_NO" value="<%=VENDOR_NO%>">
  375. <INPUT type="hidden" name="VENDOR_NAME" value="">
  376. <INPUT type="hidden" name="ESTI_TOT_AMT" value="<%=ESTI_TOT_AMT%>">
  377. <TABLE width="100%">
  378. <TR height="2"><TD colspan="2"></TD></TR>
  379. <TR height="25">
  380. <TD>
  381. <table id="t1" width="100%" border="0" cellspacing="0" cellpadding="0" class="ftit_table">
  382. <colgroup>
  383. <col width="*" />
  384. <col width="150" />
  385. </colgroup>
  386. <tr>
  387. <th>
  388. </th>
  389. <td align="right">
  390. <span class="btnSearch center" id=btn_Save><a href="javascript:void(0);">저장</a></span>
  391. </td>
  392. </tr>
  393. </table>
  394. </TD>
  395. </TR>
  396. </TABLE>
  397. <table cellspacing="1" cellpadding="0" width="100%">
  398. <colgroup>
  399. <col width="400" />
  400. <col />
  401. </colgroup>
  402. <tr height="100%">
  403. <td valign="top">
  404. <table cellspacing="1" cellpadding="0" class="search_table">
  405. <colgroup>
  406. <col width="110" />
  407. <col />
  408. </colgroup>
  409. <tr height="25">
  410. <td class="insert_table_title">사업자번호</td>
  411. <td class="search_table_data"><vendorno></vendorno></td>
  412. </tr>
  413. <tr height="25">
  414. <td class="insert_table_title">업체명</td>
  415. <td class="search_table_data"><vendorname></vendorname></td>
  416. </tr>
  417. <tr height="25">
  418. <td class="insert_table_title">견적 총 금액</td>
  419. <td class="search_table_data"><%= InputText.get("TOT_AMT", "", 40, 300, "class=input_blank,desc=견적합계금액,readOnly=white") %></td>
  420. </tr>
  421. <tr height="100">
  422. <td class="insert_table_title">첨부파일</td>
  423. <td class="search_table_data">
  424. <TEXTAREA name="p_AttachFile" id="p_AttachFile" style="width:85%;height:80px" rows="1" class="input" readOnly><%=FileManager.getFileListForTextarea(FILE_GB, "") %></TEXTAREA>
  425. <IMG id='search_spot_button' onClick="doAttachFile(document.form1.DEMANDED_ID);" src='/img/buyer/button/bt_change.gif' border='0' align="top" align='absmiddle' alt='[Attach File]' style='cursor:pointer;'>
  426. </td>
  427. </tr>
  428. </table>
  429. </td>
  430. <td >
  431. <div id="sheet1_div" style="padding-left:5px;height: auto; min-height: 300px; overflow: auto;" >
  432. <script>createIBSheet('sheet1','100%', '100%');</script>
  433. </div></td>
  434. </td>
  435. </tr>
  436. </table>
  437. </form>