bep40 commited on
Commit
5db2872
·
verified ·
1 Parent(s): cd1a994

Fix quote: add CK% global input + fix image crossorigin blocking

Browse files
Files changed (1) hide show
  1. index.html +23 -3
index.html CHANGED
@@ -1,6 +1,6 @@
1
  <!DOCTYPE html>
2
  <html lang="vi">
3
- <head><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
  <title>V.AI STUDIO | Niềm tin khách hàng là tài sản của chúng tôi</title>
@@ -690,6 +690,11 @@ textarea.form-input{height:120px;resize:vertical}
690
  </div>
691
  </div>
692
 
 
 
 
 
 
693
  <div class="quote-actions">
694
  <button class="quote-btn" onclick="shareQuoteImage()" style="background:#25D366"><i class="fas fa-share-alt"></i> Chia sẻ ảnh</button>
695
  <button class="quote-btn" onclick="shareQuoteLink()" style="background:#0068FF"><i class="fas fa-share-alt"></i> Chia sẻ báo giá</button>
@@ -2105,7 +2110,7 @@ let discStyle='width:80px;padding:5px 6px;border:1.5px solid var(--gl);border-ra
2105
  discStyle+=locked?'background:var(--l);cursor:not-allowed':'background:#fff';
2106
  return `<tr>
2107
  <td style="text-align:center">${i+1}</td>
2108
- <td><img class="qt-img" src="${c.image}" alt="${c.name}" crossorigin="anonymous" onerror="this.style.display='none'" style="width:72px;height:72px;object-fit:contain"></td>
2109
  <td class="qt-name">${c.name}</td>
2110
  <td style="text-align:center">${model}</td>
2111
  <td style="font-size:.72rem;color:var(--g);max-width:160px">${specs}</td>
@@ -2126,9 +2131,24 @@ let discInput=document.querySelector(`.qt-disc[data-idx="${i}"]`);
2126
  let discVal=discInput?parseInt(discInput.value.replace(/\D/g,''))||0:c.priceNum;
2127
  let lineTotal=discVal*c.qty;
2128
  let cell=document.querySelector(`.qt-linetotal[data-idx="${i}"]`);
2129
- if(cell)cell.textContent=lineTotal>0?lineTotal.toLocaleString('vi-VN')+'đ':'';
2130
  total+=lineTotal;
2131
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2132
  document.getElementById('quoteTotalCell').textContent=total.toLocaleString('vi-VN')+'đ';
2133
  }
2134
 
 
1
  <!DOCTYPE html>
2
  <html lang="vi">
3
+ <head><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script><script>window.huggingface={variables:{"SPACE_CREATOR_USER_ID":"661b9191e7b0ab12bceb66f3","VAISTUDIO":""}};</script>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
  <title>V.AI STUDIO | Niềm tin khách hàng là tài sản của chúng tôi</title>
 
690
  </div>
691
  </div>
692
 
693
+ <div style="display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0;padding:10px;background:#f8fafc;border-radius:8px">
694
+ <label style="font-size:.8rem;font-weight:600">Chiết khấu %:</label>
695
+ <input type="number" id="globalCKPercent" value="0" min="0" max="100" step="1" style="width:60px;padding:6px;border:2px solid #003f62;border-radius:6px;font-size:.85rem;text-align:center">
696
+ <button onclick="applyGlobalDiscount()" style="padding:6px 14px;background:#003f62;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer">Áp dụng CK</button>
697
+ </div>
698
  <div class="quote-actions">
699
  <button class="quote-btn" onclick="shareQuoteImage()" style="background:#25D366"><i class="fas fa-share-alt"></i> Chia sẻ ảnh</button>
700
  <button class="quote-btn" onclick="shareQuoteLink()" style="background:#0068FF"><i class="fas fa-share-alt"></i> Chia sẻ báo giá</button>
 
2110
  discStyle+=locked?'background:var(--l);cursor:not-allowed':'background:#fff';
2111
  return `<tr>
2112
  <td style="text-align:center">${i+1}</td>
2113
+ <td><img class="qt-img" src="${c.image||D[c.idx]?.image||''}" alt="${c.name}" referrerpolicy="no-referrer" onerror="this.onerror=null;this.src=D[c.idx]?.image||'';" style="width:72px;height:72px;object-fit:contain"></td>
2114
  <td class="qt-name">${c.name}</td>
2115
  <td style="text-align:center">${model}</td>
2116
  <td style="font-size:.72rem;color:var(--g);max-width:160px">${specs}</td>
 
2131
  let discVal=discInput?parseInt(discInput.value.replace(/\D/g,''))||0:c.priceNum;
2132
  let lineTotal=discVal*c.qty;
2133
  let cell=document.querySelector(`.qt-linetotal[data-idx="${i}"]`);
2134
+ if(cell)cell.textContent=lineTotal>0?lineTotal.toLocaleString('vi-VN')+'\u0111':'';
2135
  total+=lineTotal;
2136
  });
2137
+ document.getElementById('quoteTotalCell').textContent=total.toLocaleString('vi-VN')+'\u0111';
2138
+ }
2139
+ function applyGlobalDiscount(){
2140
+ var pctEl=document.getElementById('globalCKPercent');
2141
+ if(!pctEl)return;
2142
+ var pct=parseFloat(pctEl.value)||0;
2143
+ cart.forEach(function(c,i){
2144
+ var discInput=document.querySelector('.qt-disc[data-idx="'+i+'"]');
2145
+ if(discInput&&c.priceNum>0){
2146
+ var newPrice=Math.round(c.priceNum*(1-pct/100));
2147
+ discInput.value=newPrice>0?newPrice.toLocaleString('vi-VN'):'0';
2148
+ }
2149
+ });
2150
+ updateQuoteTotal();
2151
+ });
2152
  document.getElementById('quoteTotalCell').textContent=total.toLocaleString('vi-VN')+'đ';
2153
  }
2154