Commit 26b322c4166e23382ef0a5e46587e9ca31218e8b

Authored by WXD-SEASON\season
2 parents 87cdba2a 2ea988e4

Merge branch 'dev_oa_fu45' into dev

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 //设置优惠券的
... ...