彰化一整天的論壇

 找回密碼
 立即註冊
查看: 194|回復: 0

彰化一整天代賣商品(運費依數量變化)

[複製鏈接]
發表於 2020-4-30 16:22:11 | 顯示全部樓層 |閱讀模式
本帖最後由 imingho 於 2020-4-30 19:37 編輯

【Google表單教學】如何依購買數量決定運費
之前的寫法是多少錢免運費,有些人的情況是2件運費160,3-5件225元,6-10件290元,就要多一個變數來儲存數量,由於表單的資料都是字串,可以透用乘除1來自動轉數字,或是用parseInt來將文字轉成10進位數字。

文件/表單/建立複本

  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={"羊奶冰棒20枝(全部原味,500元含運費)":500,"羊奶冰棒20枝(全部紅豆,500元含運費)":500,"羊奶冰棒20枝(紅豆原味各半,500元含運費)":500,"雞精原味12包(1660元含運費)":1660,"雞精粉光12包(1960元含運費)":1960,"雞精12包(1960元含運費)":1960,"雞精粉光24包(3600元含運費)":3600,"雞精人參24包(3600元含運費)":3600};
  11.   var money=0;
  12.   
  13.   
  14.   
  15.   var freight_all=0;  //總運費
  16.   
  17.   var n=data.values.length;
  18.   
  19.   var fields="";
  20.   
  21.   var field=["時間戳記","電子郵件地址","請問您想購買的產品","羊奶冰棒20枝(全部原味,500元含運費)","羊奶冰棒20枝(全部紅豆,500元含運費)","羊奶冰棒20枝(紅豆原味各半,500元含運費)","雞精原味12包(1660元含運費)","雞精粉光12包(1960元含運費)","雞精12包(1960元含運費)","","雞精粉光24包(3600元含運費)","雞精人參24包(3600元含運費)","指定配送時間","您的姓名","性別","聯絡電話","寄送地址","其他說明"]  
  22.   var buy_amount=0;//購買數量
  23.   
  24.   var i,j;
  25.   
  26.   //顯示欄位名稱
  27.   show_field(namedValues);
  28.   
  29.   for (i = 0; i < n; i++) {
  30.     v= namedValues[field[i]] ? namedValues[field[i]][0]:"" ;
  31.     if(v!="")//有輸入的資料才顯示
  32.     {
  33.       html+=field[i]+":"+v+"<br/>";
  34.       if(price[field[i]]!=undefined) //有價格才計算
  35.       {
  36.         money+=price[field[i]]*v;
  37.         buy_amount+=parseInt(v,10);//計算購買數量
  38.         
  39.       }
  40.      }
  41.   }
  42.   
  43.   html+="您購買"+money+"元<br/>";
  44.   
  45.   //計算個別運費
  46.   
  47.   if(buy_amount>=1 && buy_amount<=2)//1-2盒
  48.   {
  49.     freight_all=160;
  50.   }
  51.   else if(buy_amount>=3 && buy_amount<=5)//3-5盒
  52.   {
  53.     freight_all=225;
  54.   }
  55.   else if(buy_amount>=6 && buy_amount<=10)//6-10盒
  56.   {
  57.     freight_all=290;
  58.   }
  59.   else //其它運費
  60.   {
  61.      freight_all=500;
  62.   }


  63.   money+=freight_all;
  64.   html+="運費:"+freight_all+"元<br/>";
  65.   
  66.   
  67.   html+="總費用為"+money+"元<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. }
  83. function show_field(namedValues)
  84. {
  85.   fields="";
  86.   Object.keys(namedValues).forEach(function(key) {
  87.     if(namedValues[key]!="")//有輸入的資料才顯示
  88.     {
  89.       fields+="["+key+"]:["+namedValues[key]+"]\n";
  90.     }
  91.    
  92.   });  
  93.   Logger.log(fields);
  94.   
  95. }

複製代碼
範例表單
https://forms.gle/ezF6HHP3seXQ6Kdc9


回復

使用道具 舉報

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

本版積分規則

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

GMT+8, 2020-5-31 05:20 , Processed in 0.111330 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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