Spaces:
Running
Running
REVERT: undo broken Excel image change
Browse files- index.html +4 -21
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><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>
|
|
@@ -2153,7 +2153,7 @@ return{customer,items,grandTotal};
|
|
| 2153 |
function fmtVND(n){return n>0?n.toLocaleString('vi-VN')+'đ':'Liên hệ'}
|
| 2154 |
|
| 2155 |
// ===== EXCEL EXPORT WITH FORMULAS =====
|
| 2156 |
-
async
|
| 2157 |
let qd=getQuoteData();
|
| 2158 |
let wb=new ExcelJS.Workbook();
|
| 2159 |
wb.creator='Malloca Vietnam';
|
|
@@ -2232,32 +2232,15 @@ cC.font={size:9,color:{argb:'FF003F62'}};
|
|
| 2232 |
let cD=row.getCell(4);cD.value=item.specs;
|
| 2233 |
cD.alignment={vertical:'middle',wrapText:true};
|
| 2234 |
cD.font={size:8,color:{argb:'FF888888'}};
|
| 2235 |
-
// E: Hình ảnh
|
| 2236 |
row.getCell(5).value='';
|
| 2237 |
row.getCell(5).alignment={horizontal:'center',vertical:'middle'};
|
| 2238 |
-
if(item.image){
|
| 2239 |
-
try{
|
| 2240 |
-
let imgResp=await fetch(item.image,{mode:'no-cors'}).catch(()=>null);
|
| 2241 |
-
if(!imgResp||!imgResp.ok){
|
| 2242 |
-
// Try with no-referrer for eurogold
|
| 2243 |
-
imgResp=await fetch(item.image,{referrerPolicy:'no-referrer'}).catch(()=>null);
|
| 2244 |
-
}
|
| 2245 |
-
if(imgResp&&imgResp.ok){
|
| 2246 |
-
let blob=await imgResp.blob();
|
| 2247 |
-
let buf=await blob.arrayBuffer();
|
| 2248 |
-
let b64=btoa(new Uint8Array(buf).reduce((s,b)=>s+String.fromCharCode(b),''));
|
| 2249 |
-
let ext=item.image.includes('.png')?'png':'jpeg';
|
| 2250 |
-
let imgId=wb.addImage({base64:b64,extension:ext});
|
| 2251 |
-
ws.addImage(imgId,{tl:{col:4,row:r-1},ext:{width:60,height:60}});
|
| 2252 |
-
}
|
| 2253 |
-
}catch(e){console.log('Img skip:',item.model)}
|
| 2254 |
-
}
|
| 2255 |
// F: SL
|
| 2256 |
let cF=row.getCell(6);cF.value=item.qty;
|
| 2257 |
cF.alignment={horizontal:'center',vertical:'middle'};
|
| 2258 |
cF.font={size:10,bold:true};
|
| 2259 |
// G: Đơn giá
|
| 2260 |
-
let cG=row.getCell(7);cG.value=Number(item.price)||0;
|
| 2261 |
cG.numFmt='#,##0';
|
| 2262 |
cG.alignment={horizontal:'right',vertical:'middle'};
|
| 2263 |
cG.font={size:10};
|
|
|
|
| 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><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>
|
|
|
|
| 2153 |
function fmtVND(n){return n>0?n.toLocaleString('vi-VN')+'đ':'Liên hệ'}
|
| 2154 |
|
| 2155 |
// ===== EXCEL EXPORT WITH FORMULAS =====
|
| 2156 |
+
async function exportExcel(){
|
| 2157 |
let qd=getQuoteData();
|
| 2158 |
let wb=new ExcelJS.Workbook();
|
| 2159 |
wb.creator='Malloca Vietnam';
|
|
|
|
| 2232 |
let cD=row.getCell(4);cD.value=item.specs;
|
| 2233 |
cD.alignment={vertical:'middle',wrapText:true};
|
| 2234 |
cD.font={size:8,color:{argb:'FF888888'}};
|
| 2235 |
+
// E: Hình ảnh
|
| 2236 |
row.getCell(5).value='';
|
| 2237 |
row.getCell(5).alignment={horizontal:'center',vertical:'middle'};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2238 |
// F: SL
|
| 2239 |
let cF=row.getCell(6);cF.value=item.qty;
|
| 2240 |
cF.alignment={horizontal:'center',vertical:'middle'};
|
| 2241 |
cF.font={size:10,bold:true};
|
| 2242 |
// G: Đơn giá
|
| 2243 |
+
let cG=row.getCell(7);cG.value=Number(item.price)||0;cG.numFmt='#,##0';
|
| 2244 |
cG.numFmt='#,##0';
|
| 2245 |
cG.alignment={horizontal:'right',vertical:'middle'};
|
| 2246 |
cG.font={size:10};
|