彰化一整天的論壇

 找回密碼
 立即註冊
查看: 208|回復: 6

運費設定問題

[複製鏈接]
發表於 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

回復 支持 反對

使用道具 舉報

發表於 2019-9-21 16:41:18 | 顯示全部樓層
本帖最後由 Deborah 於 2019-9-21 16:43 編輯

老師您好,
參考您的程式碼修改為要有自取免運的計算功能,但存檔時出現  錯誤的字元。 (第 44 行,檔案名稱:程式碼)
可以麻煩您協助確認哪裡有錯嗎?另外想請問程式碼內可以插入logo jpg圖檔嗎?謝謝。
  1. function autoSendmail(data) {
  2.   var subject = "Apu・手作甜點・網路訂購單 費用繳款通知", // 信件標題
  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={"《酸酸檸檬派 - 3.5吋》請填寫欲訂購的數量":120,"《布魯派 - 3.5吋》請填寫欲訂購的數量":160,"《林果派 - 3.5吋》請填寫欲訂購的數量":120,"《堅果派 - 3.5吋》請填寫欲訂購的數量":140};

  11.   var money=0;
  12.   
  13.   var free_shipping_money=3000; //設定免運費金額
  14.   
  15.   var freight=150;//設定運費金額
  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=["時間戳記","電子郵件地址","請問您想購買的產品","《酸酸檸檬派 - 3.5吋》請填寫欲訂購的數量","《布魯派 - 3.5吋》請填寫欲訂購的數量","《林果派 - 3.5吋》請填寫欲訂購的數量","《堅果派 - 3.5吋》請填寫欲訂購的數量","收件人姓名","收件人電話","收件人地址","指定到貨日期","指定到貨時間(實際依黑貓送貨情況而定)"]
  26.   
  27.   var d="";
  28.   
  29.   var i,j;
  30.   
  31.   
  32.   for (i = 0; i < n; i++) {
  33.     v= namedValues[field[i]] ? 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(pickup==“低溫宅配")  
  44.   {
  45.           if(money<free_shipping_money)
  46.           {
  47.                 money+=freight
  48.                 html+="運費:"+freight+"元<br/>";
  49.           }
  50.           else
  51.           {
  52.                 html+="運費:免費(滿"+free_shipping_money+"元)<br/>";
  53.           }
  54.   }
  55.   if(pickup==“工作室自取")  
  56.   {
  57.                 html+="運費:免費(工作室自取)<br/>";
  58.   }
  59.    
  60.   html+="總費用為"+money+"元<br/>";

  61.   html+="※選擇工作室自取無需理會以下資訊※<br/>";
  62.   html+="------轉帳匯款資訊------<br/>";
  63.   html+="銀行名稱:台灣銀行(代碼:004)<br/>";
  64.   html+="戶名:XXX<br/>";
  65.   html+="帳號:000-0000-00000<br/>";
  66.   html+="------請務必於三天內完成匯款轉帳,超過三日則視同棄單喔!------<br/>
  67.   html+="------完成轉帳後請以此封mail回覆帳號後五碼,以利我們快速對帳,將您的訂單安排製作!------<br/>
  68.             
  69.   MailApp.sendEmail({
  70.     to: notifyEmail,
  71.     subject: subject,
  72.     htmlBody: html
  73.   });
  74.   
  75. }
  76. function test()
  77. {
  78.     var sheet =SpreadsheetApp.getActiveSheet();
  79.    
  80.     Logger.log(sheet.getSheetValues(1,1,1,1));   
  81.   
  82. }
複製代碼
回復 支持 反對

使用道具 舉報

發表於 2019-9-21 18:00:13 | 顯示全部樓層
Deborah 發表於 2019-9-21 16:41
老師您好,
參考您的程式碼修改為要有自取免運的計算功能,但存檔時出現  錯誤的字元。 (第 44 行,檔案名稱 ...

請檢查44行右括號後面是否有空白字元,請把它刪除再試看看。

圖片要存在網路上,再使用
  1. <img src=http://bestdaylong.com/images/books_link.png>
複製代碼

的方式來顯示
回復 支持 反對

使用道具 舉報

發表於 2019-9-23 20:31:30 | 顯示全部樓層
本帖最後由 Deborah 於 2019-9-23 20:43 編輯
imingho 發表於 2019-9-21 18:00
請檢查44行右括號後面是否有空白字元,請把它刪除再試看看。

圖片要存在網路上,再使用

老師您好,
刪除後一樣呢~~
1569241778459.jpg
回復 支持 反對

使用道具 舉報

發表於 2019-9-23 23:39:27 | 顯示全部樓層
Deborah 發表於 2019-9-23 20:31
老師您好,
刪除後一樣呢~~

您的程式碼沒有儲存。程式碼.gs前面出現*號s前面出現*號,儲存再試看看。
回復 支持 反對

使用道具 舉報

發表於 2019-9-24 21:32:44 | 顯示全部樓層
老師您好,
我整個重新弄,現在OK了~~
非常謝謝您的協助與回覆!!
回復 支持 反對

使用道具 舉報

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

本版積分規則

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

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

GMT+8, 2019-10-15 16:40 , Processed in 0.141003 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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