Commit 4f22036cc83fa378c3d6c8a57a2b6c0f5e7c6c14

Authored by yvan.ni
1 parent bc2acacf

商品搜索和商品列表

pages/goods/goodsInfo/goodsInfo.js
... ... @@ -798,9 +798,14 @@ Page({
798 798 });
799 799 }
800 800  
801   - //-- 把商品的赋值 --
  801 + //-- 把商品的赋值,同时给活动赋值 --
802 802 ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data));
803   - if(ee.data.prom_type!=1 && ee.data.prom_type!=4 && ee.data.prom_type!=6 && ee.data.prom_type!=2)
  803 + if(t.data.data.prom_type && t.data.data.prom_id){
  804 + ee.data.prom_type=t.data.data.prom_type;
  805 + ee.data.prom_id=t.data.data.prom_id;
  806 + }
  807 +
  808 + if(ee.data.prom_type!=1 && ee.data.prom_type!=4 && ee.data.prom_type!=6 && ee.data.prom_type!=2)
804 809 ee.check_is_youhui(ee.data.gid);
805 810  
806 811 t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss');
... ...
pages/goods/goodsList/goodsList.js
... ... @@ -42,7 +42,9 @@ Page({
42 42 }
43 43  
44 44 var th=this;
45   - a.init(this, "", "requestData");
  45 +
  46 + //a.init(this, "", "requestData");
  47 +
46 48 var url = this.data.baseUrl;
47 49 this.data.is_new=t.is_new;
48 50 this.data.is_hot=t.is_hot;
... ... @@ -171,10 +173,12 @@ Page({
171 173 }
172 174 this.resetData(), this.requestGoodsList(url);
173 175 },
174   - requestGoodsList: function(t) {
175   - var e = this;
  176 + requestGoodsList:function(t) {
  177 + if(this.data.loading) return false;
  178 + this.data.loading=1;
  179 + var e = this,th=e;
176 180 this.data.requestUrl = t;
177   -
  181 +
178 182 //不是商品分组的,不是默认排序的
179 183 if(t.indexOf("group_id")==-1 || e.data.tabname!="sort" ){
180 184 t += "&orderField=" + e.data.tabname;
... ... @@ -182,14 +186,94 @@ Page({
182 186 }
183 187  
184 188 t +="&page=" + e.data.currentPage;
185   - a.request(t,
186   - function(t) {
187   - e.setData({is_go:1});
188   - e.data.currentPage++, null == e.data.allData && (e.data.allData = Object.assign({}, t.data.result)),
189   - wx.stopPullDownRefresh();
190   - },
191   - null, { is_mainshow: 1, isonsale: 1, store_id: oo.stoid}
192   - );
  189 + getApp().request.promiseGet(t, {data:{is_mainshow: 1, isonsale: 1, store_id: oo.stoid}}).then(async res=>{
  190 + th.data.loading=0;
  191 + e.setData({is_go:1});
  192 + if(ut.ajax_ok(res)){
  193 + e.data.currentPage++;
  194 + if(!e.data.requestData) e.data.requestData=[];
  195 + for(let i in res.data.data.pageData){
  196 + let item=res.data.data.pageData[i];
  197 + item.original_img = th.data.url + item.original_img;
  198 +
  199 + var url="/api/weshop/activitylist/getGoodActInfo";
  200 + var req_data={
  201 + store_id:oo.stoid,goodsidlist:item.goods_id,is_detail:1
  202 + };
  203 + //获取商品的实际活动
  204 + await getApp().request.promiseGet(url, {data:req_data}).then(res=>{
  205 + if(res.data.code==0 && res.data.data && res.data.data.length==1){
  206 + item.prom_type=res.data.data[0].prom_type;
  207 + item.prom_id=res.data.data[0].act_id;
  208 + }
  209 + })
  210 +
  211 + var prom_type = item.prom_type; //0普通商品 1秒杀 6拼单 2团购 4积分购
  212 + var prom_id=item.prom_id;
  213 + var now=ut.gettimestamp();
  214 + var url = "";
  215 + switch (prom_type){
  216 + case 1:
  217 + var user_id=getApp().globalData.user_id;
  218 + if(!user_id) user_id=0;
  219 + url = "/api/ms/flash_sale/getNew/" +oo.stoid + "/" +user_id+"/"+ prom_id;
  220 + break;
  221 + case 2:
  222 + url ="/api/weshop/goods/groupBuy/getActInfo/" +oo.stoid + "/" +item.goods_id+"/"+ prom_id
  223 + break;
  224 + case 4:
  225 + url ="/api/weshop/integralbuy/get/"+oo.stoid +"/"+prom_id;
  226 + break;
  227 + case 6:
  228 + url = "/api/weshop/teamlist/get/" + oo.stoid + "/" + prom_id;
  229 + break;
  230 + case 8:
  231 + var presell_id = prom_id;
  232 + var url1 = "/api/weshop/marketing/marketingPresellList/list";
  233 + var rd= {
  234 + store_id: oo.stoid,
  235 + presell_id: presell_id,
  236 + goods_id: val.goods_id
  237 + }
  238 + //------获取预售从表----------
  239 + await getApp().request.promiseGet(url1, {
  240 + data: rd
  241 + }).then(res => {
  242 + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
  243 + var arr = res.data.data[0];
  244 + item.prom_price = arr.luck_goods_price;
  245 + item.sales_sum=arr.buy_goodnum+(arr.virtual_qty?arr.virtual_qty:0);
  246 + }
  247 + })
  248 + break;
  249 + default:
  250 + break
  251 + }
  252 + if(url!=null && url!=''){
  253 + await getApp().request.promiseGet(url, {}).then(res => {
  254 + var prom =null;
  255 + if(res && res.data) prom=res.data.data;
  256 + if (prom != null && prom.is_end==0 && prom.end_time>now && (prom.start_time<now || (prom.show_time && prom.show_time<now)) ) {
  257 + item.prom_price = res.data.data.price;
  258 + if(res.data.data.user_price) item.prom_price=res.data.data.user_price;
  259 + var vNum=res.data.data.virtual_num?res.data.data.virtual_num:0;
  260 + var vNum1=res.data.data.virtualNum?res.data.data.virtualNum:0;
  261 + var vNum2=res.data.data.virtual?res.data.data.virtual:0;
  262 + item.sales_sum=res.data.data.buy_num+(vNum+vNum1+vNum2);
  263 + }else{
  264 + item.prom_type=0;
  265 + item.prom_id=0;
  266 + item.prom_price=null;
  267 + }
  268 + })
  269 + }
  270 +
  271 + e.data.requestData.push(item);
  272 + e.setData({requestData: e.data.requestData})
  273 + }
  274 + }
  275 + })
  276 + wx.stopPullDownRefresh();
193 277 },
194 278 onReachBottom: function() {
195 279 a.canloadMore() && this.requestGoodsList(this.data.requestUrl);
... ...
pages/goods/goodsList/goodsList.wxml
... ... @@ -62,7 +62,7 @@
62 62 <view class="item-cont">
63 63 <view class="title ellipsis-2">{{item.goods_name}}</view>
64 64 <!-- 判断是否有活动价 -->
65   - <block wx:if="{{(item.prom_price>0 || item.prom_integral>0) && item.prom_type!=2}}">
  65 + <block wx:if="{{(item.prom_price>0 || item.prom_integral>0) && item.prom_id>0 }}">
66 66 <view class="flex on">
67 67 <!-- 活动价 -->
68 68 <view class="price">
... ...
pages/goods/search/search.js
... ... @@ -31,7 +31,6 @@ Page({
31 31  
32 32 onLoad: function(t) {
33 33 this.data.rq_data=t;
34   -
35 34 //接受有没有导购的参数
36 35 var first_leader=t.first_leader;
37 36 if(first_leader){
... ... @@ -95,7 +94,7 @@ Page({
95 94  
96 95  
97 96 })
98   - e.init(this, "", "requestData");
  97 + //e.init(this, "", "requestData");
99 98 var url = this.data.baseUrl;
100 99  
101 100 //扫一扫过来,显示搜索的内容
... ... @@ -112,9 +111,8 @@ Page({
112 111  
113 112 if (url != this.data.baseUrl) return this.requestSearch(url);
114 113 this.openSearchModal();
115   -
116   - // 获取历史搜索记录
117   - this.getHistorySearch();
  114 + // 获取历史搜索记录
  115 + this.getHistorySearch();
118 116 },
119 117 changeTab: function(t) {
120 118 var ord = t.currentTarget.dataset.href;
... ... @@ -134,24 +132,100 @@ Page({
134 132  
135 133 //-----------真的调用地址进行搜索------------
136 134 requestSearch: function(t) {
137   - var a = this;
138   -
  135 + if(this.data.loading) return false;
  136 + this.data.loading=1;
  137 + var e = this,th=e;
139 138 if(getApp().globalData.userInfo){
140 139 t += "&user_id=" + getApp().globalData.userInfo.user_id;
141 140 }
  141 + this.data.requestUrl = t;
  142 + getApp().request.promiseGet(t, {data:{is_mainshow: 1, isonsale: 1, store_id: oo.stoid,orderField: e.data.tabname, orderType: e.data.adname, page: e.data.currentPage}}).then(async res=>{
  143 + th.data.loading=0;
  144 + if(ut.ajax_ok(res)){
  145 + if(!e.data.requestData) e.data.requestData=[];
  146 + for(let i in res.data.data.pageData){
  147 + let item=res.data.data.pageData[i];
  148 + item.original_img = th.data.url + item.original_img;
  149 +
  150 + var url="/api/weshop/activitylist/getGoodActInfo";
  151 + var req_data={
  152 + store_id:oo.stoid,goodsidlist:item.goods_id,is_detail:1
  153 + };
  154 + //获取商品的实际活动
  155 + await getApp().request.promiseGet(url, {data:req_data}).then(res=>{
  156 + if(res.data.code==0 && res.data.data && res.data.data.length==1){
  157 + item.prom_type=res.data.data[0].prom_type;
  158 + item.prom_id=res.data.data[0].act_id;
  159 + }
  160 + })
  161 +
  162 + var prom_type = item.prom_type; //0普通商品 1秒杀 6拼单 2团购 4积分购
  163 + var prom_id=item.prom_id;
  164 + var now=ut.gettimestamp();
  165 + var url = "";
  166 + switch (prom_type){
  167 + case 1:
  168 + var user_id=getApp().globalData.user_id;
  169 + if(!user_id) user_id=0;
  170 + url = "/api/ms/flash_sale/getNew/" +oo.stoid + "/" +user_id+"/"+ prom_id;
  171 + break;
  172 + case 2:
  173 + url ="/api/weshop/goods/groupBuy/getActInfo/" +oo.stoid + "/" +item.goods_id+"/"+ prom_id
  174 + break;
  175 + case 4:
  176 + url ="/api/weshop/integralbuy/get/"+oo.stoid +"/"+prom_id;
  177 + break;
  178 + case 6:
  179 + url = "/api/weshop/teamlist/get/" + oo.stoid + "/" + prom_id;
  180 + break;
  181 + case 8:
  182 + var presell_id = prom_id;
  183 + var url1 = "/api/weshop/marketing/marketingPresellList/list";
  184 + var rd= {
  185 + store_id: oo.stoid,
  186 + presell_id: presell_id,
  187 + goods_id: val.goods_id
  188 + }
  189 + //------获取预售从表----------
  190 + await getApp().request.promiseGet(url1, {
  191 + data: rd
  192 + }).then(res => {
  193 + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
  194 + var arr = res.data.data[0];
  195 + item.prom_price = arr.luck_goods_price;
  196 + item.sales_sum=arr.buy_goodnum+(arr.virtual_qty?arr.virtual_qty:0);
  197 + }
  198 + })
  199 + break;
  200 + default:
  201 + break
  202 + }
  203 + if(url!=null && url!=''){
  204 + await getApp().request.promiseGet(url, {}).then(res => {
  205 + var prom =null;
  206 + if(res && res.data) prom=res.data.data;
  207 + if (prom != null && prom.is_end==0 && prom.end_time>now && (prom.start_time<now || (prom.show_time && prom.show_time<now)) ) {
  208 + item.prom_price = res.data.data.price;
  209 + if(res.data.data.user_price) item.prom_price=res.data.data.user_price;
  210 + var vNum=res.data.data.virtual_num?res.data.data.virtual_num:0;
  211 + var vNum1=res.data.data.virtualNum?res.data.data.virtualNum:0;
  212 + var vNum2=res.data.data.virtual?res.data.data.virtual:0;
  213 + item.sales_sum=res.data.data.buy_num+(vNum+vNum1+vNum2);
  214 + }else{
  215 + item.prom_type=0;
  216 + item.prom_id=0;
  217 + item.prom_price=null;
  218 + }
  219 + })
  220 + }
  221 + th.data.requestData.push(item);
  222 + e.setData({requestData: e.data.requestData});
  223 + e.closeSearchModal();
  224 + }
  225 + }
  226 +
  227 + })
142 228  
143   - this.data.requestUrl = t,
144   - //t += "&orderField=" + a.data.tabname;
145   - //t += "&orderType=" + a.data.adname;
146   - //t += "&page=" + a.data.currentPage,
147   - e.request(t, function(t) {
148   - a.data.currentPage++ ,
149   - null == a.data.allData && (a.data.allData = t.data.data.pageData),
150   - a.closeSearchModal();
151   - },
152   - null, { is_mainshow: 1, isonsale: 1, store_id: oo.stoid,
153   - orderField: a.data.tabname, orderType: a.data.adname, page: a.data.currentPage}
154   - );
155 229 },
156 230 onReachBottom: function() {
157 231 this.data.openSearchModal || e.canloadMore() && this.requestSearch(this.data.requestUrl);
... ...
pages/goods/search/search.wxml
... ... @@ -35,7 +35,7 @@
35 35 <view class="item-cont">
36 36 <view class="title ellipsis-2">{{item.goods_name}}</view>
37 37 <!-- 判断是否有活动价,小程序没有有团购和拼单 -->
38   - <block wx:if="{{(item.prom_price>0 || item.prom_integral) && item.prom_type!=2 && item.prom_id>0}}">
  38 + <block wx:if="{{(item.prom_price>0 || item.prom_integral) && item.prom_id>0}}">
39 39 <!-- 活动价 -->
40 40 <view class="price">
41 41 <text wx:if="{{item.prom_integral}}">{{item.prom_integral}}积分</text>
... ...