diff --git a/components/diy_searchbox/diy_searchbox.wxml b/components/diy_searchbox/diy_searchbox.wxml
index d3ddcc5..f7feb1e 100644
--- a/components/diy_searchbox/diy_searchbox.wxml
+++ b/components/diy_searchbox/diy_searchbox.wxml
@@ -1,6 +1,5 @@
-
@@ -15,24 +14,17 @@
-
-
-
+
-
-
-
-
-
+
-
@@ -44,14 +36,10 @@
bindconfirm="sear" bindinput='set_input' focus="{{inputShowed}}" />
-
-
-
-
\ No newline at end of file
diff --git a/components/diy_store_select/diy_store_select.js b/components/diy_store_select/diy_store_select.js
new file mode 100644
index 0000000..fc6f2b1
--- /dev/null
+++ b/components/diy_store_select/diy_store_select.js
@@ -0,0 +1,365 @@
+const app = getApp()
+const innerAudioContext = wx.createInnerAudioContext();
+var t = getApp(),o = t.globalData.setting;
+Component({
+ properties: {
+ object: { type: Object,value: null,},
+ },
+ options: { addGlobalClass: true },
+ data: {
+ top_store:null, //会员默认的门店
+ url: o.imghost,
+ store_config:null,
+ lat: null, //维度
+ lon: null, //经度
+ sort_store:0,
+ choice_sort_store:0,
+
+ fir_pick_index:0, //5个门店显示选择的下标
+ },
+ ready: function() {
+ var th=this;
+ getApp().getConfig(function(e){
+ th.setData({store_config:e,});
+ th.init();
+ })
+ },
+ pageLifetimes:{
+ //要处理一下,游客登录后的界面的变化,主要还该是改变会员
+ show: function () {
+ this.init();
+ this.setData({fir_pick_index:0})
+ }
+ },
+
+ methods: {
+ //-- 初始化顶部的门店显示 --
+ init(){
+ var th=this;
+ //获取顶部的门店
+ getApp().get_user_store(function(){
+ var top_store=getApp().globalData.pk_store;
+ if(top_store){
+ th.setData({top_store:top_store});
+ }else{
+ wx.getLocation({
+ type: 'gcj02',
+ success: function(res) {
+ th.data.lat = res.latitude;
+ th.data.lon = res.longitude;
+ th.set_fir_store_to_def();
+ },
+ fail: function(res) {
+ if(res.errCode == 2) {
+ getApp().confirmBox("请开启GPS定位", null, 25000, !1);
+ }
+ }
+ })
+ }
+ })
+ },
+ //-- 设置最近的店为默认的店,一开始加载的时候 --
+ set_fir_store_to_def(){
+ var th=this;
+ var dd = {
+ store_id: o.stoid,
+ isstop: 0,
+ pageSize: 1,
+ page:1,
+ };
+ dd.lat = th.data.lat;
+ dd.lon = th.data.lon;
+ //----------获取门店,最近的门店----------------
+ getApp().request.promiseGet("/api/weshop/pickup/list", {
+ data: dd,
+ }).then(res => {
+ if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
+ var top_store=res.data.data.pageData[0];
+ th.setData({top_store:top_store})
+ }
+ })
+ },
+
+ //点击选择门店
+ sele_top_store(){
+ var user_id=getApp().globalData.user_id;
+ if(!user_id) return false;
+ var th=this;
+ this.get_top_sto(function(){
+ th.setData({store:1});
+ });
+ },
+ //选择更多门店
+ more_store: function() {
+ this.setData({
+ sort_store: 1
+ });
+ },
+
+ //确定def_pick为选择的门店
+ sure_pick: function() {
+ var th = this,item = null,user_id=getApp().globalData.user_id;
+ if(!user_id) return false;
+
+ //如果是第一层的时候
+ if (th.data.choice_sort_store == 0) {
+ var index = th.data.fir_pick_index;
+ if (th.data.is_show_sto_cat == 1) {
+ item = th.data.def_pickpu_list[index];
+ } else {
+ item = th.data.only_pk[index]; //当没有门店分类的时候
+ }
+ }
+ //如果是跳转到门店分类里面的时候
+ else {
+ var index = th.data.sec_pick_index;
+ item = th.data.sec_sto.s_arr[index];
+ }
+
+ //--回调函数的用法--
+ th.setData({
+ top_store: item,
+ sto_sele_name: item.pickup_name,
+ sto_sele_id: item.pickup_id,
+ sto_sele_distr: item.distr_type,
+ store: 0,
+ choice_sort_store: 0,
+ fir_pick_index: 0
+ });
+ //全局默认门店
+ getApp().globalData.pk_store=item;
+ //还原基础属性
+ th.setData({store: 0,choice_sort_store: 0,sort_store: 0})
+ //更新会员的默认的门店
+ getApp().request.put('/api/weshop/users/update', {
+ data: {
+ user_id:user_id,
+ def_pickup_id:item.pickup_id
+ },
+ success: function(res) {}
+ });
+
+ },
+
+ //---点击二级之后的选择---
+ choose_for_store: function(e) {
+ var index_c = e.currentTarget.dataset.ind;
+ this.setData({
+ sec_pick_index: index_c,
+ fir_pick_index: index_c
+ })
+ },
+
+ //关闭弹出框
+ close_popup:function(){
+ this.setData({store: 0, choice_sort_store: 0,sort_store: 0})
+ },
+
+ //---------拿出门店分类和门店------------
+ get_top_sto(func) {
+ //如果有就不重新调用接口了
+ if(this.data.all_pick_list){
+ this.deal_pickup(this.data.all_pick_list,func)
+ return false;
+ }
+ var th = this,that=this;
+ var i = getApp().request;
+ var dd = {
+ store_id: o.stoid,
+ isstop: 0,
+ pageSize: 2000
+ }
+
+ //如果有距离的话
+ if (th.data.lat != null) {
+ dd.lat = th.data.lat;
+ dd.lon = th.data.lon;
+ }
+
+ wx.showLoading({title:'加载中.' });
+ //----------获取门店----------------
+ getApp().request.promiseGet("/api/weshop/pickup/list", {
+ data: dd,
+ }).then(res => {
+ var e = res;
+ if (e.data.code == 0 && e.data.data.pageData && e.data.data.pageData.length){
+ th.setData({all_pick_list:e.data.data.pageData});
+ th.deal_pickup(e.data.data.pageData,func); //--普通门店排版--
+ }
+ })
+ },
+
+ //------------处理门店---------------
+ deal_pickup(e,func){
+ var th=this;
+ wx.hideLoading();
+ //-- 如果有默认选择门店的时候,要把默认门店放在第一位 --
+ if (th.data.top_store){
+ for (var k = 0; k < e.length; k++) {
+ if (e[k].pickup_id == th.data.top_store.pickup_id) {
+ e.splice(k, 1); //删除
+ break;
+ }
+ }
+ e.splice(0, 0, th.data.top_store); //添加
+ }
+
+
+ //单总量超出5个的时候
+ if (e.length > 5) {
+ getApp().request.get("/api/weshop/storagecategory/page", {
+ data: {
+ store_id: o.stoid,
+ is_show: 1,
+ pageSize: 1000,
+ orderField:"sort",
+ orderType:'asc',
+ },
+ success: function(ee) {
+ if (ee.data.code == 0) {
+ if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
+ var def_arr = new Array();
+ var ishas = 0;
+ //-- 开始就看5个门店 --
+ for (var k = 0; k < 5; k++) {
+ if (k == e.length) break;
+ def_arr.push(e[k]);
+ }
+
+ th.setData({
+ def_pickpu_list: def_arr,
+ pickpu_list: ee.data.data.pageData
+ });
+ var sto_cate = ee.data.data.pageData;
+ var sto_arr = e;
+ var newarr = new Array();
+ var qita = new Array();
+
+ //----要进行门店分组--------
+ for (var i = 0; i < sto_arr.length; i++) {
+ //找一下这个门店有没有在分类数组内
+ var find2 = 0, find2name = "",sort=0;
+ for (var m = 0; m < sto_cate.length; m++) {
+ if (sto_arr[i].category_id == sto_cate[m].cat_id) {
+ find2 = sto_cate[m].cat_id;
+ find2name = sto_cate[m].cat_name;
+ sort = sto_cate[m].sort;
+ break;
+ }
+ }
+
+ if (newarr.length > 0) {
+ var find = 0;
+ //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
+ if (find2 != 0) {
+ for (var ii = 0; ii < newarr.length; ii++) {
+ if (sto_arr[i].category_id == newarr[ii].cat_id) {
+ newarr[ii].s_arr.push(sto_arr[i]);
+ find = 1;
+ break;
+ }
+ }
+ if (find == 0) {
+ var arr0 = new Array();
+ arr0.push(sto_arr[i]);
+ var item = {
+ cat_id: find2,
+ name: find2name,
+ sort:sort,
+ s_arr: arr0
+ };
+ newarr.push(item);
+ }
+ } else {
+ qita.push(sto_arr[i]);
+ }
+ } else {
+ //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
+ if (find2 != 0) {
+ var arr0 = new Array();
+ arr0.push(sto_arr[i]);
+ var item = {
+ cat_id: find2,
+ name: find2name,
+ sort:sort,
+ s_arr: arr0
+ };
+ newarr.push(item);
+ } else {
+ qita.push(sto_arr[i]);
+ }
+ }
+ }
+
+ //门店分类要排序下
+ function compare(property){
+ return function(a,b){
+ var value1 = a[property];
+ var value2 = b[property];
+ return value1 - value2;
+ }
+ }
+ if(newarr.length>0) newarr.sort(compare("sort"));
+
+ //----安排其他的分类-----
+ if (qita.length > 0) {
+ var item = {
+ cat_id: -1,
+ name: "其他",
+ s_arr: qita
+ };
+ newarr.push(item);
+ }
+
+ th.setData({
+ is_show_sto_cat: 1,
+ all_sto: newarr
+ });
+
+ } else {
+ th.setData({is_show_sto_cat: -1,only_pk: e});
+ }
+ } else {
+ th.setData({is_show_sto_cat: -1,only_pk: e});
+ }
+ func(); //回调
+ }
+ });
+ } else {
+ th.setData({is_show_sto_cat: 0,only_pk: e});
+ func(); //回调
+ }
+ },
+
+ //---选择分类门店---
+ choice_sort_store: function(e) {
+ var index = e.currentTarget.dataset.index;
+ var region_name = e.currentTarget.dataset.region;
+ var item = this.data.all_sto[index];
+ this.setData({
+ region_name: region_name,
+ sort_store: 0,
+ choice_sort_store: 1,
+ sec_sto: item,
+ sec_pick_index: 0
+ });
+ },
+ //返回按钮
+ returns: function() {
+ this.setData({
+ sort_store: 0,
+ choice_sort_store: 0
+ });
+ },
+
+ //第一层选择门店的情况
+ choose_for_store_fir: function(e) {
+ var index_c = e.currentTarget.dataset.ind;
+ var th=this;
+ th.setData({ fir_pick_index: index_c })
+ },
+ },
+
+
+
+})
\ No newline at end of file
diff --git a/components/diy_store_select/diy_store_select.json b/components/diy_store_select/diy_store_select.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/components/diy_store_select/diy_store_select.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/components/diy_store_select/diy_store_select.wxml b/components/diy_store_select/diy_store_select.wxml
new file mode 100644
index 0000000..625cb71
--- /dev/null
+++ b/components/diy_store_select/diy_store_select.wxml
@@ -0,0 +1,151 @@
+
+
+ {{top_store?top_store.pickup_name+'[切换]':'请选择门店'}}
+
+
+
+
+ {{top_store?top_store.pickup_name+'[切换]':'请选择门店'}}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/diy_store_select/diy_store_select.wxss b/components/diy_store_select/diy_store_select.wxss
new file mode 100644
index 0000000..a858348
--- /dev/null
+++ b/components/diy_store_select/diy_store_select.wxss
@@ -0,0 +1,163 @@
+.store_sele{width: 100%;z-index: 8; height: 88rpx; padding: 0 15rpx;position: fixed; color: #666;
+ top: 0; left: 0; background-color: #fff; font-size: 32rpx;}
+
+ .store_sele1{ height: 88rpx; padding: 0 15rpx; color: #666;background-color: #fff; font-size: 32rpx;}
+
+
+.logo_box{ width: 64rpx; height:64rpx;margin-right: 15rpx; }
+.pd-view {
+ height: 80rpx;
+}
+
+.circle{ border-radius: 50%;}
+/*-- 门店选择 --*/
+/* 选择门店的弹窗 */
+.mongolia-layer{
+position: fixed;
+left: 0;
+top: 0;
+right: 0;
+bottom: 0;
+z-index: 11;
+background: rgba(0,0,0,0.4);
+width: 100%;
+height: 91.9%;
+
+}
+
+.popup-frame{
+position: fixed;
+bottom:110rpx;
+z-index: 20;
+background: white;
+width: 100%;
+border-radius: 20rpx 20rpx 0 0;
+height: 72%;
+
+}
+.popup-top{
+ border-bottom: 1rpx solid #eee;
+ height: 155rpx;
+ width: 95%;
+ margin: auto;
+ line-height: 155rpx;
+
+}
+.bg_rights{
+ border-top: 2rpx solid ;
+ border-right: 2rpx solid ;
+ transform: rotate(45deg);
+ display:inline-block;
+ width:15rpx;height:15rpx;
+ border-color:#da0b31;
+}
+.modal-closes {
+ position: absolute;
+ right: 30rpx;
+ top: -15rpx;
+ height: 25rpx;
+
+}
+.choose_more{
+ margin-top: 40rpx;
+ margin-right: 20rpx;
+
+}
+.choose_mores{
+ margin-top: 30rpx;
+ margin-right: 15rpx;
+
+}
+.store-list{
+ width: 95%;
+ height: 72%;
+ overflow-y: scroll;
+ margin: auto;
+}
+.store-list .store_choose{
+ width: 100%;
+ height: 120rpx;
+ line-height: 125rpx;
+ border-bottom: 1rpx solid #eee;
+
+}
+.store-list .store_choose .store{
+width: 100%;
+margin: auto;
+line-height: 37rpx;
+padding-left: 20rpx;
+
+}
+.xc-hook{
+ width: 35rpx;
+ height: 35rpx;
+ transform: rotate(-145deg);
+line-height: 37rpx;
+text-align: center;
+}
+ .xc-hooks{
+ width: 30rpx;
+ height: 30rpx;
+ border: 1rpx solid #999;
+ }
+ .address-frame{
+ width: 93%;
+margin-left: 7rpx;
+
+ }
+ .nearby_store{
+margin-left: 17rpx;
+ }
+ .address_name{
+ margin-right: 10rpx;
+
+ }
+ .address-val{
+ height: 38rpx;
+line-height: 38rpx;
+
+ }
+ .store-bottom{
+ width: 85%;
+ margin: auto;
+ height: 70rpx;
+ }
+ .determine{
+ width: 260rpx;
+ height: 55rpx;
+ border-radius: 50rpx;
+ line-height: 55rpx;
+ }
+ .default{
+ width: 260rpx;
+ height: 55rpx;
+ border:3rpx solid #c8c8c8;
+ border-radius: 50rpx;
+ line-height: 55rpx;
+ }
+ .store-bottom-frame{
+ width: 95%;
+ margin: auto;
+ }
+
+
+ /* 门店分类列表 */
+ .sort_store_list{
+ height: 82%;
+ overflow: hidden;
+ overflow-y: scroll;
+ width: 95%;
+ margin: auto;
+ }
+ .sort_store_list .sort-store-frame{
+ width: 100%;
+ height: 100rpx;
+ line-height:100rpx;
+ border-bottom: 1rpx solid #eee;
+
+ }
+ .sort_store_list .sort-store-frame .sort-store{
+ width: 94.5%;
+ margin: auto;
+ }
+ .ai_center{ align-items: center;}
\ No newline at end of file
diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js
index ab25a7e..ad9bd55 100644
--- a/pages/cart/cart/cart.js
+++ b/pages/cart/cart/cart.js
@@ -1,1410 +1,1501 @@
var t = getApp(),
- a = t.request,
- oo = t.globalData.setting,
- os=oo,
- app = getApp(),
- rq = t.request,
- ut = require("../../../utils/util.js");
+ a = t.request,
+ oo = t.globalData.setting,
+ os=oo,
+ app = getApp(),
+ rq = t.request,
+ ut = require("../../../utils/util.js");
var regeneratorRuntime = require('../../../utils/runtime.js');
Page({
- data: {
- url: t.globalData.setting.url,
- resourceUrl: t.globalData.setting.resourceUrl,
- iurl: t.globalData.setting.imghost,
- requestData: null,
- checkAllToggle: 0,
- total_fee: 0, //结算金额
- total_num: 0, //结算数量
- all_num: 0, //购物车中所有商品数量
- allsto: null,
- imgUrl: t.globalData.setting.imghost,
- is_has_flash: 0, //是否又秒杀活动
- is_edit: 0, //是否编辑
- is_load: 0, //是否已加载
- up_dating: 0, //更新中
- isreduce: 0, //商品数量是否可减
- isadd: 0, //是否可以加商品数量
-
- card_field:"",
- bconf:null,
- btn_click:1,
- },
- onLoad: function() {
- var a = this,ee=a;
- //----获取系统参数-----
- getApp().getConfig2(function(e) {
- ee.setData({
- bconfig: e,
- sales_rules:e.sales_rules
- });
- })
-
- wx.setNavigationBarTitle({
- title: "购物车",
- })
-
- //判断是否有登录
- t.auth.hadAuth() && t.getUserInfo(function() {
- a.getCardList();
- });
-
- },
- onShow: function() {
-
- if (typeof this.getTabBar === 'function' && this.getTabBar()) {
- var index=getApp().getPageIndex(this);
- this.getTabBar().setData({
- active: index //数字是当前页面在tabbar的索引
- })
-
- getApp().requestCardNum(this);
- }
-
- var th = this;
- this.setData({requestData:null,is_load:0});
- //调用底部导航
- //t.editTabBar(th,getApp().globalData.setting.stoid,getApp().globalData.url);
- this.getCardList();
-
-
- //--获取是否又秒杀活动--
- getApp().request.promiseGet("/api/ms/flash_sale/spikepage", {
- data: {
- store_id: oo.stoid,
- timetype: 2,
- is_end: 0,
- is_show: 1,
- pageSize: 1
- },
- }).then(res => {
- if (res.data.code == 0 && res.data.data && res.data.data.pageData.length > 0) {
- th.setData({
- is_has_flash: 1
+ data: {
+ url: t.globalData.setting.url,
+ resourceUrl: t.globalData.setting.resourceUrl,
+ iurl: t.globalData.setting.imghost,
+ requestData: null,
+ checkAllToggle: 0,
+ total_fee: 0, //结算金额
+ total_num: 0, //结算数量
+ all_num: 0, //购物车中所有商品数量
+ allsto: null,
+ imgUrl: t.globalData.setting.imghost,
+ is_has_flash: 0, //是否又秒杀活动
+ is_edit: 0, //是否编辑
+ is_load: 0, //是否已加载
+ up_dating: 0, //更新中
+ isreduce: 0, //商品数量是否可减
+ isadd: 0, //是否可以加商品数量
+
+ card_field:"",
+ bconf:null,
+ btn_click:1,
+ },
+ onLoad: function() {
+ var a = this,ee=a;
+ //----获取系统参数-----
+ getApp().getConfig2(function(e) {
+ ee.setData({
+ bconfig: e,
+ sales_rules:e.sales_rules
+ });
})
- }
- });
- },
+ wx.setNavigationBarTitle({
+ title: "购物车",
+ })
- onHide(){
- for(var i = 1; i < 100; i++) {
- clearInterval(i);
- }
- },
-
- //-------------获取购物车列表,要安装门店进行分类订单-----------
- getCardList: function() {
- var th = this;
- //如果门店还未读出来的时候
- if (th.data.allsto == null) {
- //读取门店
- app.get_allsto(function(e) {
- th.setData({
- allsto: e
+ //判断是否有登录
+ t.auth.hadAuth() && t.getUserInfo(function() {
+ a.getCardList();
});
- th.get_cart();
- })
- } else {
- th.get_cart();
- }
-
- //要获取会员是不是等级会员
- getApp().getConfig2(function(conf){
- //--- 看后台是不是有开通等级卡 ---
- if(conf.switch_list){
- var s_list=JSON.parse(conf.switch_list);
- var user=getApp().globalData.userInfo;
- //如果后台有开启等级价的功能
- if(user && parseInt(s_list.rank_switch)==2 && user['card_expiredate']){
-
- var str = user['card_expiredate'].replace(/-/g, '/');
- var end = new Date(str);
- end = Date.parse(end) / 1000;
- var now = ut.gettimestamp();
- //--- 判断是等级会员,且在有效期范围内 ---
- if(user.card_field && now0) {
- for (var i = 0; i < carr.length; i++) {
- var item = carr[i];
- var good = null;
- if(item.is_gift){
- var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
- getApp().request.delete(url, {
- success: function (t) {
- }
- });
- //商品已经下架
- continue;
- }
-
- await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + item.goods_id, {}).then(res => {
- good = res.data.data;
+
+ },
+ onShow: function() {
+
+ if (typeof this.getTabBar === 'function' && this.getTabBar()) {
+ var index=getApp().getPageIndex(this);
+ this.getTabBar().setData({
+ active: index //数字是当前页面在tabbar的索引
})
- if(!good){
- var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
- getApp().request.delete(url, {
- success: function (t) {
- }
- });
- continue;
- }
-
- var tt = ut.gettimestamp();
- //如果商品下架了,或者商品是赠品,一开始都要清除
- if ((good.down_time > 0 && good.down_time < tt) || good.is_on_sale == 0) {
- var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
- getApp().request.delete(url, {
- success: function (t) {
- }
- });
- //商品已经下架
- continue;
+
+ getApp().requestCardNum(this);
+ }
+
+ var th = this;
+ this.setData({requestData:null,is_load:0});
+ //调用底部导航
+ //t.editTabBar(th,getApp().globalData.setting.stoid,getApp().globalData.url);
+ this.getCardList();
+
+ //--获取是否又秒杀活动--
+ getApp().request.promiseGet("/api/ms/flash_sale/spikepage", {
+ data: {
+ store_id: oo.stoid,
+ timetype: 2,
+ is_end: 0,
+ is_show: 1,
+ pageSize: 1
+ },
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data && res.data.data.pageData.length > 0) {
+ th.setData({
+ is_has_flash: 1
+ })
}
-
- //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着
- if (item.prom_type == 1) {
- var prom = null;
- await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
- if (res.data.code == 0) prom = res.data.data;
- })
- //---如果有活动,不算在一起---
- if (!prom && prom.is_end == 0 && prom.end_time > now && prom.start_time < now) {
- var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
- a.delete(url, {
- success: function (t) {
- }
+ });
+
+ },
+
+ onHide(){
+ for(var i = 1; i < 100; i++) {
+ clearInterval(i);
+ }
+ },
+
+ //-------------获取购物车列表,要安装门店进行分类订单-----------
+ getCardList: function() {
+ var th = this;
+ //如果门店还未读出来的时候
+ if (th.data.allsto == null) {
+ //读取门店
+ app.get_allsto(function(e) {
+ th.setData({
+ allsto: e
});
- //商品已经下架
- continue;
- }
- }
- //--判断优惠活动有没有过期--
- else if (item.prom_type == 3) {
- var isok = 1;
- await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => {
- if (res.data.code == 0) {
- var r_data = res.data.data;
- if (!r_data.promGoodsLists) {
- var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
- getApp().request.delete(url, {});
- //商品已经下架
- isok = 0;
- }
- } else {
- var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
- getApp().request.delete(url, {});
- //商品已经下架
- isok = 0;
+ th.get_cart();
+ })
+ } else {
+ th.get_cart();
+ }
+
+ //要获取会员是不是等级会员
+ getApp().getConfig2(function(conf){
+ //--- 看后台是不是有开通等级卡 ---
+ if(conf.switch_list){
+ var s_list=JSON.parse(conf.switch_list);
+ var user=getApp().globalData.userInfo;
+ //如果后台有开启等级价的功能
+ if(user && parseInt(s_list.rank_switch)==2 && user['card_expiredate']){
+
+ var str = user['card_expiredate'].replace(/-/g, '/');
+ var end = new Date(str);
+ end = Date.parse(end) / 1000;
+ var now = ut.gettimestamp();
+ //--- 判断是等级会员,且在有效期范围内 ---
+ if(user.card_field && now0) {
+ for (var i = 0; i < carr.length; i++) {
+ var item = carr[i];
+ var good = null;
+ if(item.is_gift){
+ var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
+ getApp().request.delete(url, {
+ success: function (t) {
+ }
+ });
+ //商品已经下架
+ continue;
+ }
+
+ await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + item.goods_id, {}).then(res => {
+ good = res.data.data;
+ })
+ if(!good){
+ var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
+ getApp().request.delete(url, {
+ success: function (t) {
+ }
+ });
+ continue;
+ }
+
+ var tt = ut.gettimestamp();
+ //如果商品下架了,或者商品是赠品,一开始都要清除
+ if ((good.down_time > 0 && good.down_time < tt) || good.is_on_sale == 0) {
+ var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
+ getApp().request.delete(url, {
+ success: function (t) {
+ }
+ });
+ //商品已经下架
+ continue;
+ }
- all_num += item.goods_num;
- item.original_img = oo.imghost + item.original_img;
- item.selected = 0;
+ //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着
+ if (item.prom_type == 1) {
+ var prom = null;
+ await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
+ if (res.data.code == 0) prom = res.data.data;
+ })
+ //---如果有活动,不算在一起---
+ if (!prom && prom.is_end == 0 && prom.end_time > now && prom.start_time < now) {
+ var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
+ a.delete(url, {
+ success: function (t) {
+ }
+ });
+ //商品已经下架
+ continue;
+ }
+ }
+ //--判断优惠活动有没有过期--
+ else if (item.prom_type == 3) {
+ var isok = 1;
+ await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => {
+ if (res.data.code == 0) {
+ var r_data = res.data.data;
+ if (!r_data.promGoodsLists) {
+ var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
+ getApp().request.delete(url, {});
+ //商品已经下架
+ isok = 0;
+ }
+ } else {
+ var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
+ getApp().request.delete(url, {});
+ //商品已经下架
+ isok = 0;
+ }
+ })
+ if (!isok) continue;
+ } else if(item.prom_type == 0) {
+ //如果有优惠活动,要更新活动
+ await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => {
+ if (res.data.code == 0) {
+ var r_data = res.data.data;
+ if (r_data.promGoodsLists) {
+ var url = '/api/weshop/cart/update';
+ getApp().request.put(url, {
+ data:{id:item.id,store_id:oo.stoid,prom_type:3,prom_id:r_data.promGoodsLists[0].prom_id}
+ });
+ item.prom_type=3;
+ item.prom_id=r_data.promGoodsLists[0].prom_id;
+ }
+ }
+ })
+ }
- var pcid = item.pick_id;
- var find = 0;
- //---------循环查找门店---
- if (arr.length > 0) {
- for (var j = 0; j < arr.length; j++) {
- if (arr[j].pid == pcid) {
- arr[j].goods.push(item);
- find = 1;
- break;
+ all_num += item.goods_num;
+ item.original_img = oo.imghost + item.original_img;
+ item.selected = 0;
+ item.erpwareid=good.erpwareid; //要同步下线商品的id
+ item.shop_price=good.shop_price; //要同步下线商品的id
+
+ var pcid = item.pick_id;
+ var find = 0;
+ //---------循环查找门店---
+ if (arr.length > 0) {
+ for (var j = 0; j < arr.length; j++) {
+ if (arr[j].pid == pcid) {
+ arr[j].goods.push(item);
+ find = 1;
+ break;
+ }
+ }
+ }
+
+ //------如果没有找到-----
+ if (find == 0) {
+ var pikname = '';
+ //找到门店名称
+ for (var k = 0; k < th.data.allsto.length; k++) {
+ if (pcid == th.data.allsto[k].pickup_id) {
+ pikname = th.data.allsto[k].pickup_name;
+ break;
+ }
+ }
+ var narr = new Array();
+ narr.push(item);
+ var ie = {
+ pid: pcid,
+ pname: pikname,
+ goods: narr,
+ selected: 0
+ };
+ arr.push(ie);
+ }
+ }
}
- }
- }
- //------如果没有找到-----
- if (find == 0) {
- var pikname = '';
- //找到门店名称
- for (var k = 0; k < th.data.allsto.length; k++) {
- if (pcid == th.data.allsto[k].pickup_id) {
- pikname = th.data.allsto[k].pickup_name;
- break;
+ if(arr.length==0) {
+ setTimeout(function () {
+ var goods_list = th.selectComponent("#goods_list"); //组件的id
+ goods_list.init();
+ goods_list.get_list();
+ }, 800)
}
- }
- var narr = new Array();
- narr.push(item);
- var ie = {
- pid: pcid,
- pname: pikname,
- goods: narr,
- selected: 0
- };
- arr.push(ie);
- }
- }
- }
+ //-- 此时要实时更新线下取价价格 --
+ for(var i=0;i0) continue;
+ wlist+= encodeURIComponent(list.goods[i].erpwareid)+",";
}
+ wlist=ut.sub_last(wlist);
+ //调用接口进行赋值
+ await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", {
+ data:{
+ store_id:os.stoid,
+ PickupId:list.pid,
+ WareIds:wlist,
+ VIPId: userInfo.erpvipid
+ }
+ }).then(res => {
+ if(res.data.code==0 && res.data.data && res.data.data.length>0){
+ for(var e in res.data.data){
+ th.set_cart_offline_price(res.data.data[e],list.goods);
+ }
+ }
+ })
+ },
- th.setData({
- requestData: arr,
- all_num: all_num,
- is_load: 1,
- is_edit: 0
- }),
- th.doCheckAll(), wx.stopPullDownRefresh();
-
- }
- });
- },
- //删除商品
- delete_th_item: function(t) {
- var e = this;
- var a = rq;
- console.log(a);
- wx.showModal({
- title: "确定删除?",
- success: function(s) {
- if (s.confirm) {
- var r = t.currentTarget.dataset.cartid;
- var url = '/api/weshop/cart/del/' + oo.stoid + '/' + r;
- a.delete(url, {
- success: function(t) {
- e.getCardList();
+ //-- 设置购物车线下 --
+ set_cart_offline_price:function(data,glist)
+ {
+ for(var i in glist) {
+ if(glist[i].erpwareid==data.WareId && glist[i].prom_type==0){
+ if(glist[i].goods_price>=data.WarePrice){
+ glist[i].is_offline=1;
+ glist[i].offline_price=data.WarePrice;
+ glist[i].pricing_type=data.PriceType;
+ }
}
- });
}
- }
- });
- },
-
- //-----------------点击输入修改商品数量---------------
- valueToNum: function(t) {
- if(!this.data.is_load) return false;
- //控制住,避免事件响应冲突,只有input有输入的时候,才刷新
- if(this.data.btn_click){
- return false;
- }
- this.data.btn_click=1;
-
- var a = t.currentTarget.dataset.item;
- var b = t.currentTarget.dataset.pitems;
- a = this.data.requestData[b].goods[a];
- var e = a;
- var th=this;
-
-
-
- if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) {
- var s = {
- goods_num: a,
- goods_id: e.goods_id,
- id: e.id,
- store_id: oo.stoid
- };
- th.postCardList(s, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
- }
-
-
-
- },
-
- //-------------加数量---------------------
- addNum: function(t) {
- if(!this.data.is_load) return false;
- if (this.data.up_dating == 1) return false;
- this.data.up_dating = 1;
-
- var a = t.currentTarget.dataset.item;
- var b = t.currentTarget.dataset.pitems;
- a = this.data.requestData[b].goods[a];
-
- if (a.goods_num 0) {
- for (var i = 0; i < iarr.length; i++) {
- if(iarr[i].is_gift==1) continue;
- if (iarr[i].distr_type != 0) {
- if (fir == 0) {
- fir = iarr[i].distr_type;
- } else {
- if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) {
- isok = 0;
- break;
+ if (text_arr != "") {
+ wx.showModal({
+ title: '提示',
+ content: text_arr + '不能与门店中其他商品一起结算,配送方式不一致'
+ });
+ return false;
+ } else {
+ e.setData({
+ checkAllToggle: !e.data.checkAllToggle,
+ total_fee: tfeel.toFixed(2),
+ total_num: t_num,
+ });
+
+ for(var i in e.data.requestData){
+ e.check_prom_activity(i)
}
- }
+
}
- }
- }
+ },
- if (!isok) {
- wx.showModal({
- title: '提示',
- content: '同一门店自提和物流的商品不能同时结算'
- });
- return false;
- }
+ //------门店全选按钮,要判断是否门店的匹配方式一致---------
+ check_th_all_item:async function(ele) {
+ var e = this,
+ pitems = ele.currentTarget.dataset.pitems,
+ item = this.data.requestData[pitems].goods,
+ sele = this.data.requestData[pitems].selected;
+ this.data.btn_click=1;
+
+ var isok = 1,
+ fir = 0,
+ iarr = item;
+ if (!sele && item.length > 0) {
+ for (var i = 0; i < iarr.length; i++) {
+ if(iarr[i].is_gift==1) continue;
+ if (iarr[i].distr_type != 0) {
+ if (fir == 0) {
+ fir = iarr[i].distr_type;
+ } else {
+ if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) {
+ isok = 0;
+ break;
+ }
+ }
+ }
+ }
+ }
- for (var i = 0; i < item.length; i++) {
- var txt = "requestData[" + pitems + "].goods[" + i + "].selected";
- e.setData({
- [txt]: Number(!sele),
- });
- }
- var txt = "requestData[" + pitems + "].selected";
- e.setData({
- [txt]: Number(!sele),
- });
- await e.check_prom_activity(pitems);
- this.doCheckAll();
- },
-
- //---------------单选,也要判断门店的配送方式是否一致--------------
- check_th_item: async function(t) {
- var e = this,
- item = t.currentTarget.dataset.item,
- pitems = t.currentTarget.dataset.pitems;
- a = this.data.requestData[pitems].goods[item];
- var isok = 1,fir = 0;
- var iarr = e.data.requestData[pitems].goods;
- this.data.btn_click=1;
-
-
- //当数量大于1,且是选择的时候
- if (iarr.length > 1 && !a.selected) {
- for (var i = 0; i < iarr.length; i++) {
- if(iarr[i].is_gift==1) continue;
-
- //---当不是本身选择项目----
- var sel = iarr[i].selected;
- if (iarr[i].distr_type != 0 && (sel || iarr[i].id == a.id)) {
- if (fir == 0) {
- fir = iarr[i].distr_type;
- } else {
- if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) {
- isok = 0;
- break;
+ if (!isok) {
+ wx.showModal({
+ title: '提示',
+ content: '同一门店自提和物流的商品不能同时结算'
+ });
+ return false;
+ }
+
+ for (var i = 0; i < item.length; i++) {
+ var txt = "requestData[" + pitems + "].goods[" + i + "].selected";
+ e.setData({
+ [txt]: Number(!sele),
+ });
+ }
+ var txt = "requestData[" + pitems + "].selected";
+ e.setData({
+ [txt]: Number(!sele),
+ });
+ await e.check_prom_activity(pitems);
+ this.doCheckAll();
+ },
+
+ //---------------单选,也要判断门店的配送方式是否一致--------------
+ check_th_item: async function(t) {
+ var e = this,
+ item = t.currentTarget.dataset.item,
+ pitems = t.currentTarget.dataset.pitems;
+ a = this.data.requestData[pitems].goods[item];
+ var isok = 1,fir = 0;
+ var iarr = e.data.requestData[pitems].goods;
+ this.data.btn_click=1;
+
+
+ //当数量大于1,且是选择的时候
+ if (iarr.length > 1 && !a.selected) {
+ for (var i = 0; i < iarr.length; i++) {
+ if(iarr[i].is_gift==1) continue;
+
+ //---当不是本身选择项目----
+ var sel = iarr[i].selected;
+ if (iarr[i].distr_type != 0 && (sel || iarr[i].id == a.id)) {
+ if (fir == 0) {
+ fir = iarr[i].distr_type;
+ } else {
+ if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) {
+ isok = 0;
+ break;
+ }
+ }
+ }
}
- }
}
- }
- }
- if (!isok) {
- wx.showModal({
- title: '提示',
- content: '同一门店自提和物流的商品不能同时结算'
- });
- } else {
- var txt = "requestData[" + pitems + "].goods[" + item + "].selected";
- e.setData({
- [txt]: Number(!a.selected),
- });
-
- if(a.prom_type==3){
- //判断商品是不是优惠活动
- await e.check_prom_activity(pitems);
- }
-
- this.doCheckAll();
- }
- },
- //----------检查是否全选---------
- doCheckAll: function() {
- var th = this,
- tfeel = 0,
- t_num = 0,
- ischeck = 1,
- car = this.data.requestData,
- all_num = 0;
-
- for (var a = 0; a < car.length; a++) {
- var item = car[a].goods,
- is_s_sele = 1;
- for (var c = 0; c < item.length; c++) {
- if(item[c].is_gift) continue;
- all_num += item[c].goods_num;
- if (item[c].selected == 0) {
- ischeck = 0;
- is_s_sele = 0;
+ if (!isok) {
+ wx.showModal({
+ title: '提示',
+ content: '同一门店自提和物流的商品不能同时结算'
+ });
} else {
- tfeel += item[c].goods_num * item[c].goods_price;
- t_num += item[c].goods_num;
+ var txt = "requestData[" + pitems + "].goods[" + item + "].selected";
+ e.setData({
+ [txt]: Number(!a.selected),
+ });
+
+ if(a.prom_type==3){
+ //判断商品是不是优惠活动
+ await e.check_prom_activity(pitems);
+ }
+
+ this.doCheckAll();
}
- }
+ },
+ //----------检查是否全选---------
+ doCheckAll: function() {
+ var th = this,
+ tfeel = 0,
+ t_num = 0,
+ ischeck = 1,
+ car = this.data.requestData,
+ all_num = 0;
+
+ for (var a = 0; a < car.length; a++) {
+ var c_item=car[a];
+ var item = car[a].goods,
+ is_s_sele = 1;
+ var offline_price=0;
+ var offline_num=0;
+ for (var c = 0; c < item.length; c++) {
+ if(item[c].is_gift) continue;
+ all_num += item[c].goods_num;
+ if (item[c].selected == 0) {
+ ischeck = 0;
+ is_s_sele = 0;
+ } else {
+ tfeel += item[c].goods_num * item[c].goods_price;
+ t_num += item[c].goods_num;
+ }
- var txt = "requestData[" + a + "].selected";
- th.setData({
- [txt]: Number(is_s_sele)
- });
+ //-- 如果这个商品是线下取价的时候 --
+ if(item[c].is_offline){
+ offline_price+= (item[c].goods_price-item[c].offline_price)*item[c].goods_num;
+ offline_num+=item[c].goods_num;
+ }
+
+ }
+
+ var txt = "requestData[" + a + "].selected";
+ th.setData({
+ [txt]: Number(is_s_sele)
+ });
+
+ //当有线下取价的时候
+ if(offline_price){
+ var txt1= "requestData[" + a + "].offline_price";
+ var txt2= "requestData[" + a + "].offline_num";
+ th.setData({
+ [txt1]: offline_price.toFixed(2),
+ [txt2]: offline_num,
+ });
+ }
- }
- this.setData({
- checkAllToggle: ischeck,
- total_fee: tfeel.toFixed(2),
- all_num: all_num,
- total_num: t_num
- });
- },
-
- //----------------------更新购物数量,加减,调用接口---------------------
- postCardList: function(t, item, pitem) {
-
- var e = this,th=e;
- var user_id = getApp().globalData.user_id;
- console.log('update');
- console.log(t);
- rq.get("/api/weshop/goods/get/" + oo.stoid + "/" + t.goods_id, {
- isShowLoading: 0,
- async success(d) {
- var limit = d.data.data.viplimited;
- var store_count = d.data.data.store_count;
- var wareIds=d.data.data.erpwareid;
-
- var goodsinfo = e.data.requestData[pitem].goods[item];
- var promgoodsbuynum = 0;
- var goodsbuynum = 0;
-
- //--要获得商品,该用户买了多少件,同步应用--
- await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
- data: {
- store_id: oo.stoid,
- user_id: user_id,
- goods_id: goodsinfo.goods_id,
- prom_type: goodsinfo.prom_type,
- prom_id: goodsinfo.prom_id
- },
- }).then(res => {
- var buy_num_data = res.data.data;
- if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
- goodsbuynum = buy_num_data.goodsbuynum;
- })
-
-
- var buyed_mum2 = t.goods_num + goodsbuynum;
- if (buyed_mum2 > limit && limit > 0) {
- wx.showModal({
- title: '提示',
- content: '购买数量超出商品限购'
- });
- var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
- var cbuy = limit - buyed_mum2;
- e.setData({
- [txt]: cbuy > 0 ? cbuy : 0,
- });
- e.doCheckAll();
-
- t.goods_num=cbuy > 0 ? cbuy : 0,
- e.update_cart(t, pitem, item);
- return false;
}
+ this.setData({
+ checkAllToggle: ischeck,
+ total_fee: tfeel.toFixed(2),
+ all_num: all_num,
+ total_num: t_num
+ });
+ },
-
- if (goodsinfo.prom_type == 1) {
- //读取秒杀
- rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, {
+ //----------------------更新购物数量,加减,调用接口---------------------
+ postCardList: function(t, item, pitem) {
+
+ var e = this,th=e;
+ var user_id = getApp().globalData.user_id;
+ console.log('update');
+ console.log(t);
+ rq.get("/api/weshop/goods/get/" + oo.stoid + "/" + t.goods_id, {
isShowLoading: 0,
- success: function(res_d) {
-
- if(res_d.data.code==0){
- if (t.goods_num > store_count) {
- wx.showModal({
- title: '提示',
- content: '购买数量超出商品库存'
- });
- var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
- e.setData({
- [txt]: store_count
- });
- e.doCheckAll();
-
- t.goods_num=store_count;
- e.update_cart(t, pitem, item);
-
- return false;
- }
-
- var false_data = res_d.data.data;
- //--判断库存--
- if (t.goods_num > false_data.goods_num - false_data.buy_num) {
- wx.showModal({
- title: '提示',
- content: '购买数量超出活动库存'
- });
- var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
- e.setData({
- [txt]: false_data.goods_num - false_data.buy_num
- });
- e.doCheckAll();
-
- t.goods_num=false_data.goods_num - false_data.buy_num;
- e.update_cart(t, pitem, item);
-
- return false;
- }
-
- //--判断redis数量是否已经超出--
- if (t.goods_num > false_data.redisnum) {
- wx.showModal({
- title: '提示',
- content: '购买数量超出商品库存'
- });
- var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
- e.setData({
- [txt]: false_data.redisnum
- });
- e.doCheckAll();
-
- t.goods_num=false_data.redisnum;
- e.update_cart(t, pitem, item);
-
-
- return false;
- }
-
- //--活动的限购是不是要判断--
- if (t.goods_num + promgoodsbuynum > false_data.buy_limit && false_data.buy_limit > 0) {
- wx.showModal({
- title: '提示',
- content: '购买数量超出秒杀限购'
- });
- var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
- e.setData({
- [txt]: false_data.false_data.buy_limit
- });
- e.doCheckAll();
-
- t.goods_num=false_data.false_data.buy_limit;
- e.update_cart(t, pitem, item);
- return false;
- }
- e.update_cart(t, pitem, item);
-
- }else{
- //--- 看一下是不是线下库存 ---
- if(th.data.sales_rules==2){
- th.check_down_line(t, pitem, item,wareIds);
- }else{
- if (t.goods_num > store_count) {
- wx.showModal({
- title: '提示',
- content: '购买数量超出商品库存'
- });
- var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
- e.setData({
- [txt]: store_count
- });
- e.doCheckAll();
- return false;
- }
- e.update_cart(t, pitem, item);
- }
- }
-
+ async success(d) {
+ var limit = d.data.data.viplimited;
+ var store_count = d.data.data.store_count;
+ var wareIds=d.data.data.erpwareid;
+
+ var goodsinfo = e.data.requestData[pitem].goods[item];
+ var promgoodsbuynum = 0;
+ var goodsbuynum = 0;
+
+ //--要获得商品,该用户买了多少件,同步应用--
+ await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
+ data: {
+ store_id: oo.stoid,
+ user_id: user_id,
+ goods_id: goodsinfo.goods_id,
+ prom_type: goodsinfo.prom_type,
+ prom_id: goodsinfo.prom_id
+ },
+ }).then(res => {
+ var buy_num_data = res.data.data;
+ if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
+ goodsbuynum = buy_num_data.goodsbuynum;
+ })
+
+
+ var buyed_mum2 = t.goods_num + goodsbuynum;
+ if (buyed_mum2 > limit && limit > 0) {
+ wx.showModal({
+ title: '提示',
+ content: '购买数量超出商品限购'
+ });
+ var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
+ var cbuy = limit - buyed_mum2;
+ e.setData({
+ [txt]: cbuy > 0 ? cbuy : 0,
+ });
+ e.doCheckAll();
+
+ t.goods_num=cbuy > 0 ? cbuy : 0,
+ e.update_cart(t, pitem, item);
+ return false;
+ }
+
+
+ if (goodsinfo.prom_type == 1) {
+ //读取秒杀
+ rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, {
+ isShowLoading: 0,
+ success: function(res_d) {
+
+ if(res_d.data.code==0){
+ if (t.goods_num > store_count) {
+ wx.showModal({
+ title: '提示',
+ content: '购买数量超出商品库存'
+ });
+ var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
+ e.setData({
+ [txt]: store_count
+ });
+ e.doCheckAll();
+
+ t.goods_num=store_count;
+ e.update_cart(t, pitem, item);
+
+ return false;
+ }
+
+ var false_data = res_d.data.data;
+ //--判断库存--
+ if (t.goods_num > false_data.goods_num - false_data.buy_num) {
+ wx.showModal({
+ title: '提示',
+ content: '购买数量超出活动库存'
+ });
+ var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
+ e.setData({
+ [txt]: false_data.goods_num - false_data.buy_num
+ });
+ e.doCheckAll();
+
+ t.goods_num=false_data.goods_num - false_data.buy_num;
+ e.update_cart(t, pitem, item);
+
+ return false;
+ }
+
+ //--判断redis数量是否已经超出--
+ if (t.goods_num > false_data.redisnum) {
+ wx.showModal({
+ title: '提示',
+ content: '购买数量超出商品库存'
+ });
+ var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
+ e.setData({
+ [txt]: false_data.redisnum
+ });
+ e.doCheckAll();
+
+ t.goods_num=false_data.redisnum;
+ e.update_cart(t, pitem, item);
+
+
+ return false;
+ }
+
+ //--活动的限购是不是要判断--
+ if (t.goods_num + promgoodsbuynum > false_data.buy_limit && false_data.buy_limit > 0) {
+ wx.showModal({
+ title: '提示',
+ content: '购买数量超出秒杀限购'
+ });
+ var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
+ e.setData({
+ [txt]: false_data.false_data.buy_limit
+ });
+ e.doCheckAll();
+
+ t.goods_num=false_data.false_data.buy_limit;
+ e.update_cart(t, pitem, item);
+ return false;
+ }
+ e.update_cart(t, pitem, item);
+
+ }else{
+ //--- 看一下是不是线下库存 ---
+ if(th.data.sales_rules==2){
+ th.check_down_line(t, pitem, item,wareIds);
+ }else{
+ if (t.goods_num > store_count) {
+ wx.showModal({
+ title: '提示',
+ content: '购买数量超出商品库存'
+ });
+ var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
+ e.setData({
+ [txt]: store_count
+ });
+ e.doCheckAll();
+ return false;
+ }
+ e.update_cart(t, pitem, item);
+ }
+ }
+
+ }
+ })
+ } else {
+ //--- 看一下是不是线下库存 ---
+ if(th.data.sales_rules==2){
+ th.check_down_line(t, pitem, item,wareIds);
+ }else{
+ if (t.goods_num > store_count) {
+ wx.showModal({
+ title: '提示',
+ content: '购买数量超出商品库存'
+ });
+ var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
+ e.setData({
+ [txt]: store_count
+ });
+ e.doCheckAll();
+ t.goods_num=store_count;
+ }
+ e.update_cart(t, pitem, item);
+ }
+ }
}
- })
- } else {
- //--- 看一下是不是线下库存 ---
- if(th.data.sales_rules==2){
- th.check_down_line(t, pitem, item,wareIds);
- }else{
- if (t.goods_num > store_count) {
- wx.showModal({
- title: '提示',
- content: '购买数量超出商品库存'
- });
- var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
- e.setData({
- [txt]: store_count
- });
- e.doCheckAll();
- t.goods_num=store_count;
- }
- e.update_cart(t, pitem, item);
- }
+ });
+ },
+
+ //---检验线下库存的数量---
+ async check_down_line(t, pitem, item,erpwareid){
+ var ob={},th=this;
+ await this.check_down_line_next(t, pitem, item,erpwareid,function(res){
+ ob=res;
+ });
+ var log=0;
+ if(ob.code==-1){
+ wx.showModal({
+ title: '提示',
+ content: '购买数量超出商品库存'
+ });
+ var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
+ th.setData({
+ [txt]: ob.CanOutQty
+ });
+ th.doCheckAll();
+ t.goods_num=ob.CanOutQty;
}
- }
- });
- },
-
- //---检验线下库存的数量---
- async check_down_line(t, pitem, item,erpwareid){
- var ob={},th=this;
- await this.check_down_line_next(t, pitem, item,erpwareid,function(res){
- ob=res;
- });
- var log=0;
- if(ob.code==-1){
- wx.showModal({
- title: '提示',
- content: '购买数量超出商品库存'
- });
- var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
- th.setData({
- [txt]: ob.CanOutQty
- });
- th.doCheckAll();
- t.goods_num=ob.CanOutQty;
- }
- this.update_cart(t, pitem, item);
- },
-
- //---检验线下库存的数量的子函数---
- async check_down_line_next(t, pitem, item,erpwareid,func){
- var goodsinfo = this.data.requestData[pitem].goods[item];
- var lock=0,pick_no,plist;
- //先读取门店的lock
- await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{
- data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id,pageSize:1000}
- }).then(res=>{
- if(res.data.code==0 && res.data.data.total>0){
- for(var i in res.data.data.pageData)
- lock+=res.data.data.pageData[i].outQty;
- }
- })
- //先获取门店的编号
- await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+goodsinfo.pick_id,{
- data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:goodsinfo.pick_id}
- }).then(res=>{
- if(res.data.code==0){
- pick_no=res.data.data.pickup_no;
- }
- })
- //读取线下的门店库存
- await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
- data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid}
- }).then(res=>{
- if(res.data.code==0){
- plist=res.data.data.pageData[0];
- }
- })
- var ob={}; ob.code=1;
-
- if(!plist){
- ob.code=-1;ob.CanOutQty=0;func(ob); return false;
- }
-
- if( t.goods_num>plist.CanOutQty-lock){
- ob.code=-1;
- ob.CanOutQty=plist.CanOutQty-lock
- if(ob.CanOutQty<0) ob.CanOutQty=0;
- }
- func(ob)
- },
-
-
- //--更新购物车---
- update_cart: function(t, pitem, item) {
- var e = this;
-
- getApp().request.put("/api/weshop/cart/update", {
- data: t,
- success:async function(ee) {
- var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
-
- e.setData({
- [txt]: t.goods_num,
+ this.update_cart(t, pitem, item);
+ },
+
+ //---检验线下库存的数量的子函数---
+ async check_down_line_next(t, pitem, item,erpwareid,func){
+ var goodsinfo = this.data.requestData[pitem].goods[item];
+ var lock=0,pick_no,plist;
+ //先读取门店的lock
+ await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{
+ data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id,pageSize:1000}
+ }).then(res=>{
+ if(res.data.code==0 && res.data.data.total>0){
+ for(var i in res.data.data.pageData)
+ lock+=res.data.data.pageData[i].outQty;
+ }
+ })
+ //先获取门店的编号
+ await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+goodsinfo.pick_id,{
+ data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:goodsinfo.pick_id}
+ }).then(res=>{
+ if(res.data.code==0){
+ pick_no=res.data.data.pickup_no;
+ }
+ })
+ //读取线下的门店库存
+ await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
+ data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid}
+ }).then(res=>{
+ if(res.data.code==0){
+ plist=res.data.data.pageData[0];
+ }
+ })
+ var ob={}; ob.code=1;
+
+ if(!plist){
+ ob.code=-1;ob.CanOutQty=0;func(ob); return false;
+ }
+
+ if( t.goods_num>plist.CanOutQty-lock){
+ ob.code=-1;
+ ob.CanOutQty=plist.CanOutQty-lock
+ if(ob.CanOutQty<0) ob.CanOutQty=0;
+ }
+ func(ob)
+ },
+
+
+ //--更新购物车---
+ update_cart: function(t, pitem, item) {
+ var e = this;
+
+ getApp().request.put("/api/weshop/cart/update", {
+ data: t,
+ success:async function(ee) {
+ var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
+
+ e.setData({
+ [txt]: t.goods_num,
+ });
+ //for(var i in e.data.requestData){
+ await e.check_prom_activity(pitem)
+ //}
+ e.doCheckAll();
+ getApp().requestCardNum(e);
+ }
});
- //for(var i in e.data.requestData){
- await e.check_prom_activity(pitem)
- //}
- e.doCheckAll();
- getApp().requestCardNum(e);
- }
- });
- },
-
- //-------下拉刷新---------
- onPullDownRefresh: function(t) {
- this.getCardList();
- },
-
- //--------------去结算------------
- async checkout() {
-
- if(!this.data.is_load) return false;
- if(this.data.up_dating) {
- wx.showLoading({
- title:"计算中"
- })
- }
-
- var glist = ""; //用逗号隔开的
- var map = new Map(); //使用map值键进行运算
- var map_limit = new Map(); //使用map值键进行存储限购
- var g_arr = new Array(); //已选的商品列表
- var user_id = getApp().globalData.user_id;
- var th = this;
- //用于判断是不是积分购的普通购买
- var normal_arr={};
- var ab = 0; //选中
- wx.showLoading();
- for (var i = 0; i < this.data.requestData.length; i++) {
- var i_arr = this.data.requestData[i].goods;
-
-
- for (var j = 0; j < i_arr.length; j++) {
- if (i_arr[j].selected && i_arr[j].is_gift!=1) {
-
- if(i_arr[j].is_pd_normal) {
- normal_arr[i_arr[j].goods_id]=1;
- }
-
- //map 的key是不会重复,会覆盖,,
- var ie = {
- goods_id: i_arr[j].goods_id,
- id: i_arr[j].id,
- goods_price: i_arr[j].goods_price
- };
- g_arr.push(ie);
- if (map.has(i_arr[j].goods_id + "")) {
- var num11 = map.get(i_arr[j].goods_id + "");
- var num22 = parseInt(i_arr[j].goods_num) + parseInt(num11);
- map.set(i_arr[j].goods_id + "", num22);
- } else {
- map.set(i_arr[j].goods_id + "", i_arr[j].goods_num);
- }
- glist += i_arr[j].goods_id + ",";
- ab = 1;
- //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存---
- if((i_arr[j].prom_type==0 || i_arr[j].prom_type==3 || i_arr[j].prom_type==5) && th.data.sales_rules==2 && i_arr[j].is_gift!=1){
- //--获取商品的线下商品ID--
- var gd=null;
- await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id,{}).then(res=>{
- if(res.data.code==0) gd=res.data.data;
- })
- //--判断商品是线下库存--
- var ob={}
- await th.check_down_line_next(i_arr[j],i,j,gd.erpwareid,function(rs){
- ob=rs;
- });
- if(ob.code==-1){
- t.my_warnning(gd.goods_name+"门店库存不足", 0, th);
- wx.hideLoading();
- return false;
- }
-
- var is_ok=1;
- //如果是优惠活动话,要看活动有没有过期
- if(i_arr[j].prom_type==3){
- //判断有没有活动
- await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+i_arr[j].goods_id+"/1", {}).then(res => {
- if(res.data.code==0){
- if(!res.data.data.promGoodsLists){
- t.my_warnning(i_arr[j].goods_name+"优惠活动已经过期", 0, th);
- wx.hideLoading();
- is_ok=0;
+ },
+
+ //-------下拉刷新---------
+ onPullDownRefresh: function(t) {
+ this.getCardList();
+ },
+
+ //--------------去结算------------
+ async checkout() {
+
+ if(!this.data.is_load) return false;
+ if(this.data.up_dating) {
+ wx.showLoading({
+ title:"计算中"
+ })
+ }
+
+ var glist = ""; //用逗号隔开的
+ var map = new Map(); //使用map值键进行运算
+ var map_limit = new Map(); //使用map值键进行存储限购
+ var g_arr = new Array(); //已选的商品列表
+ var user_id = getApp().globalData.user_id;
+ var th = this;
+ //用于判断是不是积分购的普通购买
+ var normal_arr={};
+ var ab = 0; //选中
+ wx.showLoading();
+ for (var i = 0; i < this.data.requestData.length; i++) {
+ var i_arr = this.data.requestData[i].goods;
+ for (var j = 0; j < i_arr.length; j++) {
+ if (i_arr[j].selected && i_arr[j].is_gift!=1) {
+
+ if(i_arr[j].is_pd_normal) {
+ normal_arr[i_arr[j].goods_id]=1;
+ }
+ //map 的key是不会重复,会覆盖,,
+ var ie = {
+ goods_id: i_arr[j].goods_id,
+ id: i_arr[j].id,
+ goods_price: i_arr[j].goods_price,
+ };
+ //判断是不是线下取价
+ if(i_arr[j].is_offline){
+ ie.is_offline=i_arr[j].is_offline;
+ ie.offline_price=i_arr[j].offline_price;
+ ie.pricing_type=i_arr[j].pricing_type;
+ }
+ g_arr.push(ie);
+
+ if (map.has(i_arr[j].goods_id + "")) {
+ var num11 = map.get(i_arr[j].goods_id + "");
+ var num22 = parseInt(i_arr[j].goods_num) + parseInt(num11);
+ map.set(i_arr[j].goods_id + "", num22);
+ } else {
+ map.set(i_arr[j].goods_id + "", i_arr[j].goods_num);
+ }
+ glist += i_arr[j].goods_id + ",";
+ ab = 1;
+ //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存---
+ if((i_arr[j].prom_type==0 || i_arr[j].prom_type==3 || i_arr[j].prom_type==5) && th.data.sales_rules==2 && i_arr[j].is_gift!=1){
+ //--获取商品的线下商品ID--
+ var gd=null;
+ await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id,{}).then(res=>{
+ if(res.data.code==0) gd=res.data.data;
+ })
+ //--判断商品是线下库存--
+ var ob={}
+ await th.check_down_line_next(i_arr[j],i,j,gd.erpwareid,function(rs){
+ ob=rs;
+ });
+ if(ob.code==-1){
+ t.my_warnning(gd.goods_name+"门店库存不足", 0, th);
+ wx.hideLoading();
+ return false;
+ }
+
+ var is_ok=1;
+ //如果是优惠活动话,要看活动有没有过期
+ if(i_arr[j].prom_type==3){
+ //判断有没有活动
+ await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+i_arr[j].goods_id+"/1", {}).then(res => {
+ if(res.data.code==0){
+ if(!res.data.data.promGoodsLists){
+ t.my_warnning(i_arr[j].goods_name+"优惠活动已经过期", 0, th);
+ wx.hideLoading();
+ is_ok=0;
+ }
+ }
+ })
}
+ if(!is_ok){return false;}
}
- })
- }
- if(!is_ok){return false;}
- }
-
- } else {
- if(i_arr[j].is_gift==1) continue;
- rq.put("/api/weshop/cart/update", {
+
+ } else {
+ if(i_arr[j].is_gift==1) continue;
+ rq.put("/api/weshop/cart/update", {
+ data: {
+ id: i_arr[j].id,
+ selected: 0,
+ store_id: oo.stoid
+ },
+ success: function(ee) {
+ console.log(ee);
+ }
+ });
+ }
+ }
+ }
+ if (ab == 0) {
+ t.my_warnning("未选择商品", 0, th);
+ wx.hideLoading();
+ return false;
+ }
+
+ glist = glist.substring(0, glist.length - 1);
+ //--取一下商品的限购 以及活动的限购,redis数量--
+ rq.get("/api/weshop/goods/getGoodsListNum", {
data: {
- id: i_arr[j].id,
- selected: 0,
- store_id: oo.stoid
+ goodsidlist: glist,
+ store_id: oo.stoid
},
- success: function(ee) {
- console.log(ee);
+ async success(ee) {
+ console.log(ee);
+ if (ee.data.code == 0) {
+ var ddata = ee.data.data,
+ isok = 1,
+ gname = "",
+ err = "";
+ //--组装--
+ for (var ij = 0; ij < ddata.length; ij++) {
+ var val = ddata[ij];
+ var obj = map_limit.get(val.goods_id + "");
+ if (obj) continue;
+
+ var promgoodsbuynum = 0;
+ var goodsbuynum = 0;
+ //--要获得商品,该用户买了多少件,同步应用--
+ await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
+ data: {
+ store_id: oo.stoid,
+ user_id: user_id,
+ goods_id: val.goods_id,
+ prom_type: val.prom_type,
+ prom_id: val.prom_id
+ },
+ }).then(res => {
+ var buy_num_data = res.data.data;
+ if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
+ goodsbuynum = buy_num_data.goodsbuynum;
+ })
+ var ie= {
+ promgoodsbuynum: promgoodsbuynum,
+ goodsbuynum: goodsbuynum
+ };
+ map_limit.set(val.goods_id + "", ie);
+ }
+
+ try {
+ for(var ind in ddata) {
+ var val=ddata[ind];
+ var num = map.get(val.goods_id + "");
+ if (num <= 0) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "购买数量不能为0";
+ return false;
+ }
+
+ if(val.prom_type==1 || val.prom_type==6){
+ if (num > val.store_count) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出库存";
+ return false;
+ }
+ }
+
+ if(th.data.sales_rules!=2){
+ if (num > val.store_count) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出库存";
+ return false;
+ }
+ }
+
+ if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出活动库存";
+ return false;
+ }
+ if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出活动库存";
+ return false;
+ }
+
+ var buyed = map_limit.get(val.goods_id + "");
+ if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出商品限购";
+ return false;
+ }
+
+ if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出活动限购";
+ return false;
+ }
+
+
+ var card_field=th.data.card_field;
+ for (var i = 0; i < g_arr.length; i++) {
+ if (g_arr[i].goods_id == val.goods_id) {
+
+ //如果会员是等级会员,商品有等级价,且不是活动商品
+ if(card_field && val[card_field]>0 && (val.prom_type==0 || val.prom_type==3 || val.prom_type==4 || val.prom_type==5 || normal_arr[val.goods_id]) ){
+ if (g_arr[i].goods_price != val[card_field]){
+ isok = 0;
+ gname = val.goods_name;
+ throw "商品价格已经变化";
+ }
+ }else{
+ if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "商品价格已经变化";
+ }
+ }
+
+ //-- 数据的更新 --
+ var data={
+ id: g_arr[i].id,
+ selected: 1,
+ store_id: oo.stoid
+ };
+ //-- 如果有线下取价的时候 --
+ if(g_arr[i].is_offline){
+ data.pricing_type=g_arr[i].pricing_type;
+ data.offline_price=g_arr[i].offline_price;
+ }
+ rq.put("/api/weshop/cart/update", {
+ data: data,
+ success: function(ee) {
+ console.log(ee);
+ }
+ });
+ }
+ }
+
+ }
+ } catch (e) {
+ err = e;
+ }
+ if (isok == 0) {
+ t.confirmBox(gname + ":" + err);
+ wx.hideLoading();
+ return false;
+ }
+ wx.hideLoading();
+ wx.navigateTo({
+ url: "/pages/cart/cart2/cart2"
+ });
+ }
}
- });
+ });
+ },
+
+ //结算到最后一个商品
+ set_last: function(ab, isok, gname) {
+ if (isok == 0) {
+ t.my_warnning(gname + "商品超出库存", 0, this);
+ } else {
+ ab ? wx.navigateTo({
+ url: "/pages/cart/cart2/cart2"
+ }) : t.my_warnning("还没有选中商品", 0, this);
}
- }
- }
- if (ab == 0) {
- t.my_warnning("未选择商品", 0, th);
- wx.hideLoading();
- return false;
- }
+ },
- glist = glist.substring(0, glist.length - 1);
- //--取一下商品的限购 以及活动的限购,redis数量--
- rq.get("/api/weshop/goods/getGoodsListNum", {
- data: {
- goodsidlist: glist,
- store_id: oo.stoid
- },
- async success(ee) {
- console.log(ee);
- if (ee.data.code == 0) {
- var ddata = ee.data.data,
- isok = 1,
- gname = "",
- err = "";
- //--组装--
- for (var ij = 0; ij < ddata.length; ij++) {
- var val = ddata[ij];
- var obj = map_limit.get(val.goods_id + "");
- if (obj) continue;
-
- var promgoodsbuynum = 0;
- var goodsbuynum = 0;
- //--要获得商品,该用户买了多少件,同步应用--
- await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
- data: {
- store_id: oo.stoid,
- user_id: user_id,
- goods_id: val.goods_id,
- prom_type: val.prom_type,
- prom_id: val.prom_id
- },
- }).then(res => {
- var buy_num_data = res.data.data;
- if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
- goodsbuynum = buy_num_data.goodsbuynum;
+
+ //图片失败,默认图片
+ bind_bnerr2: function(e) {
+ var _errImg = e.target.dataset.errorimg;
+ var _errurl = e.target.dataset.url;
+ var ii = _errurl.indexOf(oo.imghost);
+ if (ii != -1) {
+ this.setData({
+ [_errImg]: oo.imghost + "/miniapp/images/default_g_img.gif",
})
- var ie = {
- promgoodsbuynum: promgoodsbuynum,
- goodsbuynum: goodsbuynum
- };
- map_limit.set(val.goods_id + "", ie);
- }
-
- try {
- for(var ind in ddata) {
- var val=ddata[ind];
- var num = map.get(val.goods_id + "");
- if (num <= 0) {
- isok = 0;
- gname = val.goods_name;
- throw "购买数量不能为0";
- return false;
- }
-
- if(val.prom_type==1 || val.prom_type==6){
- if (num > val.store_count) {
- isok = 0;
- gname = val.goods_name;
- throw "超出库存";
- return false;
- }
- }
-
- if(th.data.sales_rules!=2){
- if (num > val.store_count) {
- isok = 0;
- gname = val.goods_name;
- throw "超出库存";
- return false;
- }
- }
-
- if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) {
- isok = 0;
- gname = val.goods_name;
- throw "超出活动库存";
- return false;
- }
- if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) {
- isok = 0;
- gname = val.goods_name;
- throw "超出活动库存";
- return false;
- }
-
- var buyed = map_limit.get(val.goods_id + "");
- if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
- isok = 0;
- gname = val.goods_name;
- throw "超出商品限购";
- return false;
- }
-
- if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) {
- isok = 0;
- gname = val.goods_name;
- throw "超出活动限购";
- return false;
- }
-
-
- var card_field=th.data.card_field;
- for (var i = 0; i < g_arr.length; i++) {
- if (g_arr[i].goods_id == val.goods_id) {
-
- //如果会员是等级会员,商品有等级价,且不是活动商品
- if(card_field && val[card_field]>0 && (val.prom_type==0 || val.prom_type==3 || val.prom_type==4 || val.prom_type==5 || normal_arr[val.goods_id]) ){
- if (g_arr[i].goods_price != val[card_field]){
- isok = 0;
- gname = val.goods_name;
- throw "商品价格已经变化";
- }
- }else{
- if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) {
- isok = 0;
- gname = val.goods_name;
- throw "商品价格已经变化";
- }
- }
-
-
- rq.put("/api/weshop/cart/update", {
- data: {
- id: g_arr[i].id,
- selected: 1,
- store_id: oo.stoid
- },
- success: function(ee) {
- console.log(ee);
- }
- });
- }
- }
+ }
+ },
+ //设置点击按钮为true或者false
+ radio_chick: function(checked, num) {
+ var th = this;
+ var requestData = th.data.requestData;
+ },
+
+ //点击编辑后的效果
+ edit_cart: function(e) {
+ var type = parseFloat(e.currentTarget.dataset.type);
+ this.setData({
+ is_edit: type
+ });
+ },
+ //--多个删除购物车商品---
+ check_del: function() {
+ var glist = ""; //用逗号隔开的
+ var user_id = getApp().globalData.user_id;
+ var th = this;
+
+ var ab = 0; //选中
+ for (var i = 0; i < this.data.requestData.length; i++) {
+ var i_arr = this.data.requestData[i].goods;
+ for (var j = 0; j < i_arr.length; j++) {
+ if (i_arr[j].selected) {
+ glist += i_arr[j].id + ",";
+ ab = 1;
+ }
}
- } catch (e) {
- err = e;
- }
- if (isok == 0) {
- t.confirmBox(gname + ":" + err);
- wx.hideLoading();
- return false;
- }
- wx.hideLoading();
- wx.navigateTo({
- url: "/pages/cart/cart2/cart2"
- });
}
- }
- });
- },
-
- //结算到最后一个商品
- set_last: function(ab, isok, gname) {
- if (isok == 0) {
- t.my_warnning(gname + "商品超出库存", 0, this);
- } else {
- ab ? wx.navigateTo({
- url: "/pages/cart/cart2/cart2"
- }) : t.my_warnning("还没有选中商品", 0, this);
- }
- },
-
-
- //图片失败,默认图片
- bind_bnerr2: function(e) {
- var _errImg = e.target.dataset.errorimg;
- var _errurl = e.target.dataset.url;
- var ii = _errurl.indexOf(oo.imghost);
- if (ii != -1) {
- this.setData({
- [_errImg]: oo.imghost + "/miniapp/images/default_g_img.gif",
- })
- }
- },
- //设置点击按钮为true或者false
- radio_chick: function(checked, num) {
- var th = this;
- var requestData = th.data.requestData;
- },
-
- //点击编辑后的效果
- edit_cart: function(e) {
- var type = parseFloat(e.currentTarget.dataset.type);
- this.setData({
- is_edit: type
- });
- },
-
- //--多个删除购物车商品---
- check_del: function() {
- var glist = ""; //用逗号隔开的
- var user_id = getApp().globalData.user_id;
- var th = this;
-
- var ab = 0; //选中
- for (var i = 0; i < this.data.requestData.length; i++) {
- var i_arr = this.data.requestData[i].goods;
- for (var j = 0; j < i_arr.length; j++) {
- if (i_arr[j].selected) {
- glist += i_arr[j].id + ",";
- ab = 1;
+
+ if (ab == 0) {
+ t.my_warnning("未选择商品", 0, th);
+ return false;
}
- }
- }
+ glist = glist.substring(0, glist.length - 1);
+ //要删除购物车中的商品
+ var url = '/api/weshop/cart/delIds/' + oo.stoid + '/' + user_id + "/" + glist;
+ getApp().request.delete(url, {
+ success: function(t) {
+ th.getCardList();
+ }
+ });
+ },
+ //跳到首页
+ goto: function(e) {
+ navigateTo({
+ url: '/pages/index/index/index',
+ })
+ },
- if (ab == 0) {
- t.my_warnning("未选择商品", 0, th);
- return false;
- }
- glist = glist.substring(0, glist.length - 1);
- //要删除购物车中的商品
- var url = '/api/weshop/cart/delIds/' + oo.stoid + '/' + user_id + "/" + glist;
- getApp().request.delete(url, {
- success: function(t) {
- th.getCardList();
- }
- });
- },
- //跳到首页
- goto: function(e) {
- navigateTo({
- url: '/pages/index/index/index',
- })
- },
-
- //---加载更多是靠这个函数----
- onReachBottom: function() {
- if(this.data.requestData.length==0) {
- var goods_list = this.selectComponent("#goods_list"); //组件的id
- if (goods_list) goods_list.get_list();
- }
- },
+ //---加载更多是靠这个函数----
+ onReachBottom: function() {
+ if(this.data.requestData.length==0) {
+ var goods_list = this.selectComponent("#goods_list"); //组件的id
+ if (goods_list) goods_list.get_list();
+ }
+ },
- //检查莫个门店下的商品是不是优惠活动,有的话,看要不要送礼品,同时有没有倍增
- check_prom_activity:async function (cindex) {
+ //检查莫个门店下的商品是不是优惠活动,有的话,看要不要送礼品,同时有没有倍增
+ check_prom_activity:async function (cindex) {
var make_up_arr=new Array();
var th=this;
var map=new Map();
var list= JSON.parse(JSON.stringify(this.data.requestData[cindex]));
//循环处理活动,看活动商品的数量,用map来出来存储,key为活动id,值是数量
-
- for(var i=0;i {
- if(res.data.code==0){
- prom=res.data.data;
- }
+ if(res.data.code==0){
+ prom=res.data.data;
+ }
})
//如果活动已经结束
if(!prom || prom.is_end || prom.end_time{
- if(res.data.code==0) discount=res.data.data;
+ if(res.data.code==0) discount=res.data.data;
})
//---如果有打折的信息,赠送的信息,赠送的时候要判断是不是限购数量---
if(discount && discount['goods_id'] && discount.limit_num>=discount.bs && discount.gift_storecount>=discount.bs){
- var o=discount.goodsinfo;
- var newd = {
- goods_id: o.goods_id,
- goods_num: discount.bs,
- pick_id: list.pid,
- user_id: app.globalData.user_id,
- store_id: os.stoid,
- goods_price: 0,
- member_goods_price: 0,
- goods_name: o.goods_name,
- goods_sn: o.goods_sn,
- sku: o.sku,
- is_gift: 1,
- prom_id:p_item[0],
- prom_type:3,
- selected:1,
- gift_id:discount.gift_id,
- original_img:th.data.imgUrl+o.original_img
- };
-
-
- /*---
- if(map2.has(p_item[0]+"")){
- var index=map2.get(p_item[0]+"");
- if( list.goods[index].goods_num!=discount.bs){
- list.goods[index].goods_num=discount.bs;
- getApp().request.put("/api/weshop/cart/update", {
- data: {
- id: list.goods[index].id,
- selected: 1,
- store_id: oo.stoid,
- goods_num:discount.bs
- },
- success: function(ee) {
- console.log(ee);
- }
- });
- }
+ var o=discount.goodsinfo;
+ var newd = {
+ goods_id: o.goods_id,
+ goods_num: discount.bs,
+ pick_id: list.pid,
+ user_id: app.globalData.user_id,
+ store_id: os.stoid,
+ goods_price: 0,
+ member_goods_price: 0,
+ goods_name: o.goods_name,
+ goods_sn: o.goods_sn,
+ sku: o.sku,
+ is_gift: 1,
+ prom_id:p_item[0],
+ prom_type:3,
+ selected:1,
+ gift_id:discount.gift_id,
+ original_img:th.data.imgUrl+o.original_img
+ };
+
+
+ /*---
+ if(map2.has(p_item[0]+"")){
+ var index=map2.get(p_item[0]+"");
+ if( list.goods[index].goods_num!=discount.bs){
+ list.goods[index].goods_num=discount.bs;
+ getApp().request.put("/api/weshop/cart/update", {
+ data: {
+ id: list.goods[index].id,
+ selected: 1,
+ store_id: oo.stoid,
+ goods_num:discount.bs
+ },
+ success: function(ee) {
+ console.log(ee);
+ }
+ });
+ }
+
+ }else{---*/
+ var url="/api/weshop/cart/delGift?store_id="+newd.store_id+"&user_id="
+ +newd.user_id+"&goods_id="+newd.goods_id+"&is_gift=1&pick_id="+newd.pick_id;
+ await getApp().request.promiseDelete(url, {})
- }else{---*/
- var url="/api/weshop/cart/delGift?store_id="+newd.store_id+"&user_id="
- +newd.user_id+"&goods_id="+newd.goods_id+"&is_gift=1&pick_id="+newd.pick_id;
- await getApp().request.promiseDelete(url, {})
-
var add_data=null;
await getApp().request.promisePost("/api/weshop/cart/save", { data: newd }).then(res=>{
- if(res.data.code==0){
- add_data=res.data.data;
- }
+ if(res.data.code==0){
+ add_data=res.data.data;
+ }
})
if(add_data){
- newd.id=add_data.id;
- list.goods.push(newd);
+ newd.id=add_data.id;
+ list.goods.push(newd);
}
- //}
+ //}
}
-
+
}
//--更新购物车的前台渲染--
var rq_text="requestData["+cindex+"]";
this.setData({[rq_text]:list});
-
- if(!t_prom_list || t_prom_list.length==0 ) return false;
-
- //-- 提示凑单的,放在最后显示 --
- for(let prid in t_prom_list){
- var prom=t_prom_list[prid];
- //-- 获取凑单提示 --
- await getApp().request.promiseGet("/api/weshop/promgoodslist/list",{
- data:{prom_id:prom.id}
- }).then(res=>{
- if(res.data.code==0){
- var list=res.data.data;
- for(var i in list){
- var item=list[i];
- if(item.prom_type==0){
- if(ob.price{
+ if(res.data.code==0){
+ var list=res.data.data;
+ for(var i in list){
+ var item=list[i];
+ if(item.prom_type==0){
+ if(ob.price0){
- this.setData({[diff_text]:make_up_arr});
+ this.setData({[diff_text]:make_up_arr});
}else{
- this.setData({[diff_text]:null});
+ this.setData({[diff_text]:null});
}
- },
-
- //去凑单
- go_cou_dang:function (e) {
- var prom_id=e.currentTarget.dataset.prom_id;
- var url="/pages/goods/goodsList/goodsList?prom_type=3&prom_id="+prom_id;
- getApp().goto(url);
- },
-
- //导航跳转
- nav_goto:function(e){
- var url=e.currentTarget.dataset.url;
- if(!url || url=='') return;
- if(url[0]!='/') url='/'+url;
- getApp().goto(url);
},
-
- refresh_input:function(){
- this.data.btn_click=0;
- }
+
+ //去凑单
+ go_cou_dang:function (e) {
+ var prom_id=e.currentTarget.dataset.prom_id;
+ var url="/pages/goods/goodsList/goodsList?prom_type=3&prom_id="+prom_id;
+ getApp().goto(url);
+ },
+
+ //导航跳转
+ nav_goto:function(e){
+ var url=e.currentTarget.dataset.url;
+ if(!url || url=='') return;
+ if(url[0]!='/') url='/'+url;
+ getApp().goto(url);
+ },
+
+ refresh_input:function(){
+ this.data.btn_click=0;
+ }
});
\ No newline at end of file
diff --git a/pages/cart/cart/cart.wxml b/pages/cart/cart/cart.wxml
index 25882b7..31c7546 100644
--- a/pages/cart/cart/cart.wxml
+++ b/pages/cart/cart/cart.wxml
@@ -76,6 +76,9 @@
¥
{{items.goods_price}}
+
+ 券后 ¥{{items.offline_price}}
+
一
@@ -89,8 +92,8 @@
-
-
+
+
再买{{item.diff}}元
件
@@ -107,6 +110,12 @@
去凑单>
+
+
+
+ 当前{{item.offline_num}}件商品,可使用{{item.offline_price}}元店铺优惠
+
+
diff --git a/pages/cart/cart/cart.wxss b/pages/cart/cart/cart.wxss
index 29e91c9..fd842e6 100644
--- a/pages/cart/cart/cart.wxss
+++ b/pages/cart/cart/cart.wxss
@@ -73,7 +73,7 @@ radio {
}
.goods-cont {
- width: 385rpx;
+ width: 420rpx;
height: 165rpx;
font-size: 28rpx;
margin-left: 35rpx;
@@ -110,7 +110,7 @@ radio {
}
.count>view, .count>input {
- width: 50rpx;
+ width: 45rpx;
height: 40rpx;
line-height: 40rpx;
text-align: center;
@@ -118,6 +118,7 @@ radio {
font-size: 18rpx;
justify-content: center;
min-height: 35rpx;
+ align-items: center;
}
.count>.goodadd {
@@ -350,3 +351,5 @@ page {
overflow-x: hidden;
padding-bottom: 100rpx;
}
+.quan_color{ background-color: #ff5306; height: 40rpx;color: #fff; padding: 0 10rpx; border-radius: 10rpx; margin-left: 10rpx}
+.red_c{color:#ff5306}
diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js
index 6887a28..4bcc26f 100644
--- a/pages/cart/cart2/cart2.js
+++ b/pages/cart/cart2/cart2.js
@@ -114,6 +114,7 @@ Page({
card_cut_price:null,//减价多少钱
show_submit:0, //提交按钮变正常显示
+ is_get_offline:1,
},
onLoad: function(t) {
@@ -511,7 +512,27 @@ Page({
}
}
}
-
+
+ //-- 循环计算一下线下取价 --
+ for (var k = 0; k < arr.length; k++) {
+ var c_item=arr[k];
+ var item = arr[k].goods;
+ var offline_price=0;
+ var offline_num=0;
+ for (var c = 0; c < item.length; c++) {
+ //-- 如果这个商品是线下取价的时候 --
+ if(item[c].offline_price>0){
+ offline_price+= (item[c].goods_price-item[c].offline_price)*item[c].goods_num;
+ offline_num+=item[c].goods_num;
+ }
+ }
+ if(offline_price>0){
+ c_item.offline_price=offline_price;
+ c_item.offline_num=offline_num;
+ c_item.is_offline=1;
+ }
+ }
+
//深拷贝
th.data.old_cartlist= JSON.parse(JSON.stringify(arr));
th.setData({
@@ -587,6 +608,8 @@ Page({
th.setData({card_cut_price:cut_p});
}
}
+
+
switch (gd.prom_type){
case 0:
@@ -603,7 +626,18 @@ Page({
th.data.ckeck_quan_price=t.data.data.shop_price*gg.goods_num;
th.data.check_quan_price_list=t.data.data.shop_price*gg.goods_num+"";
th.data.check_quan_ware_list=t.data.data.erpwareid+"";
-
+
+ //-- 如果有线下取价的时候 --
+ if(gg.offline_price){
+ t.data.data.offline_price=gg.offline_price;
+ t.data.data.pricing_type=gg.pricing_type;
+ t.data.data.is_offline=1;
+
+ th.data.ckeck_quan_price=t.data.data.offline_price*gg.goods_num;
+ th.data.check_quan_price_list=t.data.data.offline_price*gg.goods_num+"";
+ th.data.check_quan_ware_list=t.data.data.erpwareid+"";
+ }
+
t.data.data.prom_id = 0;
t.data.data.prom_type = 0;
@@ -1029,7 +1063,12 @@ Page({
var f_o_price=o_price;
//如果又优惠的钱,就要减价
if(c_arr[i].cut_price>0) o_price-=c_arr[i].cut_price;
-
+
+ //-- 计算线下取价的功能 --
+ if(cart_item.is_offline==1){
+ o_price=o_price-cart_item.offline_price;
+ }
+
//判断包邮券的钱
var q_conditin=0;
q_conditin=o_price-quan_price;
@@ -1038,6 +1077,8 @@ Page({
//计算物流费用
cart_item.shipping_price = 0;
+
+
//--有不包邮区域,且不免运费,全场的计算,要减到优惠金额 和券的金额--
if(no_ex_id && freight_free>0 && (o_price-quan_price)>=freight_free && cart_item.exp_type == 0 && (by_qc.region_list || by_qc.goods_list) ){
//如果有设置不包邮区域的时候
@@ -1141,7 +1182,6 @@ Page({
continue;
}
-
//----------------如果是选择了物流---------------------
if(cart_item.exp_type == 0 && item[j].is_free_shipping==0){
//如果地址不为空
@@ -1355,9 +1395,13 @@ Page({
//-----------计算商品总价--------------
var allpice = good.shop_price * good.buynum;
var cut_price=0;
+ var allpice1=allpice;
+
+
if(good.prom_type==3 && good.prom_price!==null){
cut_price=allpice-good.prom_price;
}
+
allpice=parseFloat(allpice).toFixed(2);
var txt = "formData.all_price";
th.setData({ [txt]: allpice, });
@@ -1366,6 +1410,12 @@ Page({
th.setData({ [c_txt]: cut_price, });
}
+
+ //如果有线下取价的时候
+ if(good.is_offline){
+ allpice = good.offline_price * good.buynum;
+ }
+
to.getConfig2(function (ee) {
to.getwuliuprice(async function (rs) {
@@ -1500,7 +1550,7 @@ Page({
}
}
//-----------------支付价,优惠券不减物流-----------------
- var total_m = (parseFloat(allpice)).toFixed(2);
+ var total_m = (parseFloat(allpice1)).toFixed(2);
var order_m = (parseFloat(allpice-cut_price)-quan_price).toFixed(2);
var coupon_price=quan_price; //优惠券优惠了多少钱
if(order_m<0) {
@@ -1731,6 +1781,8 @@ Page({
item.coupon_no=th.data.using_quan[th.data.bn_pick].coupon_no;
item.coupon_price=0;
}
+
+
var goods={
'goods_id': gg.goods_id,
@@ -1778,7 +1830,16 @@ Page({
return false;
}
}
-
+
+ //-- 如果有线下取价的话 --
+ if(th.data.bn_goods.is_offline){
+ item.sum_offline_cut= (th.data.bn_goods.shop_price- th.data.bn_goods.offline_price).toFixed(2);
+ goods.offline_cut=item.sum_offline_cut;
+ goods.pricing_type=th.data.bn_goods.pricing_type;
+ goods.goods_price=th.data.bn_goods.offline_price;
+ goods.member_goods_price=th.data.bn_goods.offline_price;
+ }
+
//--- 如果有优惠促销的金额,要把金额先平摊下去 ---
if(th.data.formData.cut_price>0 && !th.data.ispt_goods){
var g_arr=new Array();
@@ -1801,7 +1862,6 @@ Page({
}
}
-
//--组装优惠券的钱--
if(th.data.formData.coupon_price){
item.coupon_price=th.data.formData.coupon_price;
@@ -1884,6 +1944,10 @@ Page({
};
//是不是重新提交
if(th.data.is_continue==1) item.is_continue=1;
+ //----- 如果有线下取价的话 ----
+ if(t_item.is_offline==1){
+ item.sum_offline_cut=t_item.offline_price.toFixed(2);
+ }
//组装优惠券的钱
if(t_item.coupon_price) {
@@ -1935,7 +1999,14 @@ Page({
'store_id': oo.stoid,
};
-
+ //-- 线下取价也要写入 --
+ if(g_item.offline_price && t_item.is_offline==1){
+ goods.goods_price=g_item.offline_price;
+ goods.member_goods_price=g_item.offline_price;
+ goods.offline_cut=(g_item.goods_price-g_item.offline_price).toFixed(2);
+ goods.pricing_type=g_item.pricing_type;
+ }
+
//--把券的钱,写入从表---
if(t_item.quan_youhui_list && t_item.coupon_price ){
for(var kk in t_item.quan_youhui_list ){
@@ -2942,8 +3013,10 @@ Page({
var quanlist=null,th=this,frozenQuan = null;
var good = this.data.bn_goods;
if(good.prom_price){
- th.data.ckeck_quan_price=good.prom_price;
- }
+ th.data.ckeck_quan_price=good.prom_price; //如果有优惠价,就用优惠价
+ }else if(good.is_offline){
+ th.data.ckeck_quan_price=good.offline_price; //如果有线下取价,就用线下价
+ }
//--如果商家后台没有限制使用优惠券,同时商品的优惠活动没有限制使用优惠券--
if(th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh!=1)
{
@@ -3212,7 +3285,68 @@ Page({
buycard:function(){
getApp().goto("/pages/user/plus/plus");
getApp().globalData.plus_buy_back=1;
- }
+ },
+
+ //跳转关闭弹出框的显示
+ close_offline:function(){
+ this.setData({is_offline_show:0});
+ },
+
+ //立即购买显示弹出框
+ bn_pop_offline:function(){
+ var off_price=this.data.bn_goods.shop_price-this.data.bn_goods.offline_price;
+ //是不是线下
+ var is_get_offline=this.data.bn_goods.is_offline;
+ this.setData({is_offline_show:1,show_off_price:off_price.toFixed(2),is_get_offline:is_get_offline});
+ },
+
+ //确定使用线下取价
+ sure_offline:function(){
+ var bn_goods=this.data.bn_goods;
+ if(bn_goods && bn_goods.prom_type==0){
+ bn_goods.is_offline=1;
+ this.setData({is_offline_show:0,bn_goods:bn_goods});
+ this.calculatePrice2();
+ }
+ //就是购物车结算时的
+ else{
+ var index=this.data.pop_offline_index;
+ var txt="cartlist["+index+"].is_offline";
+ this.setData({[txt]:1,is_offline_show:0,});
+ this.data.old_cartlist[index].is_offline=1;
+ this.calculatePrice();
+ }
+ },
+
+
+ //取消使用线下取价
+ cancle_offline:function(){
+ //判断是不是立即购买
+ var bn_goods=this.data.bn_goods;
+ if(bn_goods && bn_goods.prom_type==0){
+ bn_goods.is_offline=0;
+ this.setData({is_offline_show:0,bn_goods:bn_goods});
+ this.calculatePrice2();
+ }
+ //就是购物车结算时的
+ else{
+ var index=this.data.pop_offline_index;
+ var txt="cartlist["+index+"].is_offline";
+ this.setData({[txt]:0,is_offline_show:0,})
+ this.data.old_cartlist[index].is_offline=0;
+ this.calculatePrice();
+ }
+ },
+
+ //-- 弹出购物车选择是不是要店铺优惠 --
+ cart_pop_offline:function (e){
+ var index=e.currentTarget.dataset.index;
+ var item=this.data.cartlist[index];
+ var off_price=item.offline_price;
+ //是不是线下
+ var is_get_offline=item.is_offline;
+ this.setData({pop_offline_index:index,is_offline_show:1,show_off_price:off_price.toFixed(2),is_get_offline:is_get_offline});
+ }
diff --git a/pages/cart/cart2/cart2.wxml b/pages/cart/cart2/cart2.wxml
index eaa234c..a525d4c 100644
--- a/pages/cart/cart2/cart2.wxml
+++ b/pages/cart/cart2/cart2.wxml
@@ -170,6 +170,22 @@
+
+
+ 店铺优惠
+
+ 省{{filters.toFix(item.offline_price,2)}}元
+
+
+ -¥{{filters.toFix(item.offline_price,2)}}
+
+
+ 不使用优惠
+
+
+
+
+
@@ -322,7 +338,7 @@
-
+
留言
@@ -330,6 +346,23 @@
class="word-box" maxlength="100" name="user_note">
+
+
+
+ 店铺优惠
+
+ 省{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}}元
+
+
+ -¥{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}}
+
+
+ 不使用优惠
+
+
+
+
+
@@ -586,5 +619,16 @@
-
+
+
+
+ 店铺优惠
+
+ 优惠¥{{show_off_price}}
+
+ 不用优惠
+
+
+
+
diff --git a/pages/cart/cart2_pt/cart2_pt.js b/pages/cart/cart2_pt/cart2_pt.js
index 141e043..8225d24 100644
--- a/pages/cart/cart2_pt/cart2_pt.js
+++ b/pages/cart/cart2_pt/cart2_pt.js
@@ -287,7 +287,7 @@ Page({
th.setData({user_addr: ie });
if(!th.data.user_addr || th.data.user_addr.address_id!=ie.address_id){
th.setData({add_back:1});
- th.calculatePrice2();
+ if(this.data.bn_goods) th.calculatePrice2();
}
})
//--更新默认地址--,看一下是不是跳到地址页面
diff --git a/pages/goods/goodsInfo/buy_integral.wxml b/pages/goods/goodsInfo/buy_integral.wxml
index 0406e25..d962525 100644
--- a/pages/goods/goodsInfo/buy_integral.wxml
+++ b/pages/goods/goodsInfo/buy_integral.wxml
@@ -49,7 +49,8 @@
(库存不足)
- (库存不足)
+ (配送不匹配)
+ (库存不足)
@@ -77,7 +78,14 @@
-
+
+
+
+ 配送不匹配{{def_pick_store.is_no_dis}}
+
+
+
+
库存不足
@@ -107,8 +115,9 @@
-
-
+
+
+
diff --git a/pages/goods/goodsInfo/buy_integral_normal.wxml b/pages/goods/goodsInfo/buy_integral_normal.wxml
index e14a36f..82293cc 100644
--- a/pages/goods/goodsInfo/buy_integral_normal.wxml
+++ b/pages/goods/goodsInfo/buy_integral_normal.wxml
@@ -51,7 +51,8 @@
(库存不足)
- (库存不足)
+ (配送不匹配)
+ (库存不足)
地址:{{def_pick_store.fulladdress}}
@@ -79,6 +80,13 @@
+
+
+
+
+ 配送不匹配
+
+
库存不足
@@ -113,8 +121,9 @@
-
-
+
+
+
diff --git a/pages/goods/goodsInfo/buy_pt.wxml b/pages/goods/goodsInfo/buy_pt.wxml
index ad22054..4243364 100644
--- a/pages/goods/goodsInfo/buy_pt.wxml
+++ b/pages/goods/goodsInfo/buy_pt.wxml
@@ -49,6 +49,8 @@
{{def_pick_store.pickup_name}}
+
+
距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}
@@ -66,6 +68,7 @@
+ (配送不匹配)
地址:{{def_pick_store.fulladdress}}
@@ -139,6 +142,12 @@
+
+
+ 配送不匹配
+
+
+
库存不足
@@ -167,13 +176,20 @@
-
-
-
+
+
+
+
- 确定
+
+
+ 配送不匹配
+
+
+ 确定
+
diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js
index a7d4f37..5c4caa8 100644
--- a/pages/goods/goodsInfo/goodsInfo.js
+++ b/pages/goods/goodsInfo/goodsInfo.js
@@ -246,6 +246,7 @@ Page({
showPoster: false,
hui_condition:null,
sto_sele_name_1:'',//分享的门店名称
+
},
//------初始化加载----------
@@ -408,7 +409,7 @@ Page({
})
}
- });
+ },1);
//获取用户设备信息,屏幕宽度
wx.getSystemInfo({
@@ -420,20 +421,21 @@ Page({
});
//获取用户的默认门店
- getApp().get_user_store(function(ee) {
-
- if(!ee) {
+ getApp().get_user_store(function(e) {
+ if(!e) {
th.data.fir_def_store={}; //赋值空对象
return false;
}
-
+ var ee=JSON.parse(JSON.stringify(e));
//--定时器推迟一下--
setTimeout(function () {
if(th.data.data) var g_distr_type=th.data.data.distr_type;
- //--如果默认门店的配送方式不对,就不能被选择--
+ //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对--
if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){
- th.data.fir_def_store={}; //赋值空对象
- return false;
+ //th.data.fir_def_store={}; //赋值空对象
+ //return false;
+ //th.data.fir_def_store.is_no_dis=1;
+ ee.is_no_dis=1;
}
var appd=getApp().globalData;
@@ -462,6 +464,7 @@ Page({
if(res.data.code==0){
e=res.data.data.pageData[0];
if (e){
+ e.is_no_dis=ee.is_no_dis;
appd.pk_store=e;
that.data.fir_def_store=e;
that.setData({
@@ -643,8 +646,15 @@ Page({
//---展示---
onShow: function() {
-
var goods_list = null,th = this,that=this;
+
+ //优惠券要实时更新
+ getApp().getConfig2(function(e) {
+ var json_d = JSON.parse(e.switch_list);
+ th.setData({is_closecoupon: json_d.is_closecoupon})
+ },1)
+
+
var ui = setInterval(function () {
goods_list = th.selectComponent("#goods_list");
if (goods_list) {
@@ -654,7 +664,6 @@ Page({
}
}, 300)
-
this.data.is_timer = 1;
var ee = this,
gid = this.data.gid,
@@ -1092,6 +1101,7 @@ Page({
newd.prom_id = th.data.prom_id;
if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
if (o.store_count 0){
+ var datalist=res.data.data;
+ if(datalist[0].WarePrice1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}
-
+
+
+
(库存不足)
-
+
(库存不足)
- (库存不足)
-
+ (配送不匹配)
+ (库存不足)
+
地址:{{def_pick_store.fulladdress}}
@@ -999,7 +1002,7 @@
{{sele_g.goods_name}}
-
+
¥
@@ -1007,6 +1010,10 @@
{{sele_g.shop_price}}
¥{{prom_price}}
+
+
+ 券后¥{{sele_g.offline_price}}
+
@@ -1038,7 +1045,7 @@
-
+
@@ -1054,7 +1061,8 @@
(库存不足)
- (库存不足)
+ (配送不匹配)
+ (库存不足)
@@ -1096,54 +1104,63 @@
-
-
- 库存不足
-
+ 配送不匹配
-
-
-
- 库存不足
-
-
-
- 库存不足
-
-
-
- 请先选择门店
-
-
-
-
-
- 库存不足
-
-
- 加入购物车
- 立即购买
-
-
-
-
-
- 库存不足
+
+
+
+ 库存不足
+
+
+
+
+
+ 库存不足
+
+
+
+ 库存不足
+
+
+
+ 请先选择门店
+
+
+
+
+
+ 库存不足
+
+
+ 加入购物车
+
+ {{sele_g.offline_price?"券后购买":"立即购买"}}
+
+
+
- 加入购物车
- 立即购买
+
+ 库存不足
+
+
+ 加入购物车
+
+ {{sele_g.offline_price?"券后购买":"立即购买"}}
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -1426,17 +1443,20 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/goods/goodsInfo/goodsInfo.wxss b/pages/goods/goodsInfo/goodsInfo.wxss
index e124e2f..1fc7e45 100644
--- a/pages/goods/goodsInfo/goodsInfo.wxss
+++ b/pages/goods/goodsInfo/goodsInfo.wxss
@@ -2643,17 +2643,22 @@ button.custom-service::after{
.color_b{color: #ff9c00}
.poster-container {
- box-sizing: border-box;
- position: fixed;
- top: 0;
- width: 100%;
- height: 100%;
- z-index: 999;
- background-color: rgba(0,0,0,.4);
- padding: 0 60rpx;
- display: flex;
- /* flex-wrap: wrap; */
- align-items: center;
+ box-sizing: border-box;
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: calc(100% - 120rpx);
+ z-index: 1000;
+}
+.mask {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 999;
+ background-color: rgba(0,0,0,.4);
}
.poster-wrapper {
width: 100%;
@@ -2664,7 +2669,7 @@ button.custom-service::after{
width: 100%;
height: 1055rpx;
border-radius: 20rpx;
- box-shadow: 0 0 1px #000;
+ /* box-shadow: 0 8px 12px #666; */
position: relative;
z-index: 999;
overflow: hidden;
@@ -2687,24 +2692,40 @@ button.custom-service::after{
margin-top: 28rpx;
padding: 0 60rpx;
}
-.btn-close {
+/* .btn-close {
background-color: rgba(0,0,0,.5);
- color: #ccc;
- width: 50rpx;
- height: 50rpx;
- line-height: 50rpx;
+ color: white;
+ width: 40rpx;
+ height: 40rpx;
+ line-height: 40rpx;
text-align: center;
border-radius: 50%;
position: absolute;
right: 20rpx;
- top: 20rpx;
-}
+ top: 10rpx;
+} */
.goods-price .rel_txt{
position: relative; top: 32rpx; font-size: 30rpx;
}
-.goods-price .rel_img{width: 62rpx; height: 62rpx;position: relative; top: 12rpx;}
-
+.goods-price .rel_img{width: 62rpx; height: 62rpx;position: relative; top: 12rpx;}
+
+.btn-close {
+ /* background-color: rgba(0,0,0,.5); */
+ color: #ccc;
+ width: 50rpx;
+ height: 50rpx;
+ line-height: 50rpx;
+ text-align: center;
+ border-radius: 50%;
+ position: absolute;
+ right: 20rpx;
+ top: 20rpx;
+}
+
.icon-close {
- font-size: 48rpx;
-}
\ No newline at end of file
+ font-size: 48rpx;
+}
+.quan_price{
+ background-color: #ff4700; color: #fff; padding: 10rpx 25rpx; margin-left: 10rpx; border-radius: 30rpx;
+}
\ No newline at end of file
diff --git a/pages/index/index/index.js b/pages/index/index/index.js
index a84dd8e..6019783 100644
--- a/pages/index/index/index.js
+++ b/pages/index/index/index.js
@@ -16,8 +16,6 @@ var api = require('../../../api/api.js');
var d = getApp().globalData;
-
-
Page({
data: {
url: o.imghost,
@@ -75,11 +73,13 @@ Page({
new_nav: "", //新人页面跳转地址
w_holiday_pop:0,
- showHongbao: true,
- showHongbaoSmall: false,
+ showHongbao: false,
+ showHongbaoSmall: false,
+
},
onLoad: async function(tt) {
+
var th = this;
var first_leader=tt.first_leader;
if(!first_leader && tt.scene){
@@ -116,9 +116,7 @@ Page({
});
- // console.log(9090909);
-
-
+ // console.log(9090909);
//看一下商家是否开通了权益
//--初始化是否有打勾--
getApp().request.promiseGet("/api/weshop/users/grade/vip/init/get", {
@@ -145,6 +143,8 @@ Page({
//t.editTabBar(th,o.stoid,th.data.url);
await this.init_load();
+
+
//显示的时候要开启计时器
this.data.is_timer = 1;
//如果是自定义模板
@@ -206,7 +206,7 @@ Page({
}
})
-
+
},
//关闭新用户领取广告
close_disgraceful: function() {
@@ -217,6 +217,23 @@ Page({
},
async onShow() {
+ var th=this;
+ //-- 登录回来判断弹框 --
+ var userInfo=getApp().globalData.userInfo;
+ if(userInfo){
+ th.is_festival();
+ var new_nav = th.data.new_nav;
+ if (new_nav == "") {
+ th.is_new();
+ }
+ }
+
+ //优惠券要实时更新
+ getApp().getConfig2(function(e) {
+ var json_d = JSON.parse(e.switch_list);
+ th.setData({is_closecoupon: json_d.is_closecoupon})
+ },1)
+
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
var index=getApp().getPageIndex(this);
this.getTabBar().setData({
@@ -226,18 +243,19 @@ Page({
getApp().requestCardNum(this);
}
- var th = this
- var show=getApp().globalData.isLoad_ad;
- var userInfo=getApp().globalData.userInfo;
- //有加载过一次首页,就显示.或者有会员就显示
- if(show || userInfo || getApp().globalData.user_id){
- var full_screen = th.selectComponent("#full_screen"); //组件的id
- full_screen.get_the_full_screen();
- }else{
- getApp().globalData.isLoad_ad=1;
- }
-
+ var th = this;
+ var show=getApp().globalData.isLoad_ad;
+ var userInfo=getApp().globalData.userInfo;
+
+ //有加载过一次首页,就显示
+ if(show || userInfo || getApp().globalData.user_id){
+ var full_screen = th.selectComponent("#full_screen"); //组件的id
+ full_screen.get_the_full_screen();
+ }else{
+ getApp().globalData.isLoad_ad=1;
+ }
+
},
//当隐藏的时候就关闭计时器
onHide: function() {
@@ -254,10 +272,11 @@ Page({
//同步初始加载
async init_load() {
+ await getApp().getConfig_ays();
var th = this;
await getApp().get_isbuy();
this.setappdata(getApp().globalData.wxapp_buy_obj);
- await getApp().getConfig_ays();
+
//因为营销版本的功能包含了自定义模板的功能,是同时的
//读取全局是否有弄自定义模板
@@ -484,9 +503,9 @@ Page({
setTimeout(function () {
if (getApp().globalData.user_id) getApp().requestCardNum(th);
},500)
-
});
+
var goods_list = this.selectComponent("#goods_list"); //组件的id
goods_list.init();
setTimeout(function() {
@@ -497,11 +516,11 @@ Page({
//--判断小程序是否过期--
setappdata: function(t) {
if (t.isout == 1)
- wx.navigateTo({
- url: "/pages/error/error?msg=小程序已经过期",
+ wx.reLaunch({
+ url: "/pages/error/error?msg=该商城已到期,暂停浏览!\r\n可联系:"+getApp().globalData.config.store_tel,
});
if (t.isbuy == 0)
- wx.navigateTo({
+ wx.reLaunch({
url: "/pages/error/error?msg=还未购买小程序",
});
},
@@ -511,8 +530,6 @@ Page({
if (goods_list) goods_list.get_list();
},
-
-
onPullDownRefresh: function(e) {
this.data.recommend = null, this.data.currentPage = 1, n.resetConfig(), this.requestHomePage(),
this.requestRecommend();
@@ -693,9 +710,6 @@ Page({
}
}
var txt = "pindGoods[" + j + "][" + i + "].djs";
-
-
-
th.setData({
[txt]: obj
});
diff --git a/pages/index/index/index.json b/pages/index/index/index.json
index 878ab3a..6b17f42 100644
--- a/pages/index/index/index.json
+++ b/pages/index/index/index.json
@@ -18,7 +18,8 @@
"mvideo": "/components/diy_video/diy_video",
"service": "/components/diy_service/diy_service",
"scan": "/components/diy_scan/diy_scan",
- "full_screen": "/components/full_screen/full_screen"
+ "full_screen": "/components/full_screen/full_screen",
+ "store_select": "/components/diy_store_select/diy_store_select"
},
"enablePullDownRefresh": false
}
\ No newline at end of file
diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml
index 6d5db66..022f444 100644
--- a/pages/index/index/index.wxml
+++ b/pages/index/index/index.wxml
@@ -3,13 +3,14 @@
-
-
+
+
+
-
+
分
@@ -30,7 +31,7 @@
-
+
@@ -81,7 +82,7 @@
积分购
-
+
优惠券
@@ -294,6 +295,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -325,7 +348,7 @@
-
+
@@ -356,6 +379,10 @@
+
+
+
+
@@ -399,7 +426,7 @@
-
+
diff --git a/pages/index/index/index.wxss b/pages/index/index/index.wxss
index 3a0bfc4..031b9d1 100644
--- a/pages/index/index/index.wxss
+++ b/pages/index/index/index.wxss
@@ -2,6 +2,7 @@
background: #ff7295;
}
+
.search-box {
position: fixed;
top: 0;
@@ -964,4 +965,6 @@ page {
right: 0;
/* transform: translateY(-50%); */
z-index: 10000;
-}
\ No newline at end of file
+}
+
+.dis_top{position: fixed; top: 0; left: 0;}
\ No newline at end of file
diff --git a/pages/togoin/togoin.js b/pages/togoin/togoin.js
index ec03e0a..f7d0b05 100644
--- a/pages/togoin/togoin.js
+++ b/pages/togoin/togoin.js
@@ -10,7 +10,7 @@ Page({
store_logo:'',
first_leader:'', //-- 邀请人 --
},
- onLoad: function (options) {
+ onLoad: function (options) {
//--判断是否有接受到邀请人的ID--
if(options.first_leader){
this.setData({first_leader:options.first_leader});
diff --git a/pages/user/coupons/coupons.js b/pages/user/coupons/coupons.js
index e1e7a04..d2603dd 100644
--- a/pages/user/coupons/coupons.js
+++ b/pages/user/coupons/coupons.js
@@ -140,12 +140,7 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
- var th = this;
- getApp().getConfig2(function (ee) {
- var json_d = JSON.parse(ee.switch_list);
- th.setData({ is_show_dhwz: json_d.dhwz_switch });
- })
-
+
},
@@ -159,7 +154,13 @@ Page({
wx.navigateTo({ url: '/pages/togoin/togoin', })
return false;
}
- this.init(th.myyhj,th.s_guoqi);
+ this.init(th.myyhj,th.s_guoqi);
+ var th = this;
+ //-- 要实时 --
+ getApp().getConfig2(function (ee) {
+ var json_d = JSON.parse(ee.switch_list);
+ th.setData({ is_show_dhwz: json_d.dhwz_switch });
+ },1)
},
diff --git a/pages/user/deposit/deposit.js b/pages/user/deposit/deposit.js
index 2b5099b..8ac97a4 100644
--- a/pages/user/deposit/deposit.js
+++ b/pages/user/deposit/deposit.js
@@ -31,7 +31,7 @@ Page({
getApp().getConfig2(function (ee) {
var json_d = JSON.parse(ee.switch_list);
th.setData({ is_show_yckcz: json_d.yckcz_switch });
- })
+ },1)
},
/**
diff --git a/pages/user/index/index.js b/pages/user/index/index.js
index e9b1a5e..4890523 100644
--- a/pages/user/index/index.js
+++ b/pages/user/index/index.js
@@ -189,11 +189,7 @@ Page({
}
}
})
-
-
-
-
-
+
/*-----获取会员权益列表-----*/
rq.get("/api/weshop/users/grade/vipprivilegeinfo/page", {
data: {
@@ -372,6 +368,7 @@ Page({
}
},
setappdata: function(t) {
+ var t=getApp().globalData.wxapp_buy_obj;
if (t.isout == 1)
wx.navigateTo({
url: "/pages/error/error?msg=小程序已经过期",
diff --git a/pages/user/integral/integral.js b/pages/user/integral/integral.js
index 463ddf1..745379b 100644
--- a/pages/user/integral/integral.js
+++ b/pages/user/integral/integral.js
@@ -220,11 +220,7 @@ Page({
}
});
- var th=this;
- getApp().getConfig2(function(ee){
- var json_d = JSON.parse(ee.switch_list);
- th.setData({ is_show_jfcz: json_d.jfcz_switch });
- })
+
},
/**
@@ -322,6 +318,14 @@ Page({
wx.setNavigationBarTitle({
title: "我的积分",
})
+
+ //要实时获取开关是显示
+ var th=this;
+ getApp().getConfig2(function(ee){
+ var json_d = JSON.parse(ee.switch_list);
+ th.setData({ is_show_jfcz: json_d.jfcz_switch });
+ },1)
+
},
diff --git a/pages/user/member/bring/bring.js b/pages/user/member/bring/bring.js
index cb84b63..0b301bb 100644
--- a/pages/user/member/bring/bring.js
+++ b/pages/user/member/bring/bring.js
@@ -29,14 +29,10 @@ Page({
},
// 银行卡失去焦点事件
blurInputEvent: function(e) {
- console.log("银行卡失去焦点事件");
var inputvalue = e.detail.value.length;
- console.log("值的长度" + inputvalue);
if (inputvalue > 14) {
var value = e.detail.value;
- console.log("银行卡" + value);
var account_bank = value.replace(/\s+/g, "");
- console.log("银行卡去去去" + account_bank);
this.yhk(account_bank);
}
@@ -44,7 +40,6 @@ Page({
},
/** 获取提现输入框的值 bindinput='genre' */
money: function(e) {
-
this.setData({
money: Number(e.detail.value)
})
@@ -60,22 +55,18 @@ Page({
},
/*点击确定提现后表现的形式*/
Gettime: function(e) {
- this.data.user_infor;
var user_money = this.data.user_money;
var money = e.detail.value.moneys; //typeof判断数据类型
var current = this.data.current;
var money = Number(money);
- console.log(money, typeof money + "有吗" + user_money, typeof user_money + e.detail.value.moneys + "是什么" + Number(money));
- if (user_money money){
getApp().showWarning("提现需大于"+this.data.distribut_min+"元");
return false;
@@ -149,9 +140,7 @@ Page({
this.data.user_infor.account_bank = card;
this.data.user_infor.bank_name = cardname;
this.data.user_infor.bank_type = this.data.current;
- console.log(this.data.user_infor.account_name, cardname, card, userName, moneys, "控制器类型", this.data.current);
var user_infor = this.data.user_infor;
- console.log("保存的数nnnnnnnnnnnnnnn", this.data.user_infor);
this.Cashwithdrawal(user_infor)
} else {
var userName = e.detail.value.userName; //名字
@@ -195,27 +184,8 @@ Page({
}
},
-
- // //银行卡格式
- // bankinput: function(e) {
- // var that = this;
- // console.log("输入框", e);
- // var value = e.detail.value;
- // console.log("监听输入框" + value);
- // var inputvalue = e.detail.value.length;
-
- // //获取银行卡刷出银行名字
- // if (inputvalue < 15) {
-
-
- // that.setData({
- // bank_name: ""
- // });
- // }
- // },
// 提现
Cashwithdrawal: function(user_infor) {
- console.log(user_infor.type, "hiiihiiiiiiiiiiiiiii", user_infor);
delete user_infor.rmon;
delete user_infor.isck;
delete user_infor.needmon;
@@ -293,7 +263,7 @@ Page({
console.log("卡号", account_bank, "初始化", a.data.isck);
if (a.data.isck == 1) {
this.setData({
- weixin: a.data.isck ,
+
bank_name: a.data.bank_name,
account_bank: account_bank,
usernames: a.data.account_name,
@@ -304,6 +274,7 @@ Page({
});
} else {
this.setData({
+
bank_name: a.data.bank_name,
account_bank: account_bank,
usernames: a.data.account_name,
@@ -357,7 +328,7 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow: function() {
- console.log("onShow里面");
+ var th=this;
this.weixin();
this.setData({
button: 0
@@ -376,7 +347,18 @@ Page({
title: "流动资金提现",
});
-
+ //优惠券要实时更新
+ getApp().getConfig2(function(e) {
+ var json_d = JSON.parse(e.switch_list);
+ var is_closetxbank=json_d.is_closetxbank;
+ var is_tx_wx=json_d.is_tx_wx;
+ var data={
+ is_closetxbank:is_closetxbank,is_tx_wx:is_tx_wx
+ };
+ if(is_closetxbank) data.current=2;
+ th.setData(data);
+
+ },1)
},
//提取金额的输入框事件
defocus: function (event){
diff --git a/pages/user/member/bring/bring.wxml b/pages/user/member/bring/bring.wxml
index 635425e..870889f 100644
--- a/pages/user/member/bring/bring.wxml
+++ b/pages/user/member/bring/bring.wxml
@@ -1,56 +1,51 @@
-
+
diff --git a/pages/user/member/menber.js b/pages/user/member/menber.js
index 457d9c2..f02ec40 100644
--- a/pages/user/member/menber.js
+++ b/pages/user/member/menber.js
@@ -20,16 +20,25 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow: function () {
- //--先判断会员状态--
+ var th=this;
+ //--先判断会员状态--
var user_info = getApp().globalData.userInfo;
if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
wx.navigateTo({ url: '/pages/togoin/togoin', })
- return false;
+ return false;
}
- this.init_fir();
- wx.setNavigationBarTitle({
- title: "余额",
- })
+ this.init_fir();
+ wx.setNavigationBarTitle({
+ title: "余额",
+ })
+ //优惠券要实时更新
+ getApp().getConfig2(function(e) {
+ var json_d = JSON.parse(e.switch_list);
+
+ th.data.is_closetxbank=json_d.is_closetxbank;
+ th.data.is_tx_wx=json_d.is_tx_wx;
+ },1)
+
},
init_fir: function () {
this.myMoney(); //我的资产
@@ -78,6 +87,17 @@ Page({
},
// 流动资金提现
jumPage:function(){
+
+ //如果都关闭的情况下,不去提现
+ if(this.data.is_closetxbank && !this.data.is_tx_wx ){
+ wx.showToast({
+ title: "商家暂未开通提现功能,敬请期待!",
+ icon: 'none',
+ duration: 2000
+ })
+ return false;
+ }
+
wx.navigateTo({
url: 'bring/bring',
})
diff --git a/pages/user/order_detail/order_detail.js b/pages/user/order_detail/order_detail.js
index 929e090..55f40ac 100644
--- a/pages/user/order_detail/order_detail.js
+++ b/pages/user/order_detail/order_detail.js
@@ -301,7 +301,7 @@ Page({
var order=this.data.order;
var order_goods=order.order_goods;
-
+ var wlist="";
for(var i in order_goods){
var good=order_goods[i];
//如果不是小程序有的功能,直接提示要去3.0处理
@@ -322,6 +322,7 @@ Page({
})
var limit = gg.viplimited;
var store_count = gg.store_count;
+ good.erpwareid=gg.erpwareid;
//---要获得商品,该用户买了多少件,同步应用---
await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
@@ -347,8 +348,36 @@ Page({
return false;
}
+ //如果优惠促销和搭配购的时候
+ if((good.prom_type==3 || good.prom_type==5) && !good.is_collocation){
+ await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
+ }).then(res=>{
+ if(res.data.code==0){
+ var r_data=res.data.data;
+ if(!r_data.collocationPromList && good.prom_type==5){
+ wx.showModal({
+ title: '提示',
+ content: good.goods_name+'未找到活动'
+ });
+ }
+ if(!r_data.promGoodsLists && good.prom_type==3){
+ wx.showModal({
+ title: '提示',
+ content: good.goods_name+'未找到活动'
+ });
+ }
+ }else{
+ wx.showModal({
+ title: '提示',
+ content: good.goods_name+'未找到活动'
+ });
+ return false;
+ }
+ })
+ }
+
//商品的普通购买 ,不要进行判断
- if((good.prom_type==1 || good.prom_type==6 || good.prom_type==5 || good.prom_type==4) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){
+ if((good.prom_type==1 || good.prom_type==6 || good.prom_type==4) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){
if(gg.prom_type!=good.prom_type) {
wx.showModal({
title: '提示',
@@ -356,34 +385,8 @@ Page({
});
return false;
}
- if(good.prom_type==3 || good.prom_type==5){
- await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
- }).then(res=>{
- if(res.data.code==0){
- var r_data=res.data.data;
- if(!r_data.collocationPromList && good.prom_type==5){
- wx.showModal({
- title: '提示',
- content: good.goods_name+'未找到活动'
- });
- }
- if(!r_data.promGoodsLists && good.prom_type==3){
- wx.showModal({
- title: '提示',
- content: good.goods_name+'未找到活动'
- });
- }
- }else{
- wx.showModal({
- title: '提示',
- content: good.goods_name+'未找到活动'
- });
- return false;
- }
- })
- }
-
}else{
+
if((gg.prom_type==1 || gg.prom_type==6 || gg.prom_type==4) && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) {
var prom=null;
//---如果是活动的时候---
@@ -431,12 +434,14 @@ Page({
var card_field=th.data.card_field;
//如果会员是等级会员,商品有等级价,且不是活动商品
if(!good.is_gift && !good.is_collocation) {
- if (card_field && gg[card_field] > 0) {
- if (good.goods_price != gg[card_field]) isok = 0;
- } else {
- if (good.goods_price != gg.shop_price) isok = 0;
-
- }
+ if (card_field && gg[card_field] > 0) {
+ if (good.goods_price != gg[card_field] && good.offline_cut<=0) isok = 0;
+ if (good.goods_price >gg[card_field] && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
+
+ } else {
+ if (good.goods_price != gg.shop_price && good.offline_cut<=0) isok = 0;
+ if (good.goods_price> gg.shop_price && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
+ }
var is_h=0;
if (!isok) {
wx.showModal({
@@ -474,87 +479,122 @@ Page({
}
console.log("------------------------------------");
-
- var prom=null;
- //---如果是活动的时候---
- var prom=null,goodsinfo=good,th=this;
- if(goodsinfo.prom_type==1){
- await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{
- }).then(res=>{
- if(res.data.code==0){
- prom=res.data.data;
- }
- })
- }
- if(goodsinfo.prom_type==6 && !good.is_pd_normal){
- await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{
- }).then(res=>{
- if(res.data.code==0){
- prom=res.data.data;
- }
- })
- }
-
- if(goodsinfo.prom_type==4 && !good.is_integral_normal){
- await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1",{
- data:{store_id:os.stoid,goods_id:goodsinfo.goods_id}
- }).then(res=>{
- if(res.data.code==0 && res.data.data && res.data.data.pageData){
- prom=res.data.data.pageData[0];
- }
- })
- }
-
-
- //----------如果有活动,并且在进行中,就不计算线下库存---------------
- if(prom){
- var now=ut.gettimestamp();
- if(prom.is_end==1 && prom.end_time prom.buy_limit && prom.buy_limit > 0) {
- wx.showModal({
- title: '提示',
- content: goodsinfo.goods_name+'购买数量超出商品活动限购'
- });
- return false;
- }
-
- if(goodsinfo.prom_type==4){
- if (good.goods_num > prom.limitqty-prom.buy_num) {
- wx.showModal({
- title: '提示',
- content: goodsinfo.goods_name+'购买数量超出商品活动库存'
- });
- return false;
- }
- }else{
- var redis_num = 0;
- //------判断活动是否抢光-----
- await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
- os.stoid + "/" + goodsinfo.prom_type + "/" + goodsinfo.prom_id, {
- }).then(res => {
- redis_num = res.data.data;
- });
-
- if (good.goods_num > redis_num) {
- wx.showModal({
- title: gg.goods_name+'超出商品活动库存',
- });
- return false;
- }
- }
- }
+ //---如果是活动的时候---
+ var prom=null,goodsinfo=good,th=this;
+ if(goodsinfo.prom_type==1){
+ await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{
+ }).then(res=>{
+ if(res.data.code==0){
+ prom=res.data.data;
+ }
+ })
+ }
+ if(goodsinfo.prom_type==6 && !good.is_pd_normal){
+ await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{
+ }).then(res=>{
+ if(res.data.code==0){
+ prom=res.data.data;
+ }
+ })
+ }
+
+ if(goodsinfo.prom_type==4 && !good.is_integral_normal){
+ await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1",{
+ data:{store_id:os.stoid,goods_id:goodsinfo.goods_id}
+ }).then(res=>{
+ if(res.data.code==0 && res.data.data && res.data.data.pageData){
+ prom=res.data.data.pageData[0];
+ }
+ })
+ }
+
+ //----------如果有活动,并且在进行中,就不计算线下库存---------------
+ if(prom){
+ var now=ut.gettimestamp();
+ if(prom.is_end==1 && prom.end_time prom.buy_limit && prom.buy_limit > 0) {
+ wx.showModal({
+ title: '提示',
+ content: goodsinfo.goods_name+'购买数量超出商品活动限购'
+ });
+ return false;
+ }
+
+ if(goodsinfo.prom_type==4){
+ if (good.goods_num > prom.limitqty-prom.buy_num) {
+ wx.showModal({
+ title: '提示',
+ content: goodsinfo.goods_name+'购买数量超出商品活动库存'
+ });
+ return false;
+ }
+ }else{
+ var redis_num = 0;
+ //------判断活动是否抢光-----
+ await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
+ os.stoid + "/" + goodsinfo.prom_type + "/" + goodsinfo.prom_id, {
+ }).then(res => {
+ redis_num = res.data.data;
+ });
+
+ if (good.goods_num > redis_num) {
+ wx.showModal({
+ title: gg.goods_name+'超出商品活动库存',
+ });
+ return false;
+ }
+ }
+
+ }
}
-
+ //-- 要判断一下线下取价价格是不是发生改变 --
+ if(wlist!=""){
+ wlist=ut.sub_last(wlist);
+ var keyid=order.pickup_id;
+ var user_info=getApp().globalData.userInfo;
+ if(!keyid) return false;
+ var offarr=null;
+ await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", {
+ data:{
+ VIPId:encodeURIComponent(user_info.erpvipid),
+ store_id:os.stoid,
+ PickupId:keyid,
+ WareIds:wlist},
+ },
+ ).then(res=>{
+ if(res.data.code==0 && res.data.data && res.data.data.length>0){
+ offarr=res.data.data;
+ }
+ })
+ if(!offarr && offarr.length<=0 ){
+ wx.showModal({ title: '获取线下取价失败',});
+ }
+ var newarr=ut.convert_arr_key(offarr,'WareId');
+ //-- 循环判断线下的价格 --
+ for(var k in order_goods){
+ var good=order_goods[k];
+ //判断线下取价是不是一样
+ if(newarr[good.erpwareid] &&
+ parseFloat(newarr[good.erpwareid].WarePrice)!=parseFloat(good.goods_price)){
+ wx.showModal({
+ title: '提示',
+ content: good.goods_name + '商品的价格发生了变化'
+ });
+ }
+ }
+
+ }
+
o.jumpToCart4({
order_sn: this.data.order.order_sn,
order_amount: this.data.order.order_amount,
diff --git a/pages/user/order_list/order_list.js b/pages/user/order_list/order_list.js
index 9d115f0..b92a733 100644
--- a/pages/user/order_list/order_list.js
+++ b/pages/user/order_list/order_list.js
@@ -420,7 +420,8 @@ Page({
var th = this;
var order=e ;
var order_goods=e.order_goods;
-
+
+ var wlist="";
for(var i in order_goods){
var good=order_goods[i];
//如果不是小程序有的功能,直接提示要去3.0处理
@@ -430,8 +431,7 @@ Page({
content: '小程序还未有该活动,请到3.0公众号支付'
});
return false;
- }
-
+ }
//要每件每件的商品进行检查,看有么有超出库存,超出限购
var good= order_goods[i],goodsbuynum=0,promgoodsbuynum=0,gg=null;
//获取单品的现在的活动状态
@@ -441,6 +441,7 @@ Page({
})
var limit = gg.viplimited;
var store_count = gg.store_count;
+ good.erpwareid=gg.erpwareid;
//---要获得商品,该用户买了多少件,同步应用---
await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
@@ -466,8 +467,37 @@ Page({
return false;
}
+ //如果优惠促销和搭配购的时候
+ if(good.prom_type==3 || good.prom_type==5){
+ await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
+ }).then(res=>{
+ if(res.data.code==0){
+ var r_data=res.data.data;
+ if(!r_data.collocationPromList && good.prom_type==5){
+ wx.showModal({
+ title: '提示',
+ content: good.goods_name+'未找到活动'
+ });
+ }
+ if(!r_data.promGoodsLists && good.prom_type==3){
+ wx.showModal({
+ title: '提示',
+ content: good.goods_name+'未找到活动'
+ });
+ }
+ }else{
+ wx.showModal({
+ title: '提示',
+ content: good.goods_name+'未找到活动'
+ });
+ return false;
+ }
+ })
+ }
+
//商品的普通购买 ,不要进行判断
- if((good.prom_type==1 || good.prom_type==6 || good.prom_type==5 || good.prom_type==4) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){
+ if((good.prom_type==1 || good.prom_type==6 || good.prom_type==4 )
+ && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){
if(gg.prom_type!=good.prom_type) {
wx.showModal({
title: '提示',
@@ -475,35 +505,9 @@ Page({
});
return false;
}
- if(good.prom_type==3 || good.prom_type==5){
- await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
- }).then(res=>{
- if(res.data.code==0){
- var r_data=res.data.data;
- if(!r_data.collocationPromList && good.prom_type==5){
- wx.showModal({
- title: '提示',
- content: good.goods_name+'未找到活动'
- });
- }
- if(!r_data.promGoodsLists && good.prom_type==3){
- wx.showModal({
- title: '提示',
- content: good.goods_name+'未找到活动'
- });
- }
- }else{
- wx.showModal({
- title: '提示',
- content: good.goods_name+'未找到活动'
- });
- return false;
- }
- })
- }
-
+
}else{
- if((gg.prom_type==1 || gg.prom_type==6 || gg.prom_type==4) && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) {
+ if((gg.prom_type==1 || gg.prom_type==3 || gg.prom_type==5 || gg.prom_type==6 || gg.prom_type==4) && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) {
var prom=null;
//---如果是活动的时候---
var prom=null,th=this;
@@ -545,16 +549,34 @@ Page({
}
}
}
+ else{
+ await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
+ if(res.data.code==0){
+ var r_data=res.data.data;
+ //-- 参加了全局的优惠活动 --
+ if(r_data.promGoodsLists){
+ wx.showModal({
+ title: '提示',
+ content: gg.goods_name+'商品的活动发生了变化'
+ });
+ }
+ }
+ })
+ //-- 如果有参加线下取价 --
+ if(good.offline_cut>0) wlist+=encodeURIComponent(gg.erpwareid)+",";
+ }
//赠品和搭配购不判断商品金额
var isok=1;
var card_field=th.data.card_field;
- //如果会员是等级会员,商品有等级价,且不是活动商品
+ //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 --
if(!good.is_gift && !good.is_collocation) {
if (card_field && gg[card_field] > 0) {
- if (good.goods_price != gg[card_field]) isok = 0;
+ if (good.goods_price != gg[card_field] && good.offline_cut<=0) isok = 0;
+ if (good.goods_price >gg[card_field] && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
+
} else {
- if (good.goods_price != gg.shop_price) isok = 0;
-
+ if (good.goods_price != gg.shop_price && good.offline_cut<=0) isok = 0;
+ if (good.goods_price> gg.shop_price && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
}
var is_h=0;
if (!isok) {
@@ -592,9 +614,7 @@ Page({
}
}
- console.log("------------------------------------");
-
- var prom=null;
+ console.log("------------------------------------");
//---如果是活动的时候---
var prom=null,goodsinfo=good,th=this;
if(goodsinfo.prom_type==1){
@@ -623,8 +643,7 @@ Page({
}
})
}
-
-
+
//----------如果有活动,并且在进行中,就不计算线下库存---------------
if(prom){
var now=ut.gettimestamp();
@@ -669,12 +688,49 @@ Page({
return false;
}
}
-
-
+
}
-
-
+
+ }
+
+ //-- 要判断一下线下取价价格是不是发生改变 --
+ if(wlist!=""){
+ wlist=ut.sub_last(wlist);
+ var keyid=order.pickup_id;
+ var user_info=getApp().globalData.userInfo;
+ if(!keyid) return false;
+ var offarr=null;
+ await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", {
+ data:{
+ VIPId:encodeURIComponent(user_info.erpvipid),
+ store_id:os.stoid,
+ PickupId:keyid,
+ WareIds:wlist},
+ },
+ ).then(res=>{
+ if(res.data.code==0 && res.data.data && res.data.data.length>0){
+ offarr=res.data.data;
+ }
+ })
+ if(!offarr && offarr.length<=0){
+ wx.showModal({ title: '获取线下取价失败',});
+ }
+ var newarr=ut.convert_arr_key(offarr,'WareId');
+ //-- 循环判断线下的价格 --
+ for(var k in order_goods){
+ var good=order_goods[k];
+ //判断线下取价是不是一样
+ if(newarr[good.erpwareid] &&
+ parseFloat(newarr[good.erpwareid].WarePrice)!=parseFloat(good.goods_price)){
+ wx.showModal({
+ title: '提示',
+ content: good.goods_name + '商品的价格发生了变化'
+ });
+ }
+ }
+
}
+
th.pay_next(e);
},
@@ -959,8 +1015,7 @@ Page({
}
//判断是不是线下库存的购买, 是不是秒杀活动
- if(th.data.sales_rules==2 && !prom){
-
+ if(th.data.sales_rules==2 && !prom){
//-- 看一下购物车上有多少商品 --
var cart_num=0;
await getApp().request.promiseGet("/api/weshop/cart/page", {
@@ -1367,10 +1422,7 @@ Page({
endDate: '选择结束时间',
});--*/
} else if(currentIndex == 1) {
- console.log('线下订单');
-
-
-
+ console.log('线下订单');
this.request_list({
store_id: os.stoid,
user_id: oo.user_id,
diff --git a/utils/util.js b/utils/util.js
index 257c031..db116ab 100644
--- a/utils/util.js
+++ b/utils/util.js
@@ -459,11 +459,14 @@ function sha1(s) {
return hex;
};
-
-
-
-
-
+//将JS数组对象按其某个键值重组成Map对象
+function convert_arr_key(list,key){
+ let keyObs = {}
+ list.forEach(item => {
+ keyObs[item.key] = item
+ })
+ return keyObs;
+}
module.exports = {
formatTime: function(e, r) {
var t = e ? new Date(1e3 * e) : new Date(), n = t.getFullYear(), o = t.getMonth() + 1, a = t.getDate(), u = t.getHours(), i = t.getMinutes(), f = t.getSeconds(), s = function(e) {
@@ -570,5 +573,6 @@ module.exports = {
isContained:isContained, //是否包含
base64_encode:base64_encode, //64位加密
ob_to_parm:ob_to_parm ,//对象变成参数
- sha1:sha1, //sha1进行签名
+ sha1:sha1, //sha1进行签名
+ convert_arr_key:convert_arr_key //将JS数组对象按其某个键值重组成Map对象
};