wangfei 6 년 전
부모
커밋
88e301aab7

+ 6
- 0
config/api.js 파일 보기

@@ -130,6 +130,12 @@ const $api = {
130 130
   visit: {
131 131
     method: 'POST',
132 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 파일 보기

@@ -160,5 +160,10 @@ Page({
160 160
     wx.navigateTo({
161 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 파일 보기

@@ -61,6 +61,10 @@
61 61
             <text>最新动态</text>
62 62
             <text class="flex-item">{{EstateDetail.dynamic}}</text>
63 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 68
         </view>
65 69
       </view>
66 70
 
@@ -103,10 +107,11 @@
103 107
           <view>
104 108
             <view class="mapBox">
105 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 112
               </view>
108 113
             </view>
109
-            <view class="flex-h">
114
+            <view class="flex-h" bindtap='toMap'>
110 115
               <view class="flex-item">
111 116
                 <text>{{EstateDetail.buildingName}}</text>
112 117
                 <text>{{EstateDetail.address}}</text>
@@ -116,30 +121,30 @@
116 121
             </view>
117 122
           </view>
118 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 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 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 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 148
           </view>
144 149
         </view>
145 150
         <view style="padding: 0 40rpx;position:relative;overflow:hidden;">

+ 11
- 1
pages/EstateDetail/index.wxss 파일 보기

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

+ 1
- 1
pages/components/Estate/index.wxml 파일 보기

@@ -3,7 +3,7 @@
3 3
   <view class="map">
4 4
     <movable-area style="height: 100%; width: 100%; background: #eee;position:absolute;left:0;top:0;">
5 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 7
       </movable-view>
8 8
     </movable-area>
9 9
     <!-- <image mode="widthFix" src="/assets/images/img4.jpg" class="centerLabel cover bg"></image>

+ 0
- 1
pages/components/SubIndex/index.js 파일 보기

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

+ 32
- 0
pages/index/index.js 파일 보기

@@ -1,5 +1,7 @@
1 1
 import store from '../../store'
2 2
 import create from '../../utils/create'
3
+import fetch from '../../utils/http'
4
+const $api = require('../../config/api.js').$api;
3 5
 
4 6
 const app = getApp()
5 7
 
@@ -8,9 +10,22 @@ create(store, {
8 10
     this.setData({
9 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 26
   data: {
13 27
     ShowLayer: false,
28
+    propagandaList: [],
14 29
     NavList: [{ // navlist数据
15 30
       value: '首页',
16 31
       icon: '/assets/images/icon1.png'
@@ -59,5 +74,22 @@ create(store, {
59 74
   },
60 75
   onShareAppMessage: function () {
61 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 파일 보기

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

+ 6
- 1
pages/index/index.wxss 파일 보기

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

+ 32
- 10
pages/map/testmap.js 파일 보기

@@ -3,6 +3,7 @@ var QQMapWX = require('../../utils/qqmap-wx-jssdk.js');
3 3
 var qqmapsdk;
4 4
 import fetch from '../../utils/http'
5 5
 const $api = require('../../config/api.js').$api;
6
+const page = require('../../utils/page.js');
6 7
 
7 8
 Page({
8 9
 
@@ -40,13 +41,21 @@ Page({
40 41
         }],
41 42
         navIndex: 0,
42 43
         list: [],
43
-        actionBuilding: {}
44
+        actionBuilding: {},
45
+        buildingId: ''
44 46
       },
45 47
     
46 48
       /**
47 49
    * 生命周期函数监听页面加载
48 50
    */
49 51
   onLoad: function (options) {
52
+    const id = page.getCurrentPageOptions().id
53
+    if (id) {
54
+      this.setData({
55
+        buildingId: id
56
+      })
57
+    }
58
+
50 59
     qqmapsdk = new QQMapWX({
51 60
       key: 'KJCBZ-G2MKX-DB443-Z4CBR-7E6K2-GJF5D'
52 61
     });
@@ -63,7 +72,11 @@ Page({
63 72
   },
64 73
 
65 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 80
     if (!building) {
68 81
       return
69 82
     }
@@ -130,14 +143,18 @@ Page({
130 143
     onReady: function() {
131 144
       const _that = this
132 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 148
         data: {
136 149
           pageNum: 1,
137 150
           pageSize: 10
138 151
         }
139 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 158
           return {
142 159
             id: x.buildingId,
143 160
             latitude: x.coordinate.split(',')[0],
@@ -157,8 +174,11 @@ Page({
157 174
           markers: markers,
158 175
           longitude: markers[0].longitude,
159 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,10 +231,12 @@ Page({
211 231
       this.search()
212 232
   },
213 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 241
   toFirstPage() {
220 242
     wx.navigateTo({