Blame view

src/pages/index/index.vue 7.58 KB
0db291810   BigBoss   “-mcomfirmOder页面
1
  <template>
1003c53e8   Adam   go
2
3
4
5
    <view class="content">
      <view class="header">
        <!-- 搜索-->
        <view class="searchBar">
fb748734c   范牧   首页部分逻辑修改
6
7
8
9
10
          <icon
            class="searchIcon"
            type="search"
            size="14"
          ></icon>
c300654f9   范牧   首页部分功能
11
          <input
fb748734c   范牧   首页部分逻辑修改
12
13
14
15
16
            v-model="searchText"
            class="searchIpt"
            placeholder="老花镜"
            confirm-type="search"
            @blur="searchKey"
c300654f9   范牧   首页部分功能
17
          />
1003c53e8   Adam   go
18
19
20
        </view>
  
        <!-- 筛选栏-->
c300654f9   范牧   首页部分功能
21
        <!-- <view class="screenBar">
fb748734c   范牧   首页部分逻辑修改
22
23
24
25
26
          <view
            v-for="item in screenItems"
            :key="item.current"
            @click="onClickItem(item.current)"
          >
1003c53e8   Adam   go
27
28
29
30
31
32
33
            <view
              class="screenItem"
              v-bind:class="{ active: current === item.current }"
              v-if="item.current === 2"
              @click="dropDown"
            >
              {{ item.text }}
fb748734c   范牧   首页部分逻辑修改
34
35
36
37
              <icon
                type="info"
                size="14"
              ></icon>
1003c53e8   Adam   go
38
39
40
41
42
43
44
45
            </view>
            <view
              class="screenItem"
              v-bind:class="{ active: current === item.current }"
              v-if="item.current === 4"
              @click="showDrawer('showRight')"
            >
              {{ item.text }}
fb748734c   范牧   首页部分逻辑修改
46
47
48
49
              <icon
                type="info"
                size="14"
              ></icon>
1003c53e8   Adam   go
50
51
52
53
54
55
56
57
            </view>
            <view v-if="item.current !== 2&&item.current!==4">
              <view
                class="screenItem"
                v-bind:class="{ active: current === item.current }"
              >{{ item.text }}</view>
            </view>
          </view>
fb748734c   范牧   首页部分逻辑修改
58
        </view> -->
1003c53e8   Adam   go
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
      </view>
      <Uni-drawer
        ref="showRight"
        mask="true"
        maskClick="true"
        mode="right"
        :width="320"
        @change="change($event,'showRight')"
      >
        <view class="close">
          <view @click="closeDrawer('showRight')">
            <text class="word-btn-white">关闭</text>
          </view>
        </view>
      </Uni-drawer>
  
      <!-- 筛选菜单-->
      <view class="content-wrap">
        <view>
fb748734c   范牧   首页部分逻辑修改
78
          <HMfilterDropdown
c300654f9   范牧   首页部分功能
79
            :filterData="categoryList"
1003c53e8   Adam   go
80
81
            :defaultSelected="filterDropdownValue"
            :updateMenuName="true"
c300654f9   范牧   首页部分功能
82
83
            @search="search"
            @getList="getList"
1003c53e8   Adam   go
84
85
86
            data-format="Object"
          ></HMfilterDropdown>
          <!-- 商品列表 -->
967ce241a   喻鹏   合并冲突
87
88
89
90
91
92
  <!-- 		<scroll-view
  		  enable-flex
  		  @scrolltolower="handleScrolltolower"
  		  scroll-y
  		  style="height: 1000px;margin-bottom: 20px;"
  		>	 -->
1003c53e8   Adam   go
93
94
          <view class="goods-list">
            <view class="product-list">
fb748734c   范牧   首页部分逻辑修改
95
96
97
98
99
              <view
                class="product"
                v-for="(goods) in goodsList"
                :key="goods.id"
              >
967ce241a   喻鹏   合并冲突
100
                <Card :goods="goods" :scrollTop="scrollTop" :viewHeight="viewHeight"></Card>
1003c53e8   Adam   go
101
102
103
104
              </view>
            </view>
            <view class="loading-text">{{loadingText}}</view>
          </view>
967ce241a   喻鹏   合并冲突
105
  		<!-- </scroll-view> -->
1003c53e8   Adam   go
106
107
108
        </view>
      </view>
    </view>
0db291810   BigBoss   “-mcomfirmOder页面
109
110
111
  </template>
  
  <script>
fb748734c   范牧   首页部分逻辑修改
112
113
114
115
  import UniDrawer from '@/components/UniDrawer/UniDrawer.vue'
  import Card from '@/components/CommodityCard/CommodityCard.vue'
  import HMfilterDropdown from '@/components/HMFilterDropdown/HMFilterDropdown.vue'
  import store from '@/store'
843fce64e   wulunyi   feat(master): 加入 ...
116
  
1003c53e8   Adam   go
117
118
119
120
121
122
  export default {
    components: {
      UniDrawer: UniDrawer,
      HMfilterDropdown: HMfilterDropdown,
      Card: Card
    },
fb748734c   范牧   首页部分逻辑修改
123
    data () {
1003c53e8   Adam   go
124
      return {
fb748734c   范牧   首页部分逻辑修改
125
126
127
        indexArr: '',
        valueArr: '',
        loadingText: '~~到底了~~',
1003c53e8   Adam   go
128
        filterDropdownValue: [],
c338b4909   BigBoss   完善页面跳转逻辑
129
        filterData: [],
967ce241a   喻鹏   合并冲突
130
131
132
        searchText: '',
  	  scrollTop: 0,
  	  viewHeight: uni.getSystemInfoSync().windowHeight,
fb748734c   范牧   首页部分逻辑修改
133
      }
1003c53e8   Adam   go
134
    },
967ce241a   喻鹏   合并冲突
135
136
137
138
139
140
    onPageScroll({scrollTop}) {
    	  // 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
  	  
    	  this.scrollTop = scrollTop;
  	  console.log('pagescroll====>',this.viewHeight)
    },
843fce64e   wulunyi   feat(master): 加入 ...
141
    computed: {
fb748734c   范牧   首页部分逻辑修改
142
      goodsList () {
c300654f9   范牧   首页部分功能
143
        // 也可以从 getters 获取
967ce241a   喻鹏   合并冲突
144
145
  	  // console.log('index-list=====>',this.$store.state.index.pageList)
  	  
fb748734c   范牧   首页部分逻辑修改
146
        return this.$store.state.index.list
c300654f9   范牧   首页部分功能
147
      },
fb748734c   范牧   首页部分逻辑修改
148
149
150
      categoryList () {
        return this.$store.state.index.categoryList
      }
843fce64e   wulunyi   feat(master): 加入 ...
151
    },
1003c53e8   Adam   go
152
    filters: {
fb748734c   范牧   首页部分逻辑修改
153
154
      outData (value) {
        return JSON.stringify(value)
1003c53e8   Adam   go
155
156
      }
    },
fb748734c   范牧   首页部分逻辑修改
157
158
    onLoad () {
      store.dispatch('index/category')
c300654f9   范牧   首页部分功能
159
      // this.getList();
fb748734c   范牧   首页部分逻辑修改
160
      store.dispatch('index/list')
1003c53e8   Adam   go
161
162
    },
    methods: {
fb748734c   范牧   首页部分逻辑修改
163
164
      showDrawer (e) {
        this.$refs[e].open()
1003c53e8   Adam   go
165
      },
fb748734c   范牧   首页部分逻辑修改
166
167
      getList () {
        store.dispatch('index/list')
c300654f9   范牧   首页部分功能
168
169
170
171
      },
      // search(params) {
      //   this.$store.index.
      // },
fb748734c   范牧   首页部分逻辑修改
172
173
      closeDrawer (e) {
        this.$refs[e].close()
1003c53e8   Adam   go
174
      },
fb748734c   范牧   首页部分逻辑修改
175
176
      change (e, type) {
        this[type] = e
1003c53e8   Adam   go
177
      },
fb748734c   范牧   首页部分逻辑修改
178
      onClickItem (e) {
1003c53e8   Adam   go
179
        if (this.current !== e) {
fb748734c   范牧   首页部分逻辑修改
180
          this.current = e
1003c53e8   Adam   go
181
182
        }
      },
fb748734c   范牧   首页部分逻辑修改
183
184
      dropDown () {
        console.log('下拉')
1003c53e8   Adam   go
185
      },
fb748734c   范牧   首页部分逻辑修改
186
187
188
      searchKey (e) {
        const { value: keyword } = e.detail
        this.keyWords = keyword
c300654f9   范牧   首页部分功能
189
190
        store.dispatch('index/search', {
          params: {},
fb748734c   范牧   首页部分逻辑修改
191
192
          keyword
        })
c300654f9   范牧   首页部分功能
193
      },
fb748734c   范牧   首页部分逻辑修改
194
195
196
      // 接收菜单结果
      search (e) {
        const { on, value, selectedData } = e
c300654f9   范牧   首页部分功能
197
        let params = {}
323398550   范牧   若干功能添加
198
        const selectedPayload = {}
467128613   范牧   筛选逻辑添加
199
        for (const key in selectedData) {
323398550   范牧   若干功能添加
200
201
          if (Object.prototype.hasOwnProperty.call(selectedData, key)) {
            selectedPayload[key] = selectedData[key].toString()
467128613   范牧   筛选逻辑添加
202
203
          }
        }
fb748734c   范牧   首页部分逻辑修改
204
        if (on[0] === 1) {
7d6833f2c   范牧   地址列表
205
          // 若点击全部
fb748734c   范牧   首页部分逻辑修改
206
207
          this.searchText = ''
          store.dispatch('index/list')
c300654f9   范牧   首页部分功能
208
        } else {
fb748734c   范牧   首页部分逻辑修改
209
210
211
          for (let i = 1; i <= on.length; i++) { // on[0]是全部
            if (on[i] === 1) { // 若该选项被选中
              if (this.categoryList[i].value === 'filter') {
fb748734c   范牧   首页部分逻辑修改
212
                params = {
323398550   范牧   若干功能添加
213
                  ...selectedPayload,
fb748734c   范牧   首页部分逻辑修改
214
215
216
217
218
                  ...params
                }
              } else {
                params[`${this.categoryList[i].value}`] = value[i][0]
              }
c300654f9   范牧   首页部分功能
219
220
221
            }
          }
          store.dispatch('index/search', {
fb748734c   范牧   首页部分逻辑修改
222
            params,
c300654f9   范牧   首页部分功能
223
            keyword: this.keyWords
fb748734c   范牧   首页部分逻辑修改
224
          })
c300654f9   范牧   首页部分功能
225
        }
1003c53e8   Adam   go
226
      }
fb748734c   范牧   首页部分逻辑修改
227
    }
0508098fe   BigBoss   首页筛选列表接口获取
228
  
fb748734c   范牧   首页部分逻辑修改
229
  }
0db291810   BigBoss   “-mcomfirmOder页面
230
231
232
  </script>
  
  <style lang="scss">
1003c53e8   Adam   go
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
  .content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #f7f6f6;
  }
  .header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #f7f6f6;
    height: 178rpx;
    width: 100%;
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
  }
  .searchBar {
    width: 670rpx;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    padding: 0rpx 16rpx;
    border: 1px solid #ff6b4a;
    border-radius: 8rpx;
    background-color: #ffffff;
  }
  
  .searchIpt {
    height: 68rpx;
    width: 670rpx;
    padding: 16rpx;
    font-size: 28rpx;
    box-sizing: border-box;
  }
  .screenBar {
    width: 670rpx;
    height: 110rpx;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    color: #333333;
    font-size: 32rpx;
  }
  .active {
    color: #ff6b4a;
  }
  .screenItem {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .content-wrap {
    width: 100%;
    background-color: #ffffff;
  }
  
  .HMfilterDropdown {
    top: 178rpx !important;
  }
0db291810   BigBoss   “-mcomfirmOder页面
298
  
1003c53e8   Adam   go
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
  .goods-list {
    padding-top: 286rpx;
    .loading-text {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 30px;
      color: #979797;
      font-size: 12px;
    }
    .product-list {
      width: 92%;
      padding: 0 4% 3vw 4%;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      .product {
        width: 48%;
        margin: 0 0 20rpx 0;
        background: #ffffff;
        border: 1px solid #f2f2f2;
      }
    }
  }
0db291810   BigBoss   “-mcomfirmOder页面
324
  </style>