Commit 66e81782ce07c2c74f5edfaa91f87915b9e9a7f6
1 parent
3f4f6cf4
同城配送 预售积分购的功能优化
Showing
5 changed files
with
344 additions
and
223 deletions
packageC/pages/presell/cart/cart.js
... | ... | @@ -648,7 +648,7 @@ Page({ |
648 | 648 | }, |
649 | 649 | |
650 | 650 | |
651 | - async calculatePrice2() { | |
651 | + async calculatePrice2() { | |
652 | 652 | var th = this; |
653 | 653 | if (!this.data.pre_arr) return false; |
654 | 654 | th.setData({ show_submit: 0,disabled_btn:0}) |
... | ... | @@ -1990,57 +1990,7 @@ Page({ |
1990 | 1990 | |
1991 | 1991 | //-----------当地址不为空,且是物流时,计算物流费用---------- |
1992 | 1992 | if (th.data.user_addr != null) { |
1993 | - //看是不是有调用过包邮券,如果活动可以使用优化券的情况下 | |
1994 | - | |
1995 | - | |
1996 | - //--------------开始计算物流------------------ | |
1997 | - var shipping_price =0; | |
1998 | - var lon=0;var lat=0; | |
1999 | - //-- 获取距离 -- | |
2000 | - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { | |
2001 | - is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address} | |
2002 | - }).then(res=>{ | |
2003 | - if(res.data.code==0){ | |
2004 | - var data= JSON.parse(res.data.data); | |
2005 | - if(data.status==0){ | |
2006 | - lon=data.result.location.lng; | |
2007 | - lat=data.result.location.lat; | |
2008 | - } | |
2009 | - } | |
2010 | - }) | |
2011 | - | |
2012 | - | |
2013 | - var gd_w = good['weight'] * good['buynum']; | |
2014 | - //-- 获取距离 -- | |
2015 | - var req_data = { | |
2016 | - store_id: os.stoid, | |
2017 | - order_amount: allpice, | |
2018 | - lon: lon, lat: lat, | |
2019 | - pickup_id: bn_pick, | |
2020 | - goods_weight: gd_w | |
2021 | - } | |
2022 | - | |
2023 | - var is_next=1; | |
2024 | - //获取同城配送参数 | |
2025 | - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { | |
2026 | - is_json: 1, | |
2027 | - data: req_data | |
2028 | - }).then(res => { | |
2029 | - if (res.data.code == 0) { | |
2030 | - shipping_price= res.data.data; | |
2031 | - }else{ | |
2032 | - is_next=0; | |
2033 | - wx.showToast({ | |
2034 | - title: res.data.msg, icon: 'none', duration: 2000 | |
2035 | - }) | |
2036 | - } | |
2037 | - }) | |
2038 | - if(!is_next){ | |
2039 | - th.setData({show_submit:1,disabled_btn:1}) | |
2040 | - return false | |
2041 | - } | |
2042 | - exp_price = parseFloat(shipping_price).toFixed(2); | |
2043 | - th.wuliu_next(allpice, quan_price, exp_price); | |
1993 | + th.wuliu_next(allpice, quan_price, 0); | |
2044 | 1994 | } else { |
2045 | 1995 | wx.showToast({ |
2046 | 1996 | title: '请先选择收货地址', icon: 'none', duration: 2000 |
... | ... | @@ -2060,7 +2010,7 @@ Page({ |
2060 | 2010 | if (o_condition < 0) o_condition = 0; |
2061 | 2011 | //如果同意参与订单优惠 |
2062 | 2012 | if (o_condition > 0 && this.data.pre_arr.is_useorderyh) { |
2063 | - th.check_is_order_prom(o_condition, function (ord_price) { | |
2013 | + th.check_is_order_prom(o_condition,async function (ord_price) { | |
2064 | 2014 | var bn_pick = th.data.pickup.pickup_id |
2065 | 2015 | var order_prom_amount = 0; |
2066 | 2016 | var order_prom_id = 0; |
... | ... | @@ -2095,9 +2045,59 @@ Page({ |
2095 | 2045 | th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) |
2096 | 2046 | } |
2097 | 2047 | |
2048 | + if(th.data.exp_type == 2) { | |
2049 | + var good = th.data.goods; | |
2050 | + //--------------开始计算物流------------------ | |
2051 | + var shipping_price = 0; | |
2052 | + var lon = 0; | |
2053 | + var lat = 0; | |
2054 | + //-- 获取距离 -- | |
2055 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { | |
2056 | + is_json: 1, data: {address: th.data.user_addr.more_address + th.data.user_addr.address} | |
2057 | + }).then(res => { | |
2058 | + if (res.data.code == 0) { | |
2059 | + var data = JSON.parse(res.data.data); | |
2060 | + if (data.status == 0) { | |
2061 | + lon = data.result.location.lng; | |
2062 | + lat = data.result.location.lat; | |
2063 | + } | |
2064 | + } | |
2065 | + }) | |
2066 | + var gd_w = good['weight'] * good['buynum']; | |
2067 | + //-- 获取距离 -- | |
2068 | + var req_data = { | |
2069 | + store_id: os.stoid, | |
2070 | + order_amount: parseFloat(ord_price), | |
2071 | + lon: lon, lat: lat, | |
2072 | + pickup_id: bn_pick, | |
2073 | + goods_weight: gd_w | |
2074 | + } | |
2075 | + | |
2076 | + var is_next = 1; | |
2077 | + //获取同城配送参数 | |
2078 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { | |
2079 | + is_json: 1, | |
2080 | + data: req_data | |
2081 | + }).then(res => { | |
2082 | + if (res.data.code == 0) { | |
2083 | + shipping_price = res.data.data; | |
2084 | + } else { | |
2085 | + is_next = 0; | |
2086 | + wx.showToast({ | |
2087 | + title: res.data.msg, icon: 'none', duration: 2000 | |
2088 | + }) | |
2089 | + } | |
2090 | + }) | |
2091 | + if (!is_next) { | |
2092 | + th.setData({show_submit: 1, disabled_btn: 1}) | |
2093 | + return false | |
2094 | + } | |
2095 | + exp_price = parseFloat(shipping_price).toFixed(2); | |
2096 | + } | |
2098 | 2097 | |
2099 | 2098 | ord_price = parseFloat(ord_price) - parseFloat(th.data.presell.presell_deposit); |
2100 | 2099 | if (ord_price < 0) ord_price = 0; |
2100 | + | |
2101 | 2101 | th.setData({ exp_price: exp_price, order_m: ord_price + parseFloat(exp_price), show_submit: 1, }) |
2102 | 2102 | |
2103 | 2103 | }) | ... | ... |
packageC/pages/presell/cart/cart2.js
... | ... | @@ -826,56 +826,10 @@ Page({ |
826 | 826 | //--看一下有没有订单优惠-- |
827 | 827 | var o_condition = parseFloat(order_m); |
828 | 828 | |
829 | - //判断是否同城配送,而且没有调用过 | |
830 | - if(th.data.bn_exp_type==2 && th.data.user_addr) { | |
831 | - | |
832 | - var lon=0;var lat=0; | |
833 | - //-- 获取距离 -- | |
834 | - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { | |
835 | - is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address} | |
836 | - }).then(res=>{ | |
837 | - if(res.data.code==0){ | |
838 | - var data= JSON.parse(res.data.data); | |
839 | - if(data.status==0){ | |
840 | - lon=data.result.location.lng; | |
841 | - lat=data.result.location.lat; | |
842 | - } | |
843 | - } | |
844 | - }) | |
845 | - | |
846 | - | |
847 | - var gd_w = good['weight'] * good['buynum']; | |
848 | - //-- 获取距离 -- | |
849 | - var req_data = { | |
850 | - store_id: os.stoid, | |
851 | - order_amount: order_m, | |
852 | - lon: lon, lat: lat, | |
853 | - pickup_id: bn_pick, | |
854 | - goods_weight: gd_w | |
855 | - } | |
856 | - | |
857 | - var is_next=1; | |
858 | - //获取同城配送参数 | |
859 | - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { | |
860 | - is_json: 1, | |
861 | - data: req_data | |
862 | - }).then(res => { | |
863 | - if (res.data.code == 0) { | |
864 | - var wl_txt = "formData.shipping_price"; | |
865 | - th.setData({ [wl_txt]: res.data.data, }) | |
866 | - }else{ | |
867 | - is_next=0; | |
868 | - wx.showToast({ | |
869 | - title: res.data.msg, icon: 'none', duration: 2000 | |
870 | - }) | |
871 | - } | |
872 | - }) | |
873 | - if(!is_next) return false | |
874 | - } | |
875 | 829 | |
876 | 830 | |
877 | 831 | if (o_condition > 0 && th.data.act.is_useorderyh) { |
878 | - th.check_is_order_prom(o_condition, function () { | |
832 | + th.check_is_order_prom(o_condition, async function () { | |
879 | 833 | var order_prom_amount = 0; |
880 | 834 | var order_prom_id = 0; |
881 | 835 | if (th.data.order_prom[th.data.bn_pick]) { |
... | ... | @@ -907,6 +861,55 @@ Page({ |
907 | 861 | th.setData({ [order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount }) |
908 | 862 | } |
909 | 863 | |
864 | + //判断是否同城配送,而且没有调用过 | |
865 | + if(th.data.bn_exp_type==2 && th.data.user_addr) { | |
866 | + | |
867 | + var lon=0;var lat=0; | |
868 | + //-- 获取距离 -- | |
869 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { | |
870 | + is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address} | |
871 | + }).then(res=>{ | |
872 | + if(res.data.code==0){ | |
873 | + var data= JSON.parse(res.data.data); | |
874 | + if(data.status==0){ | |
875 | + lon=data.result.location.lng; | |
876 | + lat=data.result.location.lat; | |
877 | + } | |
878 | + } | |
879 | + }) | |
880 | + | |
881 | + | |
882 | + var gd_w = good['weight'] * good['buynum']; | |
883 | + //-- 获取距离 -- | |
884 | + var req_data = { | |
885 | + store_id: os.stoid, | |
886 | + order_amount: parseFloat(order_m), | |
887 | + lon: lon, lat: lat, | |
888 | + pickup_id: bn_pick, | |
889 | + goods_weight: gd_w | |
890 | + } | |
891 | + | |
892 | + var is_next=1; | |
893 | + //获取同城配送参数 | |
894 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { | |
895 | + is_json: 1, | |
896 | + data: req_data | |
897 | + }).then(res => { | |
898 | + if (res.data.code == 0) { | |
899 | + var wl_txt = "formData.shipping_price"; | |
900 | + th.setData({ [wl_txt]: res.data.data, }) | |
901 | + }else{ | |
902 | + is_next=0; | |
903 | + wx.showToast({ | |
904 | + title: res.data.msg, icon: 'none', duration: 2000 | |
905 | + }) | |
906 | + } | |
907 | + }) | |
908 | + if(!is_next) return false | |
909 | + } | |
910 | + | |
911 | + | |
912 | + | |
910 | 913 | total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); |
911 | 914 | order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); |
912 | 915 | |
... | ... | @@ -962,6 +965,52 @@ Page({ |
962 | 965 | var order_prom_txt2 = "formData.order_prom_amount"; |
963 | 966 | th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) |
964 | 967 | |
968 | + | |
969 | + //判断是否同城配送,而且没有调用过 | |
970 | + if(th.data.bn_exp_type==2 && th.data.user_addr) { | |
971 | + var lon=0;var lat=0; | |
972 | + //-- 获取距离 -- | |
973 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { | |
974 | + is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address} | |
975 | + }).then(res=>{ | |
976 | + if(res.data.code==0){ | |
977 | + var data= JSON.parse(res.data.data); | |
978 | + if(data.status==0){ | |
979 | + lon=data.result.location.lng; | |
980 | + lat=data.result.location.lat; | |
981 | + } | |
982 | + } | |
983 | + }) | |
984 | + | |
985 | + var gd_w = good['weight'] * good['buynum']; | |
986 | + //-- 获取距离 -- | |
987 | + var req_data = { | |
988 | + store_id: os.stoid, | |
989 | + order_amount:parseFloat(order_m), | |
990 | + lon: lon, lat: lat, | |
991 | + pickup_id: bn_pick, | |
992 | + goods_weight: gd_w | |
993 | + } | |
994 | + | |
995 | + var is_next=1; | |
996 | + //获取同城配送参数 | |
997 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { | |
998 | + is_json: 1, | |
999 | + data: req_data | |
1000 | + }).then(res => { | |
1001 | + if (res.data.code == 0) { | |
1002 | + var wl_txt = "formData.shipping_price"; | |
1003 | + th.setData({ [wl_txt]: res.data.data, }) | |
1004 | + }else{ | |
1005 | + is_next=0; | |
1006 | + wx.showToast({ | |
1007 | + title: res.data.msg, icon: 'none', duration: 2000 | |
1008 | + }) | |
1009 | + } | |
1010 | + }) | |
1011 | + if(!is_next) return false | |
1012 | + } | |
1013 | + | |
965 | 1014 | total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); |
966 | 1015 | order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); |
967 | 1016 | var atxt = "formData.total_amount"; | ... | ... |
pages/cart/cart2/cart2.js
... | ... | @@ -857,7 +857,7 @@ Page({ |
857 | 857 | //-- 如果商品有同城配送的参数的时候,一件代发商品不能显示同城配送按钮 -- |
858 | 858 | if(gd.is_same_city && th.data.is_same_city && gd.whsle_id<=0){ |
859 | 859 | |
860 | - getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+gg.pick_id, {}).then(res=>{ | |
860 | + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+gg.pick_id, {}).then(res=>{ | |
861 | 861 | if(res.data.code==0){ |
862 | 862 | var pk=res.data.data; |
863 | 863 | if(pk && pk.is_same_city){ |
... | ... | @@ -1018,7 +1018,6 @@ Page({ |
1018 | 1018 | if (gg.prom_type == 5) { |
1019 | 1019 | t.data.data.prom_id = gg.prom_id; |
1020 | 1020 | t.data.data.prom_type = 5; |
1021 | - // console.log('xxxxxxxxxxxxxxxxxx', gg.is_coupon) | |
1022 | 1021 | th.is_coupon = gg.is_coupon; |
1023 | 1022 | th.setData({ |
1024 | 1023 | is_coupon: gg.is_coupon |
... | ... | @@ -1052,6 +1051,12 @@ Page({ |
1052 | 1051 | if (dis_t > 0) { |
1053 | 1052 | distr_t = dis_t; |
1054 | 1053 | } |
1054 | + | |
1055 | + //-- 如果有一件代发的商品或者不是同城配送的配送 -- | |
1056 | + if(!narr[hi].show_same_city || narr[hi].whsle_id>0){ | |
1057 | + th.setData({show_same_city:0}) | |
1058 | + } | |
1059 | + | |
1055 | 1060 | } |
1056 | 1061 | //自选的时候,系统配置了默认的配送方式是物流的时候 |
1057 | 1062 | if (distr_t == 0 && th.data.json_d.pickupway && th.data.json_d.pickupway == 1) { |
... | ... | @@ -1927,8 +1932,52 @@ Page({ |
1927 | 1932 | t_o_condition=t_o_condition-whsle_goods_price; |
1928 | 1933 | } |
1929 | 1934 | |
1930 | - //-- 在选择到同城配送的时候 -- | |
1931 | - if(c_arr[i].exp_type==2 && th.data.user_addr){ | |
1935 | + | |
1936 | + | |
1937 | + var order_m = 0; | |
1938 | + //---判断是不是有订单优惠--- | |
1939 | + await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { | |
1940 | + data: { store_id: os.stoid, orderAmount: o_condition, user_id: getApp().globalData.user_id } | |
1941 | + }).then(res => { | |
1942 | + if (res.data.code == 0) { | |
1943 | + var ord_prom = res.data.data; | |
1944 | + //么有使用券,或者活动没有限制使用优惠券 | |
1945 | + if (quan_price <= 0 || !ord_prom.is_xz_yh) { | |
1946 | + order_prom_id = ord_prom['id']; | |
1947 | + switch (ord_prom['type']) { | |
1948 | + case 0: | |
1949 | + order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 | |
1950 | + order_prom_amount = (o_condition - order_m).toFixed(2); | |
1951 | + break; | |
1952 | + case 1: | |
1953 | + //order_m = o_condition - ord_prom['expression'];//满额优惠金额 | |
1954 | + var bs=1; | |
1955 | + if(ord_prom.is_bz){ | |
1956 | + bs=Math.floor(o_condition/ord_prom.money); | |
1957 | + } | |
1958 | + order_prom_amount = ord_prom['expression']; | |
1959 | + break; | |
1960 | + } | |
1961 | + } | |
1962 | + } | |
1963 | + }) | |
1964 | + | |
1965 | + cart_item.order_prom_amount = 0; | |
1966 | + //--订单优惠的显示-- | |
1967 | + if (order_prom_id > 0) { | |
1968 | + cart_item.order_amount = (o_price - quan_price - order_prom_amount).toFixed(2); | |
1969 | + cart_item.order_prom_id = order_prom_id; | |
1970 | + cart_item.order_prom_amount = order_prom_amount; | |
1971 | + } | |
1972 | + coupon_price = quan_price; | |
1973 | + if (cart_item.order_amount < 0) { | |
1974 | + cart_item.order_amount = 0; | |
1975 | + coupon_price = o_price; | |
1976 | + } | |
1977 | + | |
1978 | + | |
1979 | + //-- 在选择到同城配送的时候 -- | |
1980 | + if(c_arr[i].exp_type==2 && th.data.user_addr){ | |
1932 | 1981 | |
1933 | 1982 | var gd_w=0; |
1934 | 1983 | for (let ib in c_arr[i].goods) { |
... | ... | @@ -1953,7 +2002,7 @@ Page({ |
1953 | 2002 | |
1954 | 2003 | |
1955 | 2004 | var req_data={ |
1956 | - store_id:os.stoid, order_amount:t_o_condition, | |
2005 | + store_id:os.stoid, order_amount: parseFloat(cart_item.order_amount), | |
1957 | 2006 | lon:lon,lat:lat, pickup_id:c_arr[i].pickup_id, goods_weight:gd_w |
1958 | 2007 | } |
1959 | 2008 | var is_next=1; |
... | ... | @@ -1979,46 +2028,8 @@ Page({ |
1979 | 2028 | } |
1980 | 2029 | |
1981 | 2030 | |
1982 | - var order_m = 0; | |
1983 | - //---判断是不是有订单优惠--- | |
1984 | - await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", { | |
1985 | - data: { store_id: os.stoid, orderAmount: o_condition, user_id: getApp().globalData.user_id } | |
1986 | - }).then(res => { | |
1987 | - if (res.data.code == 0) { | |
1988 | - var ord_prom = res.data.data; | |
1989 | - //么有使用券,或者活动没有限制使用优惠券 | |
1990 | - if (quan_price <= 0 || !ord_prom.is_xz_yh) { | |
1991 | - order_prom_id = ord_prom['id']; | |
1992 | - switch (ord_prom['type']) { | |
1993 | - case 0: | |
1994 | - order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 | |
1995 | - order_prom_amount = (o_condition - order_m).toFixed(2); | |
1996 | - break; | |
1997 | - case 1: | |
1998 | - //order_m = o_condition - ord_prom['expression'];//满额优惠金额 | |
1999 | - var bs=1; | |
2000 | - if(ord_prom.is_bz){ | |
2001 | - bs=Math.floor(o_condition/ord_prom.money); | |
2002 | - } | |
2003 | - order_prom_amount = ord_prom['expression']; | |
2004 | - break; | |
2005 | - } | |
2006 | - } | |
2007 | - } | |
2008 | - }) | |
2009 | 2031 | |
2010 | - cart_item.order_prom_amount = 0; | |
2011 | - //--订单优惠的显示-- | |
2012 | - if (order_prom_id > 0) { | |
2013 | - cart_item.order_amount = (o_price - quan_price - order_prom_amount).toFixed(2); | |
2014 | - cart_item.order_prom_id = order_prom_id; | |
2015 | - cart_item.order_prom_amount = order_prom_amount; | |
2016 | - } | |
2017 | - coupon_price = quan_price; | |
2018 | - if (cart_item.order_amount < 0) { | |
2019 | - cart_item.order_amount = 0; | |
2020 | - coupon_price = o_price; | |
2021 | - } | |
2032 | + | |
2022 | 2033 | |
2023 | 2034 | cart_item.total_amount = parseFloat(cart_item.total_amount) + parseFloat(cart_item.shipping_price); //总金额 |
2024 | 2035 | cart_item.order_amount = parseFloat(cart_item.order_amount) + parseFloat(cart_item.shipping_price); //总金额 |
... | ... | @@ -2424,65 +2435,9 @@ Page({ |
2424 | 2435 | var o_condition = parseFloat(order_m); |
2425 | 2436 | if(th.data.bn_goods.whsle_id>0){ |
2426 | 2437 | o_condition=0; |
2427 | - }else{ | |
2428 | - | |
2429 | - //判断是否同城配送,而且没有调用过 | |
2430 | - if(th.data.bn_exp_type==2 && th.data.user_addr) { | |
2431 | - var gd_w = 0, lon = 0, lat = 0; | |
2432 | - for (let ib in gd_arr_list) { | |
2433 | - let item_b = gd_arr_list[ib]; | |
2434 | - gd_w += item_b['weight'] * item_b['buynum']; | |
2435 | - } | |
2436 | - | |
2437 | - //-- 获取距离 -- | |
2438 | - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { | |
2439 | - is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address} | |
2440 | - }).then(res=>{ | |
2441 | - if(res.data.code==0){ | |
2442 | - var data= JSON.parse(res.data.data); | |
2443 | - if(data.status==0){ | |
2444 | - lon=data.result.location.lng; | |
2445 | - lat=data.result.location.lat; | |
2446 | - } | |
2447 | - } | |
2448 | - }) | |
2449 | - | |
2450 | - var req_data = { | |
2451 | - store_id: os.stoid, order_amount: o_condition, | |
2452 | - lon: lon, lat: lat, pickup_id: bn_pick,goods_weight: gd_w | |
2453 | - } | |
2454 | - | |
2455 | - var is_next=1; | |
2456 | - | |
2457 | - //获取同城配送参数 | |
2458 | - await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { | |
2459 | - is_json: 1,data: req_data | |
2460 | - }).then(res => { | |
2461 | - if (res.data.code == 0) { | |
2462 | - var wl_txt = "formData.shipping_price"; | |
2463 | - th.setData({ [wl_txt]: res.data.data, }) | |
2464 | - | |
2465 | - }else{ | |
2466 | - is_next=0; | |
2467 | - if(qfunc){ | |
2468 | - qfunc(); | |
2469 | - }else{ | |
2470 | - wx.showToast({ | |
2471 | - title: res.data.msg, | |
2472 | - icon: 'none', | |
2473 | - duration: 2000 | |
2474 | - }) | |
2475 | - } | |
2476 | - | |
2477 | - } | |
2478 | - }) | |
2479 | - if(!is_next) return false | |
2480 | - } | |
2481 | - | |
2482 | 2438 | } |
2483 | - | |
2484 | 2439 | if (o_condition > 0) { |
2485 | - th.check_is_order_prom(o_condition, function () { | |
2440 | + th.check_is_order_prom(o_condition,async function () { | |
2486 | 2441 | var order_prom_amount = 0; |
2487 | 2442 | var order_prom_id = 0; |
2488 | 2443 | if (th.data.order_prom[th.data.bn_pick] && th.data.order_prom[th.data.bn_pick]['money'] <= o_condition) { |
... | ... | @@ -2517,6 +2472,60 @@ Page({ |
2517 | 2472 | th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) |
2518 | 2473 | } |
2519 | 2474 | |
2475 | + //判断是否同城配送,而且没有调用过 | |
2476 | + if(th.data.bn_exp_type==2 && th.data.user_addr) { | |
2477 | + var gd_w = 0, lon = 0, lat = 0; | |
2478 | + for (let ib in gd_arr_list) { | |
2479 | + let item_b = gd_arr_list[ib]; | |
2480 | + gd_w += item_b['weight'] * item_b['buynum']; | |
2481 | + } | |
2482 | + | |
2483 | + //-- 获取距离 -- | |
2484 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { | |
2485 | + is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address} | |
2486 | + }).then(res=>{ | |
2487 | + if(res.data.code==0){ | |
2488 | + var data= JSON.parse(res.data.data); | |
2489 | + if(data.status==0){ | |
2490 | + lon=data.result.location.lng; | |
2491 | + lat=data.result.location.lat; | |
2492 | + } | |
2493 | + } | |
2494 | + }) | |
2495 | + | |
2496 | + var req_data = { | |
2497 | + store_id: os.stoid, order_amount: o_condition, | |
2498 | + lon: lon, lat: lat, pickup_id: bn_pick,goods_weight: gd_w | |
2499 | + } | |
2500 | + | |
2501 | + var is_next=1; | |
2502 | + | |
2503 | + //获取同城配送参数 | |
2504 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { | |
2505 | + is_json: 1,data: req_data | |
2506 | + }).then(res => { | |
2507 | + if (res.data.code == 0) { | |
2508 | + var wl_txt = "formData.shipping_price"; | |
2509 | + th.setData({ [wl_txt]: res.data.data, }) | |
2510 | + | |
2511 | + }else{ | |
2512 | + is_next=0; | |
2513 | + if(qfunc){ | |
2514 | + qfunc(); | |
2515 | + }else{ | |
2516 | + wx.showToast({ | |
2517 | + title: res.data.msg, | |
2518 | + icon: 'none', | |
2519 | + duration: 2000 | |
2520 | + }) | |
2521 | + } | |
2522 | + | |
2523 | + } | |
2524 | + }) | |
2525 | + if(!is_next) return false | |
2526 | + } | |
2527 | + | |
2528 | + | |
2520 | 2529 | total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); |
2521 | 2530 | order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); |
2522 | 2531 | |
... | ... | @@ -2583,6 +2592,59 @@ Page({ |
2583 | 2592 | var order_prom_txt2 = "formData.order_prom_amount"; |
2584 | 2593 | th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) |
2585 | 2594 | |
2595 | + //判断是否同城配送,而且没有调用过 | |
2596 | + if(th.data.bn_exp_type==2 && th.data.user_addr) { | |
2597 | + var gd_w = 0, lon = 0, lat = 0; | |
2598 | + for (let ib in gd_arr_list) { | |
2599 | + let item_b = gd_arr_list[ib]; | |
2600 | + gd_w += item_b['weight'] * item_b['buynum']; | |
2601 | + } | |
2602 | + | |
2603 | + //-- 获取距离 -- | |
2604 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", { | |
2605 | + is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address} | |
2606 | + }).then(res=>{ | |
2607 | + if(res.data.code==0){ | |
2608 | + var data= JSON.parse(res.data.data); | |
2609 | + if(data.status==0){ | |
2610 | + lon=data.result.location.lng; | |
2611 | + lat=data.result.location.lat; | |
2612 | + } | |
2613 | + } | |
2614 | + }) | |
2615 | + | |
2616 | + var req_data = { | |
2617 | + store_id: os.stoid, order_amount: parseFloat(order_m), | |
2618 | + lon: lon, lat: lat, pickup_id: bn_pick,goods_weight: gd_w | |
2619 | + } | |
2620 | + | |
2621 | + var is_next=1; | |
2622 | + | |
2623 | + //获取同城配送参数 | |
2624 | + await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { | |
2625 | + is_json: 1,data: req_data | |
2626 | + }).then(res => { | |
2627 | + if (res.data.code == 0) { | |
2628 | + var wl_txt = "formData.shipping_price"; | |
2629 | + th.setData({ [wl_txt]: res.data.data, }) | |
2630 | + | |
2631 | + }else{ | |
2632 | + is_next=0; | |
2633 | + if(qfunc){ | |
2634 | + qfunc(); | |
2635 | + }else{ | |
2636 | + wx.showToast({ | |
2637 | + title: res.data.msg, | |
2638 | + icon: 'none', | |
2639 | + duration: 2000 | |
2640 | + }) | |
2641 | + } | |
2642 | + | |
2643 | + } | |
2644 | + }) | |
2645 | + if(!is_next) return false | |
2646 | + } | |
2647 | + | |
2586 | 2648 | |
2587 | 2649 | total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); |
2588 | 2650 | order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); |
... | ... | @@ -2682,6 +2744,10 @@ Page({ |
2682 | 2744 | |
2683 | 2745 | //--------------------提交订单----------------------- |
2684 | 2746 | async submit_func() { |
2747 | + | |
2748 | + if(this.data.is_summit_ing) return false; | |
2749 | + this.data.is_summit_ing = 1; | |
2750 | + | |
2685 | 2751 | var th = this, pdata = new Array(); |
2686 | 2752 | var ff = true; |
2687 | 2753 | //------------立即购买------------- |
... | ... | @@ -3281,6 +3347,7 @@ Page({ |
3281 | 3347 | |
3282 | 3348 | |
3283 | 3349 | wx.showLoading({ title: "加载中" }); |
3350 | + th.setData({ submit: 1,}) | |
3284 | 3351 | wx.request({ |
3285 | 3352 | url: oo.url + '/api/weshop/order/createWxdOrder', |
3286 | 3353 | data: str, |
... | ... | @@ -3293,7 +3360,7 @@ Page({ |
3293 | 3360 | if (res.statusCode == 200) { |
3294 | 3361 | var data = res.data; |
3295 | 3362 | if (data.code == 0) { |
3296 | - console.log(th.data.is_b_now); | |
3363 | + th.setData({ submit: 1,}) | |
3297 | 3364 | //如果是购物车结算,还要删除购物车 |
3298 | 3365 | if (th.data.is_b_now == 0) { |
3299 | 3366 | console.log(th.data.cartlist_y); |
... | ... | @@ -3383,24 +3450,31 @@ Page({ |
3383 | 3450 | } |
3384 | 3451 | }) |
3385 | 3452 | return; |
3453 | + }else{ | |
3454 | + if (msg.length > 13) { | |
3455 | + msg = msg.slice(0, 13) + "\r\n" + msg.slice(13); | |
3456 | + } | |
3457 | + getApp().confirmBox(msg); | |
3458 | + th.data.is_summit_ing = 0; //是否提交中 | |
3459 | + th.setData({ | |
3460 | + submit: 0, | |
3461 | + }) | |
3386 | 3462 | } |
3387 | - if (msg.length > 13) { | |
3388 | - msg = msg.slice(0, 13) + "\r\n" + msg.slice(13); | |
3389 | - } | |
3390 | - getApp().confirmBox(msg); | |
3391 | - th.data.is_summit_ing = 0; //是否提交中 | |
3463 | + | |
3464 | + | |
3392 | 3465 | } |
3393 | 3466 | } else { |
3394 | 3467 | th.data.is_summit_ing = 0; //是否提交中 |
3395 | 3468 | console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode); |
3469 | + th.setData({ | |
3470 | + submit: 0, | |
3471 | + }) | |
3396 | 3472 | } |
3397 | 3473 | }, |
3398 | 3474 | fail: function () { |
3399 | 3475 | th.data.is_summit_ing = 0; |
3400 | 3476 | wx.hideLoading(); |
3401 | 3477 | console.log("index.js wx.request CheckCallUser fail"); |
3402 | - }, | |
3403 | - complete: function () { | |
3404 | 3478 | th.setData({ |
3405 | 3479 | submit: 0, |
3406 | 3480 | }) |
... | ... | @@ -3917,6 +3991,7 @@ Page({ |
3917 | 3991 | |
3918 | 3992 | |
3919 | 3993 | var th = this; |
3994 | + var old_quan=null; | |
3920 | 3995 | if (isby == 1) { |
3921 | 3996 | using_quan[pickid] = { |
3922 | 3997 | coupon_no: item.no, |
... | ... | @@ -3927,13 +4002,16 @@ Page({ |
3927 | 4002 | }; |
3928 | 4003 | using_quan[pickid].isby = 1; |
3929 | 4004 | } else { |
4005 | + if(using_quan[pickid]) old_quan=using_quan[pickid]; | |
3930 | 4006 | using_quan[pickid] = { coupon_no: item.CashRepNo, money: item.Sum, is_nouse_red: 0 }; |
3931 | 4007 | using_quan[pickid].isby = 0; |
3932 | 4008 | } |
3933 | 4009 | this.setData({ using_quan: using_quan }); |
3934 | 4010 | if (th.data.is_b_now == 1) { |
3935 | 4011 | th.calculatePrice2(function () { |
3936 | - using_quan[pickid]=null; | |
4012 | + | |
4013 | + if(old_quan) using_quan[pickid]=old_quan; | |
4014 | + else using_quan[pickid]=null; | |
3937 | 4015 | th.setData({ using_quan: using_quan,submit:0 }); |
3938 | 4016 | wx.showToast({ |
3939 | 4017 | title: "不能使用优惠券,同城起送价不足", |
... | ... | @@ -3944,7 +4022,8 @@ Page({ |
3944 | 4022 | }); |
3945 | 4023 | } else { |
3946 | 4024 | th.calculatePrice(function () { |
3947 | - using_quan[pickid]=null; | |
4025 | + if(old_quan) using_quan[pickid]=old_quan; | |
4026 | + else using_quan[pickid]=null; | |
3948 | 4027 | th.setData({ using_quan: using_quan ,submit:0 }); |
3949 | 4028 | wx.showToast({ |
3950 | 4029 | title: "不能使用优惠券,同城起送价不足", |
... | ... | @@ -4792,15 +4871,9 @@ Page({ |
4792 | 4871 | tmplIds: [template_id], |
4793 | 4872 | success(res) { |
4794 | 4873 | func(); |
4795 | - th.setData({ | |
4796 | - submit: 0, | |
4797 | - }) | |
4798 | 4874 | }, |
4799 | 4875 | fail(res) { |
4800 | 4876 | func(); |
4801 | - th.setData({ | |
4802 | - submit: 0, | |
4803 | - }) | |
4804 | 4877 | } |
4805 | 4878 | }) |
4806 | 4879 | ... | ... |
pages/cart/cart2_inte/cart2_inte.js
... | ... | @@ -428,7 +428,7 @@ Page({ |
428 | 428 | calculatePrice2:async function () { |
429 | 429 | var th = this, good = this.data.bn_goods; |
430 | 430 | |
431 | - this.setData({show_submit:0}) | |
431 | + this.setData({submit:1}) | |
432 | 432 | wx.showLoading({ title: "处理中.", mask:true }) |
433 | 433 | //-----------计算商品总价-------------- |
434 | 434 | var allpice = good.shop_price * good.buynum; |
... | ... | @@ -544,7 +544,6 @@ Page({ |
544 | 544 | wx.showToast({ |
545 | 545 | title: "计算物流错误", icon: 'none',duration: 2000 |
546 | 546 | }) |
547 | - th.setData({ show_submit:0 }); | |
548 | 547 | wx.hideLoading(); |
549 | 548 | return false; |
550 | 549 | } |
... | ... | @@ -637,14 +636,14 @@ Page({ |
637 | 636 | if (th.data.bn_use_money == 1) { |
638 | 637 | if (amoney > order_m) { |
639 | 638 | order_m = order_m.toFixed(2); |
640 | - th.setData({ [txt]: order_m, [txt2]: 0, [txt4]: all_integral, show_submit: 1 }) | |
639 | + th.setData({ [txt]: order_m, [txt2]: 0, [txt4]: all_integral, show_submit: 1,submit:0 }) | |
641 | 640 | } else { |
642 | 641 | order_m = parseFloat(order_m - amoney); |
643 | 642 | order_m = order_m.toFixed(2); |
644 | - th.setData({ [txt]: amoney, [txt2]: order_m, [txt4]: all_integral, show_submit: 1 }) | |
643 | + th.setData({ [txt]: amoney, [txt2]: order_m, [txt4]: all_integral, show_submit: 1,submit:0 }) | |
645 | 644 | } |
646 | 645 | } else { |
647 | - th.setData({ [txt]: 0, [txt2]: order_m, [txt4]: all_integral, show_submit: 1 }) | |
646 | + th.setData({ [txt]: 0, [txt2]: order_m, [txt4]: all_integral, show_submit: 1,submit:0}) | |
648 | 647 | } |
649 | 648 | |
650 | 649 | wx.hideLoading(); | ... | ... |
pages/cart/cart2_inte/cart2_inte.wxml
... | ... | @@ -165,7 +165,7 @@ |
165 | 165 | <view class="payable">应付金额:<text class="co-red">¥{{formData.order_amount}}</text></view> |
166 | 166 | <view class="payable">应付积分:<text class="co-red">{{formData.integral}}积分</text></view> |
167 | 167 | </view> |
168 | - <button class="tips-btn" formType="submit" id="submitOrder">提交订单</button> | |
168 | + <button disabled="{{submit}}" class="tips-btn" formType="submit" id="submitOrder">提交订单</button> | |
169 | 169 | </view> |
170 | 170 | </form> |
171 | 171 | ... | ... |