wangfei 6 years ago
parent
commit
88e301aab7

+ 6
- 0
config/api.js View File

130
   visit: {
130
   visit: {
131
     method: 'POST',
131
     method: 'POST',
132
     url: `${BaseAPIURl}/wx/building/visit/:id`
132
     url: `${BaseAPIURl}/wx/building/visit/:id`
133
+  },
134
+  propaganda: {
135
+    list: {
136
+      method: 'GET',
137
+      url: `${BaseAPIURl}/wx/propagandaList`
138
+    }
133
   }
139
   }
134
 }
140
 }
135
 
141
 

+ 5
- 0
pages/EstateDetail/index.js View File

160
     wx.navigateTo({
160
     wx.navigateTo({
161
       url: '/pages/VisitorList/index?id=' + this.data.EstateDetail.buildingId,
161
       url: '/pages/VisitorList/index?id=' + this.data.EstateDetail.buildingId,
162
     })
162
     })
163
+  },
164
+  toMap (e) {
165
+    wx.navigateTo({
166
+      url: '/pages/map/testmap?id=' + this.data.EstateDetail.buildingId,
167
+    })
163
   }
168
   }
164
 })
169
 })

+ 28
- 23
pages/EstateDetail/index.wxml View File

61
             <text>最新动态</text>
61
             <text>最新动态</text>
62
             <text class="flex-item">{{EstateDetail.dynamic}}</text>
62
             <text class="flex-item">{{EstateDetail.dynamic}}</text>
63
           </view>
63
           </view>
64
+          <view class="flex-h">
65
+            <text>楼盘优惠</text>
66
+            <text class="flex-item"><text class="txtred">{{EstateDetail.discount || ''}}</text></text>
67
+          </view>
64
         </view>
68
         </view>
65
       </view>
69
       </view>
66
 
70
 
103
           <view>
107
           <view>
104
             <view class="mapBox">
108
             <view class="mapBox">
105
               <view wx:if="EstateDetail">
109
               <view wx:if="EstateDetail">
106
-                <map id="map" markers="{{EstateDetail.markers}}" longitude="{{EstateDetail.longitude}}" latitude="{{EstateDetail.latitude}}" scale="14" style="width: 100%; height: {{height}}px;"></map>
110
+                <!-- <map id="map" markers="{{EstateDetail.markers}}" longitude="{{EstateDetail.longitude}}" latitude="{{EstateDetail.latitude}}" scale="14" style="width: 100%; height: {{height}}px;"></map> -->
111
+                <image mode="widthFix" src='{{EstateDetail.mapImg}}'></image>
107
               </view>
112
               </view>
108
             </view>
113
             </view>
109
-            <view class="flex-h">
114
+            <view class="flex-h" bindtap='toMap'>
110
               <view class="flex-item">
115
               <view class="flex-item">
111
                 <text>{{EstateDetail.buildingName}}</text>
116
                 <text>{{EstateDetail.buildingName}}</text>
112
                 <text>{{EstateDetail.address}}</text>
117
                 <text>{{EstateDetail.address}}</text>
116
             </view>
121
             </view>
117
           </view>
122
           </view>
118
         </view>
123
         </view>
119
-        <view class="transInfo flex-h">
120
-          <view class="flex-item">
121
-            <text>交通</text>
122
-            <image mode="widthFix" src="/assets/images/icon1.png"></image>
123
-            <text>约20处</text>
124
-            <text>接驳路线</text>
124
+        <view class="transInfo flex-h" bindtap='toMap'>
125
+          <view class="flex-item" data-val='交通'>
126
+            <text data-val='交通'>交通</text>
127
+            <image data-val='交通' mode="widthFix" src="/assets/images/icon1.png"></image>
128
+            <text data-val='交通'>约20处</text>
129
+            <text data-val='交通'>接驳路线</text>
125
           </view>
130
           </view>
126
-          <view class="flex-item">
127
-            <text>教育</text>
128
-            <image mode="widthFix" src="/assets/images/icon1.png"></image>
129
-            <text>约20所</text>
130
-            <text>教育机构</text>
131
+          <view class="flex-item" data-val='教育'>
132
+            <text data-val='教育'>教育</text>
133
+            <image data-val='教育' mode="widthFix" src="/assets/images/icon1.png"></image>
134
+            <text data-val='教育'>约20所</text>
135
+            <text data-val='教育'>教育机构</text>
131
           </view>
136
           </view>
132
-          <view class="flex-item">
133
-            <text>医疗</text>
134
-            <image mode="widthFix" src="/assets/images/icon1.png"></image>
135
-            <text>约20所</text>
136
-            <text>医疗机构</text>
137
+          <view class="flex-item" data-val='医疗'>
138
+            <text data-val='医疗'>医疗</text>
139
+            <image data-val='医疗' mode="widthFix" src="/assets/images/icon1.png"></image>
140
+            <text data-val='医疗'>约20所</text>
141
+            <text data-val='医疗'>医疗机构</text>
137
           </view>
142
           </view>
138
-          <view class="flex-item">
139
-            <text>商业</text>
140
-            <image mode="widthFix" src="/assets/images/icon1.png"></image>
141
-            <text>约20所</text>
142
-            <text>周边商业</text>
143
+          <view class="flex-item" data-val='商业'>
144
+            <text data-val='商业'>商业</text>
145
+            <image data-val='商业' mode="widthFix" src="/assets/images/icon1.png"></image>
146
+            <text data-val='商业'>约20所</text>
147
+            <text data-val='商业'>周边商业</text>
143
           </view>
148
           </view>
144
         </view>
149
         </view>
145
         <view style="padding: 0 40rpx;position:relative;overflow:hidden;">
150
         <view style="padding: 0 40rpx;position:relative;overflow:hidden;">

+ 11
- 1
pages/EstateDetail/index.wxss View File

198
 
198
 
199
 .mainInfo .list > view text {
199
 .mainInfo .list > view text {
200
   line-height: 44rpx;
200
   line-height: 44rpx;
201
-  font-size: 22rpx;
201
+  font-size: 24rpx;
202
   margin-left: 25rpx;
202
   margin-left: 25rpx;
203
   color: #999;
203
   color: #999;
204
 }
204
 }
205
 
205
 
206
+
206
 .mainInfo .list > view text:first-child {
207
 .mainInfo .list > view text:first-child {
207
   color: #333;
208
   color: #333;
208
   margin-left: 0;
209
   margin-left: 0;
209
 }
210
 }
210
 
211
 
212
+.mainInfo .list > view text .txtred{
213
+  color: #e23838;
214
+}
215
+
211
 .roomType .list {
216
 .roomType .list {
212
   width: 100%;
217
   width: 100%;
213
   position: relative;
218
   position: relative;
403
   overflow: hidden;
408
   overflow: hidden;
404
 }
409
 }
405
 
410
 
411
+.mapBox > view > image{
412
+  width:100%;
413
+  height:100%;
414
+}
415
+
406
 .map > view > view.flex-h {
416
 .map > view > view.flex-h {
407
   align-items: center;
417
   align-items: center;
408
   padding: 25rpx 0;
418
   padding: 25rpx 0;

+ 1
- 1
pages/components/Estate/index.wxml View File

3
   <view class="map">
3
   <view class="map">
4
     <movable-area style="height: 100%; width: 100%; background: #eee;position:absolute;left:0;top:0;">
4
     <movable-area style="height: 100%; width: 100%; background: #eee;position:absolute;left:0;top:0;">
5
       <movable-view scale="{{true}}" scale-min="1.3" scale-max="2.5" x="{{x}}" y="{{y}}" direction="all">
5
       <movable-view scale="{{true}}" scale-min="1.3" scale-max="2.5" x="{{x}}" y="{{y}}" direction="all">
6
-        <image mode="aspectFill" src="https://whole-estate.oss-cn-beijing.aliyuncs.com/img4-new.jpg" class="centerLabel cover bg"></image>
6
+        <image mode="aspectFill" src="https://whole-estate.oss-cn-beijing.aliyuncs.com/img4-new-2.jpg" class="centerLabel cover bg"></image>
7
       </movable-view>
7
       </movable-view>
8
     </movable-area>
8
     </movable-area>
9
     <!-- <image mode="widthFix" src="/assets/images/img4.jpg" class="centerLabel cover bg"></image>
9
     <!-- <image mode="widthFix" src="/assets/images/img4.jpg" class="centerLabel cover bg"></image>

+ 0
- 1
pages/components/SubIndex/index.js View File

104
       return s / 100
104
       return s / 100
105
     },
105
     },
106
     ItemTap(e) {
106
     ItemTap(e) {
107
-      console.log(e)
108
       wx.navigateTo({
107
       wx.navigateTo({
109
         url: '/pages/EstateDetail/index?id=' + e.target.dataset.id
108
         url: '/pages/EstateDetail/index?id=' + e.target.dataset.id
110
       })
109
       })

+ 32
- 0
pages/index/index.js View File

1
 import store from '../../store'
1
 import store from '../../store'
2
 import create from '../../utils/create'
2
 import create from '../../utils/create'
3
+import fetch from '../../utils/http'
4
+const $api = require('../../config/api.js').$api;
3
 
5
 
4
 const app = getApp()
6
 const app = getApp()
5
 
7
 
8
     this.setData({
10
     this.setData({
9
       NavActiveIndex: e.index || 0
11
       NavActiveIndex: e.index || 0
10
     })
12
     })
13
+    const _that = this
14
+    fetch({
15
+      url: $api.propaganda.list.url,
16
+      method: $api.propaganda.list.method
17
+    }).then((imgs) => {
18
+      if(imgs.data.length>0) {
19
+        _that.setData({
20
+          ShowLayer: true,
21
+          propagandaList: imgs.data
22
+        })
23
+      }
24
+    })
11
   },
25
   },
12
   data: {
26
   data: {
13
     ShowLayer: false,
27
     ShowLayer: false,
28
+    propagandaList: [],
14
     NavList: [{ // navlist数据
29
     NavList: [{ // navlist数据
15
       value: '首页',
30
       value: '首页',
16
       icon: '/assets/images/icon1.png'
31
       icon: '/assets/images/icon1.png'
59
   },
74
   },
60
   onShareAppMessage: function () {
75
   onShareAppMessage: function () {
61
     return app.globalData.ShareDate
76
     return app.globalData.ShareDate
77
+  },
78
+  closeLayer() {
79
+    this.setData({
80
+      ShowLayer: false
81
+    })
82
+  },
83
+  propagandaClick(e) {
84
+    if (e.target.dataset.pro.skipType && e.target.dataset.pro.skipType == 'building' && e.target.dataset.pro.skipId != ''){
85
+      wx.navigateTo({
86
+        url: '/pages/EstateDetail/index?id=' + e.target.dataset.pro.skipId,
87
+      })
88
+    }
89
+    if (e.target.dataset.pro.skipType && e.target.dataset.pro.skipType == 'activity' && e.target.dataset.pro.skipId != '') {
90
+      wx.navigateTo({
91
+        url: '/pages/ActivityDetail/index?type=2&id=' + e.target.dataset.pro.skipId,
92
+      })
93
+    }
62
   }
94
   }
63
 })
95
 })

+ 2
- 2
pages/index/index.wxml View File

37
   <!-- 弹窗 -->
37
   <!-- 弹窗 -->
38
   <view class="layer" hidden="{{!ShowLayer}}">
38
   <view class="layer" hidden="{{!ShowLayer}}">
39
     <view class="centerLabel">
39
     <view class="centerLabel">
40
-      <view class="top">
40
+      <view class="top" bindtap='closeLayer'>
41
         <image mode="widthFix" src="/assets/images/icon43.png"></image>
41
         <image mode="widthFix" src="/assets/images/icon43.png"></image>
42
       </view>
42
       </view>
43
       <view class="content">
43
       <view class="content">
44
-        引用内容
44
+        <image mode='widthFix' data-pro="{{propagandaList[0]}}" bindtap='propagandaClick' src='{{propagandaList[0].imgUrl}}'></image>
45
       </view>
45
       </view>
46
     </view>
46
     </view>
47
   </view>
47
   </view>

+ 6
- 1
pages/index/index.wxss View File

86
   background: #fff;
86
   background: #fff;
87
   border-radius: 20rpx;
87
   border-radius: 20rpx;
88
   box-shadow: 0 0 20rpx 10rpx rgba(0, 0, 0, 0.05);
88
   box-shadow: 0 0 20rpx 10rpx rgba(0, 0, 0, 0.05);
89
+  overflow: hidden;
89
 }
90
 }
90
 
91
 
91
 .layer .top {
92
 .layer .top {
110
   overflow: hidden;
111
   overflow: hidden;
111
   margin: 0 auto;
112
   margin: 0 auto;
112
   z-index: 1001;
113
   z-index: 1001;
113
-}
114
+}
115
+
116
+.layer .content image{
117
+  width: 100%;
118
+}

+ 32
- 10
pages/map/testmap.js View File

3
 var qqmapsdk;
3
 var qqmapsdk;
4
 import fetch from '../../utils/http'
4
 import fetch from '../../utils/http'
5
 const $api = require('../../config/api.js').$api;
5
 const $api = require('../../config/api.js').$api;
6
+const page = require('../../utils/page.js');
6
 
7
 
7
 Page({
8
 Page({
8
 
9
 
40
         }],
41
         }],
41
         navIndex: 0,
42
         navIndex: 0,
42
         list: [],
43
         list: [],
43
-        actionBuilding: {}
44
+        actionBuilding: {},
45
+        buildingId: ''
44
       },
46
       },
45
     
47
     
46
       /**
48
       /**
47
    * 生命周期函数监听页面加载
49
    * 生命周期函数监听页面加载
48
    */
50
    */
49
   onLoad: function (options) {
51
   onLoad: function (options) {
52
+    const id = page.getCurrentPageOptions().id
53
+    if (id) {
54
+      this.setData({
55
+        buildingId: id
56
+      })
57
+    }
58
+
50
     qqmapsdk = new QQMapWX({
59
     qqmapsdk = new QQMapWX({
51
       key: 'KJCBZ-G2MKX-DB443-Z4CBR-7E6K2-GJF5D'
60
       key: 'KJCBZ-G2MKX-DB443-Z4CBR-7E6K2-GJF5D'
52
     });
61
     });
63
   },
72
   },
64
 
73
 
65
   clickMarker(marker) {
74
   clickMarker(marker) {
66
-    const building = this.data.buildings.filter(x => x.buildingId == marker.markerId)[0]
75
+    this.setAction(marker.markerId)
76
+  },
77
+
78
+  setAction(buildingId) {
79
+    const building = this.data.buildings.filter(x => x.buildingId == buildingId)[0]
67
     if (!building) {
80
     if (!building) {
68
       return
81
       return
69
     }
82
     }
130
     onReady: function() {
143
     onReady: function() {
131
       const _that = this
144
       const _that = this
132
       fetch({
145
       fetch({
133
-        url: $api.building.mainlist.url,
134
-        method: $api.building.mainlist.method,
146
+        url: $api.building.list.url,
147
+        method: $api.building.list.method,
135
         data: {
148
         data: {
136
           pageNum: 1,
149
           pageNum: 1,
137
           pageSize: 10
150
           pageSize: 10
138
         }
151
         }
139
       }).then((buildings) => {
152
       }).then((buildings) => {
140
-        const markers = buildings.data.map(x => {
153
+        let list = buildings.data
154
+        if (_that.data.buildingId && _that.data.buildingId != '') {
155
+          list = list.filter(x => x.buildingId == _that.data.buildingId)
156
+        }
157
+        const markers = list.map(x => {
141
           return {
158
           return {
142
             id: x.buildingId,
159
             id: x.buildingId,
143
             latitude: x.coordinate.split(',')[0],
160
             latitude: x.coordinate.split(',')[0],
157
           markers: markers,
174
           markers: markers,
158
           longitude: markers[0].longitude,
175
           longitude: markers[0].longitude,
159
           latitude: markers[0].latitude,
176
           latitude: markers[0].latitude,
160
-          buildings: buildings.data
177
+          buildings: list
161
         })
178
         })
179
+        if (_that.data.buildingId && _that.data.buildingId != ''){
180
+          _that.setAction(_that.data.buildingId)
181
+        }
162
       })
182
       })
163
 
183
 
164
     },
184
     },
211
       this.search()
231
       this.search()
212
   },
232
   },
213
   closeLayer(){
233
   closeLayer(){
214
-    this.setData({
215
-      showLayer: false,
216
-      height: this.data.windowHeight
217
-    })
234
+    if (this.data.buildingId == '') {
235
+      this.setData({
236
+        showLayer: false,
237
+        height: this.data.windowHeight
238
+      })
239
+    }
218
   },
240
   },
219
   toFirstPage() {
241
   toFirstPage() {
220
     wx.navigateTo({
242
     wx.navigateTo({