From 3f14c8d4a6a8a8bdeced78998bd0cce1de6f06a6 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Wed, 10 Apr 2024 18:54:19 +0800
Subject: [PATCH] 无诈上报

---
 pages/login/login-account.vue                            |    4 
 static/zhangguangsen-search/zhangguangsen-search.woff2   |    0 
 subPackage/workbench/views/checkDetail.vue               |    5 
 static/zhangguangsen-search/zhangguangsen-search.woff    |    0 
 subPackage/workbench/views/counterfraudReportDetail.vue  |  401 ++++++++++++++
 components/pages/index/index.vue                         |   33 +
 static/zhangguangsen-search/zhangguangsen-search.ttf     |    0 
 pages.json                                               |   28 +
 api/counterfraud/counterfraud.js                         |   29 +
 api/system/index.js                                      |   10 
 changelog.md                                             |   10 
 subPackage/label/check.vue                               |    5 
 subPackage/workbench/views/selfCheckDetail.vue           |    5 
 subPackage/counterfraud/addReport.vue                    |  576 +++++++++++++++++++++
 /dev/null                                                |    0 
 subPackage/counterfraud/reportRecord.vue                 |  105 +++
 subPackage/workbench/views/checkReform3.vue              |    5 
 pages/home/index.vue                                     |   39 +
 subPackage/workbench/views/checkReform.vue               |    5 
 components/zhangguangsen-search/zhangguangsen-search.vue |  247 +++++++++
 subPackage/workbench/views/cscj.vue                      |   51 +
 pages/home/index.scss                                    |   44 +
 subPackage/house/houseNumber/siteInspect.vue             |    5 
 23 files changed, 1,592 insertions(+), 15 deletions(-)

diff --git a/api/counterfraud/counterfraud.js b/api/counterfraud/counterfraud.js
index b669ac8..671e5a9 100644
--- a/api/counterfraud/counterfraud.js
+++ b/api/counterfraud/counterfraud.js
@@ -61,4 +61,33 @@
 			...params
 		}
 	})
+}
+
+//无诈上报
+export const addCounterfraudReport = (params) => {
+	return http.request({
+		url: '/blade-taskNoFraudReporting/taskNoFraudReporting/saveTwo',
+		method: 'POST',
+		data: params
+	})
+}
+//无诈上报列表
+export const getCounterfraudReportList = (params) => {
+	return http.request({
+		url: '/blade-taskNoFraudReporting/taskNoFraudReporting/page',
+		method: 'get',
+		params: {
+			...params
+		}
+	})
+}
+//无诈上报详情
+export const getCounterfraudReportDetail = (params) => {
+	return http.request({
+		url: '/blade-taskNoFraudReporting/taskNoFraudReporting/getInfo',
+		method: 'get',
+		params: {
+			...params
+		}
+	})
 }
\ No newline at end of file
diff --git a/api/system/index.js b/api/system/index.js
index 119fe97..0ce77f2 100644
--- a/api/system/index.js
+++ b/api/system/index.js
@@ -42,4 +42,14 @@
 			...params
 		}
 	})
+}
+
+export const searchContent = (params) => {
+	return http.request({
+		url: '/es/es/page',
+		method: 'get',
+		params: {
+			...params
+		}
+	})
 }
\ No newline at end of file
diff --git a/changelog.md b/changelog.md
new file mode 100644
index 0000000..7957ed4
--- /dev/null
+++ b/changelog.md
@@ -0,0 +1,10 @@
+## 1.0.1(2023-04-21)
+1. 功能自测
+2. 优化组件逻辑,方便父子组件传值
+3. 增加DEMO:/components/pages/index
+4. 增加完整说明文档 +案例
+## 1.0.0(2023-04-20)
+1. 增加搜索页面
+2. 输入关键词,下拉列表展示搜索结果
+3. 类似百度搜索,搜索关键词变红
+4. 引入阿里图标库,节省存储空间
\ No newline at end of file
diff --git a/components/pages/index/index.vue b/components/pages/index/index.vue
new file mode 100644
index 0000000..160bc12
--- /dev/null
+++ b/components/pages/index/index.vue
@@ -0,0 +1,33 @@
+<template>
+	<view>
+		<zhangguangsen-search :hotList="hotList" :searchList="searchList" @onInput="onInput" @onSearchConfirm="onSearchConfirm"></zhangguangsen-search>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				hotList:['aa','bb','cc','dd','测试一个超产的龙欧索','aa','bb','cc','dd','测试一个超产的龙欧索'],
+				searchList:[]
+			}
+		},
+		mounted(){
+		},
+		methods: {
+			onInput(val){
+				console.log('**input',val)
+				//模拟后端返回数据,根据val调用接口
+				setTimeout(()=>{
+					 this.searchList = ['aabacd','bb','cc','dd','测试一个超产的龙欧索','aa',Math.random()]//这里模拟 axios 返回的数据
+				},2000)
+			},
+			onSearchConfirm(searchVal){
+				console.log('搜索词',searchVal)
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+</style>
diff --git a/components/zhangguangsen-search/zhangguangsen-search.vue b/components/zhangguangsen-search/zhangguangsen-search.vue
new file mode 100644
index 0000000..68d09cb
--- /dev/null
+++ b/components/zhangguangsen-search/zhangguangsen-search.vue
@@ -0,0 +1,247 @@
+<template>
+	<view class="search">
+		<view class="search-head">
+			<view class="head-icon__search iconfont icon-sousuo1"></view>
+			<view class="head-input__search">
+				<input v-model="val" :focus="true" :adjustPosition="false" placeholder="请输入配件名称" placeholder-class="head-input__placeholder" confirmType="搜索" :confirmHold="false" @input="handleInput" @click="handleClick" @confirm="handleConfirm"/>
+				<button @click="handleConfirm">搜索</button>
+			</view>
+		</view>
+		<view class="hotSearch">
+			<view class="hotSearch-head">
+				<view class="hotSearch-icon__hot iconfont icon-remensousuo"></view>
+				<text class="hotSearch-text__hot">
+					 热门搜索
+				</text>
+			</view>
+			<view class="hotSearch-list">
+				<view class="hotSearch-li" v-for="(item,index) in hotList" :key="index" @click="handleConfirm(item)">
+					{{item}}
+				</view>
+			</view>
+		</view>
+		<view v-show="showPop">
+			<view class="pop-search__list">
+				<view class="pop-search__li" v-for="(item,index) in formatSearchList" :key="index" @click="handleConfirm(item)">
+					<text v-for="(titem,tindex) in item" :key="tindex" :class="titem.key ? 'active' : ''">{{titem.str}}</text>
+				</view>
+			</view>
+			<view class="pop-search__mask" @click="showPop=false"></view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		props:{
+			hotList:{
+				type:Array
+			},
+			searchList:{
+				type:Array
+			}
+		},
+		watch:{
+			searchList:{
+				handler(searchList){
+					uni.hideLoading();
+					console.log('watch',searchList)
+					if(searchList.length>0 && this.val){
+						this.formatSearchList = searchList.map(item=>this.hilight_word(this.val, item))
+					}
+				},
+				deep:true
+			}
+		},
+		data() {
+			return {
+				val:'',
+				showPop:false,
+				formatSearchList:[]
+			}
+		},
+		mounted(){
+		},
+		methods: {
+			handleConfirm(val){
+				let searchVal = val
+				if(Array.isArray((val))){
+					searchVal = val.map(({str})=>str).join('')
+				}else if(val instanceof Object){
+					searchVal = this.val
+				}
+				this.$emit('onSearchConfirm',searchVal)
+			},
+			handleClick(){
+				this.showPop = !!this.val
+			},
+			handleInput(e){
+				this.showPop = !!this.val
+				if(!this.val) {
+					return
+				}
+				uni.showLoading({
+					title: '加载中'
+				});
+				setTimeout(()=>uni.hideLoading(),3000)
+				this.$emit('onInput',this.val)
+			},
+			// 根据搜索字分割字符
+			hilight_word: function (key, word) {
+				key=key.trim()
+				word=''+word
+			    let idx = word.indexOf(key), t = [];
+			 
+			    if (idx > -1) {
+			      if (idx == 0) {
+			        t =this.hilight_word(key, word.substr(key.length));
+			        t.unshift({ key: true, str: key });
+			        return t;
+			      }
+			 
+			      if (idx > 0) {
+			        t =this.hilight_word(key, word.substr(idx));
+			        t.unshift({ key: false, str: word.substring(0, idx) });
+			        return t;
+			      }
+			    }
+			    return [{ key: false, str: word }];
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+@font-face {
+  font-family: "iconfont"; /* Project id 3928599 */
+  src: url('@/static/zhangguangsen-search/zhangguangsen-search.woff2?t=1681960188787') format('woff2'),
+       url('@/static/zhangguangsen-search/zhangguangsen-search.woff?t=1681960188787') format('woff'),
+       url('@/static/zhangguangsen-search/zhangguangsen-search.ttf?t=1681960188787') format('truetype');
+}
+
+.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-remensousuo:before {
+  content: "\e73d";
+}
+
+.icon-sousuo1:before {
+  content: "\e61c";
+}
+
+.search{
+	background-color: #fff;
+	overflow: hidden;
+	&-head{
+		display: flex;
+		align-items: center;
+		padding:0 10rpx 0 47rpx;
+		margin:30rpx 30rpx 0;
+		height: 70rpx;
+		background: #F5F5F5;
+		border-radius: 35rpx;
+		.head-icon__search{
+			font-size: 30rpx;
+			color: #231815;
+		}
+		.head-input__search{
+			display: flex;
+			align-items: center;
+			flex: 1;
+			input{
+				margin-left: 15rpx;
+				border: none;
+				height: 29rpx;
+				font-size: 30rpx;
+				font-weight: 400;
+				color: #AAAAAA;
+				line-height: 28rpx;
+				flex:1;
+			}
+			button{
+				width: 128rpx;
+				height: 53rpx;
+				background: linear-gradient(0deg, #0AA0F5, #00E3F2);
+				border-radius: 30rpx;
+				font-size: 28rpx;
+				font-weight: 500;
+				color: #FFFFFF;
+				line-height: 42rpx;
+			}
+			.head-input__placeholder{
+				color: #AAAAAA;
+			}
+		}
+	}
+	.hotSearch{
+		margin-top: 30rpx;
+		&-head{
+			display: flex;
+			align-items: center;
+			padding:0 0 0 30rpx;
+		}
+		&-icon__hot{
+			margin-left: 10rpx;
+			font-size: 30rpx;
+			color: rgb(255,43,57);
+		}
+		&-text__hot{
+			margin-left: 10rpx;
+			font-size: 30rpx;
+			color: #999999;
+		}
+		&-list{
+			padding: 20rpx 0 50rpx 30rpx;
+			display: flex;
+			flex-wrap: wrap;
+		}
+		&-li{
+			margin: 10rpx 0 0 10rpx;
+			padding: 0 20rpx;
+			border-radius: 20rpx;
+			background: #f2f2f2;
+			line-height: 50rpx;
+			&:first-child{
+				margin-left: 0;
+			}
+		}
+	}
+}
+.pop{
+	&-search{
+		&__mask{
+			position: fixed;
+			top: 100rpx;
+			bottom: 0;
+			left: 0;
+			right: 0;
+			background-color: rgba(0, 0,0,.3);
+			z-index: 1;
+		}
+		&__list{
+			padding:0 30rpx;
+			position: fixed;
+			top: 100rpx;
+			left: 0;
+			right: 0;
+			background-color: #fff;
+			z-index: 9;
+		}
+		&__li{
+			font-size: 30rpx;
+			color: #231815;
+			line-height: 90rpx;
+			border-bottom: solid 1px #F5F5F5;
+			.active{
+				color: red;
+			}
+		}
+	}
+}
+</style>
diff --git a/pages.json b/pages.json
index 1ba6e68..3a7ef27 100644
--- a/pages.json
+++ b/pages.json
@@ -698,7 +698,17 @@
 						"navigationBarBackgroundColor": "#fff",
 						"navigationBarTextStyle": "black"
 					}
+				},
+				{
+					"path": "views/counterfraudReportDetail",
+					"style": {
+						"navigationBarTitleText": "无诈上报详情",
+						"enablePullDownRefresh": false,
+						"navigationBarBackgroundColor": "#fff",
+						"navigationBarTextStyle": "black"
+					}
 				}
+
 			]
 		},
 		//报事
@@ -1113,6 +1123,24 @@
 						"navigationBarTextStyle": "black",
 						"enablePullDownRefresh": false
 					}
+				},
+				{
+					"path": "addReport",
+					"style": {
+						"navigationBarTitleText": "无诈上报",
+						"navigationBarBackgroundColor": "#fff",
+						"navigationBarTextStyle": "black",
+						"enablePullDownRefresh": false
+					}
+				},
+				{
+					"path": "reportRecord",
+					"style": {
+						"navigationBarTitleText": "无诈上报记录",
+						"navigationBarBackgroundColor": "#fff",
+						"navigationBarTextStyle": "black",
+						"enablePullDownRefresh": false
+					}
 				}
 			]
 		},
diff --git a/pages/home/index.scss b/pages/home/index.scss
index b4efbaf..6a15705 100644
--- a/pages/home/index.scss
+++ b/pages/home/index.scss
@@ -29,6 +29,50 @@
 		padding: 0 30rpx;
 		box-sizing: border-box;
 	}
+	
+	.search-bar{
+		padding:20rpx 30rpx;
+		position: relative;
+		width:100%;
+		box-sizing: border-box;
+	}
+	.search-content{
+		position: absolute;
+		width: 100%;
+		height:500rpx;
+		border-radius:16rpx;
+		top:88rpx;
+		left:0;
+		z-index: 15;
+		box-shadow: 0rpx 10rpx 10rpx 0rpx rgba(0, 0, 0, 0.02);
+		border-bottom:1px solid #f5f5f5;
+		padding:0 30rpx;
+		box-sizing: border-box;
+	}
+	.search-scroll{
+		width:100%;
+		height:100%;
+	}
+	.search-content-row{
+		padding:20rpx 0;
+		border-bottom: 1px solid #f5f5f5;
+	}
+	.search-tag{
+		padding:2rpx 10rpx;
+		border-radius: 8rpx;
+		background-color: rgb(236,244,255);
+		border:1px solid currentColor;
+	}
+	.mask{
+		position: fixed;
+		width:100%;
+		height:100%;
+		top:300rpx;
+		left:0;
+		z-index: 10;
+		background-color:rgba(0, 0, 0, .5);
+	}
+	
 
 	.content {
 		padding: 20rpx 30rpx 0;
diff --git a/pages/home/index.vue b/pages/home/index.vue
index 49c9c2a..ba9192f 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -8,6 +8,21 @@
 				<u-icon name="arrow-right" color="#fff"></u-icon>
 			</view>
 		</u-navbar>
+
+		<!-- <view class="search-bar" :style="{background:background.top}">
+			<u-search placeholder="请输入关键字" v-model="keyword" :showAction="true" actionText="搜索" :animation="true"
+				:actionStyle="{color:'#fff'}" bgColor="#fff" @change="changeKeyword"></u-search>
+			<view class="mask"></view>
+			<view class="search-content bgc-ff">
+				<scroll-view class="search-scroll" :scroll-y="true">
+					<view class="search-content-row flex j-c-s-b a-i-c" v-for="i in 5">
+						<text class="f-28">万达华府</text>
+						<view class="search-tag f-26 c-main">房屋</view>
+					</view>
+				</scroll-view>
+			</view>
+		</view> -->
+
 		<view class="swiper" :style="{background:background.banner}">
 			<u-swiper :list="bannerList" height="320rpx" radius="10" @click="navToArticle"></u-swiper>
 		</view>
@@ -189,6 +204,13 @@
 										<text class="nav-item-text f-26  mt-10">消防自查</text>
 									</view>
 								</u-grid-item>
+								<u-grid-item @click="navigatorPage('/subPackage/counterfraud/addReport')"
+									v-if="curSelectSite.noExplosionCategory">
+									<view class="nav-item flex f-d-c a-i-c">
+										<u-icon name="/static/icon/nav-11.png" width="80rpx" height="80rpx"></u-icon>
+										<text class="nav-item-text f-26  mt-10">无诈上报</text>
+									</view>
+								</u-grid-item>
 							</block>
 							<block v-if="tabIndex == 2">
 								<u-grid-item @click="navToSiteList()">
@@ -316,7 +338,8 @@
 	import {
 		getBannerList,
 		getContact,
-		getQrCodeDetail
+		getQrCodeDetail,
+		searchContent
 	} from "@/api/system/index"
 	import {
 		minioBaseUrl
@@ -647,8 +670,8 @@
 					top: "#017BFC",
 					banner: "linear-gradient(180deg, #017BFC 0%, rgba(1, 123, 252, 0) 100%)"
 				},
-				tabList: []
-
+				tabList: [],
+				keyword: ""
 			}
 		},
 
@@ -760,6 +783,16 @@
 			// 	});
 			// },
 
+			changeKeyword(val) {
+
+				searchContent({
+					searchKey: val
+				}).then(res => {
+					console.log(res)
+				})
+			},
+
+
 			//获取待办事项数量
 			getTaskCount() {
 				if (uni.getStorageSync('activeRole').roleAlias === 'wgy') {
diff --git a/pages/home/index2.vue b/pages/home/index2.vue
deleted file mode 100644
index e3bb403..0000000
--- a/pages/home/index2.vue
+++ /dev/null
@@ -1,855 +0,0 @@
-<template>
-	<view class="">
-		<u-navbar height="48" :autoBack="false" safeAreaInsetTop placeholder
-			@leftClick="selectBoxShow = !selectBoxShow">
-			<view slot="left" class="top flex">
-				<view class="top-text f-30 fw">{{curSelectSite.name?curSelectSite.name:'暂无绑定' +roleTypeName+'信息'}}
-				</view>
-				<u-icon name="/static/icon/change-icon.png"></u-icon>
-			</view>
-		</u-navbar>
-		<view class="content">
-			<view class="swiper mb-30">
-				<u-swiper :list="swiperList" height="260rpx"></u-swiper>
-			</view>
-			<view class="" v-if="roleType != 1">
-				<u-grid :border="false" :col="liveList.length">
-					<!-- <u-grid-item v-for="(i,k) in cellList" :key="k" @click.native="toPage(i)">
-						<u-icon :name="i.icon" :size="45"></u-icon>
-						<text class="f-26 mt-20">{{i.text}}</text>
-					</u-grid-item>
-					<u-grid-item @click.native="navigatorPage('/subPackage/bs/views/repair')"
-						v-if="curSelectSite.addressType != 2">
-						<u-icon name="/static/icon/nav-02.png" width="90rpx" height="90rpx"></u-icon>
-						<text class="f-26 mt-20">报事报修</text>
-					</u-grid-item>
-					<u-grid-item @click.native="navTo()" v-if="curSelectSite.addressType != 2">
-						<u-icon name="/static/icon/nav-04.png" width="90rpx" height="90rpx"></u-icon>
-						<text class="f-26 mt-20">租客上报</text>
-					</u-grid-item> -->
-					<u-grid-item @click.native="navigatorPage(i.path)" v-for="(i,k) in liveList"   :key="k">
-						<u-icon :name="i.pictureImg" width="90rpx" height="90rpx"></u-icon>
-						<text class="f-26 mt-20">{{i.name}}</text>
-					</u-grid-item>
-					
-				</u-grid>
-
-				<view class="section flex j-c-s-b mt-40">
-					<view class="section-item" v-for="(i,k) in navList"  :key="k">
-						<image class="section-item-bg" :src="i.bgImg" mode="aspectFill"></image>
-						<view class="item-box">
-							<view class="f-28">{{i.title}}</view>
-							<view class="flex j-c-s-b">
-								<text class="f-22">{{i.name}}</text>
-								<u-icon :name="i.icon"></u-icon>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-
-			<view class="block flex a-i-c j-c-s-b" v-if="roleType == 1">
-				<view @click="scan" class="block-item">
-					<image class="block-item-bg" src="/static/icon/nav-bg-04.png" mode="aspectFill" />
-					<view class="block-item-box flex a-i-c ">
-						<u-icon name="/static/icon/nav-05.png" width="90rpx" height="90rpx"></u-icon>
-						<view class="item-text flex f-d-c j-c-s-b">
-							<text class="f-32 fw">扫一扫</text>
-							<text class="f-26 opacity">场所采集</text>
-						</view>
-					</view>
-				</view>
-
-				<view class="block-item" @click="navigatorPage('/subPackage/user/clockIn/index')">
-					<image class="block-item-bg" src="/static/icon/nav-bg-05.png" mode="aspectFill" />
-					<view class="block-item-box flex a-i-c">
-						<u-icon name="/static/icon/nav-06.png" width="90rpx" height="90rpx"></u-icon>
-						<view class="item-text flex f-d-c j-c-s-b">
-							<text class="f-32 fw">打卡登记</text>
-							<text class="f-26 opacity">在线打卡</text>
-						</view>
-					</view>
-				</view>
-			</view>
-
-			<view class=""  v-if="isShowHouse">
-				<view class="caption">
-					<view class="flex a-i-c">
-						<view class="line"></view>
-						<text class="f-32 fw">楼盘表</text>
-					</view>
-				</view>
-				<view class="flex flex-wrap">
-					<view class="cell bgc-main flex a-i-c" v-for="(item, index) in houseDataList.slice(0, 6)"
-						@click.native="pushPage(item)"  :key="index">
-						<u-icon name="/static/icon/floor.png" width="32rpx" height="32rpx"></u-icon>
-						<text class="cell-text f-26 c-ff">{{item.title}}</text>
-					</view>
-				</view>
-			</view>
-
-			<view class="" v-if="roleType == 1 || (roleType == 2 && curSelectSite.addressType == 2)">
-				<view class="caption">
-					<view class="flex a-i-c">
-						<view class="line"></view>
-						<text class="f-32 fw">工作台</text>
-					</view>
-				</view>
-				<u-grid :border="false" col="4" v-if="roleType == 2 && curSelectSite.addressType == 2">
-					<u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')"
-						:customStyle="{paddingTop:20+'rpx'}">
-						<view class="grid-item flex f-d-c a-i-c"
-							style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
-							<u-icon name="/static/icon/menu-05.png" width="60rpx" height="60rpx"></u-icon>
-							<text class="grid-text f-24 fw mt-10">场所维护</text>
-						</view>
-					</u-grid-item>
-				</u-grid>
-				<u-grid :border="false" col="4" v-if="roleType == 1">
-					<u-grid-item @click="navigatorPage(item.path)" v-for="(item, index) in jobList" :index="index"
-						:key="index" :customStyle="{paddingTop:20+'rpx'}">
-						<view class="grid-item flex f-d-c a-i-c" :style="{background:item.style.background}">
-							<u-icon :name="item.icon" width="60rpx" height="60rpx"></u-icon>
-							<text class="grid-text f-24 fw mt-10">{{item.text}}</text>
-						</view>
-					</u-grid-item>
-				</u-grid>
-			</view>
-
-			<view class="mt-40" v-if="false">
-				<view class="caption">
-					<view class="flex a-i-c">
-						<view class="line"></view>
-						<text class="f-32 fw">我的任务</text>
-					</view>
-				</view>
-				<view class="row flex j-c-s-b">
-					<view class="row-item flex_base" @click="navigatorPage(`/subPackage/workbench/views/audit?type=1`)">
-						<u-icon name="/static/icon/nav-07.png" width="90rpx" height="90rpx"></u-icon>
-						<view class="flex f-d-c fw ml-20">
-							<text class="f-28">一次性</text>
-							<text class="f-36 c-main">{{frequencyNumber.disposable}}</text>
-						</view>
-					</view>
-					<view class="row-item flex_base" @click="navigatorPage(`/subPackage/workbench/views/audit?type=2`)">
-						<u-icon name="/static/icon/nav-08.png" width="90rpx" height="90rpx"></u-icon>
-						<view class="flex f-d-c fw ml-20">
-							<text class="f-28">周期性</text>
-							<text class="f-36" style="color:#FD7F19">{{frequencyNumber.periodicity}}</text>
-						</view>
-					</view>
-				</view>
-
-				<u-cell-group>
-					<u-cell :icon="i.icon" :iconStyle="{width:'40rpx',height:'40rpx',marginRight:'18rpx'}"
-						:title="i.title" v-for="i in taskList" :value="i.status"></u-cell>
-				</u-cell-group>
-			</view>
-
-			<view class="notic" v-if="roleType == 2 && curSelectSite.addressType != 2">
-				<view class="caption flex a-i-c j-c-s-b" @click="navigatorPage('/subPackage/article/list')">
-					<view class="flex a-i-c">
-						<view class="line"></view>
-						<text class="f-32 fw">通知公告</text>
-					</view>
-					<u-icon name="arrow-right"></u-icon>
-				</view>
-				<notice-list  :data="notice" />
-			</view>
-			
-			<u-picker :title="roleTypeName" :defaultIndex="selectSiteIndex" :closeOnClickOverlay="true"
-				@close="selectBoxShow = false" :show="selectBoxShow" keyName="name" ref="uPicker" :columns="siteColumns"
-				@confirm="confirmSite" @change="changeSite" @cancel="selectBoxShow = false"></u-picker>
-		</view>
-
-	</view>
-</template>
-
-<script>
-	import {
-		getFuncList,
-		getHouseList
-	} from "@/api/doorplateAddress/doorplateAddress";
-
-	import {
-		getPage
-	} from "@/api/article/article";
-	import {
-		getCountFrequencyNumber,
-		getCountTypeNumber
-	} from "@/api/task/task";
-	
-	import { getBannerList } from "@/api/system/index"
-	import { uploadUrl } from "@/common/setting"
-    import noticeList from "@/components/noticeList/noticeList";
-
-
-	export default {
-		components:{
-			noticeList
-		},
-		data() {
-			return {
-				swiperList: [
-					'http://220.176.210.217:9000/jczz/upload/20231111/cc093afc5e21639ef5b251eb865c24f4.png',
-					'http://220.176.210.217:9000/jczz/upload/20231111/cc093afc5e21639ef5b251eb865c24f4.png',
-					'http://220.176.210.217:9000/jczz/upload/20231111/cc093afc5e21639ef5b251eb865c24f4.png'
-				],
-				cellList: [
-					{
-						icon: "/static/icon/nav-01.png",
-						text: "标签报事",
-						path: '/subPackage/label/index'
-					},
-					{
-						icon: "/static/icon/nav-02.png",
-						text: "报事报修",
-						path: '/subPackage/bs/views/repair'
-					},
-					{
-						icon: "/static/icon/nav-03.png",
-						text: "便民热线",
-						path: '/subPackage/hotLine/index'
-					},
-				],
-				navList: [{
-						title: "物业",
-						name: "张三",
-						icon: "/static/icon/tel-green.png",
-						bgImg: "/static/icon/nav-bg-01.png"
-					},
-					{
-						title: "综治网格",
-						name: "张三",
-						icon: "/static/icon/tel-orange.png",
-						bgImg: "/static/icon/nav-bg-02.png"
-					},
-					{
-						title: "公安网格",
-						name: "张三",
-						icon: "/static/icon/tel-blue.png",
-						bgImg: "/static/icon/nav-bg-03.png"
-					},
-				],
-				jobList: [{
-						icon: "/static/icon/menu-01.png",
-						text: "场所记录",
-						style: {
-							background: 'linear-gradient(133deg, #FFFCF9 0%, rgba(255,252,249,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/csjl"
-					},
-					{
-						icon: "/static/icon/menu-02.png",
-						text: "场所采集",
-						style: {
-							background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/cscj"
-					},
-					{
-						icon: "/static/icon/menu-03.png",
-						text: "出租房管理",
-						style: {
-							background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/rental"
-					},
-					{
-						icon: "/static/icon/menu-04.png",
-						text: "标签事件",
-						style: {
-							background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/audit"
-					},
-					{
-						icon: "/static/icon/menu-05.png",
-						text: "场所维护",
-						style: {
-							background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/cshw"
-					},
-					{
-						icon: "/static/icon/menu-06.png",
-						text: "报事审核",
-						style: {
-							background: 'linear-gradient(137deg, #FFF4F3 0%, rgba(255,244,243,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/report"
-					},
-					{
-						icon: "/static/icon/menu-10.png",
-						text: "我的任务",
-						style: {
-							background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)'
-						},
-						path: "/subPackage/task/index"
-					},
-					{
-						icon: "/static/icon/menu-02.png",
-						text: "工作日志",
-						style: {
-							background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)'
-						},
-						path: "/subPackage/workbench/views/workLog"
-					},
-					{
-						icon: "/static/icon/menu-02.png",
-						text: "网格巡查",
-						style: {
-							background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)'
-						},
-						path: "/subPackage/workbench/views/patrol"
-					},
-					// {
-					// 	icon: "/static/icon/menu-07.png",
-					// 	text: "校园安全",
-					// 	style: {
-					// 		background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
-					// 	}
-					// },
-					// {
-					// 	icon: "/static/icon/menu-08.png",
-					// 	text: "旅馆安全",
-					// 	style: {
-					// 		background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)',
-					// 	}
-					// },
-					// {
-					// 	icon: "/static/icon/menu-09.png",
-					// 	text: "取保候审",
-					// 	style: {
-					// 		background: 'linear-gradient(137deg, #FFF4F3 0%, rgba(255,244,243,0) 100%)',
-					// 	}
-					// }
-				],
-				taskList: [{
-						icon: "/static/icon/cell-01.png",
-						title: "综治任务",
-						status: "待处理0"
-					},
-					{
-						icon: "/static/icon/cell-02.png",
-						title: "住建任务",
-						status: "待处理0"
-					},
-					{
-						icon: "/static/icon/cell-03.png",
-						title: "公安任务",
-						status: "待处理0"
-					}
-				],
-				roleType: 2, // 1网格员/系统管理员 、  2居民
-				roleTypeName: "街道社区网格",
-				selectBoxShow: false,
-				siteColumns: [],
-				curSelectSite: {},
-				columnData: [],
-				houseDataList: [{
-					title: '-',
-					useSlot: true
-				}],
-				menuList: [],
-				curHouseCode: '',
-				notice: [],
-				frequencyNumber: {},
-				typeNumber: {},
-				selectSiteIndex: [0, 0],
-				liveList:[],   //生活菜单
-				contactList:[],   //便民服务联系方式
-				isShowHouse:false,    //显示楼盘表
-				isShowNotice:false    //显示通知公告
-
-			}
-		},
-
-		onLoad() {
-			this.getBanner();
-			this.init()
-			uni.$on('refresh', () => {
-				this.selectSiteIndex = [0, 0]
-				this.init()
-			})
-		},
-		computed: {
-			hasMenu() {
-				return (name) => {
-					let resultArr = this.getMenu(name,this.menuList)
-					if (resultArr.length) {
-						return resultArr
-					} else {
-						return []
-					}
-				}
-			}
-		},
-
-		watch: {
-			'curSelectSite.id': {
-				handler(newVal, oldVal) {
-					console.log(newVal)
-					if (newVal) {
-						this.$store.commit("setSiteInfo", this.curSelectSite)
-					}
-				},
-				deep: true,
-				immediate: true
-			},
-			
-			'curSelectSite.addressType':{   
-				handler(newVal,oldVal){
-				   if(newVal){
-					   this.$store.dispatch("getMenuList").then(res=>{
-						    this.getMenuList();
-					   });
-				   }
-				},
-				deep: true,
-				immediate: true
-			}
-		},
-
-		methods: {
-
-			//初始化
-			init() {
-				this.curSelectSite = {}
-				
-				this.selectRole = uni.getStorageSync("activeRole")
-				this.getMenuList()
-				this.getSiteList()
-				this.getNoticeList()
-				// this.getFrequencyNumber()
-				// this.getTypeNumber()
-			},
-			
-			getBanner(){
-				getBannerList({
-					current:1,
-					size:5
-				}).then(res=>{
-					 let data = res.data.records;
-					 if(data.length){
-						 for(let i of data){
-						 	i.url = `${uploadUrl}${i.url}`
-						 }
-						 this.bannerList = data;
-					 }
-				})
-			},
-			
-			async getFrequencyNumber() {
-				const res = await getCountFrequencyNumber()
-				this.frequencyNumber = res.data
-
-			},
-
-			async getTypeNumber() {
-				const res = await getCountTypeNumber()
-				this.notypeNumber = res.data
-
-			},
-
-			async getNoticeList() {
-				const param = {
-					size: 10,
-					current: 1
-				}
-				const res = await getPage(param)
-				this.notice = res.data.records
-			},
-
-			//获取场所列表
-			async getSiteList() {
-				console.log(this.selectRole)
-				let type = null
-				let roleName = this.selectRole.roleName
-				console.log("roleName", roleName)
-				if (roleName == '网格员' || roleName == '系统管理员') {
-					type = 1
-					this.roleType = 1;
-					this.roleTypeName = "街道社区网格"
-				} else if (roleName == '居民') {
-					type = 2
-					this.roleType = 2
-					this.roleTypeName = "居民"
-				}
-				const res = await getFuncList(type, roleName)
-				this.columnData = res.data;
-				console.log(res, "-----------")
-				let data = res.data
-				this.siteColumns = []
-				this.buildSiteColumn(data, 0)
-			},
-
-			buildSiteColumn(dataList, index) {
-				if (dataList.length > 0) {
-					this.siteColumns[index] = dataList
-					if (dataList[0].children && dataList[0].children.length > 0) {
-						this.curSelectSite = dataList[0].children[0];
-						this.getHouseDataList(dataList[0].children[0].id)
-						this.buildSiteColumn(dataList[0].children, index + 1)
-					} else {
-						this.curSelectSite = dataList[0];
-					}
-					this.curHouseCode = this.curSelectSite.id
-					uni.setStorageSync('curSelectSite', this.curSelectSite)
-				}
-			},
-
-
-			// 获取楼盘
-			async getHouseDataList(code) {
-				const param = {
-					type: 1,
-					code: code,
-					roleName: uni.getStorageSync('activeRole').roleName
-				}
-				const res = await getHouseList(param)
-				res.data.forEach(item => {
-					item.title = item.name
-					item.useSlot = true
-					delete item.name
-				})
-				this.houseDataList = res.data || [{
-					title: '-',
-					useSlot: true
-				}]
-			},
-
-
-			changeSite(e) {
-				const {
-					columnIndex,
-					value,
-					values, // values为当前变化列的数组内容
-					index,
-					// 微信小程序无法将picker实例传出来,只能通过ref操作
-					picker = this.$refs.uPicker
-				} = e
-				// 当第一列值发生变化时,变化第二列(后一列)对应的选项
-				if (columnIndex === 0 && this.columnData.length > 0) {
-					// picker为选择器this实例,变化第二列对应的选项
-					picker.setColumnValues(1, this.columnData[index])
-					// this.siteColumns[1] = this.columnData[index].children
-					this.$set(this.siteColumns, 1, this.columnData[index].children)
-				};
-			},
-			// 回调参数为包含columnIndex、value、values
-			confirmSite(e) {
-				console.log('confirm', e)
-				this.selectSiteIndex = e.indexs;
-				this.curSelectSite = e.value[e.value.length - 1]
-				this.selectBoxShow = false
-				this.getHouseDataList(e.value[1]?.id)
-				this.curHouseCode = e.value[0].id
-				console.log("curSite=>", this.curSelectSite);
-			},
-			getMenu(menuName) {
-				// console.log(menuList, menuName)
-				// for (var i = 0; i < menuList.length; i++) {
-				// 	if (menuList[i].name == menuName) {
-				// 		resultArr.push(menuList[i])
-				// 	} else {
-				// 		if (menuList[i].children && menuList[i].children.length) {
-				// 			this.getMenu(menuName, menuList[i].children, resultArr);
-				// 		}
-				// 	}
-				// }
-				let list = [];
-				for(let i of this.menuList){
-					if(i.name == menuName){
-						if(i.children && i.children.length){
-						 	list = i.children;
-							break;
-						 }
-					}
-				}
-				return list;
-			},
-			
-			//获取首页菜单
-			getMenuList() {
-				// console.log("当前角色菜单", this.menuList)
-				// this.getPhoneList()
-				// this.getLiveList()
-				this.menuList = uni.getStorageSync("menu")
-				this.liveList = this.hasMenu('生活')
-				this.contactList = this.hasMenu('快捷拨号');
-				// console.log(this.menuList.filter(item=>item.name == "楼盘表"))
-				if(this.menuList.length){
-					this.isShowHouse = this.menuList.filter(item=>item.name == "楼盘表")
-					this.isShowNotice = this.menuList.filter(item=>item.name == "通知公告" )
-				}
-				
-				// this.jobList = this.hasMenu('工作台')
-				// this.getWorkbenchList()
-			},
-			
-			
-			getPhoneList() {
-				const resultArr = this.hasMenu('快捷拨号');
-				if (resultArr.length) {
-					this.contactList = resultArr;
-				}
-
-				// const topMenu = resultArr[0]
-				// topMenu.children.forEach(menu => {
-				// 	this.gridDataList.push({
-				// 		title: menu.name,
-				// 		data: "无数据",
-				// 		phone: "无"
-				// 	})
-				// })
-			},
-
-			//获取生活菜单
-			getLiveList() {
-				this.liveList = []
-				const resultArr = this.hasMenu('生活')
-				console.log(resultArr);
-				if (resultArr.length) {
-					this.liveList = resultArr;
-				}
-				// const topMenu = resultArr[0];
-				// console.log("topMenu====>",topMenu);
-				// this.liveList = topMenu.children;
-				// topMenu.children.forEach(menu => {
-				// 	this.liveList.push({
-				// 		imgUrl: menu.source,
-				// 		title: menu.name,
-				// 	})
-				// })
-			},
-
-			//获取工作台菜单
-			getWorkbenchList() {
-				// this.jobList = []
-				const jobList = this.hasMenu('工作台')
-				
-				// const topMenu = resultArr[0]
-				// topMenu.children.forEach(menu => {
-				// 	this.jobList.push({
-				// 		imgUrl: menu.source,
-				// 		title: menu.name,
-				// 	})
-				// })
-			},
-
-			// 页面跳转
-			pushPage(item) {
-				console.log(item,8888)
-				const {id,title,addressType} = item;
-				if (id !== void 0) {
-					let url = `/subPackage/house/list/index?id=${id}&title=${title}&addressType=${addressType}`
-					this.$u.func.globalNavigator(url, "navTo")
-				}
-			},
-
-			// 页面跳转
-			toPage({
-				id,
-				title,
-				path
-			}) {
-				let url = `${path}`
-				this.$u.func.globalNavigator(url, "navTo")
-				if (id !== void 0) {
-
-				}
-			},
-
-
-			navTo() {
-				if (this.curHouseCode === '') {
-					uni.showToast({
-						title: "请选择地址",
-						icon: "error"
-					})
-					return
-				}
-				this.$u.func.globalNavigator(`/subPackage/bs/views/zhsb?houseCode=${this.curHouseCode}`, "navTo")
-			},
-
-			navigatorPage(path) {
-				if (path) {
-					if (path == '/subPackage/bs/views/zhsb' && this.curHouseCode === '') {
-						uni.showToast({
-							title: "请选择地址",
-							icon: "error"
-						})
-						return
-					}
-					this.$u.func.globalNavigator(`${path}?houseCode=${this.curHouseCode}`, "navTo")
-				}
-			},
-
-            //扫一扫
-			scan() {
-				const that = this
-				uni.scanCode({
-					success: function(res) {
-						console.log(res)
-
-
-						console.log('条码类型:' + res.scanType);
-						console.log('条码内容:' + res.result);
-
-
-						let obj = that.getUrlParams(res.result)
-						console.log(obj)
-
-						// let url = "/subPackage/workbench/views/cscj?stdId=" + obj.stdId
-						let url = "/subPackage/workbench/views/cscj?houseCode=" + obj.stdId
-						that.$u.func.globalNavigator(url, "navTo")
-
-
-					}
-				});
-			},
-
-			getUrlParams(url) {
-				// 通过 ? 分割获取后面的参数字符串
-				let urlStr = url.split('?')[1]
-				// 创建空对象存储参数
-				let obj = {};
-				// 再通过 & 将每一个参数单独分割出来
-				let paramsArr = urlStr.split('&')
-				for (let i = 0, len = paramsArr.length; i < len; i++) {
-					// 再通过 = 将每一个参数分割为 key:value 的形式
-					let arr = paramsArr[i].split('=')
-					obj[arr[0]] = arr[1];
-				}
-				return obj
-			},
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	page {
-		color: #333;
-	}
-
-	.top {
-		width: 530rpx;
-
-		.top-text {
-			max-width: 85%;
-			margin-right: 20rpx;
-			white-space: nowrap;
-			overflow: hidden;
-			text-overflow: ellipsis;
-		}
-	}
-
-	.swiper {
-		width: 100%;
-		height: 260rpx;
-	}
-
-	.content {
-		padding: 0 30rpx;
-	}
-
-	.section {
-		.section-item {
-			width: 216rpx;
-			height: 120rpx;
-			position: relative;
-		}
-
-		.section-item-bg {
-			width: 216rpx;
-			height: 120rpx;
-		}
-		.item-box {
-			width: 216rpx;
-			height: 120rpx;
-			position: absolute;
-			top: 0;
-			left: 0;
-			padding: 20rpx 20rpx 0;
-			box-sizing: border-box;
-		}
-	}
-	.notic {
-		width: 100%;
-	}
-
-	.caption {
-		width: 100%;
-		padding: 30rpx 0 0;
-
-		.line {
-			width: 6rpx;
-			height: 28rpx;
-			background-color: #017BFC;
-			margin-right: 14rpx;
-		}
-	}
-
-	.block {
-		.block-item {
-			position: relative;
-		}
-
-		.block-item,
-		.block-item-bg,
-		.block-item-box {
-			width: 334rpx;
-			height: 170rpx;
-		}
-
-		.block-item-box {
-			padding: 0 30rpx;
-			box-sizing: border-box;
-			position: absolute;
-			top: 0;
-			left: 0;
-		}
-
-		.item-text {
-			height: 90rpx;
-			margin-left: 22rpx;
-			color: #fff;
-		}
-
-		.opacity {
-			opacity: .4;
-		}
-	}
-
-	.cell {
-		padding: 0 16rpx;
-		height: 64rpx;
-		border-radius: 8rpx;
-		margin-right: 20rpx;
-		margin-top: 30rpx;
-
-		.cell-text {
-			margin-left: 16rpx;
-		}
-	}
-
-	.grid-item {
-		width: 153rpx;
-		height: 153rpx;
-		border-radius: 16rpx 16rpx 16rpx 16rpx;
-		justify-content: center;
-	}
-
-	.row {
-		width: 100%;
-		margin: 30rpx 0;
-
-		.row-item {
-			width: 330rpx;
-			height: 134rpx;
-			box-shadow: 0rpx 10rpx 10rpx 0rpx rgba(0, 0, 0, 0.02);
-			border-radius: 16rpx 16rpx 16rpx 16rpx;
-		}
-	}
-</style>
\ No newline at end of file
diff --git a/pages/home/index3.vue b/pages/home/index3.vue
deleted file mode 100644
index 3dfd908..0000000
--- a/pages/home/index3.vue
+++ /dev/null
@@ -1,861 +0,0 @@
-<template>
-	<view class="layout">
-		<u-navbar height="48" :autoBack="false" safeAreaInsetTop placeholder
-			@leftClick="selectBoxShow = !selectBoxShow">
-			<view slot="left" class="top flex">
-				<view class="top-text f-30 fw">{{curSelectSite.name?curSelectSite.name:'暂无绑定' +roleTypeName+'信息'}}
-				</view>
-				<u-icon name="/static/icon/change-icon.png"></u-icon>
-			</view>
-		</u-navbar>
-		<view class="content">
-			<view class="swiper mb-30">
-				<u-swiper :list="bannerList" height="260rpx"></u-swiper>
-			</view>
-			<view class="">
-				<view class="section flex j-c-s-a a-i-c mt-40" v-if="isShowContact && curSelectSite.addressType == 1">
-					<view class="section-item" v-for="(i,k) in contactList" :key="k" v-if="i.name">
-						<image class="section-item-bg" :src="i.bgImg" mode="aspectFill"></image>
-						<view class="item-box">
-							<view class="f-28">{{i.title}}</view>
-							<view class="flex j-c-s-b">
-								<text class="f-22">{{i.name}}</text>
-								<u-icon :name="i.icon" @click.stop="callPhone(i.phone)"></u-icon>
-							</view>
-						</view>
-					</view>
-				</view>
-
-				<view class="block flex a-i-c j-c-s-b" v-if="roleType == 1">
-					<view @click="scan" class="block-item">
-						<image class="block-item-bg" src="/static/icon/nav-bg-04.png" mode="aspectFill" />
-						<view class="block-item-box flex a-i-c ">
-							<u-icon name="/static/icon/nav-05.png" width="65rpx" height="65rpx"></u-icon>
-							<view class="item-text flex f-d-c j-c-s-b">
-								<text class="f-24 fw">扫一扫</text>
-								<text class="f-22 opacity">场所采集</text>
-							</view>
-						</view>
-					</view>
-					<view class="block-item" @click="navigatorPage('/subPackage/user/clockIn/index')">
-						<image class="block-item-bg" src="/static/icon/nav-bg-05.png" mode="aspectFill" />
-						<view class="block-item-box flex a-i-c">
-							<u-icon name="/static/icon/nav-06.png" width="65rpx" height="65rpx"></u-icon>
-							<view class="item-text flex f-d-c j-c-s-b">
-								<text class="f-24 fw">打卡登记</text>
-								<text class="f-22 opacity">在线打卡</text>
-							</view>
-						</view>
-					</view>
-					<view class="block-item" @click="navigatorPage('/subPackage/statistics/index')">
-						<image class="block-item-bg" src="/static/icon/nav-bg-04.png" mode="aspectFill" />
-						<view class="block-item-box flex a-i-c">
-							<u-icon name="/static/icon/nav-12.png" width="65rpx" height="65rpx"></u-icon>
-							<view class="item-text flex f-d-c j-c-s-b">
-								<text class="f-24 fw">数据驾驶舱</text>
-								<text class="f-22 opacity">数据统计</text>
-							</view>
-						</view>
-					</view>
-				</view>
-
-				<view class="" v-if="liveList.length">
-					<caption-row title="生活" />
-					<view class="grid">
-						<u-grid :border="false" :col="liveList.length">
-							<u-grid-item @click.native="navigatorPage(i.path)" v-for="(i,k) in liveList" :key="k">
-								<u-icon :name="i.pictureImg" width="90rpx" height="90rpx"></u-icon>
-								<text class="f-26 mt-20">{{i.name}}</text>
-							</u-grid-item>
-						</u-grid>
-					</view>
-				</view>
-			</view>
-
-			<view class="" v-if="isShowHouse">
-				<caption-row title="楼盘表" />
-				<view class="flex flex-wrap">
-					<view class="cell bgc-main flex a-i-c" v-for="(item, index) in houseDataList.slice(0, 6)"
-						@click.native="pushPage(item)" :key="index">
-						<u-icon name="/static/icon/floor.png" width="32rpx" height="32rpx"></u-icon>
-						<text class="cell-text f-26 c-ff">{{item.title}}</text>
-					</view>
-				</view>
-			</view>
-
-			<view class="mb-20" v-if="roleType == 2">
-				<caption-row title="社区" />
-				<view class="mt-20">
-					<u-grid :border="false" col="3">
-						<u-grid-item @click="navigatorPage(`/subPackage/article/communityList?type=1`)">
-							<u-icon name="/static/icon/nav-14.png" width="90rpx" height="90rpx"></u-icon>
-							<text class="f-26  mt-10">选举调查</text>
-						</u-grid-item>
-						<u-grid-item @click="navigatorPage(`/subPackage/article/communityList?type=0`)">
-							<u-icon name="/static/icon/nav-13.png" width="90rpx" height="90rpx"></u-icon>
-							<text class="f-26  mt-10">公益报名</text>
-						</u-grid-item>
-						<u-grid-item @click="navigatorPage('')">
-							<u-icon name="/static/icon/nav-15.png" width="90rpx" height="90rpx"></u-icon>
-							<text class="f-26  mt-10">公共收益</text>
-						</u-grid-item>
-					</u-grid>
-				</view>
-			</view>
-
-			<view class="" v-if="jobList.length && roleType == 1">
-				<caption-row title="工作台" />
-				<u-grid :border="false" col="4">
-					<u-grid-item @click="navigatorPage(item.path)" v-for="(item, index) in jobList" :index="index"
-						:key="index" :customStyle="{paddingTop:20+'rpx'}">
-						<view class="grid-item flex f-d-c a-i-c" :style="{background:item.background}">
-							<u-icon :name="item.pictureImg" width="60rpx" height="60rpx"></u-icon>
-							<text class="grid-text f-24 fw mt-10">{{item.name}}</text>
-						</view>
-					</u-grid-item>
-				</u-grid>
-			</view>
-			<view class="" v-if="roleType == 2 && curSelectSite.addressType == 2">
-				<caption-row title="工作台" />
-				<u-grid :border="false" col="4">
-					<u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')"
-						:customStyle="{paddingTop:20+'rpx'}">
-						<view class="grid-item flex f-d-c a-i-c"
-							style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
-							<u-icon name="/static/icon/menu-05.png" width="60rpx" height="60rpx"></u-icon>
-							<text class="grid-text f-24 fw mt-10">场所维护</text>
-						</view>
-					</u-grid-item>
-					<u-grid-item @click="navigatorPage('')" :customStyle="{paddingTop:20+'rpx'}">
-						<view class="grid-item flex f-d-c a-i-c"
-							style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
-							<u-icon name="/static/icon/menu-02.png" width="60rpx" height="60rpx"></u-icon>
-							<text class="grid-text f-24 fw mt-10">场所任务</text>
-						</view>
-					</u-grid-item>
-				</u-grid>
-			</view>
-			<view class="notic" v-if="isShowNotice">
-				<caption-row title="通知公告" :is-link="true" url="/subPackage/article/list" />
-				<notice-list :data="notice" />
-			</view>
-
-			<u-picker :title="roleTypeName" :defaultIndex="selectSiteIndex" :closeOnClickOverlay="true"
-				@close="selectBoxShow = false" :show="selectBoxShow" keyName="name" ref="uPicker" :columns="siteColumns"
-				@confirm="confirmSite" @change="changeSite" @cancel="selectBoxShow = false"></u-picker>
-		</view>
-
-	</view>
-</template>
-
-<script>
-	import {
-		getFuncList,
-		getHouseList
-	} from "@/api/doorplateAddress/doorplateAddress";
-
-	import {
-		getPage
-	} from "@/api/article/article";
-	import {
-		getBannerList,
-		getContact
-	} from "@/api/system/index"
-	import {
-		minioBaseUrl
-	} from "@/common/setting"
-	import noticeList from "@/components/noticeList/noticeList";
-	import captionRow from "@/components/caption/caption.vue"
-	export default {
-		components: {
-			noticeList,
-			captionRow
-		},
-		data() {
-			return {
-				jobList: [{
-						icon: "/static/icon/menu-01.png",
-						text: "场所记录",
-						style: {
-							background: 'linear-gradient(133deg, #FFFCF9 0%, rgba(255,252,249,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/csjl"
-					},
-					{
-						icon: "/static/icon/menu-02.png",
-						text: "场所采集",
-						style: {
-							background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/cscj"
-					},
-					{
-						icon: "/static/icon/menu-03.png",
-						text: "出租房管理",
-						style: {
-							background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/rental"
-					},
-					{
-						icon: "/static/icon/menu-04.png",
-						text: "标签事件",
-						style: {
-							background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/audit"
-					},
-					{
-						icon: "/static/icon/menu-05.png",
-						text: "场所维护",
-						style: {
-							background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/cshw"
-					},
-					{
-						icon: "/static/icon/menu-06.png",
-						text: "报事审核",
-						style: {
-							background: 'linear-gradient(137deg, #FFF4F3 0%, rgba(255,244,243,0) 100%)',
-						},
-						path: "/subPackage/workbench/views/report"
-					},
-					{
-						icon: "/static/icon/menu-10.png",
-						text: "我的任务",
-						style: {
-							background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)'
-						},
-						path: "/subPackage/task/index"
-					},
-					{
-						icon: "/static/icon/menu-02.png",
-						text: "工作日志",
-						style: {
-							background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)'
-						},
-						path: "/subPackage/workbench/views/workLog"
-					},
-					{
-						icon: "/static/icon/menu-02.png",
-						text: "网格巡查",
-						style: {
-							background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)'
-						},
-						path: "/subPackage/workbench/views/patrol"
-					}
-				],
-				roleType: 2, // 1网格员/系统管理员 、  2居民
-				roleTypeName: "街道社区网格",
-				selectBoxShow: false,
-				siteColumns: [],
-				curSelectSite: {
-					addressType: 1
-				},
-				columnData: [],
-				houseDataList: [{
-					title: '-',
-					useSlot: true
-				}],
-				menuList: [],
-				curHouseCode: '',
-				notice: [],
-				selectSiteIndex: [0, 0],
-				liveList: [], //生活菜单
-				contactList: [], //便民服务联系方式
-				isShowHouse: false, //显示楼盘表
-				isShowNotice: true, //显示通知公告
-				isShowContact: false,
-				bannerList: [],
-				navList: [{
-						title: "物业",
-						name: "",
-						icon: "/static/icon/tel-green.png",
-						bgImg: "/static/icon/nav-bg-01.png",
-						phone: ""
-					},
-					{
-						title: "综治网格",
-						name: "",
-						icon: "/static/icon/tel-orange.png",
-						bgImg: "/static/icon/nav-bg-02.png",
-						phone: ""
-					},
-					{
-						title: "公安网格",
-						name: "",
-						icon: "/static/icon/tel-blue.png",
-						bgImg: "/static/icon/nav-bg-03.png",
-						phone: ""
-					},
-				],
-			}
-		},
-
-		onLoad() {
-			this.getBanner();
-			this.init()
-			uni.$on('refresh', () => {
-				this.selectSiteIndex = [0, 0]
-				this.curSelectSite = {
-					addressType: 1
-				}
-				this.init()
-			})
-		},
-
-		onReady() {
-			// if (!uni.getStorageSync("userInfo")) {
-			// 	uni.redirectTo({
-			// 		url: "/pages/login/login-account"
-			// 	})
-			// }
-		},
-
-		computed: {
-			hasMenu() {
-				return (name) => {
-					let resultArr = this.getMenu(name, this.menuList)
-					if (resultArr.length) {
-						return resultArr
-					} else {
-						return []
-					}
-				}
-			}
-		},
-
-		watch: {
-			'curSelectSite.id': {
-				handler(newVal, oldVal) {
-					if (newVal) {
-						this.$store.commit("setSiteInfo", this.curSelectSite)
-					}
-				},
-				deep: true,
-				immediate: true
-			},
-
-			'curSelectSite.addressType': {
-				handler(newVal, oldVal) {
-					if (newVal) {
-						this.$store.dispatch("getMenuList").then(res => {
-							this.getMenuList()
-						});
-					}
-				},
-				deep: true,
-				// immediate: true
-			}
-		},
-		onPullDownRefresh() {
-			this.$store.dispatch("getMenuList").then(res => {
-				this.getMenuList()
-			});
-			setTimeout(() => {
-				uni.stopPullDownRefresh();
-			}, 300)
-		},
-
-		methods: {
-
-			//初始化
-			init() {
-				this.selectRole = uni.getStorageSync("activeRole")
-				this.getMenuList()
-				this.getSiteList()
-				this.getNoticeList()
-			},
-
-			getBanner() {
-				getBannerList({
-					current: 1,
-					size: 5
-				}).then(res => {
-					let data = res.data.records;
-					if (data.length) {
-						for (let i of data) {
-							i.url = `${minioBaseUrl}${i.url}`
-						}
-						this.bannerList = data;
-					}
-				})
-			},
-
-			getContactList() {
-				getContact({
-					houseCode: this.curHouseCode
-				}).then(res => {
-					let data = res.data;
-					this.contactList = this.navList;
-					if (data.wg) {
-						this.contactList[1].name = data.wg.name;
-						this.contactList[1].phone = data.wg.phone
-						this.contactList[1].path = "";
-						this.contactList[1].id = data.wg.code;
-					}
-					if (data.wy) {
-						this.contactList[0].name = data.wy.name;
-						this.contactList[0].phone = data.wy.phone;
-						this.contactList[0].path = "/subPackage/grid/tenement";
-						this.contactList[0].id = data.wy.code;
-					}
-					if (data.ga) {
-						this.contactList[2].name = data.ga.name;
-						this.contactList[2].phone = data.ga.phone;
-						this.contactList[2].path = "";
-						this.contactList[2].id = data.ga.code;
-					}
-				})
-			},
-
-			callPhone(phone) {
-				uni.makePhoneCall({
-					phoneNumber: phone
-				})
-			},
-
-
-
-			async getNoticeList() {
-				const param = {
-					size: 10,
-					current: 1,
-					houseCode: uni.getStorageSync("siteInfo").houseCode
-				}
-				const res = await getPage(param)
-				this.notice = res.data.records
-			},
-
-			//获取场所列表
-			async getSiteList() {
-				let type = null
-				let roleName = this.selectRole.roleName
-				if (roleName == '网格员' || roleName == '系统管理员') {
-					type = 1
-					this.roleType = 1;
-					this.roleTypeName = "街道社区网格"
-				} else if (roleName == '居民') {
-					type = 2
-					this.roleType = 2
-					this.roleTypeName = "居民"
-				}
-				const res = await getFuncList(type, roleName)
-				this.columnData = res.data;
-				let data = res.data
-				this.siteColumns = []
-				this.buildSiteColumn(data, 0)
-			},
-
-			buildSiteColumn(dataList, index) {
-				if (dataList.length > 0) {
-					this.siteColumns[index] = dataList
-					if (dataList[0].children && dataList[0].children.length > 0) {
-						this.curSelectSite = dataList[0].children[0];
-						this.getHouseDataList(dataList[0].children[0].id)
-						this.buildSiteColumn(dataList[0].children, index + 1)
-					} else {
-						this.curSelectSite = dataList[0];
-					}
-					this.curHouseCode = this.curSelectSite.id
-				}
-			},
-
-
-			// 获取楼盘
-			async getHouseDataList(code) {
-				const param = {
-					type: 1,
-					code: code,
-					roleName: uni.getStorageSync('activeRole').roleName
-				}
-				const res = await getHouseList(param)
-				res.data.forEach(item => {
-					item.title = item.name
-					item.useSlot = true
-					delete item.name
-				})
-				this.houseDataList = res.data || [{
-					title: '-',
-					useSlot: true
-				}]
-			},
-
-			changeSite(e) {
-				const {
-					columnIndex,
-					value,
-					values, // values为当前变化列的数组内容
-					index,
-					// 微信小程序无法将picker实例传出来,只能通过ref操作
-					picker = this.$refs.uPicker
-				} = e
-				// 当第一列值发生变化时,变化第二列(后一列)对应的选项
-				if (columnIndex === 0 && this.columnData.length > 0) {
-					// picker为选择器this实例,变化第二列对应的选项
-					picker.setColumnValues(1, this.columnData[index])
-					// this.siteColumns[1] = this.columnData[index].children
-					this.$set(this.siteColumns, 1, this.columnData[index].children)
-				};
-			},
-			// 回调参数为包含columnIndex、value、values
-			confirmSite(e) {
-				console.log('confirm', e)
-				this.selectSiteIndex = e.indexs;
-				this.curSelectSite = e.value[e.value.length - 1]
-				this.selectBoxShow = false
-				this.getHouseDataList(e.value[1]?.id)
-				this.curHouseCode = e.value[0].id
-				console.log("curSite=>", this.curSelectSite);
-			},
-			getMenu(menuName) {
-				let list = [];
-				for (let i of this.menuList) {
-					if (i.name == menuName) {
-						if (i.children && i.children.length) {
-							list = i.children;
-							break;
-						}
-					}
-				}
-				return list;
-			},
-
-			//获取首页菜单
-			getMenuList() {
-				this.menuList = uni.getStorageSync("menu")
-				this.liveList = this.setLiveMenu(this.hasMenu('生活'));
-				// this.contactList = this.hasMenu('快捷拨号');
-				this.jobList = this.hasMenu('工作台')
-				if (this.menuList.length) {
-					this.getContactMenu();
-					this.getHouseMenu();
-					this.getNoticeMenu();
-				}
-				setTimeout(() => {
-					if (this.jobList.length) {
-						let taskList = this.jobList.filter(item => item.name == "我的任务")
-						if (taskList.length) {
-							uni.setStorageSync("taskMenu", taskList[0].children);
-						} else {
-							uni.setStorageSync("taskMenu", []);
-						}
-					} else {
-						uni.setStorageSync("taskMenu", []);
-					}
-				}, 200)
-			},
-
-			getContactMenu() {
-				let list = [];
-				list = this.menuList.filter(item => item.name == "快捷拨号")
-				this.isShowContact = list.length ? true : false;
-				if (list.length) {
-					this.getContactList()
-				}
-			},
-
-			getHouseMenu() {
-				let list = [];
-				list = this.menuList.filter(item => item.name == "楼盘表")
-				this.isShowHouse = list.length ? true : false;
-			},
-
-			getNoticeMenu() {
-				let list = [];
-				list = this.menuList.filter(item => item.name == "通知公告")
-				this.isShowNotice = list.length ? true : false;
-				if (list.length) {
-					this.getNoticeList()
-				}
-			},
-
-
-			setLiveMenu(arr) {
-				if (arr.length) {
-					let index = this.getLiveMenuItem(arr, 1)
-					let index2 = this.getLiveMenuItem(arr, 2)
-					if (this.curSelectSite.addressType == 1) {
-						if (index != -1) {
-							arr.splice(index, 1)
-							index = this.getLiveMenuItem(arr, 1)
-							index2 = this.getLiveMenuItem(arr, 2)
-						}
-						if (index2 == -1) {
-							arr.push({
-								name: "租客上报",
-								path: "/subPackage/bs/views/zhsb",
-								pictureImg: "/static/icon/nav-04.png"
-							})
-							index = this.getLiveMenuItem(arr, 1)
-							index2 = this.getLiveMenuItem(arr, 2)
-						}
-
-					} else {
-						if (index == -1) {
-							arr.unshift({
-								name: "标签报事",
-								path: "/subPackage/label/index",
-								pictureImg: "/static/icon/nav-11.png"
-							})
-							index = this.getLiveMenuItem(arr, 1)
-							index2 = this.getLiveMenuItem(arr, 2)
-						}
-						if (index2 != -1) {
-							arr.splice(index2, 1)
-							index = this.getLiveMenuItem(arr, 1)
-							index2 = this.getLiveMenuItem(arr, 2)
-						}
-					}
-				}
-				return arr;
-			},
-
-			getLiveMenuItem(arr, type) {
-				if (type == 1) {
-					let index = arr.findIndex(item => item.name == "标签报事")
-					return index;
-				} else {
-					let index2 = arr.findIndex(item => item.name == "租户上报")
-					return index2
-				}
-			},
-
-			// 页面跳转
-			pushPage(item) {
-				const {
-					id,
-					title,
-					addressType
-				} = item;
-				if (id !== void 0) {
-					let url = `/subPackage/house/list/index?id=${id}&title=${title}&addressType=${addressType}`
-					this.$u.func.globalNavigator(url, "navTo")
-				}
-			},
-
-			navTo() {
-				if (this.curHouseCode === '') {
-					uni.showToast({
-						title: "请选择地址",
-						icon: "error"
-					})
-					return
-				}
-				this.$u.func.globalNavigator(`/subPackage/bs/views/zhsb?houseCode=${this.curHouseCode}`, "navTo")
-			},
-
-			navigatorPage(path) {
-				if (path) {
-					if ((path == '/subPackage/bs/views/zhsb' || path == '/subPackage/bs/views/repair') && this
-						.curHouseCode === '') {
-						uni.showToast({
-							title: "尚无绑定房屋信息",
-							icon: "error"
-						})
-					}
-					// else if (path == "/subPackage/statistics/index") {
-					// 	uni.showToast({
-					// 		title: "功能开发中~",
-					// 		icon: "none"
-					// 	})
-					// } 
-					else {
-						this.$u.func.globalNavigator(`${path}?houseCode=${this.curHouseCode}`, "navTo")
-					}
-
-				} else {
-					uni.showToast({
-						title: "功能开发中~",
-						icon: "none"
-					})
-				}
-			},
-
-			//扫一扫
-			scan() {
-				const that = this
-				uni.scanCode({
-					success: function(res) {
-						console.log(res)
-						console.log('条码类型:' + res.scanType);
-						console.log('条码内容:' + res.result);
-						let eventType = 0;
-						let obj = that.getUrlParams(res.result)
-						console.log(obj)
-						if (obj.stdId == "3C77B40EFC5F4C899AA74BEE747D9DF1") {
-							eventType = 1;
-						}
-						if (obj.stdId == "CDF5528D617342228F3C84EF5C3C8780") {
-							eventType = 2;
-						}
-						if (eventType) {
-							that.$u.func.globalNavigator(
-								`/subPackage/house/houseNumber/index?stdId=${obj.stdId}&eventType=${eventType}`,
-								"navTo")
-						} else {
-							that.$u.func.globalNavigator(
-								`/subPackage/house/houseNumber/index?stdId=${obj.stdId}`, "navTo")
-						}
-
-						//"3C77B40EFC5F4C899AA74BEE747D9DF1"
-						// let url = "/subPackage/workbench/views/cscj?stdId=" + obj.stdId
-						// let url = "/subPackage/workbench/views/cscj?houseCode=" + obj.stdId
-
-						// let url = `/subPackage/house/houseNumber/index?stdId=${obj.stdId}`
-						// that.$u.func.globalNavigator(url, "navTo")
-					}
-				});
-			},
-
-			getUrlParams(url) {
-				// 通过 ? 分割获取后面的参数字符串
-				let urlStr = url.split('?')[1]
-				// 创建空对象存储参数
-				let obj = {};
-				// 再通过 & 将每一个参数单独分割出来
-				let paramsArr = urlStr.split('&')
-				for (let i = 0, len = paramsArr.length; i < len; i++) {
-					// 再通过 = 将每一个参数分割为 key:value 的形式
-					let arr = paramsArr[i].split('=')
-					obj[arr[0]] = arr[1];
-				}
-				return obj
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		color: #333;
-		width: 100%;
-		height: 100%;
-		background-color: #fff;
-	}
-
-	.layout {
-		width: 100%;
-		height: 100%;
-		background-color: #fff;
-	}
-
-	.top {
-		width: 530rpx;
-
-		.top-text {
-			max-width: 85%;
-			margin-right: 20rpx;
-			white-space: nowrap;
-			overflow: hidden;
-			text-overflow: ellipsis;
-		}
-	}
-
-	.swiper {
-		width: 100%;
-		height: 260rpx;
-	}
-
-	.content {
-		padding: 0 30rpx;
-	}
-
-	.grid {
-		margin-top: 20rpx;
-		margin-bottom: 10rpx;
-	}
-
-	.section {
-		.section-item {
-			width: 216rpx;
-			height: 120rpx;
-			position: relative;
-		}
-
-		.section-item-bg {
-			width: 216rpx;
-			height: 120rpx;
-		}
-
-		.item-box {
-			width: 216rpx;
-			height: 120rpx;
-			position: absolute;
-			top: 0;
-			left: 0;
-			padding: 20rpx 20rpx 0;
-			box-sizing: border-box;
-		}
-	}
-
-	.notic {
-		width: 100%;
-	}
-
-	.block {
-		.block-item {
-			position: relative;
-
-		}
-
-		.block-item,
-		.block-item-bg,
-		.block-item-box {
-			width: 226rpx;
-			height: 150rpx;
-			border-radius: 12rpx;
-		}
-
-		.block-item-box {
-			padding: 0 12rpx;
-			box-sizing: border-box;
-			position: absolute;
-			top: 0;
-			left: 0;
-
-		}
-
-		.item-text {
-			height: 65rpx;
-			margin-left: 20rpx;
-			color: #fff;
-		}
-
-		.opacity {
-			opacity: .4;
-		}
-	}
-
-	.cell {
-		padding: 0 16rpx;
-		height: 64rpx;
-		border-radius: 8rpx;
-		margin-right: 20rpx;
-		margin-top: 30rpx;
-
-		.cell-text {
-			margin-left: 16rpx;
-		}
-	}
-
-	.grid-item {
-		width: 153rpx;
-		height: 153rpx;
-		border-radius: 16rpx 16rpx 16rpx 16rpx;
-		justify-content: center;
-	}
-
-	.row {
-		width: 100%;
-		margin: 30rpx 0;
-
-		.row-item {
-			width: 330rpx;
-			height: 134rpx;
-			box-shadow: 0rpx 10rpx 10rpx 0rpx rgba(0, 0, 0, 0.02);
-			border-radius: 16rpx 16rpx 16rpx 16rpx;
-		}
-	}
-</style>
\ No newline at end of file
diff --git a/pages/home/index4.vue b/pages/home/index4.vue
deleted file mode 100644
index 75dcf96..0000000
--- a/pages/home/index4.vue
+++ /dev/null
@@ -1,934 +0,0 @@
-<template>
-	<view class="layout">
-		<!-- <u-navbar height="48" :autoBack="false" safeAreaInsetTop placeholder @leftClick="selectBoxShow = !selectBoxShow"
-			bgColor="#017BFC">
-			<view slot="left" class="top flex">
-				<view class="top-text f-30 fw c-ff">{{curSelectSite.name?curSelectSite.name:'暂无绑定' +roleTypeName+'信息'}}
-				</view>
-				<u-icon name="arrow-down" color="#fff"></u-icon>
-			</view>
-		</u-navbar> -->
-
-		<u-navbar height="48" :autoBack="false" safeAreaInsetTop placeholder @leftClick="navToSelectSite()"
-			bgColor="#017BFC">
-			<view slot="left" class="top flex">
-				<view class="top-text f-30 fw c-ff">{{curSelectSite.name?curSelectSite.name:'暂无绑定' +roleTypeName+'信息'}}
-				</view>
-				<u-icon name="arrow-right" color="#fff"></u-icon>
-			</view>
-		</u-navbar>
-
-		<view class="swiper">
-			<u-swiper :list="bannerList" height="320rpx" radius="10"></u-swiper>
-		</view>
-		<view class="content">
-			<view class="">
-				<view class="section flex j-c-s-a a-i-c mb-20" v-if="isShowContact && curSelectSite.addressType == 1">
-					<view class="section-item" v-for="(i,k) in contactList" :key="k" v-if="i.name"
-						@click="navigatorPage(`${i.path}?id=${i.id}`)">
-						<image class="section-item-bg" :src="i.bgImg" mode="aspectFill"></image>
-						<view class="item-box">
-							<view class="f-28">{{i.title}}</view>
-							<view class="flex j-c-s-b">
-								<text class="f-22">{{i.name}}</text>
-								<u-icon :name="i.icon" @click.stop="callPhone(i.phone)"></u-icon>
-							</view>
-						</view>
-					</view>
-				</view>
-
-				<view class="block flex a-i-c j-c-s-b mb-20" v-if="roleType == 1 || roleType == 3">
-					<view @click="scan" class="block-item">
-						<image class="block-item-bg" src="/static/icon/nav-bg-04.png" mode="aspectFill" />
-						<view class="block-item-box flex a-i-c ">
-							<u-icon name="/static/icon/nav-05.png" width="65rpx" height="65rpx"></u-icon>
-							<view class="item-text flex f-d-c j-c-s-b">
-								<text class="f-24 fw">扫一扫</text>
-								<text class="f-22 opacity">场所采集</text>
-							</view>
-						</view>
-					</view>
-					<view class="block-item" @click="navigatorPage('/subPackage/user/clockIn/index')">
-						<image class="block-item-bg" src="/static/icon/nav-bg-05.png" mode="aspectFill" />
-						<view class="block-item-box flex a-i-c">
-							<u-icon name="/static/icon/nav-06.png" width="65rpx" height="65rpx"></u-icon>
-							<view class="item-text flex f-d-c j-c-s-b">
-								<text class="f-24 fw">打卡登记</text>
-								<text class="f-22 opacity">在线打卡</text>
-							</view>
-						</view>
-					</view>
-					<view class="block-item" @click="navigatorPage('/subPackage/statistics/index')">
-						<image class="block-item-bg" src="/static/icon/nav-bg-04.png" mode="aspectFill" />
-						<view class="block-item-box flex a-i-c">
-							<u-icon name="/static/icon/nav-12.png" width="65rpx" height="65rpx"></u-icon>
-							<view class="item-text flex f-d-c j-c-s-b">
-								<text class="f-24 fw">驾驶舱</text>
-								<text class="f-22 opacity">数据统计</text>
-							</view>
-						</view>
-					</view>
-				</view>
-
-				<view class="nav bgc-ff" v-if="liveList.length || roleType == 2">
-					<!-- <caption-row title="生活" /> -->
-					<u-grid :border="false" col="4">
-						<block v-if="liveList.length">
-							<u-grid-item @click.native="navigatorPage(i.path)" v-for="(i,k) in liveList" :key="k">
-								<view class="nav-item flex f-d-c a-i-c">
-									<u-icon :name="i.pictureImg" width="80rpx" height="80rpx"></u-icon>
-									<text class="nav-item-text f-26 mt-20">{{i.name}}</text>
-								</view>
-							</u-grid-item>
-						</block>
-						<block v-if="roleType == 2">
-							<u-grid-item @click="navigatorPage(i.path)" v-for="(i,k) in communityList" :key="k">
-								<view class="nav-item flex f-d-c a-i-c">
-									<u-icon :name="i.icon" width="80rpx" height="80rpx"></u-icon>
-									<text class="nav-item-text f-26  mt-10">{{i.title}}</text>
-								</view>
-							</u-grid-item>
-						</block>
-					</u-grid>
-				</view>
-			</view>
-
-			<view class="bgc-ff p-20 mb-20 pb-20" v-if="isShowHouse">
-				<caption-row title="楼盘表" />
-				<view class="flex flex-wrap">
-					<view class="cell bgc-main flex a-i-c" v-for="(item, index) in houseDataList.slice(0, 6)"
-						@click.native="pushPage(item)" :key="index">
-						<u-icon name="/static/icon/floor.png" width="32rpx" height="32rpx"></u-icon>
-						<text class="cell-text f-26 c-ff">{{item.title}}</text>
-					</view>
-				</view>
-			</view>
-
-			<view class="bgc-ff mb-20 p-20 pb-20" v-if="jobList.length">
-				<caption-row title="工作台" />
-				<u-grid :border="false" col="4">
-					<u-grid-item @click="navigatorPage(item.path)" v-for="(item, index) in jobList" :index="index"
-						:key="index" :customStyle="{paddingTop:20+'rpx'}">
-						<view class="grid-item flex f-d-c a-i-c" :style="{background:item.background}">
-							<u-icon :name="item.pictureImg" width="60rpx" height="60rpx"></u-icon>
-							<text class="grid-text f-24 fw mt-10">{{item.name}}</text>
-						</view>
-					</u-grid-item>
-					<!-- <u-grid-item @click="navigatorPage('/subPackage/house/houseNumber/siteInspect')"
-						:customStyle="{paddingTop:20+'rpx'}">
-						<view class="grid-item flex f-d-c a-i-c"
-							style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
-							<u-icon name="/static/icon/menu-02.png" width="60rpx" height="60rpx"></u-icon>
-							<text class="grid-text f-24 fw mt-10">场所检查</text>
-						</view>
-					</u-grid-item> -->
-				</u-grid>
-			</view>
-
-			<view class="bgc-ff mb-20 p-20 pb-20" v-if="(roleType == 2) && (curSelectSite.addressType == 2)">
-				<caption-row title="工作台" />
-				<u-grid :border="false" col="4">
-					<u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')"
-						:customStyle="{paddingTop:20+'rpx'}">
-						<view class="grid-item flex f-d-c a-i-c"
-							style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
-							<u-icon name="/static/icon/menu-05.png" width="60rpx" height="60rpx"></u-icon>
-							<text class="grid-text f-24 fw mt-10">场所维护</text>
-						</view>
-					</u-grid-item>
-					<u-grid-item @click="navToSiteList()" :customStyle="{paddingTop:20+'rpx'}">
-						<view class="grid-item flex f-d-c a-i-c"
-							style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
-							<u-icon name="/static/icon/menu-02.png" width="60rpx" height="60rpx"></u-icon>
-							<text class="grid-text f-24 fw mt-10">场所任务</text>
-						</view>
-					</u-grid-item>
-				</u-grid>
-			</view>
-			<view class="p-20 bgc-ff mb-20" v-if="isShowNotice">
-				<caption-row title="通知公告" :is-link="true" url="/subPackage/article/list" />
-				<notice-list :data="notice" />
-			</view>
-
-			<u-picker :title="roleTypeName" :defaultIndex="selectSiteIndex" :closeOnClickOverlay="true"
-				@close="selectBoxShow = false" :show="selectBoxShow" keyName="name" ref="uPicker" :columns="siteColumns"
-				@confirm="confirmSite" @change="changeSite" @cancel="selectBoxShow = false"></u-picker>
-		</view>
-
-	</view>
-</template>
-
-<script>
-	import {
-		getFuncList,
-		getHouseList
-	} from "@/api/doorplateAddress/doorplateAddress";
-
-	import {
-		getPage
-	} from "@/api/article/article";
-	import {
-		getBannerList,
-		getContact,
-		getQrCodeDetail
-	} from "@/api/system/index"
-	import {
-		minioBaseUrl
-	} from "@/common/setting"
-	import noticeList from "@/components/noticeList/noticeList";
-	import captionRow from "@/components/caption/caption.vue"
-
-	import {
-		getPublicSecurityDetail
-	} from "@/api/grid/grid.js"
-
-	export default {
-		components: {
-			noticeList,
-			captionRow
-		},
-		data() {
-			return {
-				jobList: [],
-				roleType: 2, // 1网格员/系统管理员 、  2居民   3民警
-				roleTypeName: "街道社区网格",
-				selectBoxShow: false,
-				siteColumns: [],
-				curSelectSite: {
-					addressType: 1
-				},
-				columnData: [],
-				houseDataList: [{
-					title: '-',
-					useSlot: true
-				}],
-				menuList: [],
-				curHouseCode: '',
-				notice: [],
-				selectSiteIndex: [0, 0],
-				liveList: [], //生活菜单
-				contactList: [], //便民服务联系方式
-				isShowHouse: false, //显示楼盘表
-				isShowNotice: true, //显示通知公告
-				isShowContact: false,
-				bannerList: [],
-				navList: [{
-						title: "物业",
-						name: "",
-						icon: "/static/icon/tel-green.png",
-						bgImg: "/static/icon/nav-bg-01.png",
-						phone: ""
-					},
-					{
-						title: "综治网格",
-						name: "",
-						icon: "/static/icon/tel-orange.png",
-						bgImg: "/static/icon/nav-bg-02.png",
-						phone: ""
-					},
-					{
-						title: "公安网格",
-						name: "",
-						icon: "/static/icon/tel-blue.png",
-						bgImg: "/static/icon/nav-bg-03.png",
-						phone: ""
-					},
-				],
-				communityList: [{
-						title: "选举调查",
-						icon: "/static/icon/nav-14.png",
-						path: "/subPackage/article/communityList?type=1"
-
-					},
-					{
-						title: "公益报名",
-						icon: "/static/icon/nav-13.png",
-						path: "/subPackage/article/signUpList?type=0"
-
-					},
-					{
-						title: "公共收益",
-						icon: "/static/icon/nav-15.png",
-						path: "/subPackage/article/list?type=1"
-
-					}
-				]
-			}
-		},
-
-		onLoad() {
-			this.getBanner();
-			this.init()
-			uni.$on('refresh', () => {
-				this.selectSiteIndex = [0, 0]
-				this.curSelectSite = {
-					addressType: 1
-				}
-				this.init()
-			})
-			//选择位置刷新楼盘表
-			uni.$on('refreshPage', (val) => {
-				console.log("refreshPage=>", val);
-				this.curSelectSite = val
-				this.getHouseDataList(val.id)
-				this.curHouseCode = this.curSelectSite.houseCode
-				uni.setStorageSync("curHouseCode", this.curSelectSite.houseCode)
-			})
-		},
-
-		onShareAppMessage() {
-
-		},
-
-		computed: {
-			hasMenu() {
-				return (name) => {
-					let resultArr = this.getMenu(name, this.menuList)
-					if (resultArr.length) {
-						return resultArr
-					} else {
-						return []
-					}
-				}
-			}
-		},
-
-		watch: {
-			'curSelectSite.id': {
-				handler(newVal, oldVal) {
-					if (newVal) {
-						this.$store.commit("setSiteInfo", this.curSelectSite)
-					}
-				},
-				deep: true,
-				immediate: true
-			},
-
-			'curSelectSite.addressType': {
-				handler(newVal, oldVal) {
-					if (newVal) {
-						this.$store.dispatch("getMenuList").then(res => {
-							this.getMenuList()
-						});
-					}
-				},
-				deep: true,
-				// immediate: true
-			}
-		},
-		// onPullDownRefresh() {
-		// 	this.$store.dispatch("getMenuList").then(res => {
-		// 		this.getMenuList()
-		// 	});
-		// 	setTimeout(() => {
-		// 		uni.stopPullDownRefresh();
-		// 	}, 300)
-		// },
-
-		methods: {
-
-			//初始化
-			init() {
-				this.selectRole = uni.getStorageSync("activeRole")
-				this.getMenuList()
-				this.getSiteList()
-				this.getNoticeList()
-			},
-
-			getBanner() {
-				getBannerList({
-					current: 1,
-					size: 5
-				}).then(res => {
-					let data = res.data.records;
-					if (data.length) {
-						for (let i of data) {
-							i.url = `${minioBaseUrl}${i.url}`
-						}
-						this.bannerList = data;
-					}
-				})
-			},
-
-			getContactList() {
-				getContact({
-					houseCode: uni.getStorageSync("curHouseCode")
-				}).then(res => {
-					let data = res.data;
-					this.contactList = this.navList;
-					if (data.wg) {
-						this.contactList[1].name = data.wg.name;
-						this.contactList[1].phone = data.wg.phone
-						this.contactList[1].path = "/subPackage/grid/comprehensive";
-						this.contactList[1].id = data.wg.code;
-					} else {
-						this.contactList[1].name = "";
-					}
-					if (data.wy) {
-						this.contactList[0].name = data.wy.name;
-						this.contactList[0].phone = data.wy.phone;
-						this.contactList[0].path = "/subPackage/grid/tenement";
-						this.contactList[0].id = data.wy.code;
-					} else {
-						this.contactList[0].name = "";
-					}
-					if (data.ga) {
-						this.contactList[2].name = data.ga.name;
-						this.contactList[2].phone = data.ga.phone;
-						this.contactList[2].path = "/subPackage/grid/publicSecurity";
-						this.contactList[2].id = data.ga.code;
-					} else {
-						this.contactList[2].name = "";
-					}
-				})
-			},
-
-			callPhone(phone) {
-				uni.makePhoneCall({
-					phoneNumber: phone
-				})
-			},
-
-			async getNoticeList() {
-				const param = {
-					size: 5,
-					current: 1,
-					houseCode: uni.getStorageSync("siteInfo").houseCode
-				}
-				const res = await getPage(param)
-				this.notice = res.data.records
-			},
-
-			//获取场所列表
-			async getSiteList() {
-				let type = null
-				let roleName = this.selectRole.roleName
-				if (roleName == '网格员' || roleName == '系统管理员') {
-					type = 1
-					this.roleType = 1;
-					this.roleTypeName = "街道社区网格"
-				} else if (roleName == '居民') {
-					type = 2
-					this.roleType = 2
-					this.roleTypeName = "居民"
-				} else if (roleName == '民警') {
-					type = 1
-					this.roleType = 3
-					this.roleTypeName = "街道社区"
-				}
-				const res = await getFuncList(type, roleName)
-				this.columnData = res.data;
-				let data = res.data
-				this.siteColumns = []
-				this.buildSiteColumn(data, 0)
-			},
-
-			buildSiteColumn(dataList, index) {
-				if (dataList.length > 0) {
-					this.siteColumns[index] = dataList
-					if (dataList[0].children && dataList[0].children.length > 0) {
-						this.curSelectSite = dataList[0].children[0];
-						this.getHouseDataList(dataList[0].children[0].id)
-						this.buildSiteColumn(dataList[0].children, index + 1)
-					} else {
-						this.curSelectSite = dataList[0];
-					}
-					this.curHouseCode = this.curSelectSite.id
-					uni.setStorageSync("curHouseCode", this.curSelectSite.id)
-				}
-			},
-
-
-			// 获取楼盘
-			async getHouseDataList(code) {
-				const param = {
-					type: 1,
-					code: code,
-					roleName: uni.getStorageSync('activeRole').roleName
-				}
-				const res = await getHouseList(param)
-				res.data.forEach(item => {
-					item.title = item.name
-					item.useSlot = true
-					delete item.name
-				})
-				this.houseDataList = res.data || [{
-					title: '-',
-					useSlot: true
-				}]
-			},
-
-			changeSite(e) {
-				const {
-					columnIndex,
-					value,
-					values, // values为当前变化列的数组内容
-					index,
-					// 微信小程序无法将picker实例传出来,只能通过ref操作
-					picker = this.$refs.uPicker
-				} = e
-				// 当第一列值发生变化时,变化第二列(后一列)对应的选项
-				if (columnIndex === 0 && this.columnData.length > 0) {
-					// picker为选择器this实例,变化第二列对应的选项
-					picker.setColumnValues(1, this.columnData[index])
-					// this.siteColumns[1] = this.columnData[index].children
-					this.$set(this.siteColumns, 1, this.columnData[index].children)
-				};
-			},
-			// 回调参数为包含columnIndex、value、values
-			confirmSite(e) {
-				console.log('confirm', e)
-				this.selectSiteIndex = e.indexs;
-				this.curSelectSite = e.value[e.value.length - 1]
-				this.selectBoxShow = false
-				this.getHouseDataList(e.value[1]?.id)
-				this.curHouseCode = e.value[0].id
-				console.log("curSite=>", this.curSelectSite);
-			},
-			getMenu(menuName) {
-				let list = [];
-				for (let i of this.menuList) {
-					if (i.name == menuName) {
-						if (i.children && i.children.length) {
-							list = i.children;
-							break;
-						}
-					}
-				}
-				return list;
-			},
-
-			//获取首页菜单
-			getMenuList() {
-				this.menuList = uni.getStorageSync("menu")
-				this.liveList = this.setLiveMenu(this.hasMenu('生活'));
-				this.jobList = this.hasMenu('工作台')
-				if (this.menuList.length) {
-					this.getContactMenu();
-					this.getHouseMenu();
-					this.getNoticeMenu();
-				}
-				setTimeout(() => {
-					if (this.jobList.length) {
-						let taskList = this.jobList.filter(item => item.name == "我的任务")
-						if (taskList.length) {
-							uni.setStorageSync("taskMenu", taskList[0].children);
-						} else {
-							uni.setStorageSync("taskMenu", []);
-						}
-					} else {
-						uni.setStorageSync("taskMenu", []);
-					}
-				}, 200)
-			},
-
-			getContactMenu() {
-				let list = [];
-				list = this.menuList.filter(item => item.name == "快捷拨号")
-				this.isShowContact = list.length ? true : false;
-				if (list.length) {
-					this.getContactList()
-				}
-			},
-
-			getHouseMenu() {
-				let list = [];
-				list = this.menuList.filter(item => item.name == "楼盘表")
-				this.isShowHouse = list.length ? true : false;
-			},
-
-			getNoticeMenu() {
-				let list = [];
-				list = this.menuList.filter(item => item.name == "通知公告")
-				this.isShowNotice = list.length ? true : false;
-				if (list.length) {
-					this.getNoticeList()
-				}
-			},
-
-			setLiveMenu(arr) {
-				if (arr.length) {
-					let index = this.getLiveMenuItem(arr, 1)
-					let index2 = this.getLiveMenuItem(arr, 2)
-					if (this.curSelectSite.addressType == 1) {
-						if (index != -1) {
-							arr.splice(index, 1)
-							index = this.getLiveMenuItem(arr, 1)
-							index2 = this.getLiveMenuItem(arr, 2)
-						}
-						if (index2 == -1 && this.roleType == 2) {
-							arr.push({
-								name: "租客上报",
-								path: "/subPackage/bs/views/zhsb",
-								pictureImg: "/static/icon/nav-04.png"
-							})
-							index = this.getLiveMenuItem(arr, 1)
-							index2 = this.getLiveMenuItem(arr, 2)
-						}
-					} else {
-						if (index == -1) {
-							arr.unshift({
-								name: "标签报事",
-								path: "/subPackage/label/index",
-								pictureImg: "/static/icon/nav-11.png"
-							})
-							index = this.getLiveMenuItem(arr, 1)
-							index2 = this.getLiveMenuItem(arr, 2)
-						}
-						if (index2 != -1) {
-							arr.splice(index2, 1)
-							index = this.getLiveMenuItem(arr, 1)
-							index2 = this.getLiveMenuItem(arr, 2)
-						}
-					}
-				}
-				return arr;
-			},
-
-			getLiveMenuItem(arr, type) {
-				if (type == 1) {
-					let index = arr.findIndex(item => item.name == "标签报事")
-					return index;
-				} else {
-					let index2 = arr.findIndex(item => item.name == "租户上报")
-					return index2
-				}
-			},
-
-			// 页面跳转
-			pushPage(item) {
-				const {
-					id,
-					title,
-					addressType
-				} = item;
-				if (id !== void 0) {
-					let url = `/subPackage/house/list/index?id=${id}&title=${title}&addressType=${addressType}`
-					this.$u.func.globalNavigator(url, "navTo")
-				}
-			},
-
-			navTo() {
-				if (this.curHouseCode === '') {
-					uni.showToast({
-						title: "请选择地址",
-						icon: "error"
-					})
-					return
-				}
-				this.$u.func.globalNavigator(`/subPackage/bs/views/zhsb?houseCode=${this.curHouseCode}`, "navTo")
-			},
-
-			navigatorPage(path) {
-				if (path) {
-					if ((path == '/subPackage/bs/views/zhsb' || path == '/subPackage/bs/views/repair') && this
-						.curHouseCode === '') {
-						uni.showToast({
-							title: "尚无绑定房屋信息",
-							icon: "error"
-						})
-					} else if (path == '/subPackage/workbench/views/cscj') {
-						this.$u.func.globalNavigator(path, "navTo")
-					} else {
-						this.$u.func.globalNavigator(`${path}?houseCode=${this.curHouseCode}`, "navTo")
-					}
-				} else {
-					uni.showToast({
-						title: "功能开发中~",
-						icon: "none"
-					})
-				}
-			},
-
-			navToSelectSite() {
-				this.$u.func.globalNavigator('selectSite', "navTo")
-			},
-
-			//扫一扫
-			scan() {
-				const that = this
-				uni.scanCode({
-					success: function(res) {
-						console.log("扫码结果", res)
-						let eventType = 0;
-						let obj = that.getUrlParams(res.result)
-						console.log(obj)
-						if (!that.isLogin) {
-							let data = res.data;
-							that.$u.func.globalNavigator(
-								`/subPackage/bs/views/danger?id=${obj.stdId}`, "navTo")
-							return
-						}
-
-						if (obj.stdId == "3C77B40EFC5F4C899AA74BEE747D9DF1") {
-							eventType = 1;
-							that.$u.func.globalNavigator(
-								`/subPackage/house/houseNumber/index?stdId=${obj.stdId}&eventType=${eventType}`,
-								"navTo")
-						} else if (obj.stdId == "CDF5528D617342228F3C84EF5C3C8780") {
-							eventType = 2;
-							that.$u.func.globalNavigator(
-								`/subPackage/house/houseNumber/index?stdId=${obj.stdId}&eventType=${eventType}`,
-								"navTo")
-						} else {
-							that.getHouseType(obj.stdId);
-						}
-
-						//"3C77B40EFC5F4C899AA74BEE747D9DF1"
-						// let url = "/subPackage/workbench/views/cscj?stdId=" + obj.stdId
-						// let url = "/subPackage/workbench/views/cscj?houseCode=" + obj.stdId
-						// let url = `/subPackage/house/houseNumber/index?stdId=${obj.stdId}`
-						// that.$u.func.globalNavigator(url, "navTo")
-					}
-				});
-			},
-
-			getUrlParams(url) {
-				// 通过 ? 分割获取后面的参数字符串
-				let urlStr = url.split('?')[1]
-				// 创建空对象存储参数
-				let obj = {};
-				// 再通过 & 将每一个参数单独分割出来
-				let paramsArr = urlStr.split('&')
-				for (let i = 0, len = paramsArr.length; i < len; i++) {
-					// 再通过 = 将每一个参数分割为 key:value 的形式
-					let arr = paramsArr[i].split('=')
-					obj[arr[0]] = arr[1];
-				}
-				return obj
-			},
-
-			getHouseType(code) {
-				// getPublicSecurityDetail
-				getQrCodeDetail({
-					roleName: uni.getStorageSync("activeRole").roleName,
-					addressCode: code,
-				}).then(res => {
-
-					let {
-						isJur,
-						doorplateType,
-						addressLevel,
-						aoiName,
-						addressName,
-						neiName,
-						buildingName,
-						unitName,
-						aoiCode,
-						neiCode,
-						unitCode,
-						buildingCode
-					} = res.data;
-
-
-
-					if (isJur == 1) {
-						if (doorplateType == "户室牌") {
-							this.$u.func.globalNavigator(
-								`/subPackage/house/roomDetails/index?id=${code}&from=scan`, "navTo")
-						} else if (doorplateType == "中门牌") {
-							if (addressLevel == 4) { //自建房
-								this.$u.func.globalNavigator(
-									`/subPackage/house/roomDetails/detail?code=${code}`, "navTo")
-							} else { //商铺
-								this.$u.func.globalNavigator(
-									`/subPackage/house/houseNumber/index?stdId=${code}`, "navTo")
-							}
-						} else if (doorplateType == "楼幢牌") {
-							let url = "/subPackage/house/family/index"
-							this.$u.func.globalNavigator(
-								`${url}?id=${code}&address=${addressName}&neiName=${neiName}&housingName=${aoiName}&buildingName=${buildingName}&buildingCode=${buildingCode}&aoiCode=${aoiCode}&neiCode=${neiCode}`,
-								"navTo")
-						} else if (doorplateType == "单元牌") {
-							let url = "/subPackage/house/family/index"
-							this.$u.func.globalNavigator(
-								`${url}?id=${code}&address=${addressName}&neiName=${neiName}&housingName=${aoiName}&buildingName=${buildingName}&unitName=${unitName}&unitCode=${unitCode}&neiCode=${neiCode}&buildingCode=${buildingCode}`,
-								"navTo")
-						} else if (doorplateType == "大门牌") {
-							this.$u.func.globalNavigator(
-								`/subPackage/house/list/index?id=${code}&title=${aoiName}&neiName=${neiName}&address=${addressName}&neiCode=${neiCode}&aoiCode=${aoiCode}`,
-								"navTo")
-						} else if (doorplateType == "小门牌") {
-							this.$u.func.globalNavigator(
-								`/subPackage/house/houseNumber/index?stdId=${code}`, "navTo")
-						}
-					} else {
-						uni.showModal({
-							title: "提示!",
-							content: "该区域不是您管辖范围",
-							showCancel: false
-						})
-					}
-				})
-			},
-
-			//场所任务跳转 
-			navToSiteList() {
-				let {
-					houseCode
-				} = uni.getStorageSync("siteInfo")
-				uni.navigateTo({
-					url: `/subPackage/workbench/views/audit?code=${houseCode}&from=index`
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		color: #333;
-		width: 100%;
-		height: 100%;
-		background-color: #f5f5f5;
-	}
-
-	.layout {
-		width: 100%;
-		height: 100%;
-	}
-
-	.top {
-		width: 530rpx;
-
-		.top-text {
-			max-width: 85%;
-			margin-right: 20rpx;
-			white-space: nowrap;
-			overflow: hidden;
-			text-overflow: ellipsis;
-		}
-	}
-
-	.swiper {
-		width: 100%;
-		height: 340rpx;
-		background: linear-gradient(180deg, #017BFC 0%, rgba(1, 123, 252, 0) 100%);
-		padding: 0 30rpx;
-		box-sizing: border-box;
-	}
-
-	.content {
-		padding: 0 30rpx;
-	}
-
-	// .grid {
-	// 	margin-top: 20rpx;
-	// 	margin-bottom: 10rpx;
-	// }
-	.nav {
-		padding: 10rpx 0;
-		margin-bottom: 20rpx;
-		border-radius: 10rpx;
-
-		.nav-item {
-			padding: 10rpx 0;
-		}
-
-		.nav-item-text {
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #585b61;
-		}
-	}
-
-
-	.section {
-		.section-item {
-			width: 216rpx;
-			height: 120rpx;
-			position: relative;
-		}
-
-		.section-item-bg {
-			width: 216rpx;
-			height: 120rpx;
-		}
-
-		.item-box {
-			width: 216rpx;
-			height: 120rpx;
-			position: absolute;
-			top: 0;
-			left: 0;
-			padding: 20rpx 20rpx 0;
-			box-sizing: border-box;
-		}
-	}
-
-
-
-	.block {
-		.block-item {
-			position: relative;
-
-		}
-
-		.block-item,
-		.block-item-bg,
-		.block-item-box {
-			width: 220rpx;
-			height: 150rpx;
-			border-radius: 10rpx;
-		}
-
-		.block-item-box {
-			padding: 0 12rpx;
-			box-sizing: border-box;
-			position: absolute;
-			top: 0;
-			left: 0;
-
-		}
-
-		.item-text {
-			height: 65rpx;
-			margin-left: 20rpx;
-			color: #fff;
-		}
-
-		.opacity {
-			opacity: .4;
-		}
-	}
-
-	.cell {
-		padding: 0 16rpx;
-		height: 64rpx;
-		border-radius: 8rpx;
-		margin-right: 20rpx;
-		margin-top: 30rpx;
-
-		.cell-text {
-			margin-left: 16rpx;
-		}
-	}
-
-	.grid-item {
-		width: 153rpx;
-		height: 153rpx;
-		border-radius: 16rpx 16rpx 16rpx 16rpx;
-		justify-content: center;
-	}
-
-	.row {
-		width: 100%;
-		margin: 30rpx 0;
-
-		.row-item {
-			width: 330rpx;
-			height: 134rpx;
-			box-shadow: 0rpx 10rpx 10rpx 0rpx rgba(0, 0, 0, 0.02);
-			border-radius: 16rpx 16rpx 16rpx 16rpx;
-		}
-	}
-
-	.p-20 {
-		padding: 0 20rpx;
-		border-radius: 10rpx;
-	}
-
-	.pb-20 {
-		padding-bottom: 20rpx;
-	}
-</style>
\ No newline at end of file
diff --git a/pages/login/login-account.vue b/pages/login/login-account.vue
index e1c8e31..1294807 100644
--- a/pages/login/login-account.vue
+++ b/pages/login/login-account.vue
@@ -7,7 +7,9 @@
 		</view>-->
 
 
-		<image class="bg" src="/static/img/login-bg.png" :style="{height:screenHeight}" mode="aspectFill"></image>
+		<image class="bg"
+			src="https://srgdjczzxtpt.com:2080/gminio/jczz/upload/20240410/61f0d307739505790a2a72eb36a9330e.png"
+			:style="{height:screenHeight}" mode="aspectFill"></image>
 
 
 		<view class="content" v-if="!loginType">
diff --git a/pages/user/center.vue.bak b/pages/user/center.vue.bak
deleted file mode 100644
index 1948124..0000000
--- a/pages/user/center.vue.bak
+++ /dev/null
@@ -1,111 +0,0 @@
-<template>
-	<view class="">
-		<view class="header flex a-i-c">
-			<u-avatar :src="userInfo.avatar" size="80"></u-avatar>
-			<view class="flex f-d-c ml-20" v-if="isLogin">
-				<text class="f-36 mb-20 fw" v-if="userInfo.nick_name">{{userInfo.nick_name}}</text>
-				<text class="f-36 mb-20 fw" v-else>{{userInfo.user_name}}</text>
-				<!-- <text class="f-28 c-99">您好业主,欢迎回家</text> -->
-			</view>
-			<view class="flex f-d-c ml-20" v-if="!isLogin">
-				<text class="f-36 mb-20 fw">未登录</text>
-				<!-- <text class="f-28 c-99">您好业主,欢迎回家</text> -->
-			</view>
-		</view>
-
-		<view class="main">
-			<view class="main-cell">
-				<view class="cell-content">
-					<u-cell-group :border="false">
-						<u-cell @click="navigator(item)" v-for="(item, index) in menuList" :icon="item.icon"
-							:title="item.title" :key="index" :border="false" :iconStyle="{width:'48rpx',height:'48rpx'}"
-							:isLink="true"></u-cell>
-					</u-cell-group>
-				</view>
-			</view>
-
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				menuList: [{
-						icon: "/static/icon/menu-center-01.png",
-						title: "我的家人",
-						url: ""
-					},
-					{
-						icon: "/static/icon/menu-center-02.png",
-						title: "切换角色",
-						url: "/subPackage/user/role/index"
-					},
-					{
-						icon: "/static/icon/menu-center-03.png",
-						title: "修改密码",
-						url: "/subPackage/user/password/index"
-					},
-					{
-						icon: "/static/icon/menu-center-04.png",
-						title: "退出登录",
-						url: ""
-					},
-				],
-				// userInfo:{}
-			}
-		},
-
-		onShow() {
-
-
-		},
-
-
-		methods: {
-			change(index) {
-				let url = index
-				this.$u.func.globalNavigator(url, "switchTab")
-			},
-
-			navigator(item) {
-				if (item.title == '退出登录') {
-					uni.showModal({
-						title: "提示",
-						content: "是否要退出该账号?",
-						success: (res) => {
-							if (res.confirm) {
-								this.logOut()
-							}
-						}
-					})
-				} else {
-					this.$u.func.globalNavigator(item.url)
-				}
-			},
-
-			logOut() {
-				uni.setStorageSync("responIndex", 0)
-				uni.clearStorageSync()
-				uni.reLaunch({
-					url: "/pages/login/login-account"
-				})
-			},
-		}
-	}
-</script>
-
-<style>
-	page {
-		width: 100%;
-		height: 100%;
-		background: linear-gradient(96deg, #E2EFFF 0%, rgba(255, 255, 255, 0) 100%);
-	}
-
-	.header {
-		width: 100%;
-		padding: 120rpx 38rpx 80rpx;
-		box-sizing: border-box;
-	}
-</style>
\ No newline at end of file
diff --git a/pages/user/center2.vue b/pages/user/center2.vue
deleted file mode 100644
index 7d90422..0000000
--- a/pages/user/center2.vue
+++ /dev/null
@@ -1,129 +0,0 @@
-<template>
-	<view class="container">
-		<u-navbar height="48" bgColor="#5887f9" :autoBack="false" safeAreaInsetTop placeholder>
-			<view slot="left">
-				<u--text color="#ffffff" text="基层智治" size="18" />
-			</view>
-		</u-navbar>
-
-		<view class="main">
-			<view class="main-bg">
-
-			</view>
-
-
-			<view class="main-cell">
-				<view class="cell-content">
-					<u-cell-group :border="false">
-						<u-cell @click="navigator(item)" v-for="(item, index) in cellGroupData" :icon="item.icon"
-							:title="item.title" :key="index" :border="false"></u-cell>
-					</u-cell-group>
-				</view>
-			</view>
-
-		</view>
-
-		<tabBar @change='change' :currentTab="1"></tabBar>
-	</view>
-</template>
-
-<script>
-	import tabBar from "@/components/tabBar/tabBar.vue";
-
-	export default {
-		components: {
-			tabBar,
-		},
-
-		data() {
-			return {
-				cellGroupData: [{
-						title: '我的家人',
-						icon: 'account-fill',
-						url: ''
-					},
-					{
-						title: '切换角色',
-						icon: 'account-fill',
-						url: '/subPackage/user/role/index'
-					},
-					{
-						title: '修改密码',
-						icon: 'account-fill',
-						url: ''
-					},
-					{
-						title: '退出登录',
-						icon: 'account-fill',
-						url: ''
-					}
-				]
-			}
-		},
-		onShow() {
-			uni.hideTabBar()
-		},
-
-		methods: {
-			change(index) {
-				let url = index
-				this.$u.func.globalNavigator(url, "switchTab")
-			},
-
-			navigator(item) {
-
-				if (item.title == '退出登录') {
-					this.logOut()
-				} else {
-					this.$u.func.globalNavigator(item.url)
-				}
-
-			},
-
-			logOut() {
-				uni.setStorageSync("responIndex", 0)
-				uni.clearStorageSync()
-				uni.reLaunch({
-					url: "/pages/login/login-account"
-				})
-			},
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.container {
-		width: 100%;
-		height: 100%;
-
-		display: flex;
-		flex-direction: column;
-		background: #F9F9FA;
-
-		.main {
-			position: relative;
-			height: 0;
-			flex: 1;
-			overflow-y: auto;
-
-			.main-bg {
-				height: 36%;
-				background: royalblue;
-			}
-
-			.main-cell {
-				position: absolute;
-				top: 34%;
-				width: 100%;
-				height: 66%;
-				border-radius: 10rpx 10rpx 0 0;
-				z-index: 11;
-				background: #fff;
-
-				.cell-content {
-					margin-top: 240rpx;
-				}
-			}
-		}
-	}
-</style>
\ No newline at end of file
diff --git a/pages/user/center3.vue b/pages/user/center3.vue
deleted file mode 100644
index 812c420..0000000
--- a/pages/user/center3.vue
+++ /dev/null
@@ -1,200 +0,0 @@
-<template>
-	<view class="">
-		<view class="header flex a-i-c c-ff">
-			<u-avatar :src="userInfo.avatar" size="80"></u-avatar>
-			<view class="flex f-d-c ml-30" v-if="isLogin">
-				<text class="f-36 mb-20 fw" v-if="userInfo.nick_name">{{userInfo.nick_name}}</text>
-				<text class="f-36 mb-20 fw" v-else>{{userInfo.user_name}}</text>
-				<!-- <text class="f-28 c-99">您好业主,欢迎回家</text> -->
-			</view>
-			<view class="flex f-d-c ml-20" v-if="!isLogin" @click="navToLogin()">
-				<text class="f-36 mb-20 fw">未登录</text>
-				<!-- <text class="f-28 c-99">您好业主,欢迎回家</text> -->
-			</view>
-			
-			<view  v-if="isLogin"  class="setting flex a-i-c j-c-c"  @click="navigator('/subPackage/user/editUserInfo/editUserInfo')">
-				<u-icon name="setting"  size="30"  color="#fff"></u-icon>
-			</view>
-			
-		</view>
-
-		<view class="main" v-if="isLogin">
-			<view class="nav bgc-ff flex j-c-s-a a-i-c" v-if="roleType == 1">
-				<view v-for="(item,index) in navList" :key="index" class="flex f-d-c a-i-c"
-					@click="navigator(item.url)">
-					<u-icon :customStyle="{paddingTop:20+'rpx'}" :name="item.icon" width="90rpx"
-						height="90rpx"></u-icon>
-					<text class="grid-text mt-20 f-28">{{item.title}}</text>
-				</view>
-			</view>
-			<view class="main-cell bgc-ff">
-				<view class="cell-content">
-					<view class="cell-item flex j-c-s-b a-i-c" @click="navigator('/subPackage/user/family/list')"
-						v-if="roleType == 1">
-						<view class="flex a-i-c">
-							<u-icon name="/static/icon/menu-center-01.png" width="60rpx" height="60rpx"></u-icon>
-							<text class="f-30 ml-20">我的家人</text>
-						</view>
-						<u-icon name="arrow-right" color="#999"></u-icon>
-					</view>
-
-					<view class="cell-item flex j-c-s-b a-i-c" v-for="(item,index) in menuList" :key="index"
-						@click="navigator(item.url)">
-						<view class="flex a-i-c">
-							<u-icon :name="item.icon" width="60rpx" height="60rpx"></u-icon>
-							<text class="f-30 ml-20">{{item.title}}</text>
-						</view>
-						<u-icon name="arrow-right" color="#999"></u-icon>
-					</view>
-
-					<view class="cell-item flex j-c-s-b a-i-c" @click="logOut()">
-						<view class="flex a-i-c">
-							<u-icon name="/static/icon/menu-center-04.png" width="60rpx" height="60rpx"></u-icon>
-							<text class="f-30 ml-20">退出登录</text>
-						</view>
-						<u-icon name="arrow-right" color="#999"></u-icon>
-					</view>
-
-				</view>
-			</view>
-			
-			<!-- <button  @click="navigator('test')"> 测试</button> -->
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				menuList: [{
-						icon: "/static/icon/menu-center-02.png",
-						title: "切换角色",
-						url: "/subPackage/user/role/index"
-					},
-					{
-						icon: "/static/icon/menu-center-03.png",
-						title: "修改密码",
-						url: "/subPackage/user/password/index"
-					}
-				],
-				navList: [{
-						icon: "/static/icon/nav-center-01.png",
-						title: "我的房屋",
-						url: "/subPackage/house/roomDetails/index"
-					},
-					{
-						icon: "/static/icon/nav-center-02.png",
-						title: "我的小区",
-						url: "/subPackage/user/district/index"
-					},
-					{
-						icon: "/static/icon/nav-center-03.png",
-						title: "出租信息",
-						url: "/subPackage/bs/views/zhsb"
-					},
-				],
-				roleType: 1
-				// userInfo:{}
-			}
-		},
-
-
-		onShow() {
-			let role = uni.getStorageSync('activeRole')
-			if (role.roleAlias == "inhabitant") {
-				this.roleType = 1
-			} else {
-				this.roleType = 2;
-			}
-		},
-
-		methods: {
-			change(index) {
-				let url = index
-				this.$u.func.globalNavigator(url, "switchTab")
-			},
-
-			navigator(url) {
-				this.$u.func.globalNavigator(url)
-			},
-
-			navToLogin() {
-				uni.redirectTo({
-					url: "/pages/login/login-account"
-				})
-			},
-
-			logOut() {
-				uni.showModal({
-					title: "提示",
-					content: "是否要退出该账号?",
-					success: (res) => {
-						if (res.confirm) {
-							uni.setStorageSync("responIndex", 0)
-							uni.clearStorageSync()
-							uni.reLaunch({
-								url: "/pages/login/login-account"
-							})
-						}
-					}
-				})
-			},
-			
-			
-			
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		width: 100%;
-		height: 100%;
-		background-color: #f5f5f5;
-		/* background: linear-gradient(96deg, #E2EFFF 0%, rgba(255, 255, 255, 0) 100%); */
-	}
-
-	.header {
-		width: 100%;
-		height: 600rpx;
-		padding: 120rpx 38rpx;
-		box-sizing: border-box;
-		background: linear-gradient(180deg, #017BFC 0%, rgba(1, 123, 252, 0) 100%);
-	}
-	.setting{
-		position: fixed;
-		width:40rpx;
-		height:40rpx;
-		right:38rpx;
-		top:200rpx;
-	}
-
-	.main {
-		margin: -120rpx 30rpx 0;
-
-		.nav {
-			width: 100%;
-			padding: 20rpx 0;
-			margin-bottom: 20rpx;
-			border-radius: 10rpx;
-		}
-
-		.main-cell {
-			border-radius: 10rpx;
-		}
-
-		.cell-item {
-			width: 100%;
-			padding: 30rpx;
-			border-bottom: 1px solid #f5f5f5;
-			color: #333;
-			box-sizing: border-box;
-
-		}
-
-		.cell-item:last-child {
-			border-bottom: none;
-		}
-	}
-</style>
\ No newline at end of file
diff --git a/static/img/login-bg.png b/static/img/login-bg.png
deleted file mode 100644
index 1133eb0..0000000
--- a/static/img/login-bg.png
+++ /dev/null
Binary files differ
diff --git a/static/zhangguangsen-search/zhangguangsen-search.ttf b/static/zhangguangsen-search/zhangguangsen-search.ttf
new file mode 100644
index 0000000..f952fc8
--- /dev/null
+++ b/static/zhangguangsen-search/zhangguangsen-search.ttf
Binary files differ
diff --git a/static/zhangguangsen-search/zhangguangsen-search.woff b/static/zhangguangsen-search/zhangguangsen-search.woff
new file mode 100644
index 0000000..8e65058
--- /dev/null
+++ b/static/zhangguangsen-search/zhangguangsen-search.woff
Binary files differ
diff --git a/static/zhangguangsen-search/zhangguangsen-search.woff2 b/static/zhangguangsen-search/zhangguangsen-search.woff2
new file mode 100644
index 0000000..2f7a88f
--- /dev/null
+++ b/static/zhangguangsen-search/zhangguangsen-search.woff2
Binary files differ
diff --git a/subPackage/counterfraud/addReport.vue b/subPackage/counterfraud/addReport.vue
new file mode 100644
index 0000000..d0c4a64
--- /dev/null
+++ b/subPackage/counterfraud/addReport.vue
@@ -0,0 +1,576 @@
+<template>
+	<view class="wrap">
+		<view class="section mb-20">
+			<u-collapse :value="itemIndex" ref="collapse">
+				<u-collapse-item :title="item.title" :name="index" v-for="(item,index)  in questionList">
+					<u-form :model="info" ref="form">
+						<block v-for="(i,k) in item.children">
+							<view class="f-30 c-33">
+								{{i.title}}
+							</view>
+							<!-- <u-form-item labelWidth="90" label="隐患" prop="gateStatus">
+								<view class="btn-group flex">
+									<view class="value-item" :class="i.state == 0?'active bgc-main c-ff':''"
+										@click="changeStatus(0,i,index,k)">
+										存在
+									</view>
+									<view class="value-item" :class="i.state == 1?'active bgc-main c-ff':''"
+										@click="changeStatus(1,i,index,k)">
+										不存在
+									</view>
+								</view>
+							</u-form-item> -->
+							<view class="">
+								<u-form-item labelWidth="100" label="照片" prop="gateStatus">
+									<u-upload :fileList="i.urls" :previewFullImage="uploadConfig.previewFullImage"
+										:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+										:maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
+										@afterRead="afterReadImgs($event,i,index,k)"
+										@delete="deleteImages($event,index,k)">
+										<view class="upload-item upload-icon flex_base">
+											<u-icon name="/static/icon/upload.png" width="60rpx"
+												height="60rpx"></u-icon>
+										</view>
+									</u-upload>
+								</u-form-item>
+								<u-form-item labelWidth="100" label="描述" prop="gateStatus">
+									<u-textarea v-model="i.remark" placeholder="请输入描述"
+										placeholderClass="c-99 f-26"></u-textarea>
+								</u-form-item>
+							</view>
+						</block>
+					</u-form>
+				</u-collapse-item>
+			</u-collapse>
+		</view>
+
+
+		<!-- <footer-btn @click="sumitInfo"></footer-btn> -->
+
+		<button class="submit-btn" @click="sumitInfo">提交</button>
+		<button class="list-btn mb-20" @click="navTo">我上报的事件</button>
+
+
+
+		<view class="blank"></view>
+	</view>
+</template>
+
+<script>
+	import uploadMixin from "@/mixin/uploadMixinPlace";
+	import {
+		getPlaceCheckItem
+	} from "@/api/place/place.js"
+
+	import {
+		savePlaceCheck,
+		getPlaceCheckDetail,
+		updatePlaceCheck,
+		auditPlaceCheck
+	} from "@/api/reporting/reporting.js"
+
+	import {
+		addCounterfraudReport
+	} from "@/api/counterfraud/counterfraud.js"
+
+
+
+	export default {
+		mixins: [uploadMixin],
+		data() {
+			return {
+				form: {
+					images: []
+				},
+				info: {
+					remark: "",
+					imageUrls: "",
+					signaturePath: ""
+				},
+
+				desc: "",
+				title: "",
+				curSelectSite: {},
+				showSignature: false,
+				signatureUrl: "",
+				signatureSettings: { //签名设置
+					width: '700', //签名区域的宽
+					height: '800', //签名区域的高
+					lineWidth: 3, //签名时线宽
+					textColor: '#007AFF' //签名文字颜色
+				},
+				statusOption: [{
+						text: "存在",
+						value: 0
+					},
+					{
+						text: "不存在",
+						value: 1
+					},
+				],
+				questionList: [],
+				itemIndex: [],
+				patrolRecordVOList: [],
+				count: 0,
+				statusList: [{
+						name: "是",
+						id: 2
+					},
+					{
+						name: "否",
+						id: 1
+					}
+				],
+				time: Number(new Date()),
+				showSelectDate: false,
+				dangerCount: 0, //隐患项数量
+				isEdit: false
+
+			}
+		},
+		async onLoad(option) {
+			await this.getItem();
+			if (option.taskId) {
+				this.isEdit = true;
+				this.getDetail(option.taskId)
+			} else {
+				this.info.houseCode = uni.getStorageSync("siteInfo").houseCode;
+				this.info.placeName = uni.getStorageSync("siteInfo").name;
+			}
+
+
+
+		},
+
+		methods: {
+
+			getDetail(id) {
+				getPlaceCheckDetail({
+					taskId: id
+				}).then(res => {
+					let data = res.data;
+					for (let i = 0, ii = this.questionList.length; i < ii; i++) {
+						for (let k = 0, kk = this.questionList[i].children.length; k < kk; k++) {
+							for (let j = 0, jj = data.taskPlaceRecordVOList.length; j < jj; j++) {
+								if (this.questionList[i].children[k].id == data.taskPlaceRecordVOList[j].itemId) {
+									let children = this.questionList[i]
+									children.children[k].state = data.taskPlaceRecordVOList[j].state;
+									if (data.taskPlaceRecordVOList[j].imageUrls) {
+										children.children[k].urls = this.$setImageUrl(data.taskPlaceRecordVOList[j]
+											.imageUrls, 2);
+									}
+									children.children[k].remark = data.taskPlaceRecordVOList[j].remark || "";
+									this.$set(this.questionList, i, children)
+								}
+							}
+						}
+					}
+					this.info.id = data.id;
+					this.info.taskId = data.taskId;
+					this.info.remark = data.remark;
+					if (data.signaturePath) {
+						this.signatureUrl = this.$setFullUrl(data.signaturePath);
+						this.info.signaturePath = data.signaturePath;
+					}
+					this.form.images = this.$setImageUrl(data.imageUrls, 2)
+
+				})
+			},
+
+
+			getItem() {
+				getPlaceCheckItem({
+					childType: uni.getStorageSync("siteInfo").noExplosionCategory,
+					type: 2
+				}).then(res => {
+					let data = res.data;
+					this.questionList = res.data;
+					let arr = []
+					let obj = {
+						itemId: "",
+						state: "",
+						imagesUrl: "",
+						remark: ""
+					}
+					let count = 0;
+					for (let i = 0, ii = data.length; i < ii; i++) {
+						arr.push(i);
+						for (let k = 0, kk = data[i].children.length; k < kk; k++) {
+							// this.info.patrolRecordVOList.push(obj);
+							data[i].children[k].urls = [];
+							data[i].children[k].remark = "";
+							count += 1;
+						}
+					}
+					this.count = count;
+					this.itemIndex = arr;
+				})
+			},
+
+			changeStatus(value, item, fIndex, cIndex) {
+				let children = this.questionList[fIndex];
+				children.children[cIndex].state = value;
+				this.$set(this.questionList, fIndex, children)
+				if (value == 0 && !item.urls) {
+					children.children[cIndex].urls = [];
+					this.$set(this.questionList, fIndex, children)
+				}
+				this.$nextTick(() => {
+					this.$refs.collapse.init();
+				})
+				this.getSelected()
+			},
+
+			getSelected() {
+				let arr = [];
+				let count = 0;
+				for (let i = 0, ii = this.questionList.length; i < ii; i++) {
+					for (let k = 0, kk = this.questionList[i].children.length; k < kk; k++) {
+						// if (this.questionList[i].children[k].state != null) {
+						arr.push({
+							itemId: this.questionList[i].children[k].id,
+							// state: this.questionList[i].children[k].state,
+							imageUrls: this.setImages(this.questionList[i].children[k].urls),
+							remark: this.questionList[i].children[k].remark || ""
+						})
+						// if (this.questionList[i].children[k].state == 0) {
+						// 	count += 1;
+						// }
+						// }
+					}
+				}
+				this.dangerCount = count;
+				return arr;
+			},
+
+			setImages(key) {
+				if (!key) {
+					return ""
+				} else {
+					let urls = [];
+					for (let i of key) {
+						urls.push(i.name);
+					}
+					return urls.join(",")
+				}
+			},
+
+			async afterReadImgs(event, item, fIndex, cIndex) {
+				uni.showLoading({
+					title: "上传中..."
+				})
+				let children = this.questionList[fIndex];
+				let lists = [].concat(event.file)
+				let fileListLen = item.urls.length;
+				lists.map((item) => {
+					children.children[cIndex].urls.push({
+						...item,
+						status: 'uploading',
+						message: '上传中'
+					})
+					this.$set(this.questionList, fIndex, children)
+				})
+				for (let i = 0; i < lists.length; i++) {
+					const result = await this.uploadFilePromise(lists[i].url)
+					children.children[cIndex].urls.splice(fileListLen, 1, Object.assign({}, {
+						url: result.data.link,
+						name: result.data.name
+					}))
+					this.$set(this.questionList, fIndex, children)
+					fileListLen++
+				}
+				this.loadingClose()
+				// this.getSelected()
+			},
+
+			deleteImages(event, fIndex, cIndex) {
+				let children = this.questionList[fIndex];
+				children.children[cIndex].urls.splice(event.index, 1);
+				this.$set(this.questionList, fIndex, children);
+				// this.getSelected()
+			},
+
+			signatureChange(e) {
+				// this.signatureUrl = e;
+				this.uploadSignImg(e)
+			},
+
+			showSignPopup() {
+				// if (this.getSelected().length < this.count) {
+				// 	this.$showTips("还有内容还未完善");
+				// 	return;
+				// }
+
+				let data = this.getSelected();
+				for (let i of data) {
+					if (i.state == 1) {
+						if (i.imageUrls || i.remark) {
+							i.imageUrls = "";
+							i.remark = "";
+						}
+					} else {
+						if (!i.imageUrls && !i.remark) {
+							this.$showTips("请上传隐患照片或填写隐患描述");
+							return;
+						}
+					}
+				}
+				this.showSignature = true;
+			},
+
+			uploadSignImg(url) {
+				uni.uploadFile({
+					url: this.uploadConfig.url,
+					filePath: url,
+					name: 'file',
+					header: this.uploadConfig.header,
+					success: (res) => {
+						console.log(res);
+						let data = JSON.parse(res.data);
+						if (res.statusCode == 200 && data.code == 200) {
+							// this.handleSubmit(data.data.name);
+							this.showSignature = false;
+							this.signatureUrl = data.data.link;
+							this.info.signaturePath = data.data.name;
+							// this.sumitInfo()
+						}
+					}
+				})
+			},
+
+			sumitInfo() {
+				uni.showLoading({
+					title: "加载中..."
+				})
+				// if (this.form.images.length > 0) {
+				// 	let urls = []
+				// 	this.form.images.forEach(e => {
+				// 		urls.push(e.name)
+				// 	})
+				// 	this.info.imageUrls = urls.join(",")
+				// }
+				this.info.taskPlaceRecordVOList = this.getSelected()
+				// this.info.status = 1;
+				console.log("data===>", this.getSelected());
+				if (this.isEdit) {
+					auditPlaceCheck(this.info).then(res => {
+						uni.hideLoading();
+						uni.showToast({
+							icon: 'success',
+							title: '提交成功',
+							success() {
+								setTimeout(() => {
+									uni.navigateBack();
+								}, 300)
+							}
+						})
+					})
+				} else {
+					addCounterfraudReport(this.info).then(res => {
+						uni.hideLoading();
+						uni.showToast({
+							icon: 'success',
+							title: '提交成功',
+							success() {
+								setTimeout(() => {
+									uni.navigateBack();
+								}, 300)
+							}
+						})
+					})
+				}
+			},
+
+
+			previewImg() {
+				uni.previewImage({
+					urls: [this.signatureUrl],
+					current: this.signatureUrl
+				})
+			},
+
+			navTo() {
+				uni.navigateTo({
+					url: 'reportRecord'
+				})
+			},
+
+
+
+
+		}
+	}
+</script>
+
+<style lang="less">
+	page {
+		background-color: #f5f5f5;
+	}
+
+	.wrap {
+		.section {
+			padding: 0 20rpx;
+			margin: 20rpx 20rpx 0;
+			background-color: #fff;
+		}
+	}
+
+	.top {
+		display: flex;
+		justify-content: flex-end;
+		padding: 20rpx;
+	}
+
+	.top-btn {
+		padding: 16rpx 22rpx;
+		border-radius: 6rpx;
+		text-align: center;
+	}
+
+	.content {
+		margin: 20rpx;
+		padding: 20rpx 30rpx;
+	}
+
+	.cell {
+		margin: 0 20rpx;
+		padding: 20rpx 30rpx;
+	}
+
+	.site-box {
+		padding: 30rpx;
+		margin: 20rpx 30rpx;
+		border-radius: 4rpx;
+
+		.c-aa {
+			color: #aaa;
+		}
+
+		.address {
+			width: 60%;
+			margin-left: 25rpx;
+		}
+	}
+
+	.upload-item {
+		width: 140rpx;
+		height: 140rpx;
+		border: 1px solid #EEEEEE;
+	}
+
+	.upload {
+		// margin: 0 30rpx;
+		padding: 30rpx 0;
+	}
+
+	.submit-btn {
+		width: 690rpx;
+		height: 78rpx;
+		line-height: 78rpx;
+		background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
+		border-radius: 8rpx 8rpx 8rpx 8rpx;
+		font-size: 32rpx;
+		color: #fff;
+		margin-top: 50rpx;
+	}
+
+	.list-btn {
+		width: 690rpx;
+		height: 78rpx;
+		line-height: 78rpx;
+		background: linear-gradient(163deg, #c7d7dc 0%, #c3cdd8 100%);
+		border-radius: 8rpx 8rpx 8rpx 8rpx;
+		font-size: 32rpx;
+		color: #fff;
+		margin-top: 50rpx;
+	}
+
+	.address-row {
+		flex: 1;
+		justify-content: flex-end;
+		align-items: center;
+	}
+
+	.address-content {
+		width: calc(100% - 116rpx - 20rpx);
+		margin-right: 20rpx;
+		text-align: right;
+	}
+
+	.location-btn {
+		width: 116rpx;
+		height: 46rpx;
+		line-height: 46rpx;
+		border-radius: 4rpx;
+		border: 1px solid currentColor;
+		padding: 0;
+		background-color: #fff;
+		text-align: center;
+	}
+
+
+	.signture-popup {
+		padding-bottom: 20rpx;
+	}
+
+	.sign {
+		padding: 30rpx;
+		// margin: 0 30rpx;
+	}
+
+	.value-item {
+		flex: 1;
+		// background-color: #ffffff;
+		// width: 120rpx;
+		border: 2rpx solid #f5f5f5;
+		height: 70rpx;
+		line-height: 70rpx;
+		box-sizing: border-box;
+		text-align: center;
+	}
+
+	.active {
+		border: 2rpx solid currentColor;
+	}
+
+	.btn-group {
+		flex: 1;
+	}
+
+	/deep/ .u-cell__title-text {
+		font-weight: bold;
+		font-size: 30rpx;
+	}
+
+	/deep/ .u-form-item__body__left__content {
+		font-size: 26rpx;
+	}
+
+	.blank {
+		width: 100%;
+		height: 140rpx;
+	}
+
+
+	.submit-btn {
+		width: 690rpx;
+		height: 78rpx;
+		line-height: 78rpx;
+		background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
+		border-radius: 8rpx 8rpx 8rpx 8rpx;
+		font-size: 32rpx;
+		color: #fff;
+		margin-top: 50rpx;
+	}
+
+	.list-btn {
+		width: 690rpx;
+		height: 78rpx;
+		line-height: 78rpx;
+		background: linear-gradient(163deg, #c7d7dc 0%, #c3cdd8 100%);
+		border-radius: 8rpx 8rpx 8rpx 8rpx;
+		font-size: 32rpx;
+		color: #fff;
+		margin-top: 50rpx;
+	}
+</style>
\ No newline at end of file
diff --git a/subPackage/counterfraud/reportRecord.vue b/subPackage/counterfraud/reportRecord.vue
new file mode 100644
index 0000000..76e9360
--- /dev/null
+++ b/subPackage/counterfraud/reportRecord.vue
@@ -0,0 +1,105 @@
+<template>
+	<view class="">
+		<view class="list">
+			<view class="list-item bgc-ff mb-20" v-for="(i,k) in list" :key="k" @click="navTo(i.id)">
+				<view class="item-title flex a-i-c j-c-s-b mb-20">
+					<text class="f-32 fw">无诈上报</text>
+					<!-- 	<text class="f-32 fw" v-if="i.eventType == 3">二手车交易</text>id
+					<text class="f-32 fw" v-if="i.eventType == 2">二手手机维修</text> -->
+					<u-tag v-if="i.status == 4" text="待完成" type="warning" plain plainFill></u-tag>
+					<u-tag v-if="i.status == 1" text="待审批" type="warning" plain plainFill></u-tag>
+					<u-tag v-if="i.status == 2" text="审核通过" type="success" plain plainFill></u-tag>
+					<u-tag v-if="i.status == 3" text="审核拒绝" type="error" plain plainFill></u-tag>
+				</view>
+				<view class="item-row flex a-i-c j-c-s-b">
+					<text class="f-28">时间</text>
+					<text class="f-28 c-66">{{i.createTime}}</text>
+				</view>
+			</view>
+		</view>
+		<u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line />
+	</view>
+</template>
+
+<script>
+	import {
+		getPlaceCheckList
+	} from "@/api/reporting/reporting.js"
+	import {
+		getCounterfraudReportList
+	} from "@/api/counterfraud/counterfraud.js"
+
+	export default {
+		data() {
+			return {
+				list: [],
+				currentPage: 1,
+				loadingStatus: 'nomore',
+			}
+		},
+
+		onLoad(option) {
+			this.getList(option.type)
+		},
+		onReachBottom() {
+			this.currentPage++
+			this.getList()
+		},
+
+		methods: {
+			getList() {
+				getCounterfraudReportList({
+					userId: uni.getStorageSync("userInfo").user_id,
+					current: this.currentPage,
+					size: 10,
+					// reportType: 2
+					// eventType: type
+				}).then(res => {
+					if (res.code != 200) {
+						uni.showToast({
+							title: '数据请求失败',
+							icon: 'error'
+						})
+						return
+					}
+					let records = res.data.records;
+					this.list = [...this.list, ...records]
+					this.loadingStatus = 'nomore'
+				})
+			},
+			navTo(id) {
+				uni.navigateTo({
+					url: `/subPackage/workbench/views/counterfraudReportDetail?id=${id}`
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F5F5F5;
+	}
+
+	.list {
+		margin: 20rpx 30rpx 0;
+	}
+
+	.list-item {
+		padding: 0 30rpx 20rpx;
+		border-radius: 8rpx;
+
+		.item-title {
+			padding: 30rpx 0;
+			border-bottom: 1px solid #F5F5F5;
+		}
+
+		.item-row {
+			padding: 10rpx 0;
+
+			.address {
+				width: 65%;
+			}
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/subPackage/house/houseNumber/siteInspect.vue b/subPackage/house/houseNumber/siteInspect.vue
index 0e99f2d..710b3e8 100644
--- a/subPackage/house/houseNumber/siteInspect.vue
+++ b/subPackage/house/houseNumber/siteInspect.vue
@@ -329,7 +329,10 @@
 
 
 			getItem() {
-				getPlaceCheckItem().then(res => {
+				getPlaceCheckItem({
+					childType: 1,
+					type: 1
+				}).then(res => {
 					let data = res.data;
 					this.questionList = res.data;
 					let arr = []
diff --git a/subPackage/label/check.vue b/subPackage/label/check.vue
index fee467d..93f4882 100644
--- a/subPackage/label/check.vue
+++ b/subPackage/label/check.vue
@@ -207,7 +207,10 @@
 
 
 			getItem() {
-				getPlaceCheckItem().then(res => {
+				getPlaceCheckItem({
+					childType: 1,
+					type: 1
+				}).then(res => {
 					let data = res.data;
 					this.questionList = res.data;
 					let arr = []
diff --git a/subPackage/workbench/views/checkDetail.vue b/subPackage/workbench/views/checkDetail.vue
index c43e449..1f86ab4 100644
--- a/subPackage/workbench/views/checkDetail.vue
+++ b/subPackage/workbench/views/checkDetail.vue
@@ -129,7 +129,10 @@
 
 
 			getItem() {
-				getPlaceCheckItem().then(res => {
+				getPlaceCheckItem({
+					childType: 1,
+					type: 1
+				}).then(res => {
 					if (res.code == 200) {
 						this.itemList = res.data;
 					}
diff --git a/subPackage/workbench/views/checkReform.vue b/subPackage/workbench/views/checkReform.vue
index 363b9a5..d7a3c09 100644
--- a/subPackage/workbench/views/checkReform.vue
+++ b/subPackage/workbench/views/checkReform.vue
@@ -225,7 +225,10 @@
 			},
 
 			getItem() {
-				getPlaceCheckItem().then(res => {
+				getPlaceCheckItem({
+					childType: 1,
+					type: 1
+				}).then(res => {
 					if (res.code == 200) {
 						this.itemList = res.data;
 					}
diff --git a/subPackage/workbench/views/checkReform3.vue b/subPackage/workbench/views/checkReform3.vue
index 888b099..274f626 100644
--- a/subPackage/workbench/views/checkReform3.vue
+++ b/subPackage/workbench/views/checkReform3.vue
@@ -144,7 +144,10 @@
 
 
 			getItem() {
-				getPlaceCheckItem().then(res => {
+				getPlaceCheckItem({
+					childType: 1,
+					type: 1
+				}).then(res => {
 					let data = res.data;
 					this.questionList = res.data;
 					let arr = []
diff --git a/subPackage/workbench/views/counterfraudReportDetail.vue b/subPackage/workbench/views/counterfraudReportDetail.vue
new file mode 100644
index 0000000..13ce5b6
--- /dev/null
+++ b/subPackage/workbench/views/counterfraudReportDetail.vue
@@ -0,0 +1,401 @@
+<template>
+	<view class="">
+		<view class="item-row flex j-c-s-b a-i-c">
+			<text>场所名称</text>
+			<text class="item-content">{{info.placeName}}</text>
+		</view>
+		<!-- <view class="item-row flex j-c-s-b a-i-c">
+			<text>标签</text>
+			<text>{{label || "未完善"}}</text>
+		</view> -->
+		<!-- <view class="item-row flex j-c-s-b a-i-c">
+			<text>场所负责人</text>
+			<text>{{info.principal || "未完善"}}</text>
+		</view>
+		<view class="item-row flex j-c-s-b a-i-c">
+			<text>场所负责人电话</text>
+			<text>{{info.principalPhone || "未完善"}}</text>
+		</view>
+		<view class="item-row flex j-c-s-b a-i-c">
+			<text>检查人</text>
+			<text>{{info.name}}</text>
+		</view> -->
+		<view class="item-row flex j-c-s-b a-i-c">
+			<text>时间</text>
+			<text>{{info.createTime}}</text>
+		</view>
+		<!-- <view class="item-row flex j-c-s-b a-i-c">
+			<text>地址</text>
+			<text class="item-content">{{info.location}}</text>
+		</view> -->
+
+		<view class="item-row flex j-c-s-b a-i-c">
+			<text>状态</text>
+			<text v-if="info.status == 1">待审核</text>
+			<text v-if="info.status == 2">审核成功</text>
+			<text v-if="info.status == 3">审核驳回</text>
+			<text v-if="info.status == 4">待完成</text>
+		</view>
+		<view class="item-row flex j-c-s-b a-i-c" v-if="info.status == 3 && info.reasonFailure">
+			<text>驳回原因</text>
+			<text class="item-content">{{info.reasonFailure}}</text>
+		</view>
+
+
+
+
+
+
+		<view class="mt-20 bgc-ff">
+			<block v-for="(item,index) in itemList">
+				<block v-for="(i,k) in item.children">
+					<block v-for="(n,m) in info.taskPlaceRecordVOList">
+						<!-- <view class="item-row flex j-c-s-b a-i-c" v-if="i.id == n.itemId && n.state == 1">
+							<text class="item-left">{{i.title}}</text>
+							<text>不存在</text>
+						</view> -->
+						<u-collapse :value="ids" v-if="i.id == n.itemId" ref="collapse">
+							<u-collapse-item :name="n.itemId" :title="i.title" :disabled="true" :clickable="false"
+								:isLink="false">
+								<view class="mb-20" v-if="n.imageUrls">
+									<view class="f-26 mb-10 c-00">照片</view>
+									<view class="flex flex-wrap">
+										<view class="mr-20" v-for="r in ($setImageUrl(n.imageUrls))">
+											<u-image :src="r" width="140rpx" height="140rpx"
+												@click="previewImage($setImageUrl(n.imageUrls),i)"></u-image>
+										</view>
+									</view>
+								</view>
+
+								<view class="mb-20" v-if="n.remark">
+									<view class="f-26 mb-10 c-00">描述</view>
+									<view class="f-28 c-00">
+										{{n.remark}}
+									</view>
+								</view>
+
+								<!-- <view class="mb-20" v-if="roleType == 2 || (roleType == 1 && n.rectificationImageUrls)">
+									<view class="f-26 mb-10 c-00">整改后照片</view>
+									<u-upload v-if="roleType == 2 && (info.status == 4 || info.status == 3)"
+										:fileList="n.urls" :previewFullImage="uploadConfig.previewFullImage"
+										:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+										:maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
+										@afterRead="afterReadImgs($event,n,m)" @delete="deleteImages($event,m)">
+										<view class="upload-item upload-icon flex_base">
+											<u-icon name="/static/icon/upload.png" width="60rpx"
+												height="60rpx"></u-icon>
+										</view>
+									</u-upload>
+
+
+									<view class="flex flex-wrap" v-if="info.status != 4 &&  n.rectificationImageUrls ">
+										<view class="mr-20" v-for="r in ($setImageUrl(n.rectificationImageUrls))">
+											<u-image :src="r" width="140rpx" height="140rpx"
+												@click="previewImage($setImageUrl(n.rectificationImageUrls),i)"></u-image>
+										</view>
+									</view>
+								</view> -->
+
+								<!-- 	<view class="" v-if="roleType == 2 || (roleType == 1 && n.rectificationRemark)">
+									<view class="f-26 mb-10 c-00">整改后描述</view>
+									<u-textarea v-model="n.rectificationRemark" placeholder="请输入整改后描述"
+										placeholderClass="c-99 f-26"
+										:disabled="roleType == 2 && (info.status == 4 || info.status == 3)?false:true"></u-textarea>
+								</view> -->
+
+
+
+							</u-collapse-item>
+						</u-collapse>
+					</block>
+				</block>
+			</block>
+		</view>
+
+		<view class="blank"></view>
+		<!-- <footer-btn @click="submitInfo" v-if="roleType == 2 && (info.status == 4 || info.status == 3)"     /> -->
+		<audit-action v-if="roleType == 1 && info.status == 1" @handle="submitAudit" />
+		<footer-btn v-if="roleType == 2 && info.status == 3" text="重新提交" @click="navTo" />
+	</view>
+</template>
+
+<script>
+	import uploadMixin from "@/mixin/uploadMixinPlace";
+	import {
+		getPlaceCheckItem,
+		getPlaceCheckReformDetail,
+		addPlaceCheckReform,
+		auditPlaceCheckReform
+	} from '@/api/place/place.js'
+
+	import {
+		getPlaceCheckDetail,
+		auditPlaceCheck
+	} from '@/api/reporting/reporting.js'
+	import {
+		getCounterfraudReportDetail
+	} from "@/api/counterfraud/counterfraud.js"
+	import auditAction from '../components/actionBtn.vue'
+	export default {
+		mixins: [uploadMixin],
+		components: {
+			auditAction
+		},
+		data() {
+			return {
+				info: {},
+				images: [],
+				signatureUrl: [],
+				label: "",
+				itemList: [],
+				roleType: '', //1.民警/系统管理员   2.场所负责人
+				ids: [],
+				taskId: "",
+				id: ""
+			}
+		},
+		async onLoad(option) {
+			let {
+				roleName
+			} = uni.getStorageSync("activeRole")
+			if (roleName == "居民") {
+				this.roleType = 2;
+			}
+			if (roleName == "民警" || roleName == "系统管理员") {
+				this.roleType = 1;
+			}
+
+			await this.getItem();
+			this.taskId = option.id;
+			this.id = option.id;
+		},
+
+
+		onShow() {
+			setTimeout(() => {
+				this.getDetail();
+			}, 100)
+		},
+
+		methods: {
+
+			getDetail(id) {
+				getCounterfraudReportDetail({
+					id: this.id
+				}).then(res => {
+					let data = res.data;
+					// this.info = res.data;
+					// this.images = this.$setImageUrl(res.data.imageUrls);
+					// this.signatureUrl = this.$setImageUrl(res.data.signaturePath);
+					// if (res.data.placePoiLabelVOList.length) {
+					// 	this.label = res.data.placePoiLabelVOList[res.data.placePoiLabelVOList.length - 1]
+					// 		.labelName;
+					// }
+					let ids = [];
+					for (let i of data.taskPlaceRecordVOList) {
+						if ((data.status == 4 || data.status == 3) && this.roleType == 2) {
+							if (i.rectificationImageUrls) {
+								i.urls = this.$setImageUrl(i.rectificationImageUrls, 2);
+							} else {
+								i.urls = [];
+							}
+						}
+						if (i.state == 0) {
+							ids.push(i.itemId)
+						}
+					}
+					this.ids = ids;
+					this.info = data;
+				})
+			},
+
+			getItem() {
+				getPlaceCheckItem({
+					childType: uni.getStorageSync("siteInfo").noExplosionCategory,
+					type: 2
+				}).then(res => {
+					if (res.code == 200) {
+						this.itemList = res.data;
+					}
+				})
+			},
+
+			async afterReadImgs(event, item, fIndex) {
+				uni.showLoading({
+					title: "上传中..."
+				})
+				let children = this.info.taskPlaceRecordVOList;
+				let lists = [].concat(event.file)
+				let fileListLen = item.urls.length;
+				lists.map((item) => {
+					children[fIndex].urls.push({
+						...item,
+						status: 'uploading',
+						message: '上传中'
+					})
+					this.$set(this.info, "taskPlaceRecordVOList", children)
+				})
+				for (let i = 0; i < lists.length; i++) {
+					const result = await this.uploadFilePromise(lists[i].url)
+					children[fIndex].urls.splice(fileListLen, 1, Object.assign({}, {
+						url: result.data.link,
+						name: result.data.name
+					}))
+					this.$set(this.info, "taskPlaceRecordVOList", children)
+					fileListLen++
+				}
+				this.loadingClose()
+			},
+
+			deleteImages(event, index) {
+				let children = this.info.taskPlaceRecordVOList;
+				children[index].urls.splice(event.index, 1);
+				this.$set(this.info, "taskPlaceRecordVOList", children)
+			},
+
+			setImages(key) {
+				if (!key) {
+					return ""
+				} else {
+					let urls = [];
+					for (let i of key) {
+						urls.push(i.name);
+					}
+					return urls.join(",")
+				}
+			},
+
+			previewImage(urls, current) {
+				uni.previewImage({
+					urls,
+					current
+				})
+			},
+
+			//整改提交
+			submitInfo() {
+				uni.showLoading({
+					title: "加载中..."
+				})
+				let data = this.info;
+				for (let i of data.taskPlaceRecordVOList) {
+					if (i.urls) {
+						i.rectificationImageUrls = this.setImages(i.urls)
+					}
+					delete i.urls;
+				}
+				if (data.status == 3) {
+					data.status = 1;
+				}
+				if (data.status == 4) {
+					data.status = 1;
+				}
+				addPlaceCheckReform(data).then(res => {
+					uni.hideLoading()
+					if (res.code == 200) {
+						this.$showTips("操作成功", "success");
+						setTimeout(() => {
+							uni.navigateBack()
+						}, 300)
+					}
+				})
+			},
+
+			//审核
+			submitAudit(val) {
+				uni.showLoading({
+					title: "加载中..."
+				})
+				auditPlaceCheck({
+					id: this.info.id,
+					taskId: this.info.taskId,
+					status: val.type,
+					rectificationFlag: val.type == 3 ? 1 : 2,
+					reasonFailure: val.remark
+				}).then(res => {
+					uni.hideLoading()
+					if (res.code == 200) {
+						this.$showTips("操作成功", "success");
+						setTimeout(() => {
+							uni.navigateBack()
+						}, 300)
+					}
+				})
+			},
+
+			navTo() {
+				uni.navigateTo({
+					url: `/subPackage/label/check?taskId=${this.info.taskId}`
+				})
+			},
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #f5f5f5;
+	}
+
+	.item-row {
+		width: 100%;
+		padding: 30rpx;
+		box-sizing: border-box;
+		border-bottom: 1px solid #f5f5f5;
+		font-size: 28rpx;
+		background-color: #fff;
+
+		.item-content {
+			width: 70%;
+			text-align: right;
+		}
+
+		.item-left {
+			width: 70%;
+		}
+	}
+
+	.image-wrap {
+		margin-top: 20rpx;
+		padding: 20rpx;
+
+		.image-item {
+			margin-right: 20rpx;
+		}
+	}
+
+	/deep/.u-cell__title-text {
+		color: #000 !important;
+		width: 70%;
+		font-size: 28rpx !important;
+	}
+
+	/deep/ .u-cell__value {
+		color: #000 !important;
+		font-size: 28rpx !important;
+	}
+
+	.mr-20 {
+		margin-right: 20rpx;
+	}
+
+	.upload-item {
+		width: 140rpx;
+		height: 140rpx;
+		border: 1px solid #EEEEEE;
+	}
+
+	.blank {
+		width: 100%;
+		height: 140rpx;
+	}
+
+	.c-00 {
+		color: #000;
+	}
+
+	/deep/ .u-collapse-item .u-collapse-item__content {
+		height: auto !important;
+	}
+</style>
\ No newline at end of file
diff --git a/subPackage/workbench/views/cscj.vue b/subPackage/workbench/views/cscj.vue
index c236991..4c95fa6 100644
--- a/subPackage/workbench/views/cscj.vue
+++ b/subPackage/workbench/views/cscj.vue
@@ -64,8 +64,8 @@
 						<view class="f-30" v-if="currentId">
 							{{nineTypeValue}}
 						</view>
-
 					</u-form-item>
+
 					<u-form-item label="阵地:" labelWidth="100" prop="isFront" :required="isRequired">
 						<u-radio-group v-model="form.isFront" v-if="!currentId">
 							<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList"
@@ -98,6 +98,19 @@
 						</u-radio-group>
 						<view class="f-30" v-if="currentId">
 							{{form.threeFireProtection == 1?"否":"是"}}
+						</view>
+					</u-form-item>
+
+					<u-form-item class="form-item" labelWidth="100" label="无诈类别:" :required="isRequired"
+						:disabled="isDisabled" prop="noExplosionCategory">
+						<view class="flex j-c-s-b a-i-c" v-if="!currentId" @click="showNotSwindleTypePicker= true">
+							<u-input border="none" v-model="notSwindleValue" disabled disabledColor="#ffffff"
+								placeholder="请选择">
+							</u-input>
+							<u-icon slot="right" name="arrow-right"></u-icon>
+						</view>
+						<view class="f-30" v-if="currentId">
+							{{notSwindleValue}}
 						</view>
 					</u-form-item>
 
@@ -148,7 +161,7 @@
 						<view class="box-title" style="width:50%;">
 							<box-title title="负责人信息"></box-title>
 						</view>
-						<ocr-navigator v-if="!currentId" @onSuccess="recognizeSuccess($event,'legal')"
+						<ocr-navigator v-if="!currentId" @onSuccess="recognizeSuccess($event,'principal')"
 							certificateType="idCard" :opposite="false">
 							<view class="recognize-btn flex a-i-c">
 								<u-icon name="scan" color="#fff" size="24"></u-icon>
@@ -384,6 +397,12 @@
 			@close="showGenderPicker = false" @cancel="showGenderPicker = false" keyName="name"
 			@confirm="confirmGender"></u-picker>
 
+
+		<u-picker :defaultIndex="notSwindleTypeIndex" :closeOnClickOverlay="true" :show="showNotSwindleTypePicker"
+			:columns="[notSwindleTypeList]" @close="showNotSwindleTypePicker = false"
+			@cancel="showNotSwindleTypePicker = false" keyName="name" @confirm="confirmNotSwindleType"></u-picker>
+
+
 		<cate-selector ref="selector" @comfirm="comfirmNineType" />
 	</view>
 </template>
@@ -459,6 +478,7 @@
 					frontType: "",
 					nineType: "",
 					threeFireProtection: "",
+					noExplosionCategory: "",
 					placeExtEntity: {
 						landlordName: "",
 						landlordIdCard: "",
@@ -679,7 +699,6 @@
 				frontTypeValue: "",
 				isView: false,
 				source: "",
-
 				nationTypeList: [], //民族
 				nationTypeIndex: [0],
 				nationValue: "",
@@ -698,7 +717,11 @@
 				showGenderPicker: false,
 				personNum: 0,
 				personNumArr: [],
-				isLegalSame: 1 //法人信息是否与负责人一致  1是  2否
+				isLegalSame: 1, //法人信息是否与负责人一致  1是  2否
+				notSwindleTypeList: [],
+				notSwindleIndex: [0],
+				notSwindleValue: "",
+				showNotSwindleTypePicker: false
 			}
 		},
 
@@ -763,6 +786,8 @@
 				await this.getBizDict('frontType', this.frontTypeList)
 				// 获取民族
 				await this.getBizDict('nationType', this.nationTypeList);
+				//反诈类别
+				await this.getBizDict('noExplosionCategory', this.notSwindleTypeList);
 			},
 
 			// 获取业务字典
@@ -1005,7 +1030,15 @@
 							this.nationValue = name;
 						}
 
-
+						if (key == "noExplosionCategory" && data.noExplosionCategory) {
+							let {
+								index,
+								name
+							} = this.$getIndex(this.notSwindleTypeList, data.noExplosionCategory, "value",
+								"name")
+							this.notSwindleIndex = [index];
+							this.notSwindleValue = name;
+						}
 					})
 					this.$set(this.form, "jwd", `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`)
 					this.form.building = arr.join("")
@@ -1261,6 +1294,14 @@
 				this.showGenderPicker = false;
 			},
 
+			//选择无诈类别
+			confirmNotSwindleType(e) {
+				this.notSwindleIndex = e.indexs;
+				this.notSwindleValue = e.value[0].name;
+				this.form.noExplosionCategory = e.value[0].value;
+				this.showNotSwindleTypePicker = false;
+			},
+
 
 			//弹出层打开
 			popup() {
diff --git a/subPackage/workbench/views/selfCheckDetail.vue b/subPackage/workbench/views/selfCheckDetail.vue
index 5d5c024..6c3a4c5 100644
--- a/subPackage/workbench/views/selfCheckDetail.vue
+++ b/subPackage/workbench/views/selfCheckDetail.vue
@@ -242,7 +242,10 @@
 			},
 
 			getItem() {
-				getPlaceCheckItem().then(res => {
+				getPlaceCheckItem({
+					childType: 1,
+					type: 1
+				}).then(res => {
 					if (res.code == 200) {
 						this.itemList = res.data;
 					}

--
Gitblit v1.9.3