82c6c9ca by simon

no message

1 parent d784bd00
...@@ -25,6 +25,7 @@ App({ ...@@ -25,6 +25,7 @@ App({
25 userInfo: null, 25 userInfo: null,
26 wxcode: store.getItem("wxcode"), 26 wxcode: store.getItem("wxcode"),
27 tlMemberCode: "", 27 tlMemberCode: "",
28 giftInfo: null, // 来自 gift-shop
28 }, 29 },
29 //重写分享方法 30 //重写分享方法
30 share: function () { 31 share: function () {
...@@ -57,22 +58,13 @@ App({ ...@@ -57,22 +58,13 @@ App({
57 }) { 58 }) {
58 return new Promise((resolve, reject) => { 59 return new Promise((resolve, reject) => {
59 this.post({ 60 this.post({
60 url: this.api.index, 61 url: this.api.member,
61 data: {}, 62 data: {},
62 loading: true, 63 loading: true,
63 }).then((result) => { 64 }).then((result) => {
64 this.globalData.indexInfo = result; 65 this.globalData.indexInfo = result;
65 this.globalData.userInfo = result.userInfo; 66 // this.globalData.userInfo = result.userInfo;
66 if (result.isNeedAuth == 1 && auth == true) { 67 resolve(result)
67 //需要授权
68 this.router.push({
69 path: "authorize"
70 })
71 reject();
72 // resolve();
73 } else {
74 resolve(result)
75 }
76 }).catch((err) => { 68 }).catch((err) => {
77 reject(); 69 reject();
78 }); 70 });
......
1 { 1 {
2 "pages": [ 2 "pages": [
3 "pages/user-center/user-center",
4 "pages/gift-shop/gift-shop", 3 "pages/gift-shop/gift-shop",
4 "pages/index/index",
5 "pages/user-center/user-center",
5 "pages/gift-detail/gift-detail", 6 "pages/gift-detail/gift-detail",
6 "pages/scan-result/scan-result", 7 "pages/scan-result/scan-result",
7 "pages/contact/contact", 8 "pages/contact/contact",
8 "pages/contact-table/contact-table", 9 "pages/contact-table/contact-table",
9 "pages/index/index",
10 "pages/authorize/authorize", 10 "pages/authorize/authorize",
11 "pages/register/register", 11 "pages/register/register",
12 "pages/integral-detail/integral-detail", 12 "pages/integral-detail/integral-detail",
......
...@@ -18,6 +18,11 @@ Component({ ...@@ -18,6 +18,11 @@ Component({
18 innerButton: { 18 innerButton: {
19 type: String, 19 type: String,
20 value: '确定', 20 value: '确定',
21 },
22 // 兑换对象 通过item区分红包和实物奖显示不同文案
23 item: {
24 type: Object,
25 value: {}
21 } 26 }
22 }, 27 },
23 data: { 28 data: {
......
1 import {
2 getBindtapData,
3 getObjByListKeyValue,
4 checkMobile
5 } from '../../utils/util';
6
1 let app = getApp(); 7 let app = getApp();
2 Page({ 8 Page({
3 data: { 9 data: {
4 authorizeVisible: false, 10 authorizeVisible: false,
5 value: "", 11 value: "",
6 checked: true, 12 checked: false,
13 addressEditInfo: {
14 receiverCode: "",
15 receiverName: "",
16 receiverPhone: "",
17 receiverAddress: "",
18 defaultAddress: 1,
19 }
7 }, 20 },
8 onShareAppMessage() {}, 21 onShareAppMessage() {},
9 showAuth() { 22 showAuth() {
...@@ -11,11 +24,130 @@ Page({ ...@@ -11,11 +24,130 @@ Page({
11 authorizeVisible: true 24 authorizeVisible: true
12 }) 25 })
13 }, 26 },
14 onLoad(options) {}, 27 onLoad(options) {
28 // this.setData({
29 // options: app.globalData.addressEditInfo
30 // })
31 this.initData();
32 },
33 initData() {
34 let addressEditInfo = app.globalData.addressEditInfo;
35 this.setData({
36 addressEditInfo
37 })
38 },
39
40 /**
41 * 显示提示
42 */
43 showTips(tips) {
44 wx.showToast({
45 title: tips,
46 icon: "none"
47 })
48 },
49
50 /**
51 * 检查提交
52 */
53 checkSubmit() {
54 return new Promise((resolve, reject) => {
55 let addressEditInfo = this.data.addressEditInfo;
56 if (!addressEditInfo.receiverName) {
57 this.showTips("请输入收货人姓名")
58 reject();
59 } else if (!addressEditInfo.receiverPhone) {
60 this.showTips("请输入收货电话")
61 reject();
62 } else if (!checkMobile(addressEditInfo.receiverPhone)) {
63 this.showTips("请输入正确收货电话")
64 reject();
65 } else if (!addressEditInfo.receiverAddress) {
66 this.showTips("请输入收货地址")
67 reject();
68 } else {
69 resolve()
70 }
71 });
72 },
73
74 /**
75 * 表单提交
76 * @param {*} evt
77 */
78 onSubmitHandler(evt) {
79 this.checkSubmit().then((result) => {
80 let {
81 addressEditInfo,
82 checked
83 } = this.data;
84 addressEditInfo.defaultAddress = checked ? 1 : 0;
85 app.post({
86 url: app.api.receiverSave,
87 data: addressEditInfo
88 }).then((result2) => {
89 wx.showModal({
90 content: '操作成功',
91 showCancel: false,
92 success(res) {
93 wx.navigateBack({
94 delta: 1
95 });
96 }
97 })
98 })
99 });
100 },
101
102 /**
103 * 删除表单
104 * @param {*} evt
105 */
106 onDeleteHandler(evt) {
107 let {
108 addressEditInfo,
109 } = this.data;
110 app.post({
111 url: app.api.receiverDelete,
112 data: {
113 receiverCode: addressEditInfo.receiverCode
114 }
115 }).then((result) => {
116 wx.showModal({
117 content: '删除成功',
118 showCancel: false,
119 success(res) {
120 wx.navigateBack({
121 delta: 1
122 });
123 }
124 })
125 })
126 },
127
128 bindReceiverNameInput(e) {
129 this.setData({
130 "addressEditInfo.receiverName": e.detail.value
131 });
132 },
133 bindReceiverPhoneInput(e) {
134 this.setData({
135 "addressEditInfo.receiverPhone": e.detail.value
136 });
137 },
138 bindReceiverAddressInput(e) {
139 this.setData({
140 "addressEditInfo.receiverAddress": e.detail.value
141 });
142 },
143
15 onChange(event) { 144 onChange(event) {
145 let checked = event.detail
16 this.setData({ 146 this.setData({
17 checked: event.detail 147 checked: event.detail,
18 }); 148 });
19 } 149 }
20 150
151
152
21 }) 153 })
......
...@@ -8,15 +8,15 @@ ...@@ -8,15 +8,15 @@
8 <view class="form"> 8 <view class="form">
9 <view class="form-item"> 9 <view class="form-item">
10 <view class="label">收货人姓名</view> 10 <view class="label">收货人姓名</view>
11 <input class="cont" placeholder="请输入" /> 11 <input value="{{addressEditInfo.receiverName}}" bindinput="bindReceiverNameInput" class="cont" placeholder="请输入" />
12 </view> 12 </view>
13 <view class="form-item"> 13 <view class="form-item">
14 <view class="label">手机号码</view> 14 <view class="label">手机号码</view>
15 <input class="cont" placeholder="请输入" /> 15 <input value="{{addressEditInfo.receiverPhone}}" bindinput="bindReceiverPhoneInput" class="cont" placeholder="请输入" />
16 </view> 16 </view>
17 <view class="form-item form-item-textarea"> 17 <view class="form-item form-item-textarea">
18 <view class="label">收货地址</view> 18 <view class="label">收货地址</view>
19 <textarea class="cont" placeholder="请输入"></textarea> 19 <textarea value="{{addressEditInfo.receiverAddress}}" bindinput="bindReceiverAddressInput" class="cont" placeholder="请输入"></textarea>
20 </view> 20 </view>
21 </view> 21 </view>
22 <!-- 设置为默认地址 --> 22 <!-- 设置为默认地址 -->
...@@ -26,12 +26,14 @@ ...@@ -26,12 +26,14 @@
26 </view> 26 </view>
27 <view class="bottom"> 27 <view class="bottom">
28 <view class="btn-wrap"> 28 <view class="btn-wrap">
29 <view class="btn">保存</view> 29 <view bindtap="onSubmitHandler" class="btn">保存</view>
30 <view class="btn btn-red">删除</view> 30 <view wx:if="{{addressEditInfo.receiverCode}}" bindtap="onDeleteHandler" class="btn btn-red">
31 删除
32 </view>
31 </view> 33 </view>
32 </view> 34 </view>
33 </view> 35 </view>
34 </view> 36 </view>
35 <van-popup show="{{ authorizeVisible }}" > 37 <van-popup show="{{ authorizeVisible }}">
36 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp> 38 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
37 </van-popup> 39 </van-popup>
......
1 import {
2 getBindtapData,
3 getObjByListKeyValue
4 } from '../../utils/util';
5
1 let app = getApp(); 6 let app = getApp();
2 Page({ 7 Page({
3 data: { 8 data: {
4 authorizeVisible: false, 9 authorizeVisible: false,
10 receiverList: [], // 收货地址
11 defaultReceiver: null, // 默认收货地址
5 }, 12 },
6 onShareAppMessage() {}, 13 onShareAppMessage() {},
7 showAuth() { 14 showAuth() {
...@@ -10,16 +17,76 @@ Page({ ...@@ -10,16 +17,76 @@ Page({
10 }) 17 })
11 }, 18 },
12 onLoad(options) {}, 19 onLoad(options) {},
20 onShow() {
21 this.initData();
22 },
23 initData() {
24 app.queryIndex().then((result) => {
25 this.queryReceiver();
26 })
27 },
28 queryReceiver() {
29 return new Promise((resolve, reject) => {
30 app.post({
31 url: app.api.receiver,
32 data: {}
33 }).then((result2) => {
34 let defaultReceiver = getObjByListKeyValue(1, "defaultAddress", result2);
35 this.setData({
36 indexInfo: app.globalData.indexInfo,
37 receiverList: result2,
38 defaultReceiver: defaultReceiver
39 })
40 resolve();
41 })
42 });
43 },
44
13 // 编辑收货地址 45 // 编辑收货地址
14 onAddressEditHandler() { 46 onAddressEditHandler(evt) {
47 console.log("edit");
48 let curData = getBindtapData(evt);
49 app.globalData.addressEditInfo = curData;
15 app.router.push({ 50 app.router.push({
16 path: "addressEdit" 51 path: "addressEdit"
17 }) 52 })
18 }, 53 },
19 // 添加收货地址 54 // 添加收货地址
20 onAddressAddHandler() { 55 onAddressAddHandler(evt) {
56 app.globalData.addressEditInfo = null;
21 app.router.push({ 57 app.router.push({
22 path: "addressEdit" 58 path: "addressEdit"
23 }) 59 })
60 },
61 /**
62 * 设置为默认地址
63 */
64 onSetDefaultHandler(evt) {
65 let _this = this;
66 let curData = getBindtapData(evt);
67 wx.showModal({
68 title: '提示',
69 content: '设置为默认地址?',
70 success(res) {
71 if (res.confirm) {
72 curData.defaultAddress = 1;
73 app.post({
74 url: app.api.receiverSave,
75 data: curData
76 }).then((result) => {
77 _this.queryReceiver().then((result) => {
78 wx.showModal({
79 content: '操作成功',
80 showCancel: false,
81 success(res) {}
82 })
83 })
84 })
85 }
86 }
87 })
88
89 // app.globalData.addressEditInfo = curData;
90 // console.log("def:", curData);
24 } 91 }
25 }) 92 })
......
...@@ -32,9 +32,21 @@ $contentWidth:690px; ...@@ -32,9 +32,21 @@ $contentWidth:690px;
32 32
33 // 表单 33 // 表单
34 .form { 34 .form {
35 position: relative;
35 padding: 30px 30px; 36 padding: 30px 30px;
37 @extend .bb;
38
39 .ebg {
40 position: absolute;
41 top: 0;
42 left: 0;
43 z-index: 1;
44 width: 100%;
45 height: 100%;
46 }
36 47
37 &-tit { 48 &-tit {
49 position: relative;
38 margin-bottom: 28px; 50 margin-bottom: 28px;
39 display: flex; 51 display: flex;
40 justify-content: space-between; 52 justify-content: space-between;
...@@ -48,9 +60,11 @@ $contentWidth:690px; ...@@ -48,9 +60,11 @@ $contentWidth:690px;
48 height: 36px; 60 height: 36px;
49 61
50 .address { 62 .address {
63 position: relative;
51 font-size: 32px; 64 font-size: 32px;
52 margin-right: 20px; 65 margin-right: 20px;
53 vertical-align: middle; 66 vertical-align: middle;
67
54 } 68 }
55 69
56 .used { 70 .used {
...@@ -66,10 +80,12 @@ $contentWidth:690px; ...@@ -66,10 +80,12 @@ $contentWidth:690px;
66 .address-edit { 80 .address-edit {
67 color: #3680EB; 81 color: #3680EB;
68 font-size: 28px; 82 font-size: 28px;
83 z-index: 11;
69 } 84 }
70 } 85 }
71 86
72 &-item { 87 &-item {
88 position: relative;
73 margin-bottom: 20px; 89 margin-bottom: 20px;
74 font-size: 28px; 90 font-size: 28px;
75 display: flex; 91 display: flex;
......
...@@ -6,28 +6,32 @@ ...@@ -6,28 +6,32 @@
6 <view class="content"> 6 <view class="content">
7 <!-- 地址 item --> 7 <!-- 地址 item -->
8 <view class="manage-wrap"> 8 <view class="manage-wrap">
9 <view class="cont-wrap form"> 9 <view wx:for="{{receiverList}}" wx:key="{{index}}" class="cont-wrap form">
10 <view bindtap="onSetDefaultHandler" data-data="{{item}}" class="ebg"></view>
10 <view class="form-tit"> 11 <view class="form-tit">
11 <view class="address-message"> 12 <view class="address-message">
12 <view class="address">地址一:默认地址</view> 13 <view class="address">
13 <view class="used">当前使用</view> 14 地址{{index+1}}
15 <block wx:if="{{item.defaultAddress == 1}}">:默认地址</block>
16 </view>
17 <view wx:if="{{item.defaultAddress == 1}}" class="used">当前使用</view>
14 </view> 18 </view>
15 <view bindtap="onAddressEditHandler" class="address-edit">编辑</view> 19 <view bindtap="onAddressEditHandler" data-data="{{item}}" class="address-edit">编辑</view>
16 </view> 20 </view>
17 <view class="form-item"> 21 <view class="form-item">
18 <view class="label">收货人</view> 22 <view class="label">收货人</view>
19 <view class="cont">郑亮亮</view> 23 <view class="cont">{{item.receiverName}}</view>
20 </view> 24 </view>
21 <view class="form-item"> 25 <view class="form-item">
22 <view class="label">收货电话</view> 26 <view class="label">收货电话</view>
23 <view class="cont">13800000000</view> 27 <view class="cont">{{item.receiverPhone}}</view>
24 </view> 28 </view>
25 <view class="form-item"> 29 <view class="form-item">
26 <view class="label">收货地址</view> 30 <view class="label">收货地址</view>
27 <view class="cont">深圳市龙岗区XXX路</view> 31 <view class="cont">{{item.receiverAddress}}</view>
28 </view> 32 </view>
29 </view> 33 </view>
30 <view class="cont-wrap form"> 34 <!-- <view class="cont-wrap form">
31 <view class="form-tit"> 35 <view class="form-tit">
32 <view class="address-message"> 36 <view class="address-message">
33 <view class="address">地址一:默认地址</view> 37 <view class="address">地址一:默认地址</view>
...@@ -47,13 +51,13 @@ ...@@ -47,13 +51,13 @@
47 <view class="label">收货地址</view> 51 <view class="label">收货地址</view>
48 <view class="cont">深圳市龙岗区XXX路</view> 52 <view class="cont">深圳市龙岗区XXX路</view>
49 </view> 53 </view>
50 </view> 54 </view> -->
51 </view> 55 </view>
52 <!-- 添加地址 --> 56 <!-- 添加地址 -->
53 <view bindtap="onAddressAddHandler" class="manage-add">+添加地址</view> 57 <view bindtap="onAddressAddHandler" class="manage-add">+添加地址</view>
54 </view> 58 </view>
55 </view> 59 </view>
56 </view> 60 </view>
57 <van-popup show="{{ authorizeVisible }}" > 61 <van-popup show="{{ authorizeVisible }}">
58 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp> 62 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
59 </van-popup> 63 </van-popup>
......
1 import {
2 getBindtapData,
3 getObjByListKeyValue
4 } from '../../utils/util';
5
1 let app = getApp(); 6 let app = getApp();
2 Page({ 7 Page({
3 data: { 8 data: {
4 authorizeVisible: false, 9 authorizeVisible: false,
5 commonTipsCompVisible: true, 10 commonTipsCompVisible: false,
11 orderSubmitSuccessCompVisible: true,
12 cid: "1", // 1积分不足 2.账号未审核
13 innerTitle: "",
14 innerText: "",
15 innerButton: "",
16 indexInfo: {},
17 item: {},
18 remark: "",
19 receiverList: [], // 收货地址
20 defaultReceiver: null, // 默认收货地址
6 }, 21 },
7 onShareAppMessage() {}, 22 onShareAppMessage() {},
8 showAuth() { 23 showAuth() {
...@@ -10,12 +25,112 @@ Page({ ...@@ -10,12 +25,112 @@ Page({
10 authorizeVisible: true 25 authorizeVisible: true
11 }) 26 })
12 }, 27 },
13 onLoad(options) {}, 28 onLoad(options) {
29
30 },
31 onShow() {
32 this.initData();
33 },
34 initData() {
35 app.queryIndex().then((result) => {
36 app.post({
37 url: app.api.receiver,
38 data: {}
39 }).then((result2) => {
40 let defaultReceiver = getObjByListKeyValue(1, "defaultAddress", result2);
41 this.setData({
42 indexInfo: app.globalData.indexInfo,
43 receiverList: result2,
44 defaultReceiver: defaultReceiver,
45 item: app.globalData.giftInfo,
46 })
47 })
48 })
49 },
50
51 showTips(tips) {
52 wx.showToast({
53 title: tips,
54 icon: "none"
55 })
56 },
57
58 /**
59 * 检查提交
60 */
61 checkSubmit() {
62 return new Promise((resolve, reject) => {
63 let {
64 item,
65 defaultReceiver,
66 indexInfo
67 } = this.data;
68 console.log("indexInfo:", indexInfo);
69 console.log("item:", item);
70 if (indexInfo.memberPoints < item.commodityPrice) {
71 // 积分不足
72 this.setData({
73 commonTipsCompVisible: true,
74 cid: "1",
75 innerTitle: "积分不足",
76 innerText: "使用推广、签到功能\n可获取更多积分!",
77 innerButton: "我知道了",
78 });
79 reject();
80 return;
81 } else if (indexInfo.auditStatus != "authorization") {
82 // 未验证
83 this.setData({
84 commonTipsCompVisible: true,
85 cid: "2",
86 innerTitle: "账号未审核",
87 innerText: "通过认证的用户才能兑换礼品哦,快去提交资",
88 innerButton: "马上去验证",
89 });
90 reject();
91 return;
92 } else if (!defaultReceiver && item.commodityType == "object") {
93 // 实物奖品必须添加地址
94 this.showTips("请先添加地址")
95 reject();
96 return;
97 } else {
98 resolve();
99 }
100
101 });
102 },
103
104
14 /** 105 /**
15 * 确认兑换 / 提交订单 106 * 确认兑换 / 提交订单
16 */ 107 */
17 onSubmitHandler() { 108 onSubmitHandler(evt) {
109 let _this = this;
110 this.checkSubmit().then((result) => {
111 let {
112 item,
113 defaultReceiver
114 } = this.data;
115 wx.showModal({
116 title: '兑换确认',
117 content: `将花费${item.commodityPrice}兑换${commodityTitle}一份`,
118 success(res) {
119 if (res.confirm) {
120 app.post({
121 url: app.api.commodityExchange,
122 data: {
123 commodityCode: item.commodityCode,
124 receiverCode: defaultReceiver.receiverCode,
125 remark: this.data.remark
126 }
127 }).then((result) => {
18 128
129 })
130 }
131 }
132 })
133 })
19 }, 134 },
20 /** 135 /**
21 * 收获地址管理 136 * 收获地址管理
...@@ -25,11 +140,29 @@ Page({ ...@@ -25,11 +140,29 @@ Page({
25 path: "addressManagement" 140 path: "addressManagement"
26 }) 141 })
27 }, 142 },
143
144 /**
145 * 添加收货地址
146 * 同地址管理
147 */
148 onAddressAddHandler() {
149 app.router.push({
150 path: "addressManagement"
151 })
152 },
153
154 bindRemarkInput(e) {
155 this.setData({
156 remark: e.detail.value
157 })
158 },
159
28 // 隐藏蒙层 160 // 隐藏蒙层
29 hideMask() { 161 hideMask() {
30 this.setData({ 162 this.setData({
31 authorizeVisible: false, 163 authorizeVisible: false,
32 commonTipsCompVisible: false, 164 commonTipsCompVisible: false,
165 orderSubmitSuccessCompVisible: false,
33 }) 166 })
34 }, 167 },
35 // 子组件事件 168 // 子组件事件
...@@ -43,6 +176,23 @@ Page({ ...@@ -43,6 +176,23 @@ Page({
43 // 隐藏弹窗 176 // 隐藏弹窗
44 case "_evt_common_comp_button": 177 case "_evt_common_comp_button":
45 this.hideMask(); 178 this.hideMask();
179 switch (data.cid) {
180 // 积分不足
181 case "1":
182 this.hideMask();
183 break;
184
185 // 未验证
186 case "2":
187 app.router.push({
188 path: "vipLogin"
189 })
190 break;
191
192 default:
193 break;
194 }
195
46 break; 196 break;
47 197
48 default: 198 default:
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
4 $contentWidth:690px; 4 $contentWidth:690px;
5 5
6 .page { 6 .page {
7 padding-bottom: $pageBottom;
8
7 .bgc { 9 .bgc {
8 background: #F8F8F8; 10 background: #F8F8F8;
9 } 11 }
...@@ -47,8 +49,14 @@ $contentWidth:690px; ...@@ -47,8 +49,14 @@ $contentWidth:690px;
47 .image-wrap { 49 .image-wrap {
48 width: 200px; 50 width: 200px;
49 height: 200px; 51 height: 200px;
52 border: solid 1px #f0f0f0;
53 border-radius: 8px;
54 @extend .fcc;
50 55
51 .img {} 56 .image {
57 width: 180px;
58 height: 180px;
59 }
52 } 60 }
53 61
54 .cont { 62 .cont {
...@@ -61,12 +69,14 @@ $contentWidth:690px; ...@@ -61,12 +69,14 @@ $contentWidth:690px;
61 align-content: center; 69 align-content: center;
62 70
63 .name { 71 .name {
72 width: 100%;
64 font-size: 36px; 73 font-size: 36px;
65 color: #333333; 74 color: #333333;
66 @include ellipsis(2); 75 @include ellipsis(2);
67 } 76 }
68 77
69 .integral { 78 .integral {
79 width: 100%;
70 margin-top: 16px; 80 margin-top: 16px;
71 font-size: 28px; 81 font-size: 28px;
72 color: #FF7900; 82 color: #FF7900;
...@@ -85,6 +95,18 @@ $contentWidth:690px; ...@@ -85,6 +95,18 @@ $contentWidth:690px;
85 line-height: 48px; 95 line-height: 48px;
86 } 96 }
87 97
98 // 添加地址
99 .manage-add {
100 width: $contentWidth;
101 margin: 20px auto;
102 @extend .bb;
103 background: #fff;
104 padding: 38px 30px;
105 font-size: 32px;
106 color: #3680EB;
107 @extend .shadow;
108 }
109
88 // 表单 110 // 表单
89 .form { 111 .form {
90 padding: 30px 30px 40px; 112 padding: 30px 30px 40px;
......
...@@ -7,50 +7,52 @@ ...@@ -7,50 +7,52 @@
7 <view class="product"> 7 <view class="product">
8 <view class="product-item"> 8 <view class="product-item">
9 <view class="image-wrap"> 9 <view class="image-wrap">
10 <!-- <image /> --> 10 <image class="image" mode="aspectFit" src="{{item.commodityImages[0]}}" />
11 </view> 11 </view>
12 <view class="cont"> 12 <view class="cont">
13 <view class="name">某东购物卡200元某东购物卡200元</view> 13 <view class="name">{{item.commodityTitle || '-'}}</view>
14 <view class="integral">消耗积分:3000分</view> 14 <view class="integral">消耗积分:{{item.commodityPrice}}分</view>
15 </view> 15 </view>
16 </view> 16 </view>
17 </view> 17 </view>
18 <block wx:if="{{1<0}}"> 18 <!-- 使用规则 -->
19 <!-- 使用规则 (京东卡) --> 19 <view class="cont-wrap use-rule">
20 <view class="cont-wrap use-rule"> 20 <!-- 京东E卡可在京东商城
21 京东E卡可在京东商城 21 <span class="link">www.jd.com</span>
22 <span class="link">www.jd.com</span> 22 上购买自营商品(“自营商品”指在商品详情页明确标识为自营的商品),用户可在订单结算时输入E卡密码并使用。 -->
23 上购买自营商品(“自营商品”指在商品详情页明确标识为自营的商品),用户可在订单结算时输入E卡密码并使用。 23 {{item.commodityInfo}}
24 </view> 24 </view>
25 </block> 25 <!-- 表单提交 (实物) -->
26 <block wx:else> 26 <block wx:if="{{item.commodityType == 'object'}}">
27 <!-- 表单提交 (实物) --> 27 <!-- 表单 -->
28 <view class="cont-wrap form"> 28 <view wx:if="{{defaultReceiver}}" class="cont-wrap form">
29 <view class="form-tit"> 29 <view class="form-tit">
30 <view class="address-message">收货信息</view> 30 <view class="address-message">收货信息</view>
31 <view bindtap="onAddressManagementHandler" class="address-edit">更改地址</view> 31 <view bindtap="onAddressManagementHandler" class="address-edit">更改地址</view>
32 </view> 32 </view>
33 <view class="form-item"> 33 <view class="form-item">
34 <view class="label">收货人</view> 34 <view class="label">收货人</view>
35 <view class="cont">郑亮亮</view> 35 <view class="cont">{{defaultReceiver.receiverName}}</view>
36 </view> 36 </view>
37 <view class="form-item"> 37 <view class="form-item">
38 <view class="label">收货电话</view> 38 <view class="label">收货电话</view>
39 <view class="cont">13800000000</view> 39 <view class="cont">{{defaultReceiver.receiverPhone}}</view>
40 </view> 40 </view>
41 <view class="form-item"> 41 <view class="form-item">
42 <view class="label">收货地址</view> 42 <view class="label">收货地址</view>
43 <view class="cont">深圳市龙岗区XXX路</view> 43 <view class="cont">{{defaultReceiver.receiverAddress}}</view>
44 </view> 44 </view>
45 <textarea placeholder="备注您的其他要求" class="form-remark"></textarea> 45 <textarea value="{{remark}}" bindinput="bindRemarkInput" placeholder="备注您的其他要求" class="form-remark"></textarea>
46 </view> 46 </view>
47 <!-- 添加地址按钮 -->
48 <view wx:else bindtap="onAddressAddHandler" class="manage-add">我的收货地址</view>
47 </block> 49 </block>
48 </view> 50 </view>
49 <view class="bottom"> 51 <view class="bottom">
50 <view class="submit-bar"> 52 <view class="submit-bar">
51 <view class="submit-bar-cont"> 53 <view class="submit-bar-cont">
52 现有积分 54 现有积分
53 <span class="integral">350</span> 55 <span class="integral">{{indexInfo.memberPoints}}</span>
54 56
55 </view> 57 </view>
56 <view bindtap="onSubmitHandler" class="submit-bar-btn">确认兑换</view> 58 <view bindtap="onSubmitHandler" class="submit-bar-btn">确认兑换</view>
...@@ -58,9 +60,13 @@ ...@@ -58,9 +60,13 @@
58 </view> 60 </view>
59 </view> 61 </view>
60 </view> 62 </view>
61 <van-popup show="{{ authorizeVisible }}" > 63 <van-popup show="{{ authorizeVisible }}">
62 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp> 64 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
63 </van-popup> 65 </van-popup>
64 <van-popup show="{{ commonTipsCompVisible }}"> 66 <van-popup show="{{ commonTipsCompVisible }}">
65 <common-tips-comp bind:evtcomp="evtcomp" inner-title="积分不足" inner-text="使用推广、签到功能\n可获取更多积分!" inner-button="我知道了"></common-tips-comp> 67 <common-tips-comp bind:evtcomp="evtcomp" cid="{{cid}}" inner-title="{{innerTitle}}" inner-text="{{innerText}}" inner-button="{{innerButton}}"></common-tips-comp>
68 </van-popup>
69 <!-- 兑换成功提示 -->
70 <van-popup show="{{ orderSubmitSuccessCompVisible }}">
71 <order-submit-success-tips-comp bind:evtcomp="evtcomp" item="{{item}}"></order-submit-success-tips-comp>
66 </van-popup> 72 </van-popup>
......
1 import {
2 getBindtapData
3 } from '../../utils/util';
4
1 let app = getApp(); 5 let app = getApp();
2 Page({ 6 Page({
3 data: { 7 data: {
4 authorizeVisible: false, 8 authorizeVisible: false,
5 orderSubmitSuccessTipsCompVisible: true, 9 orderSubmitSuccessTipsCompVisible: false,
6 productList: ["", "", ""] 10 total: 0,
11 page: 1,
12 size: 10,
13 keyWords: "",
14 orderSort: 0,
15 productList: [],
7 }, 16 },
8 onShareAppMessage() {}, 17 onShareAppMessage() {},
9 showAuth() { 18 showAuth() {
...@@ -11,15 +20,96 @@ Page({ ...@@ -11,15 +20,96 @@ Page({
11 authorizeVisible: true 20 authorizeVisible: true
12 }) 21 })
13 }, 22 },
14 onLoad(options) {}, 23 onLoad(options) {
24 this.queryProduct();
25 },
26 // 到达底部
27 onReachBottom() {
28 if (this.data.productList.length < this.data.total) {
29 this.setData({
30 page: this.data.page + 1
31 });
32 this.queryProduct();
33 }
34 },
35 // 重置页面列表 点击搜索条件时需要
36 resetPage() {
37 this.setData({
38 page: 1,
39 productList: []
40 })
41 },
42 /**
43 * 请求产品
44 */
45 queryProduct() {
46 return new Promise((resolve, reject) => {
47 app.post({
48 sid: false,
49 url: app.api.commodityList,
50 data: {
51 page: this.data.page,
52 size: this.data.size,
53 orderSort: this.data.orderSort,
54 key: this.data.keyWords,
55 // min:0,
56 // max:0,
57 },
58 }).then((result) => {
59 let productList = result.list;
60 console.log("productList:", productList);
61 productList = this.data.productList.concat(productList);
62 this.setData({
63 productList: productList,
64 total: result.total
65 })
66 resolve();
67 })
68 });
69 },
70
15 /** 71 /**
16 * 显示礼物详情 72 * 显示礼物详情
17 */ 73 */
18 onShowGiftDetailHandler() { 74 onShowGiftDetailHandler(evt) {
75 let curData = getBindtapData(evt);
76 app.globalData.giftInfo = curData;
19 app.router.push({ 77 app.router.push({
20 path: "giftDetail" 78 path: "giftDetail"
21 }); 79 });
22 }, 80 },
81
82 /**
83 * 更换排序
84 */
85 onChangeFitterHandler(e) {
86 let orderSort = this.data.orderSort;
87 if (orderSort == 0) {
88 orderSort = 1;
89 } else {
90 orderSort = 0;
91 }
92 this.setData({
93 orderSort
94 })
95 this.queryProduct();
96 },
97
98 /**
99 * 手动查找产品
100 */
101 onSearchHandler(e) {
102 this.resetPage();
103 this.queryProduct();
104 },
105
106 bindKeyWordsInput(e) {
107 this.setData({
108 keyWords: e.detail.value
109 })
110 this.onSearchHandler();
111 },
112
23 // 隐藏蒙层 113 // 隐藏蒙层
24 hideMask() { 114 hideMask() {
25 this.setData({ 115 this.setData({
......
...@@ -93,14 +93,21 @@ $contentWidth:690px; ...@@ -93,14 +93,21 @@ $contentWidth:690px;
93 .image-wrap { 93 .image-wrap {
94 width: 200px; 94 width: 200px;
95 height: 200px; 95 height: 200px;
96 .img {} 96 border: solid 1px #f0f0f0;
97 border-radius: 8px;
98 @extend .fcc;
99
100 .image {
101 width: 180px;
102 height: 180px;
103 }
97 } 104 }
98 105
99 .cont { 106 .cont {
100 position: relative; 107 position: relative;
101 flex: 1; 108 flex: 1;
102 @extend .bb; 109 @extend .bb;
103 padding-left: 20px; 110 margin-left: 20px;
104 111
105 .name { 112 .name {
106 font-size: 32px; 113 font-size: 32px;
......
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
5 <view class="top"> 5 <view class="top">
6 <div class="top-wrap"> 6 <div class="top-wrap">
7 <view class="search"> 7 <view class="search">
8 <input class="ipt" placeholder="输入关键字搜索" /> 8 <input class="ipt" value="{{keyWords}}" bindinput="bindKeyWordsInput" placeholder="输入关键字搜索" />
9 <image class="icon" mode="aspectFit" src="../../image/icon/icon-search.png" /> 9 <image class="icon" mode="aspectFit" src="../../image/icon/icon-search.png" />
10 </view> 10 </view>
11 <view class="filter"> 11 <view class="filter" bindtap="onChangeFitterHandler">
12 积分排序 12 积分排序
13 <view wx:if="{{1>0}}" class="icon-wrap"> 13 <view wx:if="{{orderSort == 0}}" class="icon-wrap">
14 <image class="icon up" src="../../image/icon/icon-filter-up-on.png" mode="widthFix" /> 14 <image class="icon up" src="../../image/icon/icon-filter-up-on.png" mode="widthFix" />
15 <image class="icon down" src="../../image/icon/icon-filter-down.png" mode="widthFix" /> 15 <image class="icon down" src="../../image/icon/icon-filter-down.png" mode="widthFix" />
16 </view> 16 </view>
...@@ -26,12 +26,12 @@ ...@@ -26,12 +26,12 @@
26 <view class="product"> 26 <view class="product">
27 <view class="product-item" wx:for="{{productList}}" wx:key="{{index}}"> 27 <view class="product-item" wx:for="{{productList}}" wx:key="{{index}}">
28 <view class="image-wrap"> 28 <view class="image-wrap">
29 <!-- <image /> --> 29 <image class="image" mode="aspectFit" src="{{item.commodityImages[0]}}" />
30 </view> 30 </view>
31 <view class="cont"> 31 <view class="cont">
32 <view class="name">某东购物卡200元</view> 32 <view class="name">{{item.commodityTitle}}</view>
33 <view class="desc">可在xx超市使用,可够买xxx可在xx超市使用,可够买xxx可在xx超市使用,可够买xxx</view> 33 <view class="desc">{{item.commodityBrief}}</view>
34 <view class="integral">消耗积分:3000分</view> 34 <view class="integral">消耗积分:{{item.commodityPrice}}分</view>
35 <view bindtap="onShowGiftDetailHandler" data-data="{{item}}" class="btn">查看</view> 35 <view bindtap="onShowGiftDetailHandler" data-data="{{item}}" class="btn">查看</view>
36 </view> 36 </view>
37 </view> 37 </view>
......
...@@ -100,6 +100,18 @@ Page({ ...@@ -100,6 +100,18 @@ Page({
100 success(res) { 100 success(res) {
101 // 扫码结果 101 // 扫码结果
102 let result = res.result; 102 let result = res.result;
103 console.log("res:", res);
104 wx.showToast({
105 title: "res:" + res.result,
106 icon: "none"
107 })
108 },
109 fail(err) {
110 console.log("err:", err);
111 wx.showToast({
112 title: "err:" + res.result,
113 icon: "none"
114 })
103 } 115 }
104 }) 116 })
105 }, 117 },
......
...@@ -129,6 +129,7 @@ Page({ ...@@ -129,6 +129,7 @@ Page({
129 } = this.data; 129 } = this.data;
130 130
131 app.router.push({ 131 app.router.push({
132 // openType:"redirect",
132 path: "vipVerify" 133 path: "vipVerify"
133 }) 134 })
134 }, 135 },
......
...@@ -133,6 +133,22 @@ function getBindtapData(evt, key = "data") { ...@@ -133,6 +133,22 @@ function getBindtapData(evt, key = "data") {
133 } 133 }
134 134
135 /** 135 /**
136 * 从数组中获取 key未value的对象
137 * @param {*} value
138 * @param {*} key
139 * @param {*} list
140 */
141 function getObjByListKeyValue(value, key, list) {
142 let result = null;
143 list.forEach(element => {
144 if (element[key + ""] == value) {
145 result = element;
146 }
147 });
148 return result;
149 }
150
151 /**
136 * 获取小程序码 152 * 获取小程序码
137 * path = "/pages/index/index?pa=1" 153 * path = "/pages/index/index?pa=1"
138 * @param {*} path 154 * @param {*} path
...@@ -142,6 +158,7 @@ function wxacodeGet(path) { ...@@ -142,6 +158,7 @@ function wxacodeGet(path) {
142 } 158 }
143 159
144 160
161
145 /** 162 /**
146 * @desc 函数防抖 163 * @desc 函数防抖
147 * @param func 函数 164 * @param func 函数
...@@ -215,4 +232,5 @@ module.exports = { ...@@ -215,4 +232,5 @@ module.exports = {
215 formatWeek: formatWeek, 232 formatWeek: formatWeek,
216 getBindtapData: getBindtapData, 233 getBindtapData: getBindtapData,
217 wxacodeGet: wxacodeGet, 234 wxacodeGet: wxacodeGet,
235 getObjByListKeyValue: getObjByListKeyValue
218 } 236 }
......