Blame view

src/pages/index/index.vue 8.04 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>
          <!-- 商品列表 -->
92d01cfd5   Adam   修正订单数据
87
          <!-- 		<scroll-view
967ce241a   喻鹏   合并冲突
88
89
90
91
92
  		  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"
              >
92d01cfd5   Adam   修正订单数据
100
101
102
103
104
                <Card
                  :goods="goods"
                  :scrollTop="scrollTop"
                  :viewHeight="viewHeight"
                ></Card>
1003c53e8   Adam   go
105
106
              </view>
            </view>
83e446d4d   Adam   修正订单数据
107
108
109
110
            <view class="loading-text">
              <text v-if="isLoading==true">{{loadingText}}</text>
              <text v-else>{{loadedText}}</text>
            </view>
1003c53e8   Adam   go
111
          </view>
92d01cfd5   Adam   修正订单数据
112
          <!-- </scroll-view> -->
1003c53e8   Adam   go
113
114
115
        </view>
      </view>
    </view>
0db291810   BigBoss   “-mcomfirmOder页面
116
117
118
  </template>
  
  <script>
92d01cfd5   Adam   修正订单数据
119
120
121
122
  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): 加入 ...
123
  
1003c53e8   Adam   go
124
125
126
127
  export default {
    components: {
      UniDrawer: UniDrawer,
      HMfilterDropdown: HMfilterDropdown,
92d01cfd5   Adam   修正订单数据
128
      Card: Card
1003c53e8   Adam   go
129
    },
92d01cfd5   Adam   修正订单数据
130
    data() {
1003c53e8   Adam   go
131
      return {
92d01cfd5   Adam   修正订单数据
132
133
134
        indexArr: "",
        valueArr: "",
        isLoading: true, //初始化加载状态
83e446d4d   Adam   修正订单数据
135
136
        loadingText: "data loading...",
        loadedText: "~~到底啦~~",
1003c53e8   Adam   go
137
        filterDropdownValue: [],
c338b4909   BigBoss   完善页面跳转逻辑
138
        filterData: [],
92d01cfd5   Adam   修正订单数据
139
140
141
142
        searchText: "",
        scrollTop: 0,
        viewHeight: uni.getSystemInfoSync().windowHeight
      };
1003c53e8   Adam   go
143
    },
92d01cfd5   Adam   修正订单数据
144
145
    onPageScroll({ scrollTop }) {
      // 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
92d01cfd5   Adam   修正订单数据
146
147
      this.scrollTop = scrollTop;
      console.log("pagescroll====>", this.viewHeight);
967ce241a   喻鹏   合并冲突
148
    },
843fce64e   wulunyi   feat(master): 加入 ...
149
    computed: {
92d01cfd5   Adam   修正订单数据
150
      goodsList() {
c300654f9   范牧   首页部分功能
151
        // 也可以从 getters 获取
156736a2e   尹聃   样式修改
152
        // console.log('index-list=====>',this.$store.state.index.list)
92d01cfd5   Adam   修正订单数据
153
        return this.$store.state.index.list;
156736a2e   尹聃   样式修改
154
      },
92d01cfd5   Adam   修正订单数据
155
156
157
      categoryList() {
        return this.$store.state.index.categoryList;
      }
843fce64e   wulunyi   feat(master): 加入 ...
158
    },
1003c53e8   Adam   go
159
    filters: {
92d01cfd5   Adam   修正订单数据
160
161
162
      outData(value) {
        return JSON.stringify(value);
      }
1003c53e8   Adam   go
163
    },
92d01cfd5   Adam   修正订单数据
164
165
    onLoad() {
      store.dispatch("index/category");
c300654f9   范牧   首页部分功能
166
      // this.getList();
92d01cfd5   Adam   修正订单数据
167
      store.dispatch("index/list");
1003c53e8   Adam   go
168
169
    },
    methods: {
92d01cfd5   Adam   修正订单数据
170
171
      showDrawer(e) {
        this.$refs[e].open();
1003c53e8   Adam   go
172
      },
92d01cfd5   Adam   修正订单数据
173
174
      getList() {
        store.dispatch("index/list");
83e446d4d   Adam   修正订单数据
175
176
        this.isLoading = false; //TODO:::这里不知道怎么改,请同学帮忙写一下。
        //把data里的isLoading 改为false就可以了
c300654f9   范牧   首页部分功能
177
178
179
180
      },
      // search(params) {
      //   this.$store.index.
      // },
92d01cfd5   Adam   修正订单数据
181
182
      closeDrawer(e) {
        this.$refs[e].close();
1003c53e8   Adam   go
183
      },
92d01cfd5   Adam   修正订单数据
184
185
      change(e, type) {
        this[type] = e;
1003c53e8   Adam   go
186
      },
92d01cfd5   Adam   修正订单数据
187
      onClickItem(e) {
1003c53e8   Adam   go
188
        if (this.current !== e) {
92d01cfd5   Adam   修正订单数据
189
          this.current = e;
1003c53e8   Adam   go
190
191
        }
      },
92d01cfd5   Adam   修正订单数据
192
193
      dropDown() {
        console.log("下拉");
1003c53e8   Adam   go
194
      },
92d01cfd5   Adam   修正订单数据
195
196
197
198
      searchKey(e) {
        const { value: keyword } = e.detail;
        this.keyWords = keyword;
        store.dispatch("index/search", {
c300654f9   范牧   首页部分功能
199
          params: {},
92d01cfd5   Adam   修正订单数据
200
201
          keyword
        });
c300654f9   范牧   首页部分功能
202
      },
fb748734c   范牧   首页部分逻辑修改
203
      // 接收菜单结果
92d01cfd5   Adam   修正订单数据
204
205
206
207
      search(e) {
        const { on, value, selectedData } = e;
        let params = {};
        const selectedPayload = {};
467128613   范牧   筛选逻辑添加
208
        for (const key in selectedData) {
323398550   范牧   若干功能添加
209
          if (Object.prototype.hasOwnProperty.call(selectedData, key)) {
92d01cfd5   Adam   修正订单数据
210
            selectedPayload[key] = selectedData[key].toString();
467128613   范牧   筛选逻辑添加
211
212
          }
        }
fb748734c   范牧   首页部分逻辑修改
213
        if (on[0] === 1) {
7d6833f2c   范牧   地址列表
214
          // 若点击全部
92d01cfd5   Adam   修正订单数据
215
216
          this.searchText = "";
          store.dispatch("index/list");
c300654f9   范牧   首页部分功能
217
        } else {
92d01cfd5   Adam   修正订单数据
218
219
220
221
222
          for (let i = 1; i <= on.length; i++) {
            // on[0]是全部
            if (on[i] === 1) {
              // 若该选项被选中
              if (this.categoryList[i].value === "filter") {
fb748734c   范牧   首页部分逻辑修改
223
                params = {
323398550   范牧   若干功能添加
224
                  ...selectedPayload,
92d01cfd5   Adam   修正订单数据
225
226
                  ...params
                };
fb748734c   范牧   首页部分逻辑修改
227
              } else {
92d01cfd5   Adam   修正订单数据
228
                params[`${this.categoryList[i].value}`] = value[i][0];
fb748734c   范牧   首页部分逻辑修改
229
              }
c300654f9   范牧   首页部分功能
230
231
            }
          }
92d01cfd5   Adam   修正订单数据
232
          store.dispatch("index/search", {
fb748734c   范牧   首页部分逻辑修改
233
            params,
92d01cfd5   Adam   修正订单数据
234
235
            keyword: this.keyWords
          });
c300654f9   范牧   首页部分功能
236
        }
1003c53e8   Adam   go
237
      }
fb748734c   范牧   首页部分逻辑修改
238
    }
92d01cfd5   Adam   修正订单数据
239
  };
0db291810   BigBoss   “-mcomfirmOder页面
240
241
242
  </script>
  
  <style lang="scss">
1003c53e8   Adam   go
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
298
299
300
301
302
303
304
305
306
307
  .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页面
308
  
1003c53e8   Adam   go
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
  .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页面
334
  </style>