From b0c123c7f81b7f68f899ca2e0f20cb437627e7a3 Mon Sep 17 00:00:00 2001
From: Liuyi <candymxq888@outlook.com>
Date: 星期一, 14 十月 2024 17:31:00 +0800
Subject: [PATCH] 添加故障上报页面

---
 pages/infoBreakdown/index.vue                               |  200 ++++++++++++++++++++++++++++
 unpackage/dist/dev/mp-weixin/api/index.js                   |    4 
 unpackage/dist/dev/mp-weixin/pages/index/index.wxss         |    3 
 pages.json                                                  |    6 
 unpackage/dist/dev/mp-weixin/pages/index/index.wxml         |    2 
 unpackage/dist/dev/mp-weixin/app.js                         |    1 
 unpackage/dist/dev/mp-weixin/config/baseUrl.js              |    2 
 unpackage/dist/dev/mp-weixin/app.json                       |    3 
 pages/addCard/index.vue                                     |   21 ---
 config/baseUrl.js                                           |    3 
 unpackage/dist/dev/mp-weixin/pages/index/index.js           |   94 +++++++-----
 static/images/index/icon35.png                              |    0 
 unpackage/dist/dev/mp-weixin/static/images/index/icon35.png |    0 
 unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss       |   20 --
 api/index.js                                                |    8 +
 pages/index/index.vue                                       |   52 +++++--
 16 files changed, 318 insertions(+), 101 deletions(-)

diff --git a/api/index.js b/api/index.js
index babe02c..f460163 100644
--- a/api/index.js
+++ b/api/index.js
@@ -3,6 +3,10 @@
 export function wxLoginApi(data){
 	return request('/user/wxLogin',data,'POST')
 }
+//文件上传
+export function uploadApi(data){
+	return request('/file/upload',data,'POST')
+}
 //首页
 export function getVipInfoApi(){
 	return request('/waterCard/getUserCard',{},'GET')
@@ -74,4 +78,8 @@
 export function removeCardApi(cardNumber){
 	return request(`/waterCard/remove?cardNumber=${cardNumber}`,{},'GET')
 }
+//故障上报
+export function infoBreakdownApi(data){
+	return request('/waterFacilityMalfunction/create',data,'POST')
+}
 
diff --git a/config/baseUrl.js b/config/baseUrl.js
index 7b5c074..46e327b 100644
--- a/config/baseUrl.js
+++ b/config/baseUrl.js
@@ -1,2 +1,3 @@
 // export const BASE_URL = 'http://113.250.189.120:8031'
-export const BASE_URL = 'http://192.168.0.105:8031'
\ No newline at end of file
+// export const BASE_URL = 'http://192.168.0.105:8031'
+export const BASE_URL = 'https://www.huiwuyuntong.com/water-drinking-beta'
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 45fc51d..14e3fc3 100644
--- a/pages.json
+++ b/pages.json
@@ -95,6 +95,12 @@
 			"style": {
 				"navigationStyle":"custom"
 			}
+		},
+		{
+			"path" : "pages/infoBreakdown/index",
+			"style": {
+				"navigationStyle":"custom"
+			}
 		}
 	],
 	"globalStyle": {
diff --git a/pages/addCard/index.vue b/pages/addCard/index.vue
index 9006518..bdfecb6 100644
--- a/pages/addCard/index.vue
+++ b/pages/addCard/index.vue
@@ -76,27 +76,6 @@
 		   .content{
 			   width:100%;
 			   height:100vh;
-			   .navbar{
-				   width:100%;
-				   height:176rpx;
-				   background: linear-gradient(to bottom,#5EA1FA,#8BC1FC);
-				   display: flex;
-				   align-items: flex-end;
-				   padding-bottom:24rpx;
-				   box-sizing: border-box;
-				   image{
-					   width:20rpx;
-					   height:40rpx;
-					   margin-left:32rpx;
-				   }
-				   text{
-					   font-weight: 400;
-					   font-size: 36rpx;
-					   color: #000000;
-					   margin-left: 234rpx;
-					   
-				   }
-			   }
 		   .main{
 			   width:100%;
 			   height: calc(100vh - 176rpx);
diff --git a/pages/index/index.vue b/pages/index/index.vue
index efcc82e..2e1b8cc 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -13,6 +13,7 @@
 	/**
 	 * 会员卡相关
 	 */
+	const isLoss = ref(false)
 	const cardInfo = ref({
 		id:'',
 		userName:'微信用户',
@@ -22,25 +23,30 @@
 		waterCardNumber:'',
 		balance:'',
 		count:'',
+		state:'',
 	})
 	const isVip = ref(false)
 	//获取会员卡信息
-	async function getVipInfo(){
-		await getVipInfoApi().then((res) =>{
-			if(res.code == 200){
-				cardInfo.value.waterCardNumber = res.data.cardNumber
-				if(res.data.cardType == 1){
-					cardInfo.value.balance = res.data.balance
-				}else if(res.data.cardType == 2){
-					cardInfo.value.count = res.data.count
+	 function getVipInfo(){
+		return new Promise((resolve,reject) =>{
+			 getVipInfoApi().then((res) =>{
+				if(res.code == 200){
+					cardInfo.value.waterCardNumber = res.data.cardNumber
+					cardInfo.value.state = res.data.state
+					isLoss.value = cardInfo.value.state == 2 ? true : false
+					if(res.data.cardType == 1){
+						cardInfo.value.balance = res.data.balance
+					}else if(res.data.cardType == 2){
+						cardInfo.value.count = res.data.count
+					}
+					isVip.value = true
 				}
-				isVip.value = true
-			}
+			})
 		})
 	}
 	//获取用户信息
-	async function getInfo(){
-		await getUserInfo().then(async(res) =>{
+	function getInfo(){
+		 getUserInfo().then((res) =>{
 			if(res.code == 200){
 				cardInfo.value.userName = res.data.userInfo.userName ?  res.data.userInfo.userName : cardInfo.value.userName
 				cardInfo.value.headImg = res.data.userInfo.headImg
@@ -48,7 +54,8 @@
 				cardInfo.value.id = res.data.userInfo.id
 				
 				if(res.data.userInfo.waterCardNumber){
-					await getVipInfo()
+					getVipInfo()
+					console.log('00000')
 				}else{
 					isVip.value = false
 				}
@@ -79,7 +86,7 @@
 		{text:'消费记录',icon:'../../static/images/index/icon32.png',url:'/pages/functionList/paymentRecord/index',isUrl:1},
 		{text:'充值记录',icon:'../../static/images/index/icon33.png',url:'/pages/functionList/rechargeRecord/index',isUrl:1},
 		{text:'账户共享',icon:'../../static/images/index/icon34.png',url:'',isUrl:1},
-		{text:'优惠卷',icon:'../../static/images/index/icon35.png',url:'',isUrl:1},
+		{text:'故障上报',icon:'../../static/images/index/icon35.png',url:'/pages/infoBreakdown/index',isUrl:1},
 		{text:'电子发票',icon:'../../static/images/index/icon36.png',url:'',isUrl:1},
 		{text:'会员卡挂失',icon:'../../static/images/index/icon37.png',url:'',isUrl:2},
 		{text:'会员卡注销',icon:'../../static/images/index/icon38.png',url:'',isUrl:3},
@@ -101,12 +108,19 @@
 					content: '确认挂失会员卡?',
 					success: async function(res) {
 					if (res.confirm) {
-						await reportLossApi(cardInfo.value.waterCardNumber).then((res) =>{
+						await reportLossApi(cardInfo.value.waterCardNumber).then(async(res) =>{
 							if(res.code == 200){
 								uni.showToast({
 									title: '已挂失',
 									duration: 2000,
 								});
+								await getVipInfoApi().then((res) =>{
+									if(res.code == 200){
+										if(res.data.state == 2){
+											isLoss.value = true
+										}
+									}
+								})
 							}
 						})
 					}else{
@@ -126,7 +140,7 @@
 									title: '已注销',
 									duration: 2000,
 								});
-								await getVipInfo().then((res) =>{
+								await getVipInfoApi().then((res) =>{
 									if(res.code == 200){
 										if(!res.data.id){
 											isVip.value = false
@@ -174,7 +188,8 @@
 							<view class="left-top">
 								<view>
 									<image v-if="isVip" src="../../static/images/index/code1.png" alt=""></image>
-									<text>会员卡</text>
+									<text>会员卡&nbsp;</text>
+									<text class="lossed" v-if="isLoss && isVip">&nbsp;[已挂失]</text>
 								</view>
 								<view v-if="isVip">ID:{{cardInfo.waterCardNumber}}</view>
 							</view>
@@ -360,6 +375,9 @@
 										font-size: 36rpx;
 										color: #FFFFFF;
 									}
+									.lossed{
+										color:#344ede;
+									}
 								}
 								view:last-child{
 									margin-left:10rpx;
diff --git a/pages/infoBreakdown/index.vue b/pages/infoBreakdown/index.vue
new file mode 100644
index 0000000..ecaec78
--- /dev/null
+++ b/pages/infoBreakdown/index.vue
@@ -0,0 +1,200 @@
+<script setup>
+	import { ref } from 'vue'
+	import { BASE_URL } from '../../config/baseUrl';
+	import {infoBreakdownApi} from '../../api/index.js'
+	const form = ref({
+		facilityCode:'',
+		userPhone:'',
+		type:'',//故障类型(1水压 2温度 3网络 4缺液 5流量计 6其他)
+		describe:'',
+		url:'',
+	})
+	const test = ref()
+	const uploadList = ref(['','',''])
+	function uploadImg(val){
+		uni.chooseImage({
+			success: async(res) =>{
+				 //建立表单,请求参数传表单形式
+				 let fileForm = {
+					 file1:res.tempFiles,
+					 path:'qingyuan'
+				 }
+				uni.uploadFile({
+					url:BASE_URL+ '/file/upload', 
+					filePath:res.tempFilePaths[0],
+					name: 'file',
+					formData:fileForm,
+					success: (success) => {
+						console.log('success',success);
+						let dataObj = JSON.parse(success.data)
+						uploadList.value[val]= BASE_URL + '/upload' + dataObj.data.newFileName
+						console.log('uploadList.value',uploadList.value)
+					},
+					fail: (err) => {
+						uni.showToast({
+							title: '上传失败,请重试',
+							duration: 2000,
+							icon:'none'
+						});
+						console.log('err',err,res.tempFilePaths[0])
+					}
+				});
+			}
+		});
+	}
+	async function submit(){
+		form.value.url = uploadList.value
+		//去掉数组中空字符串,数组转字符串
+		form.value.url = form.value.url.filter(str => str !== '').join()
+		await infoBreakdownApi(form.value).then((res) =>{
+			if(res.code == 200){
+				uni.showToast({
+					title: '上报成功',
+					duration: 2000,
+				});
+				setTimeout(()=>{
+					form.value = {
+						facilityCode:'',
+						userPhone:'',
+						type:'',
+						describe:'',
+						url:'',
+					}
+					uni.navigateBack()
+				},1000)
+			}
+		})
+	}
+</script>
+<template>
+	<view class="container">
+		<navbar title="故障上报"></navbar>
+		<view class="content">
+			<view class="main">
+				<view class="title">请填写故障信息{{test}}</view>
+				<view class="info-box">
+					<view class="form-box">
+						<form>
+							<view class="form-item">
+								<view class="label">设备号:</view>
+								<input class="item-input" v-model="form.facilityCode" name="input" placeholder="请扫描水机站牌二维码或输入设备号" />
+								<image src="../../static/images/addCard/code.png" alt=""></image>
+							</view>
+							<view class="form-item">
+								<view class="label">联系方式:</view>
+								<input class="item-input" v-model="form.userPhone" name="input" placeholder="请输入您的手机号" />
+							</view>
+							<view class="form-item">
+								<view class="label">问题类型:</view>
+								<input class="item-input" name="input" v-model="form.type" placeholder="请选择问题类型" />
+							</view>
+							<view class="form-item">
+								<view class="label">问题描述:</view>
+								<input class="item-input" name="input" v-model="form.describe" placeholder="请输入故障内容" />
+							</view>
+						</form>
+					</view>
+					<view class="upload-box">
+						<view class="upload-title">选择照片</view>
+						<view class="upload-img">
+							<block v-for="(item,index) in uploadList">
+								<view @click="uploadImg(index)" class="upload-img-item">
+									<image v-if="item" :src="item"></image>
+								</view>
+							</block>
+						</view>
+					</view>
+				</view>
+				<view class="subBtn" @click="submit">提交信息</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<style lang="scss" scoped>
+.container{
+   width:100%;
+   height:100vh;
+   .content{
+	   width:100%;
+	   height:calc(100vh - 176rpx);
+	   background:linear-gradient(to top,#FFFFFF,#E8EFFF);
+	   padding:50rpx 32rpx 100rpx;
+	   box-sizing: border-box;
+	   .main{
+			width:100%;
+			height:100%;
+			// background-color: #b7d4ff;
+			background-color: #5b93dc;
+			border-radius:20rpx;
+			padding:40rpx 25rpx 0;
+			box-sizing: border-box;
+			position: relative;
+			.title{
+				margin-bottom:10rpx;
+				font-size:32rpx;
+				color: #FFFFFF;
+			}
+			.info-box{
+				width:100%;
+				// height:800rpx;
+				background-color: #FFFFFF;
+				border-radius:15rpx;
+				padding:30rpx 15rpx;
+				box-sizing: border-box;
+				.form-box{
+					height:500rpx;
+					border-bottom:1rpx solid rgba(90, 128, 218, 0.4);
+					.form-item{
+						display: flex;
+						align-items: center;
+						border-bottom: 1rpx solid rgba(111, 111, 111, 0.1);
+						height:100rpx;
+						image{
+							margin-left:60rpx;
+							width:50rpx;
+							height:50rpx;
+						}
+					}
+				}
+				.upload-box{
+					.upload-title{
+						color: #5b93dc;
+						margin: 10rpx 20rpx 0;
+					}
+					.upload-img{
+						display: flex;
+						flex-wrap: wrap;
+						justify-content: space-between;
+						padding:30rpx 14rpx;
+						box-sizing: border-box;
+						.upload-img-item{
+								width: 180rpx;
+								height:180rpx;
+								border-radius:20rpx;
+								border:1rpx dashed #b7d4ff;
+								margin-bottom: 10rpx;
+								image{
+									width:180rpx;
+									height:180rpx;
+								}
+						}
+					}
+				}
+			}
+			.subBtn{
+				background-color: #e7f1ff;
+				width:70%;
+				height:80rpx;
+				line-height: 80rpx;
+				position: absolute;
+				bottom:100rpx;
+				left: calc(50% - 35%);
+				text-align: center;
+				border-radius:50rpx;
+			}
+	   }
+   }
+}
+	   
+</style>
diff --git a/static/images/index/icon35.png b/static/images/index/icon35.png
index 93077d8..de64596 100644
--- a/static/images/index/icon35.png
+++ b/static/images/index/icon35.png
Binary files differ
diff --git a/unpackage/dist/dev/mp-weixin/api/index.js b/unpackage/dist/dev/mp-weixin/api/index.js
index 0fafc6e..ff61c33 100644
--- a/unpackage/dist/dev/mp-weixin/api/index.js
+++ b/unpackage/dist/dev/mp-weixin/api/index.js
@@ -57,6 +57,9 @@
 function removeCardApi(cardNumber) {
   return util_request.request(`/waterCard/remove?cardNumber=${cardNumber}`, {}, "GET");
 }
+function infoBreakdownApi(data) {
+  return util_request.request("/waterFacilityMalfunction/create", data, "POST");
+}
 exports.balanceChangeApi = balanceChangeApi;
 exports.creatUserArchive = creatUserArchive;
 exports.deleteAddressApi = deleteAddressApi;
@@ -66,6 +69,7 @@
 exports.getRegionApi = getRegionApi;
 exports.getUserInfo = getUserInfo;
 exports.getVipInfoApi = getVipInfoApi;
+exports.infoBreakdownApi = infoBreakdownApi;
 exports.paymentChangeApi = paymentChangeApi;
 exports.rechargeChangeApi = rechargeChangeApi;
 exports.removeCardApi = removeCardApi;
diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js
index 226ae33..9e3a194 100644
--- a/unpackage/dist/dev/mp-weixin/app.js
+++ b/unpackage/dist/dev/mp-weixin/app.js
@@ -19,6 +19,7 @@
   "./pages/success/index.js";
   "./pages/facilityList/index.js";
   "./pages/station/index.js";
+  "./pages/infoBreakdown/index.js";
 }
 const _sfc_main = {
   __name: "App",
diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json
index 0c3d818..729a51c 100644
--- a/unpackage/dist/dev/mp-weixin/app.json
+++ b/unpackage/dist/dev/mp-weixin/app.json
@@ -15,7 +15,8 @@
     "pages/addressLocate/index",
     "pages/success/index",
     "pages/facilityList/index",
-    "pages/station/index"
+    "pages/station/index",
+    "pages/infoBreakdown/index"
   ],
   "window": {
     "navigationStyle": "custom"
diff --git a/unpackage/dist/dev/mp-weixin/config/baseUrl.js b/unpackage/dist/dev/mp-weixin/config/baseUrl.js
index 4c47d63..f5ac894 100644
--- a/unpackage/dist/dev/mp-weixin/config/baseUrl.js
+++ b/unpackage/dist/dev/mp-weixin/config/baseUrl.js
@@ -1,3 +1,3 @@
 "use strict";
-const BASE_URL = "http://192.168.0.105:8031";
+const BASE_URL = "https://www.huiwuyuntong.com/water-drinking-beta";
 exports.BASE_URL = BASE_URL;
diff --git a/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss b/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss
index 59f5468..d4b3e1b 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss
@@ -31,26 +31,6 @@
   width: 100%;
   height: 100vh;
 }
-.container .content .navbar.data-v-4c5e7c86 {
-  width: 100%;
-  height: 176rpx;
-  background: linear-gradient(to bottom, #5EA1FA, #8BC1FC);
-  display: flex;
-  align-items: flex-end;
-  padding-bottom: 24rpx;
-  box-sizing: border-box;
-}
-.container .content .navbar image.data-v-4c5e7c86 {
-  width: 20rpx;
-  height: 40rpx;
-  margin-left: 32rpx;
-}
-.container .content .navbar text.data-v-4c5e7c86 {
-  font-weight: 400;
-  font-size: 36rpx;
-  color: #000000;
-  margin-left: 234rpx;
-}
 .container .content .main.data-v-4c5e7c86 {
   width: 100%;
   height: calc(100vh - 176rpx);
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.js b/unpackage/dist/dev/mp-weixin/pages/index/index.js
index 00026c3..7e671ae 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.js
@@ -11,6 +11,7 @@
         topHeight.value = common_vendor.index.getMenuButtonBoundingClientRect().top * 2;
       }
     }
+    const isLoss = common_vendor.ref(false);
     const cardInfo = common_vendor.ref({
       id: "",
       userName: "微信用户",
@@ -18,31 +19,37 @@
       userPhone: "",
       waterCardNumber: "",
       balance: "",
-      count: ""
+      count: "",
+      state: ""
     });
     const isVip = common_vendor.ref(false);
-    async function getVipInfo() {
-      await api_index.getVipInfoApi().then((res) => {
-        if (res.code == 200) {
-          cardInfo.value.waterCardNumber = res.data.cardNumber;
-          if (res.data.cardType == 1) {
-            cardInfo.value.balance = res.data.balance;
-          } else if (res.data.cardType == 2) {
-            cardInfo.value.count = res.data.count;
+    function getVipInfo() {
+      return new Promise((resolve, reject) => {
+        api_index.getVipInfoApi().then((res) => {
+          if (res.code == 200) {
+            cardInfo.value.waterCardNumber = res.data.cardNumber;
+            cardInfo.value.state = res.data.state;
+            isLoss.value = cardInfo.value.state == 2 ? true : false;
+            if (res.data.cardType == 1) {
+              cardInfo.value.balance = res.data.balance;
+            } else if (res.data.cardType == 2) {
+              cardInfo.value.count = res.data.count;
+            }
+            isVip.value = true;
           }
-          isVip.value = true;
-        }
+        });
       });
     }
-    async function getInfo() {
-      await api_index.getUserInfo().then(async (res) => {
+    function getInfo() {
+      api_index.getUserInfo().then((res) => {
         if (res.code == 200) {
           cardInfo.value.userName = res.data.userInfo.userName ? res.data.userInfo.userName : cardInfo.value.userName;
           cardInfo.value.headImg = res.data.userInfo.headImg;
           cardInfo.value.userPhone = res.data.userInfo.userPhone;
           cardInfo.value.id = res.data.userInfo.id;
           if (res.data.userInfo.waterCardNumber) {
-            await getVipInfo();
+            getVipInfo();
+            console.log("00000");
           } else {
             isVip.value = false;
           }
@@ -66,7 +73,7 @@
       { text: "消费记录", icon: "../../static/images/index/icon32.png", url: "/pages/functionList/paymentRecord/index", isUrl: 1 },
       { text: "充值记录", icon: "../../static/images/index/icon33.png", url: "/pages/functionList/rechargeRecord/index", isUrl: 1 },
       { text: "账户共享", icon: "../../static/images/index/icon34.png", url: "", isUrl: 1 },
-      { text: "优惠卷", icon: "../../static/images/index/icon35.png", url: "", isUrl: 1 },
+      { text: "故障上报", icon: "../../static/images/index/icon35.png", url: "/pages/infoBreakdown/index", isUrl: 1 },
       { text: "电子发票", icon: "../../static/images/index/icon36.png", url: "", isUrl: 1 },
       { text: "会员卡挂失", icon: "../../static/images/index/icon37.png", url: "", isUrl: 2 },
       { text: "会员卡注销", icon: "../../static/images/index/icon38.png", url: "", isUrl: 3 }
@@ -87,11 +94,18 @@
           content: "确认挂失会员卡?",
           success: async function(res) {
             if (res.confirm) {
-              await api_index.reportLossApi(cardInfo.value.waterCardNumber).then((res2) => {
+              await api_index.reportLossApi(cardInfo.value.waterCardNumber).then(async (res2) => {
                 if (res2.code == 200) {
                   common_vendor.index.showToast({
                     title: "已挂失",
                     duration: 2e3
+                  });
+                  await api_index.getVipInfoApi().then((res3) => {
+                    if (res3.code == 200) {
+                      if (res3.data.state == 2) {
+                        isLoss.value = true;
+                      }
+                    }
                   });
                 }
               });
@@ -112,7 +126,7 @@
                     title: "已注销",
                     duration: 2e3
                   });
-                  await getVipInfo().then((res3) => {
+                  await api_index.getVipInfoApi().then((res3) => {
                     if (res3.code == 200) {
                       if (!res3.data.id) {
                         isVip.value = false;
@@ -151,30 +165,32 @@
       }, isVip.value ? {
         i: common_assets._imports_4
       } : {}, {
-        j: isVip.value
+        j: isLoss.value && isVip.value
+      }, isLoss.value && isVip.value ? {} : {}, {
+        k: isVip.value
       }, isVip.value ? {
-        k: common_vendor.t(cardInfo.value.waterCardNumber)
+        l: common_vendor.t(cardInfo.value.waterCardNumber)
       } : {}, {
-        l: isVip.value
+        m: isVip.value
       }, isVip.value ? {} : {}, {
-        m: !isVip.value
+        n: !isVip.value
       }, !isVip.value ? {} : {}, {
-        n: isVip.value
+        o: isVip.value
       }, isVip.value ? {
-        o: common_vendor.t(cardInfo.value.balance)
+        p: common_vendor.t(cardInfo.value.balance)
       } : {}, {
-        p: isVip.value
+        q: isVip.value
       }, isVip.value ? {
-        q: common_vendor.o(($event) => navTo("/pages/recharge/index"))
+        r: common_vendor.o(($event) => navTo("/pages/recharge/index"))
       } : {}, {
-        r: topHeight.value + "rpx",
-        s: common_assets._imports_5,
-        t: common_vendor.o(($event) => navTo("/pages/sendWater/index")),
-        v: common_assets._imports_1,
-        w: common_vendor.o(($event) => navTo("/pages/facilityList/index")),
-        x: common_assets._imports_7,
-        y: common_vendor.o(($event) => toScan()),
-        z: common_vendor.f(functionList.value, (item, index, i0) => {
+        s: topHeight.value + "rpx",
+        t: common_assets._imports_5,
+        v: common_vendor.o(($event) => navTo("/pages/sendWater/index")),
+        w: common_assets._imports_1,
+        x: common_vendor.o(($event) => navTo("/pages/facilityList/index")),
+        y: common_assets._imports_7,
+        z: common_vendor.o(($event) => toScan()),
+        A: common_vendor.f(functionList.value, (item, index, i0) => {
           return {
             a: item.icon,
             b: common_vendor.t(item.text),
@@ -182,12 +198,12 @@
             d: index
           };
         }),
-        A: common_assets._imports_8,
-        B: common_assets._imports_9,
-        C: common_assets._imports_10,
-        D: common_vendor.o(($event) => navTo("/pages/station/index")),
-        E: common_assets._imports_11,
-        F: common_assets._imports_10
+        B: common_assets._imports_8,
+        C: common_assets._imports_9,
+        D: common_assets._imports_10,
+        E: common_vendor.o(($event) => navTo("/pages/station/index")),
+        F: common_assets._imports_11,
+        G: common_assets._imports_10
       });
     };
   }
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
index 6196737..8e56bca 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
@@ -1 +1 @@
-<view class="container data-v-1cf27b2a"><view class="content data-v-1cf27b2a"><view class="card-box data-v-1cf27b2a" style="{{'padding-top:' + r}}"><view class="user-info data-v-1cf27b2a" bindtap="{{f}}"><image class="user-img data-v-1cf27b2a" src="{{a}}" alt=""></image><text class="data-v-1cf27b2a">{{b}}</text><image class="user-more data-v-1cf27b2a" src="{{c}}"></image><view class="user-add-card data-v-1cf27b2a" bindtap="{{e}}"><image class="data-v-1cf27b2a" src="{{d}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{g}}" alt=""></image><view class="card-content data-v-1cf27b2a"><view class="card-left data-v-1cf27b2a"><view class="left-top data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image wx:if="{{h}}" class="data-v-1cf27b2a" src="{{i}}" alt=""></image><text class="data-v-1cf27b2a">会员卡</text></view><view wx:if="{{j}}" class="data-v-1cf27b2a">ID:{{k}}</view></view></view><view class="card-right data-v-1cf27b2a"><view class="card-right-top data-v-1cf27b2a"><text wx:if="{{l}}" class="data-v-1cf27b2a">金额卡</text><text wx:if="{{m}}" class="data-v-1cf27b2a">未绑定会员卡</text><text wx:if="{{n}}" class="data-v-1cf27b2a">{{o}}元</text></view><view wx:if="{{p}}" class="card-right-bottom data-v-1cf27b2a" bindtap="{{q}}">充值</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{t}}"><image class="data-v-1cf27b2a" src="{{s}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{w}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{v}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view><view class="box1-bg box1-three data-v-1cf27b2a" bindtap="{{y}}"><image class="data-v-1cf27b2a" src="{{x}}" alt=""></image><view class="data-v-1cf27b2a">扫码取水</view></view></view><view class="function-box2 data-v-1cf27b2a"><view class="box2-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">功能列表</text></view><view class="box2-content data-v-1cf27b2a"><block wx:for="{{z}}" wx:for-item="item" wx:key="d"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.c}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image><view class="box2-item-text data-v-1cf27b2a">{{item.b}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{A}}" alt=""></image></view><view class="service-box data-v-1cf27b2a"><view class="service-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">服务指南</text></view><view class="service-content data-v-1cf27b2a"><view class="service-bg data-v-1cf27b2a" bindtap="{{D}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{B}}" alt=""></image><text class="data-v-1cf27b2a">附近站点</text></view><view class="service-info data-v-1cf27b2a">蔡家供水服务中心正在营业中……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{C}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{E}}" alt=""></image><text class="data-v-1cf27b2a">公示公告</text></view><view class="service-info data-v-1cf27b2a">停水公告的部分摘要的内容展示……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{F}}" alt=""></image></view></view></view></view></view></view>
\ No newline at end of file
+<view class="container data-v-1cf27b2a"><view class="content data-v-1cf27b2a"><view class="card-box data-v-1cf27b2a" style="{{'padding-top:' + s}}"><view class="user-info data-v-1cf27b2a" bindtap="{{f}}"><image class="user-img data-v-1cf27b2a" src="{{a}}" alt=""></image><text class="data-v-1cf27b2a">{{b}}</text><image class="user-more data-v-1cf27b2a" src="{{c}}"></image><view class="user-add-card data-v-1cf27b2a" bindtap="{{e}}"><image class="data-v-1cf27b2a" src="{{d}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{g}}" alt=""></image><view class="card-content data-v-1cf27b2a"><view class="card-left data-v-1cf27b2a"><view class="left-top data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image wx:if="{{h}}" class="data-v-1cf27b2a" src="{{i}}" alt=""></image><text class="data-v-1cf27b2a">会员卡 </text><text wx:if="{{j}}" class="lossed data-v-1cf27b2a"> [已挂失]</text></view><view wx:if="{{k}}" class="data-v-1cf27b2a">ID:{{l}}</view></view></view><view class="card-right data-v-1cf27b2a"><view class="card-right-top data-v-1cf27b2a"><text wx:if="{{m}}" class="data-v-1cf27b2a">金额卡</text><text wx:if="{{n}}" class="data-v-1cf27b2a">未绑定会员卡</text><text wx:if="{{o}}" class="data-v-1cf27b2a">{{p}}元</text></view><view wx:if="{{q}}" class="card-right-bottom data-v-1cf27b2a" bindtap="{{r}}">充值</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{v}}"><image class="data-v-1cf27b2a" src="{{t}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{x}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{w}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view><view class="box1-bg box1-three data-v-1cf27b2a" bindtap="{{z}}"><image class="data-v-1cf27b2a" src="{{y}}" alt=""></image><view class="data-v-1cf27b2a">扫码取水</view></view></view><view class="function-box2 data-v-1cf27b2a"><view class="box2-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">功能列表</text></view><view class="box2-content data-v-1cf27b2a"><block wx:for="{{A}}" wx:for-item="item" wx:key="d"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.c}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image><view class="box2-item-text data-v-1cf27b2a">{{item.b}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{B}}" alt=""></image></view><view class="service-box data-v-1cf27b2a"><view class="service-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">服务指南</text></view><view class="service-content data-v-1cf27b2a"><view class="service-bg data-v-1cf27b2a" bindtap="{{E}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{C}}" alt=""></image><text class="data-v-1cf27b2a">附近站点</text></view><view class="service-info data-v-1cf27b2a">蔡家供水服务中心正在营业中……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{D}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{F}}" alt=""></image><text class="data-v-1cf27b2a">公示公告</text></view><view class="service-info data-v-1cf27b2a">停水公告的部分摘要的内容展示……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{G}}" alt=""></image></view></view></view></view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
index 9fb4980..34d0ddd 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
@@ -130,6 +130,9 @@
   font-size: 36rpx;
   color: #FFFFFF;
 }
+.container .content .card-box .card .card-content .card-left .left-top view:first-child .lossed.data-v-1cf27b2a {
+  color: #344ede;
+}
 .container .content .card-box .card .card-content .card-left .left-top view.data-v-1cf27b2a:last-child {
   margin-left: 10rpx;
   font-size: 26rpx;
diff --git a/unpackage/dist/dev/mp-weixin/static/images/index/icon35.png b/unpackage/dist/dev/mp-weixin/static/images/index/icon35.png
index 93077d8..de64596 100644
--- a/unpackage/dist/dev/mp-weixin/static/images/index/icon35.png
+++ b/unpackage/dist/dev/mp-weixin/static/images/index/icon35.png
Binary files differ

--
Gitblit v1.9.3