Commit 66e81782ce07c2c74f5edfaa91f87915b9e9a7f6

Authored by yvan.ni
1 parent 3f4f6cf4

同城配送 预售积分购的功能优化

packageC/pages/presell/cart/cart.js
@@ -648,7 +648,7 @@ Page({ @@ -648,7 +648,7 @@ Page({
648 }, 648 },
649 649
650 650
651 - async calculatePrice2() { 651 + async calculatePrice2() {
652 var th = this; 652 var th = this;
653 if (!this.data.pre_arr) return false; 653 if (!this.data.pre_arr) return false;
654 th.setData({ show_submit: 0,disabled_btn:0}) 654 th.setData({ show_submit: 0,disabled_btn:0})
@@ -1990,57 +1990,7 @@ Page({ @@ -1990,57 +1990,7 @@ Page({
1990 1990
1991 //-----------当地址不为空,且是物流时,计算物流费用---------- 1991 //-----------当地址不为空,且是物流时,计算物流费用----------
1992 if (th.data.user_addr != null) { 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 } else { 1994 } else {
2045 wx.showToast({ 1995 wx.showToast({
2046 title: '请先选择收货地址', icon: 'none', duration: 2000 1996 title: '请先选择收货地址', icon: 'none', duration: 2000
@@ -2060,7 +2010,7 @@ Page({ @@ -2060,7 +2010,7 @@ Page({
2060 if (o_condition < 0) o_condition = 0; 2010 if (o_condition < 0) o_condition = 0;
2061 //如果同意参与订单优惠 2011 //如果同意参与订单优惠
2062 if (o_condition > 0 && this.data.pre_arr.is_useorderyh) { 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 var bn_pick = th.data.pickup.pickup_id 2014 var bn_pick = th.data.pickup.pickup_id
2065 var order_prom_amount = 0; 2015 var order_prom_amount = 0;
2066 var order_prom_id = 0; 2016 var order_prom_id = 0;
@@ -2095,9 +2045,59 @@ Page({ @@ -2095,9 +2045,59 @@ Page({
2095 th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) 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 ord_price = parseFloat(ord_price) - parseFloat(th.data.presell.presell_deposit); 2098 ord_price = parseFloat(ord_price) - parseFloat(th.data.presell.presell_deposit);
2100 if (ord_price < 0) ord_price = 0; 2099 if (ord_price < 0) ord_price = 0;
  2100 +
2101 th.setData({ exp_price: exp_price, order_m: ord_price + parseFloat(exp_price), show_submit: 1, }) 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,56 +826,10 @@ Page({
826 //--看一下有没有订单优惠-- 826 //--看一下有没有订单优惠--
827 var o_condition = parseFloat(order_m); 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 if (o_condition > 0 && th.data.act.is_useorderyh) { 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 var order_prom_amount = 0; 833 var order_prom_amount = 0;
880 var order_prom_id = 0; 834 var order_prom_id = 0;
881 if (th.data.order_prom[th.data.bn_pick]) { 835 if (th.data.order_prom[th.data.bn_pick]) {
@@ -907,6 +861,55 @@ Page({ @@ -907,6 +861,55 @@ Page({
907 th.setData({ [order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount }) 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 total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); 913 total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price);
911 order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); 914 order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price);
912 915
@@ -962,6 +965,52 @@ Page({ @@ -962,6 +965,52 @@ Page({
962 var order_prom_txt2 = "formData.order_prom_amount"; 965 var order_prom_txt2 = "formData.order_prom_amount";
963 th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) 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 total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); 1014 total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price);
966 order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); 1015 order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price);
967 var atxt = "formData.total_amount"; 1016 var atxt = "formData.total_amount";
pages/cart/cart2/cart2.js
@@ -857,7 +857,7 @@ Page({ @@ -857,7 +857,7 @@ Page({
857 //-- 如果商品有同城配送的参数的时候,一件代发商品不能显示同城配送按钮 -- 857 //-- 如果商品有同城配送的参数的时候,一件代发商品不能显示同城配送按钮 --
858 if(gd.is_same_city && th.data.is_same_city && gd.whsle_id<=0){ 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 if(res.data.code==0){ 861 if(res.data.code==0){
862 var pk=res.data.data; 862 var pk=res.data.data;
863 if(pk && pk.is_same_city){ 863 if(pk && pk.is_same_city){
@@ -1018,7 +1018,6 @@ Page({ @@ -1018,7 +1018,6 @@ Page({
1018 if (gg.prom_type == 5) { 1018 if (gg.prom_type == 5) {
1019 t.data.data.prom_id = gg.prom_id; 1019 t.data.data.prom_id = gg.prom_id;
1020 t.data.data.prom_type = 5; 1020 t.data.data.prom_type = 5;
1021 - // console.log('xxxxxxxxxxxxxxxxxx', gg.is_coupon)  
1022 th.is_coupon = gg.is_coupon; 1021 th.is_coupon = gg.is_coupon;
1023 th.setData({ 1022 th.setData({
1024 is_coupon: gg.is_coupon 1023 is_coupon: gg.is_coupon
@@ -1052,6 +1051,12 @@ Page({ @@ -1052,6 +1051,12 @@ Page({
1052 if (dis_t > 0) { 1051 if (dis_t > 0) {
1053 distr_t = dis_t; 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 if (distr_t == 0 && th.data.json_d.pickupway && th.data.json_d.pickupway == 1) { 1062 if (distr_t == 0 && th.data.json_d.pickupway && th.data.json_d.pickupway == 1) {
@@ -1927,8 +1932,52 @@ Page({ @@ -1927,8 +1932,52 @@ Page({
1927 t_o_condition=t_o_condition-whsle_goods_price; 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 var gd_w=0; 1982 var gd_w=0;
1934 for (let ib in c_arr[i].goods) { 1983 for (let ib in c_arr[i].goods) {
@@ -1953,7 +2002,7 @@ Page({ @@ -1953,7 +2002,7 @@ Page({
1953 2002
1954 2003
1955 var req_data={ 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 lon:lon,lat:lat, pickup_id:c_arr[i].pickup_id, goods_weight:gd_w 2006 lon:lon,lat:lat, pickup_id:c_arr[i].pickup_id, goods_weight:gd_w
1958 } 2007 }
1959 var is_next=1; 2008 var is_next=1;
@@ -1979,46 +2028,8 @@ Page({ @@ -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 cart_item.total_amount = parseFloat(cart_item.total_amount) + parseFloat(cart_item.shipping_price); //总金额 2034 cart_item.total_amount = parseFloat(cart_item.total_amount) + parseFloat(cart_item.shipping_price); //总金额
2024 cart_item.order_amount = parseFloat(cart_item.order_amount) + parseFloat(cart_item.shipping_price); //总金额 2035 cart_item.order_amount = parseFloat(cart_item.order_amount) + parseFloat(cart_item.shipping_price); //总金额
@@ -2424,65 +2435,9 @@ Page({ @@ -2424,65 +2435,9 @@ Page({
2424 var o_condition = parseFloat(order_m); 2435 var o_condition = parseFloat(order_m);
2425 if(th.data.bn_goods.whsle_id>0){ 2436 if(th.data.bn_goods.whsle_id>0){
2426 o_condition=0; 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 if (o_condition > 0) { 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 var order_prom_amount = 0; 2441 var order_prom_amount = 0;
2487 var order_prom_id = 0; 2442 var order_prom_id = 0;
2488 if (th.data.order_prom[th.data.bn_pick] && th.data.order_prom[th.data.bn_pick]['money'] <= o_condition) { 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,6 +2472,60 @@ Page({
2517 th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) 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 total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); 2529 total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price);
2521 order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); 2530 order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price);
2522 2531
@@ -2583,6 +2592,59 @@ Page({ @@ -2583,6 +2592,59 @@ Page({
2583 var order_prom_txt2 = "formData.order_prom_amount"; 2592 var order_prom_txt2 = "formData.order_prom_amount";
2584 th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 }) 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 total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price); 2649 total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price);
2588 order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price); 2650 order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price);
@@ -2682,6 +2744,10 @@ Page({ @@ -2682,6 +2744,10 @@ Page({
2682 2744
2683 //--------------------提交订单----------------------- 2745 //--------------------提交订单-----------------------
2684 async submit_func() { 2746 async submit_func() {
  2747 +
  2748 + if(this.data.is_summit_ing) return false;
  2749 + this.data.is_summit_ing = 1;
  2750 +
2685 var th = this, pdata = new Array(); 2751 var th = this, pdata = new Array();
2686 var ff = true; 2752 var ff = true;
2687 //------------立即购买------------- 2753 //------------立即购买-------------
@@ -3281,6 +3347,7 @@ Page({ @@ -3281,6 +3347,7 @@ Page({
3281 3347
3282 3348
3283 wx.showLoading({ title: "加载中" }); 3349 wx.showLoading({ title: "加载中" });
  3350 + th.setData({ submit: 1,})
3284 wx.request({ 3351 wx.request({
3285 url: oo.url + '/api/weshop/order/createWxdOrder', 3352 url: oo.url + '/api/weshop/order/createWxdOrder',
3286 data: str, 3353 data: str,
@@ -3293,7 +3360,7 @@ Page({ @@ -3293,7 +3360,7 @@ Page({
3293 if (res.statusCode == 200) { 3360 if (res.statusCode == 200) {
3294 var data = res.data; 3361 var data = res.data;
3295 if (data.code == 0) { 3362 if (data.code == 0) {
3296 - console.log(th.data.is_b_now); 3363 + th.setData({ submit: 1,})
3297 //如果是购物车结算,还要删除购物车 3364 //如果是购物车结算,还要删除购物车
3298 if (th.data.is_b_now == 0) { 3365 if (th.data.is_b_now == 0) {
3299 console.log(th.data.cartlist_y); 3366 console.log(th.data.cartlist_y);
@@ -3383,24 +3450,31 @@ Page({ @@ -3383,24 +3450,31 @@ Page({
3383 } 3450 }
3384 }) 3451 })
3385 return; 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 } else { 3466 } else {
3394 th.data.is_summit_ing = 0; //是否提交中 3467 th.data.is_summit_ing = 0; //是否提交中
3395 console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode); 3468 console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode);
  3469 + th.setData({
  3470 + submit: 0,
  3471 + })
3396 } 3472 }
3397 }, 3473 },
3398 fail: function () { 3474 fail: function () {
3399 th.data.is_summit_ing = 0; 3475 th.data.is_summit_ing = 0;
3400 wx.hideLoading(); 3476 wx.hideLoading();
3401 console.log("index.js wx.request CheckCallUser fail"); 3477 console.log("index.js wx.request CheckCallUser fail");
3402 - },  
3403 - complete: function () {  
3404 th.setData({ 3478 th.setData({
3405 submit: 0, 3479 submit: 0,
3406 }) 3480 })
@@ -3917,6 +3991,7 @@ Page({ @@ -3917,6 +3991,7 @@ Page({
3917 3991
3918 3992
3919 var th = this; 3993 var th = this;
  3994 + var old_quan=null;
3920 if (isby == 1) { 3995 if (isby == 1) {
3921 using_quan[pickid] = { 3996 using_quan[pickid] = {
3922 coupon_no: item.no, 3997 coupon_no: item.no,
@@ -3927,13 +4002,16 @@ Page({ @@ -3927,13 +4002,16 @@ Page({
3927 }; 4002 };
3928 using_quan[pickid].isby = 1; 4003 using_quan[pickid].isby = 1;
3929 } else { 4004 } else {
  4005 + if(using_quan[pickid]) old_quan=using_quan[pickid];
3930 using_quan[pickid] = { coupon_no: item.CashRepNo, money: item.Sum, is_nouse_red: 0 }; 4006 using_quan[pickid] = { coupon_no: item.CashRepNo, money: item.Sum, is_nouse_red: 0 };
3931 using_quan[pickid].isby = 0; 4007 using_quan[pickid].isby = 0;
3932 } 4008 }
3933 this.setData({ using_quan: using_quan }); 4009 this.setData({ using_quan: using_quan });
3934 if (th.data.is_b_now == 1) { 4010 if (th.data.is_b_now == 1) {
3935 th.calculatePrice2(function () { 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 th.setData({ using_quan: using_quan,submit:0 }); 4015 th.setData({ using_quan: using_quan,submit:0 });
3938 wx.showToast({ 4016 wx.showToast({
3939 title: "不能使用优惠券,同城起送价不足", 4017 title: "不能使用优惠券,同城起送价不足",
@@ -3944,7 +4022,8 @@ Page({ @@ -3944,7 +4022,8 @@ Page({
3944 }); 4022 });
3945 } else { 4023 } else {
3946 th.calculatePrice(function () { 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 th.setData({ using_quan: using_quan ,submit:0 }); 4027 th.setData({ using_quan: using_quan ,submit:0 });
3949 wx.showToast({ 4028 wx.showToast({
3950 title: "不能使用优惠券,同城起送价不足", 4029 title: "不能使用优惠券,同城起送价不足",
@@ -4792,15 +4871,9 @@ Page({ @@ -4792,15 +4871,9 @@ Page({
4792 tmplIds: [template_id], 4871 tmplIds: [template_id],
4793 success(res) { 4872 success(res) {
4794 func(); 4873 func();
4795 - th.setData({  
4796 - submit: 0,  
4797 - })  
4798 }, 4874 },
4799 fail(res) { 4875 fail(res) {
4800 func(); 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,7 +428,7 @@ Page({
428 calculatePrice2:async function () { 428 calculatePrice2:async function () {
429 var th = this, good = this.data.bn_goods; 429 var th = this, good = this.data.bn_goods;
430 430
431 - this.setData({show_submit:0}) 431 + this.setData({submit:1})
432 wx.showLoading({ title: "处理中.", mask:true }) 432 wx.showLoading({ title: "处理中.", mask:true })
433 //-----------计算商品总价-------------- 433 //-----------计算商品总价--------------
434 var allpice = good.shop_price * good.buynum; 434 var allpice = good.shop_price * good.buynum;
@@ -544,7 +544,6 @@ Page({ @@ -544,7 +544,6 @@ Page({
544 wx.showToast({ 544 wx.showToast({
545 title: "计算物流错误", icon: 'none',duration: 2000 545 title: "计算物流错误", icon: 'none',duration: 2000
546 }) 546 })
547 - th.setData({ show_submit:0 });  
548 wx.hideLoading(); 547 wx.hideLoading();
549 return false; 548 return false;
550 } 549 }
@@ -637,14 +636,14 @@ Page({ @@ -637,14 +636,14 @@ Page({
637 if (th.data.bn_use_money == 1) { 636 if (th.data.bn_use_money == 1) {
638 if (amoney > order_m) { 637 if (amoney > order_m) {
639 order_m = order_m.toFixed(2); 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 } else { 640 } else {
642 order_m = parseFloat(order_m - amoney); 641 order_m = parseFloat(order_m - amoney);
643 order_m = order_m.toFixed(2); 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 } else { 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 wx.hideLoading(); 649 wx.hideLoading();
pages/cart/cart2_inte/cart2_inte.wxml
@@ -165,7 +165,7 @@ @@ -165,7 +165,7 @@
165 <view class="payable">应付金额:<text class="co-red">¥{{formData.order_amount}}</text></view> 165 <view class="payable">应付金额:<text class="co-red">¥{{formData.order_amount}}</text></view>
166 <view class="payable">应付积分:<text class="co-red">{{formData.integral}}积分</text></view> 166 <view class="payable">应付积分:<text class="co-red">{{formData.integral}}积分</text></view>
167 </view> 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 </view> 169 </view>
170 </form> 170 </form>
171 171