From e321219b2ddb82696a4a8bfcdafa564ba5586548 Mon Sep 17 00:00:00 2001 From: Devil Date: Tue, 12 Jan 2021 16:52:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index/view/default/search/index.html | 4 +- application/service/SearchService.php | 73 ++++++---- public/static/index/default/css/search.css | 3 - sourcecode/alipay/default/app.acss | 3 +- sourcecode/baidu/default/app.css | 1 + sourcecode/qq/default/app.qss | 1 + sourcecode/toutiao/default/app.ttss | 1 + sourcecode/weixin/default/app.js | 2 +- sourcecode/weixin/default/app.wxss | 1 + .../pages/goods-search/goods-search.js | 128 ++++++++++++++++-- .../pages/goods-search/goods-search.wxml | 101 ++++++++++++-- .../pages/goods-search/goods-search.wxss | 106 +++++++++++---- .../pages/plugins/brand/index/index.wxss | 3 + 13 files changed, 342 insertions(+), 85 deletions(-) diff --git a/application/index/view/default/search/index.html b/application/index/view/default/search/index.html index b0713553b..fc5bed849 100755 --- a/application/index/view/default/search/index.html +++ b/application/index/view/default/search/index.html @@ -199,7 +199,7 @@
@@ -217,7 +217,7 @@
    {{foreach $goods_spec_list as $v}} -
  • {{$v}}
  • +
  • {{$v.value}}
  • {{/foreach}}
diff --git a/application/service/SearchService.php b/application/service/SearchService.php index cd3247f36..927b1dc71 100755 --- a/application/service/SearchService.php +++ b/application/service/SearchService.php @@ -144,7 +144,7 @@ class SearchService { if(!is_array($params['brand_ids'])) { - $params['brand_ids'] = explode(',', $params['brand_ids']); + $params['brand_ids'] = (substr($params['brand_ids'], 0, 1) == '{') ? json_decode(htmlspecialchars_decode($params['brand_ids']), true) : explode(',', $params['brand_ids']); } $brand_ids = array_merge($brand_ids, $params['brand_ids']); } @@ -163,6 +163,10 @@ class SearchService } if(!empty($params['category_ids'])) { + if(!is_array($params['category_ids'])) + { + $params['category_ids'] = (substr($params['category_ids'], 0, 1) == '{') ? json_decode(htmlspecialchars_decode($params['category_ids']), true) : explode(',', $params['category_ids']); + } $ids = GoodsService::GoodsCategoryItemsIds($params['category_ids'], 1); $ids[] = $params['category_id']; $category_ids = array_merge($category_ids, $ids); @@ -176,15 +180,22 @@ class SearchService $where_screening_price = []; if(!empty($params['screening_price_values'])) { - foreach($params['screening_price_values'] as $v) + if(!is_array($params['screening_price_values'])) { - $temp = explode('-', $v); - if(count($temp) == 2) + $params['screening_price_values'] = (substr($params['screening_price_values'], 0, 1) == '{') ? json_decode(htmlspecialchars_decode($params['screening_price_values']), true) : explode(',', $params['screening_price_values']); + } + if(!empty($params['screening_price_values'])) + { + foreach($params['screening_price_values'] as $v) { - $where_screening_price[] = [ - ['min_price', 'EGT', $temp[0]], - ['min_price', 'LT', $temp[1]], - ]; + $temp = explode('-', $v); + if(count($temp) == 2) + { + $where_screening_price[] = [ + ['min_price', 'EGT', $temp[0]], + ['min_price', 'LT', $temp[1]], + ]; + } } } } @@ -192,31 +203,35 @@ class SearchService // 商品参数、属性 if(!empty($params['goods_params_values'])) { - $ids = Db::name('GoodsParams')->where(['value'=>$params['goods_params_values']])->column('goods_id'); - if(!empty($ids)) + if(!is_array($params['goods_params_values'])) { - $where_base[] = ['g.id', 'in', $ids]; + $params['goods_params_values'] = (substr($params['goods_params_values'], 0, 1) == '{') ? json_decode(htmlspecialchars_decode($params['goods_params_values']), true) : explode(',', $params['goods_params_values']); + } + if(!empty($params['goods_params_values'])) + { + $ids = Db::name('GoodsParams')->where(['value'=>$params['goods_params_values']])->column('goods_id'); + if(!empty($ids)) + { + $where_base[] = ['g.id', 'in', $ids]; + } } } // 商品规格 if(!empty($params['goods_spec_values'])) { - $ids = Db::name('GoodsSpecValue')->where(['value'=>$params['goods_spec_values']])->column('goods_id'); - if(!empty($ids)) + if(!is_array($params['goods_spec_values'])) { - $where_base[] = ['g.id', 'in', $ids]; + $params['goods_spec_values'] = (substr($params['goods_spec_values'], 0, 1) == '{') ? json_decode(htmlspecialchars_decode($params['goods_spec_values']), true) : explode(',', $params['goods_spec_values']); + } + if(!empty($params['goods_spec_values'])) + { + $ids = Db::name('GoodsSpecValue')->where(['value'=>$params['goods_spec_values']])->column('goods_id'); + if(!empty($ids)) + { + $where_base[] = ['g.id', 'in', $ids]; + } } - } - - // 指定价格筛选 - if(!empty($params['min_price'])) - { - $where_base[] = ['g.min_price', 'EGT', $params['min_price']]; - } - if(!empty($params['max_price'])) - { - $where_base[] = ['g.min_price', 'LT', $params['max_price']]; } return [ @@ -401,7 +416,7 @@ class SearchService $query->whereOr($where_keywords); })->where(function($query) use($where_screening_price) { $query->whereOr($where_screening_price); - })->group('gp.value')->column('gp.value'); + })->group('gp.value')->field('gp.value')->select(); } /** @@ -426,7 +441,7 @@ class SearchService $query->whereOr($where_keywords); })->where(function($query) use($where_screening_price) { $query->whereOr($where_screening_price); - })->group('gsv.value')->column('gsv.value'); + })->group('gsv.value')->field('gsv.value')->select(); } /** @@ -444,7 +459,7 @@ class SearchService $category = empty($params['category_id']) ? [] : GoodsService::GoodsCategoryRow(['id'=>intval($params['category_id']), 'field'=>'name,vice_name,describe,seo_title,seo_keywords,seo_desc']); // 品牌 - $brand = []; + $brand = null; if(!empty($params['brand_id'])) { $data_params = [ @@ -461,8 +476,8 @@ class SearchService } return [ - 'category' => $category, - 'brand' => $brand, + 'category' => empty($category) ? null : $category, + 'brand' => empty($brand) ? null : $brand, ]; } diff --git a/public/static/index/default/css/search.css b/public/static/index/default/css/search.css index 60702f8bd..7cffe7b40 100755 --- a/public/static/index/default/css/search.css +++ b/public/static/index/default/css/search.css @@ -73,9 +73,6 @@ padding: 2px 10px; border: 1px solid transparent; } -.map-text-items ul li.active { - border: 1px solid #e23f36; -} .map-images-text-items ul li.active, .map-text-items ul li.active { border: 1px solid #e23f36; diff --git a/sourcecode/alipay/default/app.acss b/sourcecode/alipay/default/app.acss index 7cb06ce59..456dc084e 100644 --- a/sourcecode/alipay/default/app.acss +++ b/sourcecode/alipay/default/app.acss @@ -78,7 +78,8 @@ textarea { .br-r-dashed { border-right: dashed 1px #efefef; } /* 箭头符号 */ -.arrow-right { background-image: url('data:image/svg+xml;charset=utf-8,'); background-size: 15px 10px; background-repeat: no-repeat; background-position: center right; } +.arrow-right { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA+klEQVRYR+3WsWrDMBAG4P/eotCQLlk73UGfq6O3BgLNEsg7JQQPZ7ADfos8gAeBijYTAsnpREJBXmX0f/7RCRNe/NCL81EBtYH/1YCq/gK4iMiu1PSYGlDVloi+AOyZ+bsEwgQYx/FtmqYDgFUphAmQvniOiDFuRaTxNGEGlEZkAWaIFsCHp4lsQEIMw7AIIRw9CBfgGgFgzcw/ljPhBtxoohGR7aOIIoC+799DCCciWsYYnwvwhKeWXA14w12AEuHZgFLhWYCS4WbAPDxn5m+NpukQquqZiD49V+81wgToum6TfkiYef/oRXPvPRPg3mY56xVQG6gN/AEiuagh/yEjYQAAAABJRU5ErkJggg=='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; } +.arrow-bottom { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABRklEQVRYR+2UsUrFMBSGT9LBN3AQR4vQNO0gPoA6Cy5XZ1ddfZbr6nwdXFwVH8AlJacg2cTFN7BLjkQQwtW2STvcJRlL8/8fX3LCYMOLbbgfEkAykAwkA4MGEHEhhLif81gZY3bzPP/oy+gFQMSCiJCIjqSUL1MgjDFbXdd9AcB1WZbL/zIGDWitVwCwmAKhlNrOsuyTMYYAcC6EaKMB3IZfCMbYiRDiOcQEIu4RkRkrd1lBU+CZOJVSPg5BNE1zwDl/DSkPBvBNENGFlNIdzZ+FiMdE9BRaHgXgQ1hrL6uquvMJ2rY9s9Y+xJRHA/gQnPOroihu3Tc3rkS0ii2fBLB2MW8A4H1q+WQAH+InZGTUhi5t0BT0BWitDQDsMMYO++Z8bGxnAbhwpdR+XddvY0XRT/HUwNh9sw3EFq7/nwCSgWQgGfgGWR6PIRYTYskAAAAASUVORK5CYII='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; } /* 常用样式 */ diff --git a/sourcecode/baidu/default/app.css b/sourcecode/baidu/default/app.css index b7f111eda..8592f77b0 100755 --- a/sourcecode/baidu/default/app.css +++ b/sourcecode/baidu/default/app.css @@ -86,6 +86,7 @@ textarea { /* 箭头符号 */ .arrow-right { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA+klEQVRYR+3WsWrDMBAG4P/eotCQLlk73UGfq6O3BgLNEsg7JQQPZ7ADfos8gAeBijYTAsnpREJBXmX0f/7RCRNe/NCL81EBtYH/1YCq/gK4iMiu1PSYGlDVloi+AOyZ+bsEwgQYx/FtmqYDgFUphAmQvniOiDFuRaTxNGEGlEZkAWaIFsCHp4lsQEIMw7AIIRw9CBfgGgFgzcw/ljPhBtxoohGR7aOIIoC+799DCCciWsYYnwvwhKeWXA14w12AEuHZgFLhWYCS4WbAPDxn5m+NpukQquqZiD49V+81wgToum6TfkiYef/oRXPvPRPg3mY56xVQG6gN/AEiuagh/yEjYQAAAABJRU5ErkJggg=='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; } +.arrow-bottom { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABRklEQVRYR+2UsUrFMBSGT9LBN3AQR4vQNO0gPoA6Cy5XZ1ddfZbr6nwdXFwVH8AlJacg2cTFN7BLjkQQwtW2STvcJRlL8/8fX3LCYMOLbbgfEkAykAwkA4MGEHEhhLif81gZY3bzPP/oy+gFQMSCiJCIjqSUL1MgjDFbXdd9AcB1WZbL/zIGDWitVwCwmAKhlNrOsuyTMYYAcC6EaKMB3IZfCMbYiRDiOcQEIu4RkRkrd1lBU+CZOJVSPg5BNE1zwDl/DSkPBvBNENGFlNIdzZ+FiMdE9BRaHgXgQ1hrL6uquvMJ2rY9s9Y+xJRHA/gQnPOroihu3Tc3rkS0ii2fBLB2MW8A4H1q+WQAH+InZGTUhi5t0BT0BWitDQDsMMYO++Z8bGxnAbhwpdR+XddvY0XRT/HUwNh9sw3EFq7/nwCSgWQgGfgGWR6PIRYTYskAAAAASUVORK5CYII='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; } /* 常用样式 */ diff --git a/sourcecode/qq/default/app.qss b/sourcecode/qq/default/app.qss index 96386d438..1b11aed82 100755 --- a/sourcecode/qq/default/app.qss +++ b/sourcecode/qq/default/app.qss @@ -86,6 +86,7 @@ textarea { /* 箭头符号 */ .arrow-right { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA+klEQVRYR+3WsWrDMBAG4P/eotCQLlk73UGfq6O3BgLNEsg7JQQPZ7ADfos8gAeBijYTAsnpREJBXmX0f/7RCRNe/NCL81EBtYH/1YCq/gK4iMiu1PSYGlDVloi+AOyZ+bsEwgQYx/FtmqYDgFUphAmQvniOiDFuRaTxNGEGlEZkAWaIFsCHp4lsQEIMw7AIIRw9CBfgGgFgzcw/ljPhBtxoohGR7aOIIoC+799DCCciWsYYnwvwhKeWXA14w12AEuHZgFLhWYCS4WbAPDxn5m+NpukQquqZiD49V+81wgToum6TfkiYef/oRXPvPRPg3mY56xVQG6gN/AEiuagh/yEjYQAAAABJRU5ErkJggg=='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; } +.arrow-bottom { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABRklEQVRYR+2UsUrFMBSGT9LBN3AQR4vQNO0gPoA6Cy5XZ1ddfZbr6nwdXFwVH8AlJacg2cTFN7BLjkQQwtW2STvcJRlL8/8fX3LCYMOLbbgfEkAykAwkA4MGEHEhhLif81gZY3bzPP/oy+gFQMSCiJCIjqSUL1MgjDFbXdd9AcB1WZbL/zIGDWitVwCwmAKhlNrOsuyTMYYAcC6EaKMB3IZfCMbYiRDiOcQEIu4RkRkrd1lBU+CZOJVSPg5BNE1zwDl/DSkPBvBNENGFlNIdzZ+FiMdE9BRaHgXgQ1hrL6uquvMJ2rY9s9Y+xJRHA/gQnPOroihu3Tc3rkS0ii2fBLB2MW8A4H1q+WQAH+InZGTUhi5t0BT0BWitDQDsMMYO++Z8bGxnAbhwpdR+XddvY0XRT/HUwNh9sw3EFq7/nwCSgWQgGfgGWR6PIRYTYskAAAAASUVORK5CYII='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; } /* 常用样式 */ diff --git a/sourcecode/toutiao/default/app.ttss b/sourcecode/toutiao/default/app.ttss index 00057bcc1..16008af46 100755 --- a/sourcecode/toutiao/default/app.ttss +++ b/sourcecode/toutiao/default/app.ttss @@ -87,6 +87,7 @@ textarea { /* 箭头符号 */ .arrow-right { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA+klEQVRYR+3WsWrDMBAG4P/eotCQLlk73UGfq6O3BgLNEsg7JQQPZ7ADfos8gAeBijYTAsnpREJBXmX0f/7RCRNe/NCL81EBtYH/1YCq/gK4iMiu1PSYGlDVloi+AOyZ+bsEwgQYx/FtmqYDgFUphAmQvniOiDFuRaTxNGEGlEZkAWaIFsCHp4lsQEIMw7AIIRw9CBfgGgFgzcw/ljPhBtxoohGR7aOIIoC+799DCCciWsYYnwvwhKeWXA14w12AEuHZgFLhWYCS4WbAPDxn5m+NpukQquqZiD49V+81wgToum6TfkiYef/oRXPvPRPg3mY56xVQG6gN/AEiuagh/yEjYQAAAABJRU5ErkJggg=='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; } +.arrow-bottom { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABRklEQVRYR+2UsUrFMBSGT9LBN3AQR4vQNO0gPoA6Cy5XZ1ddfZbr6nwdXFwVH8AlJacg2cTFN7BLjkQQwtW2STvcJRlL8/8fX3LCYMOLbbgfEkAykAwkA4MGEHEhhLif81gZY3bzPP/oy+gFQMSCiJCIjqSUL1MgjDFbXdd9AcB1WZbL/zIGDWitVwCwmAKhlNrOsuyTMYYAcC6EaKMB3IZfCMbYiRDiOcQEIu4RkRkrd1lBU+CZOJVSPg5BNE1zwDl/DSkPBvBNENGFlNIdzZ+FiMdE9BRaHgXgQ1hrL6uquvMJ2rY9s9Y+xJRHA/gQnPOroihu3Tc3rkS0ii2fBLB2MW8A4H1q+WQAH+InZGTUhi5t0BT0BWitDQDsMMYO++Z8bGxnAbhwpdR+XddvY0XRT/HUwNh9sw3EFq7/nwCSgWQgGfgGWR6PIRYTYskAAAAASUVORK5CYII='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; } /* 常用样式 */ diff --git a/sourcecode/weixin/default/app.js b/sourcecode/weixin/default/app.js index 78df5902f..f185dd768 100755 --- a/sourcecode/weixin/default/app.js +++ b/sourcecode/weixin/default/app.js @@ -74,7 +74,7 @@ App({ // 请求地址 request_url: "{{request_url}}", request_url: 'http://shopxo.com/', - request_url: 'https://dev.shopxo.net/', + // request_url: 'https://dev.shopxo.net/', // 基础信息 application_title: "{{application_title}}", diff --git a/sourcecode/weixin/default/app.wxss b/sourcecode/weixin/default/app.wxss index 96386d438..1b11aed82 100755 --- a/sourcecode/weixin/default/app.wxss +++ b/sourcecode/weixin/default/app.wxss @@ -86,6 +86,7 @@ textarea { /* 箭头符号 */ .arrow-right { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA+klEQVRYR+3WsWrDMBAG4P/eotCQLlk73UGfq6O3BgLNEsg7JQQPZ7ADfos8gAeBijYTAsnpREJBXmX0f/7RCRNe/NCL81EBtYH/1YCq/gK4iMiu1PSYGlDVloi+AOyZ+bsEwgQYx/FtmqYDgFUphAmQvniOiDFuRaTxNGEGlEZkAWaIFsCHp4lsQEIMw7AIIRw9CBfgGgFgzcw/ljPhBtxoohGR7aOIIoC+799DCCciWsYYnwvwhKeWXA14w12AEuHZgFLhWYCS4WbAPDxn5m+NpukQquqZiD49V+81wgToum6TfkiYef/oRXPvPRPg3mY56xVQG6gN/AEiuagh/yEjYQAAAABJRU5ErkJggg=='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; } +.arrow-bottom { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABRklEQVRYR+2UsUrFMBSGT9LBN3AQR4vQNO0gPoA6Cy5XZ1ddfZbr6nwdXFwVH8AlJacg2cTFN7BLjkQQwtW2STvcJRlL8/8fX3LCYMOLbbgfEkAykAwkA4MGEHEhhLif81gZY3bzPP/oy+gFQMSCiJCIjqSUL1MgjDFbXdd9AcB1WZbL/zIGDWitVwCwmAKhlNrOsuyTMYYAcC6EaKMB3IZfCMbYiRDiOcQEIu4RkRkrd1lBU+CZOJVSPg5BNE1zwDl/DSkPBvBNENGFlNIdzZ+FiMdE9BRaHgXgQ1hrL6uquvMJ2rY9s9Y+xJRHA/gQnPOroihu3Tc3rkS0ii2fBLB2MW8A4H1q+WQAH+InZGTUhi5t0BT0BWitDQDsMMYO++Z8bGxnAbhwpdR+XddvY0XRT/HUwNh9sw3EFq7/nwCSgWQgGfgGWR6PIRYTYskAAAAASUVORK5CYII='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; } /* 常用样式 */ diff --git a/sourcecode/weixin/default/pages/goods-search/goods-search.js b/sourcecode/weixin/default/pages/goods-search/goods-search.js index 2426f34bb..485c12ae8 100755 --- a/sourcecode/weixin/default/pages/goods-search/goods-search.js +++ b/sourcecode/weixin/default/pages/goods-search/goods-search.js @@ -4,6 +4,7 @@ Page({ data_list_loding_status: 1, data_bottom_line_status: false, data_list: [], + data_total: 0, data_page_total: 0, data_page: 1, params: null, @@ -20,6 +21,21 @@ Page({ // 基础配置 currency_symbol: app.data.currency_symbol, + + // 搜素条件 + search_map_info: [], + brand_list: [], + category_list: [], + screening_price_list: [], + goods_params_list: [], + goods_spec_list: [], + map_fields_list: { + "brand_list": {"height":"100rpx", "default":"100rpx", "form_key":"brand_ids"}, + "category_list": {"height":"82rpx", "default":"82rpx", "form_key":"category_ids"}, + "screening_price_list": {"height":"82rpx", "default":"82rpx", "form_key":"screening_price_values"}, + "goods_params_list": {"height":"82rpx", "default":"82rpx", "form_key":"goods_params_values"}, + "goods_spec_list": {"height":"82rpx", "default":"82rpx", "form_key":"goods_spec_values"} + }, }, onLoad(params) { @@ -85,16 +101,9 @@ Page({ // 加载loding wx.showLoading({title: "加载中..." }); - this.setData({ - data_list_loding_status: 1 - }); // 参数 - var params = this.data.params; - var post_data = this.data.post_data; - post_data['page'] = this.data.data_page; - post_data['category_id'] = params['category_id'] || 0; - post_data['brand_id'] = params['brand_id'] || 0; + var post_data = this.request_map_handle(); // 获取数据 wx.request({ @@ -107,20 +116,36 @@ Page({ wx.hideLoading(); wx.stopPullDownRefresh(); if (res.data.code == 0) { - if (res.data.data.data.length > 0) { + var data = res.data.data; + if (data.data.length > 0) { if (this.data.data_page <= 1) { - var temp_data_list = res.data.data.data; + var temp_data_list = data.data; } else { var temp_data_list = this.data.data_list; - var temp_data = res.data.data.data; + var temp_data = data.data; for (var i in temp_data) { temp_data_list.push(temp_data[i]); } } + + // 仅首次请求赋值条件数据 + if(this.data.data_list_loding_status == 1) + { + this.setData({ + search_map_info: data.search_map_info || [], + brand_list: data.brand_list || [], + category_list: data.category_list || [], + screening_price_list: data.screening_price_list || [], + goods_params_list: data.goods_params_list || [], + goods_spec_list: data.goods_spec_list || [], + }); + } + + // 公共基础数据 this.setData({ data_list: temp_data_list, - data_total: res.data.data.total, - data_page_total: res.data.data.page_total, + data_total: data.total, + data_page_total: data.page_total, data_list_loding_status: 3, data_page: this.data.data_page + 1 }); @@ -163,6 +188,58 @@ Page({ }); }, + // 搜索条件处理 + request_map_handle() { + var params = this.data.params; + var post_data = this.data.post_data; + post_data['page'] = this.data.data_page; + + // 指定分类、品牌 + post_data['category_id'] = params['category_id'] || 0; + post_data['brand_id'] = params['brand_id'] || 0; + + // 搜索条件 + var data = this.data; + for(var i in data.map_fields_list) + { + if((data[i] != null) != null && data[i].length > 0) + { + var temp = {}; + var index = 0; + for(var k in data[i]) + { + if((data[i][k]['active'] || 0) == 1) + { + switch(i) + { + // 价格 + case 'screening_price_list' : + temp[index] = data[i][k]['min_price']+'-'+data[i][k]['max_price']; + break; + + // 属性、规格 + case 'goods_params_list' : + case 'goods_spec_list' : + temp[index] = data[i][k]['value']; + break; + + // 默认取值id + default : + temp[index] = data[i][k]['id']; + } + index++; + } + } + if(app.get_length(temp) > 0) + { + post_data[data.map_fields_list[i]['form_key']] = JSON.stringify(temp); + } + } + } + + return post_data; + }, + // 下拉刷新 onPullDownRefresh() { this.setData({ @@ -193,7 +270,7 @@ Page({ this.setData({ is_show_popup_form: true }); }, - // 筛选 + // 排序事件 nav_sort_event(e) { var index = e.currentTarget.dataset.index || 0; var temp_post_data = this.data.post_data; @@ -224,6 +301,29 @@ Page({ this.get_data_list(1); }, + // 条件-更多数据展示事件 + more_event(e) { + var value = e.currentTarget.dataset.value || null; + var temp_more = this.data.map_fields_list; + if(value != null && (temp_more[value] || null) != null) + { + temp_more[value]['height'] = (temp_more[value]['height'] == 'auto') ? temp_more[value]['default'] : 'auto'; + this.setData({map_fields_list: temp_more}); + } + }, + + // 条件-选择事件 + map_item_event(e) { + var index = e.currentTarget.dataset.index; + var field = e.currentTarget.dataset.field; + var data = this.data; + if((data[field] || null) != null && (data[field][index] || null) != null) + { + data[field][index]['active'] = ((data[field][index]['active'] || 0) == 0) ? 1 : 0; + this.setData(data); + } + }, + // 自定义分享 onShareAppMessage() { var user_id = app.get_user_cache_info('id', 0) || 0; diff --git a/sourcecode/weixin/default/pages/goods-search/goods-search.wxml b/sourcecode/weixin/default/pages/goods-search/goods-search.wxml index c15443524..a106c41e1 100755 --- a/sourcecode/weixin/default/pages/goods-search/goods-search.wxml +++ b/sourcecode/weixin/default/pages/goods-search/goods-search.wxml @@ -37,21 +37,98 @@ - + diff --git a/sourcecode/weixin/default/pages/goods-search/goods-search.wxss b/sourcecode/weixin/default/pages/goods-search/goods-search.wxss index ab366edb2..2ac9d2c25 100755 --- a/sourcecode/weixin/default/pages/goods-search/goods-search.wxss +++ b/sourcecode/weixin/default/pages/goods-search/goods-search.wxss @@ -61,40 +61,100 @@ /** * 条件 */ -.popup-form { - height: 100vh; +.search-map { + height: calc(100vh - 80rpx); + width: 680rpx; + overflow-y: scroll; + overflow-x: hidden; } -.popup-form input { - font-size: 26rpx; - height: 60rpx; +.map-keywords { + border-radius: 0 !important; + padding: 0 10rpx; + line-height: 66rpx; + height: 66rpx; + border-color: #e8e8e8; + border-width: 1px 0; + border-style: solid; +} +.map-nav { + position: relative; +} +.map-nav .arrow-bottom { + position: absolute; + top: 0; + right: 10rpx; + padding-right: 46rpx; + color: #999; +} +.map-item { + background: #f0f0f0; + line-height: 76rpx; +} +.map-base, +.map-nav { + padding: 0 10rpx; +} +.map-content { + padding: 15rpx; line-height: 60rpx; - background: #fbfbfb; - border-radius: 6rpx; - padding: 0 6rpx; } -.screening-price input { - width: calc(50% - 20px); +.map-text-items view, +.map-images-text-items view { + padding: 0 15rpx; + border-radius: 2px; + margin: 15rpx; + border: 1px solid transparent; } -.screening-price .separator { - line-height: 50rpx; +.map-images-text-items view { + vertical-align: middle; + border: 1px solid #eee; + width: 150rpx; + height: 72rpx; + line-height: 72rpx; } -.popup-form .item { - width: 480rpx; - padding: 0 20rpx; - margin-top: 20rpx; +.map-images-text-items view image { + width: 150rpx; + height: calc(100% - 8rpx); + display: block; + margin: 0 auto; + margin-top: 4rpx; } -.popup-form .item:not(:last-child) { - margin-bottom: 30rpx; +.map-text-items view.active, +.map-images-text-items view.active { + border: 1px solid #e23f36; + color: #e23f36; + font-weight: bold; } -.popup-form .item .title { - margin-bottom: 10rpx; - font-size: 28rpx; -} -.popup-form .form-submit { +.search-map .search-submit { height: 80rpx; line-height: 80rpx; position: absolute; left: 0; bottom: 0; border-radius: 0; +} + +/** + * 品牌基础信息 + */ +.brand-info { + padding: 35rpx 15rpx; +} +.brand-info image, +.brand-info .info-logo-empty { + width: 300rpx; + height: 130rpx; + border: 1px solid #eee; +} +.brand-info .info-logo-empty { + line-height: 130rpx; +} +.brand-info .info-right { + width: calc(100% - 330rpx); +} +.brand-info .info-desc { + color: #999; + font-size: 28rpx; + line-height: 40rpx; + min-height: 80rpx; } \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/brand/index/index.wxss b/sourcecode/weixin/default/pages/plugins/brand/index/index.wxss index 1c7e9a238..e30ba875f 100644 --- a/sourcecode/weixin/default/pages/plugins/brand/index/index.wxss +++ b/sourcecode/weixin/default/pages/plugins/brand/index/index.wxss @@ -42,4 +42,7 @@ .data-list .items .desc { color: #999; margin-top: 10rpx; + font-size: 28rpx; + line-height: 40rpx; + min-height: 80rpx; } \ No newline at end of file