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
  export default {
    components: {
      UniDrawer: UniDrawer,
      HMfilterDropdown: HMfilterDropdown,
156736a2e   尹聃   样式修改
121
      Card: Card,
1003c53e8   Adam   go
122
    },
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 获取
156736a2e   尹聃   样式修改
144
        // console.log('index-list=====>',this.$store.state.index.list)
fb748734c   范牧   首页部分逻辑修改
145
        return this.$store.state.index.list
c300654f9   范牧   首页部分功能
146
      },
fb748734c   范牧   首页部分逻辑修改
147
148
      categoryList () {
        return this.$store.state.index.categoryList
156736a2e   尹聃   样式修改
149
      },
843fce64e   wulunyi   feat(master): 加入 ...
150
    },
1003c53e8   Adam   go
151
    filters: {
fb748734c   范牧   首页部分逻辑修改
152
153
      outData (value) {
        return JSON.stringify(value)
156736a2e   尹聃   样式修改
154
      },
1003c53e8   Adam   go
155
    },
fb748734c   范牧   首页部分逻辑修改
156
157
    onLoad () {
      store.dispatch('index/category')
c300654f9   范牧   首页部分功能
158
      // this.getList();
fb748734c   范牧   首页部分逻辑修改
159
      store.dispatch('index/list')
1003c53e8   Adam   go
160
161
    },
    methods: {
fb748734c   范牧   首页部分逻辑修改
162
163
      showDrawer (e) {
        this.$refs[e].open()
1003c53e8   Adam   go
164
      },
fb748734c   范牧   首页部分逻辑修改
165
166
      getList () {
        store.dispatch('index/list')
c300654f9   范牧   首页部分功能
167
168
169
170
      },
      // search(params) {
      //   this.$store.index.
      // },
fb748734c   范牧   首页部分逻辑修改
171
172
      closeDrawer (e) {
        this.$refs[e].close()
1003c53e8   Adam   go
173
      },
fb748734c   范牧   首页部分逻辑修改
174
175
      change (e, type) {
        this[type] = e
1003c53e8   Adam   go
176
      },
fb748734c   范牧   首页部分逻辑修改
177
      onClickItem (e) {
1003c53e8   Adam   go
178
        if (this.current !== e) {
fb748734c   范牧   首页部分逻辑修改
179
          this.current = e
1003c53e8   Adam   go
180
181
        }
      },
fb748734c   范牧   首页部分逻辑修改
182
183
      dropDown () {
        console.log('下拉')
1003c53e8   Adam   go
184
      },
fb748734c   范牧   首页部分逻辑修改
185
186
187
      searchKey (e) {
        const { value: keyword } = e.detail
        this.keyWords = keyword
c300654f9   范牧   首页部分功能
188
189
        store.dispatch('index/search', {
          params: {},
156736a2e   尹聃   样式修改
190
          keyword,
fb748734c   范牧   首页部分逻辑修改
191
        })
c300654f9   范牧   首页部分功能
192
      },
fb748734c   范牧   首页部分逻辑修改
193
194
195
      // 接收菜单结果
      search (e) {
        const { on, value, selectedData } = e
c300654f9   范牧   首页部分功能
196
        let params = {}
323398550   范牧   若干功能添加
197
        const selectedPayload = {}
467128613   范牧   筛选逻辑添加
198
        for (const key in selectedData) {
323398550   范牧   若干功能添加
199
200
          if (Object.prototype.hasOwnProperty.call(selectedData, key)) {
            selectedPayload[key] = selectedData[key].toString()
467128613   范牧   筛选逻辑添加
201
202
          }
        }
fb748734c   范牧   首页部分逻辑修改
203
        if (on[0] === 1) {
7d6833f2c   范牧   地址列表
204
          // 若点击全部
fb748734c   范牧   首页部分逻辑修改
205
206
          this.searchText = ''
          store.dispatch('index/list')
c300654f9   范牧   首页部分功能
207
        } else {
fb748734c   范牧   首页部分逻辑修改
208
209
210
          for (let i = 1; i <= on.length; i++) { // on[0]是全部
            if (on[i] === 1) { // 若该选项被选中
              if (this.categoryList[i].value === 'filter') {
fb748734c   范牧   首页部分逻辑修改
211
                params = {
323398550   范牧   若干功能添加
212
                  ...selectedPayload,
156736a2e   尹聃   样式修改
213
                  ...params,
fb748734c   范牧   首页部分逻辑修改
214
215
216
217
                }
              } else {
                params[`${this.categoryList[i].value}`] = value[i][0]
              }
c300654f9   范牧   首页部分功能
218
219
220
            }
          }
          store.dispatch('index/search', {
fb748734c   范牧   首页部分逻辑修改
221
            params,
156736a2e   尹聃   样式修改
222
            keyword: this.keyWords,
fb748734c   范牧   首页部分逻辑修改
223
          })
c300654f9   范牧   首页部分功能
224
        }
1003c53e8   Adam   go
225
      }
fb748734c   范牧   首页部分逻辑修改
226
    }
0508098fe   BigBoss   首页筛选列表接口获取
227
  
fb748734c   范牧   首页部分逻辑修改
228
  }
0db291810   BigBoss   “-mcomfirmOder页面
229
230
231
  </script>
  
  <style lang="scss">
1003c53e8   Adam   go
232
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
  .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页面
297
  
1003c53e8   Adam   go
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
  .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页面
323
  </style>