张延森 5 anos atrás
pai
commit
78103a6841

+ 9
- 2
project.config.json Ver arquivo

@@ -48,8 +48,15 @@
48 48
 			"list": [
49 49
 				{
50 50
 					"id": -1,
51
-					"name": "pages/houseList/index",
52
-					"pathName": "onlineSelling/pages/houseList/index",
51
+					"name": "pages/help/index",
52
+					"pathName": "onlineSelling/pages/help/index",
53
+					"query": "",
54
+					"scene": null
55
+				},
56
+				{
57
+					"id": 1,
58
+					"name": "pages/records/index",
59
+					"pathName": "onlineSelling/pages/records/index",
53 60
 					"query": "",
54 61
 					"scene": null
55 62
 				}

+ 2
- 0
src/app.js Ver arquivo

@@ -118,6 +118,8 @@ class App extends Component {
118 118
         root: "onlineSelling",
119 119
         pages: [
120 120
           'pages/houseList/index',
121
+          'pages/help/index',
122
+          'pages/records/index',
121 123
         ],
122 124
       }
123 125
     ],

BIN
src/onlineSelling/assets/fail.png Ver arquivo


BIN
src/onlineSelling/assets/success.png Ver arquivo


+ 7
- 0
src/onlineSelling/components/Blank/index.js Ver arquivo

@@ -0,0 +1,7 @@
1
+
2
+import { View } from '@tarojs/components'
3
+import './index.scss'
4
+
5
+export default function Blank(props) {
6
+  return (<View className="blank"></View>)
7
+}

+ 9
- 0
src/onlineSelling/components/Blank/index.scss Ver arquivo

@@ -0,0 +1,9 @@
1
+
2
+.blank {
3
+  width: 280rpx;
4
+  height: 220rpx;
5
+  background: url('../../assets/norecord.png');
6
+  background-size: cover;
7
+  transform: translateY(50%);
8
+  margin: 0 auto;
9
+}

+ 34
- 0
src/onlineSelling/components/HotBlock/index.js Ver arquivo

@@ -0,0 +1,34 @@
1
+import { View } from "@tarojs/components";
2
+import './index.scss'
3
+
4
+function computeLevel (num) {
5
+  switch (true) {
6
+    case num >= 200:
7
+      return 13;
8
+    case num > 100:
9
+      return 12;
10
+    case num > 50:
11
+      return 11;
12
+    case num > 40:
13
+      return 10;
14
+    case num > 30:
15
+      return 9;
16
+    case num > 20:
17
+      return 8;
18
+    case num > 20:
19
+      return 8;
20
+    case num > 10:
21
+      return 7;
22
+    case num >= 6:
23
+      return 6;
24
+    case num > 0:
25
+      return num;
26
+    default:
27
+      return 0;
28
+  }
29
+}
30
+
31
+export default function HotBlock(props) {
32
+  const level = computeLevel(props.number)
33
+  return (<View className={`hotblock bkg-${level}`}>{props.children}</View>)
34
+}

+ 45
- 0
src/onlineSelling/components/HotBlock/index.scss Ver arquivo

@@ -0,0 +1,45 @@
1
+
2
+.hotblock {
3
+  &.bkg-0 {
4
+    background:#F8F8F8;
5
+  }
6
+  &.bkg-1 {
7
+    background:#F9DED1;
8
+  }
9
+  &.bkg-2 {
10
+    background:#F6D4C3;
11
+  }
12
+  &.bkg-3 {
13
+    background:#F8C6AD;
14
+  }
15
+  &.bkg-4 {
16
+    background:#FDDBDB;
17
+  }
18
+  &.bkg-5 {
19
+    background:#F9CCCC;
20
+  }
21
+  &.bkg-6 {
22
+    background:#F9B7B7;
23
+  }
24
+  &.bkg-7 {
25
+    background:#FFADAD;
26
+  }
27
+  &.bkg-8 {
28
+    background:#F59683;
29
+  }
30
+  &.bkg-9 {
31
+    background:#F7836C;
32
+  }
33
+  &.bkg-10 {
34
+    background:#F97459;
35
+  }
36
+  &.bkg-11 {
37
+    background:#FC6749;
38
+  }
39
+  &.bkg-12 {
40
+    background:#FD4E2B;
41
+  }
42
+  &.bkg-13 {
43
+    background:#FE2E2E;
44
+  }
45
+}

+ 40
- 0
src/onlineSelling/components/HouseCard/index.js Ver arquivo

@@ -0,0 +1,40 @@
1
+import { View, Image, Text } from "@tarojs/components";
2
+import { transferImage } from '@/utils/tools'
3
+import dayjs from 'dayjs'
4
+
5
+import './index.scss'
6
+
7
+export default function HouseCard(props) {
8
+  const {
9
+    buildingName,
10
+    blockName,
11
+    unitName,
12
+    roomName,
13
+    aerialViewImg,
14
+    price,
15
+    createDate,
16
+    status,
17
+  } = props.summary || {}
18
+
19
+  const title = `${buildingName} ${blockName} ${unitName} ${roomName}`
20
+  const thumb = transferImage(aerialViewImg)
21
+  const showDT = dayjs(createDate).format('YYYY/MM/DD')
22
+
23
+  return (
24
+    <View className="housecard">
25
+      <View className="head">
26
+        <Image className="thumb" src={thumb} mode="aspectFit" />
27
+      </View>
28
+      <View className="body">
29
+      <View className="badge">已预选</View>
30
+      <View className="title">{title}</View>
31
+        <View className="subtitle">
32
+          <Text>现价</Text>
33
+          <Text className="red">{price}</Text>
34
+        </View>
35
+        <View className="meta">{showDT}</View>
36
+        <View className="sign bg-success"></View>
37
+      </View>
38
+    </View>
39
+  )
40
+}

+ 73
- 0
src/onlineSelling/components/HouseCard/index.scss Ver arquivo

@@ -0,0 +1,73 @@
1
+.housecard {
2
+  width: calc(100% - 32rpx);
3
+  height: 250rpx;
4
+  background:#fff;
5
+  border-radius: 8rpx;
6
+  display: flex;
7
+  margin: 16rpx;
8
+  box-shadow: 0 4rpx 15rpx 1rpx rgba(0, 0, 0, 0.12);
9
+
10
+  .head {
11
+    width: 36%;
12
+    flex: none;
13
+    border-right: 2rpx solid rgba(0, 0, 0, 0.04);
14
+    padding: 10rpx;
15
+
16
+    .thumb {
17
+      width: 100%;
18
+      height: 100%;
19
+    }
20
+  }
21
+
22
+  .body {
23
+    width: 64%;
24
+    flex: none;
25
+    position: relative;
26
+    line-height: 40rpx;
27
+    padding: 20rpx 10rpx;
28
+
29
+    .badge {
30
+      font-size: 30rpx;
31
+      color: #BB9C79;
32
+      text-align: right;
33
+    }
34
+
35
+    .title {
36
+      font-size: 26rpx;
37
+      font-weight: bold;
38
+      color:#333;
39
+    }
40
+
41
+    .subtitle {
42
+      font-size: 28rpx;
43
+      color:#333;
44
+    }
45
+
46
+    .meta {
47
+      font-size: 24rpx;
48
+      color:#999;
49
+    }
50
+
51
+    .sign {
52
+      width: 86rpx;
53
+      height: 86rpx;
54
+      position: absolute;
55
+      right: 10rpx;
56
+      bottom: 10rpx;
57
+    }
58
+  }
59
+
60
+  .red {
61
+    color: #FF3C3C;
62
+  }
63
+
64
+  .bg-success {
65
+    background: url(../../assets/success.png);
66
+    background-size: cover;
67
+  }
68
+
69
+  .bg-fail {
70
+    background: url(../../assets/fail.png);
71
+    background-size: cover;
72
+  }
73
+}

+ 9
- 23
src/onlineSelling/components/HouseGrid/Room.js Ver arquivo

@@ -1,32 +1,18 @@
1 1
 import { View } from "@tarojs/components";
2
+import HotBlock from "../HotBlock";
2 3
 import './room.scss'
3 4
 
4
-function computeLevel (num) {
5
-  switch (true) {
6
-    case num >= 40:
7
-      return 5;
8
-    case num >= 16:
9
-      return 4;
10
-    case num >= 3:
11
-      return 3;
12
-    case num >= 1:
13
-      return 2;
14
-    default:
15
-      return 1;
16
-  }
17
-}
18
-
19 5
 export default function Room(props) {
20 6
   const { roomNumber, totalNum, price, apartmentName } = props.dataset || {}
21 7
   const personNum = `(${totalNum}人)`
22
-  const colorBG = computeLevel(totalNum)
23
-
24 8
   return (
25
-    <View className={`room bkg-${colorBG}`}>
26
-      <View className="warn">{roomNumber}</View>
27
-      <View className="warn">{personNum}</View>
28
-      <View className="info">{price}</View>
29
-      <View className="tip">{apartmentName}</View>
30
-    </View>
9
+    <HotBlock number={totalNum}>
10
+      <View className="room">
11
+        <View className="warn">{roomNumber}</View>
12
+        <View className="warn">{personNum}</View>
13
+        <View className="info">{price}</View>
14
+        <View className="info">{apartmentName}</View>
15
+      </View>
16
+    </HotBlock>
31 17
   )
32 18
 }

+ 1
- 1
src/onlineSelling/components/HouseGrid/floor.scss Ver arquivo

@@ -17,7 +17,7 @@
17 17
     flex-wrap: wrap;
18 18
 
19 19
     .item {
20
-      width: 32%;
20
+      width: 31%;
21 21
       flex: none;
22 22
       margin-right: 2%;
23 23
       

+ 1
- 17
src/onlineSelling/components/HouseGrid/room.scss Ver arquivo

@@ -10,26 +10,10 @@
10 10
   }
11 11
 
12 12
   .warn {
13
-    color: #E31F05;
13
+    color: #730000;
14 14
   }
15 15
 
16 16
   .tip {
17 17
     color: #BB9C79;
18 18
   }
19
-
20
-  &.bkg-1 {
21
-    background:rgba(248,248,248,1);
22
-  }
23
-  &.bkg-2 {
24
-    background:rgba(249,222,209,1);
25
-  }
26
-  &.bkg-3 {
27
-    background:rgba(248,198,173,1);
28
-  }
29
-  &.bkg-4 {
30
-    background:rgba(255,173,173,1);
31
-  }
32
-  &.bkg-5 {
33
-    background:rgba(249,142,142,1);
34
-  }
35 19
 }

+ 70
- 0
src/onlineSelling/components/ScrollMessage/index.js Ver arquivo

@@ -0,0 +1,70 @@
1
+import Taro, { Component, render } from '@tarojs/taro'
2
+import { Swiper, View, SwiperItem } from "@tarojs/components";
3
+import NamedIcon from '../NamedIcon';
4
+import { formateLeftTime } from '@/utils/tools'
5
+import dayjs from 'dayjs'
6
+import './index.scss'
7
+import TimeTicker from '../TimeTicker';
8
+
9
+export default class ScrollMessage extends Component {
10
+  formateTM = (dt) => {
11
+    const now = dayjs(new Date);
12
+    const { preselectionStartTime, preselectionEndTime } = this.props.summary || {}
13
+    const start = dayjs(preselectionStartTime)
14
+    const end = dayjs(preselectionEndTime)
15
+
16
+    let tip = ''
17
+    let useTK = true
18
+
19
+    if (now.isBefore(start)) {
20
+      tip = '距离预选开始还有'
21
+    } else if (now.isBefore(end)) {
22
+      tip = '距离预选结束还有'
23
+    } else {
24
+      tip = '预选已结束,请关注下轮预选'
25
+      useTK = false
26
+    }
27
+
28
+    return `${tip} ${useTK ? formateLeftTime(dt, 'min') : ''}`
29
+  }
30
+
31
+  computeDate = () => {
32
+    const now = dayjs(new Date);
33
+    const { preselectionStartTime, preselectionEndTime } = this.props.summary || {}
34
+    const start = dayjs(preselectionStartTime)
35
+    const end = dayjs(preselectionEndTime)
36
+
37
+    if (now.isBefore(start)) {
38
+      return [now, start]
39
+    } else if (now.isBefore(end)) {
40
+      return [now, end]
41
+    } else {
42
+      return [now, now]
43
+    }
44
+  }
45
+
46
+  render() {
47
+    const [start, end] = this.computeDate()
48
+    const { salesNumber, preselectionNumber } = this.props.summary || {}
49
+    const notice = `当前 ${salesNumber} 套房源已有 ${preselectionNumber} 人成功预选`
50
+
51
+    return (
52
+      <View className="scrollmessage">
53
+        <View className="head">
54
+          <NamedIcon name="notice" size={44} />
55
+        </View>
56
+        <View className="body">
57
+          <Swiper vertical autoplay>
58
+            <SwiperItem>
59
+              <TimeTicker startTime={start} endTime={end} translate={this.formateTM} />
60
+            </SwiperItem>
61
+            <SwiperItem>
62
+              <View>{notice}</View>
63
+            </SwiperItem>
64
+          </Swiper>
65
+        </View>
66
+      </View>
67
+    )
68
+  }
69
+}
70
+

+ 12
- 0
src/onlineSelling/components/ScrollMessage/index.scss Ver arquivo

@@ -0,0 +1,12 @@
1
+.scrollmessage {
2
+  display: flex;
3
+
4
+  .head {
5
+    flex: none;
6
+    width: 60rpx;
7
+  }
8
+
9
+  .body {
10
+    flex: auto;
11
+  }
12
+}

+ 149
- 0
src/onlineSelling/pages/help/index.js Ver arquivo

@@ -0,0 +1,149 @@
1
+import Taro, { Component } from '@tarojs/taro'
2
+import { View } from '@tarojs/components'
3
+import './index.scss'
4
+import HotBlock from '../../components/HotBlock'
5
+
6
+export default class Help extends Component {
7
+  config = {
8
+    navigationBarTitleText: '帮助说明'
9
+  }
10
+
11
+  render() {
12
+    const hots = [
13
+      {
14
+        label: '(0)',
15
+        value: 0,
16
+      },
17
+      {
18
+        label: '(1)',
19
+        value: 1,
20
+      },
21
+      {
22
+        label: '(2)',
23
+        value: 2,
24
+      },
25
+      {
26
+        label: '(3)',
27
+        value: 3,
28
+      },
29
+      {
30
+        label: '(4)',
31
+        value: 4,
32
+      },
33
+      {
34
+        label: '(5)',
35
+        value: 5,
36
+      },
37
+      {
38
+        label: '(6~10)',
39
+        value: 8,
40
+      },
41
+      {
42
+        label: '(11~20)',
43
+        value: 15,
44
+      },
45
+      {
46
+        label: '(21~30)',
47
+        value: 25,
48
+      },
49
+      {
50
+        label: '(31~40)',
51
+        value: 35,
52
+      },
53
+      {
54
+        label: '(41~50)',
55
+        value: 45,
56
+      },
57
+      {
58
+        label: '(51~100)',
59
+        value: 80,
60
+      },
61
+      {
62
+        label: '(101~200)',
63
+        value: 150,
64
+      },
65
+      {
66
+        label: '(200以上)',
67
+        value: 201,
68
+      },
69
+    ]
70
+
71
+   return (
72
+     <View className="article">
73
+       <View className="section">
74
+         <View className="title">1.图例解释:</View>
75
+         <View>
76
+           <View className="cell flex">
77
+             <View className="head item-0">1号楼</View>
78
+             <View className="body item-1">楼栋/幢</View>
79
+           </View>
80
+           <View className="cell flex">
81
+             <View className="head item-0">2 单元</View>
82
+             <View className="body item-1">单元</View>
83
+           </View>
84
+           <View className="cell flex">
85
+             <View className="head item-0">3 楼</View>
86
+             <View className="body item-1">楼层</View>
87
+           </View>
88
+           <View className="cell flex">
89
+             <View className="head item-0">
90
+               <View>301 (1人)</View>
91
+               <View>234万</View>
92
+               <View>A户型</View>
93
+             </View>
94
+             <View className="body item-1">
95
+               <View>房号(预选人数)</View>
96
+               <View>价格</View>
97
+               <View>户型名</View>
98
+             </View>
99
+           </View>
100
+         </View>
101
+       </View>
102
+       <View className="section">
103
+         <View className="title">2.预选人数(热度):</View>
104
+         <View>每有一位客户预选此房源,热度自动增加1,热度越大说明想购买此房源的用户越多,认筹摇号购买难度越大</View>
105
+       </View>
106
+       <View className="section">
107
+         <View className="title">3.热度指标值与颜色关系:</View>
108
+         <View className="flex" style="flex-wrap: wrap">
109
+          {hots.map(b => (<View className="item-0 hot-box" key={b.value}><HotBlock number={b.value}>{b.label}</HotBlock></View>))}
110
+         </View>
111
+       </View>
112
+       <View className="section">
113
+         <View className="title">4.为何需要登录:</View>
114
+         <View>预选房源和认筹房源按相关法律法规需要实名认证,通过手机号授权登录可以实现快捷认证。登录预选认筹后可以登录账号查看预选记录和认筹记录而不会遗失数据。</View>
115
+       </View>
116
+       <View className="section">
117
+         <View className="title">5.楼盘、房源问题:</View>
118
+         <View>和楼盘、房源相关问题可以联系置业顾问->在线置业顾问</View>
119
+       </View>
120
+       <View className="section">
121
+         <View className="title">6.如何按面积或价格筛选房源:</View>
122
+         <View>房源页面点击筛选按钮,选择一个户型或者价格即可查看按户型或价格筛选后的房源。</View>
123
+       </View>
124
+       <View className="section">
125
+         <View className="title">7.如何把在线选房分享我的亲朋好友:</View>
126
+         <View>房源页面点击分享按钮,选择直接分享发送链接给好友或群,选择生成海报保存图片,相册中找海报图片发送给好友或者朋友圈即可。</View>
127
+       </View>
128
+       <View className="section">
129
+         <View className="title">8.为什么房源详情中预选/取消按钮或认筹/取消按钮操作失败:</View>
130
+         <View>
131
+           <View>可能原因:</View>
132
+           <View>1)没有到预选或认筹时间,请关注通知或联系置业顾问</View>
133
+           <View>2)已过预选或认筹时间,请关注通知 或 联系置业顾问</View>
134
+           <View>3)其他原因,请 联系置业顾问</View>
135
+         </View>
136
+       </View>
137
+       <View className="section">
138
+         <View className="title">9.为什么之前看到的房源现在找不到了:</View>
139
+         <View>可能由于线上线下销售工作同步不及时原因,临时取消了此房源的线上预选和销售工作,有疑问请  联系置业顾问</View>
140
+       </View>
141
+       <View className="section">
142
+         <View className="title">10.如何查看我的选房记录:</View>
143
+         <View>房源页面点击下方选房记录按钮进入个人选房记录查看。或直接进入个人中心查看选房记录。</View>
144
+       </View>
145
+     </View>
146
+   )
147
+ }
148
+
149
+}

+ 45
- 0
src/onlineSelling/pages/help/index.scss Ver arquivo

@@ -0,0 +1,45 @@
1
+.article {
2
+  padding: 30rpx;
3
+  font-size: 28rpx;
4
+  line-height: 1.6em;
5
+  color: #666;
6
+
7
+  .section {
8
+    margin-bottom: 40rpx;
9
+
10
+    .title {
11
+      color: #333;
12
+    }
13
+  }
14
+
15
+
16
+  .flex {
17
+    display: flex;
18
+
19
+    .item-0 {
20
+      flex: none;
21
+    }
22
+
23
+    .item-1 {
24
+      flex: auto;
25
+    }
26
+  }
27
+
28
+  .cell {
29
+    padding: 28rpx 0;
30
+    box-shadow:0px 1rpx 0px 0px rgba(0, 0, 0, 0.08);
31
+
32
+    .head {
33
+      width: 180rpx;
34
+    }
35
+  }
36
+
37
+  .hot-box {
38
+    width: 23%;
39
+    height: 60rpx;
40
+    line-height: 60rpx;
41
+    text-align: center;
42
+    
43
+    margin: 2% 2% 0 0;
44
+  }
45
+}

+ 30
- 12
src/onlineSelling/pages/houseList/index.js Ver arquivo

@@ -1,8 +1,9 @@
1 1
 import Taro, { Component } from '@tarojs/taro'
2
-import { View, ScrollView, Button } from '@tarojs/components'
3
-import TimeTicker from '../../components/TimeTicker'
2
+import { View, ScrollView, Button, Swiper } from '@tarojs/components'
4 3
 import Unit from '../../components/HouseGrid/Unit'
5 4
 import NamedIcon from '../../components/NamedIcon'
5
+import ScrollMessage from '../../components/ScrollMessage'
6
+import Blank from '../../components/Blank'
6 7
 import { formateLeftTime } from '@/utils/tools'
7 8
 
8 9
 import './index.scss'
@@ -55,6 +56,13 @@ export default class HouseList extends Component {
55 56
                 price: '234万',
56 57
                 apartmentName: 'B户型'
57 58
               },
59
+              {
60
+                houseId: 6,
61
+                roomNumber: '306',
62
+                totalNum: 266,
63
+                price: '234万',
64
+                apartmentName: 'B户型'
65
+              },
58 66
             ]
59 67
           },
60 68
           {
@@ -186,21 +194,32 @@ export default class HouseList extends Component {
186 194
     ]
187 195
   }
188 196
 
189
-  formateTM (dt) {
190
-    return `距离预选结束还有 ${formateLeftTime(dt, 'min')}`
197
+  goto = url => Taro.navigateTo({ url })
198
+
199
+  handleExplainClick = e => {
200
+    this.goto('/onlineSelling/pages/help/index')
191 201
   }
192 202
 
203
+  handleSearchClick = e => {}
204
+
193 205
   renderBar () {
206
+    const summary = {
207
+      preselectionStartTime: '2020-02-09',
208
+      preselectionEndTime: '2020-02-16',
209
+      salesNumber: 199,
210
+      preselectionNumber: 16,
211
+    }
212
+
194 213
     return (
195 214
       <View className="topbar">
196
-        <View className="body">          
197
-          <TimeTicker endTime="2020-02-12" translate={this.formateTM.bind(this)} />
215
+        <View className="body">
216
+          <ScrollMessage summary={summary} />
198 217
         </View>
199 218
         <View className="action">
200
-          <View>
219
+          <View onClick={this.handleExplainClick}>
201 220
             <NamedIcon name="explain" size={50} />
202 221
           </View>
203
-          <View>
222
+          <View onClick={this.handleSearchClick}>
204 223
             <NamedIcon name="screen" size={50} />
205 224
           </View>
206 225
         </View>
@@ -224,9 +243,7 @@ export default class HouseList extends Component {
224 243
 
225 244
   renderBlank() {
226 245
     return (
227
-      <View className="container">
228
-        <View className="blank"></View>
229
-      </View>      
246
+      <View className="container"><Blank /></View>      
230 247
     )
231 248
   }
232 249
 
@@ -249,7 +266,8 @@ export default class HouseList extends Component {
249 266
     return (
250 267
       <View className="houselist">
251 268
         {this.renderBar()}
252
-        {this.renderBlank()}
269
+        {this.renderHouses()}
270
+        {/* {this.renderBlank()} */}
253 271
         {this.renderBottom()}
254 272
       </View>
255 273
     )

+ 1
- 9
src/onlineSelling/pages/houseList/index.scss Ver arquivo

@@ -14,6 +14,7 @@
14 14
       background:rgba(248,248,248,1);
15 15
       padding-left: 30rpx;
16 16
       font-size: 24rpx;
17
+      overflow: hidden;
17 18
     }
18 19
   
19 20
     .action {
@@ -63,14 +64,5 @@
63 64
   .container {
64 65
     // top + margin + bottom
65 66
     height: calc(100% - 280rpx);
66
-
67
-    .blank {
68
-      width: 280rpx;
69
-      height: 220rpx;
70
-      background: url('../../assets/norecord.png');
71
-      background-size: cover;
72
-      transform: translateY(50%);
73
-      margin: 0 auto;
74
-    }
75 67
   }
76 68
 }

+ 80
- 0
src/onlineSelling/pages/records/index.js Ver arquivo

@@ -0,0 +1,80 @@
1
+import Taro, { Component } from '@tarojs/taro'
2
+import { View, ScrollView } from '@tarojs/components'
3
+import HouseCard from '../../components/HouseCard'
4
+
5
+import './index.scss'
6
+
7
+export default class Records extends Component {
8
+  config = {
9
+    navigationBarTitleText: '选房记录'
10
+  }
11
+
12
+  state = {
13
+    testData: [
14
+      {
15
+        preselectionRecordId: 1,
16
+        buildingName: '艾菲国际二期',
17
+        blockName: '6栋',
18
+        unitName: '一单元',
19
+        roomName: '1502',
20
+        aerialViewImg: 'https://estateagents.oss-cn-shanghai.aliyuncs.com/miniapp/upload/images/1573738541467-25667811-b020-4c1f-b57d-e65a410d6fbd3103856559286073565.jpg',
21
+        price: '234万',
22
+        createDate: '2020-02-8',
23
+        status: 1
24
+      },
25
+      {
26
+        preselectionRecordId: 2,
27
+        buildingName: '艾菲国际二期',
28
+        blockName: '6栋',
29
+        unitName: '一单元',
30
+        roomName: '1502',
31
+        aerialViewImg: 'https://estateagents.oss-cn-shanghai.aliyuncs.com/miniapp/upload/images/1573738541467-25667811-b020-4c1f-b57d-e65a410d6fbd3103856559286073565.jpg',
32
+        price: '234万',
33
+        createDate: '2020-02-9',
34
+        status: 0
35
+      },
36
+      {
37
+        preselectionRecordId: 3,
38
+        buildingName: '艾菲国际二期',
39
+        blockName: '6栋',
40
+        unitName: '二单元',
41
+        roomName: '1503',
42
+        aerialViewImg: 'https://estateagents.oss-cn-shanghai.aliyuncs.com/miniapp/upload/images/1573738541467-25667811-b020-4c1f-b57d-e65a410d6fbd3103856559286073565.jpg',
43
+        price: '234万',
44
+        createDate: '2020-02-10',
45
+        status: 1
46
+      },
47
+      {
48
+        preselectionRecordId: 4,
49
+        buildingName: '艾菲国际二期',
50
+        blockName: '6栋',
51
+        unitName: '二单元',
52
+        roomName: '1504',
53
+        aerialViewImg: 'https://estateagents.oss-cn-shanghai.aliyuncs.com/miniapp/upload/images/1573738541467-25667811-b020-4c1f-b57d-e65a410d6fbd3103856559286073565.jpg',
54
+        price: '234万',
55
+        createDate: '2020-02-11',
56
+        status: 0
57
+      },
58
+    ]
59
+  }
60
+
61
+  render() {
62
+    const { testData } = this.state
63
+
64
+    return (
65
+      <View className="records">
66
+        <ScrollView scrollY>
67
+          {
68
+            testData.map((item) => {
69
+              return (
70
+                <View className="carditem" key={item.preselectionRecordId}>
71
+                  <HouseCard summary={item}/>
72
+                </View>
73
+              )
74
+            })
75
+          }
76
+        </ScrollView>
77
+      </View>
78
+    )
79
+  }
80
+}

+ 9
- 0
src/onlineSelling/pages/records/index.scss Ver arquivo

@@ -0,0 +1,9 @@
1
+.records {
2
+  padding: 0 30rpx;
3
+
4
+  .carditem {
5
+    & + .carditem {
6
+      margin-top: 40rpx;
7
+    }
8
+  }
9
+}

+ 2
- 2
yarn-error.log Ver arquivo

@@ -1,5 +1,5 @@
1 1
 Arguments: 
2
-  D:\Applications\nodejs\node.exe D:\Applications\Yarn\bin\yarn.js add src/onlineSelling/components/HouseGrid/Unit --silent --no-progress
2
+  D:\Applications\nodejs\node.exe D:\Applications\Yarn\bin\yarn.js add src/onlineSelling/components/ScrollMessage --silent --no-progress
3 3
 
4 4
 PATH: 
5 5
   D:\Applications\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;D:\FrontProjects\estateagents\miniapp-v3\node_modules\.bin;D:\Applications\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;D:\FrontProjects\estateagents\miniapp-v3\node_modules\.bin;D:\Applications\Java8\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\Applications\nodejs\;D:\Applications\Git\cmd;D:\Applications\go1.12\go\bin;D:\Applications\bin;D:\Applications\nginx-1.10.2;D:\Applications\apache-maven-3.6.0\bin;D:\Applications\Yarn\bin\;C:\Users\yansen\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Bandizip\;C:\Users\yansen\AppData\Roaming\npm;D:\Applications\Microsoft VS Code\bin;D:\GoProjects\bin;C:\Users\yansen\AppData\Local\Yarn\bin
@@ -14,7 +14,7 @@ Platform:
14 14
   win32 x64
15 15
 
16 16
 Trace: 
17
-  Error: https://registry.npm.taobao.org/src%2fonlineSelling/components/HouseGrid/Unit: [not_found] document not found
17
+  Error: https://registry.npm.taobao.org/src%2fonlineSelling/components/ScrollMessage: [not_found] document not found
18 18
       at Request.params.callback [as _callback] (D:\Applications\Yarn\lib\cli.js:65364:18)
19 19
       at Request.self.callback (D:\Applications\Yarn\lib\cli.js:129397:22)
20 20
       at Request.emit (events.js:198:13)