Commit b39715b5fa5d2092875ed7677bc361c43b6dfbbe
1 parent
0eb0c93d
小程序修改
Showing
21 changed files
with
1706 additions
and
1125 deletions
packageA/pages/my_service2/appment_main.js
... | ... | @@ -3,6 +3,8 @@ var e = getApp(), |
3 | 3 | os = a, |
4 | 4 | t = e.request, |
5 | 5 | d = e.globalData; |
6 | + var ut = require("../../../utils/util.js"); | |
7 | + | |
6 | 8 | Page({ |
7 | 9 | /** |
8 | 10 | * 页面的初始数据 |
... | ... | @@ -11,21 +13,17 @@ Page({ |
11 | 13 | inurl: a.url, //接口网址 |
12 | 14 | iurl: a.imghost, //服务器网址 |
13 | 15 | store: 0, //是否显示服务门店列表 |
14 | - beautician: 0, //是否显示美容师列表 | |
15 | - beautician_name: "", //选中的美容师名称 | |
16 | - beauticianID: "", //美容师id | |
17 | - bea_index: "", //美容师列表下标 | |
16 | + | |
18 | 17 | placeholder: "填写备注", //备注为空的placeholder |
19 | 18 | store_list: [], //门店列表 |
20 | - beautician_list: [], //美容师列表 | |
21 | - store_name: "", //选择的服务门店 | |
19 | + | |
20 | + store_name: "", //选择的服务门店 | |
22 | 21 | fir_pick_index: 0, //选择的门店下标 |
23 | 22 | curpage: 1, //当前分页数 |
24 | 23 | pageSize: 8, //页大小 |
25 | 24 | total: 0, |
26 | 25 | ismore: 0, //是否加载完毕 |
27 | - itemId: "", //服务id | |
28 | - project_id: "", //项目id | |
26 | + | |
29 | 27 | isScroll: true, //scroll-y是否可以滑动 |
30 | 28 | key_word: "", //是否按门店文字查询 |
31 | 29 | is_service_read: 0, //是否调用过门店接口 |
... | ... | @@ -34,8 +32,7 @@ Page({ |
34 | 32 | remarks: "", //备注 |
35 | 33 | storageId: "", //线下门店id |
36 | 34 | url: "/packageA/pages/my_service/appment_main", //本页面地址路径用于选择时间页面跳转回来 |
37 | - buyType: "", //项目类型 | |
38 | - time: "", //选择预约时间 | |
35 | + | |
39 | 36 | tment_count: "", //可预约人数 |
40 | 37 | lat: "", //纬度坐标 |
41 | 38 | lon: "", //经度坐标 |
... | ... | @@ -44,19 +41,19 @@ Page({ |
44 | 41 | is_sub: 0, //判断是否重复提交 |
45 | 42 | is_textea: 1, //备注是否是可输入 |
46 | 43 | |
47 | - // 拖拽参数 | |
48 | - writePosition: [], //默认定位参数 | |
49 | - writesize: [0, 0],// X Y 定位 | |
50 | - window: [0, 0], //屏幕尺寸 | |
51 | - write: [0, 0], //定位参数 | |
52 | - scrolltop: 0,//据顶部距离 | |
53 | - v:{}, | |
54 | - | |
55 | - project: ['项目1', '项目2', '项目3', '项目4', '项目5', '项目6', '项目7'], | |
56 | - md: [{name:'美导1',time:'08:30-22:00'},{name:'美导2',time:'09:30-18:00'},], | |
57 | - timeList: [], | |
58 | - deltaX: 0, | |
59 | - col_arr:[], | |
44 | + write: [0, 0], //定位参数 | |
45 | + scrolltop: 0,//据顶部距离 | |
46 | + v:{}, | |
47 | + | |
48 | + //project: ['项目1', '项目2', '项目3', '项目4', '项目5', '项目6', '项目7'], | |
49 | + //md: [{name:'美导1',time:'08:30-22:00'},{name:'美导2',time:'09:30-18:00'},], | |
50 | + timeList: [], | |
51 | + deltaX: 0, | |
52 | + col_arr:[], | |
53 | + wp:[], | |
54 | + datet:null, | |
55 | + s_top:0, | |
56 | + | |
60 | 57 | }, |
61 | 58 | //控制备注输入 |
62 | 59 | check_text: function() { |
... | ... | @@ -67,6 +64,7 @@ Page({ |
67 | 64 | beautician: 0 |
68 | 65 | }) |
69 | 66 | }, |
67 | + | |
70 | 68 | onclickstore: function() { |
71 | 69 | var th = this; |
72 | 70 | var store = th.data.store; |
... | ... | @@ -85,6 +83,8 @@ Page({ |
85 | 83 | wx.showLoading({ |
86 | 84 | title: '加载中', |
87 | 85 | }) |
86 | + | |
87 | + //获取门店 | |
88 | 88 | th.query_store(); |
89 | 89 | } |
90 | 90 | } |
... | ... | @@ -96,104 +96,81 @@ Page({ |
96 | 96 | remarks: remarks |
97 | 97 | }) |
98 | 98 | }, |
99 | - //提交成功及发送模版代码 | |
99 | + | |
100 | + | |
101 | + //单个预约的提交成功及发送模版代码 | |
100 | 102 | success: function() { |
103 | + wx.showLoading({ title: '加载中', }); | |
101 | 104 | var th = this; |
102 | 105 | var store = th.data.store_name; //门店名称 |
103 | - var bea_name = th.data.beautician_name; //美容师名称 | |
104 | - var time = th.data.time; //预约时间 | |
105 | - var is_sub = th.data.is_sub; //是否重复提交 | |
106 | - var url = th.data.inurl + "/api/weshop/marketing/reservation/reservation/insert"; //接口路径 | |
107 | - var serviceId = th.data.itemId; //服务id | |
108 | - var beauticianID = th.data.beauticianID; //美容师id | |
109 | - var buyType = th.data.buyType; //服务项目类型 | |
110 | - var storeId = a.stoid; //商家id | |
111 | - var storageId = th.data.storageId; //门店id | |
112 | - var userId = th.data.options.userid; //用户id | |
113 | - var remarks = th.data.remarks; //用户备注 | |
114 | - var project_id = th.data.project_id; //项目id | |
115 | - var validay = th.data.validay; | |
116 | - var json = { | |
117 | - "arrangeTime": time + ":00", | |
118 | - "beauticianId": beauticianID, | |
119 | - "buyType": buyType, | |
120 | - "effectiveDay": "", | |
121 | - "number": "", | |
122 | - "projectId": project_id, | |
123 | - "remark": remarks, | |
124 | - "serviceId": serviceId, | |
125 | - "states": 0, | |
126 | - "storageId": storageId, | |
127 | - "storeId": storeId, | |
128 | - "userId": userId, | |
129 | - "validay": validay, | |
130 | - "isxz": 1 | |
131 | - | |
132 | - } | |
133 | - var data = JSON.stringify(json); | |
106 | + var datet = th.data.datet; //预约时间 | |
107 | + //接口路径 | |
108 | + var url = th.data.inurl + "/api/weshop/marketing/reservation/reservation/batchinsert"; | |
109 | + var req_arr={ | |
110 | + "storageId": th.data.storageId, | |
111 | + "storeId": a.stoid, | |
112 | + "userId": getApp().globalData.userInfo.user_id, | |
113 | + "remark": '', | |
114 | + "isxz": 1, | |
115 | + "states": 0, | |
116 | + "list":[] | |
117 | + }; | |
118 | + for(var i in this.data.v){ | |
119 | + for(var j in this.data.v[i]){ | |
120 | + var item=this.data.v[i][j]; | |
121 | + var md=this.data.md[i]; | |
122 | + var tn=this.data.timeArr[j]; | |
123 | + var json = { | |
124 | + "arrangeTime":datet+' '+ tn + ":00", | |
125 | + "beauticianId":encodeURIComponent(md.staffid) , | |
126 | + "buyType": item.BuyType, | |
127 | + //"effectiveDay": "", | |
128 | + //"number": "", | |
129 | + "projectId": item.ProjectID, | |
130 | + "serviceId": item.ServiceID, | |
131 | + "validay": item.Validay, | |
132 | + } | |
133 | + req_arr.list.push(json); | |
134 | + } | |
135 | + } | |
136 | + console.log(req_arr); | |
137 | + //return false; | |
138 | + var js_data = JSON.stringify(req_arr); | |
134 | 139 | wx.request({ |
135 | 140 | url: url, |
136 | - data: json, | |
141 | + data: js_data, | |
137 | 142 | method: 'post', |
138 | 143 | header: { |
139 | 144 | 'content-type': 'application/json' |
140 | 145 | }, // 设置请求的 header |
141 | 146 | success: function(res) { |
142 | - th.setData({ | |
143 | - is_sub: 0 | |
144 | - }) | |
147 | + th.setData({ is_sub: 0}) | |
145 | 148 | wx.hideLoading(); |
146 | 149 | if (res.data.code == 0) { |
147 | - getApp().my_warnning("预约成功", 1, th); | |
148 | - // var store_name = th.data.store_name; //预约门店 | |
149 | - var number = res.data.data.Number; | |
150 | - // var temp_url = "/api/wx/open/app/user/sendSubscribeMsg"; //模版接口 | |
151 | - //var userinfo = getApp().globalData.userInfo; | |
152 | - //var name = d.userInfo.nickname; | |
153 | - // var json = { | |
154 | - // // "formId": formid, | |
155 | - // "keyWord": [{ | |
156 | - // "keyword": res.data.data.ServiceName | |
157 | - // }, | |
158 | - // { | |
159 | - // "keyword": time.substring(0, 16) | |
160 | - // }, { | |
161 | - // "keyword": res.data.data.BeauticianName | |
162 | - // }, { | |
163 | - // "keyword": res.data.data.StorageName | |
164 | - // }, { | |
165 | - // "keyword": res.data.data.Address | |
166 | - // } | |
167 | - // ], | |
168 | - // "page": "/packageA/pages/my_service/tment_details?number=" + number+"&userid="+th.data.options.userid, | |
169 | - // "storeId": a.stoid, | |
170 | - // "typeId": "1011", | |
171 | - // "userId": th.data.options.userid | |
172 | - // }; | |
173 | - // var data = JSON.stringify(json); | |
174 | - // //调用发送预约成功模版接口 | |
175 | - // wx.request({ | |
176 | - // url: th.data.inurl + temp_url, | |
177 | - // data: data, | |
178 | - // method: 'post', | |
179 | - // header: { | |
180 | - // 'content-type': 'application/json' | |
181 | - // }, // 设置请求的 header | |
182 | - // success: function(data) {} | |
183 | - // }) | |
184 | - | |
185 | - wx.redirectTo({ | |
186 | - url: "/packageA/pages/my_service/tment_details?number=" + number+"&userid="+th.data.options.userid, | |
187 | - }); | |
188 | - | |
150 | + getApp().my_warnning("预约成功", 1, th); | |
151 | + | |
152 | + if(res.data.data.length>1){ | |
153 | + var number = res.data.data[0].Number; | |
154 | + wx.redirectTo({ | |
155 | + url: "/packageA/pages/my_service/tment_order_list?number=" + number+"&userid="+th.data.options.userid, | |
156 | + }); | |
157 | + | |
158 | + }else{ | |
159 | + var number = res.data.data[0].Number; | |
160 | + wx.redirectTo({ | |
161 | + url: "/packageA/pages/my_service/tment_details?number=" + number+"&userid="+th.data.options.userid, | |
162 | + }); | |
163 | + } | |
164 | + | |
189 | 165 | } else { |
190 | 166 | getApp().my_warnning(res.data.msg, 0, th); |
191 | 167 | th.settime(); |
192 | 168 | } |
193 | 169 | } |
194 | 170 | }) |
195 | - | |
196 | 171 | }, |
172 | + | |
173 | + | |
197 | 174 | //定时显示texteat |
198 | 175 | settime: function() { |
199 | 176 | var th = this; |
... | ... | @@ -203,141 +180,59 @@ Page({ |
203 | 180 | }) |
204 | 181 | }, 2000); |
205 | 182 | }, |
206 | - //提交预约 | |
183 | + | |
184 | + | |
185 | + //-- 提交预约 -- | |
207 | 186 | sub_success: function(e) { |
208 | 187 | var th = this; |
209 | - var temp_url = th.data.inurl + "/api/wx/weappSendlist/page"; | |
188 | + //和推送消息有关系 | |
189 | + var temp_url = th.data.inurl + "/api/wx/weappSendlist/page"; | |
210 | 190 | var template_id = ""; |
211 | - if (th.data.is_sub == 1) { | |
212 | - return false; | |
213 | - } | |
214 | - var store = th.data.store_name; //门店名称 | |
215 | - var bea_name = th.data.beautician_name; //美容师名称 | |
216 | - var time = th.data.time; //预约时间 | |
217 | - var is_sub = th.data.is_sub; //是否重复提交 | |
218 | - th.setData({ | |
219 | - is_textea: 0, | |
220 | - is_sub: 1 | |
221 | - }) | |
191 | + | |
192 | + //门店名称 | |
193 | + var store = th.data.store_name; | |
222 | 194 | //提交预约前的判断 |
223 | 195 | if (store == "") { |
224 | - getApp().my_warnning("请选择服务门店", 0, th); | |
225 | - th.setData({ | |
226 | - is_sub: 0 | |
227 | - }) | |
228 | - th.settime(); | |
229 | - return false; | |
230 | - } else if (bea_name == "") { | |
231 | - getApp().my_warnning("请选择美容师", 0, th); | |
232 | - th.setData({ | |
233 | - is_sub: 0 | |
234 | - }) | |
235 | - th.settime(); | |
236 | - return false; | |
237 | - } else if (time == undefined || time == '') { | |
238 | - getApp().my_warnning("请选择预约时间", 0, th); | |
239 | - th.setData({ | |
240 | - is_sub: 0 | |
241 | - }) | |
242 | - th.settime(); | |
243 | - return false; | |
244 | - } else { | |
245 | - var version =""; | |
246 | - //判断微信版本是否达到预约成功订阅的要求 | |
247 | - wx.getSystemInfo({ | |
248 | - success(res) { | |
249 | - version = res.version; | |
250 | - } | |
251 | - }) | |
252 | - wx.showLoading({ | |
253 | - title: '加载中', | |
254 | - }) | |
255 | - | |
256 | - th.success(); | |
257 | - // if (th.ver(version, '7.0.4') >= 0) { | |
258 | - // //获取模版id | |
259 | - // getApp().request.promiseGet(temp_url, { | |
260 | - // data: { | |
261 | - // store_id: a.stoid, | |
262 | - // typeid: "1011" | |
263 | - // } | |
264 | - // }).then(res => { | |
265 | - // if (res.data.code == 0 && res.data.data.pageData.length > 0) { | |
266 | - // template_id = res.data.data.pageData[0].template_id; | |
267 | - // // //授权订阅 | |
268 | - // wx.requestSubscribeMessage({ | |
269 | - // tmplIds: [template_id], | |
270 | - // success(res) { | |
271 | - // th.success(); | |
272 | - // }, | |
273 | - // fail(res) { | |
274 | - // th.success(); | |
275 | - // } | |
276 | - // }) | |
277 | - // } else { | |
278 | - // th.success(); | |
279 | - // } | |
280 | - // }) | |
281 | - // } else { | |
282 | - // // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示 | |
283 | - // wx.showModal({ | |
284 | - // title: '提示', | |
285 | - // content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。' | |
286 | - // }) | |
287 | - // th.setData({ | |
288 | - // is_sub: 0 | |
289 | - // }) | |
290 | - // } | |
291 | - | |
292 | - } | |
293 | - }, | |
294 | - //版本判断 | |
295 | - ver:function(v1,v2){ | |
296 | - v1 = v1.split('.') | |
297 | - v2 = v2.split('.') | |
298 | - var num1 = "" ; | |
299 | - var num2 = ""; | |
300 | - var len = Math.max(v1.length, v2.length) | |
301 | - | |
302 | - while (v1.length < len) { | |
303 | - v1.push('0') | |
304 | - } | |
305 | - while (v2.length < len) { | |
306 | - v2.push('0') | |
307 | - } | |
308 | - | |
309 | - for (let i = 0; i < len; i++) { | |
310 | - num1 = parseInt(v1[i]) | |
311 | - num2 = parseInt(v2[i]) | |
312 | - | |
313 | - if (num1 > num2) { | |
314 | - return 1 | |
315 | - } else if (num1 < num2) { | |
316 | - return -1 | |
317 | - } | |
318 | - } | |
319 | - return 0 | |
320 | - }, | |
321 | - goto: function(e) { | |
322 | - var th = this; | |
323 | - th.setData({ | |
324 | - beautician: 0, | |
325 | - is_textea: 0 | |
326 | - }) | |
327 | - if (th.data.store_name == "") { | |
328 | - getApp().my_warnning("请选择服务门店", 0, th); | |
329 | - th.settime(); | |
330 | - } else if (th.data.beautician_name == "") { | |
331 | - getApp().my_warnning("请选择美容师", 0, th); | |
332 | - th.settime(); | |
333 | - } else { | |
334 | - th.setData({ | |
335 | - is_textea: 1 | |
336 | - }) | |
337 | - var url = e.currentTarget.dataset.url; | |
338 | - getApp().goto(url); | |
339 | - } | |
196 | + getApp().my_warnning("请选择服务门店", 0, th); | |
197 | + return false; | |
198 | + } | |
199 | + | |
200 | + if(Object.keys(th.data.v).length === 0){ | |
201 | + getApp().my_warnning("请选择美导和预约时间", 0, th); | |
202 | + return false; | |
203 | + } | |
204 | + | |
205 | + if(th.data.is_sub) return false; | |
206 | + th.setData({ is_sub: 1}); | |
207 | + | |
208 | + | |
209 | + //获取模版id | |
210 | + getApp().request.get(temp_url, { | |
211 | + data: { | |
212 | + store_id: a.stoid, | |
213 | + typeid: "1011" | |
214 | + }, | |
215 | + success:function(res){ | |
216 | + if (res.data.code == 0 && res.data.data.pageData.length > 0) { | |
217 | + template_id = res.data.data.pageData[0].template_id; | |
218 | + // //授权订阅 | |
219 | + wx.requestSubscribeMessage({ | |
220 | + tmplIds: [template_id], | |
221 | + success(res) { | |
222 | + th.success(); | |
223 | + }, | |
224 | + fail(res) { | |
225 | + th.success(); | |
226 | + } | |
227 | + }) | |
228 | + } else { | |
229 | + th.success(); | |
230 | + } | |
231 | + } | |
232 | + }) | |
233 | + | |
340 | 234 | }, |
235 | + | |
341 | 236 | //点击选择门店 |
342 | 237 | choose_for_store: function(e) { |
343 | 238 | var th = this; |
... | ... | @@ -355,6 +250,7 @@ Page({ |
355 | 250 | }) |
356 | 251 | } |
357 | 252 | }, |
253 | + | |
358 | 254 | //确认选择门店 |
359 | 255 | choice_store: function() { |
360 | 256 | var th = this; |
... | ... | @@ -367,8 +263,49 @@ Page({ |
367 | 263 | storageId: Id, |
368 | 264 | is_textea: 1 |
369 | 265 | }) |
266 | + | |
267 | + th.get_project_guide(); | |
268 | + | |
269 | + }, | |
270 | + | |
271 | + //获取美导和项目 | |
272 | + get_project_guide(){ | |
273 | + var th=this,user=getApp().globalData.userInfo; | |
274 | + var req={ | |
275 | + storeId:os.stoid, | |
276 | + userId:user.user_id, | |
277 | + StorageId:encodeURIComponent(this.data.storageId), | |
278 | + } | |
279 | + getApp().request.get("/api/weshop/marketing/reservation/sm/pageNew",{ | |
280 | + data:req, | |
281 | + success:function(res){ | |
282 | + if(ut.ajax_ok(res)){ | |
283 | + th.setData({project:res.data.data.pageData}) | |
284 | + } | |
285 | + } | |
286 | + }) | |
287 | + | |
288 | + req.SeekTime=this.data.datet; | |
289 | + getApp().request.get("/api/weshop/marketing/reservation/listStaffAndTime",{ | |
290 | + data:req, | |
291 | + success:function(res){ | |
292 | + if(ut.ajax_ok2(res)){ | |
293 | + th.setData({v:{},col_arr:[]}) | |
294 | + //-- 有些时间是全部没有的 -- | |
295 | + th.setTimeShow(res.data.data) | |
296 | + } | |
297 | + } | |
298 | + }) | |
299 | + | |
300 | + //获取第一个元素的位置 | |
301 | + setTimeout(function(){ | |
302 | + th.queryMultipleNodes(); | |
303 | + },1000) | |
304 | + | |
370 | 305 | }, |
371 | - onReachBottom: function() { | |
306 | + | |
307 | + | |
308 | + onGetBottom: function() { | |
372 | 309 | var th = this; |
373 | 310 | if (this.data.total <= th.data.pageSize) return; |
374 | 311 | if (this.data.ismore) return; |
... | ... | @@ -378,6 +315,7 @@ Page({ |
378 | 315 | }) |
379 | 316 | th.query_store(); |
380 | 317 | }, |
318 | + | |
381 | 319 | //分页查询门店信息 |
382 | 320 | query_store: function() { |
383 | 321 | var th = this; |
... | ... | @@ -385,14 +323,13 @@ Page({ |
385 | 323 | is_textea: 0 |
386 | 324 | }) |
387 | 325 | var itemId = th.data.itemId; //服务id |
388 | - var url = "/api/weshop/marketing/reservation/storage/pagenew"; | |
326 | + var url = "/api/weshop/marketing/reservation/storage/pageAll"; | |
389 | 327 | var key_word = th.data.key_word; |
390 | 328 | key_word = key_word.replace(/\s+/g, ""); |
391 | 329 | getApp().request.promiseGet(url, { |
392 | 330 | data: { |
393 | - userId: th.data.options.userid, | |
331 | + userId: getApp().globalData.user_id, | |
394 | 332 | storeId: a.stoid, |
395 | - serviceId: itemId, | |
396 | 333 | latitude: th.data.lat, |
397 | 334 | longitude: th.data.lon, |
398 | 335 | page: th.data.curpage, |
... | ... | @@ -534,8 +471,9 @@ Page({ |
534 | 471 | th.setData({ |
535 | 472 | is_textea: 1 |
536 | 473 | }) |
537 | - console.log('optionsxxx===>', this.data.options); | |
538 | - // console.log('1-->', "/pages/user/my_service/cosmetology_list?userid=" + th.data.options.userid + 'storageId=' + storageId + '&' + 'itemId=' + itemId + '&' + "projectId=" + project_id); | |
474 | + | |
475 | + console.log('optionsxxx===>', this.data.options); | |
476 | + // console.log('1-->', "/pages/user/my_service/cosmetology_list?userid=" + th.data.options.userid + 'storageId=' + storageId + '&' + 'itemId=' + itemId + '&' + "projectId=" + project_id); | |
539 | 477 | wx.navigateTo({ |
540 | 478 | url: "/packageA/pages/my_service/cosmetology_list?userid=" + this.data.options.userid + '&storageId=' + storageId + '&itemId=' + itemId + "&projectId=" + project_id |
541 | 479 | }); |
... | ... | @@ -546,15 +484,30 @@ Page({ |
546 | 484 | * 生命周期函数--监听页面加载 |
547 | 485 | */ |
548 | 486 | onLoad: function(options) { |
487 | + | |
488 | + | |
489 | + // 如果数值位数为1,则补0 | |
490 | + function appendZero(obj) { | |
491 | + if (obj < 10) { | |
492 | + return "0" + "" + obj; | |
493 | + } else { | |
494 | + return obj; | |
495 | + } | |
496 | + }; | |
549 | 497 | |
550 | 498 | this.getTimeList(23, 30); |
551 | 499 | var th = this; |
500 | + var now_date = new Date(); | |
501 | + var md = now_date.getFullYear()+"-"+appendZero(now_date.getMonth() + 1) + "-" + appendZero(now_date.getDate()); | |
502 | + | |
552 | 503 | th.setData({ |
553 | - options, | |
504 | + options, | |
554 | 505 | itemId: options.service_id, |
555 | 506 | buyType: options.BuyType, |
556 | 507 | project_id: options.ProjectID, |
557 | - validay: options.Validay | |
508 | + validay: options.Validay, | |
509 | + datet:md, | |
510 | + nowDate:md | |
558 | 511 | }); |
559 | 512 | wx.getLocation({ |
560 | 513 | type: 'gcj02', |
... | ... | @@ -584,87 +537,30 @@ Page({ |
584 | 537 | th.data.is_get_local_ok = 1; |
585 | 538 | } |
586 | 539 | }); |
587 | - | |
588 | - // 获取当前默认导购信息及归属门店信息 | |
589 | - if(options.firstleader) { | |
590 | - getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+a.stoid+"/"+options.firstleader,{}).then(res=>{ | |
591 | - if(res.data.code==0){ | |
592 | - getApp().globalData.guide_id=res.data.data.id; | |
593 | - | |
594 | - getApp().request.promiseGet('/api/weshop/shoppingGuide/geIdStaffInfo', { | |
595 | - data: { | |
596 | - store_id: a.stoid, | |
597 | - guide_id: e.globalData.guide_id, | |
598 | - UserCode: th.data.options.usercode, | |
599 | - } | |
600 | - }).then(res => { | |
601 | - console.log('res==>', a.stoid, e.globalData.guide_id, th.data.options.usercode); | |
602 | - if(res.data.data.Tech) { | |
603 | - | |
604 | - var data={ | |
605 | - store_name: res.data.data.StorageName, | |
606 | - beautician_name: res.data.data.StaffName, | |
607 | - beauticianID: res.data.data.StaffId, | |
608 | - StorageId: res.data.data.StorageId, | |
609 | - } | |
610 | - th.check_firleader(data); | |
611 | - } | |
612 | - }); | |
613 | - | |
614 | - | |
615 | - }; | |
616 | - }); | |
617 | - }; | |
618 | - | |
619 | - | |
540 | + | |
541 | + //--先判断会员状态-- | |
542 | + var user_info = getApp().globalData.userInfo; | |
543 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | |
544 | + wx.navigateTo({ | |
545 | + url: '/pages/togoin/togoin', | |
546 | + }) | |
547 | + return false; | |
548 | + } | |
620 | 549 | }, |
621 | - //查询剩下可预约人数 | |
622 | - query_more: function() { | |
623 | - var th = this; | |
624 | - var url = "/api/weshop/marketing/reservation/can/reservation/countnew"; | |
625 | - var beauticianID = th.data.beauticianID; //美容师id | |
626 | - var projectID = th.data.itemId; //服务id | |
627 | - var seekTime = th.data.time; //预约日期 | |
628 | - var storageId = th.data.storageId; //门店id | |
629 | - var storeId = a.stoid; //商家id | |
630 | - getApp().request.promiseGet(url, { | |
631 | - data: { | |
632 | - beauticianId: beauticianID, | |
633 | - seekTime: seekTime, | |
634 | - serviceId: projectID, | |
635 | - storageId: storageId, | |
636 | - storeId: storeId | |
637 | - } | |
638 | - }).then(res => { | |
639 | - if (res.data.code == 0) { | |
640 | - var tment_count = res.data.data.CanReservation; | |
641 | - th.setData({ | |
642 | - tment_count: tment_count | |
643 | - }) | |
644 | - } else { | |
645 | - getApp().my_warnning(res.data.msg, 0, th); | |
646 | - th.settime(); | |
647 | - } | |
648 | - }) | |
550 | + | |
649 | 551 | |
650 | - }, | |
651 | 552 | /** |
652 | 553 | * 生命周期函数--监听页面显示 |
653 | 554 | */ |
654 | 555 | onShow: function() { |
655 | 556 | var th = this; |
656 | - var seekTime = th.data.time; //预约日期 | |
657 | - if (seekTime != "") { | |
658 | - th.query_more(); | |
659 | - } | |
660 | 557 | th.setData({ |
661 | - time: th.data.time.substring(0, 16), | |
662 | 558 | is_textea: 1 |
663 | 559 | }) |
664 | - th.query_project(); | |
665 | - | |
666 | - th.queryMultipleNodes(); | |
560 | + | |
667 | 561 | }, |
562 | + | |
563 | + | |
668 | 564 | //获取单个服务项目信息 |
669 | 565 | query_project: function() { |
670 | 566 | var th = this; |
... | ... | @@ -687,81 +583,17 @@ Page({ |
687 | 583 | } |
688 | 584 | }) |
689 | 585 | }, |
690 | - //关闭导航 | |
691 | - // close: function() { | |
692 | - // var th = this; | |
693 | - // var nav_b = th.selectComponent("#nav_b"); //组件的id | |
694 | - // nav_b.close_box(); | |
695 | - // } | |
696 | - | |
697 | - //判断分享的导购是不是有门店,是不是该门店下又该会员 | |
698 | - check_firleader(data){ | |
699 | - var th=this; | |
700 | - var itemId = this.data.itemId; //服务id | |
701 | - var url = "/api/weshop/marketing/reservation/storage/pagenew"; | |
702 | - var key_word = data.store_name; | |
703 | - key_word = key_word.replace(/\s+/g, ""); | |
704 | - getApp().request.promiseGet(url, { | |
705 | - data: { | |
706 | - userId: th.data.options.userid, | |
707 | - storeId: os.stoid, | |
708 | - serviceId: itemId, | |
709 | - latitude: th.data.lat, | |
710 | - longitude: th.data.lon, | |
711 | - page: 1, | |
712 | - pageSize: 1000, | |
713 | - keyWord: key_word | |
714 | - } | |
715 | - }).then(res => { | |
716 | - //-- 如果是门店的话 -- | |
717 | - if (res.data.code == 0 && res.data.data && res.data.data.pageData) { | |
718 | - var store_data=null; | |
719 | - for(var i in res.data.data.pageData){ | |
720 | - var it=res.data.data.pageData[i]; | |
721 | - if(it.Id==data.StorageId){ | |
722 | - store_data={ | |
723 | - store_name: data.store_name, | |
724 | - StorageId: data.StorageId, | |
725 | - }; | |
726 | - break; | |
727 | - } | |
728 | - } | |
729 | - if(!store_data) return false; | |
730 | - th.setData(store_data) | |
731 | - | |
732 | - }else{ | |
733 | - return false; | |
734 | - } | |
735 | - | |
736 | - //导购接口地址 | |
737 | - var url = "/api/weshop/marketing/reservation/staff/pagenew"; | |
738 | - return getApp().request.promiseGet(url, { | |
739 | - isShowLoading:1, | |
740 | - data: { | |
741 | - storeId: os.stoid, | |
742 | - userId: th.data.options.userid, | |
743 | - serviceId: itemId, | |
744 | - storageId: data.StorageId | |
745 | - } | |
746 | - }) | |
747 | - }).then(res=>{ | |
748 | - if (res && res.data && res.data.code == 0) { | |
749 | - var beautician_list=res.data.data; | |
750 | - for(var i in beautician_list){ | |
751 | - var item=beautician_list[i]; | |
752 | - if(item.staffid==data.beauticianID){ | |
753 | - th.setData({ | |
754 | - beautician_name:data.beautician_name, | |
755 | - beauticianID:data.beauticianID, | |
756 | - }) | |
757 | - break; | |
758 | - } | |
759 | - } | |
760 | - | |
761 | - } | |
762 | - }) | |
763 | - }, | |
764 | - | |
586 | + | |
587 | + | |
588 | + | |
589 | + //开始拖拽项目列表 | |
590 | + touchmove1: function (e) { | |
591 | + var that = this; | |
592 | + var position = [e.touches[0].pageX-15, e.touches[0].pageY-that.data.s_top]; | |
593 | + that.setData({ | |
594 | + wp: position | |
595 | + }); | |
596 | + }, | |
765 | 597 | |
766 | 598 | //开始拖拽 |
767 | 599 | touchmove: function (e) { |
... | ... | @@ -772,37 +604,41 @@ Page({ |
772 | 604 | write: position |
773 | 605 | }); |
774 | 606 | }, |
775 | - touchend:function(e){ | |
607 | + | |
608 | + touchend:function(e){ | |
776 | 609 | var that = this,th=that; |
777 | 610 | if(!that.data.copy_btn) return false; |
778 | 611 | var position =th.data.write; |
779 | 612 | var arr=th.data.col_arr; |
780 | 613 | for(var i=0;i<this.data.md.length;i++){//i是列 |
781 | 614 | var item=this.data.md[i]; |
782 | - var nd=new Date(); | |
783 | - var d_str=nd.getFullYear()+"-"+(nd.getMonth()+1)+"-"+nd.getDate()+" "; | |
784 | - var d_arr=item.time.split("-"); | |
785 | - var t1=new Date(d_str+d_arr[0]) | |
786 | - var t2=d_arr.length>1?new Date(d_str+d_arr[1]):0; | |
787 | - | |
615 | + | |
788 | 616 | for(var j=0; j<this.data.timeArr.length;j++){//j是行 |
789 | 617 | if(arr.indexOf(j)!=-1) continue; |
790 | - var tn=new Date(d_str+this.data.timeArr[j]); | |
791 | - //小于开始时间 | |
792 | - if(tn<t1) continue; | |
793 | - //大于结束时间 | |
794 | - if(tn>t2 && t2>0) continue; | |
618 | + var tn=this.data.timeArr[j]; | |
619 | + | |
795 | 620 | //如果坐标在网格内 |
796 | 621 | if( position[0]>th.data.f_x+i*th.data.f_width && position[0]<th.data.f_x+ (i+1)*th.data.f_width && |
797 | 622 | position[1]>th.data.f_y +j*th.data.f_hei && position[1]<th.data.f_y+(j+1)*th.data.f_hei){ |
798 | - | |
799 | - var txt="v["+i+"]["+j+"]"; | |
800 | - arr.push(j); | |
801 | - th.setData({ | |
802 | - [txt]: th.data.projectName, | |
803 | - col_arr:arr | |
804 | - }); | |
805 | - break; | |
623 | + | |
624 | + for(var i in item.listtime){ | |
625 | + | |
626 | + //判断一下有没有在时间内,可以不可以预约 | |
627 | + if(tn==item.listtime[i].stime && item.listtime[i].iskyy){ | |
628 | + th.checK_is_can_yy(item,tn,function(){ | |
629 | + var txt="v["+i+"]["+j+"]"; | |
630 | + arr.push(j); | |
631 | + th.setData({ | |
632 | + [txt]: th.data.sele_project, | |
633 | + col_arr:arr | |
634 | + }); | |
635 | + | |
636 | + }) | |
637 | + return true | |
638 | + } | |
639 | + } | |
640 | + | |
641 | + | |
806 | 642 | } |
807 | 643 | |
808 | 644 | } |
... | ... | @@ -810,21 +646,175 @@ Page({ |
810 | 646 | th.setData({copy_btn:0}) |
811 | 647 | }, |
812 | 648 | |
649 | + //-- 点击空格选择 -- | |
650 | + sele_tab:function(e){ | |
651 | + if(!this.data.sele_project){ | |
652 | + wx.showToast({ | |
653 | + title: "请选择要预约的项目", | |
654 | + icon: 'none', | |
655 | + duration: 2000 | |
656 | + }) | |
657 | + return false; | |
658 | + } | |
659 | + | |
660 | + var th=this; | |
661 | + var arr=this.data.col_arr; | |
662 | + var i=e.currentTarget.dataset.index; | |
663 | + var j=e.currentTarget.dataset.subindex; | |
664 | + | |
665 | + var item=this.data.md[i]; //获得美导 | |
666 | + var tn=this.data.timeArr[j]; //获得时间 | |
667 | + | |
668 | + //查看时间段能不能预约 | |
669 | + if(!item.listtime[j].iskyy){ | |
670 | + wx.showToast({ | |
671 | + title: "该时间不可以预约", | |
672 | + icon: 'none', | |
673 | + duration: 2000 | |
674 | + }) | |
675 | + return false; | |
676 | + } | |
677 | + //查看时间有没有被预约了 | |
678 | + if(this.data.v && this.data.v[i] && this.data.v[i][j]){ | |
679 | + wx.showToast({ | |
680 | + title: "该时间已被预约", | |
681 | + icon: 'none', | |
682 | + duration: 2000 | |
683 | + }) | |
684 | + return false; | |
685 | + } | |
686 | + | |
687 | + if(!item.listtime[j].itemids){ | |
688 | + wx.showToast({ | |
689 | + title: "该时间不可预约该项目", | |
690 | + icon: 'none', | |
691 | + duration: 1500 | |
692 | + }) | |
693 | + return false; | |
694 | + } | |
695 | + | |
696 | + var project_arr=item.listtime[j].itemids.split(','); | |
697 | + | |
698 | + if(project_arr.indexOf(this.data.sele_project.ServiceID)==-1){ | |
699 | + wx.showToast({ | |
700 | + title: "该时间不可预约该项目", | |
701 | + icon: 'none', | |
702 | + duration: 1500 | |
703 | + }) | |
704 | + return false; | |
705 | + } | |
706 | + | |
707 | + | |
708 | + | |
709 | + | |
710 | + //同一美导同一项目,不能选择两次,只能留一个 | |
711 | + if(this.data.v[i]){ | |
712 | + for(var sj in this.data.v[i]){ | |
713 | + if(this.data.v[i][sj] && this.data.v[i][sj].ProjectID==this.data.sele_project.ProjectID){ | |
714 | + wx.showModal({ | |
715 | + title: "您已经预约了同一个项目和导购,要修改吗?", | |
716 | + success: function (res) { | |
717 | + if (res.cancel) { | |
718 | + //点击取消,默认隐藏弹框 | |
719 | + } else { | |
720 | + th.checK_is_can_yy(item,tn,function(){ | |
721 | + delete th.data.v[i][sj]; | |
722 | + th.data.v[i][j]=th.data.sele_project; | |
723 | + var ind=arr.indexOf(sj); | |
724 | + arr.splice(ind, 1), | |
725 | + arr.push(j), | |
726 | + th.setData({ | |
727 | + v: th.data.v, | |
728 | + col_arr:arr | |
729 | + }); | |
730 | + }) | |
731 | + | |
732 | + } | |
733 | + }, | |
734 | + | |
735 | + }); | |
736 | + return false; | |
737 | + } | |
738 | + } | |
739 | + } | |
740 | + | |
741 | + th.checK_is_can_yy(item,tn,function(){ | |
742 | + | |
743 | + var txt="v["+i+"]["+j+"]"; | |
744 | + arr.push(j); | |
745 | + th.setData({ | |
746 | + [txt]: th.data.sele_project, | |
747 | + col_arr:arr | |
748 | + }); | |
749 | + }); | |
750 | + }, | |
813 | 751 | |
752 | + //删除响应的预约 | |
814 | 753 | close_this:function (e){ |
815 | 754 | var txt=e.currentTarget.dataset.txt; |
816 | 755 | var sindex=parseInt(e.currentTarget.dataset.sindex); |
817 | - var arr=this.data.col_arr; | |
818 | - var ind=arr.indexOf(sindex); | |
756 | + var arr=this.data.col_arr; | |
757 | + var ind=arr.indexOf(sindex); | |
819 | 758 | arr.splice(ind,1) |
820 | 759 | this.setData({[txt]:null,col_arr:arr}) |
821 | 760 | }, |
822 | 761 | |
823 | - onPageScroll(e) { | |
824 | - // console.log('滚动距离', e); | |
825 | - this.data.scrolltop = e.scrollTop; | |
826 | - }, | |
827 | - | |
762 | + //计算滚蛋的距离 | |
763 | + onPageScroll(e) { this.data.scrolltop = e.scrollTop;}, | |
764 | + | |
765 | + //确认有没有预约 | |
766 | + checK_is_can_yy(item,tn,back){ | |
767 | + var th=this; | |
768 | + var req={ | |
769 | + beauticianId:encodeURIComponent(item.staffid), | |
770 | + seekTime:this.data.datet+" "+tn+":00", | |
771 | + serviceId:encodeURIComponent(this.data.sele_project.ServiceID), | |
772 | + storageId:encodeURIComponent(this.data.storageId), | |
773 | + storeId:os.stoid | |
774 | + } | |
775 | + getApp().request.get("/api/weshop/marketing/reservation/can/reservation/countnew",{ | |
776 | + data:req, | |
777 | + success:function(res){ | |
778 | + th.setData({copy_btn:0}); | |
779 | + if(res.data.code==0){ | |
780 | + if(!th.data.v){ back(); return false; } | |
781 | + | |
782 | + var arr = Object.keys(th.data.v); | |
783 | + if(arr.length==0){ back(); return false; } | |
784 | + | |
785 | + var num=0; | |
786 | + for(var i in th.data.v){ | |
787 | + if(!th.data.v[i]) continue; | |
788 | + for(var j in th.data.v[i]){ | |
789 | + if(th.data.v[i][j] && th.data.v[i][j].ProjectID==th.data.sele_project.ProjectID){ | |
790 | + num++; | |
791 | + } | |
792 | + } | |
793 | + } | |
794 | + | |
795 | + if(!num){ back(); return false; } | |
796 | + | |
797 | + //如果已经超出次数的时候,就不能预约了 | |
798 | + if(num>=parseInt(res.data.data.CanReservation) ){ | |
799 | + wx.showToast({ | |
800 | + title: "已经超出可预约次数", | |
801 | + icon: 'none', | |
802 | + duration: 2000 | |
803 | + }) | |
804 | + return false; | |
805 | + } | |
806 | + back(); | |
807 | + | |
808 | + }else{ | |
809 | + wx.showToast({ | |
810 | + title: res.data.msg, | |
811 | + icon: 'none', | |
812 | + duration: 2000 | |
813 | + }) | |
814 | + } | |
815 | + } | |
816 | + }) | |
817 | + }, | |
828 | 818 | |
829 | 819 | //声明节点查询的方法 |
830 | 820 | queryMultipleNodes: function() { |
... | ... | @@ -838,11 +828,16 @@ Page({ |
838 | 828 | th.data.f_y=res[0].top; |
839 | 829 | th.data.f_hei=res[0].height; |
840 | 830 | th.data.f_width=res[0].width; |
841 | - | |
842 | 831 | }) |
832 | + | |
843 | 833 | }, |
844 | 834 | |
835 | + /*-- | |
845 | 836 | getcopy(e) { |
837 | + | |
838 | + },--*/ | |
839 | + //项目元素点击后的效果 | |
840 | + getName(e) { | |
846 | 841 | var that=this; |
847 | 842 | console.log('e', e); |
848 | 843 | var x=e.currentTarget.dataset.offsetLeft; |
... | ... | @@ -850,52 +845,73 @@ Page({ |
850 | 845 | var position = [x, y]; |
851 | 846 | that.setData({ |
852 | 847 | write: position,copy_btn:1 |
853 | - }); | |
854 | - | |
855 | - }, | |
856 | - | |
857 | - getName(e) { | |
858 | - // console.log('e1', e); | |
859 | - let name = e.currentTarget.dataset.name; | |
848 | + }); | |
849 | + // console.log('e1', e); | |
850 | + let index = e.currentTarget.dataset.index; | |
851 | + let name = this.data.project[index]; | |
852 | + | |
853 | + | |
860 | 854 | this.setData({ |
861 | - projectName: name, | |
855 | + sele_project: name,prj_index:index | |
862 | 856 | }); |
863 | 857 | }, |
858 | + | |
859 | + //-- 项目列表长按 -- | |
860 | + setmove1(){ | |
861 | + this.setData({move1:1}); | |
862 | + }, | |
864 | 863 | |
865 | - | |
866 | - // 生成时间段 | |
867 | - getTimeList(hours,step) { | |
868 | - var minutes=60; | |
864 | + //-- 生成时间段 -- | |
865 | + getTimeList(hours,step) { | |
866 | + var minutes=60; | |
869 | 867 | var timeArr = []; |
870 | 868 | hours = hours; |
871 | 869 | step = step; |
870 | + | |
871 | + // 如果数值位数为1,则补0 | |
872 | + function appendZero(obj) { | |
873 | + if (obj < 10) { | |
874 | + return "0" + "" + obj; | |
875 | + } else { | |
876 | + return obj; | |
877 | + } | |
878 | + }; | |
879 | + | |
880 | + var now_date=new Date(); | |
881 | + var md = now_date.getFullYear()+"-"+appendZero(now_date.getMonth() + 1) + "-" + appendZero(now_date.getDate()); | |
872 | 882 | |
873 | - for(var i = 8; i < hours; i++){ | |
874 | - var str = ''; | |
875 | - if(i < 10) { | |
876 | - str = 0 + '' + i; | |
877 | - } else { | |
878 | - str = '' + i; | |
879 | - }; | |
880 | - | |
881 | - for(var j = 0; j < minutes; j++) { | |
882 | - if(j % step == 0){ | |
883 | - var s = j < 10 ? ':' + 0 + '' + j : ':' + j; | |
884 | - s = str + s; | |
885 | - timeArr.push(s); | |
886 | - }; | |
887 | - }; | |
888 | - }; | |
889 | - | |
890 | - // console.log('timeArr', timeArr); | |
891 | - this.setData({ | |
892 | - timeArr, | |
893 | - }); | |
883 | + for(var i = 8; i < hours; i++){ | |
884 | + var str = ''; | |
885 | + if(i < 10) { | |
886 | + str = 0 + '' + i; | |
887 | + } else { | |
888 | + str = '' + i; | |
889 | + }; | |
890 | + | |
891 | + for(var j = 0; j < minutes; j++) { | |
892 | + if(j % step == 0){ | |
893 | + var s = ':' + appendZero(j); | |
894 | + s = str + s; | |
895 | + //-- 不是当天 -- | |
896 | + if(this.data.datet && this.data.datet!=md){ | |
897 | + timeArr.push(s); | |
898 | + }else{ | |
899 | + var d1=md+" "+s; | |
900 | + var date1=new Date(d1); | |
901 | + //必须是大于 | |
902 | + if(date1.getTime()>now_date.getTime()){ | |
903 | + timeArr.push(s); | |
904 | + } | |
905 | + } | |
906 | + | |
907 | + }; | |
908 | + }; | |
909 | + }; | |
910 | + | |
911 | + this.setData({timeArr,}); | |
894 | 912 | |
895 | 913 | }, |
896 | - | |
897 | - | |
898 | - | |
914 | + | |
899 | 915 | scroll(e) { |
900 | 916 | // console.log('e', e.detail.deltaX); |
901 | 917 | let deltaX = e.detail.deltaX; |
... | ... | @@ -904,8 +920,100 @@ Page({ |
904 | 920 | // }; |
905 | 921 | this.data.deltaX = -deltaX; |
906 | 922 | }, |
907 | - | |
923 | + | |
924 | + pickerTap:function() { | |
925 | + var date = new Date(); | |
926 | + var monthDay = ['今天','明天']; | |
927 | + // 月-日 | |
928 | + for (var i = 2; i <= 14; i++) { | |
929 | + var date1 = new Date(date); | |
930 | + date1.setDate(date.getDate() + i); | |
931 | + var md = (date1.getFullYear()+"-"+date1.getMonth() + 1) + "-" + date1.getDate(); | |
932 | + monthDay.push(md); | |
933 | + } | |
934 | + this.setData(monthDay); | |
935 | + }, | |
936 | + | |
937 | + | |
938 | + //-- 选择时间的时候 -- | |
939 | + bindDateChenge: function(e) { | |
940 | + var th=this; | |
941 | + var nd=new Date(this.data.nowDate); | |
942 | + var nd1=new Date(e.detail.value); | |
943 | + if(nd1.getTime()<nd.getTime()){ | |
944 | + wx.showToast({ | |
945 | + title: "选择的日期不能小于今天", | |
946 | + icon: 'none', | |
947 | + duration: 2000 | |
948 | + }) | |
949 | + return false; | |
950 | + } | |
951 | + | |
952 | + this.setData({ | |
953 | + datet: e.detail.value | |
954 | + }); | |
955 | + this.getTimeList(23, 30); | |
956 | + //当时间变化的时候 | |
957 | + if(this.data.storageId){ | |
958 | + var req={ | |
959 | + storeId:os.stoid, | |
960 | + userId:getApp().globalData.userInfo.user_id, | |
961 | + StorageId:encodeURIComponent(this.data.storageId), | |
962 | + } | |
963 | + req.SeekTime=this.data.datet; | |
964 | + getApp().request.get("/api/weshop/marketing/reservation/listStaffAndTime",{ | |
965 | + data:req, | |
966 | + success:function(res){ | |
967 | + if(ut.ajax_ok2(res)){ | |
968 | + th.setData({v:{},col_arr:[]}) | |
969 | + //-- 有些时间是全部没有的 -- | |
970 | + th.setTimeShow(res.data.data) | |
971 | + } | |
972 | + } | |
973 | + }) | |
974 | + } | |
975 | + }, | |
908 | 976 | |
909 | - | |
910 | - | |
977 | + onPageScroll: function(e) { | |
978 | + this.data.s_top=e.scrollTop; | |
979 | + }, | |
980 | + | |
981 | + //-- 时间段有些不显示,出来的时间和显示的对应 -- | |
982 | + setTimeShow:function(data){ | |
983 | + // 如果数值位数为1,则补0 | |
984 | + function appendZero(obj) { | |
985 | + if (obj < 10) { | |
986 | + return "0" + "" + obj; | |
987 | + } else { | |
988 | + return obj; | |
989 | + } | |
990 | + }; | |
991 | + | |
992 | + var now_date=new Date(); | |
993 | + var md = now_date.getFullYear()+"-"+appendZero(now_date.getMonth() + 1)+ "-" + appendZero(now_date.getDate()); | |
994 | + | |
995 | + if(this.data.datet && this.data.datet!=md){ | |
996 | + this.setData({md:data}); | |
997 | + return false; | |
998 | + } | |
999 | + | |
1000 | + for(var i in data){ | |
1001 | + var ti_time_arr=data[i].listtime; | |
1002 | + var arr=[]; | |
1003 | + for(var j in ti_time_arr){ | |
1004 | + var d1=md+" "+ti_time_arr[j].stime; | |
1005 | + var date1=new Date(d1); | |
1006 | + //必须是大于 | |
1007 | + if(date1.getTime()>now_date.getTime()){ | |
1008 | + arr.push(ti_time_arr[j]); | |
1009 | + } | |
1010 | + } | |
1011 | + data[i].listtime=arr; | |
1012 | + } | |
1013 | + this.setData({md:data}); | |
1014 | + | |
1015 | + }, | |
1016 | + | |
1017 | + | |
1018 | + | |
911 | 1019 | }) |
912 | 1020 | \ No newline at end of file | ... | ... |
packageA/pages/my_service2/appment_main.wxml
1 | 1 | <wxs module="filters" src="../../../utils/filter.wxs"></wxs> |
2 | 2 | <wxs module="fil" src="g_filter.wxs"></wxs> |
3 | 3 | |
4 | -<!-- <view class="btn-container"> | |
5 | - <navigator class="btn" url="/pages/user/my_service/tment_order_list"> | |
6 | - <view>我的预约</view> | |
7 | - </navigator> | |
8 | - <form report-submit='true' bindtap="sub_success"> | |
9 | - <button form-type="submit" class="btn"> | |
10 | - <view>提交预约</view> | |
11 | - </button> | |
12 | - </form> | |
13 | - </view> --> | |
14 | - | |
15 | -<view class="card" bindlongtap="getcopy"> | |
16 | - <view class="t-c c-c7"> | |
17 | - <text class="iconfont icon-sandian"></text> | |
4 | + | |
5 | +<!-- 项目的拖动 --> | |
6 | +<view wx:if="{{!store && project}}" class="card" catchtouchmove='true' style="left:{{wp[0]}}px;top:{{wp[1]}}px;"> | |
7 | + <view class="cp_btn t-c c-c7" bindtouchend="touchend1" bindtouchmove="touchmove1" catch:touchmove1 style="padding: 15rpx 0;" > | |
8 | + <text class="iconfont icon-sandian" style="font-size: 40rpx;"></text> | |
18 | 9 | </view> |
19 | - <block wx:for="{{project}}"> | |
20 | - <view class="t-c pd20" hover-class="hover" bindtouchmove="touchmove" bindtouchend="touchend" catch:touchmove data-name="{{item}}" bindlongtap="getName"> | |
21 | - <text class="iconfont icon-meirong fs40"></text> | |
22 | - <view class="fs24">{{item}}</view> | |
23 | - </view> | |
10 | + <view style="overflow-y: auto; max-height:600rpx;"> | |
11 | + <block wx:for="{{project}}"> | |
12 | + <view class="t-c pd20 {{prj_index==index?'hover':''}}" data-index="{{index}}" catchtap="getName"> | |
13 | + <text class="iconfont icon-meirong fs40"></text> | |
14 | + <view class="fs24">{{item.ServiceName}}</view> | |
15 | + </view> | |
16 | + | |
24 | 17 | </block> |
18 | + </view> | |
25 | 19 | </view> |
26 | 20 | |
27 | 21 | <image class="main" src="{{iurl}}/miniapp/images/yyservice/main.png"></image> |
28 | - | |
29 | 22 | <view class="pdb100"> |
30 | - <!-- 选择门店 --> | |
23 | + | |
24 | + <!-- 选择日期 --> | |
25 | + <picker class='pi' mode="date" value='{{datet}}' start="2019-1-1" bindchange='bindDateChenge'> | |
26 | + <view class="flex-vertical pdv20 jc-center"> | |
27 | + <!-- 门店 --> | |
28 | + <view class="flex-vertical-between head fs30"> | |
29 | + <view>日</view> | |
30 | + <view>期</view> | |
31 | + </view> | |
32 | + | |
33 | + <view class="flex-vertical-between fs26 select"> | |
34 | + <view class="{{datet==''?'color':''}} value ellipsis-1">{{datet==""?'选择日期':datet}}</view> | |
35 | + <view class="angle">∟</view> | |
36 | + </view> | |
37 | + | |
38 | + </view> | |
39 | + </picker> | |
40 | + <!-- 选择门店 --> | |
31 | 41 | <view class="flex-vertical pdv20 jc-center"> |
32 | 42 | <!-- 门店 --> |
33 | 43 | <view class="flex-vertical-between head fs30"> |
... | ... | @@ -40,8 +50,11 @@ |
40 | 50 | <view class="{{store_name==''?'color':''}} value ellipsis-1">{{store_name==""?'选择服务门店':store_name}}</view> |
41 | 51 | <view class="angle">∟</view> |
42 | 52 | </view> |
43 | - </view> | |
44 | - <view class="table flex fs26" style="width: 100%;height: 100%;"> | |
53 | + </view> | |
54 | + | |
55 | + | |
56 | + <!-- 拖入的田框,主内容 --> | |
57 | + <view wx:if="{{md}}" class="table flex fs26" style="width: 100%;height: auto; overflow: hidden; margin-bottom: 10rpx;"> | |
45 | 58 | <view class="left t-c"> |
46 | 59 | <view class="td pr" style="width: 120rpx"> |
47 | 60 | <view class="time-box" bindtap="pickTime"><view class="time">时间</view></view> |
... | ... | @@ -56,89 +69,21 @@ |
56 | 69 | <view class="td" wx:for="{{timeArr.length}}"></view> |
57 | 70 | </view> --> |
58 | 71 | <view wx:for="{{md}}"> |
59 | - <view class="td bg-pink">{{item.name}}</view> | |
72 | + <view class="td bg-pink">{{item.StaffName}}</view> | |
60 | 73 | <!-- <view class="td content_view {{v[0][0]?'121':''}}">{{v[0][0]}}</view> --> |
61 | 74 | <block wx:for="{{timeArr.length}}" wx:for-item="subitem" wx:for-index="subindex"> |
62 | - <view class="td content_view {{v[index][subindex] && v[index][subindex]? 'active':''}} {{filters.in_arr(subindex,col_arr) || fil.is_no_time(item,subindex,timeArr) ?'notactive':''}}"> | |
63 | - {{v[index][subindex]?v[index][subindex]:''}} | |
64 | - <text wx:if="{{v[index][subindex]}}" catchtap="close_this" data-txt="v[{{index}}][{{subindex}}]" data-sindex="{{subindex}}" class="close_this">×</text> | |
75 | + <view bindtap="sele_tab" data-index="{{index}}" data-subindex="{{subindex}}" | |
76 | + class="td content_view {{v[index][subindex] && v[index][subindex]? 'active':''}} {{fil.is_no_time(item,subindex,timeArr,sele_project) ?'notactive':''}}"> | |
77 | + <!-- 当项目是当前选中的项目的时候 --> | |
78 | + <block wx:if="{{v[index][subindex] && v[index][subindex].ProjectID==sele_project.ProjectID}}"> | |
79 | + <text>{{v[index][subindex]?v[index][subindex].ServiceName:''}}</text> | |
80 | + <text catchtap="close_this" data-txt="v[{{index}}][{{subindex}}]" data-sindex="{{subindex}}" class="close_this">×</text> | |
81 | + </block> | |
65 | 82 | </view> |
66 | 83 | </block> |
67 | 84 | </view> |
68 | 85 | </view> |
69 | - </scroll-view> | |
70 | - | |
71 | - | |
72 | - | |
73 | - | |
74 | - | |
75 | - <!-- 选择美容师 --> | |
76 | - <!-- <view class="flex-vertical mabot"> --> | |
77 | - <!-- 门店 --> | |
78 | - <!-- <view class="flex-vertical-between head fs30"> | |
79 | - <view>美</view> | |
80 | - <view>容</view> | |
81 | - <view>师</view> | |
82 | - </view> --> | |
83 | - | |
84 | - <!-- 选择美容师 --> | |
85 | - <!-- <view class="rel fs26"> --> | |
86 | - <!-- <view class="flex-vertical-between Cosmetology" bindtap="query_beautician"> | |
87 | - <view class="{{beautician_name==''?'color':''}} value ellipsis-1">{{beautician_name==''?'选择美容师':beautician_name}}</view> | |
88 | - <view class="angle">∟</view> | |
89 | - </view> --> | |
90 | - <!-- 美容师下拉列表 --> | |
91 | - <!-- <view class="beauticians abs" wx:if="{{beautician}}"> --> | |
92 | - <!-- 到时候要做判断如果是index==循环的最后一个则把下边线去掉:(beaclone去掉的css) --> | |
93 | - <!-- <view class="beautician flex-vertical fs26" wx:for="{{beautician_list}}" bindtap="choice_beautician" data-baaindex="{{key}}" wx:for-index="key"> | |
94 | - <view class="StaffName ellipsis-1">{{item.StaffName}}</view> | |
95 | - </view> | |
96 | - <view> | |
97 | - </view> | |
98 | - </view> --> | |
99 | - <!-- </view> --> | |
100 | - <!-- <view class="flex-center users" bindtap="nav_bea"> | |
101 | - <image class="user" src="{{iurl}}/miniapp/images/yyservice/user.png"></image> | |
102 | - </view> --> | |
103 | - <!-- </view> --> | |
104 | - | |
105 | - <!-- 选择时间 --> | |
106 | - <!-- <view class="flex-vertical mabot"> --> | |
107 | - <!-- 门店 --> | |
108 | - <!-- <view class="head fs30"> | |
109 | - <view>预约时间</view> | |
110 | - </view> --> | |
111 | - | |
112 | - <!-- 选择时间 --> | |
113 | - <!-- <view class="flex-vertical-between fs26 select" data-url="/packageA/pages/my_service/beauty_deta?url={{url}}&StorageId={{StorageId}}&BeauticianID={{beauticianID}}&itemId={{itemId}}&modify=0&projectId={{project_id}}" bindtap="goto"> | |
114 | - <view class="{{time==''?'color':''}}">{{time==""?'选择时间':time}}</view> | |
115 | - <view class="angle angler">∟</view> | |
116 | - </view> --> | |
117 | - <!-- </view> --> | |
118 | - | |
119 | - <!-- 备注 --> | |
120 | - <!-- <view class="flex Remarks"> --> | |
121 | - <!-- 门店 --> | |
122 | - <!-- <view class="flex-space-between head fs30"> | |
123 | - <view>备</view> | |
124 | - <view>注</view> | |
125 | - </view> | |
126 | - <view class="flex fs26"> | |
127 | - <block wx:if="{{is_textea==1}}"> | |
128 | - <textarea class="textarea" placeholder="{{remarks==''?'填写备注':remarks}}" placeholder-class="fs26 color" value="{{remarks}}" bindinput="input_remarks" maxlength="100"> | |
129 | - </textarea> | |
130 | - </block> | |
131 | - <block wx:else> | |
132 | - <view class="textarea {{remarks==''?'color':''}}" bindtap="check_text">{{remarks==''?'填写备注':remarks}} | |
133 | - </view> | |
134 | - </block> | |
135 | - </view> --> | |
136 | - <!-- </view> | |
137 | - <view wx:if="{{tment_count!=''}}" class="notes flex-level-right fs24 color"> | |
138 | - <view>注:剩余可预约人数{{tment_count}}人</view> | |
139 | - </view> --> | |
140 | - | |
141 | - | |
86 | + </scroll-view> | |
142 | 87 | </view> |
143 | 88 | </view> |
144 | 89 | |
... | ... | @@ -146,9 +91,10 @@ |
146 | 91 | <navigator class="appment flex-center" url="/pages/user/my_service/tment_order_list"> |
147 | 92 | <view>我的预约</view> |
148 | 93 | </navigator> |
149 | - <form report-submit='true' bindtap="sub_success"> | |
150 | - <button form-type="submit" class="sub_appment flex-center">帮你预约</button> | |
151 | - </form> | |
94 | + <form report-submit='true' bindtap="sub_success"> | |
95 | + <button wx:if="{{is_sub}}" class="sub_appment flex-center">预约中..</button> | |
96 | + <button wx:else form-type="submit" class="sub_appment flex-center">帮你预约</button> | |
97 | + </form> | |
152 | 98 | </view> |
153 | 99 | |
154 | 100 | |
... | ... | @@ -165,7 +111,7 @@ |
165 | 111 | </view> |
166 | 112 | </view> |
167 | 113 | <!-- 选择门店 --> |
168 | - <scroll-view class="stores" scroll-y="{{isScroll}}" enable-back-to-top="true" bindscrolltolower="onReachBottom"> | |
114 | + <scroll-view class="stores" scroll-y="{{isScroll}}" enable-back-to-top="true" bindscrolltolower="onGetBottom"> | |
169 | 115 | <view class="store flex-vertical" wx:for="{{store_list}}" bindtap="choose_for_store" data-ind="{{index}}"> |
170 | 116 | <block wx:if="{{index==fir_pick_index}}"> |
171 | 117 | <icon class="icon" type="success" color="red" size="20"></icon> |
... | ... | @@ -206,8 +152,9 @@ |
206 | 152 | |
207 | 153 | <!-- 制作一个圆球导航 --> |
208 | 154 | <!-- <nav_b id="nav_b"></nav_b> --> |
209 | - | |
155 | +<!-- | |
210 | 156 | <view class="copy" wx:if="{{copy_btn}}" style="position:absolute;left:{{write[0]}}px;top:{{write[1]}}px;"> |
211 | 157 | <text class="iconfont icon-meirong fs40"></text> |
212 | - <view class="fs24">{{projectName}}</view> | |
213 | -</view> | |
214 | 158 | \ No newline at end of file |
159 | + <view class="fs24">{{sele_project.ServiceName}}</view> | |
160 | +</view>--> | |
161 | + | ... | ... |
packageA/pages/my_service2/appment_main.wxss
1 | 1 | page, |
2 | 2 | .area { |
3 | 3 | width: 100%; |
4 | - height: 100%; | |
4 | + height: 100%; | |
5 | + position: relative; | |
5 | 6 | } |
6 | 7 | |
7 | - | |
8 | - | |
9 | - | |
10 | 8 | /* .container { |
11 | 9 | border-top: 7rpx solid rgb(245, 245, 245); |
12 | 10 | justify-content: baseline; |
... | ... | @@ -188,7 +186,7 @@ button { |
188 | 186 | } |
189 | 187 | |
190 | 188 | .storeList { |
191 | - z-index: 5; | |
189 | + z-index: 1500; | |
192 | 190 | left: 0rpx; |
193 | 191 | border-top-left-radius: 25rpx; |
194 | 192 | border-top-right-radius: 25rpx; |
... | ... | @@ -301,7 +299,8 @@ button { |
301 | 299 | .table { |
302 | 300 | background-color: white; |
303 | 301 | /* border-top: 2rpx solid rgba(218, 217, 217, 1); |
304 | - border-left: 2rpx solid rgba(218, 217, 217, 1); */ | |
302 | + border-left: 2rpx solid rgba(218, 217, 217, 1); */ | |
303 | + width: 100%;height: auto; overflow: hidden; margin-bottom: 20rpx; | |
305 | 304 | } |
306 | 305 | .blue { |
307 | 306 | background: rgba(241, 252, 255, 1); |
... | ... | @@ -339,17 +338,17 @@ button { |
339 | 338 | |
340 | 339 | .card { |
341 | 340 | position: fixed; |
342 | - width: 110rpx; | |
343 | - top: 50%; | |
341 | + width: 130rpx; | |
342 | + /* top: 50%; */ | |
344 | 343 | right: 0; |
345 | 344 | /* min-height: 400rpx; */ |
346 | - max-height: 700rpx; | |
347 | - overflow-y: auto; | |
348 | - transform: translateY(-50%); | |
345 | + /* max-height: 700rpx; */ | |
346 | + /* transform: translateY(-50%); */ | |
349 | 347 | background-color: white; |
350 | 348 | border-radius: 10rpx; |
351 | 349 | box-shadow: -2px 0px 6px #aaa; |
352 | - z-index: 1000; | |
350 | + z-index: 1000; | |
351 | + top:160rpx | |
353 | 352 | } |
354 | 353 | |
355 | 354 | .icon-meirong { |
... | ... | @@ -443,3 +442,6 @@ button { |
443 | 442 | } |
444 | 443 | |
445 | 444 | |
445 | + | |
446 | + | |
447 | + | ... | ... |
packageA/pages/my_service2/g_filter.wxs
1 | 1 | var g_filters = { |
2 | - is_no_time:function(item,subindex,timeArr){ | |
2 | + is_no_time:function(item,subindex,timeArr,sele_project){ | |
3 | + if(!sele_project || !sele_project.ServiceID) return false; | |
3 | 4 | var t_time=timeArr[subindex]; |
4 | - var time_arr=item.time.split("-"); | |
5 | - | |
6 | - var t_date=getDate(); | |
7 | - var t_date_str=t_date.getFullYear()+"-"+(t_date.getMonth() + 1)+"-"+t_date.getDate()+" " | |
8 | - | |
9 | - var this_time =t_date_str+t_time.substring(0, 19); | |
10 | - var reg = getRegExp("-", "g"); | |
11 | - this_time = this_time.replace(reg, '/'); | |
12 | - var t1 = getDate(this_time); | |
13 | - | |
14 | - var fmt1 =t_date_str+time_arr[0].substring(0, 19); | |
15 | - var reg = getRegExp("-", "g"); | |
16 | - var fmt2 = fmt1.replace(reg, '/'); | |
17 | - var t2 = getDate(fmt2); | |
18 | - | |
19 | - if(t1<t2) return true; | |
20 | - if(time_arr.length>1){ | |
21 | - var ft1 =t_date_str+time_arr[1].substring(0, 19); | |
22 | - var reg = getRegExp("-", "g"); | |
23 | - var ft2 = ft1.replace(reg, '/'); | |
24 | - var t3 = getDate(ft2); | |
25 | - if(t1>t3) return true; | |
26 | - } | |
27 | - return false; | |
5 | + var time_arr=item.listtime; | |
6 | + | |
7 | + for(var i=0;i<time_arr.length;i++){ | |
8 | + if(t_time==time_arr[i].stime && time_arr[i].iskyy==true){ | |
9 | + //如果没有项目的话 | |
10 | + if(time_arr[i].itemids){ | |
11 | + var project_arr=time_arr[i].itemids.split(','); | |
12 | + //如果没有相应的项目的话 | |
13 | + if(project_arr && project_arr.indexOf(sele_project.ServiceID)!=-1) return false; | |
14 | + | |
15 | + } | |
16 | + } | |
17 | + } | |
18 | + | |
19 | + return true; | |
28 | 20 | }, |
29 | 21 | |
30 | 22 | } | ... | ... |
pages/cart/cart2/cart2.js
... | ... | @@ -226,8 +226,10 @@ Page({ |
226 | 226 | getApp().getConfig2(function (ee) { |
227 | 227 | var json_d = JSON.parse(ee.switch_list); |
228 | 228 | th.data.json_d=json_d; |
229 | - th.data.ispt_goods=json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 | |
230 | - th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules,rank_switch:json_d.rank_switch}); | |
229 | + th.data.ispt_goods=json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 | |
230 | + var is_default_logistics=json_d.is_default_logistics; | |
231 | + | |
232 | + th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules,rank_switch:json_d.rank_switch,is_default_logistics:is_default_logistics}); | |
231 | 233 | |
232 | 234 | var rank_switch=json_d.rank_switch; |
233 | 235 | var max_price=-1; |
... | ... | @@ -279,8 +281,15 @@ Page({ |
279 | 281 | //-------------------获取物流--------------- |
280 | 282 | get_wuliu(func) { |
281 | 283 | var th = this; |
282 | - to.getwuliu(function (e) { | |
283 | - th.setData({ wu_arr: e }) | |
284 | + to.getwuliu(function (e) { | |
285 | + //系统是是否开启了默认的物流 | |
286 | + if(th.data.is_default_logistics){ | |
287 | + //如果第一个不是开启默认,说明要让用户自己选 | |
288 | + if(!e[0].is_default){ | |
289 | + th.setData({is_default_logistics:0}); | |
290 | + } | |
291 | + } | |
292 | + th.setData({ wu_arr: e }) | |
284 | 293 | typeof func == "function" && func(); |
285 | 294 | }) |
286 | 295 | }, |
... | ... | @@ -1627,6 +1636,10 @@ Page({ |
1627 | 1636 | |
1628 | 1637 | total_m= parseFloat( total_m)+ parseFloat( th.data.formData.shipping_price); |
1629 | 1638 | order_m = parseFloat(order_m)+ parseFloat( th.data.formData.shipping_price); |
1639 | + | |
1640 | + total_m=total_m.toFixed(2); | |
1641 | + order_m=order_m.toFixed(2); | |
1642 | + | |
1630 | 1643 | var atxt= "formData.total_amount"; |
1631 | 1644 | th.setData({ [atxt]: total_m, }) |
1632 | 1645 | |
... | ... | @@ -1675,6 +1688,10 @@ Page({ |
1675 | 1688 | total_m= parseFloat( total_m)+ parseFloat( th.data.formData.shipping_price); |
1676 | 1689 | order_m = parseFloat(order_m)+ parseFloat( th.data.formData.shipping_price); |
1677 | 1690 | var atxt= "formData.total_amount"; |
1691 | + | |
1692 | + total_m=total_m.toFixed(2); | |
1693 | + order_m=order_m.toFixed(2); | |
1694 | + | |
1678 | 1695 | th.setData({ [atxt]: total_m, }) |
1679 | 1696 | |
1680 | 1697 | var txt = "formData.user_money"; |
... | ... | @@ -1871,7 +1888,10 @@ Page({ |
1871 | 1888 | |
1872 | 1889 | //积分购,先要带is_integral_normal=1 |
1873 | 1890 | if(gg.is_integral_normal) goods.is_integral_normal=1; |
1874 | - | |
1891 | + | |
1892 | + //先要带is_pd_normal=1 | |
1893 | + if(gg.is_pd_normal) goods.is_pd_normal=1; | |
1894 | + | |
1875 | 1895 | //如果不立即购买或者秒杀,如果是线下库存购买的时候 |
1876 | 1896 | if(goods.prom_type!=1 && goods.prom_type!=6 && th.data.sales_rules==2){ |
1877 | 1897 | var isok=1; | ... | ... |
pages/cart/cart2/cart2.wxml
... | ... | @@ -4,13 +4,35 @@ |
4 | 4 | |
5 | 5 | <form bindsubmit="submitForm"> |
6 | 6 | <view class="container"> |
7 | - <view class="tab-container"> | |
8 | - <view class="tab-wrapper"> | |
9 | - <block wx:for="{{tabs}}"> | |
10 | - <view class="tab {{currentTabIndex == index ? 'active':''}}" data-t='{{!index ? 1:0}}' data-ind="0" data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" bindtap="clickTab" style="display:{{item.distr_t==1 ? 'none':(item.distr_t==2 ? 'none':'')}};">{{item}}</view> | |
11 | - </block> | |
7 | + | |
8 | + <!-- 立即购买的时候 --> | |
9 | + <block wx:if="{{is_b_now==1}}"> | |
10 | + <view class="tab-container"> | |
11 | + <view class="tab-wrapper"> | |
12 | + <view hidden="{{bn_t_exp_t==2}}" bindtap='setexptype' data-t='1' class="tab {{bn_exp_type == 1? 'active':''}}" | |
13 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >门店自提</view> | |
14 | + | |
15 | + <view hidden="{{bn_t_exp_t==1}}" bindtap='setexptype' data-t='0' class="tab {{bn_exp_type== 0 ? 'active':''}}" | |
16 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >快递邮寄</view> | |
17 | + | |
18 | + </view> | |
12 | 19 | </view> |
13 | - </view> | |
20 | + </block> | |
21 | + <!-- 购物购买只有一单的时候 --> | |
22 | + <block wx:if="{{is_b_now==0 && cartlist.length==1}}"> | |
23 | + <view class="tab-container"> | |
24 | + <view class="tab-wrapper"> | |
25 | + <view hidden="{{cartlist[0].distr_t==2}}" bindtap='setexptype_w' data-ind="0" data-t='1' class="tab {{cartlist[0].exp_type == 1? 'active':''}}" | |
26 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >门店自提</view> | |
27 | + | |
28 | + <view hidden="{{cartlist[0].distr_t==1}}" bindtap='setexptype_w' data-ind="0" data-t='0' class="tab {{cartlist[0].exp_type== 0 ? 'active':''}}" | |
29 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >快递邮寄</view> | |
30 | + | |
31 | + </view> | |
32 | + </view> | |
33 | + </block> | |
34 | + | |
35 | + | |
14 | 36 | <!--要进行判断地址是否显示----> |
15 | 37 | <view bindtap="enterAddressPage" class="user-mes mgt20" hidden='{{(bn_exp_type==1 && is_b_now==1) || (is_all_zt==1 && is_b_now==0)}}'> |
16 | 38 | <!---默认地址显示------> |
... | ... | @@ -45,7 +67,7 @@ |
45 | 67 | </view> --> |
46 | 68 | </view> |
47 | 69 | |
48 | - <!---------------------购物车进来,有可能多单----------------------> | |
70 | + <!-- -------------------购物车进来,有可能多单-------------------- --> | |
49 | 71 | <block wx:if="{{is_b_now==0}}"> |
50 | 72 | <!-- <view class="xc-border main-top"></view> --> |
51 | 73 | <view wx:for="{{cartlist}}" wx:for-index="pidx"> |
... | ... | @@ -124,63 +146,61 @@ |
124 | 146 | <icon color="#f23030" size="16" type="info"></icon> |
125 | 147 | {{order.store_prom}} |
126 | 148 | </view> |
127 | - | |
128 | - <view class="use-item flex-space-between" wx:if="{{item.exp_type==0}}"> | |
129 | - <!-- <view class="flex-vertical"> --> | |
130 | - <!-- <view bindtap='setexptype_w' data-ind="{{pidx}}" data-t='1' data-txt='cartlist[{{pidx}}].exp_type' style="padding-right:26rpx;display:none"> --> | |
131 | - <!-- <view bindtap='setexptype_w' data-ind="{{pidx}}" data-t='1' data-txt='cartlist[{{pidx}}].exp_type' style="padding-right:26rpx;display:{{item.distr_t==2?'none':'flex;align-items: center'}};"> --> | |
149 | + | |
150 | + <view class="use-item flex-space-between" wx:if="{{cartlist.length>1}}"> | |
151 | + <view class="flex-vertical" > | |
152 | + <view bindtap='setexptype_w' data-ind="{{pidx}}" data-t='1' data-txt='cartlist[{{pidx}}].exp_type' | |
153 | + style="padding-right:26rpx;display:{{item.distr_t==2?'none':'flex;align-items: center'}};"> | |
132 | 154 | <!-- <icon bindtap='setexptype_w' data-t='1' data-txt='cartlist[{{pidx}}].exp_type' color="{{item.exp_type==1?'red':'gray'}}" size="16" type="success"></icon> --> |
133 | - | |
134 | - | |
135 | - | |
136 | - <!-- <block wx:if="{{item.exp_type==1}}"> | |
155 | + | |
156 | + <block wx:if="{{item.exp_type==1}}"> | |
137 | 157 | <!-- <view class="circle white xc-hookt fs20 red-b sn"><text>Γ</text></view> --> |
138 | - <!-- <icon data-t='0' data-txt='cartlist[{{pidx}}].exp_type' color="red" size="16" type="success"></icon> --> | |
139 | - <!-- </block> --> | |
140 | - <!-- <block wx:else> | |
158 | + <icon data-t='0' data-txt='cartlist[{{pidx}}].exp_type' color="red" size="16" type="success"></icon> | |
159 | + </block> | |
160 | + <block wx:else> | |
141 | 161 | <view class="circle xc-hookts on"></view> |
142 | - </block> --> | |
143 | - <!-- <view bindtap='setexptype_w' data-ind="{{pidx}}" data-t='1' data-txt='cartlist[{{pidx}}].exp_type' class="yu_er">门店自提</view> --> | |
144 | - <!-- </view> --> | |
145 | - | |
146 | - <!-- <view data-t='0' data-txt='cartlist[{{pidx}}].exp_type' data-ind="{{pidx}}" bindtap="setexptype_w" style="display:none;"> --> | |
147 | - <!-- <view data-t='0' data-txt='cartlist[{{pidx}}].exp_type' data-ind="{{pidx}}" bindtap="setexptype_w" style="display:{{item.distr_t==1?'none':'flex;align-items: center'}};"> --> | |
162 | + </block> | |
163 | + <view bindtap='setexptype_w' data-ind="{{pidx}}" data-t='1' data-txt='cartlist[{{pidx}}].exp_type' class="yu_er">门店自提</view> | |
164 | + </view> | |
165 | + | |
166 | + <view data-t='0' data-txt='cartlist[{{pidx}}].exp_type' data-ind="{{pidx}}" bindtap="setexptype_w" style="display:{{item.distr_t==1?'none':'flex;align-items: center'}};"> | |
148 | 167 | <!-- <icon bindtap='setexptype_w' data-t='0' data-txt='cartlist[{{pidx}}].exp_type' color="{{item.exp_type==0?'red':'gray'}}" size="16" type="success"></icon> --> |
149 | - <!-- <block wx:if="{{item.exp_type==0}}"> | |
168 | + <block wx:if="{{item.exp_type==0}}"> | |
150 | 169 | <!-- <view class="circle white xc-hookt fs20 red-b sn"><text>Γ</text></view> --> |
151 | - <!-- <icon data-t='0' data-txt='cartlist[{{pidx}}].exp_type' color="red" size="16" type="success"></icon> | |
170 | + <icon data-t='0' data-txt='cartlist[{{pidx}}].exp_type' color="red" size="16" type="success"></icon> | |
152 | 171 | </block> |
153 | 172 | <block wx:else> |
154 | 173 | <view class="circle xc-hookts on"></view> |
155 | 174 | </block> |
156 | - | |
175 | + | |
157 | 176 | <view bindtap='setexptype_w' data-t='0' data-ind="{{pidx}}" data-txt='cartlist[{{pidx}}].exp_type' data-wl_txt='cartlist[{{pidx}}].wind' |
158 | 177 | class="yu_er">快递邮寄</view> |
159 | - </view> --> | |
160 | - <view>配送方式</view> | |
161 | - <block wx:if="{{item.exp_type==0}}"> | |
162 | - <!-- 点击显示物流选择 --> | |
163 | - <view class="flex-vertical" bindtap="show_wu_arr" data-txt='cartlist[{{pidx}}].wind' data-w_sele_index="{{pidx}}" style="padding-right:6rpx;"> | |
164 | - <view>{{wu_arr[item.wind].name}}</view> | |
165 | - <view class="xc-right"></view> | |
166 | - </view> | |
167 | - </block> | |
178 | + </view> | |
168 | 179 | </view> |
169 | - <!-- <block wx:if="{{item.exp_type==0}}"> --> | |
170 | - <!-- 点击显示物流选择 --> | |
171 | - <!-- <view class="flex-vertical" bindtap="show_wu_arr" data-txt='cartlist[{{pidx}}].wind' data-w_sele_index="{{pidx}}" style="padding-right:6rpx;"> | |
180 | + <!-- 当是物流很多单的时候 --> | |
181 | + | |
182 | + <!-- 点击显示物流选择,如果是默认使用的情况不成立 --> | |
183 | + <view wx:if="{{!is_default_logistics}}" class="flex-vertical" bindtap="show_wu_arr" data-txt='cartlist[{{pidx}}].wind' data-w_sele_index="{{pidx}}" style="padding-right:6rpx;"> | |
184 | + <view>{{wu_arr[item.wind].name}}</view> | |
185 | + <view class="xc-right"></view> | |
186 | + </view> | |
187 | + | |
188 | + </view> | |
189 | + | |
190 | + <!-- 当是物流,只有一单的时候 --> | |
191 | + <block wx:else > | |
192 | + <view class="use-item flex-space-between" wx:if="{{item.exp_type==0 && !is_default_logistics}}"> | |
193 | + <view class="flex jc_sb" style="width: 100%; padding: 0 13rpx;"> | |
194 | + <view>选择物流</view> | |
195 | + <view class="flex-vertical" bindtap="show_wu_arr" data-txt='cartlist[{{pidx}}].wind' data-w_sele_index="{{pidx}}" style="padding-right:6rpx;"> | |
172 | 196 | <view>{{wu_arr[item.wind].name}}</view> |
173 | 197 | <view class="xc-right"></view> |
174 | 198 | </view> |
175 | - </block> --> | |
176 | - <!-- </view> --> | |
177 | - | |
178 | - <!-- <view bindtap="express_name" class="use-item" hidden='{{item.exp_type==1}}'> | |
179 | - <view>选择物流:</view> --> | |
180 | - <!-- <picker bindchange="bindPickerChange_w" data-txt='cartlist[{{pidx}}].wind' value="{{item.wind}}" range="{{wu_arr}}" range-key="name"> | |
181 | - <view >{{wu_arr[item.wind].name}}</view> | |
182 | - </picker> --> | |
183 | - <!-- </view> --> | |
199 | + </view> | |
200 | + </view> | |
201 | + </block> | |
202 | + | |
203 | + | |
184 | 204 | </view> |
185 | 205 | |
186 | 206 | <!-- 留言 --> |
... | ... | @@ -211,7 +231,7 @@ |
211 | 231 | |
212 | 232 | </view> |
213 | 233 | |
214 | - <!-----使用余额------> | |
234 | + <!-- ---使用余额---- --> | |
215 | 235 | <view class="set-mes bdr_t-14" wx:if="{{yuer>0}}"> |
216 | 236 | <view class="use-item" bindtap='set_js_useyuer'> |
217 | 237 | <icon color="{{js_use_money?'red':'gray'}}" size="16" type="success"></icon> |
... | ... | @@ -221,7 +241,7 @@ |
221 | 241 | |
222 | 242 | </block> |
223 | 243 | |
224 | - <!------立即购买--------> | |
244 | + <!-- ----立即购买------ --> | |
225 | 245 | <!-- <view class="xc-border xc-border"></view> --> |
226 | 246 | <block wx:if="{{is_b_now==1}}"> |
227 | 247 | <view class="use-item bfff bdr_t-14 mgt20"> |
... | ... | @@ -247,7 +267,7 @@ |
247 | 267 | </view> |
248 | 268 | </view> |
249 | 269 | |
250 | - <!-----商品名称规格------> | |
270 | + <!-- ---商品名称规格---- --> | |
251 | 271 | <view class="order-num flex-space-between"> |
252 | 272 | <view class="co-red">¥<text class="fs36">{{filters.toFix(bn_goods.shop_price,2)}}</text></view> |
253 | 273 | <view class="goods-num">x{{bn_goods.buynum}}</view> |
... | ... | @@ -270,7 +290,7 @@ |
270 | 290 | <block><text>{{filters.show_gui_ge(buy_now_gift_goods.goods_spec,buy_now_gift_goods.goods_color)}}</text></block> |
271 | 291 | </view> |
272 | 292 | </view> |
273 | - <!-----商品名称规格------> | |
293 | + <!-- ---商品名称规格---- --> | |
274 | 294 | <view class="order-num flex-space-between"> |
275 | 295 | <view class="co-red">¥<text class="fs36">0</text></view> |
276 | 296 | <view class="goods-num">x{{buy_now_gift_goods.buynum}}</view> |
... | ... | @@ -293,7 +313,7 @@ |
293 | 313 | <block><text>{{filters.show_gui_ge(item.goods_spec,item.goods_color)}}</text></block> |
294 | 314 | </view> |
295 | 315 | </view> |
296 | - <!-----商品名称规格------> | |
316 | + <!-- ---商品名称规格---- --> | |
297 | 317 | <view class="order-num flex-space-between"> |
298 | 318 | <view class="co-red">¥<text class="fs36">{{item.price}}</text></view> |
299 | 319 | <view class="goods-num">x{{item.goods_num}}</view> |
... | ... | @@ -342,24 +362,14 @@ |
342 | 362 | </view> |
343 | 363 | </view> |
344 | 364 | |
345 | - <view class="use-item flex-space-between"> | |
346 | - <view class="flex"> | |
347 | - <!-- <view bindtap='setexptype' data-t='1' data-txt='cartlist[{{pidx}}].exp_type' style="padding-right:26rpx;display:{{bn_t_exp_t==2?'none':'flex;align-items:center;'}};"> | |
348 | - <icon color="{{bn_exp_type==1?'red':'gray'}}" size="16" type="success"></icon> | |
349 | - <view class="yu_er">门店自提</view> | |
350 | - </view> --> | |
351 | - <!-- <view bindtap='setexptype' data-t='0' data-txt='cartlist[{{pidx}}].exp_type' style="display:{{bn_t_exp_t==1?'none':'flex;align-items:center;'}};"> | |
352 | - <icon color="{{bn_exp_type==0?'red':'gray'}}" size="16" type="success"></icon> | |
353 | - <view class="yu_er">快递邮寄</view> | |
354 | - </view> --> | |
355 | - <view>配送方式</view> | |
356 | - </view> | |
357 | - <block wx:if="{{bn_exp_type==0}}"> | |
358 | - <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index'> | |
359 | - <view class="logistics-name">{{wu_arr[index].name}}</view> | |
360 | - <view class="xc-right"></view> | |
365 | + <view class="xc-coupon-frame" wx:if="{{bn_exp_type==0 && !is_default_logistics}}"> | |
366 | + <view class="flex-space-between" style="padding: 20rpx 25rpx; font-size: 30rpx;"> | |
367 | + <view>选择物流</view> | |
368 | + <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index' style="margin-right: 12rpx;"> | |
369 | + <view class="logistics-name">{{wu_arr[index].name}}</view> | |
370 | + <view class="xc-right"></view> | |
361 | 371 | </view> |
362 | - </block> | |
372 | + </view> | |
363 | 373 | </view> |
364 | 374 | </view> |
365 | 375 | <!-- 留言 --> | ... | ... |
pages/cart/cart2_inte/cart2_inte.js
... | ... | @@ -93,8 +93,9 @@ Page({ |
93 | 93 | getApp().getConfig2(function (ee) { |
94 | 94 | var json_d = JSON.parse(ee.switch_list); |
95 | 95 | th.data.json_d=json_d; |
96 | - th.data.ispt_goods=json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 | |
97 | - th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules,rank_switch:json_d.rank_switch}); | |
96 | + th.data.ispt_goods=json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 | |
97 | + var is_default_logistics=json_d.is_default_logistics; | |
98 | + th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules,rank_switch:json_d.rank_switch,is_default_logistics:is_default_logistics}); | |
98 | 99 | |
99 | 100 | var rank_switch=json_d.rank_switch; |
100 | 101 | var max_price=-1; |
... | ... | @@ -204,8 +205,14 @@ Page({ |
204 | 205 | get_wuliu(func) { |
205 | 206 | var th = this; |
206 | 207 | to.getwuliu(function (e) { |
207 | - th.setData({ wu_arr: e }) | |
208 | - typeof func == "function" && func(); | |
208 | + if(th.data.is_default_logistics){ | |
209 | + //如果第一个不是开启默认,说明要让用户自己选 | |
210 | + if(!e[0].is_default){ | |
211 | + th.setData({is_default_logistics:0}); | |
212 | + } | |
213 | + } | |
214 | + th.setData({ wu_arr: e }) | |
215 | + typeof func == "function" && func(); | |
209 | 216 | }) |
210 | 217 | }, |
211 | 218 | //------获取会员信息-----先获取用户信息,在进行下一步--- | ... | ... |
pages/cart/cart2_inte/cart2_inte.wxml
... | ... | @@ -4,6 +4,19 @@ |
4 | 4 | |
5 | 5 | <form bindsubmit="submitForm"> |
6 | 6 | <view class="container"> |
7 | + | |
8 | + <view class="tab-container"> | |
9 | + <view class="tab-wrapper"> | |
10 | + <view hidden="{{bn_t_exp_t==2}}" bindtap='setexptype' data-t='1' class="tab {{bn_exp_type == 1? 'active':''}}" | |
11 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >门店自提</view> | |
12 | + | |
13 | + <view hidden="{{bn_t_exp_t==1}}" bindtap='setexptype' data-t='0' class="tab {{bn_exp_type== 0 ? 'active':''}}" | |
14 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >快递邮寄</view> | |
15 | + | |
16 | + </view> | |
17 | + </view> | |
18 | + | |
19 | + | |
7 | 20 | <!--要进行判断地址是否显示----> |
8 | 21 | <view bindtap="enterAddressPage" class="user-mes mgt20" hidden='{{(bn_exp_type==1 && is_b_now==1) || (is_all_zt==1 && is_b_now==0)}}'> |
9 | 22 | <!---默认地址显示------> |
... | ... | @@ -90,24 +103,18 @@ |
90 | 103 | </view> |
91 | 104 | </view> |
92 | 105 | |
93 | - <view class="use-item flex-space-between"> | |
94 | - <view class="flex"> | |
95 | - <view bindtap='setexptype' data-t='1' data-txt='cartlist[{{pidx}}].exp_type' style="padding-right:26rpx;display:{{bn_t_exp_t==2?'none':'flex;align-items:center;'}};"> | |
96 | - <icon color="{{bn_exp_type==1?'red':'gray'}}" size="16" type="success"></icon> | |
97 | - <view class="yu_er">门店自提</view> | |
98 | - </view> | |
99 | - <view bindtap='setexptype' data-t='0' data-txt='cartlist[{{pidx}}].exp_type' style="display:{{bn_t_exp_t==1?'none':'flex;align-items:center;'}};"> | |
100 | - <icon color="{{bn_exp_type==0?'red':'gray'}}" size="16" type="success"></icon> | |
101 | - <view class="yu_er">快递邮寄</view> | |
102 | - </view> | |
103 | - </view> | |
104 | - <block wx:if="{{bn_exp_type==0}}"> | |
105 | - <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index'> | |
106 | - <view class="logistics-name">{{wu_arr[index].name}}</view> | |
107 | - <view class="xc-right"></view> | |
106 | + | |
107 | + | |
108 | + <block wx:if="{{bn_exp_type==0 && !is_default_logistics}}"> | |
109 | + <view class="use-item flex-space-between"> | |
110 | + <view>选择物流</view> | |
111 | + <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index' style="margin-right: 8rpx;"> | |
112 | + <view class="logistics-name">{{wu_arr[index].name}}</view> | |
113 | + <view class="xc-right"></view> | |
114 | + </view> | |
108 | 115 | </view> |
109 | 116 | </block> |
110 | - </view> | |
117 | + | |
111 | 118 | </view> |
112 | 119 | |
113 | 120 | <view class="coupon-mes flex-vertical"> | ... | ... |
pages/cart/cart2_inte/cart2_inte.wxss
... | ... | @@ -252,7 +252,7 @@ margin:auto; */ |
252 | 252 | } |
253 | 253 | |
254 | 254 | .btn-wrap { |
255 | - height: 94rpx; | |
255 | + height: 100rpx; | |
256 | 256 | box-sizing: border-box; |
257 | 257 | display: flex; |
258 | 258 | justify-content: space-between; |
... | ... | @@ -262,7 +262,8 @@ margin:auto; */ |
262 | 262 | bottom: 0; |
263 | 263 | left: 0; |
264 | 264 | width: 100%; |
265 | - padding: 0 30rpx; | |
265 | + padding: 0 30rpx; | |
266 | + font-size: 30rpx; | |
266 | 267 | } |
267 | 268 | |
268 | 269 | .tips-btn { |
... | ... | @@ -958,3 +959,28 @@ margin-left: 20rpx; |
958 | 959 | top:36rpx |
959 | 960 | } |
960 | 961 | |
962 | + | |
963 | +.tab-container { | |
964 | + font-size: 28rpx; | |
965 | + margin-top: 20rpx; | |
966 | + display: flex; | |
967 | +} | |
968 | + | |
969 | +.tab-wrapper { | |
970 | + background-color: #ccc; | |
971 | + display: flex; | |
972 | + border-radius: 40rpx; | |
973 | + overflow: hidden; | |
974 | +} | |
975 | + | |
976 | +.tab { | |
977 | + padding: 20rpx 30rpx; | |
978 | + | |
979 | +} | |
980 | + | |
981 | + | |
982 | +.tab.active { | |
983 | + background-color: white; | |
984 | + border-radius: 40rpx; | |
985 | +} | |
986 | + | ... | ... |
pages/cart/cart2_pt/cart2_pt.js
... | ... | @@ -95,8 +95,12 @@ Page({ |
95 | 95 | var th = this; |
96 | 96 | console.log("getwuliu4545"); |
97 | 97 | to.getwuliu(function (e) { |
98 | - console.log("ws"); | |
99 | - console.log(e); | |
98 | + if (th.data.is_default_logistics) { | |
99 | + //如果第一个不是开启默认,说明要让用户自己选 | |
100 | + if (!e[0].is_default) { | |
101 | + th.setData({ is_default_logistics: 0 }); | |
102 | + } | |
103 | + } | |
100 | 104 | th.setData({ wu_arr: e }) |
101 | 105 | typeof func == "function" && func(); |
102 | 106 | }) |
... | ... | @@ -277,80 +281,81 @@ Page({ |
277 | 281 | }, |
278 | 282 | |
279 | 283 | //----------子页返回父页触发---------- |
280 | - onShow: function() { | |
281 | - var th=this; | |
282 | - if (th.data.isclose==0){ | |
283 | - wx.navigateTo({ | |
284 | - url: "/pages/index/index/index" | |
285 | - }) | |
286 | - }else{ | |
287 | - this.getuser_addr(function(ie){ | |
288 | - //更换地址回来要重新调用计算价钱的接口 | |
289 | - th.setData({user_addr: ie }); | |
290 | - if(!th.data.user_addr || th.data.user_addr.address_id!=ie.address_id){ | |
291 | - th.setData({add_back:1}); | |
292 | - if(this.data.bn_goods) th.calculatePrice2(); | |
293 | - } | |
294 | - }) | |
295 | - //--更新默认地址--,看一下是不是跳到地址页面 | |
296 | - if(!getApp().globalData.is_cart_old){ | |
297 | - this.update_code(); | |
298 | - }else{ | |
299 | - getApp().globalData.is_cart_old=0; | |
300 | - } | |
301 | - } | |
302 | - | |
303 | - | |
304 | - //先获取是否有关闭使用优惠券 | |
305 | - getApp().getConfig2(function (ee) { | |
306 | - var json_d = JSON.parse(ee.switch_list); | |
307 | - th.data.json_d=json_d; | |
308 | - th.data.ispt_goods=json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 | |
309 | - th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules,rank_switch:json_d.rank_switch}); | |
310 | - | |
311 | - var rank_switch=json_d.rank_switch; | |
312 | - var max_price=-1; | |
313 | - var show_card=null; | |
314 | - var name=""; | |
315 | - //如果有开等级卡的时候, | |
316 | - //因为都是调接口,要返回在计算 | |
317 | - if(rank_switch==2){ | |
318 | - //-- 获取所有的等级卡, -- | |
319 | - getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?storeId=" + os.stoid, | |
320 | - {}).then(res => { | |
321 | - if(res.data.code==0){ | |
322 | - var plusCard = res.data.data; | |
323 | - //-- 循环判断,拿到最贵的那张卡 -- | |
324 | - for(var ih in plusCard){ | |
325 | - if(plusCard[ih].IsStopBuy == true){ continue; } | |
326 | - if(max_price<0){ | |
327 | - max_price=plusCard[ih].CardFee; | |
328 | - name='card'+plusCard[ih]['CorrPrice']; | |
329 | - show_card=plusCard[ih]; | |
330 | - }else{ | |
331 | - if(max_price<plusCard[ih].CardFee){ | |
332 | - max_price=plusCard[ih].CardFee; | |
333 | - name='card'+plusCard[ih]['CorrPrice']; | |
334 | - show_card=plusCard[ih]; | |
335 | - } | |
336 | - } | |
337 | - } | |
338 | - | |
339 | - if(show_card){ | |
340 | - name=name.toLowerCase(); | |
341 | - th.setData({card_name:name,show_card:show_card}) | |
342 | - } | |
343 | - } | |
344 | - //-----先获取物流,再获取用户信息,再展示页面----- | |
345 | - th.get_wuliu(th.get_info(th.show_page)); | |
346 | - }) | |
347 | - }else{ | |
348 | - //-----先获取物流,再获取用户信息,再展示页面----- | |
349 | - th.get_wuliu(th.get_info(th.show_page)); | |
350 | - } | |
351 | - },1) | |
352 | - | |
353 | - | |
284 | + onShow: function () { | |
285 | + var th = this; | |
286 | + if (th.data.isclose == 0) { | |
287 | + wx.navigateTo({ | |
288 | + url: "/pages/index/index/index" | |
289 | + }) | |
290 | + } else { | |
291 | + this.getuser_addr(function (ie) { | |
292 | + //更换地址回来要重新调用计算价钱的接口 | |
293 | + th.setData({ user_addr: ie }); | |
294 | + if (!th.data.user_addr || th.data.user_addr.address_id != ie.address_id) { | |
295 | + th.setData({ add_back: 1 }); | |
296 | + if (this.data.bn_goods) th.calculatePrice2(); | |
297 | + } | |
298 | + }) | |
299 | + //--更新默认地址--,看一下是不是跳到地址页面 | |
300 | + if (!getApp().globalData.is_cart_old) { | |
301 | + this.update_code(); | |
302 | + } else { | |
303 | + getApp().globalData.is_cart_old = 0; | |
304 | + } | |
305 | + } | |
306 | + | |
307 | + | |
308 | + //先获取是否有关闭使用优惠券 | |
309 | + getApp().getConfig2(function (ee) { | |
310 | + var json_d = JSON.parse(ee.switch_list); | |
311 | + th.data.json_d = json_d; | |
312 | + th.data.ispt_goods = json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 | |
313 | + var is_default_logistics = json_d.is_default_logistics; | |
314 | + | |
315 | + th.setData({ is_close_quan: json_d.is_close_quan, sales_rules: ee.sales_rules, rank_switch: json_d.rank_switch, is_default_logistics: is_default_logistics }); | |
316 | + | |
317 | + var rank_switch = json_d.rank_switch; | |
318 | + var max_price = -1; | |
319 | + var show_card = null; | |
320 | + var name = ""; | |
321 | + //如果有开等级卡的时候, | |
322 | + //因为都是调接口,要返回在计算 | |
323 | + if (rank_switch == 2) { | |
324 | + //-- 获取所有的等级卡, -- | |
325 | + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?storeId=" + os.stoid, | |
326 | + {}).then(res => { | |
327 | + if (res.data.code == 0) { | |
328 | + var plusCard = res.data.data; | |
329 | + //-- 循环判断,拿到最贵的那张卡 -- | |
330 | + for (var ih in plusCard) { | |
331 | + if (plusCard[ih].IsStopBuy == true) { continue; } | |
332 | + if (max_price < 0) { | |
333 | + max_price = plusCard[ih].CardFee; | |
334 | + name = 'card' + plusCard[ih]['CorrPrice']; | |
335 | + show_card = plusCard[ih]; | |
336 | + } else { | |
337 | + if (max_price < plusCard[ih].CardFee) { | |
338 | + max_price = plusCard[ih].CardFee; | |
339 | + name = 'card' + plusCard[ih]['CorrPrice']; | |
340 | + show_card = plusCard[ih]; | |
341 | + } | |
342 | + } | |
343 | + } | |
344 | + | |
345 | + if (show_card) { | |
346 | + name = name.toLowerCase(); | |
347 | + th.setData({ card_name: name, show_card: show_card }) | |
348 | + } | |
349 | + } | |
350 | + //-----先获取物流,再获取用户信息,再展示页面----- | |
351 | + th.get_wuliu(th.get_info(th.show_page)); | |
352 | + }) | |
353 | + } else { | |
354 | + //-----先获取物流,再获取用户信息,再展示页面----- | |
355 | + th.get_wuliu(th.get_info(th.show_page)); | |
356 | + } | |
357 | + }, 1) | |
358 | + | |
354 | 359 | }, |
355 | 360 | //---------------检查是否有收货地址------------------- |
356 | 361 | checkAddressList: function() { |
... | ... | @@ -783,6 +788,7 @@ Page({ |
783 | 788 | if (item == null) return o_shipping_price; |
784 | 789 | var fw_price = 0, fp_price=0; |
785 | 790 | item=item.config; |
791 | + if (item == null) return o_shipping_price; | |
786 | 792 | //------按重量---------- |
787 | 793 | if (goods_weight>0) { |
788 | 794 | fw_price =parseFloat(item['money']); | ... | ... |
pages/cart/cart2_pt/cart2_pt.wxml
1 | 1 | <wxs module="filters" src="../../../utils/filter.wxs"></wxs> |
2 | 2 | <form bindsubmit="submitForm"> |
3 | 3 | <view class="container"> |
4 | + | |
5 | + <view class="tab-container" wx:if="{{kt_type!=3 || is_normal==1}}"> | |
6 | + <view class="tab-wrapper"> | |
7 | + <view hidden="{{bn_t_exp_t==2}}" bindtap='setexptype' data-t='1' class="tab {{bn_exp_type == 1? 'active':''}}" | |
8 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >门店自提</view> | |
9 | + | |
10 | + <view hidden="{{bn_t_exp_t==1}}" bindtap='setexptype' data-t='0' class="tab {{bn_exp_type== 0 ? 'active':''}}" | |
11 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >快递邮寄</view> | |
12 | + | |
13 | + </view> | |
14 | + </view> | |
15 | + | |
16 | + | |
4 | 17 | <!--要进行判断地址是否显示----> |
5 | 18 | <view bindtap="enterAddressPage" class="user-mes mgt20" hidden='{{bn_exp_type==1 || kt_type==3}}'> |
6 | 19 | <!---默认地址显示------> |
... | ... | @@ -79,35 +92,14 @@ |
79 | 92 | </view> |
80 | 93 | |
81 | 94 | <!--阶梯团是不显示的--> |
82 | - <view class="use-item flex-space-between" wx:if="{{kt_type!=3 || is_normal==1}}"> | |
83 | - <view class="flex-vertical"> | |
84 | - <view bindtap='setexptype' data-t='1' style="padding-right:26rpx;display:{{bn_t_exp_t==2?'none':'flex;align-items:center;'}}"> | |
85 | - <!-- <icon color="{{bn_exp_type==1?'red':'gray'}}" size="16" type="success"></icon> --> | |
86 | - <block wx:if="{{bn_exp_type==1}}"> | |
87 | - | |
88 | - <icon data-t='0' data-txt='cartlist[{{pidx}}].exp_type' color="red" size="16" type="success"></icon> | |
89 | - </block> | |
90 | - <block wx:else> | |
91 | - <view class="circle xc-hookts on"></view> | |
92 | - </block> | |
93 | - <view class="yu_er">门店自提</view> | |
94 | - </view> | |
95 | - <view class="{{bn_t_exp_t==2?'':'xc-left'}}" bindtap='setexptype' data-t='0' style="display:{{bn_t_exp_t==1?'none':'flex;align-items:center;'}}"> | |
96 | - <!-- <icon color="{{bn_exp_type==0?'red':'gray'}}" size="16" type="success"></icon> --> | |
97 | - <block wx:if="{{bn_exp_type==0}}"> | |
98 | - | |
99 | - <icon data-t='0' data-txt='cartlist[{{pidx}}].exp_type' color="red" size="16" type="success"></icon> | |
100 | - </block> | |
101 | - <block wx:else> | |
102 | - <view class="circle xc-hookts on"></view> | |
103 | - </block> | |
104 | - <view class="yu_er">快递邮寄</view> | |
105 | - </view> | |
106 | - </view> | |
107 | - <block wx:if="{{bn_exp_type==0}}"> | |
108 | - <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index'><view class="logistics-name">{{wu_arr[index].name}}</view><view class="xc-right"></view></view> | |
109 | - </block> | |
110 | - </view> | |
95 | + <block wx:if="{{bn_exp_type==0 && !is_default_logistics}}"> | |
96 | + <view class="use-item flex-space-between" wx:if="{{kt_type!=3 || is_normal==1}}"> | |
97 | + <view>选择物流</view> | |
98 | + <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index' style="margin-right: 8rpx;"> | |
99 | + <view class="logistics-name">{{wu_arr[index].name}}</view><view class="xc-right"></view> | |
100 | + </view> | |
101 | + </view> | |
102 | + </block> | |
111 | 103 | |
112 | 104 | <!--阶梯团是不显示的 |
113 | 105 | <block wx:if="{{kt_type!=3 || is_normal==1 }}"> | ... | ... |
pages/cart/cart2_pt/cart2_pt.wxss
... | ... | @@ -957,3 +957,27 @@ margin-left: 20rpx; |
957 | 957 | top:36rpx |
958 | 958 | } |
959 | 959 | |
960 | + | |
961 | +.tab-container { | |
962 | + font-size: 28rpx; | |
963 | + margin-top: 20rpx; | |
964 | + display: flex; | |
965 | +} | |
966 | + | |
967 | +.tab-wrapper { | |
968 | + background-color: #ccc; | |
969 | + display: flex; | |
970 | + border-radius: 40rpx; | |
971 | + overflow: hidden; | |
972 | +} | |
973 | + | |
974 | +.tab { | |
975 | + padding: 20rpx 30rpx; | |
976 | + | |
977 | +} | |
978 | + | |
979 | + | |
980 | +.tab.active { | |
981 | + background-color: white; | |
982 | + border-radius: 40rpx; | |
983 | +} | ... | ... |
pages/cart/cart_wk/cart_wk.js
... | ... | @@ -13,12 +13,13 @@ Page({ |
13 | 13 | order: null, //订单所有字段 |
14 | 14 | user_addr: null, //会员地址 |
15 | 15 | pickup: null, //门店 |
16 | - goods:null, //商品 | |
16 | + goods: null, //商品 | |
17 | 17 | /*------------------------*/ |
18 | 18 | userinfo: null, //获取会员 |
19 | 19 | /*----------物流选择--------*/ |
20 | 20 | wu_arr: null, |
21 | 21 | index: 0, |
22 | + is_express:0, | |
22 | 23 | //申请提现的金额 |
23 | 24 | txmon: 0, |
24 | 25 | yuer: 0, |
... | ... | @@ -33,8 +34,8 @@ Page({ |
33 | 34 | exp_price: 0, |
34 | 35 | enterAddressPage: 0, //进入地址页面 |
35 | 36 | |
36 | - allpice:0, | |
37 | - show_pay_type:0, | |
37 | + allpice: 0, | |
38 | + show_pay_type: 0, | |
38 | 39 | |
39 | 40 | teamgroup: null, |
40 | 41 | }, |
... | ... | @@ -42,11 +43,11 @@ Page({ |
42 | 43 | /** |
43 | 44 | * 生命周期函数--监听页面加载 |
44 | 45 | */ |
45 | - onLoad: function(options) { | |
46 | + onLoad: function (options) { | |
46 | 47 | |
47 | 48 | //清空is_pick_up |
48 | 49 | getApp().request.put("/api/weshop/useraddress/updatePickUp", { |
49 | - data: {user_id: getApp().globalData.user_id, is_pickup: 0}, | |
50 | + data: { user_id: getApp().globalData.user_id, is_pickup: 0 }, | |
50 | 51 | success: function (s) { |
51 | 52 | } |
52 | 53 | }); |
... | ... | @@ -54,105 +55,111 @@ Page({ |
54 | 55 | var th = this; |
55 | 56 | this.data.order_id = options.order_id; |
56 | 57 | //--初始化-- |
57 | - getApp().getConfig2(function (e){ | |
58 | + getApp().getConfig2(function (e) { | |
58 | 59 | var json_d = JSON.parse(e.switch_list); |
59 | - th.data.json_d=json_d; | |
60 | + th.data.json_d = json_d; | |
61 | + var is_default_logistics = json_d.is_default_logistics; | |
62 | + th.setData({is_default_logistics:is_default_logistics}); | |
63 | + | |
60 | 64 | th.get_wuliu(th.get_info(th.show_page)); |
61 | - },1) | |
65 | + }, 1) | |
62 | 66 | |
63 | 67 | }, |
64 | 68 | /** |
65 | 69 | * 生命周期函数--监听页面显示 |
66 | 70 | */ |
67 | - onShow: function() { | |
71 | + onShow: function () { | |
68 | 72 | var th = this; |
69 | 73 | if (th.data.isclose == 0) { |
70 | 74 | wx.navigateTo({ |
71 | 75 | url: "/pages/index/index/index" |
72 | 76 | }) |
73 | - } | |
74 | - th.getuser_addr(function(addr) { | |
75 | - if(addr==null || addr==undefined || addr.length==0) { | |
76 | - th.setData({ user_addr: null, enterAddressPage: 1,}); | |
77 | - }else { | |
77 | + } | |
78 | + th.getuser_addr(function (addr) { | |
79 | + if (addr == null || addr == undefined || addr.length == 0) { | |
80 | + th.setData({ user_addr: null, enterAddressPage: 1, }); | |
81 | + } else { | |
78 | 82 | th.setData({ |
79 | 83 | user_addr: addr, enterAddressPage: 0, |
80 | 84 | }); |
81 | 85 | } |
82 | 86 | |
83 | - if (th.data.exp_type == 0 && th.data.goods){ | |
84 | - th.calculate_wuliu(); | |
85 | - } | |
86 | - }) | |
87 | - | |
87 | + if (th.data.exp_type == 0 && th.data.goods) { | |
88 | + th.calculate_wuliu(); | |
89 | + } | |
90 | + }) | |
91 | + | |
88 | 92 | }, |
89 | 93 | /** |
90 | 94 | * 用户点击右上角分享 |
91 | 95 | */ |
92 | - onShareAppMessage: function() {}, | |
96 | + onShareAppMessage: function () { }, | |
93 | 97 | //---------------获取物流--------------- |
94 | 98 | get_wuliu(func) { |
95 | 99 | var th = this, |
96 | - to = getApp(); | |
97 | - to.getwuliu(function(e) { | |
98 | - th.setData({ | |
99 | - wu_arr: e | |
100 | - }) | |
100 | + to = getApp(); | |
101 | + to.getwuliu(function (e) { | |
102 | + //如果第一个不是开启默认,说明要让用户自己选 | |
103 | + if (!e[0].is_default) { | |
104 | + th.setData({ is_default_logistics: 0 }); | |
105 | + } | |
106 | + | |
107 | + th.setData({ wu_arr: e }) | |
101 | 108 | typeof func == "function" && func(); |
102 | 109 | }) |
103 | 110 | }, |
104 | 111 | //------获取会员信息-----先获取用户信息,在进行下一步--- |
105 | - get_info: function(func) { | |
106 | - var user_id = t.globalData.user_id, | |
112 | + get_info: function (func) { | |
113 | + var user_id = t.globalData.user_id, | |
107 | 114 | to = getApp(); |
108 | - to.auth.get_u(func); | |
115 | + to.auth.get_u(func); | |
109 | 116 | }, |
110 | 117 | |
111 | 118 | //------获取会员收货地址----- |
112 | - getuser_addr: function(func) { | |
113 | - var to = getApp(), | |
119 | + getuser_addr: function (func) { | |
120 | + var to = getApp(), | |
114 | 121 | a = to.request; |
115 | 122 | |
116 | - a.get("/api/weshop/useraddress/page", { | |
117 | - data: { | |
118 | - user_id: to.globalData.user_id, | |
119 | - store_id: oo.stoid, | |
120 | - pageSize: 600 | |
121 | - }, | |
122 | - success: function(su) { | |
123 | - var user_addr = su.data.data.pageData; | |
124 | - var item = null; | |
125 | - var def_item = null; | |
126 | - for (var i = 0; i < user_addr.length; i++) { | |
127 | - if (user_addr[i]['is_default'] == 1) { def_item = user_addr[i]; } | |
128 | - if (user_addr[i]['is_pickup'] == 1) { item = user_addr[i]; } | |
129 | - } | |
130 | - | |
131 | - if (item == null) item = def_item; | |
132 | - if (item == null) item = user_addr[0]; | |
133 | - if (item == undefined) item = null; | |
134 | - func(item); | |
123 | + a.get("/api/weshop/useraddress/page", { | |
124 | + data: { | |
125 | + user_id: to.globalData.user_id, | |
126 | + store_id: oo.stoid, | |
127 | + pageSize: 600 | |
128 | + }, | |
129 | + success: function (su) { | |
130 | + var user_addr = su.data.data.pageData; | |
131 | + var item = null; | |
132 | + var def_item = null; | |
133 | + for (var i = 0; i < user_addr.length; i++) { | |
134 | + if (user_addr[i]['is_default'] == 1) { def_item = user_addr[i]; } | |
135 | + if (user_addr[i]['is_pickup'] == 1) { item = user_addr[i]; } | |
135 | 136 | } |
136 | - }); | |
137 | - | |
137 | + | |
138 | + if (item == null) item = def_item; | |
139 | + if (item == null) item = user_addr[0]; | |
140 | + if (item == undefined) item = null; | |
141 | + func(item); | |
142 | + } | |
143 | + }); | |
144 | + | |
138 | 145 | }, |
139 | 146 | |
140 | 147 | //----------------展示页面,是再获取用户信息之后-------------- |
141 | - show_page: function() { | |
148 | + show_page: function () { | |
142 | 149 | var th = this, |
143 | 150 | to = getApp(); |
144 | 151 | th.setData({ |
145 | 152 | userinfo: to.globalData.userInfo, |
146 | 153 | }); |
147 | 154 | //选获取地址 |
148 | - th.getuser_addr(function(addr) { | |
155 | + th.getuser_addr(function (addr) { | |
149 | 156 | |
150 | - if(addr==null || addr==undefined || addr.length==0) { | |
151 | - th.setData({ | |
157 | + if (addr == null || addr == undefined || addr.length == 0) { | |
158 | + th.setData({ | |
152 | 159 | enterAddressPage: 1, |
153 | 160 | }); |
154 | 161 | |
155 | - }else { | |
162 | + } else { | |
156 | 163 | th.setData({ |
157 | 164 | user_addr: addr, enterAddressPage: 0, |
158 | 165 | }); |
... | ... | @@ -167,7 +174,7 @@ Page({ |
167 | 174 | store_id: oo.stoid, |
168 | 175 | status: 0 |
169 | 176 | }, |
170 | - success: function(su) { | |
177 | + success: function (su) { | |
171 | 178 | console.log("withdrawals"); |
172 | 179 | if (su.data.code == 0) { |
173 | 180 | var yuer = parseFloat(th.data.userinfo.user_money - |
... | ... | @@ -189,8 +196,8 @@ Page({ |
189 | 196 | pickup = null, |
190 | 197 | distr_type = 0, |
191 | 198 | exp_type = 0, |
192 | - teamgroup=null, | |
193 | - th=this; | |
199 | + teamgroup = null, | |
200 | + th = this; | |
194 | 201 | //---获取订单--- |
195 | 202 | await getApp().request.promiseGet("/api/weshop/order/get/" + oo.stoid + "/" + ord, {}).then(res => { |
196 | 203 | order = res.data.data; |
... | ... | @@ -219,22 +226,22 @@ Page({ |
219 | 226 | |
220 | 227 | //---获取尾款价格--- |
221 | 228 | await getApp().request.promiseGet("/api/weshop/teamgroup/page", { |
222 | - data:{store_id:oo.stoid,team_id:order.pt_prom_id,listno:order.pt_listno} | |
229 | + data: { store_id: oo.stoid, team_id: order.pt_prom_id, listno: order.pt_listno } | |
223 | 230 | }).then(res => { |
224 | 231 | teamgroup = res.data.data.pageData[0]; |
225 | 232 | }); |
226 | 233 | |
227 | - var jsarr=JSON.parse(teamgroup.jt_json); | |
228 | - var count=teamgroup.jt_ct_num; | |
234 | + var jsarr = JSON.parse(teamgroup.jt_json); | |
235 | + var count = teamgroup.jt_ct_num; | |
229 | 236 | //要计算尾款的价钱 |
230 | - var price=0; | |
231 | - jsarr.forEach(function(value,index){ | |
232 | - if(count>=value['rynum']) price=value['price']; | |
237 | + var price = 0; | |
238 | + jsarr.forEach(function (value, index) { | |
239 | + if (count >= value['rynum']) price = value['price']; | |
233 | 240 | }) |
234 | - var tail_money =(price*order_goods.goods_num-order['order_amount']-order['user_money']).toFixed(2); | |
241 | + var tail_money = (price * order_goods.goods_num - order['order_amount'] - order['user_money']).toFixed(2); | |
235 | 242 | |
236 | 243 | tail_money = parseFloat(tail_money); |
237 | - order.tail_money=tail_money; | |
244 | + order.tail_money = tail_money; | |
238 | 245 | |
239 | 246 | //--判断物流-- |
240 | 247 | if (goods.distr_type) |
... | ... | @@ -246,7 +253,7 @@ Page({ |
246 | 253 | case 0: |
247 | 254 | exp_type = 1; |
248 | 255 | //-- 系统后台有设置要默认的 -- |
249 | - if(th.data.json_d.pickupway && th.data.json_d.pickupway==1) exp_type=0; | |
256 | + if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) exp_type = 0; | |
250 | 257 | break; //自选 |
251 | 258 | case 1: |
252 | 259 | exp_type = 1; |
... | ... | @@ -263,14 +270,14 @@ Page({ |
263 | 270 | distr_type: distr_type, |
264 | 271 | pickup: pickup, |
265 | 272 | exp_type: exp_type, |
266 | - goods:goods, | |
267 | - teamgroup:teamgroup | |
273 | + goods: goods, | |
274 | + teamgroup: teamgroup | |
268 | 275 | }); |
269 | 276 | |
270 | 277 | //--计算物流-- |
271 | - if(exp_type==0){ | |
278 | + if (exp_type == 0) { | |
272 | 279 | th.calculate_wuliu(); |
273 | - }else{ | |
280 | + } else { | |
274 | 281 | var allpice = th.data.order.order_amount + th.data.order.user_money + th.data.order.tail_money; |
275 | 282 | allpice = allpice.toFixed(2); |
276 | 283 | th.setData({ exp_price: 0, allpice: allpice }) |
... | ... | @@ -278,17 +285,17 @@ Page({ |
278 | 285 | }, |
279 | 286 | |
280 | 287 | //--图片失败,默认图片-- |
281 | - bind_bnerr: function(e) { | |
288 | + bind_bnerr: function (e) { | |
282 | 289 | var _errImg = e.target.dataset.errorimg; |
283 | 290 | var _errObj = {}; |
284 | - _errObj[_errImg] = this.data.imgUrl+ "/miniapp/images/del/logo.jpg"; | |
291 | + _errObj[_errImg] = this.data.imgUrl + "/miniapp/images/del/logo.jpg"; | |
285 | 292 | this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; |
286 | 293 | }, |
287 | 294 | |
288 | 295 | //-------------------获取物流--------------- |
289 | 296 | get_wuliu(func) { |
290 | - var th = this,to = getApp(); | |
291 | - to.getwuliu(function(e) { | |
297 | + var th = this, to = getApp(); | |
298 | + to.getwuliu(function (e) { | |
292 | 299 | th.setData({ |
293 | 300 | wu_arr: e |
294 | 301 | }) |
... | ... | @@ -297,8 +304,8 @@ Page({ |
297 | 304 | }, |
298 | 305 | |
299 | 306 | //--------点击选择---------- |
300 | - set_wuliu: function(e) { | |
301 | - var type = e.currentTarget.dataset.type,th=this; | |
307 | + set_wuliu: function (e) { | |
308 | + var type = e.currentTarget.dataset.type, th = this; | |
302 | 309 | this.setData({ |
303 | 310 | exp_type: type |
304 | 311 | }); |
... | ... | @@ -307,12 +314,12 @@ Page({ |
307 | 314 | |
308 | 315 | //--计算物流的值-- |
309 | 316 | if (type == 0) { |
310 | - th.calculate_wuliu(); | |
311 | - }else{ | |
312 | - var allpice= parseFloat(th.data.order.order_amount) | |
313 | - + parseFloat(th.data.order.user_money) | |
314 | - +parseFloat(th.data.order.tail_money); | |
315 | - allpice=allpice.toFixed(2); | |
317 | + th.calculate_wuliu(); | |
318 | + } else { | |
319 | + var allpice = parseFloat(th.data.order.order_amount) | |
320 | + + parseFloat(th.data.order.user_money) | |
321 | + + parseFloat(th.data.order.tail_money); | |
322 | + allpice = allpice.toFixed(2); | |
316 | 323 | this.setData({ |
317 | 324 | allpice: allpice, exp_price: 0, |
318 | 325 | }); |
... | ... | @@ -320,104 +327,104 @@ Page({ |
320 | 327 | }, |
321 | 328 | |
322 | 329 | //关闭支付 |
323 | - close_show_pay:function(){ | |
324 | - this.setData({show_pay_type:0}); | |
330 | + close_show_pay: function () { | |
331 | + this.setData({ show_pay_type: 0 }); | |
325 | 332 | }, |
326 | 333 | //--弹起支付框-- |
327 | - to_pay(){ | |
328 | - //--物流支付时要有地址-- | |
329 | - if (this.data.exp_type == 0 && this.data.user_addr == null) { | |
330 | - return getApp().my_warnning("请选择收货地址", 0, this); | |
331 | - } | |
334 | + to_pay() { | |
335 | + //--物流支付时要有地址-- | |
336 | + if (this.data.exp_type == 0 && this.data.user_addr == null) { | |
337 | + return getApp().my_warnning("请选择收货地址", 0, this); | |
338 | + } | |
332 | 339 | |
333 | - this.setData({show_pay_type:1}); | |
340 | + this.setData({ show_pay_type: 1 }); | |
334 | 341 | }, |
335 | 342 | |
336 | 343 | //选择支付方式 |
337 | - set_pay_type:function(e){ | |
338 | - var type=e.currentTarget.dataset.type; | |
339 | - this.to_pay_type(type); | |
344 | + set_pay_type: function (e) { | |
345 | + var type = e.currentTarget.dataset.type; | |
346 | + this.to_pay_type(type); | |
340 | 347 | }, |
341 | 348 | |
342 | 349 | //--立即支付-- |
343 | - to_pay_type: function(ind) { | |
344 | - var th=this; | |
350 | + to_pay_type: function (ind) { | |
351 | + var th = this; | |
345 | 352 | |
346 | - //--物流支付时要有地址-- | |
347 | - if (th.data.exp_type == 0 && th.data.user_addr==null){ | |
348 | - return getApp().my_warnning("请选择收货地址",0,th); | |
349 | - } | |
353 | + //--物流支付时要有地址-- | |
354 | + if (th.data.exp_type == 0 && th.data.user_addr == null) { | |
355 | + return getApp().my_warnning("请选择收货地址", 0, th); | |
356 | + } | |
350 | 357 | |
351 | - //---支付参数-- | |
352 | - var dd = { | |
353 | - order_sn: th.data.order.order_sn, | |
354 | - order_id: th.data.order.order_id, | |
355 | - store_id: oo.stoid, | |
356 | - exp_type:th.data.exp_type, | |
357 | - user_id:t.globalData.user_id, | |
358 | - listno:th.data.order.pt_listno, | |
359 | - prom_id:th.data.order.pt_prom_id, | |
360 | - tail_pay_type:ind,//0微信支付 1余额支付 | |
361 | - }; | |
362 | - | |
363 | - if(th.data.exp_type==0){ | |
364 | - var index=th.data.index; | |
365 | - dd.shipping_code=th.data.wu_arr[index].code; | |
366 | - dd.shipping_name=th.data.wu_arr[index].name; | |
367 | - dd.shipping_price=parseFloat(th.data.exp_price); | |
368 | - dd.addressid=th.data.user_addr.address_id; | |
369 | - } | |
358 | + //---支付参数-- | |
359 | + var dd = { | |
360 | + order_sn: th.data.order.order_sn, | |
361 | + order_id: th.data.order.order_id, | |
362 | + store_id: oo.stoid, | |
363 | + exp_type: th.data.exp_type, | |
364 | + user_id: t.globalData.user_id, | |
365 | + listno: th.data.order.pt_listno, | |
366 | + prom_id: th.data.order.pt_prom_id, | |
367 | + tail_pay_type: ind,//0微信支付 1余额支付 | |
368 | + }; | |
369 | + | |
370 | + if (th.data.exp_type == 0) { | |
371 | + var index = th.data.index; | |
372 | + dd.shipping_code = th.data.wu_arr[index].code; | |
373 | + dd.shipping_name = th.data.wu_arr[index].name; | |
374 | + dd.shipping_price = parseFloat(th.data.exp_price); | |
375 | + dd.addressid = th.data.user_addr.address_id; | |
376 | + } | |
370 | 377 | |
371 | - var arr=[]; | |
372 | - arr.push(dd); | |
373 | - console.log(JSON.stringify(arr)); | |
374 | - wx.request({ | |
375 | - url: oo.url + '/api/weshop/order/pay/payTuanWk', | |
376 | - data: JSON.stringify(arr), | |
377 | - method: 'POST', | |
378 | - header: { | |
379 | - 'content-type': 'application/json' | |
380 | - },// 设置请求的 header | |
381 | - success: function (t) { | |
382 | - | |
383 | - //---用微信支付--- | |
384 | - if(dd.tail_pay_type==0){ | |
385 | - var n=t.data.data; | |
386 | - th.weixinPay(n, | |
387 | - function () { | |
388 | - var allmoney=th.data.allpice; | |
389 | - th.jumpPaymentPage(th.data.order.order_sn,allmoney); | |
390 | - },function () { | |
391 | - getApp().my_warnning("支付失败",0,th); | |
378 | + var arr = []; | |
379 | + arr.push(dd); | |
380 | + console.log(JSON.stringify(arr)); | |
381 | + wx.request({ | |
382 | + url: oo.url + '/api/weshop/order/pay/payTuanWk', | |
383 | + data: JSON.stringify(arr), | |
384 | + method: 'POST', | |
385 | + header: { | |
386 | + 'content-type': 'application/json' | |
387 | + },// 设置请求的 header | |
388 | + success: function (t) { | |
389 | + | |
390 | + //---用微信支付--- | |
391 | + if (dd.tail_pay_type == 0) { | |
392 | + var n = t.data.data; | |
393 | + th.weixinPay(n, | |
394 | + function () { | |
395 | + var allmoney = th.data.allpice; | |
396 | + th.jumpPaymentPage(th.data.order.order_sn, allmoney); | |
397 | + }, function () { | |
398 | + getApp().my_warnning("支付失败", 0, th); | |
399 | + }) | |
400 | + } else { | |
401 | + if (t.data.code == 0) { | |
402 | + //---用余额支付--- | |
403 | + getApp().my_warnning("支付成功", 1, th); | |
404 | + setTimeout(function () { | |
405 | + th.setData({ isclose: 0 }); | |
406 | + wx.redirectTo({ | |
407 | + url: "/pages/user/order_list/order_list" | |
392 | 408 | }) |
393 | - }else { | |
394 | - if(t.data.code==0){ | |
395 | - //---用余额支付--- | |
396 | - getApp().my_warnning("支付成功",1,th); | |
397 | - setTimeout(function () { | |
398 | - th.setData({ isclose: 0 }); | |
399 | - wx.redirectTo({ | |
400 | - url: "/pages/user/order_list/order_list" | |
401 | - }) | |
402 | - }, 1000) | |
403 | - }else{ | |
404 | - getApp().my_warnning(t.data.msg,1,th); | |
405 | - } | |
409 | + }, 1000) | |
410 | + } else { | |
411 | + getApp().my_warnning(t.data.msg, 1, th); | |
406 | 412 | } |
407 | 413 | } |
408 | - }); | |
414 | + } | |
415 | + }); | |
409 | 416 | }, |
410 | 417 | |
411 | 418 | //----计算物流的钱---- |
412 | 419 | calculate_wuliu() { |
413 | - var to=getApp(),th=this; | |
414 | - to.getConfig2(function(ee) { | |
415 | - to.getwuliuprice(function(rs) { | |
420 | + var to = getApp(), th = this; | |
421 | + to.getConfig2(function (ee) { | |
422 | + to.getwuliuprice(function (rs) { | |
416 | 423 | var o_shipping_price = 0, |
417 | 424 | goods_weight = -1, |
418 | 425 | goods_piece = -1, |
419 | - good=th.data.goods; | |
420 | - //-----------当地址不为空,且是物流时,计算物流费用---------- | |
426 | + good = th.data.goods; | |
427 | + //-----------当地址不为空,且是物流时,计算物流费用---------- | |
421 | 428 | if (th.data.user_addr != null && th.data.exp_type == 0 && good.is_free_shipping == 0) { |
422 | 429 | switch (good['exp_sum_type']) { |
423 | 430 | case 1: |
... | ... | @@ -435,52 +442,53 @@ Page({ |
435 | 442 | goods_piece += th.data.order.order_goods['goods_num']; |
436 | 443 | break; |
437 | 444 | } |
438 | - var code = th.data.wu_arr[th.data.index].code; | |
439 | - var freight_free = ee.freight_free; //全场满多少包邮 | |
440 | - //--全部金额-- | |
441 | - var allpice=th.data.order.order_amount+th.data.order.user_money+th.data.order.pt_tail_money; | |
442 | - var shipping_price = | |
443 | - th.calculatewuliu(code, o_shipping_price, goods_weight, | |
445 | + var code = th.data.wu_arr[th.data.index].code; | |
446 | + var freight_free = ee.freight_free; //全场满多少包邮 | |
447 | + //--全部金额-- | |
448 | + var allpice = th.data.order.order_amount + th.data.order.user_money + th.data.order.pt_tail_money; | |
449 | + var shipping_price = | |
450 | + th.calculatewuliu(code, o_shipping_price, goods_weight, | |
444 | 451 | goods_piece, th.data.user_addr, freight_free, allpice, rs); |
445 | - var exp_price = parseFloat(shipping_price).toFixed(2); | |
446 | - allpice=parseFloat(exp_price)+parseFloat(allpice); | |
447 | - allpice=allpice.toFixed(2); | |
448 | - | |
449 | - exp_price = parseFloat(exp_price); | |
450 | - th.setData({ exp_price: exp_price,allpice:allpice }) | |
451 | - }else { | |
452 | - var allpice=th.data.order.order_amount+th.data.order.user_money+th.data.order.tail_money; | |
453 | - allpice=allpice.toFixed(2); | |
454 | - th.setData({ exp_price: 0,allpice:allpice }) | |
452 | + var exp_price = parseFloat(shipping_price).toFixed(2); | |
453 | + allpice = parseFloat(exp_price) + parseFloat(allpice); | |
454 | + allpice = allpice.toFixed(2); | |
455 | + | |
456 | + exp_price = parseFloat(exp_price); | |
457 | + th.setData({ exp_price: exp_price, allpice: allpice }) | |
458 | + } else { | |
459 | + var allpice = th.data.order.order_amount + th.data.order.user_money + th.data.order.tail_money; | |
460 | + allpice = allpice.toFixed(2); | |
461 | + th.setData({ exp_price: 0, allpice: allpice }) | |
455 | 462 | } |
456 | 463 | }); |
457 | 464 | }); |
458 | 465 | }, |
459 | 466 | |
460 | 467 | //----------------计算物流--------------- |
461 | - calculatewuliu:function(code, o_shipping_price, goods_weight, | |
462 | - goods_piece,user_addr, freight_free, o_price, rs){ | |
463 | - var price =0,th=this; | |
464 | - price +=parseFloat(o_shipping_price); | |
468 | + calculatewuliu: function (code, o_shipping_price, goods_weight, | |
469 | + goods_piece, user_addr, freight_free, o_price, rs) { | |
470 | + var price = 0, th = this; | |
471 | + price += parseFloat(o_shipping_price); | |
465 | 472 | //如果是包邮 |
466 | - if (freight_free > 0 && o_price > freight_free){ return 0;} | |
467 | - if (user_addr==null) { return 0; } | |
473 | + if (freight_free > 0 && o_price > freight_free) { return 0; } | |
474 | + if (user_addr == null) { return 0; } | |
468 | 475 | //计算物流的config item; |
469 | - var item=null; | |
476 | + var item = null; | |
470 | 477 | //先根据 镇 县 区找计算的config |
471 | - item = th.get_wuliu_config(user_addr.district,code,rs); | |
472 | - if (item==null) item = th.get_wuliu_config(user_addr.city, code, rs); | |
473 | - if (item==null) item = th.get_wuliu_config(user_addr.province, code, rs); | |
474 | - if (item == null) item = th.get_wuliu_default(code,rs); | |
478 | + item = th.get_wuliu_config(user_addr.district, code, rs); | |
479 | + if (item == null) item = th.get_wuliu_config(user_addr.city, code, rs); | |
480 | + if (item == null) item = th.get_wuliu_config(user_addr.province, code, rs); | |
481 | + if (item == null) item = th.get_wuliu_default(code, rs); | |
482 | + if (item == null) return o_shipping_price; | |
483 | + var fw_price = 0, fp_price = 0; | |
484 | + item = item.config; | |
475 | 485 | if (item == null) return o_shipping_price; |
476 | - var fw_price = 0, fp_price=0; | |
477 | - item=item.config; | |
478 | 486 | //------按重量---------- |
479 | - if (goods_weight>0) { | |
480 | - fw_price =parseFloat(item['money']); | |
481 | - if (goods_weight > item['first_weight']){ | |
487 | + if (goods_weight > 0) { | |
488 | + fw_price = parseFloat(item['money']); | |
489 | + if (goods_weight > item['first_weight']) { | |
482 | 490 | var fw = goods_weight - item['first_weight']; |
483 | - var n = Math.ceil(fw/item['second_weight']) | |
491 | + var n = Math.ceil(fw / item['second_weight']) | |
484 | 492 | fw_price = fw_price + n * parseFloat(item['add_money']); |
485 | 493 | } |
486 | 494 | } |
... | ... | @@ -493,89 +501,130 @@ Page({ |
493 | 501 | fp_price = fp_price + m * parseFloat(item['add_piecemoney']); |
494 | 502 | } |
495 | 503 | } |
496 | - var rspice =parseFloat(price + fw_price + fp_price); | |
504 | + var rspice = parseFloat(price + fw_price + fp_price); | |
497 | 505 | return rspice; |
498 | 506 | }, |
499 | 507 | //------------循环获取config----------- |
500 | - get_wuliu_config:function(region_id,code,rs){ | |
501 | - var item=null,rslist = rs.pageData; | |
502 | - for (var i = 0; i < rslist.length;i++){ | |
503 | - if (rslist[i].code == code && rslist[i].region_id == region_id) { item = rslist[i];} | |
508 | + get_wuliu_config: function (region_id, code, rs) { | |
509 | + var item = null, rslist = rs.pageData; | |
510 | + for (var i = 0; i < rslist.length; i++) { | |
511 | + if (rslist[i].code == code && rslist[i].region_id == region_id) { item = rslist[i]; } | |
504 | 512 | } |
505 | 513 | return item; |
506 | 514 | }, |
507 | 515 | |
508 | 516 | //---------------检查是否有收货地址------------------- |
509 | - checkAddressList: function() { | |
517 | + checkAddressList: function () { | |
510 | 518 | var t = this; |
511 | 519 | return !(!this.data.order || null == this.data.order.userAddress) || (wx.showModal({ |
512 | 520 | title: "请先填写或选择收货地址~", |
513 | - success: function(a) { | |
521 | + success: function (a) { | |
514 | 522 | a.confirm ? t.enterAddressPage() : wx.navigateBack(); |
515 | 523 | }, |
516 | - fail: function() { | |
524 | + fail: function () { | |
517 | 525 | wx.navigateBack(); |
518 | 526 | } |
519 | 527 | }), !1); |
520 | 528 | }, |
521 | 529 | |
522 | 530 | //--进入收货地址的编辑页面-- |
523 | - enterAddressPage: function() { | |
524 | - getApp().globalData.is_cart_old=1; | |
525 | - this.data.enterAddressPage =1, wx.navigateTo({ | |
531 | + enterAddressPage: function () { | |
532 | + getApp().globalData.is_cart_old = 1; | |
533 | + this.data.enterAddressPage = 1, wx.navigateTo({ | |
526 | 534 | url: "/pages/user/address_list/address_list?is_back=1" |
527 | 535 | }); |
528 | 536 | }, |
529 | - | |
537 | + | |
530 | 538 | //------------循环获取config----------- |
531 | - get_wuliu_config:function(region_id,code,rs){ | |
532 | - var item=null,rslist = rs.pageData; | |
533 | - for (var i = 0; i < rslist.length;i++){ | |
534 | - if (rslist[i].code == code && rslist[i].region_id == region_id) { item = rslist[i];} | |
539 | + get_wuliu_config: function (region_id, code, rs) { | |
540 | + var item = null, rslist = rs.pageData; | |
541 | + for (var i = 0; i < rslist.length; i++) { | |
542 | + if (rslist[i].code == code && rslist[i].region_id == region_id) { item = rslist[i]; } | |
535 | 543 | } |
536 | 544 | return item; |
537 | 545 | }, |
538 | 546 | //-------循环获取config,code default------- |
539 | 547 | get_wuliu_default: function (code, rs) { |
540 | - var item = null, rslist=rs.pageData; | |
548 | + var item = null, rslist = rs.pageData; | |
541 | 549 | for (var i = 0; i < rslist.length; i++) { |
542 | 550 | if (rslist[i].shipping_code == code && rslist[i].is_default == 1) { item = rslist[i]; } |
543 | 551 | } |
544 | 552 | return item; |
545 | 553 | }, |
546 | - | |
554 | + | |
547 | 555 | //-------获取物流选项------- |
548 | - bindPickerChange:function(e){ | |
549 | - var ind = e.detail.value; | |
550 | - this.setData({ index: ind }); | |
556 | + bindPickerChange: function (e) { | |
557 | + var ind = e.detail.value; | |
558 | + this.setData({ index: ind }); | |
551 | 559 | }, |
552 | 560 | |
553 | 561 | //------支付成功页面-------- |
554 | - jumpPaymentPage: function(order_sn,order_amount) { | |
562 | + jumpPaymentPage: function (order_sn, order_amount) { | |
555 | 563 | wx.setStorageSync("order:order_list:update", !0), wx.redirectTo({ |
556 | 564 | url: "/pages/payment/pay_success/pay_success?order_sn=" + order_sn + "&type=1", |
557 | 565 | }); |
558 | 566 | }, |
559 | 567 | |
560 | 568 | //------调起支付框-------- |
561 | - weixinPay: function(n, success,fail) { | |
562 | - if(!n) return false; | |
563 | - var th=this; | |
569 | + weixinPay: function (n, success, fail) { | |
570 | + if (!n) return false; | |
571 | + var th = this; | |
564 | 572 | wx.requestPayment({ |
565 | 573 | timeStamp: String(n.timeStamp), |
566 | 574 | nonceStr: n.nonceStr, |
567 | 575 | package: n.packageValue, |
568 | 576 | signType: n.signType, |
569 | 577 | paySign: n.paySign, |
570 | - success: function(n) { | |
571 | - console.log(n), getApp().showSuccess("支付成功!"); | |
572 | - "function" == typeof success && success(); | |
578 | + success: function (n) { | |
579 | + console.log(n), getApp().showSuccess("支付成功!"); | |
580 | + "function" == typeof success && success(); | |
573 | 581 | }, |
574 | - fail: function(n) { | |
575 | - console.log(n), "requestPayment:fail" == n.errMsg ? getApp().my_warnning("支付失败",0,th) : "requestPayment:fail cancel" == n.errMsg ? getApp().my_warnning("您已取消支付",0,th) : getApp().my_warnning("支付失败:" + n.errMsg.substr("requestPayment:fail ".length),0,th), | |
576 | - "function" == typeof fail && fail(); | |
582 | + fail: function (n) { | |
583 | + console.log(n), "requestPayment:fail" == n.errMsg ? getApp().my_warnning("支付失败", 0, th) : "requestPayment:fail cancel" == n.errMsg ? getApp().my_warnning("您已取消支付", 0, th) : getApp().my_warnning("支付失败:" + n.errMsg.substr("requestPayment:fail ".length), 0, th), | |
584 | + "function" == typeof fail && fail(); | |
577 | 585 | } |
578 | 586 | }); |
579 | - } | |
587 | + }, | |
588 | + | |
589 | + | |
590 | + //// 开启物流的弹窗 | |
591 | + show_wu_arr: function (e) { | |
592 | + this.setData({ open_express: 1 }); | |
593 | + }, | |
594 | + | |
595 | + // 关闭物流的弹窗 | |
596 | + close_express: function () { | |
597 | + this.setData({ open_express: 0 }); | |
598 | + }, | |
599 | + // 选择物流 | |
600 | + click_express_name: function (e) { | |
601 | + var express_name = e.currentTarget.dataset.name, shippingcode = e.currentTarget.dataset.shippingcode; | |
602 | + var index = e.currentTarget.dataset.idxe; | |
603 | + var ob = { is_express: index, is_shipping_code: shippingcode, index: index }; | |
604 | + this.setData(ob); | |
605 | + }, | |
606 | + | |
607 | + //点击确定物流 | |
608 | + determine_expres: function (e) { | |
609 | + this.setData({ open_express: 0 }); | |
610 | + this.calculatePrice2(); | |
611 | + }, | |
612 | + //设置默认物流 | |
613 | + select_default_logistics: function () { | |
614 | + var th = this; | |
615 | + var is_shipping_code = this.data.is_shipping_code | |
616 | + getApp().request.put("/api/weshop/users/update", { | |
617 | + data: { user_id: getApp().globalData.user_id, store_id: oo.stoid, def_exp_code: is_shipping_code }, | |
618 | + success: function (rse) { | |
619 | + if (rse.data.code == 0) { | |
620 | + getApp().globalData.userInfo.def_exp_code = is_shipping_code; | |
621 | + th.setData({ open_express: 0 }); | |
622 | + //----计算此时购物车的价格---- | |
623 | + if (th.data.is_b_now == 1) th.calculatePrice2(); | |
624 | + else th.calculatePrice(); | |
625 | + } | |
626 | + } | |
627 | + }) | |
628 | + }, | |
580 | 629 | |
581 | 630 | }) |
582 | 631 | \ No newline at end of file | ... | ... |
pages/cart/cart_wk/cart_wk.wxml
1 | 1 | <wxs module="filters" src="../../../utils/filter.wxs"></wxs> |
2 | + | |
3 | + <!-- 先选择配送方式,2021.7修改 --> | |
4 | + <view class="tab-container" wx:if="{{kt_type!=3 || is_normal==1}}"> | |
5 | + <view class="tab-wrapper"> | |
6 | + <view hidden="{{distr_type==2}}" bindtap='set_wuliu' data-type='1' class="tab {{exp_type == 1? 'active':''}}" | |
7 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >门店自提</view> | |
8 | + | |
9 | + <view hidden="{{distr_type==1}}" bindtap='set_wuliu' data-type='0' class="tab {{exp_type== 0 ? 'active':''}}" | |
10 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >快递邮寄</view> | |
11 | + | |
12 | + </view> | |
13 | + </view> | |
14 | + | |
15 | + | |
2 | 16 | <!----要进行判断地址是否显示----> |
3 | 17 | <view bindtap="enterAddressPage" class="user-mes mgt20" |
4 | 18 | hidden='{{exp_type==1 }}'> |
... | ... | @@ -24,10 +38,10 @@ |
24 | 38 | <!-- <view class="border-img"><image class="wh100 bdr14" src="{{imgUrl}}/miniapp/images/tt.png"></image></view> --> |
25 | 39 | </view> |
26 | 40 | |
27 | -<!--头部--> | |
41 | +<!--头部门店显示--> | |
28 | 42 | <view class='top bdr_t-14 flex'> |
29 | 43 | <image class="t_img" src='{{imgUrl}}/miniapp/images/goodscategory/new_store.png'></image> |
30 | - <view class='t_wz'>美得得超市{{pickup.pickup_name}}</view> | |
44 | + <view class='t_wz'>{{pickup.pickup_name}}</view> | |
31 | 45 | </view> |
32 | 46 | |
33 | 47 | <!--商品图片显示--> |
... | ... | @@ -49,8 +63,7 @@ |
49 | 63 | |
50 | 64 | <!--取货方式--> |
51 | 65 | |
52 | -<view class='quhou bdr_b-14'> | |
53 | - | |
66 | +<!-- <view class='quhou bdr_b-14'> | |
54 | 67 | <view bindtap="set_wuliu" data-type="1" class='qu_fs' wx:if="{{distr_type==0 || distr_type==1}}"> |
55 | 68 | <image wx:if="{{exp_type==0}}" src='{{imgUrl}}/miniapp/images/kon.png'></image> |
56 | 69 | <image wx:if="{{exp_type==1}}" src='{{imgUrl}}/miniapp/images/dd.png'></image> |
... | ... | @@ -62,13 +75,13 @@ |
62 | 75 | <image wx:if="{{exp_type==1}}" src='{{imgUrl}}/miniapp/images/kon.png'></image> |
63 | 76 | <text class='qu_wz'>快递邮寄</text> |
64 | 77 | </view> |
78 | +</view> --> | |
65 | 79 | |
66 | -</view> | |
67 | -<view class="use-item bdr_b-14" wx:if='{{exp_type==0}}'> | |
68 | - <view>使用物流:</view> | |
69 | - <picker bindchange="bindPickerChange" value="{{index}}" range="{{wu_arr}}" range-key="name"> | |
70 | - <view >{{wu_arr[index].name}}</view> | |
71 | - </picker> | |
80 | +<view class="use-item bdr_b-14 jc_sb" wx:if='{{exp_type==0 && !is_default_logistics}}'> | |
81 | + <view>选择物流:</view> | |
82 | + <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index' style="margin-right: 8rpx;"> | |
83 | + <view class="logistics-name">{{wu_arr[index].name}}</view><view class="xc-right"></view> | |
84 | + </view> | |
72 | 85 | </view> |
73 | 86 | |
74 | 87 | <!--成团人数--> |
... | ... | @@ -125,4 +138,49 @@ |
125 | 138 | </view> |
126 | 139 | </block> |
127 | 140 | |
128 | -<warn id="warn"></warn> | |
129 | 141 | \ No newline at end of file |
142 | +<warn id="warn"></warn> | |
143 | + | |
144 | +<!----弹起选择物流名的列表----> | |
145 | +<view wx:if='{{open_express==1}}' > | |
146 | + <view class="cover-layer flex-center " bindtap='close_express'> | |
147 | + </view> | |
148 | + | |
149 | + <view class="cx-popup radius {{open_express==1?'up' : 'down'}}" > | |
150 | + <view class="tops flex"> | |
151 | + <view class="top-content fs32"> | |
152 | + <view> | |
153 | + 选择物流名字 | |
154 | + </view> | |
155 | + </view> | |
156 | + <view class="close-frame" bindtap='close_express' > | |
157 | + <view class="xc-close-express">×</view> | |
158 | + </view> | |
159 | + </view> | |
160 | + <view class="express_list"> | |
161 | + <view wx:for="{{wu_arr}}" wx:for-item="express_list" wx:for-index="idx"> | |
162 | + <view class="express_list_frame" bindtap="click_express_name" | |
163 | + data-shippingcode="{{express_list.shipping_code}}" | |
164 | + data-name="{{express_list.name}}" data-idxe="{{idx}}"> | |
165 | + | |
166 | + <block wx:if="{{is_express==idx}}"> | |
167 | + <view class="circle white xc-hook fs20 red-b"><text>Γ</text></view> | |
168 | + </block> | |
169 | + <block wx:else> | |
170 | + <view class="circle xc-hooks"></view> | |
171 | + </block> | |
172 | + <view class="fs30">{{express_list.name}}</view> | |
173 | + | |
174 | + </view> | |
175 | + </view> | |
176 | + </view> | |
177 | + <view class="flex click-buttem" > | |
178 | + <view class="xc-determine flex-center" bindtap="determine_expres"> | |
179 | + <view class="flex-vertical t-c">确定</view> | |
180 | + </view> | |
181 | + <view class="xc-confirms flex-center" bindtap="select_default_logistics"> | |
182 | + <view class="flex-vertical t-c">设为默认</view> | |
183 | + </view> | |
184 | + </view> | |
185 | + | |
186 | + </view > | |
187 | +</view> | ... | ... |
pages/cart/cart_wk/cart_wk.wxss
1 | +page{ color: #333;} | |
1 | 2 | .bdr_t-14 { |
2 | 3 | border-top-left-radius: 14rpx; |
3 | 4 | border-top-right-radius: 14rpx; |
... | ... | @@ -329,5 +330,184 @@ page { |
329 | 330 | .anniu_view>view{width: 50%; border-right:1rpx solid #ededed;} |
330 | 331 | |
331 | 332 | |
333 | +.tab-container { | |
334 | + font-size: 28rpx; | |
335 | + margin-top: 20rpx; | |
336 | + display: flex; | |
337 | +} | |
338 | + | |
339 | +.tab-wrapper { | |
340 | + background-color: #ccc; | |
341 | + display: flex; | |
342 | + border-radius: 40rpx; | |
343 | + overflow: hidden; | |
344 | +} | |
345 | + | |
346 | +.tab { | |
347 | + padding: 20rpx 30rpx; | |
348 | + | |
349 | +} | |
350 | + | |
351 | + | |
352 | +.tab.active { | |
353 | + background-color: white; | |
354 | + border-radius: 40rpx; | |
355 | +} | |
356 | + | |
357 | +.xc-right{ | |
358 | + width:20rpx; | |
359 | + height:20rpx; | |
360 | + border-top:2rpx solid #666; | |
361 | + border-right:2rpx solid #666; | |
362 | + transform:rotate(45deg); | |
363 | + display:inline-block; | |
364 | +} | |
365 | + | |
366 | + | |
367 | +/* 自定义弹出窗口 */ | |
368 | +.cx-popup{ | |
369 | + width:100%; | |
370 | + height:880rpx; | |
371 | + background: #fff; | |
372 | + z-index: 35; | |
373 | + border-top-left-radius: 20rpx; | |
374 | + border-top-right-radius: 20rpx; | |
375 | + position:fixed; | |
376 | + bottom:0; | |
377 | + left: 0; | |
378 | + /* padding-bottom: 25rpx; */ | |
379 | +} | |
380 | + | |
381 | +.cx-popup .top{ | |
382 | + width:95%; | |
383 | + height:100rpx; | |
384 | + border-bottom:3rpx solid #ddd; | |
385 | + margin: auto; | |
386 | + margin-top: 30rpx; | |
387 | + | |
388 | +} | |
389 | +.xc-top-content{ | |
390 | + width: 93%; | |
391 | + height:85rpx; | |
392 | + padding-top: 30rpx; | |
393 | + font-size: 34rpx; | |
394 | + font-weight: 600; | |
395 | + | |
396 | +} | |
397 | + | |
398 | +.xc-close{ | |
399 | + width: 37rpx; | |
400 | +height: 37rpx; | |
401 | +border-radius: 50%; | |
402 | +border: 3rpx solid #333; | |
403 | +text-align: center; | |
404 | +line-height: 34rpx; | |
405 | +font-size: 29rpx; | |
406 | +color: #333; | |
407 | + | |
408 | +} | |
409 | + | |
410 | +.xc-confirm { | |
411 | + width: 50%; | |
412 | + border-radius: 50rpx; | |
413 | + height: 80rpx; | |
414 | + margin:0 auto; | |
415 | + background:#d60021; | |
416 | + color:#fff; | |
417 | + font-size:28rpx; | |
418 | + margin-top: 28rpx; | |
419 | +} | |
420 | + | |
421 | +.up{ animation: up .7s; } | |
422 | +.down{ animation: down 1s; } | |
423 | +@keyframes up { 0% { transform: translateY(550rpx); } 100% { transform: translateY(0); } } | |
424 | +@keyframes down { 0% { transform: translateY(0); } 100% { transform: translateY(550rpx); } } | |
425 | + | |
426 | + | |
427 | +.xc-close-express{ | |
428 | + width: 40rpx; | |
429 | +height: 40rpx; | |
430 | +border-radius: 50%; | |
431 | +border: 3rpx solid #333; | |
432 | +text-align: center; | |
433 | +font-size:32rpx; | |
434 | +line-height: 38rpx; | |
435 | +color: #333; | |
436 | +margin-top: 5rpx; | |
437 | +} | |
438 | +.cx-popup .tops{ | |
439 | + width: 100%; | |
440 | +height: 145rpx; | |
441 | +border-bottom: 3rpx solid #eee; | |
442 | + | |
443 | +} | |
444 | +.top-content { | |
445 | + width: 82%; | |
446 | +padding-top: 33px; | |
447 | +height: 100%; | |
448 | +padding-left: 40rpx; | |
449 | +} | |
450 | +.close-frame{ | |
451 | + margin-top: 30rpx; | |
452 | + | |
453 | +} | |
454 | + | |
455 | +.xc-hook { | |
456 | +width: 33rpx; | |
457 | +height: 33rpx; | |
458 | +transform: rotate(-135deg); | |
459 | +line-height: 35rpx; | |
460 | +text-align: center; | |
461 | +margin-right: 20rpx | |
462 | + | |
463 | + | |
464 | +} | |
465 | +.xc-hooks { | |
466 | +width: 30rpx; | |
467 | +height: 30rpx; | |
468 | +border: 1rpx solid #999; | |
469 | +margin-right: 20rpx; | |
470 | +} | |
471 | +.express_list_frame{ | |
472 | + display: flex; | |
473 | +height: 80rpx; | |
474 | +align-items: center; | |
475 | +padding-left: 40rpx; | |
476 | +border-bottom: 1rpx solid #eee; | |
477 | + | |
478 | +} | |
479 | +.express_list{ | |
480 | + width: 100%; | |
481 | + height: 65%; | |
482 | + overflow-y: auto; | |
483 | + margin-bottom: 40rpx; | |
484 | + | |
485 | +} | |
486 | +.xc-confirms { | |
487 | + box-sizing: border-box; | |
488 | + width: 40%; | |
489 | + border-radius: 50rpx; | |
490 | + height: 80rpx; | |
491 | + margin:0 auto; | |
492 | + font-size:28rpx; | |
493 | + background: #fff; | |
494 | + color: #333; | |
495 | + border: 2rpx solid #333; | |
496 | +} | |
332 | 497 | |
498 | +.determine-frame{ | |
499 | + width: 100%; | |
500 | + height: 130rpx; | |
501 | + | |
502 | +} | |
503 | +.xc-determine{ | |
504 | + height: 80rpx; | |
505 | + width: 40%; | |
506 | + border-radius: 50rpx; | |
507 | +background: #d60021; | |
508 | +color: #fff; | |
509 | +font-size: 28rpx; | |
510 | +margin: 0 auto; | |
511 | + | |
512 | +} | |
333 | 513 | ... | ... |
pages/goods/goodsInfo/buy_integral.wxml
... | ... | @@ -59,7 +59,7 @@ |
59 | 59 | |
60 | 60 | <!--商品的属性项目--> |
61 | 61 | <view class="xc-goods-attribute"> |
62 | - <view hidden="{{ismend==1}}" class="spec-name">商品属性</view> | |
62 | + <view hidden="{{ismend==1}}" class="spec-name">商品规格</view> | |
63 | 63 | <view hidden="{{ismend==1}}" style="max-height: 120rpx;overflow-y: auto;"> |
64 | 64 | <view class="spec_bt {{gid==item.goods_id?'act':''}}" bindtap="sele_spec" data-gid='{{item.goods_id}}' wx:for="{{sku_g}}" wx:key="sku_g"> |
65 | 65 | {{item.gg}} | ... | ... |
pages/goods/goodsInfo/buy_integral_normal.wxml
... | ... | @@ -60,9 +60,9 @@ |
60 | 60 | |
61 | 61 | <!--商品的属性项目--> |
62 | 62 | <view class="xc-goods-attribute"> |
63 | - <view hidden="{{ismend==1}}" class="spec-name">商品属性</view> | |
63 | + <view hidden="{{ismend==1}}" class="spec-name">商品规格</view> | |
64 | 64 | <view hidden="{{ismend==1}}" style="max-height: 120rpx;overflow-y: auto;"> |
65 | - <view class="spec_bt {{gid==item.goods_id?'act':''}}" bindtap="sele_spec" data-gid='{{item.goods_id}}' wx:for="{{sku_g}}" wx:key="sku_g"> | |
65 | + <view class="spec_bt {{gid==item.goods_id?'act':''}}" bindtap="sele_spec" data-nor="1" data-gid='{{item.goods_id}}' wx:for="{{sku_g_pt}}" wx:key="sku_g"> | |
66 | 66 | {{item.gg}} |
67 | 67 | </view> |
68 | 68 | </view> |
... | ... | @@ -78,6 +78,20 @@ |
78 | 78 | </view> |
79 | 79 | </view> |
80 | 80 | |
81 | + | |
82 | + <!-- 提示再买多少优惠 --> | |
83 | + <view style="margin-top: 35rpx;color:#333;font-size:28rpx;" wx:if="{{hui_condition}}"> | |
84 | + 再买{{hui_condition.need}} | |
85 | + <text wx:if="{{hui_condition.money}}">,免{{hui_condition.money}}元</text> | |
86 | + <text wx:if="{{hui_condition.sale}}">,打{{hui_condition.sale}}折</text> | |
87 | + <text wx:if="{{hui_condition.past==1}}">,包邮</text> | |
88 | + <text wx:if="{{hui_condition.intValue>0}}">,送{{hui_condition.intValue}}积分</text> | |
89 | + <text wx:if="{{hui_condition.couponId>0}}">,送优惠券</text> | |
90 | + <text wx:if="{{hui_condition.gift_id>0}}">,送赠品</text> | |
91 | + <text wx:if="{{hui_condition.lb_id>0}}">,送礼包</text> | |
92 | + </view> | |
93 | + | |
94 | + | |
81 | 95 | <!-- 按钮部分 --> |
82 | 96 | <view class="spec-cart-btns"> |
83 | 97 | ... | ... |
pages/goods/goodsInfo/buy_pt.wxml
... | ... | @@ -74,7 +74,7 @@ |
74 | 74 | </view> |
75 | 75 | <!----商品的属性项目----> |
76 | 76 | <view> |
77 | - <view hidden="{{ismend==1}}" class="spec-name">商品属性</view> | |
77 | + <view hidden="{{ismend==1}}" class="spec-name">商品规格</view> | |
78 | 78 | <block wx:if="{{is_normal==0}}"> |
79 | 79 | <view hidden="{{ismend==1}}" class="flex"> |
80 | 80 | <view class="spec_bt {{gid==item.goods_id?'act':''}}" bindtap="sele_spec" data-gid='{{item.goods_id}}' wx:for="{{sku_g}}" wx:key="sku_g">{{item.gg}} |
... | ... | @@ -84,8 +84,8 @@ |
84 | 84 | |
85 | 85 | <block wx:else> |
86 | 86 | <view hidden="{{ismend==1}}" class="flex"> |
87 | - <view class="spec_bt {{gid==item.goods_id?'act':''}}" bindtap="sele_spec" data-gid='{{item.goods_id}}' wx:for="{{sku_g}}" wx:key="sku_g">{{item.gg}} | |
88 | - </view> | |
87 | + <view class="spec_bt {{sele_g.goods_id==item.goods_id?'act':''}}" | |
88 | + bindtap="sele_spec" data-nor="1" data-gid='{{item.goods_id}}' wx:for="{{sku_g_pt}}" wx:key="sku_g">{{item.gg}}</view> | |
89 | 89 | </view> |
90 | 90 | </block> |
91 | 91 | <view class="clear"></view> |
... | ... | @@ -107,11 +107,25 @@ |
107 | 107 | <view class="b_num" hidden="{{ismend==1}}" style="margin-top: 20rpx"> |
108 | 108 | <view>购买数量</view> |
109 | 109 | <view class="count"> |
110 | - <view bindtap="{{goodsInputNum <= 1 ? '':'subCartNum_inte'}}" class="sub {{goodsInputNum <= 1 ? 'active':''}}">-</view> | |
110 | + <view bindtap="{{goodsInputNum <= 1 ? '':'subCartNum'}}" class="sub {{goodsInputNum <= 1 ? 'active':''}}">-</view> | |
111 | 111 | <input bindblur="inputCartNum" class="xc-val-fream" type="number" value="{{goodsInputNum}}"></input> |
112 | 112 | <view bindtap="addCartNum" class="add">+</view> |
113 | 113 | </view> |
114 | 114 | </view> |
115 | + | |
116 | + | |
117 | + <!-- 提示再买多少优惠 --> | |
118 | + <view style="margin-top: 35rpx;color:#333;font-size:28rpx;" wx:if="{{hui_condition && is_normal==1}}"> | |
119 | + 再买{{hui_condition.need}} | |
120 | + <text wx:if="{{hui_condition.money}}">,免{{hui_condition.money}}元</text> | |
121 | + <text wx:if="{{hui_condition.sale}}">,打{{hui_condition.sale}}折</text> | |
122 | + <text wx:if="{{hui_condition.past==1}}">,包邮</text> | |
123 | + <text wx:if="{{hui_condition.intValue>0}}">,送{{hui_condition.intValue}}积分</text> | |
124 | + <text wx:if="{{hui_condition.couponId>0}}">,送优惠券</text> | |
125 | + <text wx:if="{{hui_condition.gift_id>0}}">,送赠品</text> | |
126 | + <text wx:if="{{hui_condition.lb_id>0}}">,送礼包</text> | |
127 | + </view> | |
128 | + | |
115 | 129 | |
116 | 130 | <view class="clear"></view> |
117 | 131 | <!---当选取门店的时候会显示门店的选项----> | ... | ... |
pages/goods/goodsInfo/goodsInfo.js
... | ... | @@ -779,24 +779,16 @@ Page({ |
779 | 779 | ee.check_is_youhui(ee.data.gid); |
780 | 780 | |
781 | 781 | t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); |
782 | - var txt = (t.data.data.shop_price / t.data.data.market_price * 10).toFixed(2).toString(); | |
783 | - | |
784 | - | |
785 | - if(txt != 0) { | |
786 | - if(txt.indexOf('.') != -1) { | |
787 | - var arrtxt = txt.split('.'); | |
788 | - if(arrtxt[1].length == 1 && arrtxt[1][0] == 0) { | |
789 | - txt = txt.slice(0,-2); | |
790 | - }; | |
791 | - | |
792 | - if(arrtxt[1].length == 2 && arrtxt[1][1] == 0) { | |
793 | - txt = txt.slice(0,-1); | |
794 | - }; | |
795 | - }; | |
796 | - } else { | |
797 | - txt = 0; | |
798 | - } | |
799 | - | |
782 | + | |
783 | + var cur_price=t.data.data.shop_price; | |
784 | + if(getApp().globalData.userInfo && getApp().globalData.userInfo.card_field){ | |
785 | + var cfile=getApp().globalData.userInfo.card_field; | |
786 | + if(t.data.data[cfile]){ | |
787 | + cur_price=t.data.data[cfile]; | |
788 | + } | |
789 | + } | |
790 | + var txt =(cur_price / t.data.data.market_price * 10).toFixed(2).toString(); | |
791 | + txt=parseFloat(txt); | |
800 | 792 | |
801 | 793 | t.data.data['disc'] = txt; |
802 | 794 | |
... | ... | @@ -1262,9 +1254,9 @@ Page({ |
1262 | 1254 | |
1263 | 1255 | //如果是积分够,is_integral_normal就要有积分购普通购买字段 |
1264 | 1256 | if(o.prom_type==4){ |
1265 | - newd.is_integral_normal=1; | |
1257 | + newd.is_integral_normal=1; | |
1266 | 1258 | } |
1267 | - | |
1259 | + | |
1268 | 1260 | //如果有线下取价 |
1269 | 1261 | if(o.offline_price){ |
1270 | 1262 | newd.offline_price=o.offline_price; |
... | ... | @@ -1504,14 +1496,32 @@ Page({ |
1504 | 1496 | // this.data.shippingCost < 0 || this.data.select.stock <= 0 || (Object.assign(e, { |
1505 | 1497 | // action: "buy_now" |
1506 | 1498 | // }), |
1507 | - s.set_b_now(e); | |
1499 | + | |
1508 | 1500 | if(e.prom_type==4){ |
1501 | + s.set_b_now(e); | |
1509 | 1502 | var url="/pages/cart/cart2_inte/cart2_inte?is_bnow=1&goods_id=" + e.goods_id; |
1510 | 1503 | getApp().goto(url); |
1511 | 1504 | }else{ |
1512 | - wx.redirectTo({ | |
1513 | - url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, | |
1514 | - }); | |
1505 | + //要判断积分购的普通购买有没有参加优惠活动 | |
1506 | + if(e.is_integral_normal==1){ | |
1507 | + this.check_nor_promgood(e.goods_id,function(res){ | |
1508 | + if(res && res.cat_id){ | |
1509 | + e.prom_type=3; | |
1510 | + e.prom_id=res.cat_id | |
1511 | + } | |
1512 | + s.set_b_now(e); | |
1513 | + wx.redirectTo({ | |
1514 | + url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, | |
1515 | + }); | |
1516 | + | |
1517 | + }) | |
1518 | + }else{ | |
1519 | + s.set_b_now(e); | |
1520 | + wx.redirectTo({ | |
1521 | + url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, | |
1522 | + }); | |
1523 | + } | |
1524 | + | |
1515 | 1525 | } |
1516 | 1526 | }, |
1517 | 1527 | |
... | ... | @@ -1700,6 +1710,13 @@ Page({ |
1700 | 1710 | closeSpecModal: function() { |
1701 | 1711 | if(this.data.openSpecModal_pt && this.data.is_normal){ |
1702 | 1712 | this.get_sto(); |
1713 | + this.setData({ | |
1714 | + sele_g:this.data.data, | |
1715 | + gid:this.data.data.goods_id | |
1716 | + }) | |
1717 | + | |
1718 | + this.sele_spec_chech_activity(); | |
1719 | + | |
1703 | 1720 | } |
1704 | 1721 | |
1705 | 1722 | this.setData({ |
... | ... | @@ -2088,7 +2105,8 @@ Page({ |
2088 | 2105 | more_spec:gd.more_spec, |
2089 | 2106 | isonsale: 1, |
2090 | 2107 | is_on_sale: 1, |
2091 | - pageSize:500 | |
2108 | + pageSize:500, | |
2109 | + orderField: 'sort' | |
2092 | 2110 | } |
2093 | 2111 | }).then(res => { |
2094 | 2112 | var e = res; |
... | ... | @@ -2102,25 +2120,48 @@ Page({ |
2102 | 2120 | for (var i = 0; i < arrdata.length; i++) { |
2103 | 2121 | var goodsinfo=arrdata[i],prom=null; |
2104 | 2122 | if (goodsinfo.goods_id != g_id) { |
2105 | - if(goodsinfo.prom_type==1){ | |
2106 | - await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
2107 | - }).then(res=>{ | |
2108 | - if(res.data.code==0) prom=res.data.data; | |
2109 | - }) | |
2110 | - } | |
2111 | - if(goodsinfo.prom_type==6){ | |
2112 | - await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
2113 | - }).then(res=>{ | |
2114 | - if(res.data.code==0) prom=res.data.data; | |
2115 | - }) | |
2116 | - } | |
2123 | + | |
2124 | + switch(goodsinfo.prom_type){ | |
2125 | + case 1: | |
2126 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
2127 | + }).then(res=>{ | |
2128 | + if(res.data.code==0) prom=res.data.data; | |
2129 | + }) | |
2130 | + | |
2131 | + break; | |
2132 | + case 6: | |
2133 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
2134 | + }).then(res=>{ | |
2135 | + if(res.data.code==0) prom=res.data.data; | |
2136 | + }) | |
2137 | + | |
2138 | + break; | |
2139 | + case 2: | |
2140 | + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/"+os.stoid+"/"+goodsinfo.goods_id+"/"+goodsinfo.prom_id,{ | |
2141 | + }).then(res=>{ | |
2142 | + if(res.data.code==0) prom=res.data.data; | |
2143 | + }) | |
2144 | + break; | |
2145 | + case 4: | |
2146 | + await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/"+os.stoid+"/"+goodsinfo.goods_id+"/"+goodsinfo.prom_id,{ | |
2147 | + }).then(res=>{ | |
2148 | + if(res.data.code==0) prom=res.data.data; | |
2149 | + }) | |
2150 | + break | |
2151 | + | |
2152 | + } | |
2153 | + | |
2154 | + | |
2117 | 2155 | } |
2118 | 2156 | //---如果有活动,不算在一起--- |
2119 | 2157 | if(prom){ |
2120 | - if(prom.is_end==0 && prom.end_time>now && prom.start_time<now){ | |
2121 | - continue; | |
2122 | - } | |
2158 | + if(goodsinfo.prom_type==1 || goodsinfo.prom_type==6){ | |
2159 | + if(prom.is_end==0 && prom.end_time>now && prom.start_time<now) continue; | |
2160 | + }else{ | |
2161 | + continue; | |
2162 | + } | |
2123 | 2163 | } |
2164 | + | |
2124 | 2165 | |
2125 | 2166 | var item = arrdata[i],gg = ""; |
2126 | 2167 | if(item.goods_spec=="null" || item.goods_spec==null) item.goods_spec=""; |
... | ... | @@ -2168,7 +2209,13 @@ Page({ |
2168 | 2209 | sele_spec: function(e) { |
2169 | 2210 | var that=this,ee=this,th=this; |
2170 | 2211 | var gid = e.currentTarget.dataset.gid; |
2212 | + var nor=e.currentTarget.dataset.nor; | |
2213 | + | |
2171 | 2214 | var sku_g = this.data.sku_g; |
2215 | + if(nor){ | |
2216 | + sku_g = this.data.sku_g_pt; | |
2217 | + } | |
2218 | + | |
2172 | 2219 | var item = null; |
2173 | 2220 | for (var i in sku_g) { |
2174 | 2221 | if (sku_g[i].goods_id == gid) { |
... | ... | @@ -2180,12 +2227,13 @@ Page({ |
2180 | 2227 | sele_g: item, |
2181 | 2228 | gid: gid |
2182 | 2229 | }); |
2230 | + | |
2231 | + | |
2183 | 2232 | |
2184 | - that.check_is_youhui(gid) | |
2185 | - | |
2233 | + that.check_is_youhui(gid,that.data.is_normal); | |
2234 | + | |
2186 | 2235 | var ty=0; |
2187 | - | |
2188 | - this.get_sto(); | |
2236 | + this.get_sto(that.data.is_normal); | |
2189 | 2237 | |
2190 | 2238 | |
2191 | 2239 | //默认门店要拿下门店库存 |
... | ... | @@ -2241,6 +2289,16 @@ Page({ |
2241 | 2289 | } |
2242 | 2290 | }) |
2243 | 2291 | } |
2292 | + | |
2293 | + if(goodsinfo.prom_type==4){ | |
2294 | + await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/"+os.stoid+"/"+goodsinfo.goods_id+"/"+goodsinfo.prom_id,{ | |
2295 | + }).then(res=>{ | |
2296 | + if(res.data.code==0){ | |
2297 | + prom=res.data.data; | |
2298 | + } | |
2299 | + }) | |
2300 | + } | |
2301 | + | |
2244 | 2302 | //----------如果有活动,并且在进行中,就不计算线下库存--------------- |
2245 | 2303 | var now=ut.gettimestamp(); |
2246 | 2304 | if(prom){ |
... | ... | @@ -3334,7 +3392,8 @@ Page({ |
3334 | 3392 | openSpecModal_pt: 1 |
3335 | 3393 | }); |
3336 | 3394 | }); |
3337 | - } | |
3395 | + } | |
3396 | + th.check_is_youhui(th.data.gid,1); | |
3338 | 3397 | } else { |
3339 | 3398 | |
3340 | 3399 | //拼单商品从这里进,先判断有没有买过商品, |
... | ... | @@ -3560,8 +3619,19 @@ Page({ |
3560 | 3619 | newd['pick_name'] = th.data.sto_sele_name; |
3561 | 3620 | newd['pick_dis'] = th.data.sto_sele_distr; |
3562 | 3621 | newd['is_normal'] = th.data.is_normal; |
3563 | - | |
3564 | - th.buyNow_pt(newd); | |
3622 | + | |
3623 | + if(newd['is_normal']){ | |
3624 | + newd['is_pd_normal']=1; | |
3625 | + //判断一下有没有全局优惠活动 | |
3626 | + th.check_nor_promgood(newd.goods_id,function(e){ | |
3627 | + if(e && e.act_id){ | |
3628 | + newd['prom_type']=3; | |
3629 | + newd['prom_id']=e.act_id; | |
3630 | + } | |
3631 | + th.buyNow(newd) | |
3632 | + }) | |
3633 | + } | |
3634 | + else th.buyNow_pt(newd); | |
3565 | 3635 | }) |
3566 | 3636 | }, |
3567 | 3637 | //----------立即购买_pt----------- |
... | ... | @@ -4025,7 +4095,7 @@ Page({ |
4025 | 4095 | //---市场价划掉--- |
4026 | 4096 | context.setFillStyle("gray") |
4027 | 4097 | context.setFontSize(22 * unit) |
4028 | - context.fillText("¥" + th.data.data.market_price, 426 * unit, 213 * unit); | |
4098 | + context.fillText("¥" + th.data.data.market_price.toFixed(2), 426 * unit, 213 * unit); | |
4029 | 4099 | context.setStrokeStyle('gray'); |
4030 | 4100 | context.setLineWidth(1 * unit); |
4031 | 4101 | context.moveTo(426 * unit, 206 * unit); |
... | ... | @@ -5058,33 +5128,53 @@ Page({ |
5058 | 5128 | }, |
5059 | 5129 | |
5060 | 5130 | //---检查有没有优惠活动--- |
5061 | - check_is_youhui:function(gid){ | |
5062 | - var th=this; | |
5063 | - //调用接口判断订单优惠, | |
5064 | - getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+gid+"/0", {}).then(res => { | |
5065 | - if(res.data.code==0){ | |
5066 | - var r_data=res.data.data; | |
5067 | - var max=0,min=0; | |
5068 | - if(r_data.collocationList){ | |
5069 | - for(var i in r_data.collocationList){ | |
5070 | - if(max==0) max=r_data.collocationList[i].price; | |
5071 | - if(min==0) min=r_data.collocationList[i].price; | |
5072 | - | |
5073 | - if(max<parseFloat(r_data.collocationList[i].price)) max=r_data.collocationList[i].price; | |
5074 | - if(min>parseFloat(r_data.collocationList[i].price)) min=r_data.collocationList[i].price; | |
5075 | - } | |
5076 | - r_data.collocationPromList.max=(max+th.data.data.shop_price).toFixed(2); | |
5077 | - r_data.collocationPromList.min=(min+th.data.data.shop_price).toFixed(2); | |
5078 | - } | |
5079 | - th.setData({ | |
5080 | - order_prom:r_data.promOrder, | |
5081 | - collocationGoods:r_data.collocationPromList, | |
5082 | - prom_goods:r_data.promGoodsLists, | |
5083 | - }) | |
5131 | + check_is_youhui:function(gid,is_nor){ | |
5132 | + var th=this; | |
5133 | + //如果是普通购买的时候,要进行调用 | |
5134 | + if(is_nor){ | |
5135 | + getApp().request.get("/api/weshop/goods/getGoodsPromNormal/" + os.stoid+"/"+gid, { | |
5136 | + success:function(res){ | |
5137 | + if(res.data.code==0){ | |
5138 | + var r_data=res.data.data; | |
5139 | + th.setData({ | |
5140 | + prom_goods:r_data.promGoodsLists, | |
5141 | + }) | |
5142 | + th.is_show_more_buy(); | |
5143 | + } | |
5144 | + }, | |
5145 | + }) | |
5084 | 5146 | |
5085 | - th.is_show_more_buy(); | |
5086 | - } | |
5087 | - }) | |
5147 | + }else{ | |
5148 | + //调用接口判断订单优惠, | |
5149 | + getApp().request.get("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+gid+"/0", { | |
5150 | + success:function(res){ | |
5151 | + if(res.data.code==0){ | |
5152 | + var r_data=res.data.data; | |
5153 | + var max=0,min=0; | |
5154 | + if(r_data.collocationList){ | |
5155 | + for(var i in r_data.collocationList){ | |
5156 | + if(max==0) max=r_data.collocationList[i].price; | |
5157 | + if(min==0) min=r_data.collocationList[i].price; | |
5158 | + | |
5159 | + if(max<parseFloat(r_data.collocationList[i].price)) max=r_data.collocationList[i].price; | |
5160 | + if(min>parseFloat(r_data.collocationList[i].price)) min=r_data.collocationList[i].price; | |
5161 | + } | |
5162 | + r_data.collocationPromList.max=(max+th.data.data.shop_price).toFixed(2); | |
5163 | + r_data.collocationPromList.min=(min+th.data.data.shop_price).toFixed(2); | |
5164 | + } | |
5165 | + th.setData({ | |
5166 | + order_prom:r_data.promOrder, | |
5167 | + collocationGoods:r_data.collocationPromList, | |
5168 | + prom_goods:r_data.promGoodsLists, | |
5169 | + }) | |
5170 | + th.is_show_more_buy(); | |
5171 | + } | |
5172 | + } | |
5173 | + | |
5174 | + }) | |
5175 | + } | |
5176 | + | |
5177 | + | |
5088 | 5178 | }, |
5089 | 5179 | |
5090 | 5180 | closePoster() { |
... | ... | @@ -5212,13 +5302,13 @@ Page({ |
5212 | 5302 | if(item.prom_type==1){ |
5213 | 5303 | if(item.condition>this.data.goodsInputNum) { |
5214 | 5304 | con=item; |
5215 | - con.need=(item.condition-this.data.goodsInputNum)+"件"; | |
5305 | + con.need=(item.condition-this.data.goodsInputNum).toFixed(2)+"件"; | |
5216 | 5306 | break; |
5217 | 5307 | } |
5218 | 5308 | }else{ |
5219 | 5309 | if(item.condition>all_price){ |
5220 | 5310 | con=item; |
5221 | - con.need=(item.condition-all_price)+"元"; | |
5311 | + con.need=(item.condition-all_price).toFixed(2)+"元"; | |
5222 | 5312 | break; |
5223 | 5313 | } |
5224 | 5314 | } |
... | ... | @@ -5235,8 +5325,20 @@ Page({ |
5235 | 5325 | }, |
5236 | 5326 | //-- 积分购普通购买 -- |
5237 | 5327 | go_pay_integral_normal:function(){ |
5238 | - this.get_sto(1) | |
5239 | - this.setData({openSpecModal_inte_normal:1}); | |
5328 | + var th=this; | |
5329 | + if (th.data.sku_g_pt) { | |
5330 | + this.get_sto(1) | |
5331 | + this.setData({openSpecModal_inte_normal:1}); | |
5332 | + }else{ | |
5333 | + th.get_sto(1); | |
5334 | + th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function() { | |
5335 | + th.setData({ | |
5336 | + is_normal: 1, | |
5337 | + openSpecModal_inte_normal:1 | |
5338 | + }); | |
5339 | + }); | |
5340 | + } | |
5341 | + this.check_is_youhui(th.data.gid,1); | |
5240 | 5342 | }, |
5241 | 5343 | |
5242 | 5344 | closeSpecModal_inte:function(){ |
... | ... | @@ -5244,6 +5346,14 @@ Page({ |
5244 | 5346 | } , |
5245 | 5347 | closeSpecModal_inte_normal:function(){ |
5246 | 5348 | this.setData({openSpecModal_inte_normal:0}); |
5349 | + //要进行还原 | |
5350 | + this.get_sto(); | |
5351 | + this.setData({ | |
5352 | + sele_g:this.data.data, | |
5353 | + gid:this.data.data.goods_id | |
5354 | + }) | |
5355 | + | |
5356 | + this.sele_spec_chech_activity(); | |
5247 | 5357 | }, |
5248 | 5358 | |
5249 | 5359 | addCart_inte:function(t){ |
... | ... | @@ -5288,4 +5398,19 @@ Page({ |
5288 | 5398 | }); |
5289 | 5399 | }, |
5290 | 5400 | |
5401 | + //积分购和拼团的普通购买的的时候,要判断有没有全场优惠活动 | |
5402 | + check_nor_promgood(goods_id,back){ | |
5403 | + getApp().request.get("/api/weshop/goods/getGoodsPromNormal/"+os.stoid+"/"+goods_id,{ | |
5404 | + success:function(res){ | |
5405 | + if(res.data.code==0 && res.data.data && res.data.data.promGoodsLists && res.data.data.promGoodsLists.length>0){ | |
5406 | + var obj={ | |
5407 | + act_id:res.data.data.promGoodsLists[0].prom_id, | |
5408 | + } | |
5409 | + back(obj); | |
5410 | + }else{ | |
5411 | + back(0) | |
5412 | + } | |
5413 | + } | |
5414 | + }) | |
5415 | + } | |
5291 | 5416 | }); | ... | ... |
pages/goods/goodsInfo/goodsInfo.wxml
... | ... | @@ -93,7 +93,7 @@ |
93 | 93 | <view class="flex fs35 xc-qtsign">¥</view> |
94 | 94 | <view class="fs50 val">{{prom_price}}</view> |
95 | 95 | </view> |
96 | - <view class="word-line fs20 xc-qtunit-price">零售价¥{{data.market_price}}</view> | |
96 | + <view class="word-line fs20 xc-qtunit-price">零售价¥{{filters.toFix(data.market_price,2)}}</view> | |
97 | 97 | </view> |
98 | 98 | <view class="abs white xc-nanber"> |
99 | 99 | <text class="fs22">已拼{{prom_act.buy_num}}件</text> |
... | ... | @@ -249,7 +249,7 @@ |
249 | 249 | <text class="rel_txt" wx:if="{{prom_integral && prom_price}}">+</text> |
250 | 250 | <text class="rel_txt" wx:if="{{prom_price}}" >{{filters.toFix(prom_price,2)}}元</text> |
251 | 251 | <text class="rel_txt" wx:if="{{!prom_integral && !prom_price}}">0积分</text> |
252 | - <text class="rel_txt fs22" decode="{{true}}" space="{{true}}" style="color: #999; text-decoration: line-through;"> 零售价:¥{{data.market_price}}</text> | |
252 | + <text class="rel_txt fs22" decode="{{true}}" space="{{true}}" style="color: #999; text-decoration: line-through;"> 零售价:¥{{filters.toFix(data.market_price,2)}}</text> | |
253 | 253 | </view> |
254 | 254 | |
255 | 255 | <!-- 这个是分享按钮 --> |
... | ... | @@ -297,12 +297,12 @@ |
297 | 297 | </view> |
298 | 298 | <text class="rel yuan">¥</text>{{filters.toFix(data[card_field],2)}} |
299 | 299 | <view class='yj' style="top:35rpx"> |
300 | - <text>零售价:¥{{data.market_price}}</text> | |
300 | + <text>零售价:¥{{filters.toFix(data.market_price,2)}}</text> | |
301 | 301 | </view> |
302 | 302 | </block> |
303 | 303 | <block wx:else> |
304 | 304 | <text class="yuan">¥</text>{{filters.toFix(data.shop_price,2)}} |
305 | - <view class='yj'><text>零售价:¥{{data.market_price}}</text></view> | |
305 | + <view class='yj'><text>零售价:¥{{filters.toFix(data.market_price,2)}}</text></view> | |
306 | 306 | </block> |
307 | 307 | </view> |
308 | 308 | |
... | ... | @@ -398,7 +398,7 @@ |
398 | 398 | <view class="flex jc_sb"> |
399 | 399 | <view class="flex" style="align-items: baseline;"> |
400 | 400 | <view class="flex xc-price-frame"><text class="fs30">¥</text>{{prom_price}}</view> |
401 | - <view class="word-line fs24">零售价¥{{data.market_price}}</view> | |
401 | + <view class="word-line fs24">零售价¥{{filters.toFix(data.market_price,2)}}</view> | |
402 | 402 | </view> |
403 | 403 | |
404 | 404 | <!-- 这个是分享按钮 --> | ... | ... |
pages/team/team_show/team_show.wxml
... | ... | @@ -242,7 +242,7 @@ |
242 | 242 | </view> |
243 | 243 | <!-- 商品的属性项目 --> |
244 | 244 | <view> |
245 | - <view hidden="{{ismend==1}}" class="spec-name">商品属性</view> | |
245 | + <view hidden="{{ismend==1}}" class="spec-name">商品规格</view> | |
246 | 246 | <block> |
247 | 247 | <view hidden="{{ismend==1}}" class="flex"> |
248 | 248 | <view class="spec_bt act" >{{goods.gg}} | ... | ... |