彰化一整天的論壇

 找回密碼
 立即註冊
查看: 87|回復: 1

運費設定問題

[複製鏈接]
發表於 2019-7-20 14:52:40 | 顯示全部樓層 |閱讀模式
本帖最後由 imingho 於 2019-7-20 15:03 編輯

老師您好,請問要怎麼設定才能區分運費的部分,我有設定宅配跟自取,宅配滿2000免運費,未滿運費160,自取者則滿100免運,請問下面程式碼要怎麼設定呢?

  1. function autoSendmail(data) {
  2.   var subject = "測試 表單自動通知 您已完成訂購", // 信件標題
  3.       emailTitle = "電子郵件地址", // 表單中收件者 email 這個項目的標題
  4.       namedValues = data.namedValues,
  5.       values=data.values,      
  6.       notifyEmail = namedValues[emailTitle] ? namedValues[emailTitle][0]:"" ,
  7.       html = "";
  8.   
  9.    //設定產品價格
  10.   var price={"幸福檸檬塔380元":380,"藍莓重乳酪蛋糕480元":480,"曲奇餅乾(原味)230元":230,"曲奇餅乾(濃巧)230元":230,"曲奇餅乾(原味綜合)230元":230,"太妃焦糖堅果塔禮盒450元":450};


  11.   var money=0;//設定宅配金額
  12.   
  13.   var free_shipping_money=2000; //設定宅配免運費金額
  14.   
  15.   var freight=160;//設定宅配運費金額
  16.   
  17.   var n=data.values.length;
  18.   
  19.   var fields="";
  20.   
  21.   var field=["時間戳記","訂購人姓名","商品選項","幸福檸檬塔380元","藍莓重乳酪蛋糕480元","曲奇餅乾(原味)230元","曲奇餅乾(濃巧)230元","曲奇餅乾(綜合)230元","太妃焦糖堅果塔禮盒450元","取貨方式","取貨時間","備註","指定配送時間","收件人-姓名","收件人-電話","收件人-地址","備註"]
  22.   
  23.   var d="";
  24.   
  25.   var i,j;
  26.   
  27.   //顯示欄位名稱
  28.   show_field(namedValues);
  29.   
  30.   
  31.   for (i = 0; i < n; i++) {
  32.     v= namedValues[field[i]] ?
  33.       namedValues[field[i]][0]:"" ;
  34.     if(v!="")//有輸入的資料才顯示
  35.     {
  36.       html+=field[i]+":"+v+"<br/>";
  37.       if(price[field[i]]!=undefined) //有價格才計算
  38.         money+=price[field[i]]*v;         
  39.      }
  40.   }
  41.   
  42. html+="您購買"+money+"元<br/>";
  43. if(money<free_shipping_money)
  44.   {
  45.     money+=freight
  46.     html+="運費:"+freight+"元<br/>";
  47.   }
  48.   else
  49.   {
  50.     html+="運費:免費(滿"+free_shipping_money+"元)<br/>";
  51.   }
  52.    
  53.   html+="總費用為"+money+"元<br/>";
  54.   
  55.   html+="※店面自取者則不用理會以下資訊※<br/>";
  56.   html+="------------轉帳匯款資訊------------<br/>";
  57.   html+="銀行名稱:(代碼:)<br/>";
  58.   html+="分行名稱:<br/>";
  59.   html+="戶名:<br/>";
  60.   html+="帳號:<br/>";
  61.   html+="請於下單後48小時內完成匯款,匯款完將立即出貨<br/>";
  62.   html+="完成匯款後傳至信箱:a52520726@gmail.com告知我們謝謝<br/>";
  63.   html+="也可來電告知我們訂購大名及匯款後5碼,電話:0977101089<br/>";
  64.             
  65. MailApp.sendEmail({
  66.     to: notifyEmail,
  67.     bcc:"a52520726@gmail.com",  //副件附本寄給您的email
  68.     bcc:"",  //副件附本寄給您的email
  69.     subject: subject,
  70.     htmlBody: html
  71.   });
  72.   
  73. }

  74. function show_field(namedValues)
  75. {
  76.   fields="";
  77.   Object.keys(namedValues).forEach(function(key) {
  78.     if(namedValues[key]!="")//有輸入的資料才顯示
  79.     {
  80.       fields+="["+key+"]:["+namedValues[key]+"]\n";
  81.     }
  82.    
  83.   });  
  84.   Logger.log(fields);
  85.   
  86. }
複製代碼


回復

使用道具 舉報

發表於 2019-7-20 15:28:29 | 顯示全部樓層
本帖最後由 imingho 於 2019-7-22 15:45 編輯

您試看看底下程式碼,理論上自取是不收運費,您也沒說明若未滿100,要收多少費用。

  1. function autoSendmail(data) {
  2.   var subject = "測試 表單自動通知 您已完成訂購", // 信件標題
  3.       emailTitle = "電子郵件地址", // 表單中收件者 email 這個項目的標題
  4.       namedValues = data.namedValues,
  5.       values=data.values,      
  6.       notifyEmail = namedValues[emailTitle] ? namedValues[emailTitle][0]:"" ,
  7.       html = "";
  8.   
  9.    //設定產品價格
  10.   var price={"幸福檸檬塔380元":380,"藍莓重乳酪蛋糕480元":480,"曲奇餅乾(原味)230元":230,"曲奇餅乾(濃巧)230元":230,"曲奇餅乾(原味綜合)230元":230,"太妃焦糖堅果塔禮盒450元":450};


  11.   var money=0;//設定宅配金額
  12.   
  13.   var free_shipping_money=2000; //設定宅配免運費金額
  14.   
  15.   var freight=160;//設定宅配運費金額
  16.   
  17.   var pickup;//取貨方式
  18.   
  19.   pickup=namedValues["取貨方式"] ? namedValues["取貨方式"][0]:"" ;  
  20.   
  21.   var n=data.values.length;
  22.   
  23.   var fields="";
  24.   
  25.   var field=["時間戳記","訂購人姓名","商品選項","幸福檸檬塔380元","藍莓重乳酪蛋糕480元","曲奇餅乾(原味)230元","曲奇餅乾(濃巧)230元","曲奇餅乾(綜合)230元","太妃焦糖堅果塔禮盒450元","取貨方式","取貨時間","備註","指定配送時間","收件人-姓名","收件人-電話","收件人-地址","備註"]
  26.   
  27.   var d="";
  28.   
  29.   var i,j;
  30.   
  31.   //顯示欄位名稱
  32.   show_field(namedValues);
  33.   
  34.   
  35.   for (i = 0; i < n; i++) {
  36.     v= namedValues[field[i]] ?
  37.       namedValues[field[i]][0]:"" ;
  38.     if(v!="")//有輸入的資料才顯示
  39.     {
  40.       html+=field[i]+":"+v+"<br/>";
  41.       if(price[field[i]]!=undefined) //有價格才計算
  42.         money+=price[field[i]]*v;         
  43.      }
  44.   }
  45.   
  46. html+="您購買"+money+"元<br/>";
  47. if(pickup=="宅配")  
  48.   {
  49.           if(money<free_shipping_money)
  50.           {
  51.                 money+=freight
  52.                 html+="運費:"+freight+"元<br/>";
  53.           }
  54.           else
  55.           {
  56.                 html+="運費:免費(滿"+free_shipping_money+"元)<br/>";
  57.           }
  58.   }
  59.   if(pickup=="自取")  
  60.   {
  61.                 html+="運費:免費(自取)<br/>";
  62.   }
  63.   
  64.    
  65.   html+="總費用為"+money+"元<br/>";
  66.   
  67.   html+="※店面自取者則不用理會以下資訊※<br/>";
  68.   html+="------------轉帳匯款資訊------------<br/>";
  69.   html+="銀行名稱:(代碼:)<br/>";
  70.   html+="分行名稱:<br/>";
  71.   html+="戶名:<br/>";
  72.   html+="帳號:<br/>";
  73.   html+="請於下單後48小時內完成匯款,匯款完將立即出貨<br/>";
  74.   html+="完成匯款後傳至信箱:a52520726@gmail.com告知我們謝謝<br/>";
  75.   html+="也可來電告知我們訂購大名及匯款後5碼,電話:0977101089<br/>";
  76.             
  77. MailApp.sendEmail({
  78.     to: notifyEmail,
  79.     bcc:"a52520726@gmail.com",  //副件附本寄給您的email
  80.     subject: subject,
  81.     htmlBody: html
  82.   });
  83.   
  84. }

  85. function show_field(namedValues)
  86. {
  87.   fields="";
  88.   Object.keys(namedValues).forEach(function(key) {
  89.     if(namedValues[key]!="")//有輸入的資料才顯示
  90.     {
  91.       fields+="["+key+"]:["+namedValues[key]+"]\n";
  92.     }
  93.    
  94.   });  
  95.   Logger.log(fields);
  96.   
  97. }
複製代碼
相關連結:
【Google表單教學】如何讓Google表單送出時會自動寄送購買...
http://discuz.bestdaylong.com/thread-38379-1-1.html

回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2019-8-22 04:04 , Processed in 0.119060 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表