diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js index 490427e..ecf953d 100644 --- a/packageE/pages/cart/cart2/cart2.js +++ b/packageE/pages/cart/cart2/cart2.js @@ -2702,7 +2702,7 @@ Page({ var quan_no = null; if (th.data.using_quan[bn_pick] != null && th.data.using_quan[bn_pick] != undefined) quan_no = th.data.using_quan[bn_pick].coupon_no; - + if (quan_no) { //如果是一件代发就不要找商品 if (th.data.using_quan[bn_pick].isby != 1 && !good.whsle_id) { @@ -2715,6 +2715,7 @@ Page({ WareIds: th.data.check_quan_ware_list } }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { quan_price = res.data.data[0].WareCashSum; } @@ -4114,21 +4115,24 @@ Page({ util_pay.pay(data.data, async function () { //app.my_warnning("支付成功",1,th); //setTimeout(function () { - if (th.data.formData && th.data.formData.prestore * 1 > 0) { //有使用预存的处理 - let length = pdata.length - wx.showLoading({ title: "加载中", mask: true }); - for (let yi = 0; yi < length; yi++) { - await th.setAdvancesum(pdata[yi], data.data) - } - wx.hideLoading() - wx.redirectTo({ - url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data - }) - } else { - wx.redirectTo({ - url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data - }) - } + // if (th.data.formData && th.data.formData.prestore * 1 > 0) { //有使用预存的处理 + // let length = pdata.length + // wx.showLoading({ title: "加载中", mask: true }); + // for (let yi = 0; yi < length; yi++) { + // await th.setAdvancesum(pdata[yi], data.data) + // } + // wx.hideLoading() + // wx.redirectTo({ + // url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data + // }) + // } else { + // wx.redirectTo({ + // url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data + // }) + // } + wx.redirectTo({ + url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data + }) //},1000) }, function () { @@ -4160,24 +4164,27 @@ Page({ if (t.data.code == 0) { //app.my_warnning("支付成功",1,th); //setTimeout(function () { - if (th.data.formData && th.data.formData.prestore * 1 > 0) { //有使用预存的处理 - let length = pdata.length - wx.showLoading({ title: "加载中", mask: true }); - for (let yi = 0; yi < length; yi++) { - await th.setAdvancesum(pdata[yi], data.data) - } - wx.hideLoading() - th.setData({ isclose: 0 }); - wx.redirectTo({ - url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data, - }) - } else { - th.setData({ isclose: 0 }); - wx.redirectTo({ - url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data, - }) - } - + // if (th.data.formData && th.data.formData.prestore * 1 > 0) { //有使用预存的处理 + // let length = pdata.length + // wx.showLoading({ title: "加载中", mask: true }); + // for (let yi = 0; yi < length; yi++) { + // await th.setAdvancesum(pdata[yi], data.data) + // } + // wx.hideLoading() + // th.setData({ isclose: 0 }); + // wx.redirectTo({ + // url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data, + // }) + // } else { + // th.setData({ isclose: 0 }); + // wx.redirectTo({ + // url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data, + // }) + // } + th.setData({ isclose: 0 }); + wx.redirectTo({ + url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data, + }) //}, 1000) } }, diff --git a/pages/cart/cart2_inte/cart2_inte.js b/pages/cart/cart2_inte/cart2_inte.js index 65d5b87..355314f 100644 --- a/pages/cart/cart2_inte/cart2_inte.js +++ b/pages/cart/cart2_inte/cart2_inte.js @@ -76,7 +76,7 @@ Page({ //--订单优惠-- order_prom: {}, show_submit: 0, //提交按钮变正常显示 - + udata: null,//用户预存值,数据 }, onLoad: function (t) { wx.setNavigationBarTitle({ title: "填写订单", }) @@ -193,7 +193,117 @@ Page({ } }, + //获取预存款余额 + async getAdvancesum() { + /*-----获取线下会员的预存款和优惠券的数量-----*/ + let url = "/api/weshop/users/getinfo/" + os.stoid + "/" + getApp().globalData.userInfo.user_id + await getApp().request.promiseGet(url, { + data: { + isShowLoading: 0, + }, + }).then(su => { + if (su.data.code == 0 && su.data.data) { + var data = su.data.data; + if (!data) data = {}; + data.cashcount = parseInt(data.cashcount); + this.setData({ + udata: data, + }); + } + }) + }, + //购物车预存开启关闭 + prestore(e) { + let ind = e.currentTarget.dataset.ind; + let item = e.currentTarget.dataset.item + let txt = 'cartlist[' + ind + '].yck_off'; + let txt1 = 'old_cartlist[' + ind + '].yck_off'; + if (item.yck_off == 2) { + this.setData({ [txt]: 1, [txt1]: 1 }) + } else if (item.yck_off == 1) { + this.setData({ [txt]: 2, [txt1]: 2 }) + } + this.calculatePrice()//计算金额 + }, + //直接购买预存开启关闭 + prestore2() { + let txt = 'bn_goods.yck_off'; + if (this.data.bn_goods.yck_off == 2) { + this.setData({ [txt]: 1 }) + } else if (this.data.bn_goods.yck_off == 1) { + this.setData({ [txt]: 2 }) + } + this.calculatePrice2()//计算金额 + }, + //计算商品预存款前置方法------------------------------------ + async beforAdvancesum(cartList) { + // let cartList= this.data.cartlist + // let cartList= arr + // let length = cartList.length + wx.showLoading({ + title: '加载中', + mask: true + }) + // for (let i = 0; i < length; i++) { + let item = cartList; + let goods = item.goods + let keyid = item.sto.keyid + let listform = [] + goods.map(ite => { + let obj = { + wareno: ite.goods_sn, + price: ite.goods_price, + qty: ite.goods_num + } + listform.push(obj) + }) + let arr = await this.getGoodsAdvancesum(keyid, listform, cartList) + // } + wx.hideLoading() + return arr + }, + //计算商品预存款请求方法------------------------------------ + async getGoodsAdvancesum(storageid, listform, cartList) { + let res = await getApp().request.promisePost(`/api/weshop/delphiapi/saveErpApi`, { + data: { + accdb: getApp().globalData.config.erpid, + ApiName: 'api.pos.shop.advancesum.seek', + usercode: "admin", + vipid: this.data.userinfo.erpvipid, + oddsum: "0", + advancesum: cartList.order_amount, + storageid: storageid, + listform + }, + is_json: 1 + }) + console.log('计算商品的预存款'); + console.log(res); + let yck = 0 + let yckid = "" + let yckIdArr = [] + let pre_json = null + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + let resData = res.data.data + resData.map(ite => { + yck += ite.advancesum + yckIdArr.push(ite.advanceitemid) + }) + pre_json = resData + } + yckid = yckIdArr.join() + let obj = {} + if (yck * 1 > 0) { + obj.yck_off = 1 + } else { + obj.yck_off = 0 + } + obj.yck = yck + obj.yckid = yckid + obj.pre_json = pre_json + return obj + }, //-------------------获取物流--------------- get_wuliu(func) { var th = this; @@ -242,9 +352,11 @@ Page({ }, //----------------展示页面,是再获取用户信息之后-------------- - show_page: function () { + show_page:async function () { var th = this, ta = this.data.param; //th.setData({ userinfo: getApp().globalData.userInfo,}); + //获取用户预存款 + await th.getAdvancesum() var user = getApp().globalData.userInfo; getApp().request.get("/api/weshop/users/get/" + oo.stoid + "/" + user.user_id, { @@ -617,6 +729,105 @@ Page({ order_m = 0; coupon_price = parseFloat(order_m).toFixed(2); } + //预存金额使用参与计算 + if (th.data.udata && th.data.udata.Balance > 0 && order_m * 1 > 0) { + if (!th.data.bn_goods.keyid) { + //获取门店信息 + await getApp().request.promiseGet("/api/weshop/pickup/list", { + data: { + store_id: os.stoid, + ids: th.data.bn_pick + } + }).then(res => { + if (ut.ajax_ok(res)) { + console.log(res); + if (res.data.code == 0) { + let resData = res.data.data.pageData + if (resData && resData[0]) { + let keyid = resData[0].keyid + let txt = 'bn_goods.keyid' + th.setData({ + [txt]: keyid + }) + } + } + } + }) + } + if (th.data.bn_goods.keyid) { + let cart_yc = await th.beforAdvancesum({ + order_amount: order_m, + goods: [{ + goods_sn: th.data.bn_goods.goods_sn, + goods_price: th.data.bn_goods.shop_price || th.data.bn_goods.goods_price, + goods_num: th.data.bn_goods.buynum || th.data.bn_goods.goods_num, + }], + sto: { + keyid: th.data.bn_goods.keyid + } + }) + + if (!good.yck_off) { + good.yck_off = cart_yc.yck_off + } + good.yck = cart_yc.yck + good.yckid = cart_yc.yckid + good.pre_json = cart_yc.pre_json + let yct1 = 'bn_goods.yck_off'; + let yct2 = 'bn_goods.yck'; + let yct3 = 'bn_goods.yckid'; + let yct4 = 'bn_goods.pre_json'; + th.setData({ + [yct1]: good.yck_off, + [yct2]: good.yck, + [yct3]: good.yckid, + [yct4]: good.pre_json, + }) + + if (good.yck_off && good.yck_off == 2) { + let order_amount = (order_m - good.yck).toFixed(2); + let yck = 0 + if (order_amount * 1 > 0) { + order_m = order_amount; + // all_prestore+=parseFloat(good.yck); + yck = parseFloat(good.yck) + } else { + // all_prestore+=order_m*1 + yck = parseFloat(order_m) + order_m = 0 + } + let atxt10 = "formData.prestore"; //预存金额 + let atxt11 = "formData.pre_json"; //预存json + let atxt12 = "formData.all_yck_arr"; //预存真实抵扣列表 + th.setData({ + [atxt10]: yck, + [atxt11]: [good.pre_json], + [atxt12]: [yck], + }) + // formData.prestore + // all_yck_arr.push(yck) //真实预存款抵扣金额 + // all_pre_json.push(good.pre_json) + // all_prestore = parseFloat(all_prestore); //真实预存款抵扣金额总和 + } + } + } else { + let yct1 = 'bn_goods.yck_off'; + let yct2 = 'bn_goods.yck'; + let yct3 = 'bn_goods.yckid'; + let yct4 = 'bn_goods.pre_json'; + let atxt10 = "formData.prestore"; //预存金额 + let atxt11 = "formData.pre_json"; //预存json + let atxt12 = "formData.all_yck_arr"; //预存真实抵扣列表 + th.setData({ + [yct2]: 0, + [yct3]: '', + [yct4]: '', + [atxt10]: 0, + [atxt11]: '', + [atxt12]: [], + }) + } + //判断是否同城配送,而且没有调用过 if(th.data.bn_exp_type==2 && th.data.user_addr) { @@ -873,6 +1084,25 @@ Page({ if (pdata.length == 0) return; + //如果有使用预存,要处理 + if (th.data.formData && th.data.formData.prestore * 1 > 0) { + let formData = th.data.formData + let pre_json = formData.pre_json + let all_yck_arr = formData.all_yck_arr + pdata.map((item, i) => { + item.pre_cut = all_yck_arr[i] ? all_yck_arr[i] : 0 + item.pre_preferential = 0 + item.pre_json = pre_json[i] ? JSON.stringify(pre_json[i]) : '' + }) + } + if (!pdata.keyid && th.data.bn_goods) { + pdata.map(ite => { + ite.keyid = th.data.bn_goods.keyid + }) + // pdata.keyid = th.data.bn_goods.keyid + } + //------------------------------------------ + var str = JSON.stringify(pdata); wx.showLoading({ title: "加载中" });