许静 5 年前
父节点
当前提交
20e1c63a39
共有 7 个文件被更改,包括 143 次插入66 次删除
  1. 3
    3
      config/dev.js
  2. 6
    14
      src/actions/shop.js
  3. 1
    1
      src/app.js
  4. 1
    0
      src/constants/api.js
  5. 111
    45
      src/pages/shop/index.js
  6. 4
    3
      src/pages/shop/index.scss
  7. 17
    0
      src/services/item.js

+ 3
- 3
config/dev.js 查看文件

3
     NODE_ENV: '"development"'
3
     NODE_ENV: '"development"'
4
   },
4
   },
5
   defineConstants: {
5
   defineConstants: {
6
-		// HOST: '"http://47.101.36.130:8085"',//测试
6
+    // HOST: '"http://47.101.36.130:8085"',//测试
7
     // WSS_HOST: '"wss://47.101.36.130:8085"',
7
     // WSS_HOST: '"wss://47.101.36.130:8085"',
8
     // HOST: '"https://dev.jinchengjiaye.com"',//测试
8
     // HOST: '"https://dev.jinchengjiaye.com"',//测试
9
     // WSS_HOST: '"wss://dev.jinchengjiaye.com"',
9
     // WSS_HOST: '"wss://dev.jinchengjiaye.com"',
10
     // HOST: '"https://lt.pawoma.cn"',
10
     // HOST: '"https://lt.pawoma.cn"',
11
     // WSS_HOST: '"wss://lt.pawoma.cn"',
11
     // WSS_HOST: '"wss://lt.pawoma.cn"',
12
-    HOST: '"http://192.168.0.84:8080"',
13
-    WSS_HOST: '"ws://192.168.0.84:8080"',
12
+    HOST: '"http://192.168.0.172:8080"',
13
+    WSS_HOST: '"ws://192.168.0.172:8080"',
14
   },
14
   },
15
   weapp: {},
15
   weapp: {},
16
   h5: {}
16
   h5: {}

+ 6
- 14
src/actions/shop.js 查看文件

20
 import { createAction } from '@utils/redux'
20
 import { createAction } from '@utils/redux'
21
 
21
 
22
 
22
 
23
-/**
24
- * 商品列表
25
- * @param {*} payload
26
- */
27
-export const dispatchGoodsList = payload => createAction({
28
-  url: API_GOODS_LIST,
29
-  type: GOODS_LIST,
30
-  payload
31
-})
23
+
32
 
24
 
33
 
25
 
34
 
26
 
50
 export const dispatchGoodsExchange = id => createAction({
42
 export const dispatchGoodsExchange = id => createAction({
51
   url: `${API_GOODS_EXCHANGE}/${id}`,
43
   url: `${API_GOODS_EXCHANGE}/${id}`,
52
   type: GOODS_EXCHANGE,
44
   type: GOODS_EXCHANGE,
53
-  method:'POST'
45
+  method: 'POST'
54
 })
46
 })
55
 
47
 
56
 
48
 
80
  * @param {*} payload
72
  * @param {*} payload
81
  */
73
  */
82
 export const dispatchPointsRule = payload => createAction({
74
 export const dispatchPointsRule = payload => createAction({
83
-  url:  API_POINTS_RULE,
75
+  url: API_POINTS_RULE,
84
   type: POINTS_RULE,
76
   type: POINTS_RULE,
85
   payload
77
   payload
86
 })
78
 })
90
  * @param {*} payload
82
  * @param {*} payload
91
  */
83
  */
92
 export const dispatchPointsAddress = payload => createAction({
84
 export const dispatchPointsAddress = payload => createAction({
93
-  url:  `${API_POINTS_ADRESS}`,
94
-  type:POINTS_ADRESS,
85
+  url: `${API_POINTS_ADRESS}`,
86
+  type: POINTS_ADRESS,
95
   payload,
87
   payload,
96
-  method:'PUT'
88
+  method: 'PUT'
97
 })
89
 })

+ 1
- 1
src/app.js 查看文件

40
       }
40
       }
41
     },
41
     },
42
     pages: [
42
     pages: [
43
+      'pages/shop/index',
43
       'pages/project/index',
44
       'pages/project/index',
44
       'pages/person/index',
45
       'pages/person/index',
45
       'pages/activity/activity',
46
       'pages/activity/activity',
46
       'pages/person/profile/index',
47
       'pages/person/profile/index',
47
-      'pages/shop/index',
48
       'pages/project/detail/index',
48
       'pages/project/detail/index',
49
       'pages/activity/assemblePage',
49
       'pages/activity/assemblePage',
50
       'pages/activity/assistancePage',
50
       'pages/activity/assistancePage',

+ 1
- 0
src/constants/api.js 查看文件

49
 
49
 
50
 // shop
50
 // shop
51
 export const API_GOODS_LIST = resolvePath('goods')
51
 export const API_GOODS_LIST = resolvePath('goods')
52
+export const API_GOODS_BUILDING = resolvePath('goodsToBuilding')
52
 export const API_GOODS_EXCHANGE = resolvePath('goods/exchange')
53
 export const API_GOODS_EXCHANGE = resolvePath('goods/exchange')
53
 export const API_GOODS_EXCHANGE_RECORDS = resolvePath('taPointsExchange')
54
 export const API_GOODS_EXCHANGE_RECORDS = resolvePath('taPointsExchange')
54
 export const API_POINTS_RECORDS = resolvePath('taPointsRecords')
55
 export const API_POINTS_RECORDS = resolvePath('taPointsRecords')

+ 111
- 45
src/pages/shop/index.js 查看文件

9
 import ready from '@utils/ready'
9
 import ready from '@utils/ready'
10
 // import { ROLE_CODE } from '@constants/user'
10
 // import { ROLE_CODE } from '@constants/user'
11
 import { queryBanners } from '@services/common'
11
 import { queryBanners } from '@services/common'
12
+import { getGoodsBuilding, getGoodsList } from '@services/item'
12
 import { connect } from '@tarojs/redux'
13
 import { connect } from '@tarojs/redux'
13
 import * as actions from '@actions/shop'
14
 import * as actions from '@actions/shop'
14
 // import { queryUserInfo, doUserSignin } from '@services/user'
15
 // import { queryUserInfo, doUserSignin } from '@services/user'
32
       'https://estateagents.oss-cn-shanghai.aliyuncs.com/images/banner/5.jpg'
33
       'https://estateagents.oss-cn-shanghai.aliyuncs.com/images/banner/5.jpg'
33
     ],
34
     ],
34
     user: {},
35
     user: {},
35
-    cityName: ''
36
+    cityName: '',
37
+    goodsBuilding: [],
38
+    goodsList: [],
36
   }
39
   }
37
 
40
 
38
   componentDidShow() {
41
   componentDidShow() {
39
     Taro.showLoading()
42
     Taro.showLoading()
40
     ready.queue(() => {
43
     ready.queue(() => {
41
       this.loadBannerList()
44
       this.loadBannerList()
42
-      this.loadList()
45
+      this.loadGoodsBuilding()
46
+
43
       //    this.loadCity()
47
       //    this.loadCity()
44
       // this.loadUserInfo()
48
       // this.loadUserInfo()
45
     })
49
     })
86
     })
90
     })
87
   }
91
   }
88
 
92
 
89
-  onSearch(val) {
90
-    // App.zhuge.track('搜索商品', {
91
-    //   '商品名称': val
92
-    // })
93
-    this.setState({
94
-      keywords: val,
95
-    }, this.loadList)
96
-  }
93
+  // onSearch(val) {
94
+  //   // App.zhuge.track('搜索商品', {
95
+  //   //   '商品名称': val
96
+  //   // })
97
+  //   this.setState({
98
+  //     keywords: val,
99
+  //   }, this.loadList)
100
+  // }
97
 
101
 
98
   loadList() {
102
   loadList() {
99
-    // const payload = { buildingId: '369b7d7e5bc6e6b91f2e8f5e775035e2' }
103
+
100
     Taro.showLoading()
104
     Taro.showLoading()
101
-    this.props.dispatchGoodsList().then(res => {
105
+    const params = {
106
+      pageNum: '1',
107
+      pageSize: '9999',
108
+      buildingId: this.state.goodsBuilding[0].buildingId
109
+    }
110
+    console.log(params, "params")
111
+    getGoodsList(params).then(res => {
112
+      this.setState({
113
+        goodsList: res.records || []
114
+      })
102
       Taro.hideLoading()
115
       Taro.hideLoading()
103
     })
116
     })
104
   }
117
   }
118
+  loadGoodsBuilding() {
119
+    getGoodsBuilding().then(res => {
120
+
121
+      res.map(item => {
122
+        item.title = item.buildingName
123
+
124
+      })
125
+      this.setState({
126
+        goodsBuilding: res || []
127
+
128
+      }, () => {
129
+        this.loadList()
130
+      }
131
+      )
132
+    })
133
+  }
134
+
135
+  handleClick(value) {
136
+
137
+    const payload = {
138
+      pageNum: '1',
139
+      pageSize: '9999',
140
+      buildingId: this.state.goodsBuilding[value].buildingId
141
+    }
142
+    getGoodsList(payload).then(res => {
143
+      this.setState({
144
+        goodsList: res.records || []
145
+      })
146
+      console.log(res, "9999999999999999999999")
147
+    })
148
+    this.setState({
149
+      current: value
150
+    })
151
+  }
105
 
152
 
106
   onViewDetail(item) {
153
   onViewDetail(item) {
107
     Taro.navigateTo({
154
     Taro.navigateTo({
155
     current: 0,
202
     current: 0,
156
   }
203
   }
157
 
204
 
158
-  handleClick(value) {
159
-    this.setState({
160
-      current: value
161
-    })
162
-  }
205
+
163
 
206
 
164
   renderGoods() {
207
   renderGoods() {
165
     const { goods: { records = [] } } = this.props
208
     const { goods: { records = [] } } = this.props
209
+    const { goodsList, goodsBuilding, current } = this.state
166
 
210
 
167
     return (
211
     return (
168
 
212
 
213
+
214
+
169
       <View className="list__wrap">
215
       <View className="list__wrap">
170
-        <AtTabs current={this.state.current} tabList={[{ title: '热门活动' }, { title: '最新资讯' }]} onClick={this.handleClick.bind(this)}>
171
-          <AtTabsPane current={this.state.current} index={0} >
172
-            <View >
173
-
174
-              {
175
-                records.map(item => (
176
-                  <View className="item" key={item.goodsId} onClick={this.onViewDetail.bind(this, item)}>
177
-                    <Image className="item__img" src={item.imgUrl} />
178
-                    <View className="item__title">{item.goodsName}</View>
179
-                    <View className="item__des">
180
-                      <View>
181
-                        剩余数量{item.inventory}
182
-                      </View>
183
-                      <View >
184
-                        <Text className="item__jifen">{item.pointPrice}</Text>积分
185
-                </View>
216
+        {
217
+
218
+          goodsBuilding && goodsBuilding.length < 2 &&
219
+          <View>
220
+            <View className="hot_title">热门商品</View>
221
+            {
222
+              goodsList.map(item => (
223
+                <View className="item" key={item.goodsId} onClick={this.onViewDetail.bind(this, item)}>
224
+                  <Image className="item__img" src={item.imgUrl} />
225
+                  <View className="item__title">{item.goodsName}</View>
226
+                  <View className="item__des">
227
+                    <View>
228
+                      剩余数量{item.inventory}
186
                     </View>
229
                     </View>
187
-
230
+                    <View >
231
+                      <Text className="item__jifen">{item.pointPrice}</Text>积分
232
+                </View>
188
                   </View>
233
                   </View>
189
-                ))
190
-              }
191
-
192
-            </View>
193
-          </AtTabsPane>
194
-          <AtTabsPane current={this.state.current} index={1}>
195
-            <View >
196
-              123
234
+                </View>
235
+              ))
236
+            }
197
           </View>
237
           </View>
198
-          </AtTabsPane>
199
-        </AtTabs>
238
+        }
239
+        {
240
+          goodsBuilding && goodsBuilding.length > 2 &&
241
+          <AtTabs current={current} tabList={goodsBuilding} onClick={this.handleClick.bind(this)}>
242
+            <AtTabsPane current={current}  >
243
+              <View>
244
+                {
245
+                  goodsList.map(item => (
246
+                    <View className="item" key={item.goodsId} onClick={this.onViewDetail.bind(this, item)}>
247
+                      <Image className="item__img" src={item.imgUrl} />
248
+                      <View className="item__title">{item.goodsName}</View>
249
+                      <View className="item__des">
250
+                        <View>
251
+                          剩余数量{item.inventory}
252
+                        </View>
253
+                        <View >
254
+                          <Text className="item__jifen">{item.pointPrice}</Text>积分
255
+                </View>
256
+                      </View>
257
+
258
+                    </View>
259
+                  ))
260
+                }
261
+
262
+              </View>
263
+            </AtTabsPane>
264
+          </AtTabs>
265
+        }
200
       </View>
266
       </View>
201
 
267
 
202
 
268
 
247
           </View>
313
           </View>
248
 
314
 
249
 
315
 
250
-          {/* <View className="hot_title">热门商品</View> */}
316
+
251
           <Banner list={this.state.bannerList} indicatorDots={false}></Banner>
317
           <Banner list={this.state.bannerList} indicatorDots={false}></Banner>
252
 
318
 
253
           {this.renderGoods()}
319
           {this.renderGoods()}

+ 4
- 3
src/pages/shop/index.scss 查看文件

143
 .list__wrap {
143
 .list__wrap {
144
   margin-top: 20px;
144
   margin-top: 20px;
145
   overflow: hidden;
145
   overflow: hidden;
146
-  padding: 20px 30px;
146
+  padding: 20px;
147
   background-color: #fff;
147
   background-color: #fff;
148
   .at-tabs__item{
148
   .at-tabs__item{
149
     display: block;
149
     display: block;
164
 
164
 
165
   .item {
165
   .item {
166
     background: white;
166
     background: white;
167
-    width: 320px;
167
+    width: 335px;
168
     position: relative;
168
     position: relative;
169
-    margin: 15px 0;
169
+    display: inline-block;
170
+    margin: 15px 10px;
170
     height: 440px;
171
     height: 440px;
171
     box-shadow:0px 6px 10px 0px rgba(0,0,0,0.12);
172
     box-shadow:0px 6px 10px 0px rgba(0,0,0,0.12);
172
     border-radius:12px;
173
     border-radius:12px;

+ 17
- 0
src/services/item.js 查看文件

7
   API_ITEMS_SHARE,
7
   API_ITEMS_SHARE,
8
   API_ITEMS_TYPE,
8
   API_ITEMS_TYPE,
9
   API_PROJECT_FAVOR,
9
   API_PROJECT_FAVOR,
10
+  API_GOODS_BUILDING,
11
+  API_GOODS_LIST
10
 } from '@constants/api'
12
 } from '@constants/api'
11
 
13
 
12
 /**
14
 /**
14
  * @param {*} payload 
16
  * @param {*} payload 
15
  */
17
  */
16
 export const getItemList = payload => fetch({ url: API_ITEMS_LIST, payload })
18
 export const getItemList = payload => fetch({ url: API_ITEMS_LIST, payload })
19
+/**
20
+ * 获取楼盘商品列表
21
+ * @param {*} payload 
22
+ */
23
+export const getGoodsBuilding = payload => fetch({ url: API_GOODS_BUILDING, payload })
24
+/**
25
+ * 获取楼盘商品列表
26
+ * @param {*} payload 
27
+ */
28
+export const getGoodsList = payload => fetch({ url: API_GOODS_LIST, payload })
29
+/**
30
+ * 商品列表
31
+ * @param {*} payload
32
+ */
33
+
17
 
34
 
18
 /**
35
 /**
19
  * 获取项目详情
36
  * 获取项目详情