From 4dc08d5c2904c2d1f0ca95f7ba41970c2a8145c0 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 27 Oct 2023 11:28:40 +0800
Subject: [PATCH] Merge branch 'master'

---
 pages/user/center - 副本.vue              |  527 +++++++
 pages/user/center.vue                   |  562 +-------
 manifest.json                           |    3 
 pages/home/index - 副本.vue               | 1294 +++++++++++++++++++
 pages/home/index.vue                    | 1518 +---------------------
 pages.json                              |   10 
 subPackage/user/components/roleList.vue |   51 
 subPackage/user/role/index.vue          |   88 +
 components/tabBar/tabBar.vue            |   21 
 9 files changed, 2,153 insertions(+), 1,921 deletions(-)

diff --git a/components/tabBar/tabBar.vue b/components/tabBar/tabBar.vue
index e68027a..0949fdb 100644
--- a/components/tabBar/tabBar.vue
+++ b/components/tabBar/tabBar.vue
@@ -2,7 +2,7 @@
 	<view>
 		<u-tabbar class="custom-tabbar" zIndex="100" :value="currentTab" :fixed="true" :active-color="activeColor"
 			:inactive-color="inactiveColor" @change='change'>
-			<u-tabbar-item v-for="(item,index) in tabList" :key="index" :text="item.name"
+			<u-tabbar-item v-for="(item,index) in curTabList" :key="index" :text="item.name"
 				:badge="item.badge>0?item.badge:0">
 				<image class="u-page_item_slot_icon" slot="active-icon" :src="item.iconPathSelected" />
 				<image class="u-page_item_slot_icon" slot="inactive-icon" :src="item.iconPath" />
@@ -28,7 +28,22 @@
 				inactiveColor: '#909399',
 				activeColor: '#328CFA',
 				//10分钟
-				getMessageTime: 1000 * 60 * 10
+				getMessageTime: 1000 * 60 * 10,
+				
+				curTabList: [
+					{
+						name: '首页',
+						iconPathSelected: '',
+						iconPath: '',
+						url: '/pages/home/index'
+					},
+					{
+						name: '个人中心',
+						iconPathSelected: '',
+						iconPath: '',
+						url: '/pages/user/center'
+					}
+				]
 			}
 		},
 		watch: {
@@ -59,7 +74,7 @@
 		methods: {
 			change(e) {
 				this.$store.commit("SET_TABBAT_INDEX", e)
-				this.$emit("change", e)
+				this.$emit("change", this.curTabList[e].url)
 				let params = {
 					recipient: this.userInfo.user_id,
 					status: 0
diff --git a/manifest.json b/manifest.json
index ac20958..4cbe5f4 100644
--- a/manifest.json
+++ b/manifest.json
@@ -207,7 +207,8 @@
                     }
                 }
             },
-            "port" : ""
+            "port" : "",
+            "https" : false
         },
         "uniStatistics" : {
             "enable" : false
diff --git a/pages.json b/pages.json
index 319e740..c5ca68c 100644
--- a/pages.json
+++ b/pages.json
@@ -334,6 +334,14 @@
 						"navigationBarTitleText": "消息详情",
 						"enablePullDownRefresh": false
 					}
+				},
+				//消息详情
+				{
+					"path": "role/index",
+					"style": {
+						"navigationBarTitleText": "切换角色",
+						"enablePullDownRefresh": false
+					}
 				}
 			]
 		},
@@ -375,7 +383,7 @@
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "",
 		"navigationBarBackgroundColor": "#fff",
-		"backgroundColor": "#F7F7F7"
+		"backgroundColor": "#4586FE"
 	},
 	"tabBar": {
 		"custom": true,
diff --git "a/pages/home/index - \345\211\257\346\234\254.vue" "b/pages/home/index - \345\211\257\346\234\254.vue"
new file mode 100644
index 0000000..ca9ebcc
--- /dev/null
+++ "b/pages/home/index - \345\211\257\346\234\254.vue"
@@ -0,0 +1,1294 @@
+<template>
+	<view class="container">
+
+		<view class="head">
+			<view class="top-nav-bar">
+				<u-navbar bgColor="#5887f9" :autoBack="false" safeAreaInsetTop>
+					<view slot="left">
+						<u--text color="#ffffff" text="基层智治" size="18" />
+					</view>
+				</u-navbar>
+			</view>
+
+			
+		</view>
+		<view class="main">
+			
+		</view>
+
+		<tabBar @change='change' :currentTab="0-0" :tabList="tabList"></tabBar>
+	</view>
+</template>
+
+<script>
+	import tabBar from "@/components/tabBar/tabBar.vue";
+	import card from "@/components/my-components/card.vue";
+	import echart from "@/components/echart/echart.vue";
+	import regionSelect from "@/components/my-components/regionSelect";
+	import projectStatistic from "@/components/my-components/projectStatistic.vue";
+	import {
+		dateFormat
+	} from "@/utils/date"
+	import {
+		dayEightOverLimit,
+		dayEightOverLimitDetail,
+		reservoirMonitorNumRegion,
+		getSKResInfoZRainApi
+	} from "@/api/dataCenter/reservoir/reservoir";
+	import {
+		regionList
+	} from "@/api/dataCenter/region/region.js"
+	import {
+		rainCodition24
+	} from "@/api/dataCenter/rainWaterCondition/rainWaterCondition";
+	import {
+		responsibilityImplementation
+	} from "@/api/dataCenter/responsiblePerson/responsiblePerson";
+	import shareMixin from "@/mixin/shareMixin";
+	import {
+		getMessageList
+	} from "@/api/system/message";
+	export default {
+		mixins: [shareMixin],
+		components: {
+			tabBar,
+			card,
+			echart,
+			regionSelect,
+			projectStatistic,
+		},
+		data() {
+			return {
+				noticeList: "暂无预警信息",
+				tabList: uni.getStorageSync("tabBarList") || [],
+				timeValue: Number(new Date()),
+				ssxqVale: Number(new Date()),
+				searchKey: "",
+				imgList: {
+					//图标
+					rbgl: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/rbgl.png",
+					ssxq: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/ssxq.png",
+					_24Rain: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/24rain.png",
+					responsible: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/responsible.png",
+					importantPart: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/importantPart.png",
+					//icon
+					iconDownGrey: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/downGrey.png",
+					iconDownBlue: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/downBlue.png"
+				},
+				serviceList: [{
+						name: "实时监测",
+						img: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/realtimeMonitor.png",
+						url: "/subPackage/realtimeMonitor/realtimeMonitor/index"
+					},
+					{
+						name: "雨水情监测",
+						img: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/waterCondition.png",
+						url: "/subPackage/rainWaterCondition/rainWaterCondition"
+					},
+					// {
+					// 	name: "大坝安全监测",
+					// 	img: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/rainCondition.png",
+					// 	url: "/subPackage/dbSafety/index"
+					// },
+					{
+						name: "渗流监测",
+						img: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/rainCondition.png",
+						url: "/subPackage/dbSafety/slList"
+					},
+					// {
+					// 	name: "变形监测",
+					// 	img: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/rainCondition.png",
+					// 	url: "/subPackage/dbSafety/bxList"
+					// },
+				],
+				ssxqList: [],
+				reservoirDataStatistic: [{
+						label: "水库",
+						value: 0
+					},
+					{
+						label: "已监测",
+						value: 0
+					},
+					{
+						label: "超汛限",
+						value: 0
+					},
+				],
+				rainfallOption: {},
+				statisticsOption: {},
+				zyhjList: [{
+						label: "监测预警",
+						value: "99.95",
+						url: "/pages/importantPart/monitorWarning"
+					},
+					{
+						label: "调度方案",
+						value: "9.7",
+						url: "/pages/importantPart/schedulingScheme"
+					},
+					{
+						label: "应急预案",
+						value: "7.21",
+						url: "/pages/importantPart/emergencyPlan"
+					}
+				],
+				skOption: {},
+				responsibleStatistic: [{
+						name: "行政责任人",
+						value: "0"
+					},
+					{
+						name: "主管责任人",
+						value: "0"
+					},
+					{
+						name: "技术责任人",
+						value: "0"
+					},
+					{
+						name: "管理责任人",
+						value: "0"
+					}
+				],
+
+				btnActive: 0,
+				btnCustomStyle: {
+					backgroundColor: '#f7f7f7',
+					color: '#4593F2'
+				},
+				qycxOption: {},
+				cxfdOption: {},
+
+				//实时汛情相关
+				xqRegion: "",
+				xqRegionCode: "",
+				xqRegionPopUpVisible: false,
+				xqTime: "",
+				xqTimeVisible: false,
+
+				qycxData: {
+					xName: [],
+					yBarValue: [],
+					yLineValue: [],
+				},
+				cxfdData: {
+					xName: [],
+					yBarValue: []
+				},
+
+				rainCodition24Data: {
+					xBarValue: [],
+				},
+				adBase: uni.getStorageSync("adCodeBase")
+			}
+		},
+		onLaunch() {
+			uni.hideTabBar()
+		},
+		onLoad() {
+			uni.hideTabBar()
+			// #ifdef MP-WEIXIN
+			this.userIsLogin()
+			// #endif
+		},
+		onShow() {
+			this.tabList = uni.getStorageSync("tabBarList")
+			this.tabBarIndex = uni.getStorageSync("tabbarIndex")
+			this.init()
+			this.getMessage()
+		},
+		methods: {
+
+			getMessage() {
+				let params = {
+					recipient: uni.getStorageSync("userInfo").user_id,
+					isPage: 0,
+					createTime: dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss")
+				}
+
+				getMessageList(params).then(res => {
+					let data = res.data
+
+					if (data.length > 0) {
+						this.noticeList = ""
+						data.forEach(e => {
+							this.noticeList = this.noticeList + e.content
+						})
+					}
+				})
+			},
+			navigatorMessage() {
+				let url = "/subPackage/user/message/index"
+				this.$u.func.globalNavigator(url, "navTo")
+			},
+
+
+			userIsLogin() {
+				if (this.userInfo.access_token) {} else {
+					uni.showModal({
+						title: "提示",
+						content: "请登录",
+						showCancel: false,
+						success: res => {
+							if (res.confirm) {
+								this.$u.func.globalNavigator("/pages/login/index", "redTo")
+							} else if (res.cancel) {
+								console.log('用户点击取消');
+							}
+						}
+					})
+				}
+			},
+			change(index) {
+				let url = index
+				this.$u.func.globalNavigator(url, "switchTab")
+			},
+			init() {
+				let selectTime = new Date()
+				let formatTime = dateFormat(selectTime).split(" ")[0]
+				this.rbTime = formatTime
+				this.xqTime = formatTime
+				if (!this.adBase) return
+				this.getQycxData(this.adBase)
+				this.getCxfdData(this.adBase)
+				this.getRainCodition24()
+				this.getSsxqStatistic(this.adBase)
+
+				if (this.adBase && this.adBase.adGrad < 3) {
+					this.getZrlsStatistics(1, 0)
+					this.getZrlsStatistics(2, 1)
+					this.getZrlsStatistics(4, 2)
+					this.getZrlsStatistics(3, 3)
+				}
+			},
+			/**
+			 * 获取实时汛情统计数据
+			 */
+			getSsxqStatistic(adBase) {
+				//区 
+				let param = {
+					ad_cd: adBase.adCode
+				}
+				regionList(param).then(res => {
+					let data = res.resultList[0]
+					this.reservoirDataStatistic[0].value = 0
+					this.reservoirDataStatistic[0].value += data.cnt
+				})
+
+				//已监测
+				reservoirMonitorNumRegion().then(res => {
+					let data = res.resultList
+					let filterArr = data.filter(e => e.ad_guid == adBase.adCode)
+					this.reservoirDataStatistic[1].value = filterArr[0].num
+				})
+
+				let params = {
+					is_over: 1,
+					last_sta: 1
+				}
+				if (adBase.adGrad == 2) {
+					params.city_cd = adBase.adCode
+				} else if (adBase.adGrad == 3) {
+					params.county_cd = adBase.adCode
+				} else if (adBase.adGrad == 4) {
+					params.town_cd = adBase.adCode
+				}
+				//获取超汛数量
+				getSKResInfoZRainApi(params).then(res => {
+					let data = res.data[0]
+					if (data.over_flse_cnt) {
+						this.reservoirDataStatistic[2].value = data.over_flse_cnt
+					}
+				})
+			},
+
+			//获取区域超汛分布数据
+			getQycxData(region) {
+				if (!region) return
+				this.xqRegion = region
+				let params = {
+					city_cd: "",
+					county_cd: "",
+					dt: this.xqTime
+				}
+				if (region.adGrad != 1) {
+					//市  返回区
+					if (region.adGrad == 2) {
+						params.city_cd = region.adCode
+					} else if (region.adGrad == 3) {
+						//区返回 镇级
+						params.county_cd = region.adCode
+						params.city_cd = region.pAdCode
+					} else if (region.adGrad == 4) {
+						//镇返回平级
+						let prefix = region.adCode.substring(0, 4)
+						if (prefix == "4290") {
+							params.city_cd = region.pAdCode
+							// params.town_cd = region.adCode
+						} else {
+							params.county_cd = region.pAdCode
+							params.city_cd = prefix + "00000000"
+						}
+					}
+				}
+
+
+				dayEightOverLimit(params).then(res => {
+
+					let data = res.data
+					//武汉市放第一位
+					if (data.some(e => e.c_name == "武汉市")) {
+						data.forEach((item, index) => {
+							if (item.c_name == "武汉市") {
+								data.splice(index, 1)
+								data.unshift(item)
+							}
+						})
+					}
+
+					this.qycxData = {
+						xName: [],
+						yBarValue: [],
+						yLineValue: [],
+					}
+					if (data) {
+						data.forEach(e => {
+							if (e.c_name != null) {
+								this.qycxData.xName.push(e.c_name)
+								this.qycxData.yBarValue.push(e.total)
+								this.qycxData.yLineValue.push(e.scale)
+							}
+						})
+					}
+					this.initQycxOption(this.qycxData)
+				})
+			},
+			// 获取超汛幅度分布数据
+			getCxfdData(region) {
+				if (!region) return
+
+				let param = {
+					dt: this.xqTime,
+					city_cd: "",
+					county_cd: "",
+					town_cd: ""
+				}
+				//市
+				if (region && region.adGrad == 2) {
+					param.city_cd = region.adCode
+				}
+				//区
+				if (region && region.adGrad == 3) {
+					param.county_cd = region.adCode
+					param.city_cd = region.pAdCode
+				}
+				//乡镇
+				if (region && region.adGrad == 4) {
+
+					let prefix = region.adCode.substring(0, 4)
+					if (prefix == "4290") {
+						param.city_cd = region.pAdCode
+						param.town_cd = region.adCode
+					} else {
+						param.city_cd = prefix + "00000000"
+						param.county_cd = region.pAdCode
+						param.town_cd = region.adCode
+					}
+				}
+				dayEightOverLimitDetail(param).then(res => {
+					let data = res.data
+					//初始化data
+					this.cxfdData = {
+						xName: [],
+						yBarValue: []
+					}
+
+					if (data) {
+						const list = data.sort((a, b) => a.over_z - b.over_z)
+						list.forEach(e => {
+							if (e.over_z > 0) {
+								this.cxfdData.xName.push(e.over_z)
+								this.cxfdData.yBarValue.push(e.cnt)
+							}
+						})
+					}
+					this.initCxfdOption(this.cxfdData)
+				})
+			},
+			/**
+			 * 获取24小时雨情数据
+			 */
+			getRainCodition24() {
+				let region = this.adBase
+				let params = {}
+				if (region.adGrad == 1) {
+
+				} else if (region.adGrad == 2) {
+					params.city_cd = region.adCode
+				} else if (region.adGrad == 3) {
+					params.county_cd = region.adCode
+				} else if (region.adGrad == 4) {
+					return
+				} else {
+					return
+				}
+
+				rainCodition24(params).then(res => {
+					let data = res.data[0]
+					this.rainCodition24Data = {
+						xBarValue: [],
+					}
+					if (data) {
+						this.rainCodition24Data.xBarValue = [
+							data.cur_0110_cnt,
+							data.cur_1025_cnt,
+							data.cur_2550_cnt,
+							data.cur_50100_cnt,
+							data.cur_100250_cnt,
+							data.cur_250_cnt
+						]
+					}
+
+					this.initRainfallOption(this.rainCodition24Data)
+				})
+			},
+			//加载24小时雨情Echart
+			initRainfallOption(data) {
+				this.rainfallOption = {
+					color: ['#1890FF'],
+					tooltip: {
+						trigger: 'axis',
+						axisPointer: {
+							type: 'cross',
+							animation: false,
+							label: {
+								backgroundColor: '#505765'
+							}
+						}
+					},
+					xAxis: {
+						type: 'value',
+						name: "水库数量",
+					},
+					yAxis: {
+						name: "mm",
+						type: 'category',
+						data: ["0.1-10", "10-25", "25-50", "50-100", "100-250", ">=250"],
+						axisTick: {
+							alignWithLabel: true
+						}
+					},
+					series: [{
+						data: data.xBarValue,
+						type: 'bar',
+						label: {
+							show: true,
+							position: 'right',
+							color: '#000000'
+						}
+					}, ],
+					grid: {
+						top: '15%',
+						left: '15%',
+						bottom: '8%',
+						right: '18%'
+					},
+				}
+			},
+			//加载区域超汛Echart
+			initQycxOption(data) {
+				this.qycxOption = {
+					color: ['#1890FF', '#F7DE71'],
+					tooltip: {
+						trigger: 'axis',
+						axisPointer: {
+							animation: false,
+							label: {
+								backgroundColor: '#505765'
+							}
+						}
+					},
+					xAxis: {
+						type: 'category',
+						data: data.xName,
+						axisLabel: {
+							color: "#999999",
+							interval: 0,
+							rotate: 40
+						},
+						axisLine: {
+							lineStyle: {
+								width: 1,
+								color: '#DBDBDB'
+							},
+						},
+						axisTick: {
+							alignWithLabel: true,
+							show: false
+						}
+					},
+					yAxis: [{
+							name: "数量(座)",
+							type: 'value'
+						},
+						{
+							name: "超汛比例(%)",
+							type: 'value',
+						}
+					],
+					series: [{
+							name: "数量",
+							data: data.yBarValue,
+							type: 'bar',
+							barWidth: "10",
+							yAxisIndex: 0,
+						},
+						{
+							name: "比例",
+							yAxisIndex: 1,
+							data: data.yLineValue,
+							type: 'line',
+							itemStyle: {
+								color: "rgba(255, 170, 0, 1.0)"
+							},
+						}
+					],
+					grid: {
+						top: '10%',
+						left: '2%',
+						bottom: '5%',
+						right: '3%',
+						containLabel: true
+					},
+				}
+			},
+			//加载超汛幅度分布
+			initCxfdOption(data) {
+				this.cxfdOption = {
+					color: ['#1890FF'],
+					tooltip: {
+						trigger: 'axis',
+						axisPointer: {
+							type: 'shadow'
+						}
+					},
+					grid: {
+						left: '5%',
+						right: '20%',
+						bottom: '16%',
+						top: '12%',
+						containLabel: true
+					},
+					dataZoom: [{
+						show: true,
+						realtime: true,
+						start: 15,
+						end: 45
+					}],
+					xAxis: [{
+						type: 'category',
+						name: "幅度(m)",
+						data: data.xName,
+						axisLabel: {
+							color: "#999999",
+						},
+						axisLine: {
+							lineStyle: {
+								width: 1,
+								color: '#999999'
+							},
+						},
+						axisTick: {
+							alignWithLabel: true,
+							show: false
+						}
+					}],
+					yAxis: [{
+						type: 'value',
+						name: "数量(座)",
+						nameTextStyle: {
+							color: "#999999",
+							padding: [11, 20, 0, 0],
+							nameLocation: "start",
+						},
+						axisLabel: {
+							color: "#999999",
+						},
+						splitLine: {
+							lineStyle: {
+								type: 'dashed'
+							},
+							show: true
+						},
+						axisTick: {
+							alignWithLabel: true,
+							show: false
+						},
+						axisLine: {
+							show: false
+						},
+					}],
+					series: [{
+						name: '数量',
+						type: 'bar',
+						smooth: true,
+						data: data.yBarValue
+					}]
+				}
+
+			},
+
+			// 跳转到搜索页
+			goSearchPage() {
+				this.$u.func.globalNavigator("/subPackage/realtimeMonitor/search/index")
+			},
+			//服务跳转
+			navigatorService(item) {
+				this.$u.func.globalNavigator(item.url, "navTo", item.name)
+			},
+
+			// 跳转到统计页
+			navigatorPage() {
+				let url = "/subPackage/realtimeMonitor/reservoir/floodSituationStatistics"
+				this.$u.func.globalNavigator(url, "navTo")
+			},
+
+			closeRbRegionPopup() {
+				this.rbRegionPopUpVisible = false
+			},
+
+			//时间显示格式化
+			formatter(type, value) {
+				if (type === 'year') {
+					return `${value}年`
+				}
+				if (type === 'month') {
+					return `${value}月`
+				}
+				if (type === 'day') {
+					return `${value}日`
+				}
+				return value
+			},
+
+
+
+			//区域超汛按钮点击事件
+			qycx(index) {
+				this.btnActive = index
+				this.getQycxData(this.xqRegion)
+			},
+			//超汛幅度分布
+			cxfd(index) {
+				this.btnActive = index
+				this.getCxfdData(this.xqRegion)
+			},
+
+
+			//汛情时间选择确认
+			xqTimeConfirm(data) {
+				let selectTime = new Date(data.value)
+				let formatTime = dateFormat(selectTime).split(" ")[0]
+				this.xqTime = formatTime
+				this.xqTimeVisible = false
+				if (this.btnActive == 0) {
+					this.getQycxData(this.xqRegion)
+				} else {
+					this.getCxfdData(this.xqRegion)
+				}
+			},
+
+
+			//实时汛情区域选择
+			sSxqRegionChange(region) {
+				this.xqRegion = region
+				if (this.btnActive == 0) {
+					this.getQycxData(this.xqRegion)
+				} else {
+					this.getCxfdData(this.xqRegion)
+				}
+			},
+			//责任落实
+			getZrlsStatistics(type, column) {
+				let param = {
+					p_ad_code: this.adBase.adCode,
+					type: type
+				}
+				responsibilityImplementation(param).then(res => {
+					let data = res.resultList[0]
+					this.responsibleStatistic[column].value = (((data.cn_total - data.tol_cn_wsb) / data
+						.cn_total) * 100).toFixed(2)
+				})
+			},
+
+
+
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		min-height: 100vh;
+		overflow: hidden;
+		background-color: #f9f9fa;
+
+
+		/* 自定义状态栏 */
+		.status_bar {
+			height: var(--status-bar-height);
+			width: 100%;
+		}
+	}
+
+	.icon {
+		font-size: 0;
+	}
+
+	.main {
+		// padding: 20rpx;
+		position: relative;
+		top: -44rpx;
+	}
+
+	.top-nav-bar {
+		height: 81rpx;
+	}
+
+	.search {
+		height: 200rpx;
+		display: flex;
+		background-color: #5887f9;
+		padding: 30rpx;
+	}
+
+
+	.service-box {
+		background: #ffffff;
+		border-radius: 12rpx 12rpx 0 0;
+		width: 100%;
+		height: 200rpx;
+		display: flex;
+		flex-direction: column;
+		justify-content: space-around;
+
+
+		.service-item {
+			display: flex;
+			flex-direction: column;
+			justify-content: space-between;
+			align-items: center;
+			width: 100%;
+			height: 120rpx;
+			font-size: 26rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #585b61;
+			margin: 20rpx 0;
+
+			.img {
+				width: 70rpx;
+				height: auto;
+			}
+
+			.name {
+				display: flex;
+				justify-content: space-around;
+				align-items: center;
+				// width: 104rpx;
+				height: 26rpx;
+				font-size: 26rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #333333;
+				line-height: 28rpx;
+			}
+		}
+	}
+
+	.card-head {
+		display: flex;
+		justify-content: space-between;
+		padding: 12rpx;
+
+		.left {
+			display: flex;
+			align-items: center;
+
+			.img-icon {
+				width: 32rpx;
+				height: 40rpx;
+			}
+
+			.text {
+				font-family: PingFang-SC-Bold;
+				font-weight: Bold;
+				color: #333333;
+				font-size: 40rpx;
+				margin-left: 20rpx;
+			}
+		}
+
+		.right {
+			display: flex;
+			align-items: center;
+
+			.region {
+				display: flex;
+				flex-wrap: wrap;
+				align-content: space-around;
+				align-items: center;
+
+				.text {
+					width: 110rpx;
+					height: 24rpx;
+					font-size: 26rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #BBBBBB;
+					line-height: 28rpx;
+					display: flex;
+					justify-content: flex-end;
+				}
+
+				.img-icon {
+					width: 20rpx;
+					height: 14rpx;
+					-moz-transform: rotate(-90deg);
+					-webkit-transform: rotate(-90deg);
+				}
+			}
+
+			.time {
+				margin-left: 20rpx;
+				display: flex;
+				flex-wrap: wrap;
+				align-content: space-around;
+				align-items: center;
+
+				.text {
+					width: 158rpx;
+					height: 20rpx;
+					font-size: 26rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #BBBBBB;
+					line-height: 28rpx;
+				}
+
+				.img-icon {
+					width: 20rpx;
+					height: 14rpx;
+				}
+			}
+
+
+			.text {
+				color: #4593F2;
+				font-family: PingFang-SC-Bold;
+				font-size: 30rpx;
+				width: 60rpx;
+			}
+
+			.img-icon {
+				width: 20rpx;
+				height: 14rpx;
+			}
+		}
+
+	}
+
+	.condition {
+		margin-bottom: 40rpx;
+
+		.region {
+			display: flex;
+			flex-wrap: wrap;
+			align-content: space-around;
+			align-items: center;
+
+			.text {
+				width: 158rpx;
+				height: 24rpx;
+				font-size: 26rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #BBBBBB;
+				line-height: 28rpx;
+				display: flex;
+				justify-content: flex-end;
+			}
+
+			.img-icon {
+				width: 16rpx;
+				height: 10rpx;
+			}
+		}
+
+		.time {
+			margin-left: 20rpx;
+			display: flex;
+			flex-wrap: wrap;
+			align-content: space-around;
+			align-items: center;
+
+			.text {
+				width: 158rpx;
+				height: 20rpx;
+				font-size: 26rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #BBBBBB;
+				line-height: 28rpx;
+			}
+
+			.img-icon {
+				width: 20rpx;
+				height: 14rpx;
+			}
+		}
+	}
+
+	.card-content {
+		// background-color: #f2f8ff;
+		border-radius: 20rpx;
+
+		.btn-group {
+			display: flex;
+			padding: 20rpx;
+
+			.btn-active {
+				background-color: #f7f7f7;
+				color: #4593F2;
+			}
+		}
+	}
+
+	.data {
+		height: auto;
+		background-color: #f2f8ff;
+		margin: 0 20rpx;
+		border-radius: 10rpx;
+	}
+
+	.value {
+		display: flex;
+		justify-content: space-between;
+	}
+
+	.top {
+		display: flex;
+
+		.left {
+			width: 30%;
+		}
+	}
+
+	.card-content-zrls {
+		display: flex;
+		justify-content: space-around;
+
+		.item {
+			width: 154rpx;
+			height: 132rpx;
+			background: #FFFFFF;
+			box-shadow: 0px 0px 4rpx 2rpx rgba(69, 147, 242, 0.22);
+			border-radius: 6px;
+
+
+			.top {
+				color: #ffffff;
+				font-size: 22rpx;
+
+				.text {
+					display: flex;
+					align-items: center;
+					justify-content: space-around;
+				}
+			}
+
+			.first {
+				width: 154rpx;
+				height: 46rpx;
+				background: linear-gradient(0deg, #7162FF 0%, #A495FF 100%);
+				border-radius: 6rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-around;
+
+				.text {
+					width: 132rpx;
+					height: 22rpx;
+					font-size: 22rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #FFFFFF;
+					line-height: 28rpx;
+				}
+			}
+
+			.second {
+				width: 154rpx;
+				height: 46rpx;
+				background: linear-gradient(0deg, #FA6448 0%, #FB836A 100%);
+				border-radius: 6rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-around;
+
+				.text {
+					width: 132rpx;
+					height: 22rpx;
+					font-size: 22rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #FFFFFF;
+					line-height: 28rpx;
+				}
+			}
+
+
+			.third {
+				width: 154rpx;
+				height: 46rpx;
+				background: linear-gradient(0deg, #3715F6 0%, #907DFB 100%);
+				border-radius: 6rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-around;
+
+				.text {
+					width: 132rpx;
+					height: 22rpx;
+					font-size: 22rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #FFFFFF;
+					line-height: 28rpx;
+				}
+			}
+
+			.fourth {
+				width: 154rpx;
+				height: 46rpx;
+				background: linear-gradient(0deg, #FE9C47 0%, #FFC799 100%);
+				border-radius: 6rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-around;
+
+				.text {
+					width: 132px;
+					height: 22rpx;
+					font-size: 22rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #FFFFFF;
+					line-height: 28rpx;
+				}
+			}
+
+			.bottom {
+				font-size: 34rpx;
+				display: flex;
+				flex-direction: column;
+				flex-wrap: wrap;
+				align-items: center;
+
+				.text-fixed {
+					.text {
+						width: 58rpx;
+						height: 20rpx;
+						font-size: 20rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #333333;
+						line-height: 28rpx;
+					}
+				}
+
+				.value {
+					.text {
+						width: 98rpx;
+						height: 18rpx;
+						font-size: 24rpx;
+						font-family: PingFang SC;
+						font-weight: bold;
+						color: #333333;
+						line-height: 28rpx;
+						display: flex;
+						justify-content: space-around;
+					}
+				}
+			}
+		}
+
+	}
+
+	.card-content-zyhj {
+		display: flex;
+		justify-content: space-around;
+
+		.service-item {
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+		}
+
+		.text-fixed {
+			position: absolute;
+			top: 8rpx;
+			right: 76rpx;
+			width: 18rpx;
+			height: 16rpx;
+			font-size: 20rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #FFFFFF;
+			line-height: 28rpx;
+		}
+
+		.value {
+			.text {
+				height: 24rpx;
+				font-size: 32rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #FFFFFF;
+				line-height: 28rpx;
+			}
+		}
+
+		.first {
+			display: flex;
+			align-items: center;
+			justify-content: space-around;
+
+
+			width: 116rpx;
+			height: 116rpx;
+			background: #FE9D49;
+			border-radius: 50%;
+
+
+			.bar1 {
+				width: 26rpx;
+				height: 30rpx;
+				background: linear-gradient(0deg, #FE9C48 0%, #FFFFFF 100%);
+				border-radius: 4rpx;
+			}
+
+			.bar2 {
+				width: 26rpx;
+				height: 30rpx;
+				background: linear-gradient(0deg, #FE9C48 0%, #FFFFFF 100%);
+				border-radius: 4rpx;
+			}
+
+			.bar3 {
+				width: 26rpx;
+				height: 30rpx;
+				background: linear-gradient(0deg, #FE9C48 0%, #FFFFFF 100%);
+				border-radius: 4rpx;
+			}
+		}
+
+		.second {
+			display: flex;
+			align-items: center;
+			justify-content: space-around;
+			width: 116rpx;
+			height: 116rpx;
+			background: #2586EB;
+			border-radius: 50%;
+		}
+
+		.third {
+			display: flex;
+			align-items: center;
+			justify-content: space-around;
+			width: 116rpx;
+			height: 116rpx;
+			background: #17BDB3;
+			border-radius: 50%;
+		}
+
+
+	}
+
+	.rbgl {
+		font-size: 30rpx;
+
+		.card-head {
+			.right {
+				display: flex;
+
+				.region {
+					display: flex;
+					flex-wrap: wrap;
+					align-content: space-around;
+				}
+
+				.time {
+					display: flex;
+					flex-wrap: wrap;
+					align-content: space-around;
+				}
+			}
+
+		}
+
+		.card-content-rbgl {
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+
+			.rb-content {
+				width: 622rpx;
+				// height: 106rpx;
+				font-size: 26rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #333333;
+				line-height: 40rpx;
+			}
+
+			.more {
+				color: #69b0ff;
+				display: flex;
+				align-items: center;
+				justify-content: space-around;
+			}
+		}
+	}
+
+	.rb-title {
+		display: flex;
+		justify-content: center;
+		margin: 20rpx;
+	}
+
+	.rb-detail {
+		font-size: 28rpx;
+		padding: 30rpx;
+	}
+
+	.condition {
+		font-size: 30rpx;
+		display: flex;
+		justify-content: flex-end;
+
+		.region {
+			display: flex;
+			flex-wrap: wrap;
+			align-content: space-around;
+		}
+
+		.time {
+			display: flex;
+			flex-wrap: wrap;
+			align-content: space-around;
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/pages/home/index.vue b/pages/home/index.vue
index a20f610..78401bc 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -1,1479 +1,141 @@
 <template>
 	<view class="container">
-
-		<view class="head">
-			<view class="top-nav-bar">
-
-				<u-navbar bgColor="#5887f9" :autoBack="false" safeAreaInsetTop>
-					<view slot="left">
-						<u--text color="#ffffff" text="荆楚水库" size="18" />
-					</view>
-				</u-navbar>
+		<u-navbar  height="48" bgColor="#5887f9" :autoBack="false" safeAreaInsetTop placeholder>
+			<view slot="left">
+				<u--text color="#ffffff" text="基层智治" size="18" />
 			</view>
-
-			<view class="search">
-				<u-search shape="square" bgColor="#ffffff" @focus="goSearchPage" placeholder="搜索水库" :showAction="false"
-					v-model="searchKey">
-				</u-search>
-			</view>
-		</view>
+		</u-navbar>
+		
 		<view class="main">
-			<!--导航-->
-			<view class="service-box">
-				<u-grid col="4" :border="false">
-					<u-grid-item v-for="(item,index) in serviceList" :key="index">
-						<view @click="navigatorService(item)" class="service-item">
-							<image :src="item.img" mode="widthFix" class="img"></image>
-							<view class="name">{{ item.name }}</view>
-						</view>
-					</u-grid-item>
-				</u-grid>
+			<view class="main-bg">
+				
 			</view>
-			<!--预警消息-->
-			<view class="notice">
-				<u-notice-bar direction="row" :text="noticeList" @click="navigatorMessage"></u-notice-bar>
+			
+			<view class="main-select">
+				<u-icon name="map" color="#fff"></u-icon>
+				<view>
+					当前场所:暂无绑定场所信息
+				</view>
 			</view>
-
-			<!--实时汛情-->
-			<view class="card-view">
-				<card>
-					<view class="card-head" slot="insideHead">
-						<view class="left">
-							<view>
-								<image class="img-icon" :src="imgList.ssxq"></image>
-							</view>
-							<view>
-								<text class="text">实时汛情</text>
-							</view>
-						</view>
-
-						<view class="right" @click="navigatorPage">
-							<view class="text">
-								<text>统计</text>
-							</view>
-						</view>
-					</view>
-					<view class="card-content" slot="content">
-						<view class="statistic">
-							<projectStatistic useBgImg="0" :gridList="reservoirDataStatistic">
-							</projectStatistic>
-						</view>
-						<view class="btn-group">
-							<!--小程序不支持直接写class-->
-							<u-button :customStyle="btnActive==0?btnCustomStyle:''" size="small" type="normal"
-								text="区域超汛分布" @click="qycx(0)">
-							</u-button>
-							<u-button :customStyle="btnActive==1?btnCustomStyle:''" size="small" type="normal"
-								text="超汛幅度分布" @click="cxfd(1)">
-							</u-button>
-						</view>
-
-						<view class="condition">
-							<view class=" region">
-								<view class="text">
-									<regionSelect @regionChange="sSxqRegionChange" ref="rbRegion">
-									</regionSelect>
-								</view>
-								<view class="icon">
-									<image class="img-icon" :src="imgList.iconDownGrey"></image>
-								</view>
-							</view>
-							<view class="time" @click="xqTimeVisible = true">
-								<view class="text">
-									<text>{{xqTime}}</text>
-								</view>
-								<view class="icon">
-									<image class="img-icon" :src="imgList.iconDownGrey"></image>
-								</view>
-							</view>
-
-						</view>
-
-						<view class="ssxq-echart">
-							<echart v-if="btnActive == 0" height="450rpx" initId="qycx" :option="qycxOption"></echart>
-							<echart v-if="btnActive == 1" height="450rpx" initId="cxfd" :option="cxfdOption"></echart>
-						</view>
-					</view>
-				</card>
+			
+			<view class="main-btn">
+				
 			</view>
-
-			<!--今日雨量-->
-			<view class="twentyFour-rainfall">
-				<card>
-					<view class="card-head" slot="insideHead">
-						<view class="left">
-							<view>
-								<image class="img-icon" :src="imgList._24Rain"></image>
-							</view>
-							<view class="text">
-								<text>今日雨量</text>
-							</view>
-						</view>
-
-					</view>
-					<view slot="content">
-						<echart initId="rainfall" :option="rainfallOption"></echart>
-					</view>
-				</card>
+			
+			<view class="main-phone">
+				<view></view>
+				<view></view>
+				<view></view>
 			</view>
-
-			<!--责任落实-->
-			<view v-if="adBase.adGrad<3" class="card-view">
-				<card>
-					<view class="card-head" slot="insideHead">
-						<view class="left">
-							<view>
-								<image mode="widthFix" class="img-icon" :src="imgList.responsible"></image>
-							</view>
-							<view class="text">
-								<text>责任落实</text>
-							</view>
-						</view>
-					</view>
-					<view class="card-content-zrls" slot="content">
-						<view class="item">
-							<view class="top first">
-								<text class="text">{{responsibleStatistic[0].name}}</text>
-							</view>
-							<view class="bottom">
-								<view class="text-fixed">
-									<text class="text">落实率</text>
-								</view>
-								<view class="value">
-									<text class="text">{{responsibleStatistic[0].value}}%</text>
-								</view>
-							</view>
-						</view>
-
-						<view class="item">
-							<view class="top second" style="background-color: #fa6444;">
-								<text class="text">{{responsibleStatistic[1].name}}</text>
-							</view>
-							<view class="bottom">
-								<view class="text-fixed">
-									<text class="text">落实率</text>
-								</view>
-								<view class="value">
-									<text class="text">{{responsibleStatistic[1].value}}%</text>
-								</view>
-							</view>
-						</view>
-
-						<view class="item">
-							<view class="top third" style="background-color: #3d1de4;">
-								<text class="text">{{responsibleStatistic[2].name}}</text>
-							</view>
-							<view class="bottom">
-								<view class="text-fixed">
-									<text class="text">落实率</text>
-								</view>
-								<view class="value">
-									<text class="text">{{responsibleStatistic[2].value}}%</text>
-								</view>
-							</view>
-						</view>
-
-						<view class="item">
-							<view class="top fourth" style="background-color: #fc9d48;">
-								<text class="text">{{responsibleStatistic[3].name}}</text>
-							</view>
-							<view class="bottom">
-								<view class="text-fixed">
-									<text class="text">落实率</text>
-								</view>
-								<view class="value">
-									<text class="text">{{responsibleStatistic[3].value}}%</text>
-								</view>
-							</view>
-						</view>
-					</view>
-				</card>
+			
+			<view class="main-bt">
+				<view class="main-live">
+					
+				</view>
+				
+				<view class="main-taska">
+					
+				</view>
 			</view>
-
 		</view>
-
-		<!--实时汛情日期选择-->
-		<u-datetime-picker :formatter="formatter" :show="xqTimeVisible" mode="date" @confirm="xqTimeConfirm"
-			@cancel="xqTimeVisible = false" v-model="ssxqVale">
-		</u-datetime-picker>
-
-
-
 
 		<tabBar @change='change' :currentTab="0-0" :tabList="tabList"></tabBar>
-
 	</view>
 </template>
 
 <script>
 	import tabBar from "@/components/tabBar/tabBar.vue";
-	import card from "@/components/my-components/card.vue";
-	import echart from "@/components/echart/echart.vue";
-	import regionSelect from "@/components/my-components/regionSelect";
-	import projectStatistic from "@/components/my-components/projectStatistic.vue";
-	import {
-		dateFormat
-	} from "@/utils/date"
-	import {
-		dayEightOverLimit,
-		dayEightOverLimitDetail,
-		reservoirMonitorNumRegion,
-		getSKResInfoZRainApi
-	} from "@/api/dataCenter/reservoir/reservoir";
-	import {
-		regionList
-	} from "@/api/dataCenter/region/region.js"
-	import {
-		rainCodition24
-	} from "@/api/dataCenter/rainWaterCondition/rainWaterCondition";
-	import {
-		responsibilityImplementation
-	} from "@/api/dataCenter/responsiblePerson/responsiblePerson";
-	import shareMixin from "@/mixin/shareMixin";
-	import {
-		getMessageList
-	} from "@/api/system/message";
+
 	export default {
-		mixins: [shareMixin],
 		components: {
 			tabBar,
-			card,
-			echart,
-			regionSelect,
-			projectStatistic,
 		},
+
 		data() {
 			return {
-				noticeList: "暂无预警信息",
 				tabList: uni.getStorageSync("tabBarList") || [],
-				timeValue: Number(new Date()),
-				ssxqVale: Number(new Date()),
-				searchKey: "",
-				imgList: {
-					//图标
-					rbgl: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/rbgl.png",
-					ssxq: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/ssxq.png",
-					_24Rain: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/24rain.png",
-					responsible: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/responsible.png",
-					importantPart: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/importantPart.png",
-					//icon
-					iconDownGrey: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/downGrey.png",
-					iconDownBlue: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/downBlue.png"
-				},
-				serviceList: [{
-						name: "实时监测",
-						img: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/realtimeMonitor.png",
-						url: "/subPackage/realtimeMonitor/realtimeMonitor/index"
-					},
-					{
-						name: "雨水情监测",
-						img: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/waterCondition.png",
-						url: "/subPackage/rainWaterCondition/rainWaterCondition"
-					},
-					// {
-					// 	name: "大坝安全监测",
-					// 	img: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/rainCondition.png",
-					// 	url: "/subPackage/dbSafety/index"
-					// },
-					{
-						name: "渗流监测",
-						img: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/rainCondition.png",
-						url: "/subPackage/dbSafety/slList"
-					},
-					// {
-					// 	name: "变形监测",
-					// 	img: "https://sk.hubeishuiyi.cn/business/xcxImg/homeImg/rainCondition.png",
-					// 	url: "/subPackage/dbSafety/bxList"
-					// },
-				],
-				ssxqList: [],
-				reservoirDataStatistic: [{
-						label: "水库",
-						value: 0
-					},
-					{
-						label: "已监测",
-						value: 0
-					},
-					{
-						label: "超汛限",
-						value: 0
-					},
-				],
-				rainfallOption: {},
-				statisticsOption: {},
-				zyhjList: [{
-						label: "监测预警",
-						value: "99.95",
-						url: "/pages/importantPart/monitorWarning"
-					},
-					{
-						label: "调度方案",
-						value: "9.7",
-						url: "/pages/importantPart/schedulingScheme"
-					},
-					{
-						label: "应急预案",
-						value: "7.21",
-						url: "/pages/importantPart/emergencyPlan"
-					}
-				],
-				skOption: {},
-				responsibleStatistic: [{
-						name: "行政责任人",
-						value: "0"
-					},
-					{
-						name: "主管责任人",
-						value: "0"
-					},
-					{
-						name: "技术责任人",
-						value: "0"
-					},
-					{
-						name: "管理责任人",
-						value: "0"
-					}
-				],
-
-				btnActive: 0,
-				btnCustomStyle: {
-					backgroundColor: '#f7f7f7',
-					color: '#4593F2'
-				},
-				qycxOption: {},
-				cxfdOption: {},
-
-				//实时汛情相关
-				xqRegion: "",
-				xqRegionCode: "",
-				xqRegionPopUpVisible: false,
-				xqTime: "",
-				xqTimeVisible: false,
-
-				qycxData: {
-					xName: [],
-					yBarValue: [],
-					yLineValue: [],
-				},
-				cxfdData: {
-					xName: [],
-					yBarValue: []
-				},
-
-				rainCodition24Data: {
-					xBarValue: [],
-				},
-				adBase: uni.getStorageSync("adCodeBase")
 			}
 		},
-		onLaunch() {
-			uni.hideTabBar()
-		},
-		onLoad() {
-			uni.hideTabBar()
-			// #ifdef MP-WEIXIN
-			this.userIsLogin()
-			// #endif
-		},
-		onShow() {
-			this.tabList = uni.getStorageSync("tabBarList")
-			this.tabBarIndex = uni.getStorageSync("tabbarIndex")
-			this.init()
-			this.getMessage()
-		},
+
 		methods: {
-
-			getMessage() {
-				let params = {
-					recipient: uni.getStorageSync("userInfo").user_id,
-					isPage: 0,
-					createTime: dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss")
-				}
-
-				getMessageList(params).then(res => {
-					let data = res.data
-
-					if (data.length > 0) {
-						this.noticeList = ""
-						data.forEach(e => {
-							this.noticeList = this.noticeList + e.content
-						})
-					}
-				})
-			},
-			navigatorMessage() {
-				let url = "/subPackage/user/message/index"
-				this.$u.func.globalNavigator(url, "navTo")
-			},
-
-
-			userIsLogin() {
-				if (this.userInfo.access_token) {} else {
-					uni.showModal({
-						title: "提示",
-						content: "请登录",
-						showCancel: false,
-						success: res => {
-							if (res.confirm) {
-								this.$u.func.globalNavigator("/pages/login/index", "redTo")
-							} else if (res.cancel) {
-								console.log('用户点击取消');
-							}
-						}
-					})
-				}
-			},
 			change(index) {
-				let url = this.tabList[index].path
+				let url = index
 				this.$u.func.globalNavigator(url, "switchTab")
 			},
-			init() {
-				let selectTime = new Date()
-				let formatTime = dateFormat(selectTime).split(" ")[0]
-				this.rbTime = formatTime
-				this.xqTime = formatTime
-				if (!this.adBase) return
-				this.getQycxData(this.adBase)
-				this.getCxfdData(this.adBase)
-				this.getRainCodition24()
-				this.getSsxqStatistic(this.adBase)
-
-				if (this.adBase && this.adBase.adGrad < 3) {
-					this.getZrlsStatistics(1, 0)
-					this.getZrlsStatistics(2, 1)
-					this.getZrlsStatistics(4, 2)
-					this.getZrlsStatistics(3, 3)
-				}
-			},
-			/**
-			 * 获取实时汛情统计数据
-			 */
-			getSsxqStatistic(adBase) {
-				//区 
-				let param = {
-					ad_cd: adBase.adCode
-				}
-				regionList(param).then(res => {
-					let data = res.resultList[0]
-					this.reservoirDataStatistic[0].value = 0
-					this.reservoirDataStatistic[0].value += data.cnt
-				})
-
-				//已监测
-				reservoirMonitorNumRegion().then(res => {
-					let data = res.resultList
-					let filterArr = data.filter(e => e.ad_guid == adBase.adCode)
-					this.reservoirDataStatistic[1].value = filterArr[0].num
-				})
-
-				let params = {
-					is_over: 1,
-					last_sta: 1
-				}
-				if (adBase.adGrad == 2) {
-					params.city_cd = adBase.adCode
-				} else if (adBase.adGrad == 3) {
-					params.county_cd = adBase.adCode
-				} else if (adBase.adGrad == 4) {
-					params.town_cd = adBase.adCode
-				}
-				//获取超汛数量
-				getSKResInfoZRainApi(params).then(res => {
-					let data = res.data[0]
-					if (data.over_flse_cnt) {
-						this.reservoirDataStatistic[2].value = data.over_flse_cnt
-					}
-				})
-			},
-
-			//获取区域超汛分布数据
-			getQycxData(region) {
-				if (!region) return
-				this.xqRegion = region
-				let params = {
-					city_cd: "",
-					county_cd: "",
-					dt: this.xqTime
-				}
-				if (region.adGrad != 1) {
-					//市  返回区
-					if (region.adGrad == 2) {
-						params.city_cd = region.adCode
-					} else if (region.adGrad == 3) {
-						//区返回 镇级
-						params.county_cd = region.adCode
-						params.city_cd = region.pAdCode
-					} else if (region.adGrad == 4) {
-						//镇返回平级
-						let prefix = region.adCode.substring(0, 4)
-						if (prefix == "4290") {
-							params.city_cd = region.pAdCode
-							// params.town_cd = region.adCode
-						} else {
-							params.county_cd = region.pAdCode
-							params.city_cd = prefix + "00000000"
-						}
-					}
-				}
-
-
-				dayEightOverLimit(params).then(res => {
-
-					let data = res.data
-					//武汉市放第一位
-					if (data.some(e => e.c_name == "武汉市")) {
-						data.forEach((item, index) => {
-							if (item.c_name == "武汉市") {
-								data.splice(index, 1)
-								data.unshift(item)
-							}
-						})
-					}
-
-					this.qycxData = {
-						xName: [],
-						yBarValue: [],
-						yLineValue: [],
-					}
-					if (data) {
-						data.forEach(e => {
-							if (e.c_name != null) {
-								this.qycxData.xName.push(e.c_name)
-								this.qycxData.yBarValue.push(e.total)
-								this.qycxData.yLineValue.push(e.scale)
-							}
-						})
-					}
-					this.initQycxOption(this.qycxData)
-				})
-			},
-			// 获取超汛幅度分布数据
-			getCxfdData(region) {
-				if (!region) return
-
-				let param = {
-					dt: this.xqTime,
-					city_cd: "",
-					county_cd: "",
-					town_cd: ""
-				}
-				//市
-				if (region && region.adGrad == 2) {
-					param.city_cd = region.adCode
-				}
-				//区
-				if (region && region.adGrad == 3) {
-					param.county_cd = region.adCode
-					param.city_cd = region.pAdCode
-				}
-				//乡镇
-				if (region && region.adGrad == 4) {
-
-					let prefix = region.adCode.substring(0, 4)
-					if (prefix == "4290") {
-						param.city_cd = region.pAdCode
-						param.town_cd = region.adCode
-					} else {
-						param.city_cd = prefix + "00000000"
-						param.county_cd = region.pAdCode
-						param.town_cd = region.adCode
-					}
-				}
-				dayEightOverLimitDetail(param).then(res => {
-					let data = res.data
-					//初始化data
-					this.cxfdData = {
-						xName: [],
-						yBarValue: []
-					}
-
-					if (data) {
-						const list = data.sort((a, b) => a.over_z - b.over_z)
-						list.forEach(e => {
-							if (e.over_z > 0) {
-								this.cxfdData.xName.push(e.over_z)
-								this.cxfdData.yBarValue.push(e.cnt)
-							}
-						})
-					}
-					this.initCxfdOption(this.cxfdData)
-				})
-			},
-			/**
-			 * 获取24小时雨情数据
-			 */
-			getRainCodition24() {
-				let region = this.adBase
-				let params = {}
-				if (region.adGrad == 1) {
-
-				} else if (region.adGrad == 2) {
-					params.city_cd = region.adCode
-				} else if (region.adGrad == 3) {
-					params.county_cd = region.adCode
-				} else if (region.adGrad == 4) {
-					return
-				} else {
-					return
-				}
-
-				rainCodition24(params).then(res => {
-					let data = res.data[0]
-					this.rainCodition24Data = {
-						xBarValue: [],
-					}
-					if (data) {
-						this.rainCodition24Data.xBarValue = [
-							data.cur_0110_cnt,
-							data.cur_1025_cnt,
-							data.cur_2550_cnt,
-							data.cur_50100_cnt,
-							data.cur_100250_cnt,
-							data.cur_250_cnt
-						]
-					}
-
-					this.initRainfallOption(this.rainCodition24Data)
-				})
-			},
-			//加载24小时雨情Echart
-			initRainfallOption(data) {
-				this.rainfallOption = {
-					color: ['#1890FF'],
-					tooltip: {
-						trigger: 'axis',
-						axisPointer: {
-							type: 'cross',
-							animation: false,
-							label: {
-								backgroundColor: '#505765'
-							}
-						}
-					},
-					xAxis: {
-						type: 'value',
-						name: "水库数量",
-					},
-					yAxis: {
-						name: "mm",
-						type: 'category',
-						data: ["0.1-10", "10-25", "25-50", "50-100", "100-250", ">=250"],
-						axisTick: {
-							alignWithLabel: true
-						}
-					},
-					series: [{
-						data: data.xBarValue,
-						type: 'bar',
-						label: {
-							show: true,
-							position: 'right',
-							color: '#000000'
-						}
-					}, ],
-					grid: {
-						top: '15%',
-						left: '15%',
-						bottom: '8%',
-						right: '18%'
-					},
-				}
-			},
-			//加载区域超汛Echart
-			initQycxOption(data) {
-				this.qycxOption = {
-					color: ['#1890FF', '#F7DE71'],
-					tooltip: {
-						trigger: 'axis',
-						axisPointer: {
-							animation: false,
-							label: {
-								backgroundColor: '#505765'
-							}
-						}
-					},
-					xAxis: {
-						type: 'category',
-						data: data.xName,
-						axisLabel: {
-							color: "#999999",
-							interval: 0,
-							rotate: 40
-						},
-						axisLine: {
-							lineStyle: {
-								width: 1,
-								color: '#DBDBDB'
-							},
-						},
-						axisTick: {
-							alignWithLabel: true,
-							show: false
-						}
-					},
-					yAxis: [{
-							name: "数量(座)",
-							type: 'value'
-						},
-						{
-							name: "超汛比例(%)",
-							type: 'value',
-						}
-					],
-					series: [{
-							name: "数量",
-							data: data.yBarValue,
-							type: 'bar',
-							barWidth: "10",
-							yAxisIndex: 0,
-						},
-						{
-							name: "比例",
-							yAxisIndex: 1,
-							data: data.yLineValue,
-							type: 'line',
-							itemStyle: {
-								color: "rgba(255, 170, 0, 1.0)"
-							},
-						}
-					],
-					grid: {
-						top: '10%',
-						left: '2%',
-						bottom: '5%',
-						right: '3%',
-						containLabel: true
-					},
-				}
-			},
-			//加载超汛幅度分布
-			initCxfdOption(data) {
-				this.cxfdOption = {
-					color: ['#1890FF'],
-					tooltip: {
-						trigger: 'axis',
-						axisPointer: {
-							type: 'shadow'
-						}
-					},
-					grid: {
-						left: '5%',
-						right: '20%',
-						bottom: '16%',
-						top: '12%',
-						containLabel: true
-					},
-					dataZoom: [{
-						show: true,
-						realtime: true,
-						start: 15,
-						end: 45
-					}],
-					xAxis: [{
-						type: 'category',
-						name: "幅度(m)",
-						data: data.xName,
-						axisLabel: {
-							color: "#999999",
-						},
-						axisLine: {
-							lineStyle: {
-								width: 1,
-								color: '#999999'
-							},
-						},
-						axisTick: {
-							alignWithLabel: true,
-							show: false
-						}
-					}],
-					yAxis: [{
-						type: 'value',
-						name: "数量(座)",
-						nameTextStyle: {
-							color: "#999999",
-							padding: [11, 20, 0, 0],
-							nameLocation: "start",
-						},
-						axisLabel: {
-							color: "#999999",
-						},
-						splitLine: {
-							lineStyle: {
-								type: 'dashed'
-							},
-							show: true
-						},
-						axisTick: {
-							alignWithLabel: true,
-							show: false
-						},
-						axisLine: {
-							show: false
-						},
-					}],
-					series: [{
-						name: '数量',
-						type: 'bar',
-						smooth: true,
-						data: data.yBarValue
-					}]
-				}
-
-			},
-
-			// 跳转到搜索页
-			goSearchPage() {
-				this.$u.func.globalNavigator("/subPackage/realtimeMonitor/search/index")
-			},
-			//服务跳转
-			navigatorService(item) {
-				this.$u.func.globalNavigator(item.url, "navTo", item.name)
-			},
-
-			// 跳转到统计页
-			navigatorPage() {
-				let url = "/subPackage/realtimeMonitor/reservoir/floodSituationStatistics"
-				this.$u.func.globalNavigator(url, "navTo")
-			},
-
-			closeRbRegionPopup() {
-				this.rbRegionPopUpVisible = false
-			},
-
-			//时间显示格式化
-			formatter(type, value) {
-				if (type === 'year') {
-					return `${value}年`
-				}
-				if (type === 'month') {
-					return `${value}月`
-				}
-				if (type === 'day') {
-					return `${value}日`
-				}
-				return value
-			},
-
-
-
-			//区域超汛按钮点击事件
-			qycx(index) {
-				this.btnActive = index
-				this.getQycxData(this.xqRegion)
-			},
-			//超汛幅度分布
-			cxfd(index) {
-				this.btnActive = index
-				this.getCxfdData(this.xqRegion)
-			},
-
-
-			//汛情时间选择确认
-			xqTimeConfirm(data) {
-				let selectTime = new Date(data.value)
-				let formatTime = dateFormat(selectTime).split(" ")[0]
-				this.xqTime = formatTime
-				this.xqTimeVisible = false
-				if (this.btnActive == 0) {
-					this.getQycxData(this.xqRegion)
-				} else {
-					this.getCxfdData(this.xqRegion)
-				}
-			},
-
-
-			//实时汛情区域选择
-			sSxqRegionChange(region) {
-				this.xqRegion = region
-				if (this.btnActive == 0) {
-					this.getQycxData(this.xqRegion)
-				} else {
-					this.getCxfdData(this.xqRegion)
-				}
-			},
-			//责任落实
-			getZrlsStatistics(type, column) {
-				let param = {
-					p_ad_code: this.adBase.adCode,
-					type: type
-				}
-				responsibilityImplementation(param).then(res => {
-					let data = res.resultList[0]
-					this.responsibleStatistic[column].value = (((data.cn_total - data.tol_cn_wsb) / data
-						.cn_total) * 100).toFixed(2)
-				})
-			},
-
-
-
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
 	.container {
-		min-height: 100vh;
-		overflow: hidden;
-		background-color: #f9f9fa;
-
-
-		/* 自定义状态栏 */
-		.status_bar {
-			height: var(--status-bar-height);
-			width: 100%;
-		}
-	}
-
-	.icon {
-		font-size: 0;
-	}
-
-	.main {
-		// padding: 20rpx;
-		position: relative;
-		top: -44rpx;
-	}
-
-	.top-nav-bar {
-		height: 81rpx;
-	}
-
-	.search {
-		height: 200rpx;
-		display: flex;
-		background-color: #5887f9;
-		padding: 30rpx;
-	}
-
-
-	.service-box {
-		background: #ffffff;
-		border-radius: 12rpx 12rpx 0 0;
 		width: 100%;
-		height: 200rpx;
+		height: 100%;
+		
 		display: flex;
 		flex-direction: column;
-		justify-content: space-around;
-
-
-		.service-item {
-			display: flex;
-			flex-direction: column;
-			justify-content: space-between;
-			align-items: center;
-			width: 100%;
-			height: 120rpx;
-			font-size: 26rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #585b61;
-			margin: 20rpx 0;
-
-			.img {
-				width: 70rpx;
-				height: auto;
+		background: #F9F9FA;
+		color: #fff;
+		
+		.main {
+			position: relative;
+			height: 0;
+			flex: 1;
+			overflow-y: auto;
+			
+			.main-bg {
+				height: 36%;
+				background: royalblue;
 			}
-
-			.name {
-				display: flex;
-				justify-content: space-around;
-				align-items: center;
-				// width: 104rpx;
-				height: 26rpx;
-				font-size: 26rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #333333;
-				line-height: 28rpx;
-			}
-		}
-	}
-
-	.card-head {
-		display: flex;
-		justify-content: space-between;
-		padding: 12rpx;
-
-		.left {
-			display: flex;
-			align-items: center;
-
-			.img-icon {
-				width: 32rpx;
-				height: 40rpx;
-			}
-
-			.text {
-				font-family: PingFang-SC-Bold;
-				font-weight: Bold;
-				color: #333333;
-				font-size: 40rpx;
-				margin-left: 20rpx;
-			}
-		}
-
-		.right {
-			display: flex;
-			align-items: center;
-
-			.region {
-				display: flex;
-				flex-wrap: wrap;
-				align-content: space-around;
-				align-items: center;
-
-				.text {
-					width: 110rpx;
-					height: 24rpx;
-					font-size: 26rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #BBBBBB;
-					line-height: 28rpx;
-					display: flex;
-					justify-content: flex-end;
-				}
-
-				.img-icon {
-					width: 20rpx;
-					height: 14rpx;
-					-moz-transform: rotate(-90deg);
-					-webkit-transform: rotate(-90deg);
-				}
-			}
-
-			.time {
-				margin-left: 20rpx;
-				display: flex;
-				flex-wrap: wrap;
-				align-content: space-around;
-				align-items: center;
-
-				.text {
-					width: 158rpx;
-					height: 20rpx;
-					font-size: 26rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #BBBBBB;
-					line-height: 28rpx;
-				}
-
-				.img-icon {
-					width: 20rpx;
-					height: 14rpx;
-				}
-			}
-
-
-			.text {
-				color: #4593F2;
-				font-family: PingFang-SC-Bold;
-				font-size: 30rpx;
-				width: 60rpx;
-			}
-
-			.img-icon {
-				width: 20rpx;
-				height: 14rpx;
-			}
-		}
-
-	}
-
-	.condition {
-		margin-bottom: 40rpx;
-
-		.region {
-			display: flex;
-			flex-wrap: wrap;
-			align-content: space-around;
-			align-items: center;
-
-			.text {
-				width: 158rpx;
-				height: 24rpx;
-				font-size: 26rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #BBBBBB;
-				line-height: 28rpx;
-				display: flex;
-				justify-content: flex-end;
-			}
-
-			.img-icon {
-				width: 16rpx;
-				height: 10rpx;
-			}
-		}
-
-		.time {
-			margin-left: 20rpx;
-			display: flex;
-			flex-wrap: wrap;
-			align-content: space-around;
-			align-items: center;
-
-			.text {
-				width: 158rpx;
-				height: 20rpx;
-				font-size: 26rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #BBBBBB;
-				line-height: 28rpx;
-			}
-
-			.img-icon {
-				width: 20rpx;
-				height: 14rpx;
-			}
-		}
-	}
-
-	.card-content {
-		// background-color: #f2f8ff;
-		border-radius: 20rpx;
-
-		.btn-group {
-			display: flex;
-			padding: 20rpx;
-
-			.btn-active {
-				background-color: #f7f7f7;
-				color: #4593F2;
-			}
-		}
-	}
-
-	.data {
-		height: auto;
-		background-color: #f2f8ff;
-		margin: 0 20rpx;
-		border-radius: 10rpx;
-	}
-
-	.value {
-		display: flex;
-		justify-content: space-between;
-	}
-
-	.top {
-		display: flex;
-
-		.left {
-			width: 30%;
-		}
-	}
-
-	.card-content-zrls {
-		display: flex;
-		justify-content: space-around;
-
-		.item {
-			width: 154rpx;
-			height: 132rpx;
-			background: #FFFFFF;
-			box-shadow: 0px 0px 4rpx 2rpx rgba(69, 147, 242, 0.22);
-			border-radius: 6px;
-
-
-			.top {
-				color: #ffffff;
-				font-size: 22rpx;
-
-				.text {
-					display: flex;
-					align-items: center;
-					justify-content: space-around;
-				}
-			}
-
-			.first {
-				width: 154rpx;
-				height: 46rpx;
-				background: linear-gradient(0deg, #7162FF 0%, #A495FF 100%);
-				border-radius: 6rpx;
+			
+			.main-select {
+				margin: 0 6%;
+				position: absolute;
+				bottom: 74%;
 				display: flex;
 				align-items: center;
-				justify-content: space-around;
-
-				.text {
-					width: 132rpx;
-					height: 22rpx;
-					font-size: 22rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FFFFFF;
-					line-height: 28rpx;
-				}
 			}
-
-			.second {
-				width: 154rpx;
-				height: 46rpx;
-				background: linear-gradient(0deg, #FA6448 0%, #FB836A 100%);
-				border-radius: 6rpx;
+			
+			.main-btn {
+				margin: 0 6%;
+				position: absolute;
+				top: 28%;
+				width: 88%;
+				height: 18%;
+				background: #fff;
+				border-radius: 10rpx;
+			}
+			
+			.main-phone {
 				display: flex;
-				align-items: center;
-				justify-content: space-around;
-
-				.text {
-					width: 132rpx;
-					height: 22rpx;
-					font-size: 22rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FFFFFF;
-					line-height: 28rpx;
+				position: absolute;
+				top: 52%;
+				width: 100%;
+				height: 12%;
+				
+				view {
+					margin: 0 16rpx;
+					flex: 1;
+					background: linear-gradient( to right, #407BE9, #73A2F9);
+					border-radius: 10rpx;
 				}
 			}
-
-
-			.third {
-				width: 154rpx;
-				height: 46rpx;
-				background: linear-gradient(0deg, #3715F6 0%, #907DFB 100%);
-				border-radius: 6rpx;
-				display: flex;
-				align-items: center;
-				justify-content: space-around;
-
-				.text {
-					width: 132rpx;
-					height: 22rpx;
-					font-size: 22rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FFFFFF;
-					line-height: 28rpx;
+			
+			.main-bt {
+				position: absolute;
+				top: 66%;
+				width: 100%;
+				
+				.main-live {
+					height: 180rpx;
+					background: #fff;
+				}
+				
+				.main-taska {
+					margin-top: 16rpx;
+					height: 240rpx;
+					background: #fff;
 				}
 			}
-
-			.fourth {
-				width: 154rpx;
-				height: 46rpx;
-				background: linear-gradient(0deg, #FE9C47 0%, #FFC799 100%);
-				border-radius: 6rpx;
-				display: flex;
-				align-items: center;
-				justify-content: space-around;
-
-				.text {
-					width: 132px;
-					height: 22rpx;
-					font-size: 22rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FFFFFF;
-					line-height: 28rpx;
-				}
-			}
-
-			.bottom {
-				font-size: 34rpx;
-				display: flex;
-				flex-direction: column;
-				flex-wrap: wrap;
-				align-items: center;
-
-				.text-fixed {
-					.text {
-						width: 58rpx;
-						height: 20rpx;
-						font-size: 20rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #333333;
-						line-height: 28rpx;
-					}
-				}
-
-				.value {
-					.text {
-						width: 98rpx;
-						height: 18rpx;
-						font-size: 24rpx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #333333;
-						line-height: 28rpx;
-						display: flex;
-						justify-content: space-around;
-					}
-				}
-			}
-		}
-
-	}
-
-	.card-content-zyhj {
-		display: flex;
-		justify-content: space-around;
-
-		.service-item {
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-		}
-
-		.text-fixed {
-			position: absolute;
-			top: 8rpx;
-			right: 76rpx;
-			width: 18rpx;
-			height: 16rpx;
-			font-size: 20rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #FFFFFF;
-			line-height: 28rpx;
-		}
-
-		.value {
-			.text {
-				height: 24rpx;
-				font-size: 32rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				line-height: 28rpx;
-			}
-		}
-
-		.first {
-			display: flex;
-			align-items: center;
-			justify-content: space-around;
-
-
-			width: 116rpx;
-			height: 116rpx;
-			background: #FE9D49;
-			border-radius: 50%;
-
-
-			.bar1 {
-				width: 26rpx;
-				height: 30rpx;
-				background: linear-gradient(0deg, #FE9C48 0%, #FFFFFF 100%);
-				border-radius: 4rpx;
-			}
-
-			.bar2 {
-				width: 26rpx;
-				height: 30rpx;
-				background: linear-gradient(0deg, #FE9C48 0%, #FFFFFF 100%);
-				border-radius: 4rpx;
-			}
-
-			.bar3 {
-				width: 26rpx;
-				height: 30rpx;
-				background: linear-gradient(0deg, #FE9C48 0%, #FFFFFF 100%);
-				border-radius: 4rpx;
-			}
-		}
-
-		.second {
-			display: flex;
-			align-items: center;
-			justify-content: space-around;
-			width: 116rpx;
-			height: 116rpx;
-			background: #2586EB;
-			border-radius: 50%;
-		}
-
-		.third {
-			display: flex;
-			align-items: center;
-			justify-content: space-around;
-			width: 116rpx;
-			height: 116rpx;
-			background: #17BDB3;
-			border-radius: 50%;
-		}
-
-
-	}
-
-	.rbgl {
-		font-size: 30rpx;
-
-		.card-head {
-			.right {
-				display: flex;
-
-				.region {
-					display: flex;
-					flex-wrap: wrap;
-					align-content: space-around;
-				}
-
-				.time {
-					display: flex;
-					flex-wrap: wrap;
-					align-content: space-around;
-				}
-			}
-
-		}
-
-		.card-content-rbgl {
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-
-			.rb-content {
-				width: 622rpx;
-				// height: 106rpx;
-				font-size: 26rpx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #333333;
-				line-height: 40rpx;
-			}
-
-			.more {
-				color: #69b0ff;
-				display: flex;
-				align-items: center;
-				justify-content: space-around;
-			}
-		}
-	}
-
-	.rb-title {
-		display: flex;
-		justify-content: center;
-		margin: 20rpx;
-	}
-
-	.rb-detail {
-		font-size: 28rpx;
-		padding: 30rpx;
-	}
-
-	.condition {
-		font-size: 30rpx;
-		display: flex;
-		justify-content: flex-end;
-
-		.region {
-			display: flex;
-			flex-wrap: wrap;
-			align-content: space-around;
-		}
-
-		.time {
-			display: flex;
-			flex-wrap: wrap;
-			align-content: space-around;
 		}
 	}
 </style>
\ No newline at end of file
diff --git "a/pages/user/center - \345\211\257\346\234\254.vue" "b/pages/user/center - \345\211\257\346\234\254.vue"
new file mode 100644
index 0000000..a68d88d
--- /dev/null
+++ "b/pages/user/center - \345\211\257\346\234\254.vue"
@@ -0,0 +1,527 @@
+<template>
+	<view class="container">
+		<!-- 占位 -->
+		<view style="height: 88rpx; background-color: rgb(13 129 238);"></view>
+		<view class="head">
+			<!-- 用户信息 -->
+			<view class="user-box">
+				<view class="top">
+					<view class="left">
+						<image :src="userInfo.avatar?userInfo.avatar:'https://sk.hubeishuiyi.cn/business/img/water.png'"
+							class="avatar" mode=""></image>
+					</view>
+					<view class="right">
+						<view class="user-detail">
+							<u--text size="20" color="#ffffff" :text="userInfo.real_name"></u--text>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view style="padding: 40rpx 30rpx 30rpx 30rpx;color: #fff;font-size: 28rpx;">
+				<text v-if="roleDescription.length>0">{{roleDescription[0].description}}</text>
+				<text v-if="!showMoreDesc && roleDescription.length>1" @click="showMoreDesc = true">更多</text>
+				<view v-if="showMoreDesc">
+					<view v-for="(item,index) in roleDescription" :key="item.roleName">
+						<text @click="showMoreDesc = false" v-if="item.index>0">{{item.description}}</text>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 功能列表 -->
+
+		<view class="cell-box">
+			<cardList :cardList="systemList">
+				<u-badge max="99" :value="messageCount"></u-badge>
+			</cardList>
+		</view>
+
+		<view v-if="showHistoryList" class="cell-box">
+			<cardList :title="`历史记录`" :cardList="historyList"></cardList>
+		</view>
+
+		<view class="cell-box">
+			<u-cell icon="account" title="角色切换">
+				<view slot="title">
+					<view class="flex">
+						<view class="">角色</view>
+						<view style="width: 316rpx;display: flex;justify-content: flex-end">{{roleName}}</view>
+					</view>
+				</view>
+			</u-cell>
+			<!-- #ifdef  APP-PLUS -->
+			<u-cell icon="error-circle">
+				<template slot="title">
+					<navigator url="../../subPackage/user/privacyPolicy" hover-class="navigator-hover">
+						隐私政策
+					</navigator>
+				</template>
+
+				<image slot="icon" class="icon"
+					:src="`https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/privacy.png`"></image>
+			</u-cell>
+
+			<u-cell icon="setting" :title="`系统版本${verson}`">
+				<image slot="icon" class="icon"
+					:src="`https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/version.png`"></image>
+			</u-cell>
+
+			<u-cell icon="error" :title="`注销帐号`" @click="delAccount">
+				<image slot="icon" class="icon"
+					:src="`https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/delAccount.png`"></image>
+			</u-cell>
+			<!-- #endif -->
+
+		</view>
+
+
+		<view style="padding: 22rpx 0px 40rpx 0;">
+			<u-button type="error" text="退出当前账号" @click="logOut"></u-button>
+		</view>
+		<tabBar @changeTabList="changeTabList" @change="change" :currentTab="tabList.length-1" :tabList="tabList">
+		</tabBar>
+	</view>
+</template>
+
+<script>
+	import cardList from "@/components/my-components/cardList.vue"
+	import store from "@/store/index.js"
+	import tabBar from "@/components/tabBar/tabBar.vue"
+	import {
+		getTextByName
+	} from "./util"
+	import {
+		dynamicMenu,
+		getAll,
+	} from "@/api/system/role.js"
+	import shareMixin from "@/mixin/shareMixin";
+	import {
+		messageCount
+	} from "@/api/system/message";
+	import {
+		clearCId,
+		delAccount,
+	} from "../../api/system/user";
+	export default {
+		mixins: [shareMixin],
+		components: {
+			tabBar,
+			cardList
+		},
+		data() {
+			return {
+				systemList: [{
+						title: "消息",
+						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/message.png",
+						url: "/subPackage/user/message/index",
+						badge: true,
+					},
+					{
+						title: "修改密码",
+						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/updatePassword.png",
+						url: "/subPackage/user/password",
+					},
+					{
+						title: "通讯录",
+						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/addressList.png",
+						url: "/subPackage/user/addressList",
+					},
+					{
+						title: "投诉建议",
+						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/feedback.png",
+						url: "/subPackage/user/feedback",
+					},
+				],
+
+				historyList: [{
+						title: "报汛",
+						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/reportFlood.png",
+						url: "/subPackage/user/historical/index",
+					},
+					{
+						title: "巡查",
+						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/partolHistory.png",
+						url: "/subPackage/user/history/patrol",
+					},
+					{
+						title: "险情上报",
+						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/dangerReport.png",
+						url: "/subPackage/user/history/danger",
+					},
+					{
+						title: "管护",
+						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/protect.png",
+						url: "/subPackage/user/history/protect",
+					},
+					{
+						title: "调度",
+						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/scheduling.png",
+						url: "/subPackage/user/history/scheduling",
+					},
+				],
+
+
+
+
+				headHeight: 300,
+				columns: [],
+				roleName: "",
+				tabBarIndex: uni.getStorageSync("tabbarIndex"),
+				roleIDList: uni.getStorageSync("userInfo").role_id.split(",") || [],
+				tabList: uni.getStorageSync("tabBarList"),
+				title: "",
+				show: false,
+				index: uni.getStorageSync("responIndex") || 0,
+				verson: "",
+				showMoreDesc: false,
+				roleDescription: [],
+				messageCount: 0,
+
+				showHistoryList: false,
+			};
+		},
+		onReady() {
+			const role_name = uni.getStorageSync("userInfo").role_name
+			this.roleDescription = getTextByName(role_name)
+			this.setHeadHeight()
+			uni.hideTabBar()
+			//#ifdef  APP-PLUS
+			plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
+				this.verson = wgtinfo.version
+			})
+			//#endif
+
+		},
+		created() {
+			this.getUserRole()
+			this.isShowHistory()
+		},
+		mounted() {},
+		methods: {
+
+			//账号注销
+			delAccount() {
+				uni.showModal({
+					title: "提示",
+					content: "是否注销账号?",
+					success: res => {
+						if (res.confirm) {
+							uni.showModal({
+								content: "确认注销?",
+								success: res => {
+									if (res.confirm) {
+										delAccount(this.userInfo.user_id).then(res => {
+											this.logOut()
+										})
+									}
+								}
+							})
+						}
+					}
+				})
+			},
+
+			isShowHistory() {
+				let arr = this.tabList.filter(e => e.name == "工作")
+				if (arr.length > 0) {
+					this.showHistoryList = true
+				} else {
+					this.showHistoryList = false
+				}
+
+			},
+
+			getMessageCount() {
+				let params = {
+					recipient: this.userInfo.user_id,
+					status: 0
+				}
+				messageCount(params).then(res => {
+					this.messageCount = res.data
+					this.$u.func.updateTabbar(res.data)
+					this.tabList = uni.getStorageSync("tabBarList")
+				})
+			},
+
+			changeTabList() {
+
+			},
+			change(index) {
+				let url = index
+				this.$u.func.globalNavigator(url, "switchTab")
+			},
+			async bindChange(e) {
+				uni.setStorageSync("responIndex", e.detail.value)
+				store.commit("setTabBarList", [])
+				this.index = e.detail.value
+				const obj = {
+					flag: "app",
+					roleId: this.columns[this.index].id
+				}
+				const res = await dynamicMenu(this.columns[this.index].id, "app")
+				if (res.code == 200) {
+					res.data.forEach(val => {
+						val.symbol = Math.floor(Math.random() * 100 + 1)
+					})
+					store.commit("setTabBarList", res.data)
+					store.commit("setActiveRoleId", this.columns[this.index].id)
+					store.commit("SET_TABBAT_INDEX", 0)
+					this.$u.func.globalNavigator(res.data[0].path, "switchTab")
+				}
+			},
+
+			setHeadHeight() {
+				const that = this
+				uni.getSystemInfo({
+					success: function(res) {
+						that.headHeight = Number(res.statusBarHeight) + Number(res.platform == 'ios' ?
+							44 :
+							48) + 400
+					}
+				});
+			},
+			logOut() {
+				//#ifdef  APP-PLUS
+				clearCId(this.userInfo.user_id).then(res => {
+					this.index = 0
+					uni.setStorageSync("responIndex", 0)
+					uni.clearStorageSync()
+					uni.reLaunch({
+						url: "/pages/login/index"
+					})
+				})
+				//#endif
+
+				// #ifdef MP-WEIXIN
+				this.index = 0
+				uni.setStorageSync("responIndex", 0)
+				uni.clearStorageSync()
+				uni.reLaunch({
+					url: "/pages/login/index"
+				})
+				// #endif
+
+				// #ifdef H5
+				this.index = 0
+				uni.setStorageSync("responIndex", 0)
+				uni.clearStorageSync()
+				uni.reLaunch({
+					url: "/pages/login/index"
+				})
+				// #endif
+			},
+			navigatorMessage() {
+				uni.switchTab({
+					url: "/pages/message/index"
+				})
+			},
+			//获取当前角色的所有权限列表
+			async getUserRole() {
+				const {
+					code,
+					data,
+					msg
+				} = await getAll()
+				if (code != 200) return
+				let roleName = []
+				this.roleIDList.forEach(val => {
+					const arr = data.filter(item => item.id == val)
+					const obj = {
+						name: arr[0].roleName,
+						id: arr[0].id
+					}
+					this.columns.push(obj)
+					roleName.push(arr[0].roleName)
+				})
+				this.roleName = roleName.join(",")
+			},
+			/**
+			 * 角色切换
+			 */
+			roleChange() {
+				this.show = true
+			},
+			goNewPage(path) {
+				this.$u.func.globalNavigator(path)
+			}
+
+
+
+		},
+		onShow() {
+			this.tabList = uni.getStorageSync("tabBarList")
+			this.tabBarIndex = uni.getStorageSync("tabbarIndex")
+			this.getMessageCount()
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.container {
+		background-color: #f7f7f7;
+		min-height: 100vh;
+		overflow: hidden;
+	}
+
+	.flex {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+	}
+
+	.head {
+		position: relative;
+		top: 0;
+		left: 0;
+		z-index: 1;
+		min-height: 400rpx;
+		overflow: hidden;
+		background: #0d81ee;
+
+		.set-icon {
+			vertical-align: middle;
+			width: 41rpx;
+			height: auto;
+			margin-right: 35rpx;
+		}
+
+		.head-bg {
+			position: absolute;
+			left: 0px;
+			top: 0px;
+			z-index: -1;
+			width: 750rpx;
+			height: 582rpx;
+			background: #55A2F9;
+		}
+	}
+
+	.user-box {
+		display: flex;
+		justify-content: space-between;
+		padding: 0 20rpx 0 64rpx;
+		margin-top: 36rpx;
+
+		.top {
+			display: flex;
+
+			.left {
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+
+				.avatar {
+					width: 128rpx;
+					height: 128rpx;
+					background: #ffffff;
+					border-radius: 50%;
+				}
+
+				.user-deatil {
+					margin-top: 20rpx;
+					margin-left: 50rpx;
+					color: #ffffff;
+					flex-direction: column;
+					justify-content: space-around;
+				}
+
+			}
+
+			.right {
+				display: flex;
+				flex-direction: column;
+				justify-content: center;
+				margin-left: 20rpx;
+			}
+		}
+
+		.bottom {}
+
+
+
+		.edit-btn {
+			margin-top: 20rpx;
+			flex-shrink: 0;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+
+			width: 165rpx;
+			height: 54rpx;
+			border: 2rpx solid #f5f5f5;
+			border-radius: 11rpx;
+
+			font-size: 27rpx;
+			font-family: Source Han Sans CN;
+			font-weight: 400;
+			color: #ffffff;
+		}
+	}
+
+	.nav {
+		display: flex;
+		margin: 36rpx 38rpx 0;
+		padding: 36rpx 0 42rpx;
+
+		.text {
+			color: #ffffff;
+		}
+
+		.nav-item {
+			width: calc(100% / 4);
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: space-between;
+
+			font-size: 25rpx;
+			font-family: Source Han Sans CN;
+			font-weight: 400;
+			color: #ffffff;
+
+			&:not(:last-of-type) {
+				position: relative;
+
+				&::after {
+					position: absolute;
+					right: 0;
+					top: 50%;
+					transform: translateY(-50%);
+					content: '';
+					display: block;
+					width: 2rpx;
+					background-color: #fff;
+					height: 30rpx;
+				}
+			}
+
+			.icon {
+				width: 48rpx;
+				height: 48rpx;
+				margin-bottom: 6rpx;
+			}
+		}
+	}
+
+	.cell-box {
+		background: #ffffff;
+		margin: 18rpx;
+
+		.icon {
+			width: 40rpx;
+			height: 40rpx;
+			margin-right: 6rpx;
+		}
+	}
+
+	a {
+		text-decoration: none;
+	}
+
+	a:link {
+		color: #000000;
+	}
+
+	a:visited {
+		color: #000000;
+	}
+</style>
\ No newline at end of file
diff --git a/pages/user/center.vue b/pages/user/center.vue
index 67e2000..d1d33e7 100644
--- a/pages/user/center.vue
+++ b/pages/user/center.vue
@@ -1,527 +1,113 @@
 <template>
 	<view class="container">
-		<!-- 占位 -->
-		<view style="height: 88rpx; background-color: rgb(13 129 238);"></view>
-		<view class="head">
-			<!-- 用户信息 -->
-			<view class="user-box">
-				<view class="top">
-					<view class="left">
-						<image :src="userInfo.avatar?userInfo.avatar:'https://sk.hubeishuiyi.cn/business/img/water.png'"
-							class="avatar" mode=""></image>
-					</view>
-					<view class="right">
-						<view class="user-detail">
-							<u--text size="20" color="#ffffff" :text="userInfo.real_name"></u--text>
-						</view>
-					</view>
+		<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 :isLink="true" 
+						v-for="(item, index) in cellGroupData" :icon="item.icon" :title="item.title" 
+						:url="item.url"
+						:key="index"  :border="false"
+						></u-cell>
+					</u-cell-group>
 				</view>
 			</view>
-			<view style="padding: 40rpx 30rpx 30rpx 30rpx;color: #fff;font-size: 28rpx;">
-				<text v-if="roleDescription.length>0">{{roleDescription[0].description}}</text>
-				<text v-if="!showMoreDesc && roleDescription.length>1" @click="showMoreDesc = true">更多</text>
-				<view v-if="showMoreDesc">
-					<view v-for="(item,index) in roleDescription" :key="item.roleName">
-						<text @click="showMoreDesc = false" v-if="item.index>0">{{item.description}}</text>
-					</view>
-				</view>
-			</view>
-		</view>
-		<!-- 功能列表 -->
-
-		<view class="cell-box">
-			<cardList :cardList="systemList">
-				<u-badge max="99" :value="messageCount"></u-badge>
-			</cardList>
+			
 		</view>
 
-		<view v-if="showHistoryList" class="cell-box">
-			<cardList :title="`历史记录`" :cardList="historyList"></cardList>
-		</view>
-
-		<view class="cell-box">
-			<u-cell icon="account" title="角色切换">
-				<view slot="title">
-					<view class="flex">
-						<view class="">角色</view>
-						<view style="width: 316rpx;display: flex;justify-content: flex-end">{{roleName}}</view>
-					</view>
-				</view>
-			</u-cell>
-			<!-- #ifdef  APP-PLUS -->
-			<u-cell icon="error-circle">
-				<template slot="title">
-					<navigator url="../../subPackage/user/privacyPolicy" hover-class="navigator-hover">
-						隐私政策
-					</navigator>
-				</template>
-
-				<image slot="icon" class="icon"
-					:src="`https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/privacy.png`"></image>
-			</u-cell>
-
-			<u-cell icon="setting" :title="`系统版本${verson}`">
-				<image slot="icon" class="icon"
-					:src="`https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/version.png`"></image>
-			</u-cell>
-
-			<u-cell icon="error" :title="`注销帐号`" @click="delAccount">
-				<image slot="icon" class="icon"
-					:src="`https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/delAccount.png`"></image>
-			</u-cell>
-			<!-- #endif -->
-
-		</view>
-
-
-		<view style="padding: 22rpx 0px 40rpx 0;">
-			<u-button type="error" text="退出当前账号" @click="logOut"></u-button>
-		</view>
-		<tabBar @changeTabList="changeTabList" @change="change" :currentTab="tabList.length-1" :tabList="tabList">
-		</tabBar>
+		<tabBar @change='change' :currentTab="0-0" :tabList="tabList"></tabBar>
 	</view>
 </template>
 
 <script>
-	import cardList from "@/components/my-components/cardList.vue"
-	import store from "@/store/index.js"
-	import tabBar from "@/components/tabBar/tabBar.vue"
-	import {
-		getTextByName
-	} from "./util"
-	import {
-		dynamicMenu,
-		getAll,
-	} from "@/api/system/role.js"
-	import shareMixin from "@/mixin/shareMixin";
-	import {
-		messageCount
-	} from "@/api/system/message";
-	import {
-		clearCId,
-		delAccount,
-	} from "../../api/system/user";
+	import tabBar from "@/components/tabBar/tabBar.vue";
+
 	export default {
-		mixins: [shareMixin],
 		components: {
 			tabBar,
-			cardList
 		},
+
 		data() {
 			return {
-				systemList: [{
-						title: "消息",
-						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/message.png",
-						url: "/subPackage/user/message/index",
-						badge: true,
+				tabList: uni.getStorageSync("tabBarList") || [],
+				cellGroupData: [
+					{
+						title: '我的家人',
+						icon: 'account-fill',
+						url: ''
 					},
 					{
-						title: "修改密码",
-						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/updatePassword.png",
-						url: "/subPackage/user/password",
+						title: '切换角色',
+						icon: 'account-fill',
+						url: '/subPackage/user/role/index'
 					},
 					{
-						title: "通讯录",
-						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/addressList.png",
-						url: "/subPackage/user/addressList",
+						title: '修改密码',
+						icon: 'account-fill',
+						url: ''
 					},
 					{
-						title: "投诉建议",
-						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/feedback.png",
-						url: "/subPackage/user/feedback",
-					},
-				],
-
-				historyList: [{
-						title: "报汛",
-						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/reportFlood.png",
-						url: "/subPackage/user/historical/index",
-					},
-					{
-						title: "巡查",
-						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/partolHistory.png",
-						url: "/subPackage/user/history/patrol",
-					},
-					{
-						title: "险情上报",
-						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/dangerReport.png",
-						url: "/subPackage/user/history/danger",
-					},
-					{
-						title: "管护",
-						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/protect.png",
-						url: "/subPackage/user/history/protect",
-					},
-					{
-						title: "调度",
-						icon: "https://sk.hubeishuiyi.cn/business/xcxImg/centerIcon/scheduling.png",
-						url: "/subPackage/user/history/scheduling",
-					},
-				],
-
-
-
-
-				headHeight: 300,
-				columns: [],
-				roleName: "",
-				tabBarIndex: uni.getStorageSync("tabbarIndex"),
-				roleIDList: uni.getStorageSync("userInfo").role_id.split(",") || [],
-				tabList: uni.getStorageSync("tabBarList"),
-				title: "",
-				show: false,
-				index: uni.getStorageSync("responIndex") || 0,
-				verson: "",
-				showMoreDesc: false,
-				roleDescription: [],
-				messageCount: 0,
-
-				showHistoryList: false,
-			};
-		},
-		onReady() {
-			const role_name = uni.getStorageSync("userInfo").role_name
-			this.roleDescription = getTextByName(role_name)
-			this.setHeadHeight()
-			uni.hideTabBar()
-			//#ifdef  APP-PLUS
-			plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
-				this.verson = wgtinfo.version
-			})
-			//#endif
-
-		},
-		created() {
-			this.getUserRole()
-			this.isShowHistory()
-		},
-		mounted() {},
-		methods: {
-
-			//账号注销
-			delAccount() {
-				uni.showModal({
-					title: "提示",
-					content: "是否注销账号?",
-					success: res => {
-						if (res.confirm) {
-							uni.showModal({
-								content: "确认注销?",
-								success: res => {
-									if (res.confirm) {
-										delAccount(this.userInfo.user_id).then(res => {
-											this.logOut()
-										})
-									}
-								}
-							})
-						}
+						title: '退出登录',
+						icon: 'account-fill',
+						url: ''
 					}
-				})
-			},
+				]
+			}
+		},
 
-			isShowHistory() {
-				let arr = this.tabList.filter(e => e.name == "工作")
-				if (arr.length > 0) {
-					this.showHistoryList = true
-				} else {
-					this.showHistoryList = false
-				}
-
-			},
-
-			getMessageCount() {
-				let params = {
-					recipient: this.userInfo.user_id,
-					status: 0
-				}
-				messageCount(params).then(res => {
-					this.messageCount = res.data
-					this.$u.func.updateTabbar(res.data)
-					this.tabList = uni.getStorageSync("tabBarList")
-				})
-			},
-
-			changeTabList() {
-
-			},
+		methods: {
 			change(index) {
-				let url = this.tabList[index].path
+				let url = index
 				this.$u.func.globalNavigator(url, "switchTab")
 			},
-			async bindChange(e) {
-				uni.setStorageSync("responIndex", e.detail.value)
-				store.commit("setTabBarList", [])
-				this.index = e.detail.value
-				const obj = {
-					flag: "app",
-					roleId: this.columns[this.index].id
-				}
-				const res = await dynamicMenu(this.columns[this.index].id, "app")
-				if (res.code == 200) {
-					res.data.forEach(val => {
-						val.symbol = Math.floor(Math.random() * 100 + 1)
-					})
-					store.commit("setTabBarList", res.data)
-					store.commit("setActiveRoleId", this.columns[this.index].id)
-					store.commit("SET_TABBAT_INDEX", 0)
-					this.$u.func.globalNavigator(res.data[0].path, "switchTab")
-				}
-			},
-
-			setHeadHeight() {
-				const that = this
-				uni.getSystemInfo({
-					success: function(res) {
-						that.headHeight = Number(res.statusBarHeight) + Number(res.platform == 'ios' ?
-							44 :
-							48) + 400
-					}
-				});
-			},
-			logOut() {
-				//#ifdef  APP-PLUS
-				clearCId(this.userInfo.user_id).then(res => {
-					this.index = 0
-					uni.setStorageSync("responIndex", 0)
-					uni.clearStorageSync()
-					uni.reLaunch({
-						url: "/pages/login/index"
-					})
-				})
-				//#endif
-
-				// #ifdef MP-WEIXIN
-				this.index = 0
-				uni.setStorageSync("responIndex", 0)
-				uni.clearStorageSync()
-				uni.reLaunch({
-					url: "/pages/login/index"
-				})
-				// #endif
-
-				// #ifdef H5
-				this.index = 0
-				uni.setStorageSync("responIndex", 0)
-				uni.clearStorageSync()
-				uni.reLaunch({
-					url: "/pages/login/index"
-				})
-				// #endif
-			},
-			navigatorMessage() {
-				uni.switchTab({
-					url: "/pages/message/index"
-				})
-			},
-			//获取当前角色的所有权限列表
-			async getUserRole() {
-				const {
-					code,
-					data,
-					msg
-				} = await getAll()
-				if (code != 200) return
-				let roleName = []
-				this.roleIDList.forEach(val => {
-					const arr = data.filter(item => item.id == val)
-					const obj = {
-						name: arr[0].roleName,
-						id: arr[0].id
-					}
-					this.columns.push(obj)
-					roleName.push(arr[0].roleName)
-				})
-				this.roleName = roleName.join(",")
-			},
-			/**
-			 * 角色切换
-			 */
-			roleChange() {
-				this.show = true
-			},
-			goNewPage(path) {
-				this.$u.func.globalNavigator(path)
-			}
-
-
-
-		},
-		onShow() {
-			this.tabList = uni.getStorageSync("tabBarList")
-			this.tabBarIndex = uni.getStorageSync("tabbarIndex")
-			this.getMessageCount()
 		}
 	}
 </script>
 
-<style scoped lang="scss">
+<style lang="scss" scoped>
 	.container {
-		background-color: #f7f7f7;
-		min-height: 100vh;
-		overflow: hidden;
-	}
-
-	.flex {
+		width: 100%;
+		height: 100%;
+		
 		display: flex;
-		align-items: center;
-		justify-content: space-between;
-	}
-
-	.head {
-		position: relative;
-		top: 0;
-		left: 0;
-		z-index: 1;
-		min-height: 400rpx;
-		overflow: hidden;
-		background: #0d81ee;
-
-		.set-icon {
-			vertical-align: middle;
-			width: 41rpx;
-			height: auto;
-			margin-right: 35rpx;
-		}
-
-		.head-bg {
-			position: absolute;
-			left: 0px;
-			top: 0px;
-			z-index: -1;
-			width: 750rpx;
-			height: 582rpx;
-			background: #55A2F9;
-		}
-	}
-
-	.user-box {
-		display: flex;
-		justify-content: space-between;
-		padding: 0 20rpx 0 64rpx;
-		margin-top: 36rpx;
-
-		.top {
-			display: flex;
-
-			.left {
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-
-				.avatar {
-					width: 128rpx;
-					height: 128rpx;
-					background: #ffffff;
-					border-radius: 50%;
-				}
-
-				.user-deatil {
-					margin-top: 20rpx;
-					margin-left: 50rpx;
-					color: #ffffff;
-					flex-direction: column;
-					justify-content: space-around;
-				}
-
+		flex-direction: column;
+		background: #F9F9FA;
+		
+		.main {
+			position: relative;
+			height: 0;
+			flex: 1;
+			overflow-y: auto;
+			
+			.main-bg {
+				height: 36%;
+				background: royalblue;
 			}
-
-			.right {
-				display: flex;
-				flex-direction: column;
-				justify-content: center;
-				margin-left: 20rpx;
-			}
-		}
-
-		.bottom {}
-
-
-
-		.edit-btn {
-			margin-top: 20rpx;
-			flex-shrink: 0;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-
-			width: 165rpx;
-			height: 54rpx;
-			border: 2rpx solid #f5f5f5;
-			border-radius: 11rpx;
-
-			font-size: 27rpx;
-			font-family: Source Han Sans CN;
-			font-weight: 400;
-			color: #ffffff;
-		}
-	}
-
-	.nav {
-		display: flex;
-		margin: 36rpx 38rpx 0;
-		padding: 36rpx 0 42rpx;
-
-		.text {
-			color: #ffffff;
-		}
-
-		.nav-item {
-			width: calc(100% / 4);
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			justify-content: space-between;
-
-			font-size: 25rpx;
-			font-family: Source Han Sans CN;
-			font-weight: 400;
-			color: #ffffff;
-
-			&:not(:last-of-type) {
-				position: relative;
-
-				&::after {
-					position: absolute;
-					right: 0;
-					top: 50%;
-					transform: translateY(-50%);
-					content: '';
-					display: block;
-					width: 2rpx;
-					background-color: #fff;
-					height: 30rpx;
+			
+			.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;
 				}
 			}
-
-			.icon {
-				width: 48rpx;
-				height: 48rpx;
-				margin-bottom: 6rpx;
-			}
 		}
-	}
-
-	.cell-box {
-		background: #ffffff;
-		margin: 18rpx;
-
-		.icon {
-			width: 40rpx;
-			height: 40rpx;
-			margin-right: 6rpx;
-		}
-	}
-
-	a {
-		text-decoration: none;
-	}
-
-	a:link {
-		color: #000000;
-	}
-
-	a:visited {
-		color: #000000;
 	}
 </style>
\ No newline at end of file
diff --git a/subPackage/user/components/roleList.vue b/subPackage/user/components/roleList.vue
new file mode 100644
index 0000000..f484e7f
--- /dev/null
+++ b/subPackage/user/components/roleList.vue
@@ -0,0 +1,51 @@
+<template>
+	<view class="role-container">
+		<view v-for="(item, index) in roleData">
+			<view class="l">
+				<u-icon :name="item.iconName"></u-icon>
+				<view class="role-name">
+					{{item.roleName}}
+				</view>
+			</view>
+			
+			<view class="r">
+				<u-icon name="checkmark"></u-icon>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		props: {
+			roleData: {
+				type: Array,
+				default: () => []
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.role-container {
+		& > view {
+			display: flex;
+			justify-content: flex-start;
+			align-items: center;
+			margin-top: 16rpx;
+			padding: 0 16rpx;
+			background: #fff;
+			height: 80rpx;
+			
+			.l {
+				flex: 1;
+				display: flex;
+				align-items: center;
+				
+				.role-name {
+					margin-left: 16rpx;
+				}
+			}
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/subPackage/user/role/index.vue b/subPackage/user/role/index.vue
new file mode 100644
index 0000000..0b59059
--- /dev/null
+++ b/subPackage/user/role/index.vue
@@ -0,0 +1,88 @@
+<template>
+	<view class="container">
+		<view>
+			<role-list :roleData="roleData"></role-list>
+		</view>
+		
+		<view class="cur-btn">
+			<u-button type="primary" text="确定"></u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import roleList from "@/subPackage/user/components/roleList.vue"
+	
+	export default {
+		components: {
+			roleList
+		},
+		
+		data() {
+			return {
+				cellGroupData: [
+					{
+						title: '我的家人',
+						icon: 'account-fill',
+						url: ''
+					},
+					{
+						title: '切换角色',
+						icon: 'account-fill',
+						url: ''
+					},
+					{
+						title: '修改密码',
+						icon: 'account-fill',
+						url: ''
+					},
+					{
+						title: '退出登录',
+						icon: 'account-fill',
+						url: ''
+					}
+				],
+				roleData: [
+					{
+						roleName: '居民',
+						iconName: 'account-fill'
+					},
+					{
+						roleName: '场所负责人',
+						iconName: 'account-fill'								
+					},
+					{
+						roleName: '网格员',
+						iconName: 'account-fill'
+					},
+					{
+						roleName: '系统管理员',
+						iconName: 'account-fill'
+					},
+				]
+			}
+		},
+
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		position: relative;
+		width: 100%;
+		height: 100%;
+		display: flex;
+		flex-direction: column;
+		background: #F9F9FA;
+		
+		.cur-btn {
+			margin: 0 20rpx;
+			position: absolute;
+			bottom: 28rpx;
+			width: calc(100% - 40rpx);
+		}
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3