Commit 519e18f20cd74e77bd81507742260c8f0c57d410

Authored by 前端开发-罗建龙
1 parent 6079671c

服务项目门店搜索

packageA/pages/goodsInfo/goodsInfo.js
... ... @@ -11,7 +11,7 @@ var t = require("../../../utils/util.js"),
11 11  
12 12 let self = null;
13 13  
14   -//评价加载更多
  14 +//评价加载更多
15 15 var more = function(e) {
16 16 return e && e.__esModule ? e : {
17 17 default: e
... ... @@ -212,7 +212,9 @@ Page({
212 212  
213 213 hiddenCS: true, //控制客服操作菜单显示和控制
214 214  
215   - openSpecModal_flash_normal: 0,
  215 + openSpecModal_flash_normal: 0,
  216 + keyword:'', //门店搜索
  217 + sec_i:-1,//选中分类门店 下标
216 218 },
217 219  
218 220 //------初始化加载----------
... ... @@ -1758,6 +1760,93 @@ Page({
1758 1760 })
1759 1761 }, 200)
1760 1762 },
  1763 + //获取搜索门店输入的值
  1764 + input_store: function(e) {
  1765 + this.setData({
  1766 + keyword: e.detail.value
  1767 + })
  1768 + },
  1769 + //搜索门店
  1770 + searchfn(){
  1771 + let choice_sort_store = this.data.choice_sort_store
  1772 + if (choice_sort_store==0) { //全局搜索
  1773 + let all_pick_list = this.data.all_pick_list
  1774 + let def_pickpu_list = this.data.def_pickpu_list
  1775 + let keyword = this.data.keyword
  1776 + if (keyword) {
  1777 + let arr=all_pick_list.filter( item =>{
  1778 + let i = item.pickup_name.indexOf(keyword)
  1779 + if (i > -1) {
  1780 + return true
  1781 + }else{
  1782 + return false
  1783 + }
  1784 + })
  1785 + if (arr && arr.length>0) {
  1786 + if(this.data.is_show_sto_cat==1){
  1787 + this.setData({
  1788 + def_pickpu_list:arr
  1789 + })
  1790 + }else{
  1791 + this.setData({
  1792 + only_pk:arr
  1793 + })
  1794 + }
  1795 + }else{
  1796 + wx.showToast({
  1797 + title: '没有搜索到门店',
  1798 + icon: 'none',
  1799 + duration: 2000
  1800 + })
  1801 + }
  1802 + }else{
  1803 + if (this.data.is_show_sto_cat==1) {
  1804 + this.setData({
  1805 + def_pickpu_list:all_pick_list.slice(0,10)
  1806 + })
  1807 + }else{
  1808 + this.setData({
  1809 + only_pk:all_pick_list
  1810 + })
  1811 + }
  1812 +
  1813 + }
  1814 + }else{ //分类下搜索
  1815 + let sec_i=this.data.sec_i
  1816 + let all_sto = this.data.all_sto
  1817 + let sec_sto= this.data.sec_sto
  1818 + let sec_arr = sec_sto.s_arr
  1819 + let keyword = this.data.keyword
  1820 + let text='sec_sto.s_arr'
  1821 + if (keyword) {
  1822 + let arr=sec_arr.filter( item =>{
  1823 + let i = item.pickup_name.indexOf(keyword)
  1824 + if (i > -1) {
  1825 + return true
  1826 + }else{
  1827 + return false
  1828 + }
  1829 + })
  1830 + if (arr && arr.length>0) {
  1831 + this.setData({
  1832 + [text]:arr
  1833 + })
  1834 + }else{
  1835 + wx.showToast({
  1836 + title: '没有搜索到门店',
  1837 + icon: 'none',
  1838 + duration: 2000
  1839 + })
  1840 + }
  1841 + }else{
  1842 + this.setData({
  1843 + [text]:all_sto[sec_i].s_arr
  1844 + })
  1845 + }
  1846 +
  1847 +
  1848 + }
  1849 + },
1761 1850  
1762 1851  
1763 1852 //------------处理门店---------------
... ...
packageA/pages/goodsInfo/goodsInfo.wxml
... ... @@ -802,6 +802,12 @@
802 802 </view>
803 803 </view>
804 804 </view>
  805 + <view class="searchbar flex-vertical-between storeListpadd">
  806 + <input class="inputstore fs28" placeholder="输入要搜索的门店" value="{{keyword}}" placeholder-class="fs28" maxlength="16" bindinput="input_store" bindconfirm="searchfn" />
  807 + <view class="search flex-center" bindtap="searchfn">
  808 + <view class="fs28">搜索</view>
  809 + </view>
  810 + </view>
805 811 <!-- 门店列表,最外层的门店列表,一开始 -->
806 812 <view class="store-list">
807 813 <!--如果还没有点击更多门店的时候 -->
... ...
packageA/pages/goodsInfo/goodsInfo.wxss
... ... @@ -2968,5 +2968,28 @@ button.custom-service::after{
2968 2968 left: -1000px;
2969 2969 top: -1000px;
2970 2970 }
2971   -
  2971 +
  2972 +.searchbar {
  2973 + height: 95rpx;
  2974 + border-bottom: 2rpx solid rgb(238, 238, 238);
  2975 +}
  2976 +.storeListpadd {
  2977 + padding: 0rpx 31rpx;
  2978 +}
  2979 +.search {
  2980 + width: 125rpx;
  2981 + height: 45rpx;
  2982 + line-height: 45rpx;
  2983 + background-color: rgb(219, 27, 52);
  2984 + border-radius: 30rpx;
  2985 + color: rgb(255, 255, 255);
  2986 +}
  2987 +.inputstore {
  2988 + width: 510rpx;
  2989 + height: 43rpx;
  2990 + line-height: 43rpx;
  2991 + border-radius: 30rpx;
  2992 + border: 2rpx solid rgb(238, 238, 238);
  2993 + padding-left: 30rpx;
  2994 +}
2972 2995  
... ...