Commit 2ea988e46d7358af5e5eb61c2372324f67e204a2
1 parent
81d8932b
OA单的优化
Showing
7 changed files
with
345 additions
and
25 deletions
packageA/pages/profile/profile.js
| ... | ... | @@ -79,6 +79,11 @@ Page({ |
| 79 | 79 | loading: 0, |
| 80 | 80 | oldBirtthDayLength:0, //生日日期个数 |
| 81 | 81 | oldbirthday:'',//生日日期 |
| 82 | + | |
| 83 | + all_pick_list:null, //所有的门店的集合 | |
| 84 | + old_all_sto:null, | |
| 85 | + keyword:'', //搜索门店的关键字 | |
| 86 | + sec_i:-1 | |
| 82 | 87 | }, |
| 83 | 88 | //通过路径跳转到其他页面 |
| 84 | 89 | goto: function (e) { |
| ... | ... | @@ -267,8 +272,8 @@ Page({ |
| 267 | 272 | if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { |
| 268 | 273 | |
| 269 | 274 | var ishas_cate = 0; |
| 270 | - for (let i in e) { | |
| 271 | - let item = e[i]; | |
| 275 | + for (let i in e.data.data.pageData) { | |
| 276 | + let item = e.data.data.pageData[i]; | |
| 272 | 277 | if (item.category_id > 0) { |
| 273 | 278 | ishas_cate = 1; |
| 274 | 279 | break; |
| ... | ... | @@ -286,6 +291,10 @@ Page({ |
| 286 | 291 | e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 |
| 287 | 292 | } |
| 288 | 293 | |
| 294 | + th.setData({ | |
| 295 | + all_pick_list: e.data.data.pageData | |
| 296 | + }); | |
| 297 | + | |
| 289 | 298 | //单总量超出5个的时候 |
| 290 | 299 | if (e.data.data.total > 10 && ishas_cate) { |
| 291 | 300 | i.get("/api/weshop/storagecategory/page", { |
| ... | ... | @@ -465,7 +474,8 @@ Page({ |
| 465 | 474 | sort_store: 0, |
| 466 | 475 | choice_sort_store: 1, |
| 467 | 476 | sec_sto: item, |
| 468 | - sec_pick_index: 0 | |
| 477 | + sec_pick_index: 0, | |
| 478 | + sec_i: index, | |
| 469 | 479 | }); |
| 470 | 480 | }, |
| 471 | 481 | // 返回按钮 |
| ... | ... | @@ -1547,5 +1557,106 @@ Page({ |
| 1547 | 1557 | }) |
| 1548 | 1558 | }, |
| 1549 | 1559 | |
| 1560 | + //获取搜索门店输入的值 | |
| 1561 | + input_store: function (e) { | |
| 1562 | + this.setData({ | |
| 1563 | + keyword: e.detail.value | |
| 1564 | + }) | |
| 1565 | + }, | |
| 1566 | + | |
| 1567 | + //搜索门店 | |
| 1568 | + searchfn() { | |
| 1569 | + let choice_sort_store = this.data.choice_sort_store | |
| 1570 | + if (choice_sort_store == 0) { //全局搜索 | |
| 1571 | + let all_pick_list = this.data.all_pick_list | |
| 1572 | + let def_pickpu_list = this.data.def_pickpu_list | |
| 1573 | + let keyword = this.data.keyword | |
| 1574 | + if (keyword) { | |
| 1575 | + let arr = all_pick_list.filter(item => { | |
| 1576 | + let i = item.pickup_name.indexOf(keyword) | |
| 1577 | + if (i > -1) { | |
| 1578 | + return true | |
| 1579 | + } else { | |
| 1580 | + return false | |
| 1581 | + } | |
| 1582 | + }) | |
| 1583 | + if (arr && arr.length > 0) { | |
| 1584 | + if (this.data.is_show_sto_cat == 1) { | |
| 1585 | + this.setData({ | |
| 1586 | + def_pickpu_list: arr | |
| 1587 | + }) | |
| 1588 | + } else { | |
| 1589 | + this.setData({ | |
| 1590 | + only_pk: arr | |
| 1591 | + }) | |
| 1592 | + } | |
| 1593 | + } else { | |
| 1594 | + wx.showToast({ | |
| 1595 | + title: '没有搜索到门店', | |
| 1596 | + icon: 'none', | |
| 1597 | + duration: 2000 | |
| 1598 | + }) | |
| 1599 | + } | |
| 1600 | + } else { | |
| 1601 | + if (this.data.is_show_sto_cat == 1) { | |
| 1602 | + this.setData({ | |
| 1603 | + def_pickpu_list: all_pick_list.slice(0, 10) | |
| 1604 | + }) | |
| 1605 | + } else { | |
| 1606 | + this.setData({ | |
| 1607 | + only_pk: all_pick_list | |
| 1608 | + }) | |
| 1609 | + } | |
| 1610 | + | |
| 1611 | + } | |
| 1612 | + } else { //分类下搜索 | |
| 1613 | + let sec_i = this.data.sec_i | |
| 1614 | + let all_sto = this.data.all_sto | |
| 1615 | + let old_all_sto = this.data.old_all_sto | |
| 1616 | + if (!old_all_sto) { | |
| 1617 | + this.setData({ | |
| 1618 | + old_all_sto:JSON.parse(JSON.stringify(all_sto)) | |
| 1619 | + }) | |
| 1620 | + } | |
| 1621 | + let sec_sto = this.data.sec_sto | |
| 1622 | + let sec_arr = this.data.old_all_sto[sec_i].s_arr | |
| 1623 | + let keyword = this.data.keyword | |
| 1624 | + let text = 'sec_sto.s_arr' | |
| 1625 | + if (keyword) { | |
| 1626 | + let arr = sec_arr.filter(item => { | |
| 1627 | + let i = item.pickup_name.indexOf(keyword) | |
| 1628 | + if (i > -1) { | |
| 1629 | + return true | |
| 1630 | + } else { | |
| 1631 | + return false | |
| 1632 | + } | |
| 1633 | + }) | |
| 1634 | + if (arr && arr.length > 0) { | |
| 1635 | + this.setData({ | |
| 1636 | + [text]: arr | |
| 1637 | + }) | |
| 1638 | + } else { | |
| 1639 | + wx.showToast({ | |
| 1640 | + title: '没有搜索到门店', | |
| 1641 | + icon: 'none', | |
| 1642 | + duration: 2000 | |
| 1643 | + }) | |
| 1644 | + } | |
| 1645 | + } else { | |
| 1646 | + if(this.data.old_all_sto){ | |
| 1647 | + this.setData({ | |
| 1648 | + [text]: this.data.old_all_sto[sec_i].s_arr | |
| 1649 | + }) | |
| 1650 | + }else{ | |
| 1651 | + this.setData({ | |
| 1652 | + [text]: all_sto[sec_i].s_arr | |
| 1653 | + }) | |
| 1654 | + } | |
| 1655 | + } | |
| 1656 | + | |
| 1657 | + | |
| 1658 | + } | |
| 1659 | + }, | |
| 1660 | + | |
| 1550 | 1661 | |
| 1551 | 1662 | }); |
| 1552 | 1663 | \ No newline at end of file | ... | ... |
packageA/pages/profile/profile.wxml
| ... | ... | @@ -232,6 +232,14 @@ |
| 232 | 232 | </view> |
| 233 | 233 | </view> |
| 234 | 234 | </view> |
| 235 | + | |
| 236 | + <view class="searchbar flex-vertical-between storeListpadd"> | |
| 237 | + <input class="inputstore fs28" placeholder="输入要搜索的门店" value="{{keyword}}" placeholder-class="fs28" maxlength="16" bindinput="input_store" bindconfirm="searchfn" /> | |
| 238 | + <view class="search flex-center" bindtap="searchfn"> | |
| 239 | + <view class="fs28">搜索</view> | |
| 240 | + </view> | |
| 241 | + </view> | |
| 242 | + | |
| 235 | 243 | <!-- 门店列表,最外层的门店列表,一开始 --> |
| 236 | 244 | <view class="store-list"> |
| 237 | 245 | <!--如果还没有点击更多门店的时候 --> | ... | ... |
packageA/pages/profile/profile.wxss
| ... | ... | @@ -723,3 +723,28 @@ checkbox .wx-checkbox-input.wx-checkbox-input-checked::before { |
| 723 | 723 | content: '*'; |
| 724 | 724 | color: #C4182E; |
| 725 | 725 | } |
| 726 | + | |
| 727 | + | |
| 728 | +.searchbar { | |
| 729 | + height: 95rpx; | |
| 730 | + border-bottom: 2rpx solid rgb(238, 238, 238); | |
| 731 | +} | |
| 732 | +.storeListpadd { | |
| 733 | + padding: 0rpx 31rpx; | |
| 734 | +} | |
| 735 | +.search { | |
| 736 | + width: 125rpx; | |
| 737 | + height: 45rpx; | |
| 738 | + line-height: 45rpx; | |
| 739 | + background-color: rgb(219, 27, 52); | |
| 740 | + border-radius: 30rpx; | |
| 741 | + color: rgb(255, 255, 255); | |
| 742 | +} | |
| 743 | +.inputstore { | |
| 744 | + width: 510rpx; | |
| 745 | + height: 43rpx; | |
| 746 | + line-height: 43rpx; | |
| 747 | + border-radius: 30rpx; | |
| 748 | + border: 2rpx solid rgb(238, 238, 238); | |
| 749 | + padding-left: 30rpx; | |
| 750 | +} | |
| 726 | 751 | \ No newline at end of file | ... | ... |
packageG/pages/user/userinfo/userinfo.js
| ... | ... | @@ -81,6 +81,10 @@ Page({ |
| 81 | 81 | |
| 82 | 82 | showvipcode:false, |
| 83 | 83 | |
| 84 | + all_pick_list:null, //所有的门店的集合 | |
| 85 | + old_all_sto:null, | |
| 86 | + keyword:'', //搜索门店的关键字 | |
| 87 | + sec_i:-1 | |
| 84 | 88 | }, |
| 85 | 89 | //通过路径跳转到其他页面 |
| 86 | 90 | goto: function(e) { |
| ... | ... | @@ -350,6 +354,11 @@ Page({ |
| 350 | 354 | } |
| 351 | 355 | e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 |
| 352 | 356 | } |
| 357 | + | |
| 358 | + | |
| 359 | + th.setData({ | |
| 360 | + all_pick_list: e.data.data.pageData | |
| 361 | + }); | |
| 353 | 362 | |
| 354 | 363 | //单总量超出5个的时候 |
| 355 | 364 | if (e.data.data.total > 10) { |
| ... | ... | @@ -527,7 +536,8 @@ Page({ |
| 527 | 536 | sort_store: 0, |
| 528 | 537 | choice_sort_store: 1, |
| 529 | 538 | sec_sto: item, |
| 530 | - sec_pick_index: 0 | |
| 539 | + sec_pick_index: 0, | |
| 540 | + sec_i: index, | |
| 531 | 541 | }); |
| 532 | 542 | }, |
| 533 | 543 | // 返回按钮 |
| ... | ... | @@ -1111,7 +1121,108 @@ Page({ |
| 1111 | 1121 | } |
| 1112 | 1122 | } |
| 1113 | 1123 | }); |
| 1114 | - } | |
| 1124 | + }, | |
| 1125 | + | |
| 1126 | + //获取搜索门店输入的值 | |
| 1127 | + input_store: function (e) { | |
| 1128 | + this.setData({ | |
| 1129 | + keyword: e.detail.value | |
| 1130 | + }) | |
| 1131 | + }, | |
| 1132 | + | |
| 1133 | + //搜索门店 | |
| 1134 | + searchfn() { | |
| 1135 | + let choice_sort_store = this.data.choice_sort_store | |
| 1136 | + if (choice_sort_store == 0) { //全局搜索 | |
| 1137 | + let all_pick_list = this.data.all_pick_list | |
| 1138 | + let def_pickpu_list = this.data.def_pickpu_list | |
| 1139 | + let keyword = this.data.keyword | |
| 1140 | + if (keyword) { | |
| 1141 | + let arr = all_pick_list.filter(item => { | |
| 1142 | + let i = item.pickup_name.indexOf(keyword) | |
| 1143 | + if (i > -1) { | |
| 1144 | + return true | |
| 1145 | + } else { | |
| 1146 | + return false | |
| 1147 | + } | |
| 1148 | + }) | |
| 1149 | + if (arr && arr.length > 0) { | |
| 1150 | + if (this.data.is_show_sto_cat == 1) { | |
| 1151 | + this.setData({ | |
| 1152 | + def_pickpu_list: arr | |
| 1153 | + }) | |
| 1154 | + } else { | |
| 1155 | + this.setData({ | |
| 1156 | + only_pk: arr | |
| 1157 | + }) | |
| 1158 | + } | |
| 1159 | + } else { | |
| 1160 | + wx.showToast({ | |
| 1161 | + title: '没有搜索到门店', | |
| 1162 | + icon: 'none', | |
| 1163 | + duration: 2000 | |
| 1164 | + }) | |
| 1165 | + } | |
| 1166 | + } else { | |
| 1167 | + if (this.data.is_show_sto_cat == 1) { | |
| 1168 | + this.setData({ | |
| 1169 | + def_pickpu_list: all_pick_list.slice(0, 10) | |
| 1170 | + }) | |
| 1171 | + } else { | |
| 1172 | + this.setData({ | |
| 1173 | + only_pk: all_pick_list | |
| 1174 | + }) | |
| 1175 | + } | |
| 1176 | + | |
| 1177 | + } | |
| 1178 | + } else { //分类下搜索 | |
| 1179 | + let sec_i = this.data.sec_i | |
| 1180 | + let all_sto = this.data.all_sto | |
| 1181 | + let old_all_sto = this.data.old_all_sto | |
| 1182 | + if (!old_all_sto) { | |
| 1183 | + this.setData({ | |
| 1184 | + old_all_sto:JSON.parse(JSON.stringify(all_sto)) | |
| 1185 | + }) | |
| 1186 | + } | |
| 1187 | + let sec_sto = this.data.sec_sto | |
| 1188 | + let sec_arr = this.data.old_all_sto[sec_i].s_arr | |
| 1189 | + let keyword = this.data.keyword | |
| 1190 | + let text = 'sec_sto.s_arr' | |
| 1191 | + if (keyword) { | |
| 1192 | + let arr = sec_arr.filter(item => { | |
| 1193 | + let i = item.pickup_name.indexOf(keyword) | |
| 1194 | + if (i > -1) { | |
| 1195 | + return true | |
| 1196 | + } else { | |
| 1197 | + return false | |
| 1198 | + } | |
| 1199 | + }) | |
| 1200 | + if (arr && arr.length > 0) { | |
| 1201 | + this.setData({ | |
| 1202 | + [text]: arr | |
| 1203 | + }) | |
| 1204 | + } else { | |
| 1205 | + wx.showToast({ | |
| 1206 | + title: '没有搜索到门店', | |
| 1207 | + icon: 'none', | |
| 1208 | + duration: 2000 | |
| 1209 | + }) | |
| 1210 | + } | |
| 1211 | + } else { | |
| 1212 | + if(this.data.old_all_sto){ | |
| 1213 | + this.setData({ | |
| 1214 | + [text]: this.data.old_all_sto[sec_i].s_arr | |
| 1215 | + }) | |
| 1216 | + }else{ | |
| 1217 | + this.setData({ | |
| 1218 | + [text]: all_sto[sec_i].s_arr | |
| 1219 | + }) | |
| 1220 | + } | |
| 1221 | + } | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + } | |
| 1225 | + }, | |
| 1115 | 1226 | |
| 1116 | 1227 | |
| 1117 | 1228 | }); |
| 1118 | 1229 | \ No newline at end of file | ... | ... |
packageG/pages/user/userinfo/userinfo.wxml
| ... | ... | @@ -344,6 +344,14 @@ |
| 344 | 344 | </view> |
| 345 | 345 | </view> |
| 346 | 346 | </view> |
| 347 | + | |
| 348 | + <view class="searchbar flex-vertical-between storeListpadd"> | |
| 349 | + <input class="inputstore fs28" placeholder="输入要搜索的门店" value="{{keyword}}" placeholder-class="fs28" maxlength="16" bindinput="input_store" bindconfirm="searchfn" /> | |
| 350 | + <view class="search flex-center" bindtap="searchfn"> | |
| 351 | + <view class="fs28">搜索</view> | |
| 352 | + </view> | |
| 353 | + </view> | |
| 354 | + | |
| 347 | 355 | <!-- 门店列表,最外层的门店列表,一开始 --> |
| 348 | 356 | <view class="store-list"> |
| 349 | 357 | <!--如果还没有点击更多门店的时候 --> | ... | ... |
packageG/pages/user/userinfo/userinfo.wxss
| ... | ... | @@ -674,4 +674,29 @@ input { |
| 674 | 674 | align-items: center; |
| 675 | 675 | justify-content: center; |
| 676 | 676 | /* margin-top: 20rpx; */ |
| 677 | +} | |
| 678 | + | |
| 679 | + | |
| 680 | +.searchbar { | |
| 681 | + height: 95rpx; | |
| 682 | + border-bottom: 2rpx solid rgb(238, 238, 238); | |
| 683 | +} | |
| 684 | +.storeListpadd { | |
| 685 | + padding: 0rpx 31rpx; | |
| 686 | +} | |
| 687 | +.search { | |
| 688 | + width: 125rpx; | |
| 689 | + height: 45rpx; | |
| 690 | + line-height: 45rpx; | |
| 691 | + background-color: rgb(219, 27, 52); | |
| 692 | + border-radius: 30rpx; | |
| 693 | + color: rgb(255, 255, 255); | |
| 694 | +} | |
| 695 | +.inputstore { | |
| 696 | + width: 510rpx; | |
| 697 | + height: 43rpx; | |
| 698 | + line-height: 43rpx; | |
| 699 | + border-radius: 30rpx; | |
| 700 | + border: 2rpx solid rgb(238, 238, 238); | |
| 701 | + padding-left: 30rpx; | |
| 677 | 702 | } |
| 678 | 703 | \ No newline at end of file | ... | ... |
pages/goods/goodsList/goodsList.js
| ... | ... | @@ -45,9 +45,12 @@ Page({ |
| 45 | 45 | gr_fir:0, //分组第一次 |
| 46 | 46 | share_imgurl:'', //分享图片 |
| 47 | 47 | add_purchase:false, |
| 48 | + | |
| 49 | + pro_good:null, //优惠促销活动 | |
| 50 | + pro_good_err:null, //优惠促销活动 | |
| 48 | 51 | }, |
| 49 | 52 | |
| 50 | - onLoad: function(t) { | |
| 53 | + onLoad: async function(t) { | |
| 51 | 54 | //----------商品分组自定义分享图片---------- |
| 52 | 55 | if (t.gid || t.group_id) { |
| 53 | 56 | let id = t.gid || t.group_id |
| ... | ... | @@ -75,31 +78,29 @@ Page({ |
| 75 | 78 | var th=this; |
| 76 | 79 | var url = this.data.baseUrl; |
| 77 | 80 | |
| 78 | - //优惠活动的凑单 | |
| 79 | - if(t.prom_type==3){ | |
| 80 | - if (0 != t.prom_id && t.prom_id != undefined) { url += "&prom_id=" + t.prom_id; } | |
| 81 | - if (0 != t.prom_type && t.prom_type != undefined) { url += "&prom_type=" + t.prom_type; } | |
| 82 | - //-- 获取 -- | |
| 83 | - getApp().request.promiseGet("/api/weshop/promgoodslist/list",{ | |
| 84 | - data:{prom_id:t.prom_id } | |
| 85 | - }).then(res=>{ | |
| 86 | - if(res.data.code==0){ | |
| 87 | - var arr= res.data.data; | |
| 88 | - th.set_prom_list(arr); | |
| 89 | - } | |
| 90 | - }) | |
| 91 | - if (t.prom_id) { | |
| 92 | - this.getprom(t.prom_id) | |
| 93 | - } | |
| 94 | - } | |
| 81 | + if (0 != t.prom_id && t.prom_id != undefined) { url += "&prom_id=" + t.prom_id; } | |
| 82 | + if (0 != t.prom_type && t.prom_type != undefined) { url += "&prom_type=" + t.prom_type; } | |
| 95 | 83 | |
| 96 | 84 | |
| 97 | 85 | //先查看一下是不是系统会员 |
| 98 | - getApp().waitfor_login(()=> { | |
| 86 | + getApp().waitfor_login(async ()=> { | |
| 99 | 87 | if (!getApp().globalData.user_id) { |
| 100 | 88 | ut.new_user_go(oo.stoid, first_leader); |
| 101 | 89 | } |
| 102 | 90 | |
| 91 | + await th.get_prom_act(t); | |
| 92 | + if(t.prom_type==3 && !th.data.pro_good){ | |
| 93 | + if(th.data.pro_good_err.indexOf("无权限")>-1){ | |
| 94 | + ut.m_toast('您无权限参与优惠促销活动'); | |
| 95 | + }else{ | |
| 96 | + ut.m_toast('未找到优惠促销活动'); | |
| 97 | + } | |
| 98 | + setTimeout(()=>{ | |
| 99 | + getApp().goto('/pages/index/index/index'); | |
| 100 | + },1500) | |
| 101 | + return false | |
| 102 | + } | |
| 103 | + | |
| 103 | 104 | this.data.is_new=t.is_new; |
| 104 | 105 | this.data.is_hot=t.is_hot; |
| 105 | 106 | if (0 != t.cat_id && t.cat_id != undefined) { |
| ... | ... | @@ -257,6 +258,31 @@ Page({ |
| 257 | 258 | }) |
| 258 | 259 | }, |
| 259 | 260 | |
| 261 | + | |
| 262 | + async get_prom_act(t){ | |
| 263 | + var th=this; | |
| 264 | + //优惠活动的凑单 | |
| 265 | + if(t.prom_type==3){ | |
| 266 | + if (t.prom_id) { | |
| 267 | + await this.getprom(t.prom_id); | |
| 268 | + if(!th.data.pro_good){ | |
| 269 | + return false; | |
| 270 | + } | |
| 271 | + } | |
| 272 | + | |
| 273 | + //-- 获取 -- | |
| 274 | + getApp().request.promiseGet("/api/weshop/promgoodslist/list",{ | |
| 275 | + data:{prom_id:t.prom_id } | |
| 276 | + }).then(res=>{ | |
| 277 | + if(res.data.code==0){ | |
| 278 | + var arr= res.data.data; | |
| 279 | + th.set_prom_list(arr); | |
| 280 | + } | |
| 281 | + }) | |
| 282 | + | |
| 283 | + } | |
| 284 | + }, | |
| 285 | + | |
| 260 | 286 | onShow:function () { |
| 261 | 287 | getApp().check_can_share(); |
| 262 | 288 | }, |
| ... | ... | @@ -274,14 +300,20 @@ Page({ |
| 274 | 300 | }, |
| 275 | 301 | //获取优惠活动 |
| 276 | 302 | async getprom(prom_id){ |
| 277 | - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + oo.stoid + "/" + prom_id, {}).then(res => { | |
| 303 | + let th=this; | |
| 304 | + var uid=getApp().globalData.user_id || 0; | |
| 305 | + await getApp().request.promiseGet("/api/weshop/promgoods/getUser/" + oo.stoid + "/" + prom_id+"/"+uid, {}).then(res => { | |
| 278 | 306 | if (res.data.code == 0) { |
| 279 | 307 | let prom = res.data.data; |
| 308 | + th.data.pro_good=prom; | |
| 280 | 309 | let limit_num =prom.limit_num |
| 281 | 310 | this.setData({ |
| 282 | 311 | limit_num |
| 283 | 312 | }) |
| 313 | + }else{ | |
| 314 | + th.data.pro_good_err=res.data.msg; | |
| 284 | 315 | } |
| 316 | + | |
| 285 | 317 | }) |
| 286 | 318 | }, |
| 287 | 319 | //设置优惠券的 | ... | ... |