OutEstmWritePurchase.jsp 43 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111
  1. <%--
  2. - Author(s) : Hyung min Son
  3. - Date : 2014.07.02
  4. - Description: 구매_견적서작성
  5. --%>
  6. <%@page import="monfox.toolkit.snmp.agent.modules.SnmpV2Mib.SysOREntry"%>
  7. <%@ page contentType="text/html; charset=utf-8" %>
  8. <%@ page import="java.text.SimpleDateFormat" %>
  9. <%@ page import="java.util.Date" %>
  10. <%@ page import="com.udapsoft.waf.system.HandlerStorage" %>
  11. <%@ page import="com.udapsoft.waf.common.ui.*" %>
  12. <%@ page import="com.udapsoft.waf.common.util.StringUtils" %>
  13. <%@ page import= "kr.co.hsnc.common.sql.util.RowSetUtility" %>
  14. <%@ page import="kr.co.udapsoft.common.code.*" %>
  15. <%@ page import="kr.co.hsnc.common.util.*"%>
  16. <%@ page import="kr.co.hsnc.common.sql.*" %>
  17. <%@ include file="/jsp/work/taglib.jsp" %>
  18. <jsp:useBean id="ctx" class="com.udapsoft.waf.system.context.SessionContext" scope="session" />
  19. <%
  20. ctx.init(request, response);
  21. HandlerStorage storage = ctx.getHandlerStorage();
  22. ValueObject params = storage.getParams();
  23. ValueObject user = storage.getUser();
  24. ValueObject Order = storage.getValueObject("Order");
  25. ValueObject file = storage.getValueObject(Order.get("FILE_GB"));
  26. RowSet CODE911 = storage.getRowSet("CODE911");
  27. SimpleDateFormat sd = new SimpleDateFormat("yyyyMMdd");
  28. SimpleDateFormat sd2 = new SimpleDateFormat("yyyyMMddHHmm");
  29. String nowTime = sd.format(new Date());
  30. String to_yyyy = Order.get("BID_TO_DT").substring(0, 4);
  31. String to_MM = Order.get("BID_TO_DT").substring(5, 7);
  32. String to_dd = Order.get("BID_TO_DT").substring(8, 10);
  33. String to_hh = Order.get("BID_TO_DT").substring(11, 13);
  34. String to_mi = Order.get("BID_TO_DT").substring(14, 16);
  35. String nowTime_yyyy = nowTime.substring(0, 4);
  36. String nowTime_MM = nowTime.substring(4, 6);
  37. String nowTime_dd = nowTime.substring(6, 8);
  38. SimpleDateFormat SeverTime = new SimpleDateFormat("yyyy-MM-dd");
  39. String str = SeverTime.format(new Date());
  40. %>
  41. <SCRIPT language="JavaScript">
  42. var sheet1 = new ibsheetObject();
  43. var sheet2 = new ibsheetObject();
  44. var pageLastRowIndex = 1;
  45. var validationResult = false;
  46. var filterShow = false;
  47. var must_msg = "(은)는 필수 입력 항목입니다.";
  48. var cost_point = 0;
  49. function _onReady(){
  50. gridInit(sheet1);
  51. gridInit(sheet2);
  52. //var info = [{StdCol:4 , SumCols:"8|10",CaptionText:"[합 계]",CaptionCol:5,},{StdCol:6 , SumCols:"8|10",CaptionText:"[소 계]",CaptionCol:6}];
  53. //sheet1.ShowSubSum (info);
  54. sheet1.SetSumValue(5,"합 계");
  55. /**
  56. * Application Initialize
  57. */
  58. $("#btn_back").click(function() {
  59. $("#fevent").val("FORM_SELECT");
  60. //$("#form1").attr("action", "/bid/purchase/SuccessBid.screen");
  61. $("#form1").attr("action", "/portal/bid/QuotRequest.screen");
  62. $("#form1").attr("target", "_self");
  63. $("#form1").attr("method", "post");
  64. $("#form1").submit();
  65. });
  66. $("#btn_signdata").click(function() {
  67. if(makecheck()){
  68. fMakeItemInfo();
  69. }
  70. });
  71. $("#btnExcelDown").click(function(){
  72. var params = { FileName : "(<%=Order.get("BID_NO")%>-<%=Order.get("BID_DEG")%>)견적서.xls", SheetName : "(<%=Order.get("BID_NO")%>-<%=Order.get("BID_DEG")%>)견적서", SheetDesign:1 ,DownSum:false, DownCols:"MATERIAL_NAME|STD|UNIT_KIND|QTY|UNIT_COST|ROW_SUM_AMT"
  73. , TitleText : "(<%=Order.get("BID_NO")%>-<%=Order.get("BID_DEG")%>) 견적서 \r\n| |*단가 항목만 수정하여 업로드 바랍니다."
  74. , UserMerge : "0,0,1,6 1,2,1,4"
  75. };
  76. sheet1.Down2Excel(params);
  77. });
  78. $("#btnExcelUpload").click(function(){
  79. sheet2.RemoveAll();
  80. var params = { Mode : 'HeaderMatch', StartRow: "3"};
  81. sheet2.LoadExcel(params);
  82. });
  83. if("<%=Order.get("PBC_DEFECT_CONDI2")%>"!=""||"<%=Order.get("CBC_DEFECT_DAY2")%>"!=""||"<%=Order.get("CBC_DERECT_TERM_CD2")%>"!=""){
  84. $("#addGuar").attr("checked", true);
  85. $(".checkAdd").show();
  86. }
  87. doSearchSheet();
  88. <%if(!"Y".equals(Order.get("CURRENCY_GB_YN"))){%>
  89. $("#CURRENCY_GB").attr("disabled",true);
  90. <%}%>
  91. <%if(!"Y".equals(Order.get("DELIVERY_CONDITION_YN"))){%>
  92. $("#DELIVERY_CONDITION").attr("disabled",true);
  93. <%}%>
  94. $("#sheet2_div").hide();
  95. $("#CURRENCY_GB").change(function(){
  96. CURRENCY_change();
  97. });
  98. $("#paycondi_type_1").click(function(){
  99. $("#CBC_FIRST_RATE").val("<%=Order.get("CBC_FIRST_RATE")%>");
  100. $("#PBC_FIRST_CONDI").val("<%=Order.get("PBC_FIRST_CONDI")%>");
  101. $("#CPC_MID_RATE").val("<%=Order.get("CPC_MID_RATE")%>");
  102. $("#PBC_MID_CONDI").val("<%=Order.get("PBC_MID_CONDI")%>");
  103. $("#PBC_REST_RATE").val("<%=Order.get("PBC_REST_RATE")%>");
  104. $("#PBC_REST_CONDI").val("<%=Order.get("PBC_REST_CONDI")%>");
  105. $("#CBC_FIRST_RATE").attr("disabled",true);
  106. $("#PBC_FIRST_CONDI").attr("disabled",true);
  107. $("#CPC_MID_RATE").attr("disabled",true);
  108. $("#PBC_MID_CONDI").attr("disabled",true);
  109. $("#PBC_REST_RATE").attr("disabled",true);
  110. $("#PBC_REST_CONDI").attr("disabled",true);
  111. });
  112. $("#paycondi_type_2").click(function(){
  113. $("#CBC_FIRST_RATE").attr("disabled",false);
  114. $("#PBC_FIRST_CONDI").attr("disabled",false);
  115. $("#CPC_MID_RATE").attr("disabled",false);
  116. $("#PBC_MID_CONDI").attr("disabled",false);
  117. $("#PBC_REST_RATE").attr("disabled",false);
  118. $("#PBC_REST_CONDI").attr("disabled",false);
  119. });
  120. }
  121. function doSearchSheet(){
  122. $("#fevent").val("GET_ITEM_LIST");
  123. var url = Modular.model.PageContext.CONTEXT_ROOT + "/portal/bid/OutEstmWrite_sheet.screen";
  124. Modular.view.IBSheet7.doSearch(sheet1, url, jQuery("#form1"), 30, "");
  125. }
  126. function gridInit(sheetName){
  127. var init_sheet = {};
  128. init_sheet.Cfg = {SearchMode:2, Page:30};
  129. if(sheetName.id == "sheet1"){
  130. init_sheet.Cols = [
  131. {Header:'Del', Type:"DelCheck", SaveName:"DEL_CHECK", Width:0, Align:"Center", Hidden:"True"},
  132. {Header:'Status', Type:"Status", SaveName:"STATUS", Width:0, Align:"Center", Hidden:"True"},
  133. {Header:'No.', Type:"Seq", SaveName:"NO", Width:0, Align:"Center", Hidden:"True"},
  134. {Header:'자재코드', Type:"Text", SaveName:"MATERIAL_CD", Width:100, Align:"Left", Hidden:"True"},
  135. {Header:'자재명', Type:"Text", SaveName:"MATERIAL_NAME", Width:140, Align:"Left", Edit:false},
  136. {Header:'규격', Type:"Text", SaveName:"STD", Width:80, Align:"Left", Edit:false},
  137. {Header:'단위', Type:"Text", SaveName:"UNIT_KIND", Width:50, Align:"Center", Edit:false},
  138. {Header:'수량', Type:"Float", SaveName:"QTY", Width:50, Align:"Right", Edit:false},
  139. {Header:'단가', Type:"Float", SaveName:"UNIT_COST", Width:80, Align:"Right", PointCount:0},
  140. {Header:'금액', Type:"AutoSum", SaveName:"ROW_SUM_AMT", Width:80, Align:"Right", Edit:false, CalcLogic:"|QTY|*|UNIT_COST|"}
  141. ];
  142. }else{
  143. init_sheet.Cols = [
  144. {Header:'Del', Type:"DelCheck", SaveName:"DEL_CHECK", Width:0, Align:"Center", Hidden:"True"},
  145. {Header:'Status', Type:"Status", SaveName:"STATUS", Width:0, Align:"Center", Hidden:"True"},
  146. {Header:'No.', Type:"Seq", SaveName:"NO", Width:0, Align:"Center", Hidden:"True"},
  147. {Header:'자재코드', Type:"Text", SaveName:"MATERIAL_CD", Width:60, Align:"Left", Hidden:"True"},
  148. {Header:'자재명', Type:"Text", SaveName:"MATERIAL_NAME", Width:220, Align:"Left", Edit:false},
  149. {Header:'규격', Type:"Text", SaveName:"STD", Width:70, Align:"Left", Edit:false},
  150. {Header:'단위', Type:"Text", SaveName:"UNIT_KIND", Width:50, Align:"Center", Edit:false},
  151. {Header:'수량', Type:"Float", SaveName:"QTY", Width:50, Align:"Right", Edit:false},
  152. {Header:'단가', Type:"Float", SaveName:"UNIT_COST", Width:80, Align:"Right", PointCount:3},
  153. {Header:'금액', Type:"AutoSum", SaveName:"ROW_SUM_AMT", Width:80, Align:"Right", Edit:false, CalcLogic:"|QTY|*|UNIT_COST|"}
  154. ];
  155. }
  156. init_sheet.HeaderMode = {Sort:1};
  157. IBS_InitSheet(sheetName, init_sheet);
  158. sheetName.SetDataAutoTrim(0);
  159. sheetName.SetFocusEditMode(1);
  160. sheetName.SetEditEnterBehavior("down");
  161. setGridSize();
  162. }
  163. function sheet2_OnLoadExcel(result) {
  164. CURRENCY_change();//cell 초기화
  165. var DataCopy = true;
  166. var GrowCount1 = sheet1.LastRow();
  167. var GrowCount2 = sheet2.LastRow();
  168. if(GrowCount1 != GrowCount2){
  169. alert("현재 견적내용과 업로드한 견적내용이 다릅니다.\n엑셀 파일을 확인 후 재업로드 해주세요.");
  170. sheet2.RemoveAll();
  171. return;
  172. }
  173. for(var i=0; i < GrowCount1;i++){
  174. var q1 = sheet1.GetCellValue(i+1,"QTY");
  175. var q2 = sheet2.GetCellValue(i+1,"QTY");
  176. if(q1 != q2){
  177. alert("엑셀파일 "+(i+4)+"행 수량이 변경 되었습니다.\n단가를 제외한 모든 내용은 수정할 수 없습니다.");
  178. sheet2.RemoveAll();
  179. return;
  180. }
  181. }
  182. for(var i=0; i < GrowCount1;i++){
  183. var Uc = sheet2.GetCellValue(i+1,"UNIT_COST");
  184. sheet1.SetCellValue(i+1,"UNIT_COST",Uc);
  185. }
  186. var amt = sheet1.GetCellValue(GrowCount1,"ROW_SUM_AMT");
  187. if(amt != ""){
  188. $("#TOT_AMT_CK").val(amt);
  189. var arrAmt = $("#TOT_AMT_CK").val().split(".");
  190. if(arrAmt.length > 1){
  191. $("#TOT_AMT").val(formatComma(amt,cost_point));
  192. }else{
  193. $("#TOT_AMT").val(amt);
  194. $("#TOT_AMT").val($("#TOT_AMT").val().split(/(?=(?:\d{3})+(?:\.|$))/g).join(','));
  195. }
  196. }
  197. sheet2.RemoveAll();
  198. /* if(result) {
  199. alert("엑셀 로딩이 완료되었습니다.");
  200. } else {
  201. alert("엑셀 로딩중 오류가 발생하였습니다.");
  202. } */
  203. }
  204. /**
  205. * IBSheet Event: Search End(IBSheet 데이터 조회 CallBack)
  206. */
  207. function sheet1_OnSearchEnd(code, message) {
  208. if(code == 0) {
  209. } else {
  210. //조회 에러 수행
  211. alert(message);
  212. }
  213. sheet1.FitColWidth();
  214. CURRENCY_change();
  215. //크롬 문제
  216. if(sheet1.GetSheetWidth() > 450){
  217. sheet1.SetSheetWidth(450);
  218. sheet1.SetSheetWidth($("#sheettable").width());
  219. sheet1.FitColWidth();
  220. }
  221. autoResize();
  222. }
  223. /**
  224. * IBSheet Event: Click
  225. */
  226. function sheet1_OnClick(Row, Col, Value, CellX, CellY, CellW, CellH) {
  227. //alert("Row :" + Row + " Col : " +Col);
  228. }
  229. /**
  230. * IBSheet size setting
  231. */
  232. function setGridSize() {
  233. sheet1.FitColWidth();
  234. }
  235. function sheet1_OnChange(Row, Col, Value) {
  236. if(Col == 8){//단가 수정시
  237. var Qty = sheet1.GetCellValue(Row,"QTY");
  238. var amt = Value * Qty;
  239. sheet1.SetCellValue(Row,"ROW_SUM_AMT",amt);
  240. }
  241. var GrowCount = sheet1.LastRow();
  242. var amt = sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT");
  243. if(amt != ""){
  244. $("#TOT_AMT_CK").val(amt);
  245. var arrAmt = $("#TOT_AMT_CK").val().split(".");
  246. if(arrAmt.length > 1){
  247. $("#TOT_AMT").val(formatComma(amt,cost_point));
  248. }else{
  249. $("#TOT_AMT").val(amt);
  250. $("#TOT_AMT").val($("#TOT_AMT").val().split(/(?=(?:\d{3})+(?:\.|$))/g).join(','));
  251. }
  252. }
  253. }
  254. function CURRENCY_change(){
  255. <%
  256. for(int i=0;i < CODE911.size();i++){
  257. ValueObject Vo = RowSetUtility.getValueObject(CODE911.getRow(i));
  258. %>
  259. if($("#CURRENCY_GB").val() == "<%=Vo.get("DETAILCD")%>"){
  260. InitCellProperty("<%=Vo.get("CHG_CODE01").equals("0") ? "Int" : "Float"%>",<%=Vo.get("CHG_CODE01")%>);
  261. }
  262. <%}%>
  263. }
  264. function InitCellProperty(CellType, CellPointCount){
  265. var GrowCount = sheet1.LastRow();
  266. var init = "";
  267. var init2 = "";
  268. cost_point = CellPointCount;
  269. for(var i=0; i < GrowCount; i++)
  270. {
  271. if(CellType == "Int"){
  272. sheet1.SetCellValue(i+1,"UNIT_COST",Math.round(sheet1.GetCellValue(i+1,"UNIT_COST"))); //cell값 반올림
  273. sheet2.SetCellValue(i+1,"UNIT_COST",Math.round(sheet2.GetCellValue(i+1,"UNIT_COST")));
  274. init = {Type:"Int", PointCount:CellPointCount};
  275. init2 = {Type:"AutoSum", PointCount:CellPointCount};
  276. }else{
  277. init = {Type:"Float", PointCount:CellPointCount};
  278. init2 = {Type:"AutoSum", PointCount:CellPointCount};
  279. }
  280. sheet1.InitCellProperty(i+1,"UNIT_COST",init);
  281. sheet2.InitCellProperty(i+1,"UNIT_COST",init);
  282. }
  283. }
  284. function numberFormat(num) {
  285. var pattern = /(-?[0-9]+)([0-9]{3})/;
  286. while(pattern.test(num)) {
  287. num = num.replace(pattern,"$1,$2");
  288. }
  289. return num;
  290. }
  291. //첨부파일
  292. function doAttachFile(obj) {
  293. if(obj==''){
  294. alert("After you have saved, you can attach a file.");
  295. }else if(obj != ''){
  296. viewFileListNew("<%=Order.get("FILE_GB")%>", obj.value, document.form1.p_AttachFile, "Y", "bid/outside/<%=Order.get("BID_NO")%>/<%=Order.get("VENDOR_CD")%>/");
  297. }
  298. }
  299. function doResult(resultObj) {
  300. try {
  301. if( resultObj.getRequestEvent() == "FORM_UPDATE") {
  302. if( resultObj.getSuccess() ) {
  303. alert("저장 되었습니다.");
  304. history.back();
  305. }
  306. else {
  307. dlgErrorMsg(resultObj);
  308. }
  309. }
  310. if( resultObj.getRequestEvent() == "FORM_DELETE") {
  311. if( resultObj.getSuccess() ) {
  312. alert("삭제 되었습니다.");
  313. $("#btn_list").click();
  314. }
  315. else {
  316. dlgErrorMsg(resultObj);
  317. }
  318. }
  319. } catch(errorObject) {
  320. showErrorDlg("doResult()", errorObject);
  321. }
  322. }
  323. function sheet1_OnSmartResize(Width, Height) {
  324. sheet1.FitColWidth();
  325. autoResize();
  326. }
  327. function valreturn(data){
  328. if(data == undefined){
  329. data ="NULL";
  330. }else if(data == ""){
  331. data = "NULL";
  332. }else if(data == null){
  333. data = "NULL";
  334. }
  335. return data;
  336. }
  337. // 문자열 공백제거 함수
  338. String.prototype.stripspace = function() {
  339. return this.replace(/ /g, '');
  340. }
  341. function autoResize(){
  342. var setheight = $("#table_a").height() - $("#table_b").height() -50;
  343. sheet1.SetSheetHeight(setheight);
  344. sheet1.SetSheetWidth($("#sheettable").width());
  345. }
  346. function makecheck(){
  347. <% if("Y".equals(Order.get("PBC_INSTALL_YN"))){ %>
  348. if(must_ck_radio("INSTALL_YN","Installation"))return false;
  349. <%} if("Y".equals(Order.get("PBC_COMMISS_YN"))){ %>
  350. if(must_ck_radio("COMMISS_YN","Spare parts for Commissioning"))return false;
  351. <%} if("Y".equals(Order.get("PBC_SPETOOL_YN"))){ %>
  352. if(must_ck_radio("SPETOOL_YN","Special Tool"))return false;
  353. <%} if("Y".equals(Order.get("PBC_TEST_YN"))){ %>
  354. if(must_ck_radio("TEST_YN","Test & Inspection at Fabrication shop"))return false;
  355. <%} if("Y".equals(Order.get("PBC_DOC_YN"))){ %>
  356. if(must_ck_radio("DOC_YN","Documentation"))return false;
  357. <%} if("Y".equals(Order.get("PBC_PACK_YN"))){ %>
  358. if(must_ck_radio("PACK_YN","Packing cost"))return false;
  359. <%} if("Y".equals(Order.get("PBC_LANDTRAN_YN"))){ %>
  360. if(must_ck_radio("LANDTRAN_YN","Inland Transportaion"))return false;
  361. <%}%>
  362. if(must_ck_radio("PAYCONDI_YN","Payment Condition"))return false;
  363. if(must_ck_radio("CONTFUL_YN","Performance Bond"))return false;
  364. if(must_ck_radio("FRSTGUAR_YN","First Payment Bond"))return false;
  365. if(must_ck_radio("WARR_YN","Guarantee Bond"))return false;
  366. if(must_ck_radio("DEFECT_YN","Guarantee Period"))return false;
  367. return true;
  368. }
  369. // radio 박스 체크
  370. function must_ck_radio(obj,name){
  371. var value = $(':radio[name='+obj+']:checked').val();
  372. if(value == undefined){
  373. alert("["+name+"] 항목에 견적포함여부 혹은 수용여부를 선택해주세요.");
  374. var id = $(':radio[name='+obj+']').attr("id");
  375. $("#"+id).focus();
  376. return true;
  377. }
  378. return false;
  379. }
  380. function AddZero(str){
  381. if((str+"").length==1){
  382. return "0"+str;
  383. }
  384. return str;
  385. }
  386. function fMakeItemInfo(){
  387. var sColumDelimiter = "┃";
  388. var sRowDelimiter = "↕";
  389. var sRowDelimiter = "↕";
  390. var sSumDelimiter = "╂";
  391. var sEncDelimiter = "⇔";
  392. var isNull = "NULL";
  393. var sItemInfo = "";
  394. var sBidNo = "<%=Order.get("BID_NO")%>"; // 공고번호
  395. var sBidDeg = "<%=Order.get("BID_DEG")%>"; // 입찰차수 var sMainVendcd = "<%=Order.get("VENDOR_CD")%>"; // 원사업자번호
  396. var sMainVendcd = $("#VENDOR_CD").val(); // 원사업자번호
  397. var pTotSum = ""; // 견적제출금액
  398. var GrowCount = sheet1.LastRow();
  399. var sfileGB = $("#FILE_GB").val();
  400. var bid_to_dt = "<%=Order.get("BID_TO_DT")%>";
  401. var today = "<%=str%>";
  402. var now = new Date();
  403. hours = now.getHours();
  404. if (hours < 10)
  405. hours = "0" + hours;
  406. minutes = now.getMinutes();
  407. now = today + " " + hours + ":" + minutes;
  408. var time = false;
  409. if(bid_to_dt <= now){
  410. time = true;
  411. }
  412. var rowsum = 0;
  413. var costzero = false;
  414. for(var i=1; i < GrowCount+1; i++)
  415. {
  416. if(sheet1.GetCellValue(i,"UNIT_COST") == 0){
  417. costzero = true;
  418. }
  419. rowsum += sheet1.GetCellValue(i,"UNIT_COST");
  420. }
  421. if(rowsum == 0){
  422. alert("단가를 입력해 주세요.");
  423. return;
  424. }
  425. if(sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT") == "0" || sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT") == "" || time){
  426. if((sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT") == "0" || sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT") == "") && time){
  427. alert("다음과 같은 사유로 견적을\n 제출하실수 없습니다.\n* 견적마감시간 초과\n* 견적금액 0원");
  428. }else if(time){
  429. alert("다음과 같은 사유로 견적을\n 제출하실수 없습니다.\n* 견적마감시간 초과");
  430. }else if(sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT") == "0" || sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT") == ""){
  431. alert("다음과 같은 사유로 견적을\n 제출하실수 없습니다.\n* 견적금액 0원");
  432. }
  433. return;
  434. }
  435. for(var i=1; i < GrowCount+1; i++)
  436. {
  437. var pMaterial_cd = ""; // 아이템코드
  438. var pQty = ""; // 수량
  439. var PUnit_cost = ""; // 단가
  440. var pRow_sum_amt = ""; // 합계
  441. var pBasis_calcu = ""; // 산출근거
  442. var pNoti = ""; // 비고
  443. pMaterial_cd = sheet1.GetCellValue(i,"MATERIAL_CD");
  444. if(pMaterial_cd.length > 0){
  445. pQty = sheet1.GetCellValue(i,"QTY");
  446. if(isEmptyVal(pQty))
  447. pQty = isNull;
  448. PUnit_cost = sheet1.GetCellValue(i,"UNIT_COST");
  449. if(isEmptyVal(PUnit_cost))
  450. PUnit_cost = isNull;
  451. pRow_sum_amt = sheet1.GetCellValue(i,"ROW_SUM_AMT");
  452. if(isEmptyVal(pRow_sum_amt))
  453. pRow_sum_amt = isNull;
  454. pNoti = sheet1.GetCellValue(i,"NOTI");
  455. if(isEmptyVal(pNoti))
  456. pNoti = isNull;
  457. pBasis_calcu = sheet1.GetCellValue(i,"BASIS_CALCU");
  458. if(isEmptyVal(pBasis_calcu))
  459. pBasis_calcu = isNull;
  460. if(isEmptyVal(pTotSum))
  461. pTotSum = isNull;
  462. sItemInfo = sItemInfo
  463. + sBidNo + sColumDelimiter
  464. + sBidDeg + sColumDelimiter
  465. + sMainVendcd + sColumDelimiter
  466. + pMaterial_cd + sColumDelimiter
  467. + pQty + sColumDelimiter
  468. + PUnit_cost + sColumDelimiter
  469. + pRow_sum_amt + sColumDelimiter
  470. + pBasis_calcu + sColumDelimiter
  471. + pNoti + sRowDelimiter
  472. }
  473. }
  474. sItemInfo = sItemInfo + sSumDelimiter + sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT") + sSumDelimiter + sfileGB
  475. + sSumDelimiter
  476. + valreturn($("#CURRENCY_GB_YN").val()) + sColumDelimiter
  477. + valreturn($("#CURRENCY_GB").val()) + sColumDelimiter
  478. + valreturn($(':radio[name="INSTALL_YN"]:checked').val()) + sColumDelimiter
  479. + valreturn($(':radio[name="COMMISS_YN"]:checked').val()) + sColumDelimiter
  480. + valreturn($(':radio[name="SPETOOL_YN"]:checked').val()) + sColumDelimiter
  481. + valreturn($(':radio[name="TEST_YN"]:checked').val()) + sColumDelimiter
  482. + valreturn($(':radio[name="DOC_YN"]:checked').val()) + sColumDelimiter
  483. + valreturn($(':radio[name="PACK_YN"]:checked').val()) + sColumDelimiter
  484. + valreturn($(':radio[name="LANDTRAN_YN"]:checked').val()) + sColumDelimiter
  485. + valreturn($("#DELIVERY_CONDITION_YN").val()) + sColumDelimiter
  486. + valreturn($("#DELIVERY_CONDITION").val()) + sColumDelimiter
  487. + valreturn($("#FEE_NOTI").val()) + sColumDelimiter
  488. + valreturn($("#OPTION_NOTI").val()) + sColumDelimiter
  489. + valreturn($("#QUOT_NO").val()) + sColumDelimiter
  490. + valreturn($(':radio[name="PAYCONDI_YN"]:checked').val()) + sColumDelimiter
  491. + valreturn($("#PAYCONDI_NOT_NOTI").val()) + sColumDelimiter
  492. + valreturn($(':radio[name="CONTFUL_YN"]:checked').val()) + sColumDelimiter
  493. + valreturn($("#CONTFUL_NOT_NOTI").val()) + sColumDelimiter
  494. + valreturn($(':radio[name="FRSTGUAR_YN"]:checked').val()) + sColumDelimiter
  495. + valreturn($("#FRSTGUAR_NOT_NOTI").val()) + sColumDelimiter
  496. + valreturn($(':radio[name="WARR_YN"]:checked').val()) + sColumDelimiter
  497. + valreturn($("#WARR_NOT_NOTI").val()) + sColumDelimiter
  498. + valreturn($(':radio[name="DEFECT_YN"]:checked').val()) + sColumDelimiter
  499. + valreturn($("#DEFECT_NOT_NOTI").val()) + sColumDelimiter
  500. + valreturn($("#BID_CONDI_NOTI").val()) + sColumDelimiter
  501. + valreturn($("#CBC_FIRST_RATE").val()) + sColumDelimiter
  502. + valreturn($("#PBC_FIRST_CONDI").val()) + sColumDelimiter
  503. + valreturn($("#CPC_MID_RATE").val()) + sColumDelimiter
  504. + valreturn($("#PBC_MID_CONDI").val()) + sColumDelimiter
  505. + valreturn($("#PBC_REST_RATE").val()) + sColumDelimiter
  506. + valreturn($("#PBC_REST_CONDI").val()) + sColumDelimiter;
  507. $("#sItemInfo").val(sItemInfo);
  508. //alert($("#sItemInfo").val());
  509. var confirmMsg = "";
  510. var tot_amt = formatComma(sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT"),0);
  511. //tot_amt = tot_amt.replace(".00","");
  512. tot_amt = $("#TOT_AMT").val();
  513. confirmMsg = "견적총금액은 "+tot_amt+" (VAT별도)입니다.\n\n견적서를 제출하시겠습니까?";
  514. if(confirm(confirmMsg)){
  515. SignData();
  516. }
  517. }
  518. function sheet1_OnSaveEnd(code, msg)
  519. {
  520. var event = $("#fevent").val();
  521. if(event == "FORM_SAVE"){
  522. if(code >= "0"){
  523. alert("견적서를 제출하였습니다.\n견적서 제출마감시간까지 여러번 제출이 가능합니다.\n마지막으로 제출한 견적내역이 최종견적으로 반영됩니다.");
  524. historyback();
  525. }else{
  526. alert(msg);
  527. }
  528. }
  529. }
  530. function historyback(){
  531. $("#fevent").val("FORM_SELECT");
  532. $("#form1").attr("action", "/portal/bid/QuotRequest.screen");
  533. $("#form1").attr("target", "_self");
  534. $("#form1").attr("method", "post");
  535. $("#form1").submit();
  536. }
  537. function isEmptyVal( value ) {
  538. if(value.length == 0){
  539. return true;
  540. }
  541. if( value == "" ) {
  542. return true;
  543. }
  544. return false;
  545. }
  546. function dpTime2(){
  547. var now = new Date();
  548. hours = now.getHours();
  549. minutes = now.getMinutes();
  550. seconds = now.getSeconds();
  551. /* if (hours > 12){
  552. hours -= 12;
  553. ampm = "오후 ";
  554. }else{
  555. ampm = "오전 ";
  556. }
  557. if (hours < 10)
  558. hours = "0" + hours;
  559. if (minutes < 10)
  560. minutes = "0" + minutes;
  561. if (seconds < 10)
  562. seconds = "0" + seconds; */
  563. // document.getElementById("dpTime").innerHTML = ampm + hours + ":" + minutes + ":" + seconds;
  564. // 2010 년 6월 1일 (월은 0 ~ 11 월까지로 현재월 -1 값)
  565. // 오후 6시 32분 35초 (시는 12 시간을 초과할 경우 12를 뺀 후 오후표시)
  566. var day2= new Date(<%=to_yyyy%>,<%=to_MM%>,<%=to_dd%>,<%=to_hh%>,<%=to_mi%>,00);
  567. // 2011 년 3월 1일 (월은 0 ~ 11 월까지로 현재월 -1 값)
  568. // 오전 10시 15분 43초
  569. var day1= new Date(<%=nowTime_yyyy%>,<%=nowTime_MM%>,<%=nowTime_dd%>,hours,minutes,seconds);
  570. // 첫번째 날짜를 1/1000 값으로 환산
  571. var ms1 = Date.parse(day1);
  572. // alert(ms1);
  573. // 두번째 날짜를 1/1000 값으로 환산
  574. var ms2 = Date.parse(day2);
  575. // alert(ms2);
  576. var sep = (ms2-ms1)/1000; // 두 날짜간의 시간차 (1/1000 초 이므로 초로 환산)
  577. // alert(sep);
  578. var min = 60;
  579. var hour= min * 60;
  580. var day = hour * 24;
  581. var sd = parseInt(sep/day);
  582. var sh = parseInt((sep%day)/hour);
  583. var sm = parseInt((sep%hour)/min);
  584. var ss = sep%min+1;
  585. var msg = "";
  586. if(sd > 0){
  587. msg = sd+'일 '+sh+'시간 '+sm+'분 '+ss+'초 남았습니다. / 입찰진행중';
  588. }else if(sd <= 0){
  589. if(sh <= 0){
  590. if(sm <= 0){
  591. msg = "입찰마감";
  592. }else{
  593. msg = sm+'분 '+ss+'초 남았습니다. / 입찰진행중';
  594. }
  595. }else{
  596. msg = sh+'시간 '+sm+'분 '+ss+'초 남았습니다. / 입찰진행중';
  597. }
  598. }else{
  599. msg = "입찰마감";
  600. }
  601. document.getElementById('dpTime').innerHTML = msg;
  602. }
  603. setInterval("dpTime2()",1000);
  604. document.body.onresize = addEvent( document.body.onresize, "autoResize()");
  605. </SCRIPT>
  606. <SCRIPT LANGUAGE="JavaScript">
  607. <!--
  608. function SignData()
  609. {
  610. var VendorCd = "<%=user.get("CORP_REG_NO")%>";
  611. var enc_cert = "<%=Order.get("KEY")%>";
  612. var sOrgnData = $("#sItemInfo").val();
  613. sOrgnData = encodeURI(sOrgnData);
  614. if( $("#sItemInfo").val() == null || $("#sItemInfo").val() == "" )
  615. {
  616. alert("서명할 데이타를 넣어주십시요");
  617. return;
  618. }
  619. if(enc_cert == "" || enc_cert == null) // 서버인증서를 못 받은 경우
  620. {
  621. alert("견적서 제출을 할수 없습니다.\n\n관리자에게 문의하세요");
  622. return;
  623. }
  624. // 인증서 선택창 초기화 및 선택된 인증서의 DN 추출
  625. // DN은 인증기관에서 유니크한 것임.
  626. unisign.EncryptDataWithCert( sOrgnData, enc_cert, function( resultObj ) {
  627. if( !resultObj || resultObj.resultCode != 0 ){
  628. alert( resultObj.resultMessage );
  629. return;
  630. }
  631. $("#signeddata").val(resultObj.encryptedData);
  632. unisign.SignDataNVerifyVID( resultObj.encryptedData, null, VendorCd, function( resultObject ) {
  633. if( !resultObject || resultObject.resultCode != 0 ){
  634. if( resultObject.resultCode == '14208'){
  635. alert("선택하신 인증서가 로그인한 사업자의 인증서가 아닙니다.\n[사업자번호 불일치]");
  636. } else if( resultObject.resultCode == '999'){
  637. alert("사용자 DN 선택이 취소 되었습니다.");
  638. } else {
  639. alert( resultObject.resultMessage);
  640. }
  641. return;
  642. }
  643. var signeddata = resultObject.signedData;
  644. var userdn = resultObject.certAttrs.subjectName;
  645. $("#ESTI_SIGNDATA").val(signeddata);
  646. $("#fevent").val("FORM_SAVE");
  647. var url = Modular.model.PageContext.CONTEXT_ROOT + "/portal/bid/OutEstmWrite_sheet.screen";
  648. var result = Modular.view.IBSheet7.doSave(sheet1, url, $("#form1"), false);
  649. //submitXmlRequest("/portal/bid/OutEstmWrite_form.screen", "FORM_SAVE", f);
  650. });
  651. });
  652. /* unisign.SignDataNVerifyVID( sOrgnData, null, VendorCd, function( resultObject ) {
  653. if( !resultObject || resultObject.resultCode != 0 ){
  654. if( resultObject.resultCode == '14208'){
  655. alert("선택하신 인증서가 로그인한 사업자의 인증서가 아닙니다.\n[사업자번호 불일치]");
  656. } else if( resultObject.resultCode == '999'){
  657. alert("사용자 DN 선택이 취소 되었습니다.");
  658. } else {
  659. alert( resultObject.resultMessage);
  660. }
  661. return;
  662. }
  663. var signeddata = resultObject.signedData;
  664. var userdn = resultObject.certAttrs.subjectName;
  665. $("#signeddata").val(signeddata);
  666. unisign.EncryptDataWithCert( signeddata, enc_cert, function( resultObj) {
  667. if( !resultObj || resultObj.resultCode != 0 ){
  668. alert( resultObj.resultMessage );
  669. return;
  670. }
  671. $("#ESTI_SIGNDATA").val(resultObj.encryptedData);
  672. $("#fevent").val("FORM_SAVE");
  673. var url = Modular.model.PageContext.CONTEXT_ROOT + "/portal/bid/OutEstmWrite_sheet.screen";
  674. var result = Modular.view.IBSheet7.doSave(sheet1, url, $("#form1"), false);
  675. //submitXmlRequest("/portal/bid/OutEstmWrite_form.screen", "FORM_SAVE", f);
  676. }
  677. );
  678. });
  679. */
  680. }
  681. //-->
  682. </SCRIPT>
  683. <modular:search id="form1">
  684. <modular:key id="fevent" />
  685. </modular:search>
  686. <form id="form1" name="form1" method="post" modular:type="search">
  687. <INPUT type='hidden' name="fevent" id="fevent" value="">
  688. <INPUT type='hidden' name="DEMANDED_ID" value="<%=Order.get("DEMANDED_ID")%>">
  689. <INPUT type='hidden' name="DEMANDED_KIND" value="<%=Order.get("DEMANDED_KIND")%>">
  690. <INPUT type='hidden' name="BID_NO" value="<%=Order.get("BID_NO")%>">
  691. <INPUT type='hidden' name="BID_DEG" value="<%=Order.get("BID_DEG")%>">
  692. <INPUT type='hidden' name="STATUS_CD" value="<%=Order.get("STATUS_CD")%>">
  693. <INPUT type='hidden' name="VENDOR_CD" value="<%=user.get("CORP_ID")%>">
  694. <INPUT type='hidden' name="FILE_GB" value="<%=Order.get("FILE_GB")%>">
  695. <INPUT type='hidden' name="ATT_ID" value="<%=Order.get("ATT_ID")%>">
  696. <INPUT type='hidden' name="TOT_AMT_CK" value="">
  697. <input type="hidden" name="hdn_cur_ymd" value="<%=nowTime%>">
  698. <INPUT type='hidden' name="ESTI_SIGNDATA" value="">
  699. <INPUT type='hidden' name="sItemInfo" value="">
  700. <INPUT type='hidden' name="signeddata" value="">
  701. <table width="100%">
  702. <colgroup>
  703. <col width="*" />
  704. <col width="130" />
  705. </colgroup>
  706. <tr>
  707. <th>
  708. <div align="left" id="title" >
  709. <ul><li>견적서작성</li></ul>
  710. </div>
  711. </th>
  712. <td align="right">
  713. <span class="btnSearch center" id="btn_back"><a href="javascript:void(0);">이전</a></span>
  714. <span class="btnSearch center" id="btn_signdata"><a href="javascript:void(0);">견적서제출</a></span>
  715. </td>
  716. </tr>
  717. </table>
  718. <div class="application-info magT10" >
  719. <div class="application-sub-title">
  720. <span class="title">견적정보</span>
  721. </div>
  722. </div>
  723. <TABLE class="form-table" style="margin-top:3px">
  724. <colgroup>
  725. <col width="160">
  726. <col/>
  727. </colgroup>
  728. <TR height="25">
  729. <TH style="text-align:left">사업자번호</TH>
  730. <TD><%=StringUtils.getBizNo(user.get("CORP_REG_NO")) %></TD>
  731. </TR>
  732. <TR height="25">
  733. <TH style="text-align:left"> 업체명</TH>
  734. <TD><%=user.get("CORP_KOR")%></TD>
  735. </TR>
  736. <TR height="25">
  737. <TH style="text-align:left"> 견적합계금액</TH>
  738. <TD><%= InputText.get("TOT_AMT", "", 50, 300, "class=input_blank,desc=견적합계금액,readOnly=white") %></TD>
  739. </TR>
  740. <TR height="25">
  741. <TH style="text-align:left"> 견적제출기간</TH>
  742. <TD><%=Order.get("BID_FROM_DT")%> ~<%=Order.get("BID_TO_DT")%> <font color='red'><b> (<span id="dpTime"></span>)</b></font></TD>
  743. </TR>
  744. </table>
  745. <TABLE width="100%">
  746. <colgroup>
  747. <col width="50%">
  748. <col width="50%"/>
  749. </colgroup>
  750. <tr><td valign="top" rowspan="2" >
  751. <div class="application-info magT10" >
  752. <div class="application-sub-title">
  753. <span class="title">견적조건</span>
  754. </div>
  755. </div>
  756. <TABLE class="form-table" id="table_a" style="min-width:600px ">
  757. <colgroup>
  758. <col width="160">
  759. <col/>
  760. </colgroup>
  761. <TR height="25">
  762. <TH style="text-align:left">견적통화</TH>
  763. <TD><%=CommCodeManager.getSelectCodeList("911","CURRENCY_GB","height=18;","<option value=''>--선택--</option>",Order.get("CURRENCY_GB")) %>
  764. <%if("Y".equals(Order.get("CURRENCY_GB_YN"))){%> &nbsp;(견적의뢰 통화 : <%=Order.get("CURRENCY_GB_NM")%>) * 업체 변경가능<%} %>
  765. </TD>
  766. </TR>
  767. <% if("Y".equals(Order.get("PBC_INSTALL_YN"))){ %>
  768. <TR height="25">
  769. <TH style="text-align:left">Installation</TH>
  770. <TD>
  771. <LABEL for="install_type_1"><INPUT id="install_type_1" type="radio" name="INSTALL_YN" value="Y" desc="Installation" <%=Order.get("INSTALL_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  772. <LABEL for="install_type_2"><INPUT id="install_type_2" type="radio" name="INSTALL_YN" value="N" desc="Installation" <%=Order.get("INSTALL_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  773. </TD>
  774. </TR>
  775. <%} if("Y".equals(Order.get("PBC_COMMISS_YN"))){ %>
  776. <TR height="25">
  777. <TH style="text-align:left">Spare parts for<br>Commissioning</TH>
  778. <TD>
  779. <LABEL for="commiss_type_1"><INPUT id="commiss_type_1" type="radio" name="COMMISS_YN" value="Y" desc="Installation" <%=Order.get("COMMISS_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  780. <LABEL for="commiss_type_2"><INPUT id="commiss_type_2" type="radio" name="COMMISS_YN" value="N" desc="Installation" <%=Order.get("COMMISS_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  781. </TD>
  782. </TR>
  783. <%} if("Y".equals(Order.get("PBC_SPETOOL_YN"))){ %>
  784. <TR height="25">
  785. <TH style="text-align:left">Special Tool</TH>
  786. <TD>
  787. <LABEL for="spetool_type_1"><INPUT id="spetool_type_1" type="radio" name="SPETOOL_YN" value="Y" desc="Installation" <%=Order.get("SPETOOL_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  788. <LABEL for="spetool_type_2"><INPUT id="spetool_type_2" type="radio" name="SPETOOL_YN" value="N" desc="Installation" <%=Order.get("SPETOOL_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  789. </TD>
  790. </TR>
  791. <%} if("Y".equals(Order.get("PBC_TEST_YN"))){ %>
  792. <TR height="25">
  793. <TH style="text-align:left">Test & Inspection at<br>Fabrication shop</TH>
  794. <TD>
  795. <LABEL for="test_type_1"><INPUT id="test_type_1" type="radio" name="TEST_YN" value="Y" desc="Installation" <%=Order.get("TEST_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  796. <LABEL for="test_type_2"><INPUT id="test_type_2" type="radio" name="TEST_YN" value="N" desc="Installation" <%=Order.get("TEST_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  797. </TD>
  798. </TR>
  799. <%} if("Y".equals(Order.get("PBC_DOC_YN"))){ %>
  800. <TR height="25">
  801. <TH style="text-align:left">Documentation</TH>
  802. <TD>
  803. <LABEL for="doc_type_1"><INPUT id="doc_type_1" type="radio" name="DOC_YN" value="Y" desc="Installation" <%=Order.get("DOC_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  804. <LABEL for="doc_type_2"><INPUT id="doc_type_2" type="radio" name="DOC_YN" value="N" desc="Installation" <%=Order.get("DOC_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  805. </TD>
  806. </TR>
  807. <%} if("Y".equals(Order.get("PBC_PACK_YN"))){ %>
  808. <TR height="25">
  809. <TH style="text-align:left">Packing cost</TH>
  810. <TD>
  811. <LABEL for="pack_type_1"><INPUT id="pack_type_1" type="radio" name="PACK_YN" value="Y" desc="Installation" <%=Order.get("PACK_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  812. <LABEL for="pack_type_2"><INPUT id="pack_type_2" type="radio" name="PACK_YN" value="N" desc="Installation" <%=Order.get("PACK_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  813. </TD>
  814. </TR>
  815. <%} if("Y".equals(Order.get("PBC_LANDTRAN_YN"))){ %>
  816. <TR height="25">
  817. <TH style="text-align:left">Inland Transportaion</TH>
  818. <TD>
  819. <LABEL for="landtran_type_1"><INPUT id="landtran_type_1" type="radio" name="LANDTRAN_YN" value="Y" desc="Installation" <%=Order.get("LANDTRAN_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  820. <LABEL for="landtran_type_2"><INPUT id="landtran_type_2" type="radio" name="LANDTRAN_YN" value="N" desc="Installation" <%=Order.get("LANDTRAN_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  821. </TD>
  822. </TR>
  823. <%} if("Y".equals(Order.get("DELIVERY_CONDITION_YN"))){ %>
  824. <TR height="25">
  825. <TH style="text-align:left">Delivery Condition</TH>
  826. <TD>
  827. <%=CommCodeManager.getSelectCodeList("PUR_LEAD_GB","DELIVERY_CONDITION","height=18;","<option value=''>--선택--</option>",Order.get("DELIVERY_CONDITION")) %>
  828. <%if("Y".equals(Order.get("DELIVERY_CONDITION_YN"))){%>(견적의뢰 조건 : <%=Order.get("DELIVERY_CONDITION_NM")%>) * 업체 변경가능<%} %> </TD>
  829. </TD>
  830. </TR>
  831. <%} if("Y".equals(Order.get("PBC_FEE_YN"))){ %>
  832. <TR height="25">
  833. <TH style="text-align:left">Supervision fee</TH>
  834. <TD>
  835. <%= InputText.get("FEE_NOTI", "", 50, 2000, "") %> ex) per day $500
  836. </TD>
  837. </TR>
  838. <%} if("Y".equals(Order.get("PBC_OPTION_YN"))){ %>
  839. <TR height="25">
  840. <TH style="text-align:left"><%=Order.get("PBC_OPTION_COMMENT")%></TH>
  841. <TD>
  842. <%= InputText.get("OPTION_NOTI", "", 50, 50, "") %> ex) per day $500
  843. </TD>
  844. </TR>
  845. <%} %>
  846. <TR height="25">
  847. <TH style="text-align:left">Quotation No</TH>
  848. <TD>
  849. <%= InputText.get("QUOT_NO", "", 50, 50, "") %>
  850. </TD>
  851. </TR>
  852. <TR height="25">
  853. <TH style="text-align:left">Payment Condition</TH>
  854. <TD colspan="2">
  855. <LABEL for="paycondi_type_1"><INPUT id="paycondi_type_1" type="radio" name="PAYCONDI_YN" value="Y" desc="Installation" <%=Order.get("PAYCONDI_YN").equals("Y") ? "checked=\"checked\"" : "" %> > accept</LABEL>
  856. <LABEL for="paycondi_type_2"><INPUT id="paycondi_type_2" type="radio" name="PAYCONDI_YN" value="N" desc="Installation" <%=Order.get("PAYCONDI_YN").equals("N") ? "checked=\"checked\"" : "" %> > not accept</LABEL>
  857. <br>선급금 : <%= InputText.get("CBC_FIRST_RATE", Order.get("CBC_FIRST_RATE"), 5, 3, "Right,Number","Number") %>% <%= InputText.get("PBC_FIRST_CONDI", Order.get("PBC_FIRST_CONDI"), 20, 50, "") %>&nbsp;(계약금액 기준)
  858. <br>중도금 : <%= InputText.get("CPC_MID_RATE", Order.get("CPC_MID_RATE"), 5, 3, "Right,Number","Number") %>% <%= InputText.get("PBC_MID_CONDI", Order.get("PBC_MID_CONDI"), 20, 50, "") %>&nbsp;(계약금액 기준)
  859. <br>잔 &nbsp; 금 : <%= InputText.get("PBC_REST_RATE", Order.get("PBC_REST_RATE"), 5, 3, "Right,Number","Number") %>% <%= InputText.get("PBC_REST_CONDI", Order.get("PBC_REST_CONDI"), 20, 50, "") %>&nbsp;(계약금액 기준)
  860. <br><TEXTAREA name="PAYCONDI_NOT_NOTI" id="PAYCONDI_NOT_NOTI" style="width:91%;height:50px" rows="1" class="input"></TEXTAREA>
  861. </TD>
  862. </TR>
  863. <TR height="25">
  864. <TH style="text-align:left">Performance Bond</TH>
  865. <TD><%=Order.get("CONTFUL_RATE") %>%(계약금액 기준)
  866. <LABEL for="contful_type_1"><INPUT id="contful_type_1" type="radio" name="CONTFUL_YN" value="Y" desc="Installation" <%=Order.get("CONTFUL_YN").equals("Y") ? "checked=\"checked\"" : "" %> > accept</LABEL>
  867. <LABEL for="contful_type_2"><INPUT id="contful_type_2" type="radio" name="CONTFUL_YN" value="N" desc="Installation" <%=Order.get("CONTFUL_YN").equals("N") ? "checked=\"checked\"" : "" %> > not accept</LABEL>
  868. <br/><TEXTAREA name="CONTFUL_NOT_NOTI" id="CONTFUL_NOT_NOTI" style="width:95%;height:30px" rows="1" class="input"></TEXTAREA>
  869. </TD>
  870. </TR>
  871. <TR height="25">
  872. <TH style="text-align:left">First Payment Bond</TH>
  873. <TD>
  874. <%=Order.get("PBC_FRSTGUAR_RATE") %>%(계약금액 기준)
  875. <LABEL for="frtguar_type_1"><INPUT id="frtguar_type_1" type="radio" name="FRSTGUAR_YN" value="Y" desc="Installation" <%=Order.get("FRSTGUAR_YN").equals("Y") ? "checked=\"checked\"" : "" %> > accept</LABEL>
  876. <LABEL for="frtguar_type_2"><INPUT id="frtguar_type_2" type="radio" name="FRSTGUAR_YN" value="N" desc="Installation" <%=Order.get("FRSTGUAR_YN").equals("N") ? "checked=\"checked\"" : "" %> > not accept</LABEL>
  877. <br/><TEXTAREA name="FRSTGUAR_NOT_NOTI" id="FRSTGUAR_NOT_NOTI" style="width:95%;height:30px" rows="1" class="input"></TEXTAREA>
  878. </TD>
  879. </TR>
  880. <TR height="25">
  881. <TH style="text-align:left">Guarantee Bond</TH>
  882. <TD><%=Order.get("WARR_RATE") %>%(계약금액 기준)
  883. <LABEL for="warr_type_1"><INPUT id="warr_type_1" type="radio" name="WARR_YN" value="Y" desc="Installation" <%=Order.get("WARR_YN").equals("Y") ? "checked=\"checked\"" : "" %> > accept</LABEL>
  884. <LABEL for="warr_type_2"><INPUT id="warr_type_2" type="radio" name="WARR_YN" value="N" desc="Installation" <%=Order.get("WARR_YN").equals("N") ? "checked=\"checked\"" : "" %> > not accept</LABEL>
  885. <br/><TEXTAREA name="WARR_NOT_NOTI" id="WARR_NOT_NOTI" style="width:95%;height:30px" rows="1" class="input"></TEXTAREA>
  886. </TD>
  887. </TR>
  888. <TR height="25">
  889. <TH style="text-align:left">Guarantee Period</TH>
  890. <TD><%=Order.get("PBC_DEFECT_CONDI") %><%=Order.get("CBC_DEFECT_DAY") %>
  891. <%if(!Order.get("CBC_DERECT_TERM_NM").isEmpty()){ %><%=Order.get("CBC_DERECT_TERM_NM") %>간<%}%>
  892. <span class="checkAdd" style="display:none;">&nbsp;or&nbsp;
  893. <input type="checkbox" id="addGuar" style="margin-top:2px; display:none;">
  894. <%=Order.get("PBC_DEFECT_CONDI2") %> <%=Order.get("CBC_DEFECT_DAY2")%>
  895. <%if(Order.get("CBC_DERECT_TERM_CD2").equals("01")){%>
  896. <span>일 간 중 선도래일</span>
  897. <%}else if(Order.get("CBC_DERECT_TERM_CD2").equals("02")){%>
  898. <span>개월 간 중 선도래일</span>
  899. <%} %>
  900. </span>
  901. <LABEL for="defect_type_1"><INPUT id="defect_type_1" type="radio" name="DEFECT_YN" value="Y" desc="Installation" <%=Order.get("DEFECT_YN").equals("Y") ? "checked=\"checked\"" : "" %> > accept</LABEL>
  902. <LABEL for="defect_type_2"><INPUT id="defect_type_2" type="radio" name="DEFECT_YN" value="N" desc="Installation" <%=Order.get("DEFECT_YN").equals("N") ? "checked=\"checked\"" : "" %> > not accept</LABEL>
  903. </TD>
  904. <%-- <TD>설치완료일로부터 <%=Order.get("CBC_DEFECT_DAY") %><%=Order.get("CBC_DERECT_TERM_NM") %>간
  905. <LABEL for="defect_type_1"><INPUT id="defect_type_1" type="radio" name="DEFECT_YN" value="Y" desc="Installation" <%=Order.get("DEFECT_YN").equals("Y") ? "checked=\"checked\"" : "" %> > accept</LABEL>
  906. <LABEL for="defect_type_2"><INPUT id="defect_type_2" type="radio" name="DEFECT_YN" value="N" desc="Installation" <%=Order.get("DEFECT_YN").equals("N") ? "checked=\"checked\"" : "" %> > not accept</LABEL>
  907. <br/><TEXTAREA name="DEFECT_NOT_NOTI" id="DEFECT_NOT_NOTI" style="width:95%;height:30px;" rows="1" class="input"></TEXTAREA>
  908. </TD> --%>
  909. </TR>
  910. <TR height="50">
  911. <TH style="text-align:left">OTHERS TO BE<br>CONFIRMED</TH>
  912. <TD>
  913. <TEXTAREA name="BID_CONDI_NOTI" id="BID_CONDI_NOTI" style="width:95%;height:30px" rows="1" class="input"></TEXTAREA>
  914. </TD>
  915. </TR>
  916. </TABLE>
  917. </TD>
  918. <TD style="padding-left:5px;" valign="top">
  919. <table id=sheettable style="width:100%;height:25px;margin-top:-4px;">
  920. <colgroup>
  921. <col width="*" />
  922. <col width="200" />
  923. </colgroup>
  924. <tr heigth="25">
  925. <th>
  926. <div class="application-info magT10">
  927. <div class="application-sub-title">
  928. <span class="title">견적내역(부가세별도)</span>
  929. </div>
  930. </div>
  931. </th>
  932. <td align="right">
  933. <span class="btnSearch center" id="btnExcelUpload"><a href="javascript:void(0);">Excel Upload</a></span>
  934. <span class="btnSearch center" id="btnExcelDown"><a href="javascript:void(0);">Excel Down</a></span>
  935. </td>
  936. </tr>
  937. </table>
  938. <div id="sheet1_div" style="height: auto; min-height:100px;width:100%; overflow: auto;height:100%">
  939. <script>createIBSheet('sheet1','100%', '450px');</script>
  940. </div>
  941. </TD>
  942. </TR>
  943. <TR><TD style="padding-left:5px;" valign="bottom" width="*">
  944. <div class="application-info magT10" >
  945. <div class="application-sub-title">
  946. <span class="title">첨부파일</span>
  947. </div>
  948. </div>
  949. <TABLE class="form-table" id="table_b">
  950. <colgroup>
  951. <col width="160">
  952. <col/>
  953. </colgroup>
  954. <TR height="100">
  955. <TH style="text-align:left"> 첨부파일</TD>
  956. <TD>
  957. <TEXTAREA name="p_AttachFile" id="p_AttachFile" style="width:85%;height:80px" rows="1" class="input" readOnly><%=file.get(Order.get("FILE_GB")) %></TEXTAREA>
  958. <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;'>
  959. </TD>
  960. </TR>
  961. </TABLE>
  962. </TD>
  963. </TR>
  964. </TABLE>
  965. <div id="sheet2_div" style="height: auto; min-height:100px;width:100%; overflow: auto;height:100%">
  966. <script>createIBSheet('sheet2','100%', '450px');</script>
  967. </div>
  968. </form>
  969. <div id="CONTROL_LAYER" style="position:absolute; z-index:10; visibility:hidden;">
  970. <script src="/js/cont/cont_util.js"></script>
  971. <script>
  972. </script>
  973. </div>
  974. <!-- 전자인증 모듈 설정 //-->
  975. <link rel="stylesheet" type="text/css" href="/CrossCert/CC_WSTD_home/unisignweb/rsrc/css/certcommon.css?v=1" />
  976. <script type="text/javascript" src="/CrossCert/CC_WSTD_home/unisignweb/js/unisignwebclient.js?v=1"></script>
  977. <script type="text/javascript" src="/CrossCert/UniSignWeb_Multi_Init_Nim.js?v=1"></script>
  978. <!-- 전자인증 모듈 설정 //-->