Commit 42adb2e62833d47120255fbedfcc3cab551d081e

Authored by 后端研发-苏泰源
1 parent a2dcf50b

套盒商品列表、详情和服务卡项详情修改

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
... ...