수리 서비스 가격

IMFIX 가격 조회 body { font-family: 'Pretendard', 'Inter', system-ui, sans-serif; padding: 24px; background: #ffffff; color: #0a1a2f; } h1 { color: #0a3d91; font-weight: 700; margin-bottom: 20px; } label { display: block; margin: 12px 0 6px; font-weight: 600; color: #0a3d91; } select { padding: 10px; font-size: 16px; border: 1px solid #0a3d91; border-radius: 6px; background: #ffffff; color: #0a1a2f; } table { margin-top: 20px; width: 75%; max-width: 640px; border-collapse: collapse; background: #ffffff; border: 1px solid #0a1a2f; border-radius: 10px; box-shadow: 0 0 10px rgba(0,0,0,0.1); overflow: hidden; } th, td { border: 1px solid #0a3d91; padding: 8px; text-align: center; color: #0a1a2f; font-size: 14px; } th { background: #e8f0ff; font-weight: 700; color: #0a3d91; } table tr:last-child td { padding-top: 24px; padding-bottom: 24px; } /* layout for selects */ .filters { display:flex; gap:32px; align-items:flex-end; flex-wrap:wrap; width:100%; } .filters > div { display:flex; flex-direction:column; } /* image preview */ IMFIX 수리 서비스 비용 안내 제품군 모델 고장증상 가격 IRP 일반 OEM // Google Sheets gviz JSON URL (sheet: price_info) const sheetUrl = "https://docs.google.com/spreadsheets/d/18EOT_ykHd7KJ1wp8GY2H2SapLBmzY3J4hOQflEG_-B4/gviz/tq?tqx=out:json&sheet=price_info"; let dataRows = []; // Helper: safe parse gviz response function parseGviz(text) { // gviz returns: /*O_o*/\ngoogle.visualization.Query.setResponse({...}); const prefix = '/*O_o*/\ngoogle.visualization.Query.setResponse('; if (text.startsWith(prefix)) { const jsonText = text.slice(prefix.length, -2); // remove trailing ');' return JSON.parse(jsonText); } // fallback attempt (older format) const start = text.indexOf('{'); const end = text.lastIndexOf('}'); if (start >= 0 && end > start) { return JSON.parse(text.slice(start, end + 1)); } throw new Error('Unknown gviz format'); } // Fetch sheet and initialize selects fetch(sheetUrl) .then(res => res.text()) .then(text => parseGviz(text)) .then(json => { const rows = (json.table && json.table.rows) || []; // convert to simple 2D array, ensure each row has at least 7 columns dataRows = rows.map(r => { const cols = (r.c || []).map(c => (c && typeof c.v !== 'undefined' ? c.v : '')); // pad to length 7 (A..G) while (cols.length return cols; }); populateProductGroups(); }) .catch(err => { console.error('시트 읽기 오류:', err); }); function populateProductGroups() { const productGroupSelect = document.getElementById('productGroup'); const bodyRows = dataRows.slice(1); // assume first row header const productGroups = [...new Set(bodyRows.map(r => r[0]).filter(v => v))]; productGroupSelect.innerHTML = '선택' + productGroups.map(pg => `${pg}`).join(''); productGroupSelect.onchange = () => { populateModels(); clearResult(); }; } function populateModels() { const selectedPG = document.getElementById('productGroup').value; const modelSelect = document.getElementById('model'); const bodyRows = dataRows.slice(1); const models = [...new Set(bodyRows.filter(r => r[0] === selectedPG).map(r => r[1]).filter(v => v))]; modelSelect.innerHTML = '선택' + models.map(m => `${m}`).join(''); modelSelect.onchange = () => { populateIssues(); clearResult(); }; } function populateIssues() { const selectedPG = document.getElementById('productGroup').value; const selectedModel = document.getElementById('model').value; const issueSelect = document.getElementById('issue'); const bodyRows = dataRows.slice(1); const issues = [...new Set(bodyRows.filter(r => r[0] === selectedPG && r[1] === selectedModel).map(r => r[2]).filter(v => v))]; issueSelect.innerHTML = '선택' + issues.map(i => `${i}`).join(''); issueSelect.onchange = () => { showResult(); }; } function clearResult() { document.getElementById('irp').textContent = ''; document.getElementById('normal').textContent = ''; document.getElementById('oem').textContent = ''; const img = document.getElementById('previewImage'); img.src = ''; img.style.display = 'none'; } function showResult() { const selectedPG = document.getElementById('productGroup').value; const selectedModel = document.getElementById('model').value; const selectedIssue = document.getElementById('issue').value; const row = dataRows.find(r => r[0] === selectedPG && r[1] === selectedModel && r[2] === selectedIssue); if (row) { document.getElementById('irp').textContent = row[3] || ""; document.getElementById('normal').textContent = row[4] || ""; document.getElementById('oem').textContent = row[5] || ""; // 이미지 표시 (G열은 index 6) const imgUrl = row[6] || ""; const img = document.getElementById('previewImage'); if (imgUrl) { img.src = imgUrl; img.style.display = 'block'; } else { img.src = ''; img.style.display = 'none'; } } else { clearResult(); } }

IMFIX

logo
LOG IN 로그인
  • About
    • 공지사항
      • 알려드려요
      • 보증수리안내
    • 수리예약
      • 고객문의
        • 수리현황

      IMFIX

      logo logo
      • About
        • 공지사항
          • 알려드려요
          • 보증수리안내
        • 수리예약
          • 고객문의
            • 수리현황
          Search 검색
          Log In 로그인
          Cart 장바구니

          IMFIX

          logo logo

          IMFIX

          logo logo
          • About
            • 공지사항
              • 알려드려요
              • 보증수리안내
            • 수리예약
              • 고객문의
                • 수리현황
              Search 검색
              Log In 로그인
              Cart 장바구니

              IMFIX

              logo logo
              Terms of Use
              Privacy Policy
              Confirm Entrepreneur Information

              Company Name: 아이엠픽스 | Owner: 전재현 | Personal Info Manager: 김이서 | Phone Number: 031-755-3320 | Email: help@imfix.co.kr

              Address: 경기도 성남시 위례광장로300 중앙타워 | Business Registration Number: 867-03-01742 | Hosting by sixshop

              floating-button-img