Kaynağa Gözat

社区,我家

19124812874 5 yıl önce
ebeveyn
işleme
1c5b28614d

+ 5 - 24
App.vue

@@ -8,7 +8,6 @@
 			};
 			};
 		},
 		},
 		onLaunch: function(e) {
 		onLaunch: function(e) {
-			this.downloadGuideImg()
 			this.param = e;
 			this.param = e;
 			this.execParam();
 			this.execParam();
 			this.globalData.checkIsIPhoneX();
 			this.globalData.checkIsIPhoneX();
@@ -21,24 +20,6 @@
 			console.log('App Hide')
 			console.log('App Hide')
 		},
 		},
 		methods: {
 		methods: {
-			/**
-			 * 进入小程序就下载引导图,防止进入引导页时加载图片时空白
-			 */
-			downloadGuideImg(){
-				let that=this
-				uni.downloadFile({
-				    url: 'http://139.9.103.171:1888/miniofile/app/guide.png', //仅为示例,并非真实的资源
-				    success: (res) => {
-						uni.saveFile({
-							 tempFilePath: res.tempFilePath,
-							 success: function (res) {
-							   var savedFilePath = res.savedFilePath;
-							   uni.setStorageSync("guideImg",savedFilePath)
-							 }
-						});
-				    }
-				});
-			},
 			execParam() {
 			execParam() {
 				if (this.param == null || this.param.referrerInfo == null) return;
 				if (this.param == null || this.param.referrerInfo == null) return;
 				let path = this.param.path;
 				let path = this.param.path;
@@ -70,7 +51,7 @@
 			//远程的
 			//远程的
 			apiurl: "http://139.9.103.171:9082/app/",
 			apiurl: "http://139.9.103.171:9082/app/",
 			//德系本地的
 			//德系本地的
-			// apiurl: "http://192.168.2.162:9082/app/",
+			// apiurl: "http://192.168.2.57:9082/app/",
 			member: null,
 			member: null,
 			//用户信息--后台
 			//用户信息--后台
 			userInfo: null,
 			userInfo: null,
@@ -92,9 +73,9 @@
 			  let that = this; //公共参数
 			  let that = this; //公共参数
 			  params['org_id'] = that.org_id;
 			  params['org_id'] = that.org_id;
 			  params['token'] = that.token; 
 			  params['token'] = that.token; 
-			  uni.showLoading({
-			    mask: true
-			  }); //Object转json
+			  // uni.showLoading({
+			  //   mask: true
+			  // });
 			
 			
 			  let jsonStr = JSON.stringify(params); //数据md5签名
 			  let jsonStr = JSON.stringify(params); //数据md5签名
 			
 			
@@ -110,7 +91,7 @@
 			    success: function (res) {
 			    success: function (res) {
 			      // console.info(res.header['data-sign']);
 			      // console.info(res.header['data-sign']);
 			      // console.info(md5.hex_md5(JSON.stringify(res.data)));
 			      // console.info(md5.hex_md5(JSON.stringify(res.data)));
-			      uni.hideLoading(); //回调函数
+			      // uni.hideLoading(); 
 			
 			
 			      callBack(res);
 			      callBack(res);
 			    },
 			    },

+ 4 - 4
comps/hot-consult/hot-consult.vue

@@ -6,10 +6,10 @@
 					<view class="cu-avatar text-font"  style="background-image:url(http://139.9.103.171:8888/group1/M00/00/01/iwlnq1-_2IiAFB-HAAAQn95tidI930.png);"></view>
 					<view class="cu-avatar text-font"  style="background-image:url(http://139.9.103.171:8888/group1/M00/00/01/iwlnq1-_2IiAFB-HAAAQn95tidI930.png);"></view>
 					<view class="margin-top-xs" style="width: 680rpx">
 					<view class="margin-top-xs" style="width: 680rpx">
 						<swiper :circular="true" class="swiper" autoplay="true" vertical="true" interval="5000" next-margin="46rpx">
 						<swiper :circular="true" class="swiper" autoplay="true" vertical="true" interval="5000" next-margin="46rpx">
-							<swiper-item v-for="(item, index) in swiperTexts" :key="index" @click="detailTap(item.id)">
+							<swiper-item v-for="(item, index) in swiperTexts" :key="index" @click="detailTap(item)">
 								<view class="swiper-item" > 
 								<view class="swiper-item" > 
 									<text class="text-orange cuIcon-title padding-right-sm"></text>
 									<text class="text-orange cuIcon-title padding-right-sm"></text>
-									<text>{{item.title}}</text>
+									<text>{{item.title}} : {{item.content}}</text>
 								</view>
 								</view>
 							</swiper-item>
 							</swiper-item>
 						</swiper>
 						</swiper>
@@ -37,8 +37,8 @@
 			onTap() {
 			onTap() {
 				this.$emit('onTap');
 				this.$emit('onTap');
 			},
 			},
-			detailTap(id) {
-				this.$emit('detailTap',id);
+			detailTap(item) {
+				this.$emit('detailTap',item);
 			}
 			}
 		}
 		}
 	}
 	}

+ 28 - 1
pages.json

@@ -2,7 +2,7 @@
 	"easycom": {
 	"easycom": {
 		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
 		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
 	},
 	},
-	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+	"pages": [
 		{
 		{
 			"path" : "pages/guide/guide",
 			"path" : "pages/guide/guide",
 			"style":                                                                                   
 			"style":                                                                                   
@@ -502,6 +502,33 @@
             }
             }
             
             
         }
         }
+        ,{
+            "path" : "pages/guest/guest_form",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "来访登记",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/community/detail/elderlyDetail",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "老人抓拍详情",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/community/detail/carDetail",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "车辆抓拍详情",
+                "enablePullDownRefresh": false
+            }
+            
+        }
     ],
     ],
 	 "subPackages": [{
 	 "subPackages": [{
 	 	"root": "pagesM/",
 	 	"root": "pagesM/",

+ 5 - 1
pages/authorize_record/openPass/openPass.vue

@@ -119,8 +119,10 @@ export default {
     //禁用头部分享
     //禁用头部分享
     uni.hideShareMenu({});
     uni.hideShareMenu({});
     let room_list = app.globalData.room_list;
     let room_list = app.globalData.room_list;
-
+	console.log(room_list,"**************");
     if (room_list) {
     if (room_list) {
+	  this.selectRoomId=room_list[0].id
+		
       this.setData({
       this.setData({
         room_list: room_list
         room_list: room_list
       });
       });
@@ -259,6 +261,7 @@ export default {
       params['end_date'] = util.getTimestamp(end_date); //有效次数
       params['end_date'] = util.getTimestamp(end_date); //有效次数
 
 
       params['valid_count'] = that.valid_count;
       params['valid_count'] = that.valid_count;
+	  console.log(that.params);
       let operation = 'guestAuthorize/getGuestAuthorize';
       let operation = 'guestAuthorize/getGuestAuthorize';
       app.globalData.postRequest(params, operation, function (res) {
       app.globalData.postRequest(params, operation, function (res) {
         console.info("接口返回结果:" + res.data.result_msg); //获取成功
         console.info("接口返回结果:" + res.data.result_msg); //获取成功
@@ -291,6 +294,7 @@ export default {
           that.setData({
           that.setData({
             room_list: res.data.list
             room_list: res.data.list
           });
           });
+		  that.selectRoomId=that.room_list[0].id
           app.globalData.room_list = res.data.list;
           app.globalData.room_list = res.data.list;
         }
         }
       });
       });

+ 226 - 45
pages/community/community.vue

@@ -1,8 +1,13 @@
 <template>
 <template>
 	<view class="container">
 	<view class="container">
 		<view class="tabs">
 		<view class="tabs">
-			<u-subsection height="90" active-color="#2f7ff5"  :list="subsectionList" :animation="false" :current="subsectionCurrent" @change="subsectionChange"></u-subsection>
-			<view class="" style="height: 20rpx;"></view>
+			<scroll-view scroll-x class="nav" style="background-color: #efefef;color: #5b5b5b;">
+				<view class="flex text-center">
+					<view class="cu-item flex-sub" :class="index==subsectionCurrent?'text-checked':''" v-for="(item,index) in subsectionList" :key="index" @tap="subsectionChange(index)" >
+						{{item.name}}
+					</view>
+				</view>
+			</scroll-view>
 		</view>
 		</view>
 		<view style="height: 100%;">
 		<view style="height: 100%;">
 			<swiper style="height: 100%;" :current="subsectionCurrent"  @change="swiperChange"
 			<swiper style="height: 100%;" :current="subsectionCurrent"  @change="swiperChange"
@@ -65,32 +70,31 @@
 				</swiper-item>
 				</swiper-item>
 				<swiper-item >
 				<swiper-item >
 					<scroll-view scroll-y style="height: 100%;background-color: #F1F1F1;">
 					<scroll-view scroll-y style="height: 100%;background-color: #F1F1F1;">
-						<view style="height: 20rpx;"></view>
 						<view style="margin: 0 20rpx;">
 						<view style="margin: 0 20rpx;">
 							<u-waterfall v-model="oldManList" ref="uWaterfall">
 							<u-waterfall v-model="oldManList" ref="uWaterfall">
 								<template v-slot:left="{leftList}">
 								<template v-slot:left="{leftList}">
-									<view class="demo-warter"  v-for="(item, index) in leftList" :key="index">
-										<image :src="item.image"  class="demo-image" ></image>
+									<view @click="goElderlyDetail(item)" class="demo-warter"  v-for="(item, index) in leftList" :key="index">
+										<image :src="item.image" mode="scaleToFill"  class="demo-image" ></image>
 										<view class="time">
 										<view class="time">
 											<text class="padding-bottom-10">抓拍时间:</text>
 											<text class="padding-bottom-10">抓拍时间:</text>
 											<text>{{item.time}}</text>
 											<text>{{item.time}}</text>
 										</view>
 										</view>
 										<view class="flex justify-center margin-bottom-50">
 										<view class="flex justify-center margin-bottom-50">
-											<view class="cu-btn line-blue round df" style="width: 70%;">
+											<view  class="cu-btn line-blue round df" style="width: 70%;">
 												查看详情
 												查看详情
 											</view>
 											</view>
 										</view>
 										</view>
 									</view>
 									</view>
 								</template>
 								</template>
 								<template v-slot:right="{rightList}">
 								<template v-slot:right="{rightList}">
-									<view class="demo-warter" v-for="(item, index) in rightList" :key="index">
-										<image :src="item.image"  class="demo-image" ></image>
+									<view @click="goElderlyDetail(item)" class="demo-warter" v-for="(item, index) in rightList" :key="index">
+										<image :src="item.image" mode="scaleToFill"  class="demo-image" ></image>
 										<view class="time">
 										<view class="time">
 											<text class="padding-bottom-10">抓拍时间:</text>
 											<text class="padding-bottom-10">抓拍时间:</text>
 											<text>{{item.time}}</text>
 											<text>{{item.time}}</text>
 										</view>
 										</view>
 										<view class="flex justify-center margin-bottom-50">
 										<view class="flex justify-center margin-bottom-50">
-											<view class="cu-btn line-blue round df" style="width: 70%;">
+											<view  class="cu-btn line-blue round df" style="width: 70%;">
 												查看详情
 												查看详情
 											</view>
 											</view>
 										</view>
 										</view>
@@ -99,37 +103,35 @@
 								</template>
 								</template>
 							</u-waterfall>
 							</u-waterfall>
 						</view>
 						</view>
-						<!-- <oldMan></oldMan> -->
 					</scroll-view>
 					</scroll-view>
 				</swiper-item>
 				</swiper-item>
 				<swiper-item >
 				<swiper-item >
 					<scroll-view scroll-y style="height: 100%;background-color: #F1F1F1;">
 					<scroll-view scroll-y style="height: 100%;background-color: #F1F1F1;">
-						<view style="height: 20rpx;"></view>
 						<view style="margin: 0 20rpx;">
 						<view style="margin: 0 20rpx;">
 							<u-waterfall v-model="carList" ref="uWaterfall">
 							<u-waterfall v-model="carList" ref="uWaterfall">
 								<template v-slot:left="{leftList}">
 								<template v-slot:left="{leftList}">
-									<view class="demo-warter" v-for="(item, index) in leftList" :key="index">
-										<image :src="item.image"  class="demo-image" ></image>
+									<view @click="goCarDetail(item)" class="demo-warter" v-for="(item, index) in leftList" :key="index">
+										<image :src="item.image"  class="demo-image" mode="scaleToFill"></image>
 										<view class="time">
 										<view class="time">
 											<text class="padding-bottom-10">抓拍时间:</text>
 											<text class="padding-bottom-10">抓拍时间:</text>
 											<text>{{item.time}}</text>
 											<text>{{item.time}}</text>
 										</view>
 										</view>
 										<view class="flex justify-center margin-bottom-50">
 										<view class="flex justify-center margin-bottom-50">
-											<view class="cu-btn line-blue round df" style="width: 70%;">
+											<view  class="cu-btn line-blue round df" style="width: 70%;">
 												查看详情
 												查看详情
 											</view>
 											</view>
 										</view>
 										</view>
 									</view>
 									</view>
 								</template>
 								</template>
 								<template v-slot:right="{rightList}">
 								<template v-slot:right="{rightList}">
-									<view class="demo-warter" v-for="(item, index) in rightList" :key="index">
-										<image :src="item.image"  class="demo-image" ></image>
+									<view @click="goCarDetail(item)" class="demo-warter" v-for="(item, index) in rightList" :key="index">
+										<image :src="item.image"  class="demo-image" mode="scaleToFill"></image>
 										<view class="time">
 										<view class="time">
 											<text class="padding-bottom-10">抓拍时间:</text>
 											<text class="padding-bottom-10">抓拍时间:</text>
 											<text>{{item.time}}</text>
 											<text>{{item.time}}</text>
 										</view>
 										</view>
 										<view class="flex justify-center margin-bottom-50">
 										<view class="flex justify-center margin-bottom-50">
-											<view class="cu-btn line-blue round df" style="width: 70%;">
+											<view  class="cu-btn line-blue round df" style="width: 70%;">
 												查看详情
 												查看详情
 											</view>
 											</view>
 										</view>
 										</view>
@@ -143,41 +145,16 @@
 			</swiper>
 			</swiper>
 		</view>
 		</view>
 	</view>
 	</view>
-
 </template>
 </template>
-
 <script>
 <script>
+	var app=getApp()
 	export default {
 	export default {
 		components:{
 		components:{
 		},
 		},
 		data() {
 		data() {
 			return {
 			return {
-				oldManList:[
-					{
-						image:'http://139.9.103.171:1888/miniofile/app/old1.jpg',
-						time:'2020-11-02 15:31:22'
-					},
-					{
-						image:'http://139.9.103.171:1888/miniofile/app/c3a3a7d714e74b749a88ecefabfd86d.jpg',
-						time:'2020-11-22 09:51:56'
-					}
-				],
-				carList:[
-					{
-						image:'http://139.9.103.171:1888/miniofile/app/1606682778(1).jpg',
-						time:'2020-11-04 12:38:26'
-					},
-					{
-						image:'http://139.9.103.171:1888/miniofile/app/1606682866(1).jpg',
-						time:'2020-11-13 19:42:52'
-					}
-				],
-				
-				tanList: [ {
-					name: '老人关爱'
-				}, {
-					name: '车辆关爱'
-				}],
+				oldManList:[],
+				carList:[],
 				tabCurrent:0,
 				tabCurrent:0,
 				subsectionCurrent: 0,
 				subsectionCurrent: 0,
 				subsectionList: [
 				subsectionList: [
@@ -361,6 +338,9 @@
 				]
 				]
 			}
 			}
 		},
 		},
+		onLoad() {
+			this.fetchStaticData()
+		},
 		methods: {
 		methods: {
 			subsectionChange(index) {
 			subsectionChange(index) {
 				this.subsectionCurrent = index
 				this.subsectionCurrent = index
@@ -395,6 +375,200 @@
 						url:"../webview/webview?url="+item.target
 						url:"../webview/webview?url="+item.target
 					})
 					})
 				}
 				}
+			},
+			goElderlyDetail(item){
+				app.globalData.elderlyDetail=item
+				uni.navigateTo({
+					url:"./detail/elderlyDetail",
+				})
+			},
+			goCarDetail(item){
+				app.globalData.carDetail=item
+				uni.navigateTo({
+					url:"./detail/carDetail",
+				})
+			},
+			fetchStaticData(){
+				this.oldManList=[
+					
+					{
+						name:'李爱琴',
+						sex:'女',
+						age:'64',
+						temperature:'36.5',
+						idCard:'640302195608152578',
+						device:'阅海万家D区西北门',
+						plotName:'阅海万家D区',
+						image:'http://139.9.103.171:1888/miniofile/app/del/old01.jpg',
+						time:'2020-12-06 09:52:28'
+					},
+					
+					{
+						name:'李爱琴',
+						sex:'女',
+						age:'64',
+						temperature:'36.2',
+						idCard:'640302195608152578',
+						device:'阅海万家D区北门',
+						plotName:'阅海万家D区',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607607799(1).jpg',
+						time:'2020-12-02 14:23:34'
+					},
+					{
+						name:'李爱琴',
+						sex:'女',
+						age:'64',
+						temperature:'36.2',
+						idCard:'640302195608152578',
+						device:'阅海万家D区西北门',
+						plotName:'阅海万家D区',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607607892(1).jpg',
+						time:'2020-12-01 08:31:22'
+					},
+					
+					{
+						name:'李爱琴',
+						sex:'女',
+						age:'64',
+						temperature:'36.6',
+						idCard:'640302195608152578',
+						device:'阅海万家D区北门',
+						plotName:'阅海万家D区',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607607824(1).jpg',
+						time:'2020-12-02 16:31:22'
+					},
+					{
+						name:'李爱琴',
+						sex:'女',
+						age:'64',
+						temperature:'36.4',
+						idCard:'640302195608152578',
+						device:'阅海万家D区西北门',
+						plotName:'阅海万家D区',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607607748(1).jpg',
+						time:'2020-12-05 09:31:22'
+					},
+					
+					{
+						name:'阮启方',
+						sex:'男',
+						age:'66',
+						temperature:'36.1',
+						idCard:'640302195804232481',
+						device:'阅海万家D区北门',
+						plotName:'阅海万家D区',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607607925(1).jpg',
+						time:'2020-12-01 15:36:24'
+					},
+					{
+						name:'李爱琴',
+						sex:'女',
+						age:'64',
+						temperature:'36.2',
+						idCard:'640302195608152578',
+						device:'阅海万家D区北门',
+						plotName:'阅海万家D区',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607607676(1).jpg',
+						time:'2020-12-10 15:31:22'
+					},
+					{
+						name:'阮启方',
+						sex:'男',
+						age:'66',
+						temperature:'36.3',
+						idCard:'640302195804232481',
+						device:'阅海万家D区西北门',
+						plotName:'阅海万家D区',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607608168(1).jpg',
+						time:'2020-11-20 15:31:22'
+					}
+					,
+					{
+						name:'阮启方',
+						sex:'男',
+						age:'66',
+						temperature:'36.6',
+						idCard:'640302195804232481',
+						device:'阅海万家D区西北门',
+						plotName:'阅海万家D区',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607608107.jpg',
+						time:'2020-11-20 12:32:52'
+					}
+				]
+				this.carList=[
+					
+					{
+						number:'宁A096L0',
+						device:'粤海玩家D区西门',
+						parking:'阅海万家D区西门停车场',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607602946(1).jpg',
+						time:'2020-12-10 12:38:26'
+					},
+					{
+						number:'宁A096L0',
+						device:'粤海玩家D区西门',
+						parking:'阅海万家D区西门停车场',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607602903(1).jpg',
+						time:'2020-12-10 19:42:52'
+					},
+					{
+						number:'宁A096L0',
+						device:'粤海玩家D区西门',
+						parking:'阅海万家D区西门停车场',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607602845(1).jpg',
+						time:'2020-12-05 11:32:16'
+					},
+					{
+						number:'宁A096L0',
+						device:'粤海玩家D区西门',
+						parking:'阅海万家D区西门停车场',
+						image:'http://139.9.103.171:1888/miniofile/app/del/cb034601a1594a248da5bef3d29fcebd.jpeg',
+						time:'2020-12-05 14:46:32'
+					},
+					{
+						number:'宁A096L0',
+						device:'粤海玩家D区西门',
+						parking:'阅海万家D区西门停车场',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1607602745(1).jpg',
+						time:'2020-12-04 12:38:26'
+					},
+					{
+						number:'宁A096L0',
+						device:'粤海玩家D区西门',
+						parking:'阅海万家D区西门停车场',
+						image:'http://139.9.103.171:1888/miniofile/app/del/31ff5310f499d55764b24bf6c7c8083e.jpeg',
+						time:'2020-12-04 18:22:52'
+					},
+					{
+						number:'宁A096L0',
+						device:'粤海玩家D区西门',
+						parking:'阅海万家D区西门停车场',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1566433075317.jpg',
+						time:'2020-12-01 11:26:32'
+					},
+					{
+						number:'宁A096L0',
+						device:'粤海玩家D区西门',
+						parking:'阅海万家D区西门停车场',
+						image:'http://139.9.103.171:1888/miniofile/app/del/1566433083707.jpg',
+						time:'2020-12-01 16:42:52'
+					},
+					{
+						number:'宁A096L0',
+						device:'粤海玩家D区西门',
+						parking:'阅海万家D区西门停车场',
+						image:'http://139.9.103.171:1888/miniofile/app/1606682778(1).jpg',
+						time:'2020-11-24 09:38:26'
+					},
+					{
+						number:'宁A096L0',
+						device:'粤海玩家D区西门',
+						parking:'阅海万家D区西门停车场',
+						image:'http://139.9.103.171:1888/miniofile/app/1606682866(1).jpg',
+						time:'2020-11-24 16:42:52'
+					}
+					
+				]
 			}
 			}
 		}
 		}
 	}
 	}
@@ -405,6 +579,13 @@
 		height: 100%;
 		height: 100%;
 		width: 100%;
 		width: 100%;
 	}
 	}
+	.text-checked{
+		font-weight: 800;
+		background-color: #FFFFFF;
+		color: #2f7ff5;
+		font-size: 800;
+	}
+	
 	.container {
 	.container {
 		  height: calc(100vh);
 		  height: calc(100vh);
 		  background-color: #F6F6F6;
 		  background-color: #F6F6F6;

+ 70 - 0
pages/community/detail/carDetail.vue

@@ -0,0 +1,70 @@
+<template>
+	<view class="content ">
+		<view class="flex">
+			<view class="flex flex-direction ">
+				<view class="flex justify-between">
+					<view class="">
+						<view class="item">
+							<text class="cuIcon-news text-blue margin-right-10"></text>
+							<text class="text-bold padding-right-10">车牌号:</text>
+							<view class="padding-top-20">{{dataDetail.time}}</view>
+						</view>
+						<view class="item">
+							<text class="cuIcon-location text-blue margin-right-10"></text>
+							<text class="text-bold padding-right-10">车场名称:</text>
+							<view class="padding-top-20">{{dataDetail.parking}}</view>
+						</view>
+						<view class="item">
+							<text class="cuIcon-focus text-blue margin-right-10"></text>
+							<text class="text-bold padding-right-10">抓拍设备:</text>
+							<view class="padding-top-20">{{dataDetail.device}}</view>
+						</view>
+					</view>
+					<view class="padding-top-20">
+						<image @click="previewImg(dataDetail.image)" style="width: 250rpx;height: 280rpx;border-radius: 12rpx;" mode="scaleToFill" :src="dataDetail.image"></image>
+					</view>
+				</view>
+				<view class="item">
+					<text class="cuIcon-time text-blue margin-right-10"></text>
+					<text class="text-bold padding-right-10">抓拍时间:</text>
+					<view class="padding-top-20">{{dataDetail.time}}</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	var app=getApp()
+	export default {
+		data() {
+			return {
+				dataDetail:{}
+			}
+		},
+		onShow() {
+			this.dataDetail=app.globalData.carDetail
+		},
+		methods: {
+			previewImg(img){
+				let imgs=[]
+				imgs.push(img)
+				uni.previewImage({
+					urls:imgs
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page{
+		background-color: #FFFFFF;
+	}
+	.content{
+		padding:70rpx 60rpx;
+		.item{
+			padding: 22rpx 0;
+		}
+	}
+</style>

+ 90 - 0
pages/community/detail/elderlyDetail.vue

@@ -0,0 +1,90 @@
+<template>
+	<view class="content ">
+		<view class="flex">
+			<view class="flex flex-direction ">
+				<view class="flex justify-between">
+					<view class="">
+						<view class="item">
+							<text class="cuIcon-people text-blue margin-right-10"></text>
+							<text class="text-bold padding-right-10">姓名:</text>
+							<text >{{dataDetail.name}}</text>
+						</view>
+						<view class="item">
+							<text class="cuIcon-male text-blue margin-right-10"></text>
+							<text class="text-bold padding-right-10">性别:</text>
+							<text>{{dataDetail.sex}}</text>
+						</view>
+						<view class="item">
+							<text class="cuIcon-peoplelist text-blue margin-right-10"></text>
+							<text class="text-bold padding-right-10">年龄:</text>
+							<text>{{dataDetail.age}}岁</text>
+						</view>
+						<view class="item">
+							<text class="cuIcon-hot text-blue margin-right-10"></text>
+							<text class="text-bold padding-right-10">体温:</text>
+							<text>{{dataDetail.temperature}} ℃</text>
+						</view>
+					</view>
+					<view class="padding-top-20">
+						<image @click="previewImg(dataDetail.image)"  style="width: 250rpx;height: 280rpx;border-radius: 12rpx;" mode="scaleToFill" :src="dataDetail.image"></image>
+					</view>
+				</view>
+				<view class="item">
+					<text class="cuIcon-news text-blue margin-right-10"></text>
+					<text class="text-bold padding-right-10">身份证号:</text>
+					<text>{{dataDetail.idCard}}</text>
+				</view>
+				<view class="item">
+					<text class="cuIcon-home text-blue margin-right-10"></text>
+					<text class="text-bold padding-right-10">抓拍小区:</text>
+					<text>{{dataDetail.plotName}}</text>
+				</view>
+				<view class="item">
+					<text class="cuIcon-focus text-blue margin-right-10"></text>
+					<text class="text-bold padding-right-10">抓拍设备:</text>
+					<text>{{dataDetail.device}}</text>
+				</view>
+				<view class="item">
+					<text class="cuIcon-time text-blue margin-right-10"></text>
+					<text class="text-bold padding-right-10">抓拍时间:</text>
+					<text>{{dataDetail.time}}</text>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	var app=getApp()
+	export default {
+		data() {
+			return {
+				dataDetail:{}
+			}
+		},
+		onShow() {
+			this.dataDetail=app.globalData.elderlyDetail
+		},
+		methods: {
+			previewImg(img){
+				let imgs=[]
+				imgs.push(img)
+				uni.previewImage({
+					urls:imgs
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page{
+		background-color: #FFFFFF;
+	}
+	.content{
+		padding:60rpx;
+		.item{
+			padding: 22rpx 0;
+		}
+	}
+</style>

+ 142 - 17
pages/demo/demo5.vue

@@ -1,24 +1,149 @@
-<template>
-	
+=<template>
+	<scroll-view class="swiper-tab" scroll-x :scroll-left="scrollLeft" :scroll-with-animation="true">
+		<view v-for="(item, index) in qgItems" 
+			:key="item.index" 
+			:class="['swiper-tab-list',index == tabIndex ? 'qg_active' : '']"
+			:id="index" 
+			
+			@tap="gettqg(item, index)" 
+			>
+			<view class="list-item" >
+				<text>{{item.time}}</text>
+				<text v-if="item.hs <= gettime && gettime <= item.he">进行中</text>
+				<text v-if="gettime < item.hs">即将开始</text>
+				<text v-if="gettime > item.he">已开始</text>
+				<text v-if="index == tabIndex" class="qgactive-item"></text>
+				<!-- <text v-if="item.hs <= gettime && gettime <= item.he" class="qgactive-item"></text> -->
+			</view>
+		</view>
+			
+		
+	</scroll-view>
 </template>
 </template>
 
 
 <script>
 <script>
-export default {
-	name: '',
-	data() {
-		return {
-			
-		};
-	},
-	onLoad() {
-		
-	},
-	methods:{
+	export default {
 		
 		
+		data() {
+			return {
+				tabIndex: 0,	//选中项下标
+				scrollLeft:0,	//滚动位置
+				qgItems:[{
+					time:'0:00-8:00',
+					hs:0,
+					he:7
+				},{
+					time:'8:00-10:00',
+					hs:8,
+					he:9
+				},{
+					time:'10:00-12:00',
+					hs:10,
+					he:11
+				},{
+					time:'12:00-14:00',
+					hs:12,
+					he:13
+				},{
+					time:'14:00-16:00',
+					hs:14,
+					he:15
+				},{
+					time:'16:00-18:00',
+					hs:16,
+					he:17
+				},{
+					time:'18:00-20:00',
+					hs:18,
+					he:19
+				},{
+					time:'20:00-22:00',
+					hs:20,
+					he:21
+				},{
+					time:'22:00-24:00',
+					hs:22,
+					he:23
+				}
+				]
+			}
+		},
+		computed: {
+			gettime(){
+				// 计算时间
+				let state = '已开抢'
+				let nowTime = new Date();
+				let h =nowTime.getHours();
+				
+				return h;
+			}
+		},
+		mounted(){
+			console.log(this.gettime)
+			for(let i in this.qgItems){
+				if (this.qgItems[i].hs <= this.gettime){
+					this.tabIndex = i;
+					this.scrollLeft = i*50;
+				}
+			}
+		},
+		methods: {
+			gettqg(item, index) {
+				console.log(JSON.stringify(item))
+				if (this.tabIndex !== index) {
+					this.tabIndex = index;
+					this.scrollLeft = index*50;
+					this.$emit('clickItem', item);
+				}
+			}
+		},
 	}
 	}
-};
 </script>
 </script>
 
 
-<style lang="scss" scoped>
-	
-</style>
+<style scoped>
+	.list {
+		width: 750upx;
+		height: 100%;
+	}
+	.swiper-box {
+		flex: 1;
+		width: 100%;
+		height: calc(100% - 100upx);
+	}
+	.swiper-tab {
+		width: 100%;
+		white-space: nowrap;
+		line-height: 64upx;
+		height: 116upx;
+		border:0;
+		font-size:24upx;
+	}
+	.swiper-tab-list {
+		font-size: 30upx;
+		width: 180upx;
+		padding: 5px 0;
+		display: inline-block;
+		text-align: center;
+		color: #fff;
+		background: #000;
+		line-height:20px;
+	}
+	.list-item{
+		display:flex;
+		flex-direction: column;
+		align-items: center;
+	}
+	.qg_active {
+		color: #fff;
+		background:#FF502E;
+	}
+	.qgactive-item{
+		width: 0;
+		height: 0;
+		border-width: 5px;
+		border-style: solid;
+		border-color: #FF502E transparent transparent transparent;
+		position:absolute;
+		margin-top:45px;
+	}
+</style>

+ 48 - 12
pages/device/device.vue

@@ -1,7 +1,13 @@
 <template>
 <template>
 	<view class="container">
 	<view class="container">
 		<view class="tabs">
 		<view class="tabs">
-			<u-subsection height="90" active-color="#2f7ff5"  :list="subsectionList" :animation="false" :current="subsectionCurrent" @change="subsectionChange"></u-subsection>
+			<scroll-view scroll-x class="nav" style="background-color: #efefef;color: #5b5b5b;">
+				<view class="flex text-center">
+					<view class="cu-item flex-sub" :class="index==subsectionCurrent?'text-checked':''" v-for="(item,index) in subsectionList" :key="index" @tap="subsectionChange(index)" >
+						{{item.name}}
+					</view>
+				</view>
+			</scroll-view>
 			<view class="" style="height: 20rpx;"></view>
 			<view class="" style="height: 20rpx;"></view>
 		</view>
 		</view>
 		<view style="height: 100%;">
 		<view style="height: 100%;">
@@ -49,7 +55,7 @@
 									<view class="intro">
 									<view class="intro">
 										<view class="left">
 										<view class="left">
 											<view class="cu-tag sm bg-red radius" v-if="index==0"  >
 											<view class="cu-tag sm bg-red radius" v-if="index==0"  >
-												<text >热卖中</text>
+												<text >家庭必备</text>
 											</view>
 											</view>
 											<view class="study text-red">
 											<view class="study text-red">
 												¥ {{item.price}}元
 												¥ {{item.price}}元
@@ -82,25 +88,47 @@
 			return {
 			return {
 				goodsList:[
 				goodsList:[
 					{
 					{
-						image:'/static/yangan.jpg',
-						name:'NB-IOT烟雾报警器家用WIFI无线消防认证感应火灾智能烟感探测器',
-						price:'99'
+						image:'http://139.9.103.171:1888/miniofile/app/del/3.png',
+						name:'面积80M²以下 千兆路由器1台 上门安装调测1次',
+						price:'269'
+					},
+					{
+						image:'http://139.9.103.171:1888/miniofile/app/del/4.png',
+						name:'路由器/电力猫 代装服务',
+						price:'100'
+					},
+					{
+						image:'http://139.9.103.171:1888/miniofile/app/del/1172ba52446aeaa027e2442a7aadac8.jpg',
+						name:'中国电信天翼看家TP-LINK云摄像云存储回看专业师傅上门安装',
+						price:'347'
+					},
+					{
+						image:'http://139.9.103.171:1888/miniofile/app/del/2.png',
+						name:'面积80-140M² 分布式路由器1对 上门安装调测1次',
+						price:'289.9'
+					},
+					
+					{
+						image:'http://139.9.103.171:1888/miniofile/app/del/e77500992d0740707b142ef237aabb4.jpg',
+						name:'全屋wifi 千兆路由器',
+						price:'289.9'
 					},
 					},
 					{
 					{
-						image:'http://139.9.103.171:1888/miniofile/app/yanwubaojin.jpg',
-						name:'海康威视独立式烟雾报警器家用厨房商用感应消防专用3c认证探测器',
-						price:'78'
+						image:'/static/yangan.jpg',
+						name:'烟雾报警器家用',
+						price:'254'
 					},
 					},
 					{
 					{
 						image:'http://139.9.103.171:1888/miniofile/app/ad3d6aa4bbd5b98bb27395f7220b7de.jpg',
 						image:'http://139.9.103.171:1888/miniofile/app/ad3d6aa4bbd5b98bb27395f7220b7de.jpg',
-						name:'涂鸦云版智能WiFi 燃气传感器手机APP远程监控语音报警器家用',
-						price:'86'
+						name:'家用燃气传感器',
+						price:'299'
 					},
 					},
 					{
 					{
 						image:'http://139.9.103.171:1888/miniofile/app/f890a65d984b9bb2d84617c25781d32.jpg',
 						image:'http://139.9.103.171:1888/miniofile/app/f890a65d984b9bb2d84617c25781d32.jpg',
-						name:'老人报警器一键式呼救机远程紧急求救按钮家用无线病人床头呼叫器',
-						price:'128'
+						name:'一键报警器',
+						price:'356'
 					},
 					},
+					
 				],
 				],
 				
 				
 				subsectionCurrent:0,
 				subsectionCurrent:0,
@@ -160,6 +188,14 @@
 			z-index: 3;
 			z-index: 3;
 		  }
 		  }
 	}
 	}
+	
+	.text-checked{
+		font-weight: 800;
+		background-color: #FFFFFF;
+		color: #2f7ff5;
+		font-size: 800;
+	}
+	
 	view{
 	view{
 		box-sizing: border-box;
 		box-sizing: border-box;
 	}
 	}

+ 132 - 0
pages/guest/guest_form.vue

@@ -0,0 +1,132 @@
+<template>
+	<view>
+		<view class="card" >
+			<view class="form">
+				<view class="flex">
+					<view class="need" >*</view>
+					<view>访问小区</view>
+				</view>
+				<view class="bg-gray padding-20 "  >
+					<input disabled type="text"  value="阅海万家D区" />
+				</view>
+			</view>
+			<view class="form">
+				<view class="flex">
+					<view class="need" >*</view>
+					<view>访问日期</view>
+				</view>
+				<view class="bg-gray padding-20 "  >
+					<input disabled=""  type="text"  v-model="data.visitTime" />
+				</view>
+			</view>
+			<view class="form">
+				<view class="flex">
+					<view class="need" >*</view>
+					<view>接待人</view>
+				</view>
+				<view class="bg-gray padding-20 "  >
+					<input  type="text" placeholder="请填写接待人"  v-model="data.receiver" />
+				</view>
+			</view>
+			<view class="form">
+				<view class="flex">
+					<view class="need" >*</view>
+					<view>来访者姓名:</view>
+				</view>
+				<view class="bg-gray padding-20 "  >
+					<input  type="text" placeholder="请填写您的姓名" v-model="data.visitName" />
+				</view>
+			</view>
+			<view class="form ">
+				<view class="flex">
+					<view class="need" >*</view>
+					<view>来访者联系方式</view>
+				</view>
+				<view class="bg-gray padding-20 " >
+					<input maxlength="11" type="number" placeholder="请输入您的联系方式" v-model="data.phone" />
+				</view>
+			</view>
+		</view>
+		
+		<view class="card ">
+			<view class="form" style="height: 320rpx;">
+				<view class="flex">
+					<view class="need" >*</view>
+					<view>来访原因</view>
+				</view>
+				<view  class="bg-gray padding-10">
+					<textarea @click="showMask"   v-model="data.visitReason" maxlength="100" style="width: 100%;height: 270rpx;line-height: 50rpx;"  placeholder="请填写来访原因"></textarea>
+					<view  class="text-right text-df text-gray padding-top-10">
+						{{data.visitReason.length}} / 100
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="bg-white" style="height: 160rpx;"></view>
+		<view style="z-index: 999;" class=" footer-fixed" @click="submit">
+			<view class="cu-btn  flex  text-lg bg-red-btn" style="padding: 46rpx 0;">
+				确定提交
+			</view>
+		</view>
+		<u-mask z-index="99999" :show="maskShow" @click="hideMask">
+			<view style="margin: 20rpx;" @click.stop="">
+				<textarea  @keyboardheightchange="keyboardheightchange" v-model="data.visitReason"  value="" style="background-color: #FFFFFF;width: 100%;padding: 20rpx;box-sizing: border-box;" placeholder="请填写来访原因" />
+				<view  class="bg-white text-right text-df text-gray padding-10">
+					{{data.visitReason.length}} / 100
+				</view>
+			</view>
+		</u-mask>
+		
+	</view>
+</template>
+
+<script>
+	var app=getApp()
+	var that;
+	export default {
+		components:{
+			
+		},
+		data() {
+			return {
+				data:{
+					//访客联系方式
+					phone:'19124812874',
+					//访客姓名
+					visitName:'黄明潘',
+					//访问时间
+					visitTime:this.$u.timeFormat(new Date(),'yyyy-mm-dd hh:MM:ss'),
+					//访问原因
+					visitReason:'看看小婉君',
+					//接单人
+					receiver:'小婉君'
+				}
+			}
+		},
+		onLoad() {
+			that=this
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	.bg-gray{
+		background-color: #f7f7f7;
+	}
+	.card{
+		box-sizing: border-box;
+		background-color: #FFFFFF;
+	}
+	.card .form{
+		padding: 20rpx 40rpx;
+	}
+	.need{
+		font-size: 38rpx;
+		font-weight: 800;
+		color: #ff0000;
+		padding-right: 10rpx;
+	}
+</style>

+ 1 - 1
pages/guest/open_door.vue

@@ -6,7 +6,7 @@
 				<view class="cu-item" v-for="(item,index) in device_list" :key="index">
 				<view class="cu-item" v-for="(item,index) in device_list" :key="index">
 					<label class="flex justify-between align-center flex-sub">
 					<label class="flex justify-between align-center flex-sub">
 						<view class="flex-sub margin-left-sm">{{item.name}}</view>
 						<view class="flex-sub margin-left-sm">{{item.name}}</view>
-						<radio class="roundn red" :class="doorValue==item.id?'checked':''" :checked="doorValue==item.id?true:false"
+						<radio class="roundn blue" :class="doorValue==item.id?'checked':''" :checked="doorValue==item.id?true:false"
 						 :value="item.id"></radio>
 						 :value="item.id"></radio>
 					</label>
 					</label>
 				</view>
 				</view>

+ 51 - 64
pages/index/index.vue

@@ -1,23 +1,6 @@
 <template>
 <template>
 	<view class="content">
 	<view class="content">
 		<view class="">
 		<view class="">
-<!-- 			<view  class="cu-modal" :class="modalShow?'show':''"  @tap="modalShow=false">
-				<view  class="cu-dialog" @tap.stop="">
-					<view class="bg-white" style="height: 20rpx;"></view>
-					<radio-group  class="block" @change="RadioChange">
-						<view class="cu-list menu text-left">
-							<view class="cu-item" v-for="(item,index) in device_list" :key="index">
-								<label class="flex justify-between align-center flex-sub">
-									<view class="flex-sub margin-left-sm">{{item.name}}</view>
-									<radio class="roundn blue" :class="doorValue==item.id?'checked':''" :checked="doorValue==item.id?true:false"
-									 :value="item.id"></radio>
-								</label>
-							</view>
-						</view>
-					</radio-group>
-					<view class="bg-white" style="height: 120rpx;"></view>
-				</view>
-			</view> -->
 			<loading  isFullScreen color="#2f7ff5" :active="isloading" text="开门中..."></loading>
 			<loading  isFullScreen color="#2f7ff5" :active="isloading" text="开门中..."></loading>
 			<u-navbar :is-back="false" title=" ">
 			<u-navbar :is-back="false" title=" ">
 				<view class="slot-wrap">
 				<view class="slot-wrap">
@@ -39,7 +22,7 @@
 			</swiper>
 			</swiper>
 			<view class="">
 			<view class="">
 				<view class="bg-white" style="height: 10rpx;"></view>
 				<view class="bg-white" style="height: 10rpx;"></view>
-				<hotConsult  @onTap="jump('../notice/notice')" @detailTap="jump('../notice/detail')" :swiperTexts="swiperTexts"></hotConsult>
+				<hotConsult  @onTap="jump('../notice/notice')" @detailTap="goNoticeDetail" :swiperTexts="noticeList"></hotConsult>
 			</view>
 			</view>
 			
 			
 			<view style="background-color: #FFFFFF;">
 			<view style="background-color: #FFFFFF;">
@@ -63,8 +46,9 @@
 						<view class="cu-tag bg-orange badge" v-if="item.badge>0">{{item.badge}}</view>
 						<view class="cu-tag bg-orange badge" v-if="item.badge>0">{{item.badge}}</view>
 					</view>
 					</view>
 				</view>
 				</view>
+				<!-- 设备列表 -->
 				<view v-if="modalShow==true" class="flex justify-around margin-top-30" >
 				<view v-if="modalShow==true" class="flex justify-around margin-top-30" >
-					<view @click="open" v-for="(item,index) in device_list" :key="index" style="flex-direction: column;" class="flex justify-center align-center">
+					<view @click="open(item.id)" v-for="(item,index) in device_list" :key="index" style="flex-direction: column;" class="flex justify-center align-center">
 						<image style="width: 60rpx;height: 60rpx;" src="../../static/grid1/kaimen.png"/>
 						<image style="width: 60rpx;height: 60rpx;" src="../../static/grid1/kaimen.png"/>
 						<view class="text-center padding-top-20" style="font-size: 24rpx;">
 						<view class="text-center padding-top-20" style="font-size: 24rpx;">
 							{{item.name}}
 							{{item.name}}
@@ -124,26 +108,12 @@
 				isloading:false,
 				isloading:false,
 				modalShow:false,
 				modalShow:false,
 				//开门设备列表
 				//开门设备列表
-				doorValue:'',
 				device_list: [],
 				device_list: [],
 				
 				
 				background: {
 				background: {
 					backgroundColor: '#e54d42',
 					backgroundColor: '#e54d42',
 				},
 				},
-				swiperTexts:[
-					{
-						title:'疫情期间,出入小区请佩戴好口罩,配合门卫大叔做好测温登记工作。谢谢大家的配合。'
-					},
-					{
-						title:'停水停电通知。市政通水设施突发性故障抢修,本小区供水压力暂受影响,敬请做好储水准备,预约影响时间2020年11月28号22时至11月29号16时,由此给您带来不便,敬请谅解。'
-					},
-					{
-						title:'2020年10月1日-2020年10月8日,中秋 国庆节放假,假期间需注意,祝国庆节玩的开心。'
-					},
-					{
-						title:'疫情期间,出入小区请佩戴好口罩,配合门卫大叔做好测温登记工作。谢谢大家的配合。'
-					}
-				],
+				noticeList:[],
 				
 				
 				userInfo:{},
 				userInfo:{},
 				jsCode:'',
 				jsCode:'',
@@ -192,20 +162,6 @@
 					icon: '../../static/home/more.png',
 					icon: '../../static/home/more.png',
 					index:99
 					index:99
 				}],
 				}],
-				gridList2:[
-					{
-						icon:'../../static/grid1/kaisuo.png',
-						title:"A区",
-						badge:0,
-						index:1
-					},
-					{
-						icon:'../../static/grid1/kaisuo.png',
-						title:"D区",
-						badge:0,
-						index:1
-					},
-				],
 				gridList:[
 				gridList:[
 					{
 					{
 						icon:'../../static/grid1/fangwu.png',
 						icon:'../../static/grid1/fangwu.png',
@@ -267,18 +223,17 @@
 			this.fetchGoodsList()
 			this.fetchGoodsList()
 		},
 		},
 		methods: {
 		methods: {
-			open(){
+			open(id){
 				//进度条加载
 				//进度条加载
 				this.isloading=true
 				this.isloading=true
 				let that=this
 				let that=this
 				setTimeout(()=>{
 				setTimeout(()=>{
-					that.openDoor()
+					that.openDoor(id)
 				},2300)
 				},2300)
 			},
 			},
 			//立即开门
 			//立即开门
-			openDoor: function (event) {
-				 // let device_id = event.currentTarget.dataset.device_id;
-				 let device_id=this.doorValue
+			openDoor: function (id) {
+				 let device_id=id
 				 let that = this;
 				 let that = this;
 				 let params = {};
 				 let params = {};
 				 params['member_id'] = app.globalData.member.id;
 				 params['member_id'] = app.globalData.member.id;
@@ -297,15 +252,14 @@
 			  params['member_id'] = app.globalData.member.id;
 			  params['member_id'] = app.globalData.member.id;
 			  let operation = 'member/getAuthDeviceByMemberId';
 			  let operation = 'member/getAuthDeviceByMemberId';
 			  app.globalData.postRequest(params, operation, function (res) {
 			  app.globalData.postRequest(params, operation, function (res) {
-			    console.info("查询结果:" + res.data.result_msg); //获取成功
-			
+			    console.info("设备列表:" ,res.data); //获取成功
 			    if (res.data.result_code == 1) {
 			    if (res.data.result_code == 1) {
 			      let list = [];
 			      let list = [];
 			      if (uni.getStorageSync('plotName')) {
 			      if (uni.getStorageSync('plotName')) {
 			        res.data.list.map(item => {
 			        res.data.list.map(item => {
-			          if (item.name.indexOf(uni.getStorageSync('plotName')) >= 0) {
-			            list.push(item);
-			          }
+						if (item.residentialId.indexOf(uni.getStorageSync('residentialId'))>=0) {
+							list.push(item);
+						}
 			        });
 			        });
 			      } else {
 			      } else {
 					 console.log(res.data.list)
 					 console.log(res.data.list)
@@ -315,10 +269,6 @@
 				 that.setData({
 				 that.setData({
 					device_list: list
 					device_list: list
 				  });
 				  });
-				 console.log(that.device_list)
-				 if(!that.$isEmpty(that.device_list)){
-					 that.doorValue=that.device_list[0].id
-				 }
 			      app.globalData.device_list = list;
 			      app.globalData.device_list = list;
 			    }
 			    }
 			  });
 			  });
@@ -329,6 +279,8 @@
 				await this.$nextTick(function(){
 				await this.$nextTick(function(){
 					 this.touristLogin()
 					 this.touristLogin()
 				})
 				})
+				//加载通知公告
+				this.fetchNoticeList()
 			},
 			},
 			getParam(e){
 			getParam(e){
 				// 用来保存所有的属性名称和值
 				// 用来保存所有的属性名称和值
@@ -407,6 +359,9 @@
 					})
 					})
 				}
 				}
 			},
 			},
+			/**
+			 * 获取商品推荐列表
+			 */
 			async fetchGoodsList(){
 			async fetchGoodsList(){
 				let indexProduct = await this.$api.storeHomeProducts();
 				let indexProduct = await this.$api.storeHomeProducts();
 				this.goodsList=indexProduct[1].products
 				this.goodsList=indexProduct[1].products
@@ -436,6 +391,9 @@
 			      plot: value
 			      plot: value
 			    });
 			    });
 				
 				
+				//更新设备列表
+				_this.getAuthDevice()
+				
 			  }).catch(error => {
 			  }).catch(error => {
 			    console.log(error);
 			    console.log(error);
 			  });
 			  });
@@ -464,6 +422,9 @@
 			    });
 			    });
 			  }
 			  }
 			},
 			},
+			/**
+			 * 获取轮播图列表
+			 */
 			getAdList: function () {
 			getAdList: function () {
 			  let that = this;
 			  let that = this;
 			  let params = {};
 			  let params = {};
@@ -480,6 +441,15 @@
 			    }
 			    }
 			  });
 			  });
 			},
 			},
+			fetchNoticeList(){
+				let that=this
+				let operation='notice/noticeList'
+				let params={}
+				app.globalData.postRequest(params, operation, function (res) {
+				  //获取成功
+				  that.noticeList=res.data.noticeList
+				});
+			},
 			//获取openid
 			//获取openid
 			getOpenId: function () {
 			getOpenId: function () {
 			  var openid = uni.getStorageSync("openid");
 			  var openid = uni.getStorageSync("openid");
@@ -490,6 +460,7 @@
 			      success: res => {
 			      success: res => {
 			        let params = {};
 			        let params = {};
 			        params['js_code'] = res.code;
 			        params['js_code'] = res.code;
+					params['name'] = 'community';
 					that.jsCode=res.code
 					that.jsCode=res.code
 			        let operation = 'miniprogram/getOpenid'; //发起请求
 			        let operation = 'miniprogram/getOpenid'; //发起请求
 			        app.globalData.postRequest(params, operation, function (res) {
 			        app.globalData.postRequest(params, operation, function (res) {
@@ -554,7 +525,7 @@
 			  params['member_id'] = app.globalData.member.id;
 			  params['member_id'] = app.globalData.member.id;
 			  let operation = 'estate/getRoomByMemberId';
 			  let operation = 'estate/getRoomByMemberId';
 			  app.globalData.postRequest(params, operation, function (res) {
 			  app.globalData.postRequest(params, operation, function (res) {
-			    console.info("获取成功" + res.data.result_msg); //获取成功
+			    console.info("获取成功" , res.data); //获取成功
 			    let list = [];
 			    let list = [];
 				
 				
 			    let residentialIdList = [];
 			    let residentialIdList = [];
@@ -597,7 +568,13 @@
 				  	key:"residentialList",
 				  	key:"residentialList",
 					data:residentialList
 					data:residentialList
 				  })
 				  })
-				  console.log();
+				  
+				  //为 小区 picker 设置默认项
+				  let defaultPlotId=uni.getStorageSync("residentialId")
+				  if (!that.$isEmpty(defaultPlotId)) {
+					 that.plotIndex=residentialIdList.indexOf(defaultPlotId)
+				  }
+				  
 			      that.setData({
 			      that.setData({
 			        plotArray: list,
 			        plotArray: list,
 			        residentialIdList: residentialIdList
 			        residentialIdList: residentialIdList
@@ -605,6 +582,10 @@
 			    }
 			    }
 			  });
 			  });
 			},
 			},
+			/**
+			 * 跳转
+			 * @param {Object} index 当前项的index属性,而不是当前项的下标
+			 */
 			top: function (index) {
 			top: function (index) {
 			 if (index==5) {
 			 if (index==5) {
 				 if (this.$isEmpty(this.device_list)) {
 				 if (this.$isEmpty(this.device_list)) {
@@ -738,6 +719,12 @@
 			      app.globalData.oneFailHint(res.data.result_msg);
 			      app.globalData.oneFailHint(res.data.result_msg);
 			    }
 			    }
 			  });
 			  });
+			},
+			goNoticeDetail(item){
+				app.globalData.noticeDetail=item
+				uni.navigateTo({
+					url:"../notice/detail",
+				})
 			}
 			}
 		}
 		}
 	}
 	}

+ 10 - 16
pages/myFamily/myFamily.vue

@@ -70,8 +70,8 @@
 					</view>
 					</view>
 				</swiper-item>
 				</swiper-item>
 				<swiper-item class="swiper-item">
 				<swiper-item class="swiper-item">
-					<scroll-view v-if="apply_user_list.length>0" scroll-y style="height: 100%;width: 100%;" @scrolltolower="reachBottom">
-						<view class="myFamily" v-if="apply_user_list.length>0">
+					<scroll-view v-if="!$isEmpty(apply_user_list)" scroll-y style="height: 100%;width: 100%;" @scrolltolower="reachBottom">
+						<view class="myFamily">
 						  <view style="border-bottom: 1rpx solid #b6b6b6;" v-for="(item, index) in apply_user_list" :key="index" class="nav_list" hover-class="none">
 						  <view style="border-bottom: 1rpx solid #b6b6b6;" v-for="(item, index) in apply_user_list" :key="index" class="nav_list" hover-class="none">
 						    <view class="flex">
 						    <view class="flex">
 								<view class="margin-right-10 " style="margin-top: 2rpx;">
 								<view class="margin-right-10 " style="margin-top: 2rpx;">
@@ -124,7 +124,7 @@
 						  </view>
 						  </view>
 						</view>
 						</view>
 					</scroll-view>
 					</scroll-view>
-					<view class="default" v-if="apply_user_list==null || apply_user_list.length==0">
+					<view class="default" v-else>
 						<image src="/static/empty.png" mode="heightFix"></image>
 						<image src="/static/empty.png" mode="heightFix"></image>
 					  <view>
 					  <view>
 					    <text>没有相关信息</text>
 					    <text>没有相关信息</text>
@@ -132,8 +132,8 @@
 					</view>
 					</view>
 				</swiper-item>
 				</swiper-item>
 				<swiper-item class="swiper-item">
 				<swiper-item class="swiper-item">
-					<scroll-view scroll-y style="height: 100%;width: 100%;">
-						<view class="myFamily" v-if="auditList.length>0">
+					<scroll-view  v-if="!$isEmpty(auditList)" scroll-y style="height: 100%;width: 100%;">
+						<view class="myFamily">
 						  <view style="border-bottom: 1rpx solid #b6b6b6;" v-for="(item, index) in auditList" :key="index" class="nav_list" hover-class="none">
 						  <view style="border-bottom: 1rpx solid #b6b6b6;" v-for="(item, index) in auditList" :key="index" class="nav_list" hover-class="none">
 						    <view class="flex">
 						    <view class="flex">
 						    	<view style="width: 40rpx;height: 40rpx;padding-right: 10rpx;">
 						    	<view style="width: 40rpx;height: 40rpx;padding-right: 10rpx;">
@@ -186,7 +186,7 @@
 						  </view>
 						  </view>
 						</view>
 						</view>
 					</scroll-view>
 					</scroll-view>
-					<view class="default" v-if="auditList==null || auditList.length==0">
+					<view class="default" v-else>
 					<image src="/static/empty.png" mode="heightFix"></image>
 					<image src="/static/empty.png" mode="heightFix"></image>
 					  <view>
 					  <view>
 					    <text>没有相关信息</text>
 					    <text>没有相关信息</text>
@@ -197,13 +197,7 @@
 		</view>
 		</view>
 		<u-select z-index="9999999"  mode="single-column"  value-name="id" label-name="name" v-model="locationShow" :list="room_list" @confirm="roomChange"></u-select>
 		<u-select z-index="9999999"  mode="single-column"  value-name="id" label-name="name" v-model="locationShow" :list="room_list" @confirm="roomChange"></u-select>
 		<view style="height: 10rpx;"></view>
 		<view style="height: 10rpx;"></view>
-		<!-- <navigator url="/pages/myFamily/addFamily/addFamily" v-if="own_room_list.length>0" class="bg-white footer-fixed padding-10" >
-			<view class="cu-btn  flex radius text-lg" style="padding: 46rpx 0;background-color: #5db5fe;color: #FFFFFF;">
-				添加家人
-				
-			</view>
-		</navigator> -->
-		<view @click="add" v-if="own_room_list.length>0" class=" footer-fixed" >
+		<view @click="add" v-if="!$isEmpty(own_room_list)" class=" footer-fixed" >
 			<view class="cu-btn  flex  text-lg bg-red-btn" style="padding: 46rpx 0;">
 			<view class="cu-btn  flex  text-lg bg-red-btn" style="padding: 46rpx 0;">
 				添加家人
 				添加家人
 			</view>
 			</view>
@@ -337,7 +331,7 @@ export default {
 		
 		
 		      for (let index in user_list) {
 		      for (let index in user_list) {
 		        user_list[index].createDate = util.formatTime(user_list[index].createDate);
 		        user_list[index].createDate = util.formatTime(user_list[index].createDate);
-		        if (own_room_list.length > 0) {
+		        if (!that.$isEmpty(own_room_list)) {
 		          for (let i in own_room_list) {
 		          for (let i in own_room_list) {
 		            //该成员有被会员修改的权限
 		            //该成员有被会员修改的权限
 		            if (user_list[index].roomId == own_room_list[i].id) {
 		            if (user_list[index].roomId == own_room_list[i].id) {
@@ -397,7 +391,7 @@ export default {
 		        //格式化日期
 		        //格式化日期
 		        apply_user_list[index].createDate = util.formatTime(apply_user_list[index].createDate);
 		        apply_user_list[index].createDate = util.formatTime(apply_user_list[index].createDate);
 		
 		
-		        if (own_room_list.length > 0) {
+		        if (!that.$isEmpty(own_room_list)) {
 		          //有业主身份的房子
 		          //有业主身份的房子
 		          for (let i in own_room_list) {
 		          for (let i in own_room_list) {
 		            //该成员有被会员修改的权限--审核不通过
 		            //该成员有被会员修改的权限--审核不通过
@@ -456,7 +450,7 @@ export default {
 		    if (res.data.result_code == 1) {
 		    if (res.data.result_code == 1) {
 		      let list = [];
 		      let list = [];
 		      if (uni.getStorageSync('plotName')) {
 		      if (uni.getStorageSync('plotName')) {
-		        if (that.room_ids.length > 0) {
+		        if (!that.$isEmpty(that.room_ids)) {
 		          that.room_ids.splice(0, that.room_ids.length);
 		          that.room_ids.splice(0, that.room_ids.length);
 		        }
 		        }
 		        res.data.list.map(item => {
 		        res.data.list.map(item => {

+ 12 - 4
pages/notice/detail.vue

@@ -1,24 +1,32 @@
 <template>
 <template>
 	<view>
 	<view>
 		<!--文章标题-->
 		<!--文章标题-->
-		<view class="text-black text-bold text-lg title">停水停电通知。</view>
+		<view class="text-black  text-bold  title" style="font-size: 40rpx;">{{dataDetail.title}}</view>
+		<view class="text-gray " style="padding: 0 0 30rpx 30rpx;">
+			<text class="cuIcon-time padding-right-10"></text>
+			<text>{{dataDetail.createDate}}</text>
+		</view>
 		<view class="content-view-box">
 		<view class="content-view-box">
 			<view class="font-view">
 			<view class="font-view">
-				<u-parse :html="content"></u-parse>
+				<u-parse :html="dataDetail.content"></u-parse>
 			</view>
 			</view>
 		</view>
 		</view>
 	</view>
 	</view>
 </template>
 </template>
 
 
 <script>
 <script>
+	var app=getApp()
 	export default {
 	export default {
 		components: {
 		components: {
 		},
 		},
 		data() {
 		data() {
 			return {
 			return {
-				content:'市政通水设施突发性故障抢修,本小区供水压力暂受影响,敬请做好储水准备,预约影响时间2020年11月28号22时至11月29号16时,由此给您带来不便,敬请谅解。'
+				dataDetail:{},
 			}
 			}
 		},
 		},
+		onShow() {
+			this.dataDetail=app.globalData.noticeDetail
+		},
 		onLoad(options) {
 		onLoad(options) {
 			
 			
 		},
 		},
@@ -41,7 +49,7 @@
 		position: relative;
 		position: relative;
 		.font-view {
 		.font-view {
 			padding: 27.27rpx;
 			padding: 27.27rpx;
-			line-height: 1.7;
+			line-height: 1.9;
 		}
 		}
 		image {
 		image {
 			width: 100%;
 			width: 100%;

+ 39 - 31
pages/notice/notice.vue

@@ -1,12 +1,12 @@
 <template>
 <template>
 	<view>
 	<view>
 		<view class="cu-load padding-top-10" :class="ajax.loading?'loading':''" @tap="getHistoryMsg"></view>
 		<view class="cu-load padding-top-10" :class="ajax.loading?'loading':''" @tap="getHistoryMsg"></view>
-		<navigator :url="'./detail?id='+item.id" class="cart-view-box" v-for="(item,index) in msgList" :key="index" :id="`msg-${item.id}`">
-			<view class="text-gray text-center">{{item.time}}</view>
-			<view class="bg-white margin-top radius card-view">
+		<view  class="cart-view-box" v-for="(item,index) in msgList" :key="index" :id="`msg-${item.id}`">
+			<view class="text-gray text-center">{{item.createDate}}</view>
+			<view @click="goDetail(item)" class="bg-white margin-top radius card-view">
 				<view class="content-view">
 				<view class="content-view">
 					<view class="text-black text-bold text-lg text-cut">{{item.title}}</view>
 					<view class="text-black text-bold text-lg text-cut">{{item.title}}</view>
-					<view class=" text-sm text-cut-2 subtitle">{{item.subtitle}}</view>
+					<view class=" text-sm text-cut-2 subtitle">{{item.content}}</view>
 					<view class="flex  justify-between padding-top-20" style=" border-top: 1rpx solid #f2f2f2;box-sizing: border-box;">
 					<view class="flex  justify-between padding-top-20" style=" border-top: 1rpx solid #f2f2f2;box-sizing: border-box;">
 						<view class="text-df text-black">
 						<view class="text-df text-black">
 							<text>查看详情</text>
 							<text>查看详情</text>
@@ -17,12 +17,13 @@
 					</view>
 					</view>
 				</view>
 				</view>
 			</view>
 			</view>
-		</navigator>
+		</view>
 	</view>
 	</view>
 </template>
 </template>
 
 
 <script>
 <script>
 	import DtCustomBar from '@/comps/dt_custom_bar.vue'
 	import DtCustomBar from '@/comps/dt_custom_bar.vue'
+	var app=getApp()
 	export default {
 	export default {
 		components:{
 		components:{
 			DtCustomBar
 			DtCustomBar
@@ -52,6 +53,12 @@
 		onLoad() {
 		onLoad() {
 		},
 		},
 		methods: {
 		methods: {
+			goDetail(item){
+				app.globalData.noticeDetail=item
+				uni.navigateTo({
+					url:"./detail"
+				})
+			},
 			// 获取历史消息
 			// 获取历史消息
 			getHistoryMsg(){
 			getHistoryMsg(){
 				if(!this.ajax.flag){
 				if(!this.ajax.flag){
@@ -63,7 +70,6 @@
 					this.ajax.flag = false;
 					this.ajax.flag = false;
 					let data = await this.joinHistoryMsg();
 					let data = await this.joinHistoryMsg();
 					
 					
-					console.log('----- 模拟数据格式,供参考 -----');
 					console.log(data);	// 查看请求返回的数据结构 
 					console.log(data);	// 查看请求返回的数据结构 
 					
 					
 					// 获取待滚动元素选择器,解决插入数据后,滚动条定位时使用
 					// 获取待滚动元素选择器,解决插入数据后,滚动条定位时使用
@@ -106,35 +112,37 @@
 			},
 			},
 			// 拼接历史记录消息,正式项目可替换为请求历史记录接口
 			// 拼接历史记录消息,正式项目可替换为请求历史记录接口
 			joinHistoryMsg(){
 			joinHistoryMsg(){
-				let join = ()=>{
-					let arr = [];
-					//通过当前页码及页数,模拟数据内容
-					let startIndex = (this.ajax.page-1) * this.ajax.rows;
-					let endIndex = startIndex + this.ajax.rows;
-					for(let i = startIndex; i < endIndex; i++){
-						arr.push({
-							"id":i,	// 消息的ID
-							"time":'2020年11月18日 11:00:18',
-							"title":`${i+1}放假通知`,	// 消息内容
-							"subtitle":'2020年10月1日-2020年10月8日,中秋 国庆节放假,假期间需注意,祝国庆节玩的开心。'	,
-						})
-					}
-					/*
-						颠倒数组中元素的顺序。将最新的数据排在本次接口返回数据的最后面。
-						后端接口按 消息的时间降序查找出当前页的数据后,再将本页数据按消息时间降序排序返回。
-						这是数据的重点,因为页面滚动条和上拉加载历史的问题。
-					 */
-					arr.reverse();
-					
-					return arr;
-				}
-				
+				console.log(this.ajax.page);
+				console.log(this.ajax.rows);
+				// let join = ()=>{
+				// 	let arr = [];
+				// 	//通过当前页码及页数,模拟数据内容
+				// 	let startIndex = (this.ajax.page-1) * this.ajax.rows;
+				// 	let endIndex = startIndex + this.ajax.rows;
+				// 	for(let i = startIndex; i < endIndex; i++){
+				// 		arr.push({
+				// 			"id":i,	// 消息的ID
+				// 			"time":'2020年11月18日 11:00:18',
+				// 			"title":`${i+1}放假通知`,	// 消息内容
+				// 			"subtitle":'2020年10月1日-2020年10月8日,中秋 国庆节放假,假期间需注意,祝国庆节玩的开心。'	,
+				// 		})
+				// 	}
+				// 	arr.reverse();
+				// 	return arr;
+				// }
 				// 此处用到 ES6 的 Promise 知识,不懂的请自行学习。
 				// 此处用到 ES6 的 Promise 知识,不懂的请自行学习。
 				return new Promise((done,fail)=>{
 				return new Promise((done,fail)=>{
 					// 无数据请求接口,由 setTimeout 模拟,正式项目替换为 ajax 即可。
 					// 无数据请求接口,由 setTimeout 模拟,正式项目替换为 ajax 即可。
+					
 					setTimeout(()=>{
 					setTimeout(()=>{
-						let data = join();
-						done(data);
+						let that=this
+						let operation='notice/noticeList'
+						let params={}
+						app.globalData.postRequest(params, operation, function (res) {
+						  //获取成功
+						  done(res.data.noticeList);
+						});
+						
 					},800);
 					},800);
 				})
 				})
 			},
 			},

+ 1 - 5
pages/services/property/comment.vue

@@ -4,7 +4,7 @@
 			<textarea maxlength="120" v-model="comment"  placeholder="请输入您的评价"/>
 			<textarea maxlength="120" v-model="comment"  placeholder="请输入您的评价"/>
 			<text class="text-gray font-num-view">{{comment.length}} / 120字</text>
 			<text class="text-gray font-num-view">{{comment.length}} / 120字</text>
 		</view>
 		</view>
-		<view @click="save" class="cu-btn lg radius flex  base-bg-color footer-fixed">
+		<view @click="save" class="cu-btn lg radius flex  bg-red footer-fixed">
 			确认保存
 			确认保存
 		</view>
 		</view>
 	</view>
 	</view>
@@ -17,9 +17,6 @@
 				comment:'',
 				comment:'',
 				dataDetail:{}
 				dataDetail:{}
 			}
 			}
-		},
-		onLoad(e) {
-			
 		},
 		},
 		onShow() {
 		onShow() {
 			this.dataDetail=app.globalData.dataDetail
 			this.dataDetail=app.globalData.dataDetail
@@ -41,7 +38,6 @@
 				app.globalData.postRequest(this.dataDetail, operation, function (res) {
 				app.globalData.postRequest(this.dataDetail, operation, function (res) {
 					if (res.data.add_result==true) {
 					if (res.data.add_result==true) {
 						app.globalData.oneFailHint("评价成功",function(){
 						app.globalData.oneFailHint("评价成功",function(){
-							app.globalData.dataDetail=that.dataDetail
 							uni.navigateBack({
 							uni.navigateBack({
 								delta:1
 								delta:1
 							})
 							})

+ 79 - 21
pages/services/property/detail.vue

@@ -32,66 +32,124 @@
 			<u-cell-item :arrow="false" icon="clock" title="创建时间" :value="dataDetail.createTime"></u-cell-item>
 			<u-cell-item :arrow="false" icon="clock" title="创建时间" :value="dataDetail.createTime"></u-cell-item>
 			<u-cell-item v-if="dataDetail.handleStatus==1" :arrow="false" icon="clock" title="完成时间" :value="dataDetail.handleTime"></u-cell-item>
 			<u-cell-item v-if="dataDetail.handleStatus==1" :arrow="false" icon="clock" title="完成时间" :value="dataDetail.handleTime"></u-cell-item>
 		</u-cell-group>
 		</u-cell-group>
-		<view class="margin-top-sm margin-bottom-sm padding bg-white flex" style="box-sizing: border-box;">
+		<view class="cu-card dynamic no-card bg-white" style="padding: 30rpx;">
+			<view class="cu-item shadow">
+				<view class=" grid flex-sub  col-4 grid-square" >
+					<view @click="previewPic(index,picArr)" v-for="(item,index) in picArr" :key="index" class="bg-img" :style="{backgroundImage: 'url(' + item + ')'}">
+					</view>
+				</view>
+			</view>
+			<view class="padding-top-20">
+				<text>故障描述:</text>
+				<text class="content">
+					{{dataDetail.reportDetail}}
+				</text>
+			</view>
+		</view>
+		
+	<!-- 	<view class="margin-top-sm margin-bottom-sm padding bg-white flex" style="box-sizing: border-box;">
 			<view class="">
 			<view class="">
 				<text class="">故障描述:</text>
 				<text class="">故障描述:</text>
 			</view>
 			</view>
 			<view class="flex-sub" >
 			<view class="flex-sub" >
 				<text class="">{{dataDetail.reportDetail}}</text>
 				<text class="">{{dataDetail.reportDetail}}</text>
 			</view>
 			</view>
+		</view> -->
+		
+		<view v-if="dataDetail.handleStatus==1&&dataDetail.estimateStatus==1" class="margin-top-sm margin-bottom-sm padding bg-white flex" style="box-sizing: border-box;">
+			<view class="">
+				<text class="">工单评价:</text>
+			</view>
+			<view class="flex-sub" >
+				<text class="">{{dataDetail.comment}}</text>
+			</view>
 		</view>
 		</view>
+		
 		<view  class="footer-fixed  padding-sm bg-white flex justify-end margin-right-30" style="box-sizing: border-box;z-index: 999;">
 		<view  class="footer-fixed  padding-sm bg-white flex justify-end margin-right-30" style="box-sizing: border-box;z-index: 999;">
 			<!-- 待处理,取消工单 -->
 			<!-- 待处理,取消工单 -->
 			<view class="cu-btn line-red round " v-if="dataDetail.handleStatus==0" @click="cancelItem()">
 			<view class="cu-btn line-red round " v-if="dataDetail.handleStatus==0" @click="cancelItem()">
 				取消工单
 				取消工单
 			</view>
 			</view>
 			<!-- 已撤销工单,删除工单 -->
 			<!-- 已撤销工单,删除工单 -->
-			<view class="cu-btn line-red round " v-if="dataDetail.handleStatus==-1" @click="deleteItem()" >
+			<view class="cu-btn line-red round margin-right-20" v-if="dataDetail.handleStatus==-1||dataDetail.handleStatus==1" @click="deleteItem()" >
 				删除工单
 				删除工单
 			</view>
 			</view>
 			<!-- v-if="dataDetail.handleStatus==1&&dataDetail.estimateStatus==0" -->
 			<!-- v-if="dataDetail.handleStatus==1&&dataDetail.estimateStatus==0" -->
 			<!-- 已处理,待评价 -->
 			<!-- 已处理,待评价 -->
-			<navigator url="./comment" class="cu-btn bg-red round "  >
+			<navigator url="./comment" v-if="dataDetail.handleStatus==1&&dataDetail.estimateStatus==0" class="cu-btn bg-red round "  >
 				写评价
 				写评价
 			</navigator>
 			</navigator>
 		</view>
 		</view>
 	</view>
 	</view>
 </template>
 </template>
-
 <script>
 <script>
 	var app=getApp()
 	var app=getApp()
+	var that=this
 	export default {
 	export default {
 		data() {
 		data() {
 			return {
 			return {
+				//报修编号
+				id:'',
 				content:'',
 				content:'',
-				dataDetail:{}
+				dataDetail:{},
+				picArr:[]
 			}
 			}
 		},
 		},
+		onLoad(options) {
+			that=this
+			this.id=options.id
+		},
 		onShow() {
 		onShow() {
-			this.dataDetail=getApp().globalData.dataDetail
+			this.fetchDetail()
 		},
 		},
 		methods: {
 		methods: {
-			cancelItem(){
-				this.dataDetail.handleStatus=-1
-				let operation='estateRepair/addEstateRepair'
-				app.globalData.postRequest(this.dataDetail, operation, function (res) {
-					if (res.data.add_result==true) {
-						app.globalData.dataDetail=
-						app.globalData.oneF-ailHint("取消成功");
-					}else{
-						app.globalData.oneFailHint(res.data.add_result);
-					}
+			previewPic(index,picArr){
+				console.log(index);
+				uni.previewImage({
+					urls:picArr,
+					current:index
+				})
+			},
+			copy(data){
+				uni.setClipboardData({
+					data:data
+				})
+			},
+			fetchDetail(){
+				let operation='estateRepair/estateRepairDetail'
+				let data={
+					id:this.id
+				}
+				app.globalData.postRequest(data, operation, function (res) {
+					app.globalData.dataDetail=res.data.estateRepairDetail
+					that.dataDetail=res.data.estateRepairDetail
+					that.picArr=that.dataDetail.pic.split(',')
 				});
 				});
 			},
 			},
-			deleteItem(){
-				let that=this
+			cancelItem(){
 				app.globalData.twoFailHint("确定要取消该工单?",function(){
 				app.globalData.twoFailHint("确定要取消该工单?",function(){
+					//取消状态
+					that.dataDetail.handleStatus=-1
+					let operation='estateRepair/addEstateRepair'
+					app.globalData.postRequest(that.dataDetail, operation, function (res) {
+						if (res.data.add_result==true) {
+							app.globalData.oneFailHint("取消成功",function(){
+								that.fetchDetail()
+							});
+						}else{
+							app.globalData.oneFailHint(res.data.add_result);
+						}
+					});
+				})
+			},
+			deleteItem(){
+				app.globalData.twoFailHint("确定要删除该工单?",function(){
 					//删除状态
 					//删除状态
-					this.dataDetail.status=-1
+					that.dataDetail.status=-1
 					let operation='estateRepair/addEstateRepair'
 					let operation='estateRepair/addEstateRepair'
-					app.globalData.postRequest(item, operation, function (res) {
+					app.globalData.postRequest(that.dataDetail, operation, function (res) {
 						if (res.data.add_result==true) {
 						if (res.data.add_result==true) {
-							app.globalData.twoFailHint("删除成功",function(){
+							app.globalData.oneFailHint("删除成功",function(){
 								uni.navigateBack({
 								uni.navigateBack({
 									delta:"1"
 									delta:"1"
 								})
 								})

+ 8 - 5
pages/services/property/list/card.vue

@@ -34,7 +34,11 @@
 				</view>
 				</view>
 			</view>
 			</view>
 			<view class="bottom" >
 			<view class="bottom" >
-				<button @click.stop="" open-type="contact" class="cu-btn  sm round line-black margin-right-20" >
+				<button @click.stop="" class="cu-btn  sm round line-black margin-right-20"
+					open-type="contact"
+					session-from="weapp"
+					:send-message-title="'订单编号为:'+item.repairNo"
+				>
 					联系客服
 					联系客服
 				</button>
 				</button>
 				<!-- 待处理,显示取消工单 -->
 				<!-- 待处理,显示取消工单 -->
@@ -42,11 +46,11 @@
 					取消工单
 					取消工单
 				</view>
 				</view>
 				<!-- 已取消,显示删除订单 -->
 				<!-- 已取消,显示删除订单 -->
-				<view v-if="item.handleStatus==-1" class="cu-btn  sm round bg-red" @click.stop="deleteItem(item)">
+				<view  v-if="item.handleStatus==-1||item.handleStatus==1" class="cu-btn  sm round bg-red" @click.stop="deleteItem(item)">
 					删除工单
 					删除工单
 				</view>
 				</view>
 				<!-- 已完成,显示写评价 -->
 				<!-- 已完成,显示写评价 -->
-				<view v-if="item.handleStatus==1" class="cu-btn  sm round bg-red" @click.stop="comment(item)">
+				<view v-if="dataDetail.handleStatus==1&&dataDetail.estimateStatus==0" class="cu-btn  sm round bg-red" @click.stop="comment(item)">
 					写评价
 					写评价
 				</view>
 				</view>
 			</view>
 			</view>
@@ -80,9 +84,8 @@ export default {
 			})
 			})
 		},
 		},
 		goDetail(item){
 		goDetail(item){
-			getApp().globalData.dataDetail=item
 			uni.navigateTo({
 			uni.navigateTo({
-				url:"../detail"
+				url:"../detail?id="+item.id
 			})
 			})
 		},
 		},
 		cancel(item){
 		cancel(item){

+ 6 - 14
pages/services/property/list/item.vue

@@ -1,8 +1,6 @@
 <template>
 <template>
 	<MeScroll  :up="up" :down="down" @up="upFn" :fixed="false" @down="downFn" @init="initMeScroll">
 	<MeScroll  :up="up" :down="down" @up="upFn" :fixed="false" @down="downFn" @init="initMeScroll">
-		<scroll-view :scroll-y="true">
-			<card @deleteItem="deleteItem" :list="list" @cancel="cancel"></card>
-		</scroll-view>
+		<card @deleteItem="deleteItem" :list="list" @cancel="cancel"></card>
 	</MeScroll>
 	</MeScroll>
 </template>
 </template>
 <script>
 <script>
@@ -19,11 +17,6 @@
 			i: Number,
 			i: Number,
 			item:Object
 			item:Object
 		},
 		},
-		watch:{
-			load() {
-				this.mescroll.resetUpScroll()
-			},
-		},
 		data() {
 		data() {
 			return {
 			return {
 				isInit: false, // 是否初始化
 				isInit: false, // 是否初始化
@@ -31,7 +24,7 @@
 				mescroll: null, // mescroll 对象
 				mescroll: null, // mescroll 对象
 				// 上拉配置参数
 				// 上拉配置参数
 				up: {
 				up: {
-					noMoreSize: 4, 
+					noMoreSize: 5, 
 					auto: true,
 					auto: true,
 					page: {
 					page: {
 						page: 0,
 						page: 0,
@@ -46,6 +39,10 @@
 			}
 			}
 		},
 		},
 		watch:{
 		watch:{
+			refresh() {
+				console.log("我要刷新了");
+				this.mescroll.resetUpScroll()
+			},
 			type(val) {
 			type(val) {
 				if(!this.isInit && val === this.i) {
 				if(!this.isInit && val === this.i) {
 					this.mescroll.resetUpScroll()
 					this.mescroll.resetUpScroll()
@@ -142,11 +139,6 @@
 				setTimeout(()=>{
 				setTimeout(()=>{
 					this.list=[]
 					this.list=[]
 					this.mescroll.resetUpScroll()
 					this.mescroll.resetUpScroll()
-					uni.showToast({
-						title:"刷新成功",
-						icon:"none",
-						duration:2000
-					})
 				},1500)
 				},1500)
 			},
 			},
 		}
 		}

+ 10 - 9
pages/services/property/list/list.vue

@@ -3,7 +3,7 @@
 		<view class="tabs">
 		<view class="tabs">
 			<scroll-view scroll-x class="bg-white nav">
 			<scroll-view scroll-x class="bg-white nav">
 				<view class="flex text-center">
 				<view class="flex text-center">
-					<view class="cu-item flex-sub" :class="index==current?'text-red':'text-lg'" v-for="(item,index) in tabs" :key="index" @tap="tabChange(index)" >
+					<view class="cu-item flex-sub" :class="index==current?'text-red text-xl text-bold':'text-lg'" v-for="(item,index) in tabs" :key="index" @tap="tabChange(index)" >
 						{{item.name}}
 						{{item.name}}
 					</view>
 					</view>
 				</view>
 				</view>
@@ -30,7 +30,7 @@
 		data() {
 		data() {
 			return {
 			return {
 				//是否第一次进入页面
 				//是否第一次进入页面
-				isRefresh:false,
+				isfirst:false,
 				//动态让item主动刷新
 				//动态让item主动刷新
 				refresh:false,
 				refresh:false,
 				scrollLeft:0,
 				scrollLeft:0,
@@ -63,11 +63,10 @@
 				],
 				],
 			}
 			}
 		},
 		},
-		onshow(){
+		onShow(){
 			if (this.isfirst) {
 			if (this.isfirst) {
 				this.isfirst=false
 				this.isfirst=false
 			}else{
 			}else{
-				console.log("刷新列表");
 				//刷新列表
 				//刷新列表
 				this.refresh=!this.refresh
 				this.refresh=!this.refresh
 			}
 			}
@@ -97,10 +96,14 @@
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
+	.text-xl{
+		font-size: 34rpx;
+	}
+	
 	.container {
 	.container {
-	  height: calc(100vh - 88rpx);
+	  height: calc(100vh - 78rpx);
 	  background-color: #F6F6F6;
 	  background-color: #F6F6F6;
-	  padding: 88rpx 0rpx 0rpx;
+	  padding: 78rpx 0rpx 0rpx;
 	 .tabs {
 	 .tabs {
 	    position: fixed;
 	    position: fixed;
 	    top: -10rpx;
 	    top: -10rpx;
@@ -108,10 +111,8 @@
 		display: flex;
 		display: flex;
 		align-items: center;
 		align-items: center;
 		width: 100%;
 		width: 100%;
-		height: 100rpx;
+		background-color: #FFFFFF;
 		box-sizing: border-box;
 		box-sizing: border-box;
-		box-shadow: 0px 0px 10rpx rgba(0, 0, 0, 0.1);
-		border-radius: 0px 0px 10rpx 10rpx;
 		z-index: 3;
 		z-index: 3;
 	  }
 	  }
 }
 }

+ 26 - 26
pages/wode/wode.vue

@@ -284,6 +284,7 @@ export default {
 		},
 		},
 		tapToMenu(index) {
 		tapToMenu(index) {
 			let url=''
 			let url=''
+			let flag=this.buttonMethod()
 			switch (index) { 
 			switch (index) { 
 				case 1: 
 				case 1: 
 					//商城订单
 					//商城订单
@@ -298,23 +299,31 @@ export default {
 					break;
 					break;
 				case 3: 
 				case 3: 
 					// 报修业务
 					// 报修业务
-					// url="/pages/services/property/list/list"
-					uni.showToast({
-						title:"暂未开发",
-						icon:"none"
-					})
+					if (flag) {
+						uni.navigateTo({
+						  url: '../services/property/list/list'
+						})
+					}
 					break;
 					break;
 				case 4: 
 				case 4: 
 					// 联系物业
 					// 联系物业
 					this.makePhoneCall("19124812874");
 					this.makePhoneCall("19124812874");
 					break;
 					break;
-				case 5: 
+				case 5:
 					//消息通知
 					//消息通知
-					this.buttonMethod(2)
+					if (flag) {
+						uni.navigateTo({
+							url: '/pages/wode/news/news'
+						})
+					}
 					break;
 					break;
 				case 6: 
 				case 6: 
-					// 住户认证
-					this.buttonMethod(1)
+					//住户认证
+					if (flag) {
+						uni.navigateTo({
+							url:"myInfo/myInfo"
+						})
+					}
 					break;
 					break;
 				case 7:
 				case 7:
 					// 通行人脸
 					// 通行人脸
@@ -366,7 +375,6 @@ export default {
 		},
 		},
 		onLoadPage() {
 		onLoadPage() {
 			this.isFirst=true
 			this.isFirst=true
-			this.login()
 			// this.memberId = this.$auth.getMemberId();
 			// this.memberId = this.$auth.getMemberId();
 			// this.getMyBaseDatas();
 			// this.getMyBaseDatas();
 		},
 		},
@@ -403,39 +411,30 @@ export default {
 			}
 			}
 		},
 		},
 		//用户认证信息
 		//用户认证信息
-		buttonMethod: function (type) {
-			console.log("住户认证");
+		buttonMethod: function () {
 		  var that = this; //会员认证状态:{ 0:未认证,1:待审审核,2:已认证 }
 		  var that = this; //会员认证状态:{ 0:未认证,1:待审审核,2:已认证 }
 		  var member = app.globalData.member;
 		  var member = app.globalData.member;
 		  var anyHousePass = app.globalData.anyHousePass;
 		  var anyHousePass = app.globalData.anyHousePass;
-		
 		  if (member == null) {
 		  if (member == null) {
 		    //未注册
 		    //未注册
 			uni.navigateTo({
 			uni.navigateTo({
 				url:"../empty/empty"
 				url:"../empty/empty"
 			})
 			})
-		    return;
+		    return false;
 		  } else if (member.state == 0 && !anyHousePass) {
 		  } else if (member.state == 0 && !anyHousePass) {
 		    //2未认证
 		    //2未认证
 		    uni.navigateTo({
 		    uni.navigateTo({
 		    	url:"../empty/empty?type=2"
 		    	url:"../empty/empty?type=2"
 		    })
 		    })
-		    return;
+		    return false;
 		  } else if (member.state == 1 && !anyHousePass) {
 		  } else if (member.state == 1 && !anyHousePass) {
 		    //待审核
 		    //待审核
 		    that.pending();
 		    that.pending();
-		    return;
+		    return false;
 		  } else if (member.state == 2 || anyHousePass) {
 		  } else if (member.state == 2 || anyHousePass) {
-		    //已认证
-		    if (type == 1) {
-		      uni.navigateTo({
-		        url: 'myInfo/myInfo'
-		      });
-		    } else if (type == 2) {
-		      uni.navigateTo({
-		        url: '/pages/wode/news/news'
-		      });
-		    }
+		    return true
+		  }else{
+			  return false
 		  }
 		  }
 		},
 		},
 		//提示用户身份注册
 		//提示用户身份注册
@@ -508,6 +507,7 @@ export default {
 	},
 	},
 	onShow() {
 	onShow() {
 		this.onShowPage();
 		this.onShowPage();
+		this.login()
 	},
 	},
 	onPullDownRefresh() {
 	onPullDownRefresh() {
 		this.onPullDownRefreshPage();
 		this.onPullDownRefreshPage();

+ 1 - 1
pagesM/comps/tki_qrcode.vue

@@ -73,7 +73,7 @@ export default {
 }
 }
 </script>
 </script>
 
 
-<style>
+<style lang="scss" scoped>
 /* @import "../../../common/icon.css"; */
 /* @import "../../../common/icon.css"; */
 .container {
 .container {
 	display: flex;
 	display: flex;

+ 2 - 2
pagesM/pages/goods_des.vue

@@ -1746,13 +1746,13 @@ image {
 			color: rgb(51, 51, 51);
 			color: rgb(51, 51, 51);
 			border-bottom: 1px solid #e8e8e8;
 			border-bottom: 1px solid #e8e8e8;
 			border-radius: 0;
 			border-radius: 0;
-			padding: 14upx 0;
+			padding: 12upx 0;
 		}
 		}
 		.btn::after {
 		.btn::after {
 			border: none;
 			border: none;
 		}
 		}
 		.detail-cancel-btn {
 		.detail-cancel-btn {
-			margin-top: 16upx;
+			margin-top: 10upx;
 		}
 		}
 	}
 	}
 }
 }