Commit 42adb2e62833d47120255fbedfcc3cab551d081e
1 parent
a2dcf50b
套盒商品列表、详情和服务卡项详情修改
Showing
7 changed files
with
190 additions
and
80 deletions
packageA/pages/goodsInfo/goodsInfo.js
... | ... | @@ -637,7 +637,7 @@ Page({ |
637 | 637 | //listServiceItem: t.data.data.listServiceItem, |
638 | 638 | }); |
639 | 639 | |
640 | - console.log('0xxxxx999999', t.data.data); | |
640 | + // console.log('0xxxxx999999', t.data.data); | |
641 | 641 | //-----商品详情--- |
642 | 642 | if(!t.data.data.serviceContent) t.data.data.serviceContent=" "; |
643 | 643 | a.wxParse("content", "html", t.data.data.serviceContent, ee, 6); | ... | ... |
packageA/pages/goodsInfo/goodsInfo.wxml
... | ... | @@ -214,7 +214,8 @@ |
214 | 214 | </view> |
215 | 215 | <view class="flex ai_c jc_sb fs24 c-6"> |
216 | 216 | <view class="ellipsis-1">备注:{{filters.show_default(item.remark, '无')}}</view> |
217 | - <!-- <view class="pdl30 shrink0">有效期:50天/2022-02-02</view> --> | |
217 | + <!-- 指定开始日期和结束日期 --> | |
218 | + <view class="pdl30 shrink0">有效期:{{filters.showStartAndEndDate(item)}}</view> | |
218 | 219 | </view> |
219 | 220 | </view> |
220 | 221 | </block> |
... | ... | @@ -231,7 +232,7 @@ |
231 | 232 | </view> |
232 | 233 | <view class="flex ai_c jc_sb fs24 c-6 pdt10"> |
233 | 234 | <view class="ellipsis-1">备注:{{filters.show_default(item.remark, '无')}}</view> |
234 | - <view class="pdl30 shrink0">有效期:{{item.effective_days}}天<text wx:if="{{item.effective_date}}">/{{item.effective_date}}</text></view> | |
235 | + <view class="pdl30 shrink0">有效期:{{filters.showStartAndEndDate(item)}}</view> | |
235 | 236 | </view> |
236 | 237 | </view> |
237 | 238 | </block> | ... | ... |
packageB/pages/boxes-details/boxes-details.js
... | ... | @@ -51,7 +51,7 @@ Page({ |
51 | 51 | * 生命周期函数--监听页面显示 |
52 | 52 | */ |
53 | 53 | onShow: function() { |
54 | - console.log('show~~~'); | |
54 | + // console.log('show~~~'); | |
55 | 55 | if (app.globalData.userInfo) { |
56 | 56 | if (!this.data.isLogin) { |
57 | 57 | this.setData({ |
... | ... | @@ -60,20 +60,22 @@ Page({ |
60 | 60 | isLogin: true, |
61 | 61 | }); |
62 | 62 | |
63 | - let url = '/api/weshop/serviceGoods/list' | |
63 | + let url = '/api/weshop/serviceCard/listWriteoffWare' | |
64 | 64 | let data = { |
65 | 65 | store_id: app.globalData.setting.stoid, |
66 | - service_id: this.data.options.service_id, | |
66 | + user_id: this.data.userInfo.user_id, | |
67 | + Id: this.data.options.formlistid, | |
67 | 68 | }; |
68 | 69 | |
69 | 70 | // 请求数据 |
70 | - app.promiseGet(url, { | |
71 | + app.request.promiseGet(url, { | |
71 | 72 | data: data, |
72 | 73 | }).then(res => { |
73 | 74 | if (res.data.code == 0) { |
74 | - console.log('请求成功', res); | |
75 | + // console.log('请求成功', res); | |
75 | 76 | this.setData({ |
76 | 77 | details: res.data.data, |
78 | + writeOffCode: res.data.data[0].WriteOffCode | |
77 | 79 | }); |
78 | 80 | } else { |
79 | 81 | throw (res); |
... | ... | @@ -128,42 +130,48 @@ Page({ |
128 | 130 | |
129 | 131 | |
130 | 132 | // 图片异常时加载默认图片 |
131 | - bind_bnerr(e) { | |
132 | - var errImg = e.currentTarget.dataset.errorimg; | |
133 | - var errObj = {}; | |
134 | - errObj[errImg] = 'public/images/default_goods_image_240.gif'; | |
135 | - this.setData(errObj); // this.setData({ details.list[0].img_url}); | |
136 | - }, | |
133 | + // bind_bnerr(e) { | |
134 | + // var errImg = e.currentTarget.dataset.errorimg; | |
135 | + // var errObj = {}; | |
136 | + // errObj[errImg] = 'public/images/default_goods_image_240.gif'; | |
137 | + // this.setData(errObj); // this.setData({ details.list[0].img_url}); | |
138 | + // }, | |
137 | 139 | |
138 | 140 | |
139 | - createQr() { | |
140 | - wx.showLoading({ | |
141 | - title:'生成核销码中', | |
141 | + showQr() { | |
142 | + // wx.showLoading({ | |
143 | + // title:'生成核销码中', | |
144 | + // }); | |
145 | + | |
146 | + let writeOffCode = this.data.details[0].WriteOffCode; | |
147 | + self.qrcode(writeOffCode); | |
148 | + self.setData({ | |
149 | + showQr: true, | |
142 | 150 | }); |
143 | 151 | |
144 | - let store_id = app.globalData.setting.stoid; | |
145 | - let id = this.data.options.id; | |
146 | - let url = `/api/weshop/rechargeServicelist/update/${store_id}/${id}`; | |
152 | + // let store_id = app.globalData.setting.stoid; | |
153 | + // let id = this.data.options.id; | |
154 | + // let url = `/api/weshop/rechargeServicelist/update/${store_id}/${id}`; | |
147 | 155 | |
148 | - app.request.put(url, { | |
149 | - data: {}, | |
150 | - success: function(res) { | |
151 | - wx.hideLoading(); | |
152 | - if(res.data.code == 0) { | |
153 | - let verify_code = res.data.data.verify_code; | |
154 | - self.qrcode(verify_code); | |
155 | - self.setData({ | |
156 | - verify_code, | |
157 | - showQr: true, | |
158 | - }); | |
159 | - }; | |
160 | - } | |
161 | - }); | |
156 | + // app.request.put(url, { | |
157 | + // data: {}, | |
158 | + // success: function(res) { | |
159 | + // wx.hideLoading(); | |
160 | + // if(res.data.code == 0) { | |
161 | + // let verify_code = res.data.data.verify_code; | |
162 | + // self.qrcode(verify_code); | |
163 | + // self.setData({ | |
164 | + // verify_code, | |
165 | + // showQr: true, | |
166 | + // }); | |
167 | + // }; | |
168 | + // } | |
169 | + // }); | |
162 | 170 | }, |
163 | 171 | |
164 | - showQr() { | |
165 | - this.debounce(this.createQr, 300)(); | |
166 | - }, | |
172 | + // showQr() { | |
173 | + // // this.debounce(this.createQr, 300)(); | |
174 | + // }, | |
167 | 175 | |
168 | 176 | |
169 | 177 | closeQr() { |
... | ... | @@ -176,29 +184,78 @@ Page({ |
176 | 184 | title: '刷新中', |
177 | 185 | mask: true, |
178 | 186 | }); |
179 | - let store_id = app.globalData.setting.stoid; | |
180 | - let id = this.data.options.id; | |
181 | - let url = `/api/weshop/rechargeServicelist/update/${store_id}/${id}`; | |
182 | 187 | |
183 | - app.request.put(url, { | |
184 | - data: {}, | |
185 | - success: function(res) { | |
186 | - wx.hideLoading(); | |
187 | - if(res.data.code == 0) { | |
188 | - // console.log('xxx000', res.data.data.use_state); | |
188 | + // let store_id = app.globalData.setting.stoid; | |
189 | + // let id = this.data.options.id; | |
190 | + let url = '/api/weshop/serviceCard/listWriteoffWare'; | |
191 | + | |
192 | + app.request.promiseGet(url, { | |
193 | + data: { | |
194 | + store_id: app.globalData.setting.stoid, | |
195 | + user_id: this.data.userInfo.user_id, | |
196 | + Id: this.data.options.formlistid, | |
197 | + }, | |
198 | + }).then(res => { | |
199 | + wx.hideLoading(); | |
200 | + if (res.data.code == 0) { | |
201 | + | |
202 | + let posNo = res.data.data[0].PosNo; | |
203 | + if(posNo != '') { | |
204 | + self.setData({ | |
205 | + ['options.usestate']: 1, | |
206 | + }); | |
207 | + } else { | |
189 | 208 | self.setData({ |
190 | - ['options.usestate']: res.data.data.use_state, | |
209 | + ['options.usestate']: 0, | |
191 | 210 | }); |
192 | 211 | }; |
193 | - } | |
212 | + | |
213 | + } else { | |
214 | + throw (res); | |
215 | + }; | |
216 | + }).catch(err => { | |
217 | + // wx.showToast({ | |
218 | + // title: err.data.data, | |
219 | + // icon: 'error', | |
220 | + // }); | |
194 | 221 | }); |
222 | + | |
223 | + | |
224 | + | |
225 | + // app.promiseGet(url, { | |
226 | + // data: { | |
227 | + // store_id: app.globalData.setting.stoid, | |
228 | + // user_id: self.data.userInfo.user_id, | |
229 | + // Id: self.data.options.formlistid, | |
230 | + // }, | |
231 | + // success: function(res) { | |
232 | + // wx.hideLoading(); | |
233 | + // if(res.data.code == 0) { | |
234 | + // console.log('xxx000', res.data.data); | |
235 | + // // let posNo = res.data.data[0].PosNo; | |
236 | + // // if(posNo != '') { | |
237 | + // // self.setData({ | |
238 | + // // ['options.usestate']: 1, | |
239 | + // // }); | |
240 | + // // } else { | |
241 | + // // self.setData({ | |
242 | + // // ['options.usestate']: 0, | |
243 | + // // }); | |
244 | + // // }; | |
245 | + | |
246 | + // }; | |
247 | + // } | |
248 | + // }); | |
249 | + | |
250 | + | |
251 | + | |
195 | 252 | }, |
196 | 253 | |
197 | 254 | /** |
198 | 255 | * 生成二维码 |
199 | 256 | * by sty |
200 | 257 | */ |
201 | - qrcode:function(val){ | |
258 | + qrcode(val) { | |
202 | 259 | barcode('barcode', val, 600,140); |
203 | 260 | qrcode('qrcode', val, 300, 300); |
204 | 261 | }, | ... | ... |
packageB/pages/boxes-details/boxes-details.wxml
... | ... | @@ -8,12 +8,12 @@ |
8 | 8 | </view> |
9 | 9 | <view class="pdl20 f1"> |
10 | 10 | <view class="flex jc_sb ai_c"> |
11 | - <view class="title ellipsis-2 pdr40">{{item.goods_name}}</view> | |
12 | - <text class="c-6">x{{item.frequency}}</text> | |
11 | + <view class="title ellipsis-2 pdr40">{{item.WareName}}</view> | |
12 | + <text class="c-6">x{{item.Qty}}</text> | |
13 | 13 | </view> |
14 | 14 | <view class="flex ai_c c-9 fs26"> |
15 | - <text class="rmb c-red">{{item.vipprice}}</text> | |
16 | - <view class="fs22 del pdl10 c-c7">零售价<text class="rmb">{{item.show_price}}</text></view> | |
15 | + <text class="rmb c-red">{{filters.show_default(item.VipPrice, '0')}}</text> | |
16 | + <view class="fs22 del pdl10 c-c7">零售价<text class="rmb">{{filters.show_default(item.PosPrice, '0')}}</text></view> | |
17 | 17 | </view> |
18 | 18 | </view> |
19 | 19 | </view> |
... | ... | @@ -47,7 +47,7 @@ |
47 | 47 | <canvas class="qrcode" canvas-id="qrcode"/> |
48 | 48 | </view> |
49 | 49 | <view class="pdv20 c-7b fs26 bdt"> |
50 | - <text>核销码: {{verify_code}}</text> | |
50 | + <text>核销码: {{writeOffCode}}</text> | |
51 | 51 | </view> |
52 | 52 | </view> |
53 | 53 | </view> | ... | ... |
packageB/pages/boxes-list/boxes-list.js
... | ... | @@ -36,12 +36,11 @@ Page({ |
36 | 36 | let data = { |
37 | 37 | store_id: app.globalData.setting.stoid, |
38 | 38 | user_id: this.data.userInfo.user_id, |
39 | - service_type: 1, | |
40 | - use_state: 0, | |
39 | + IsPos: 0, | |
41 | 40 | }; |
42 | 41 | |
43 | 42 | // 默认获取'待核销' |
44 | - this.getData(true, '/api/weshop/rechargeServicelist/page', data) | |
43 | + this.getData(true, '/api/weshop/serviceCard/pageWriteoff', data) | |
45 | 44 | .then(()=>{ |
46 | 45 | this.setData({ |
47 | 46 | currentData: data, |
... | ... | @@ -57,20 +56,20 @@ Page({ |
57 | 56 | * 页面上拉触底事件的处理函数 |
58 | 57 | */ |
59 | 58 | onReachBottom: function () { |
60 | - this.scrollToLower('/api/weshop/rechargeServicelist/page', this.data.currentData); | |
59 | + this.scrollToLower('/api/weshop/serviceCard/pageWriteoff', this.data.currentData); | |
61 | 60 | }, |
62 | 61 | |
63 | 62 | |
64 | 63 | // 图片异常时加载默认图片 |
65 | - bind_bnerr: function (e) { | |
66 | - var _errImg = e.target.dataset.errorimg; | |
67 | - var val = e.target.dataset.val; | |
68 | - if(val!=undefined && val!=null && val!='null' ){ | |
69 | - var _errObj = {}; | |
70 | - _errObj[_errImg] = "/public/images/default_goods_image_240.gif"; | |
71 | - this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | |
72 | - } | |
73 | - }, | |
64 | + // bind_bnerr: function (e) { | |
65 | + // var _errImg = e.target.dataset.errorimg; | |
66 | + // var val = e.target.dataset.val; | |
67 | + // if(val!=undefined && val!=null && val!='null' ){ | |
68 | + // var _errObj = {}; | |
69 | + // _errObj[_errImg] = "/public/images/default_goods_image_240.gif"; | |
70 | + // this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | |
71 | + // } | |
72 | + // }, | |
74 | 73 | |
75 | 74 | |
76 | 75 | |
... | ... | @@ -90,17 +89,17 @@ Page({ |
90 | 89 | |
91 | 90 | switch(currentTabIndex) { |
92 | 91 | case 0: { |
93 | - currentData.use_state = 0; | |
92 | + currentData.IsPos = 0; | |
94 | 93 | break; |
95 | 94 | }; |
96 | 95 | case 1: { |
97 | - currentData.use_state = 1; | |
96 | + currentData.IsPos = 1; | |
98 | 97 | break; |
99 | 98 | }; |
100 | 99 | }; |
101 | 100 | |
102 | 101 | // 请求 |
103 | - this.getData(true, '/api/weshop/rechargeServicelist/page', currentData); | |
102 | + this.getData(true, '/api/weshop/serviceCard/pageWriteoff', currentData); | |
104 | 103 | |
105 | 104 | }, |
106 | 105 | |
... | ... | @@ -180,12 +179,11 @@ Page({ |
180 | 179 | |
181 | 180 | |
182 | 181 | viewDetails(e) { |
183 | - let id = e.currentTarget.dataset.id; | |
182 | + let formlistid = e.currentTarget.dataset.formlistid; | |
184 | 183 | let title = e.currentTarget.dataset.title; |
185 | - let serviceId = e.currentTarget.dataset.serviceid; | |
186 | 184 | let date = e.currentTarget.dataset.date; //有效截止日期 |
187 | 185 | let use_state = this.data.currentTabIndex; //0待核销 1已核销 |
188 | - let url = `/packageB/pages/boxes-details/boxes-details?service_id=${serviceId}&id=${id}&title=${title}&usestate=${use_state}&date=${date}`; | |
186 | + let url = `/packageB/pages/boxes-details/boxes-details?formlistid=${formlistid}&title=${title}&usestate=${use_state}&date=${date}`; | |
189 | 187 | |
190 | 188 | app.goto(url); |
191 | 189 | }, | ... | ... |
packageB/pages/boxes-list/boxes-list.wxml
... | ... | @@ -11,20 +11,20 @@ |
11 | 11 | <view class="list"> |
12 | 12 | |
13 | 13 | <block wx:for="{{list.pageData}}"> |
14 | - <view class="list-item" bindtap="viewDetails" data-serviceid="{{item.card_id}}" data-id="{{item.id}}" data-title="{{item.service_name}}" data-date="{{item.EffectiveDates}}"> | |
14 | + <view class="list-item" bindtap="viewDetails" data-formlistid="{{item.FormLIstID}}" data-title="{{item.ItemName}}" data-date="{{item.EndDate}}"> | |
15 | 15 | <view class="pd20"> |
16 | - <view class="fs26"><text class="c-9">卡项编号:</text>{{item.service_sn}}</view> | |
17 | - <view class="ellipsis-2 title fs28">{{item.service_name}}</view> | |
16 | + <!-- <view class="fs26"><text class="c-9">卡项编号:</text></view> --> | |
17 | + <view class="ellipsis-2 title fs28">{{item.ItemName}} ({{item.ItemNo}})</view> | |
18 | 18 | <view class="flex ai-center"> |
19 | - <text class="rmb fs40 c-red">{{item.money}}</text> | |
20 | - <view class="fs22 del pdl10 c-c7">零售价<text class="rmb">{{item.show_price}}</text></view> | |
19 | + <text class="rmb fs40 c-red">{{filters.show_default(item.VipPrice, '0')}}</text> | |
20 | + <view class="fs22 del pdl10 c-c7">零售价<text class="rmb">{{filters.show_default(item.PosPrice, '0')}}</text></view> | |
21 | 21 | </view> |
22 | - <view class="fs24 c-red">*兑换截止日期:{{item.BeginDates}}至{{item.EffectiveDates}}</view> | |
22 | + <view class="fs24 c-red">*兑换截止日期:{{item.BeginDate}}至{{item.EndDate}}</view> | |
23 | 23 | </view> |
24 | 24 | |
25 | 25 | <view class="pd20 bdt fs24 t-r"> |
26 | 26 | <block wx:if="{{currentTabIndex == 0}}"> |
27 | - <view class="btn bg-gray white" wx:if="{{filters.isExpired(item.EffectiveDates)}}">已过期</view> | |
27 | + <view class="btn bg-gray white" wx:if="{{filters.isExpired(item.EndDate)}}">已过期</view> | |
28 | 28 | <view class="btn bg-red white" wx:else>立即兑换</view> |
29 | 29 | </block> |
30 | 30 | ... | ... |
utils/filter.wxs
... | ... | @@ -38,6 +38,28 @@ var filters = { |
38 | 38 | } |
39 | 39 | return fm; |
40 | 40 | }, |
41 | + | |
42 | + format_time2: function (ts, isFull) { | |
43 | + // 如果数值位数为1,则补0 | |
44 | + function appendZero(obj) { | |
45 | + if (obj < 10) { | |
46 | + return "0" + "" + obj; | |
47 | + } else { | |
48 | + return obj; | |
49 | + } | |
50 | + }; | |
51 | + | |
52 | + if (ts == null || ts == undefined || ts == '') return ""; | |
53 | + var d = getDate(ts) | |
54 | + var fm = [appendZero(d.getFullYear()), appendZero(d.getMonth() + 1), appendZero(d.getDate())].join('-'); | |
55 | + var md = appendZero(d.getMonth() + 1) + '月' + appendZero(d.getDate()) + '日'; | |
56 | + if (isFull == 1) | |
57 | + fm = fm + ' ' + [appendZero(d.getHours()), appendZero(d.getMinutes()), appendZero(d.getSeconds())].join(':'); | |
58 | + if (isFull == 2) { | |
59 | + fm = md + ' ' + [appendZero(d.getHours()), appendZero(d.getMinutes())].join(':'); | |
60 | + } | |
61 | + return fm; | |
62 | + }, | |
41 | 63 | |
42 | 64 | pInt: function (t) { |
43 | 65 | var d = parseInt(t); |
... | ... | @@ -196,6 +218,37 @@ var filters = { |
196 | 218 | }; |
197 | 219 | }, |
198 | 220 | |
221 | + // 显示开始和结束日期 | |
222 | + showStartAndEndDate: function(o) { | |
223 | + var dateType = o.date_type; | |
224 | + var currentDate = getDate().getTime(); | |
225 | + var startDate, endDate, days, begin_days; | |
226 | + | |
227 | + if(dateType === 0) { | |
228 | + days = (o.effective_days === 0 ? o.effective_days : (o.effective_days - 1)) * 24 * 60 * 60 * 1000; | |
229 | + endDate = filters.format_time2(currentDate + days); | |
230 | + currentDate = filters.format_time2(currentDate); | |
231 | + return currentDate + '至' + endDate; | |
232 | + }; | |
233 | + | |
234 | + if(dateType === 1) { | |
235 | + return o.begin_date + '至' + o.effective_date; | |
236 | + }; | |
237 | + | |
238 | + if(dateType === 2) { | |
239 | + // N天后开始 | |
240 | + begin_days = (o.begin_days === 0 ? o.begin_days : (o.begin_days - 1)) * 24 * 60 * 60 * 1000; | |
241 | + // 有效天数 | |
242 | + days = (o.effective_days - 1) * 24 * 60 * 60 * 1000; | |
243 | + startDate = filters.format_time2(currentDate + begin_days); | |
244 | + endDate = filters.format_time2(getDate(startDate).getTime() + days); | |
245 | + return startDate + '至' + endDate; | |
246 | + } | |
247 | + | |
248 | + // console.log('999***', currentDate); | |
249 | + // return currentDate.toLocaleDateString(); | |
250 | + }, | |
251 | + | |
199 | 252 | |
200 | 253 | |
201 | 254 | }; |
... | ... | @@ -219,4 +272,5 @@ module.exports = { |
219 | 272 | JSONStringify: filters.JSONStringify, |
220 | 273 | count: filters.count, |
221 | 274 | isExpired: filters.isExpired, |
275 | + showStartAndEndDate: filters.showStartAndEndDate, | |
222 | 276 | } |
223 | 277 | \ No newline at end of file | ... | ... |