Procházet zdrojové kódy

Merge branch 'master' of http://47.92.161.104:10080/zkx/jp-housekeep-electric

# Conflicts:
#	pages.json
常志远 před 1 rokem
rodič
revize
6f55633062
44 změnil soubory, kde provedl 7946 přidání a 9 odebrání
  1. 9 1
      apis/pagejs/user.js
  2. 49 0
      pages.json
  3. 214 0
      pages/businessHall-test/billingRules/billingRules.vue
  4. 175 0
      pages/businessHall-test/deductionRecord/deductionDetails.vue
  5. 426 0
      pages/businessHall-test/deductionRecord/deductionRecord.vue
  6. 307 0
      pages/businessHall-test/index/index.vue
  7. 123 0
      pages/businessHall-test/invoiceManagement/InvoiceTitleManagement.vue
  8. 146 0
      pages/businessHall-test/invoiceManagement/addInvoiceTitle.vue
  9. 123 0
      pages/businessHall-test/invoiceManagement/applyBilling.vue
  10. 50 0
      pages/businessHall-test/invoiceManagement/billingDescription.vue
  11. 207 0
      pages/businessHall-test/invoiceManagement/editInvoiceTitle.vue
  12. 220 0
      pages/businessHall-test/invoiceManagement/invoiceDetails.vue
  13. 280 0
      pages/businessHall-test/invoiceManagement/invoiceManagement.vue
  14. 313 0
      pages/businessHall-test/invoiceManagement/issueInvoice.vue
  15. 185 0
      pages/businessHall-test/invoiceManagement/personalTitle.vue
  16. 63 0
      pages/businessHall-test/invoiceManagement/viewE-invoice.vue
  17. 184 0
      pages/businessHall-test/login/login.vue
  18. 228 0
      pages/businessHall-test/message/message.vue
  19. 50 0
      pages/businessHall-test/message/messageList.vue
  20. 130 0
      pages/businessHall-test/mine/cancelAccount.vue
  21. 60 0
      pages/businessHall-test/mine/changePassword.vue
  22. 66 0
      pages/businessHall-test/mine/changePhone.vue
  23. 119 0
      pages/businessHall-test/mine/contactService.vue
  24. 734 0
      pages/businessHall-test/mine/electronicMonitoring.vue
  25. 69 0
      pages/businessHall-test/mine/findBackPassword.vue
  26. 264 0
      pages/businessHall-test/mine/mine.vue
  27. 102 0
      pages/businessHall-test/mine/personInfos.vue
  28. 49 0
      pages/businessHall-test/mine/setting.vue
  29. 258 0
      pages/businessHall-test/mine/tenantInformation.vue
  30. 482 0
      pages/businessHall-test/recharge/accountRecharge.vue
  31. 168 0
      pages/businessHall-test/recharge/monthlyBill.vue
  32. 139 0
      pages/businessHall-test/recharge/paymentResult.vue
  33. 169 0
      pages/businessHall-test/recharge/rechargeDetails.vue
  34. 377 0
      pages/businessHall-test/recharge/rechargeRecord.vue
  35. 84 0
      pages/businessHall-test/returnBalance/returnApplication.vue
  36. 191 0
      pages/businessHall-test/returnBalance/returnBalance.vue
  37. 170 0
      pages/businessHall-test/returnBalance/returnDetails.vue
  38. 88 8
      pages/login/login.vue
  39. 130 0
      pages/mine/cancelAccount.vue
  40. 103 0
      pages/mine/changePassword.vue
  41. 198 0
      pages/mine/changePhone.vue
  42. 119 0
      pages/mine/contactService.vue
  43. 227 0
      pages/mine/findBackPassword.vue
  44. 98 0
      pages/mine/setting.vue

+ 9 - 1
apis/pagejs/user.js

@@ -44,7 +44,15 @@ export function validateCode(data) {
 		url: url
 	})
 }
-
+
+export function personalCenter(data) {
+	var url = '/mobile/employee/personalCenter';
+	return request({
+		method: 'post',
+		data: data,
+		url: url
+	})
+}
 
 
 

+ 49 - 0
pages.json

@@ -121,6 +121,55 @@
         		"navigationBarTitleText" : "",
         		"enablePullDownRefresh" : false
         	}
+        },
+		{
+			"path" : "pages/mine/setting",
+			"style" : 
+			{
+				"navigationBarTitleText" : "",
+				"enablePullDownRefresh" : false
+			}
+		},
+		{
+			"path" : "pages/mine/contactService",
+			"style" : 
+			{
+				"navigationBarTitleText" : "",
+				"enablePullDownRefresh" : false
+			}
+		},
+		{
+			"path" : "pages/mine/cancelAccount",
+			"style" : 
+			{
+				"navigationBarTitleText" : "",
+				"enablePullDownRefresh" : false
+			}
+		},
+		{
+			"path" : "pages/mine/changePassword",
+			"style" : 
+			{
+				"navigationBarTitleText" : "",
+				"enablePullDownRefresh" : false
+			}
+		},
+		{
+			"path" : "pages/mine/changePhone",
+			"style" : 
+			{
+				"navigationBarTitleText" : "",
+				"enablePullDownRefresh" : false
+			}
+		},
+		{
+			"path" : "pages/mine/findBackPassword",
+			"style" : 
+			{
+				"navigationBarTitleText" : "",
+				"enablePullDownRefresh" : false
+			}
+		}
         },
         {
         	"path" : "pages/workOrderManagement/workOrderMap",

+ 214 - 0
pages/businessHall-test/billingRules/billingRules.vue

@@ -0,0 +1,214 @@
+<template>
+	<view>
+		<u-navbar title="计费规则"  title-color="#101010" ></u-navbar>
+		<view class="background">
+			<!-- 单位 -->
+			<view class="unit">
+				<view class="title">
+					所属收款单位
+				</view>
+				<view class="value">
+					湖北荆鹏集团有限公司
+				</view>
+			</view>
+		</view>
+		<!-- 规则 -->
+		<view class="rules">
+			<view class="tabs">
+				<u-tabs font-size="24" :gutter="30" :item-width="100"  :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs>
+			</view>
+			<view class="content">
+				<view class="rule1">
+					<view class="title">
+						用电分类
+					</view>
+					<view class="value">
+						年用电2160度以内
+					</view>
+					<view class="value">
+						年用电2161至4800度
+					</view>
+					<view class="value">
+						年用电4800度以上
+					</view>
+				</view>
+				<view class="rule2">
+					<view class="title">
+						电压等级
+					</view>
+					<view class="value">
+						不满1千伏
+					</view>
+					<view class="value">
+						不满1千伏
+					</view>
+					<view class="value">
+						不满1千伏
+					</view>
+				</view>
+				<view class="rule3">
+					<view class="title">
+						电度电价
+					</view>
+					<view class="value">
+						0.5580元/度
+					</view>
+					<view class="value">
+						0.6080元/度
+					</view>
+					<view class="value">
+						0.8580元/度
+					</view>
+				</view>
+			</view>
+			<!-- 备注 -->
+			<view class="remark">
+				<view class="title">
+					备注说明:
+				</view>
+				<view class="value">
+					<view class="item">
+						1.居民生活用电价格含农网还贷资金2分钱、大中型水库移民后期扶持几斤0.62分钱、可再生能源店家附加0.1分钱,共2.72分钱。
+					</view>
+					
+					<view class="item">
+						2.抗灾救灾用电价格含按表列分类电价降低2分钱执行。
+						店加一句湖北省发展和改革委员委颁布的《湖北省发改委关于湖北电网2020-2022年输配电价和销售电价有关事项的通知》(鄂发改价管[2020]439号)标准执行。
+					</view>
+				</view>
+			</view>
+		</view>
+		
+		
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/pagejs/hall/deduction.js'
+	
+	export default {
+		data() {
+			return {
+				formData:{
+					pageIndex:1,
+					pageSize:9999,
+				},
+				list: [{
+					name: '电费'
+				}, {
+					name: '水费'
+				}, {
+					name: '租金',
+					
+				}, {
+					name: '保洁费',
+					
+				}, {
+					name: '物业服务费',
+					
+				}],
+				current: 0,
+				queryList:[],
+			}
+		},
+		onReady() {
+			this.contractList();
+		},
+		methods: {
+			contractList(){
+				
+				API.contractList(this.formData).then((response) => {
+					uni.hideLoading();
+					this.queryList=response.data.data;
+				}).catch(error => {
+					uni.hideLoading();
+					
+				})
+			},
+			change(index) {
+				this.current = index;
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background{
+		background-color: rgba(61,134,255,1);
+		position: relative;
+		height: 160rpx;
+		.unit{
+			background-color: #fff;
+			position: absolute;
+			top: 24rpx;
+			left: 32rpx;
+			right: 32rpx;
+			border-radius: 8px;
+			padding: 32rpx;
+			.title{
+				color: rgba(153,153,153,1);
+			}
+			.value{
+				color: rgba(51,51,51,1);
+				font-size: 40rpx;
+				margin-top: 16rpx;
+			}
+		}
+	}
+  // 规则
+  .rules{
+	  margin: 68rpx 32rpx 40rpx;
+	  background-color: #fff;
+	  padding-bottom: 24rpx;
+	  border-radius: 8px;
+	  /deep/.u-tabs{
+		  border-radius: 8px;
+		  
+	  }
+	  .content{
+		  padding:24rpx;
+		  display: flex;
+		  .rule1{
+			  width: 298rpx;
+			  .title{
+				  line-height: 96rpx;
+				  color: rgba(51,51,51,1);
+				  font-size: 32rpx;
+			  }
+			  .value{
+				  color: rgba(51,51,51,1);
+				  line-height: 96rpx;
+			  }
+		  }
+		  .rule2,.rule3{
+			  width: 160rpx;
+			  .title{
+				  color: rgba(119,119,119,1);
+				  font-size: 32rpx;
+				  line-height: 96rpx;
+			  }
+			  .value{
+				  color: rgba(119,119,119,1);
+				  line-height: 96rpx;
+			  }
+		  }
+		  
+	  }
+	  // 备注
+	  .remark{
+		  padding: 40rpx 32rpx;
+		  margin: 0 24rpx;
+		  border-radius: 8px;
+		  background-color: rgba(242,244,246,1);
+		  color: rgba(16,16,16,1);
+		  font-size: 24rpx;
+		  line-height: 34rpx;
+		  .value{
+			  margin-top: 16rpx;
+		  }
+		  .item{
+			  margin-bottom: 8rpx;
+		  }
+	  }
+  }
+</style>

+ 175 - 0
pages/businessHall-test/deductionRecord/deductionDetails.vue

@@ -0,0 +1,175 @@
+<template>
+	<view>
+		<u-navbar title="扣费详情"  title-color="#101010" ></u-navbar>
+		<view class="background">
+			<view class="recharge-details">
+				<view class="headline">
+					<text>
+						<image class="img" src="@/assets/img/Copy PEokWS2 Copy 1@1x.png" mode=""></image>
+					</text>1月1日电费
+				</view>
+				<view class="sum">
+					80.00
+				</view>
+				<view class="state">
+					已扣费
+				</view>
+				<view class="details">
+					<view class="item">
+						<view class="item-title">
+							租户信息
+						</view>
+						<view class="item-value">
+							3~6楼联通公司
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							户号
+						</view>
+						<view class="item-value">
+								00880088
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							收费标准
+						</view>
+						<view class="item-value">
+							1.3元/度
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							度数
+						</view>
+						<view class="item-value">
+							2314度
+						</view>
+					</view>
+				</view>
+				
+				<view class="details">
+					<view class="item">
+						<view class="item-title">
+							付款方式
+						</view>
+						<view class="item-value">
+							微信支付
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							订单号
+						</view>
+						<view class="item-value">
+					30816112557708460925
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							创建时间
+						</view>
+						<view class="item-value">
+							2023-08-20 10:29:00
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							支付时间
+						</view>
+						<view class="item-value">
+							2023-08-20 10:29:00
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 返回 -->
+		<button class="back">返回</button>
+	</view> 
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background{
+		position: relative;
+		height: 200px;
+		background: linear-gradient(180deg, rgba(203,234,255,1) 0%,rgba(203,234,255,0) 100%);
+		.recharge-details{
+			position: absolute;
+			top: 24rpx;
+			left: 32rpx;
+			right: 32rpx;
+			background-color: #fff;
+			border-radius: 8px;
+			padding: 40rpx 32rpx ;
+			text-align: center;
+			.headline{
+				color: rgb(16,16,16);
+				font-size: 36rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				.img{
+					width: 48rpx;
+					height: 48rpx;
+					vertical-align: middle;
+				}
+				
+			}
+			.sum{
+				color: rgb(16,16,16);
+				font-size: 48rpx;
+				margin-top: 32rpx;
+
+			}
+			.state{
+				color: rgb(56,158,13);
+				margin-top: 8rpx;
+			}
+			.details{
+				margin-top: 40rpx;
+				padding-top: 40rpx;
+				border-top: 1px solid rgba(241,241,241,1);
+				.item{
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					margin-bottom:16rpx;
+					.item-title{
+						color: rgb(119,119,119);
+					}
+					.item-value{
+						color: rgb(48,48,48);
+					}
+				}
+			}
+		}
+	}
+ // 返回
+ .back{
+	 border: 1px solid rgba(205,205,205,1);
+	 border-radius: 8px;
+	 line-height: 88rpx;
+	 background-color: rgba(255,255,255,1);
+	 color: rgba(119,119,119,1);
+	 font-size: 32rpx;
+	 position: absolute;
+	 top: 970rpx;
+	 left: 32rpx;
+	 right: 32rpx;
+ }
+</style>

+ 426 - 0
pages/businessHall-test/deductionRecord/deductionRecord.vue

@@ -0,0 +1,426 @@
+<template>
+	<view>
+		<u-navbar title="扣费记录"  title-color="#101010" >
+			<view class="slot" slot="right">
+				开发票
+
+			</view>
+		</u-navbar>
+		<!-- 折线图 -->
+		<view class="chart-box">
+			<!-- <view class="title">
+				1月 共扣费
+			</view>
+			<view class="sum">
+				1000.00<text class="unit">元</text>
+			</view> -->
+			<view class="chart">
+				<view id="pieEcharts" style="min-height:240px;">
+				
+				</view>
+			</view>
+		
+		</view>
+		<!-- 标签 -->
+		<view class="tabs">
+			<u-picker  v-model="tabsFrom.show1" mode="selector" :range="tabsFrom.selector1"  range-key="label" @confirm="selector1confirm" ></u-picker>
+			<u-picker-select title="日期选择" v-model="tabsFrom.show2"
+			 :defaultTime="tabsFrom.show2Index" :endYear="endYear"
+			 mode="time" :params="params"  @confirm="selector2confirm" @reset="selector2reset" ></u-picker-select>
+			
+			<view class="tabsItem" @click="tabsFrom.show1=!tabsFrom.show1">{{tabsFrom.show1Text}} <u-icon name="arrow-up"
+					v-if="tabsFrom.show1"></u-icon><u-icon v-else name="arrow-down"></u-icon></view>
+			<view class="tabsItem" @click="tabsFrom.show2=!tabsFrom.show2">{{tabsFrom.show2Text}} <u-icon name="arrow-up"
+					v-if="tabsFrom.show2"></u-icon><u-icon v-else name="arrow-down"></u-icon></view>
+		</view>
+		<!-- 记录 -->
+		<view class="records-item" >
+			<view class="time">
+				{{queryMonth}}  合计扣费  {{jpAmount(sumAmount)}}元
+			</view>
+			<view class="details" v-for="(item,i) in list" :key="i" >
+				<view class="icon">
+					<image class="img" v-if="item.remark.indexOf('水')>-1" src="@/assets/img/wImage@1x.png" mode=""></image>
+						<image class="img"  v-else-if="item.remark.indexOf('房')>-1||item.remark.indexOf('租')>-1" src="@/assets/img/wImage.png" mode=""></image>
+						<image class="img"  v-else-if="item.remark.indexOf('保洁')>-1" src="@/assets/img/wImage3.png" mode=""></image>
+						<image class="img" v-else-if="item.remark.indexOf('物业')>-1"  src="@/assets/img/wImage4.png" mode=""></image>
+						
+					<image class="img" v-else src="@/assets/img/Copy PEokWS2 Copy 1@1x.png" mode=""></image>
+				</view>
+				<view class="details-title">
+					<view class="name">
+						{{item.remark}} 
+					</view>
+					<view class="record-time">
+						{{item.createTime}}  
+					</view>
+				</view>
+				<view class="sum">
+					{{jpAmount(item.amount*-1)}} 
+				</view>
+			</view>
+			
+			
+			
+		</view>
+		
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/pagejs/hall/deduction.js'
+	
+	import {
+		nextDay,
+		nextMonth,
+	
+	} from '@/apis/utils'
+	import * as echarts from "echarts";
+	
+	export default {
+		data() {
+			return {
+				myChart:null,
+				list:[],
+				formData:{
+					pageIndex:1,
+					pageSize:9999,
+				},
+				
+				endYear:'',
+				queryMonth:"",
+				params: {
+					year: true,
+					month: true,
+					day: false,
+					hour: false,
+					minute: false,
+					second: false
+				},
+				tabsFrom: {
+					show1: false,
+					show1Index:0,
+					show2Index:'',
+					show2: false,
+					show1Text: "全部类型",
+					show2Text: "全部时间",
+					selector1:[
+						{
+								label: '全部类型',
+								value: '',
+							},
+						{
+								label: '线上充值',
+								value: '1',
+							},
+							{
+								label: '线下充值',
+								value: '2',
+							},
+					]
+				},
+			}
+		},
+		onLoad() {
+			this.endYear=new Date().getFullYear()
+			var date=new Date()
+			this.formData.startDate=date.getFullYear()+"-"+(date.getMonth() + 1) +"-1"
+			this.queryMonth=date.getFullYear()+"年"+(date.getMonth() + 1) +"月"
+			this.contractItemList()
+			this.deductionRecord();
+			
+			this.deductionRecordGraph();
+		},
+		computed:{
+			sumAmount(){
+				let totalAmount =0
+				if(this.list){
+					var amounts=this.list.map(item=>{
+						return item.amount*-1
+					})
+				
+					 totalAmount = amounts.reduce((accumulator, currentValue) => {  
+					  return accumulator + currentValue;  
+					}, 0); 
+				}
+				 
+				
+				return   totalAmount
+			}
+		},
+		methods: {
+			
+			selector2confirm(e){
+				
+				this.tabsFrom.show2Text=e.year+"年"+e.month+"月"
+				
+				this.tabsFrom.show2Index=e.year+"-"+e.month
+				if(e.day){
+					this.tabsFrom.show2Text+=e.day+"日"
+					this.tabsFrom.show2Index+='-'+e.day	
+				}
+				//this.tabsFrom.show2Index=this.tabsFrom.show2Text
+				
+			
+				if(e.day){
+					this.formData.startDate=e.year+"-"+e.month +"-"+e.day	
+				
+					this.queryMonth=e.year+"年"+e.month+"月"+e.day+"日"
+					this.formData.endDate=this.formData.startDate
+					//nextDay(e.year,e.month, e.day)
+					
+					
+				}else{
+					this.queryMonth=e.year+"年"+e.month+"月"
+					this.formData.startDate=e.year+"-"+e.month +"-1"
+					
+					this.formData.endDate=nextMonth(e.year,e.month, 1,1)
+					
+					
+				}
+				this.deductionRecord()
+			},
+			selector2reset(e){
+			
+				this.tabsFrom.show2Text='全部时间'
+				this.tabsFrom.show2Index='';
+				
+				
+				this.formData.startDate=date.getFullYear()+"-"+(date.getMonth() + 1) +"-1"
+				this.queryMonth=date.getFullYear()+"年"+(date.getMonth() + 1)+"月" 
+				this.deductionRecord()
+			},
+			selector1confirm(e){
+			
+				var index=e[0]
+				this.tabsFrom.show1Index=index
+				this.tabsFrom.show1Text=this.tabsFrom.selector1[index].label
+				this.formData.contractItemId=this.tabsFrom.selector1[index].value
+				this.deductionRecord()
+			},
+			change() {
+							// 更多的细节,如有需要请自行根据业务逻辑进行处理
+							// this.$refs.uDropdown.highlight(xxx);
+			},
+			deductionRecordGraph(){
+				
+				API.deductionRecordGraph().then((response) => {
+					
+					var list=response.data;
+					
+					  // uni.getSystemInfo({  
+					  //     success: (res) => {  
+					  //       const screenWidth = res.windowWidth; // 屏幕宽度,单位为px  
+					  //       console.log('屏幕宽度:', screenWidth); 
+							
+					  //     },  
+					  //   });  
+						 this.getPle(list)
+						//uni.upx2px(600)
+					
+				}).catch(error => {
+					
+				})
+			},
+			getPle(list){
+				
+				if (!this.myChart) {
+					this.myChart = echarts.init(document.getElementById('pieEcharts'),null,{
+						width:uni.upx2px(700),height:uni.upx2px(280)
+					});
+				}
+				this.myChart.clear();
+				var data1=list.map(item=>{
+					return item.month.replace("-", "年")+"月"
+				});
+				var data2=list.map(item=>{
+					return item.monthAmount
+				});
+				var headitemby=""
+				var showkey = "";
+				var option = {
+					 tooltip: {
+					    trigger: 'axis'
+					  },
+					grid: {
+						top: '6%',
+						left: '3%',
+						right: '8%',
+						bottom: '8%',
+						containLabel: true
+					},
+					  xAxis: {
+					    type: 'category',
+					    data: data1,
+						axisLabel: {
+							formatter: (value) => {
+								if (headitemby == "") {
+									headitemby = value
+								}
+								var i = 0
+								
+								var showvalue = "";
+								var key = value.substring(0, 5);
+						
+								if (showkey == "" || value == headitemby) {
+									showkey = key
+						
+									showvalue = value
+									showvalue = value.substring(2)
+								} else {
+									if (key != showkey) {
+										showkey = key
+										showvalue = value
+										showvalue = value.substring(2)
+									} else {
+										showvalue = value.substring(5)
+									}
+								}
+								return showvalue.replace("年", ".").replace("月", "");
+						
+							},
+							textStyle: {
+								color: "#333"
+							}
+						},
+					  },
+					  yAxis: {
+					    type: 'value'
+					  },
+					  series: [
+					    {
+						  name: '合计',
+					      data: data2,
+					      type: 'line'
+					    }
+					  ]
+				}
+				console.log(option)
+				this.myChart.setOption(option);
+				
+				
+			},
+			deductionRecord(){
+				
+				API.deductionRecord(this.formData).then((response) => {
+					uni.hideLoading();
+					this.list=response.data.data;
+				}).catch(error => {
+					uni.hideLoading();
+					
+				})
+			},
+			contractItemList(){
+				API.contractItemList({
+					
+				}).then((response) => {
+					//uni.hideLoading();
+					var contractItemList=response.data.contractItemList
+					this.tabsFrom.selector1=[{
+						label: "全部类型",
+						value: '',
+					}]
+					contractItemList.forEach(item=>{
+						this.tabsFrom.selector1.push({
+							label: item.name,
+							value: item.id,
+						})
+					})
+					
+				}).catch(error => {
+					//uni.hideLoading();
+					
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.slot{
+		color: rgba(16,16,16,1);
+		font-size: 32rpx;
+		margin-right: 32rpx;
+	}
+	// 折线图
+	.chart-box {
+		padding: 24rpx 32rpx;
+		background: linear-gradient(180deg, rgba(203, 234, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
+	
+		.title {
+			color: rgb(16, 16, 16);
+		}
+	
+		.sum {
+			color: rgb(51, 51, 51);
+			font-size: 64rpx;
+			margin-top: 16rpx;
+	
+			.unit {
+				color: rgb(16, 16, 16);
+				font-size: 28rpx;
+				margin-left: 8rpx;
+			}
+		}
+	
+		.chart {
+			width: 100%;
+			height: 240rpx;
+			margin-top: 8rpx;
+	
+			.img {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	
+	}
+	.tabs{
+		
+		height: 96rpx;
+		line-height: 96rpx;
+		background-color: #fff;
+		border-top: 1px solid rgba(241,241,241,1);
+		display: flex;
+		justify-content: space-around;
+		
+	}
+	// 记录
+	.records-item{
+		.time{
+			padding: 24rpx 32rpx;
+			color: rgba(119,119,119,1);
+			font-size: 32rpx;
+		}
+		.details{
+			background-color: #fff;
+			padding: 32rpx;
+			display: flex;
+			align-items: center;
+			border-bottom: 1px solid rgba(244,244,244,1);
+			.img{
+				width: 80rpx;
+				height: 80rpx;
+			}
+			.details-title{
+				margin-left: 24rpx;
+				.title{
+					color: rgba(51,51,51,1);
+					font-size: 32rpx;
+				}
+				.record-time{
+					color: rgb(153,153,153);
+					font-size: 24rpx;
+					
+					margin-top: 8rpx;
+				}
+			}
+			.sum{
+				color: rgb(16,16,16);
+				font-size: 40rpx;
+				margin-left: auto;
+			}
+		}
+	}
+
+</style>

+ 307 - 0
pages/businessHall-test/index/index.vue

@@ -0,0 +1,307 @@
+<template>
+	<view>
+		<u-navbar title="微营业厅" title-color="#fff" :is-back="false" :background="background" back-icon-color="#ffffff"></u-navbar>
+		<!-- 账户充值 扣费记录 -->
+		<view class="function">
+			<view class="item" @click="gotoUrl('/pages/businessHall/recharge/accountRecharge')">
+				<view class="icon">
+					<image class="img" src="@/assets/img/iconPark-wallet.svg" mode=""></image>
+				</view>
+
+				<view class="text">
+					<view class="title">
+						账户充值
+					</view>
+					<view class="infos">
+						余额 {{personInfo.balance}}
+
+					</view>
+				</view>
+			</view>
+
+			<view class="item" @click="gotoUrl('/pages/businessHall/deductionRecord/deductionRecord')">
+				<view class="icon icon2">
+					<image class="img" src="@/assets/img/iconPark-order.svg" mode=""></image>
+				</view>
+
+				<view class="text">
+					<view class="title">
+						扣费记录
+					</view>
+					<view class="infos">
+						查看每日用电情况
+					</view>
+				</view>
+			</view>
+		</view>
+
+		<!-- 管家服务 -->
+		<view class="housekeeper-service">
+			<view class="title">
+				管家服务
+			</view>
+			<view class="grid">
+				<u-grid :col="4" :border="false">
+					<u-grid-item @click="gotoUrl('/pages/businessHall/recharge/rechargeRecord')" >
+						<view class="icon icon1">
+							<image class="img" src="@/assets/img/far fa-clock.svg" mode=""></image>
+						</view>
+						<view class="grid-text">充值记录
+						</view>
+					</u-grid-item>
+					<u-grid-item  @click="gotoUrl('/pages/businessHall/billingRules/billingRules')" >
+						<view class="icon icon2">
+							<image class="img" src="@/assets/img/fas fa-file-alt.svg" mode=""></image>
+						</view>
+						<view class="grid-text">计费规则
+						</view>
+					</u-grid-item>
+					<u-grid-item   @click="gotoUrl('/pages/businessHall/message/messageList?type=1')">
+						<view class="icon icon3">
+							<image class="img" src="@/assets/img/antFill-account-book.svg" mode=""></image>
+						</view>
+						<view class="grid-text">余额提醒
+						</view>
+					</u-grid-item>
+					<u-grid-item   @click="gotoUrl('/pages/businessHall/message/messageList?type=4')">
+						<view class="icon icon9">
+							<image class="img" src="@/assets/img/fas fa-exclamation-triangle.svg" mode=""></image>
+						</view>
+						<view class="grid-text">断电通知
+						</view>
+					</u-grid-item>
+					<u-grid-item   @click="gotoUrl('/pages/businessHall/message/messageList?type=2')">
+						<view class="icon icon5">
+							<image class="img" src="@/assets/img/antFill-notification.svg" mode=""></image>
+						</view>
+						<view class="grid-text">停电通知
+
+						</view>
+					</u-grid-item>
+					<u-grid-item   @click="gotoUrl('/pages/businessHall/message/messageList?type=3')">
+						<view class="icon icon6">
+							<image class="img" src="@/assets/img/fas fa-exclamation-triangle.svg" mode=""></image>
+						</view>
+						<view class="grid-text">故障警报
+
+						</view>
+					</u-grid-item>
+				
+					<u-grid-item   @click="gotoUrl('/pages/businessHall/mine/electronicMonitoring')">
+						<view class="icon icon7">
+							<image class="img" src="@/assets/img/fas fa-chart-pie.svg" mode=""></image>
+						</view>
+						<view class="grid-text">用电监控
+						</view>
+					</u-grid-item>
+					
+					<u-grid-item     @click="gotoUrl('/pages/businessHall/mine/contactService')"  >
+						<view class="icon icon4">
+							<image class="img" src="@/assets/img/if-support.svg" mode=""></image>
+						</view>
+						<view class="grid-text">客服热线
+						</view>
+					</u-grid-item>
+					<u-grid-item v-if="false"   @click="gotoUrl('/pages/businessHall/billingRules/billingRules')">
+						<view class="icon icon8">
+							<image class="img" src="@/assets/img/fas fa-book.svg" mode=""></image>
+						</view>
+						<view class="grid-text">用电常识
+						</view>
+					</u-grid-item>
+				</u-grid>
+			</view>
+		</view>
+
+		<view class="cover">
+			<view class="text">
+				预存余额 安心用电
+			</view>
+		</view>
+		<u-divider border-color="#bbbbbb" half-width="80" color="#777777">荆鹏电管家 服务热线 <text
+				class="tel">8121234</text></u-divider>
+		<Tabbar :current="0"></Tabbar>
+	</view>
+
+</template>
+
+<script>
+	import * as API from '@/apis/pagejs/hall/index.js'
+	
+	import Tabbar from '@/components/Tabbar.vue'
+	export default {
+		components: {
+			Tabbar
+		},
+		data() {
+			return {
+				personInfo:{},
+				background: {
+					backgroundColor: '#3D86FF',
+				}
+
+			}
+		},
+		onLoad() {
+			this.homePage()
+		
+		},
+		methods: {
+			
+			homePage(){
+				// uni.showLoading({
+				// 	title: "加载中",
+				// 	mask: true,
+				// })
+				
+				API.homePage({
+					
+				}).then((response) => {
+					//uni.hideLoading();
+					this.personInfo=response.data.regUser;
+					console.log(response.data.regUser)
+				}).catch(error => {
+					//uni.hideLoading();
+					
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	//  账户充值 扣费记录 
+	.function {
+		background-color: #fff;
+		padding: 56rpx 40rpx;
+		display: flex;
+		justify-content: space-between;
+
+		.item {
+			display: flex;
+			align-items: center;
+
+			.icon {
+				width: 96rpx;
+				height: 96rpx;
+
+				border-radius: 12px;
+				background: linear-gradient(180deg, rgba(93, 155, 255, 1) 0%, rgba(0, 97, 255, 1) 100%);
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				.img {
+					width: 64rpx !important;
+					height: 64rpx !important;
+
+
+				}
+			}
+
+			.icon2 {
+				background: linear-gradient(179.2deg, rgba(96, 213, 124, 1) -0.62%, rgba(0, 161, 39, 1) 97.92%);
+			}
+
+			.text {
+				margin-left: 16rpx;
+
+				.title {
+					color: rgba(51, 51, 51, 1);
+					font-size: 36rpx;
+				}
+
+				.infos {
+					color: rgba(119, 119, 119, 1);
+					font-size: 24rpx;
+					margin-top: 8rpx;
+				}
+			}
+		}
+	}
+
+	// 管家服务
+	.housekeeper-service {
+		background-color: #fff;
+		margin-top: 24rpx;
+		padding: 32rpx;
+
+		.title {
+			font-size: 36rpx;
+			color: #333333;
+		}
+
+		.grid-text {
+			margin-top: 28rpx;
+			color: rgba(51, 51, 51, 1);
+		}
+
+		.icon {
+			width: 96rpx;
+			height: 96rpx;
+			border-radius: 24rpx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+
+			.img {
+				width: 56rpx;
+				height: 56rpx;
+			}
+		}
+
+		.icon1 {
+			background: linear-gradient(181.79deg, rgba(117, 213, 224, 1) -1.13%, rgba(53, 153, 203, 1) 94.2%);
+		}
+
+		.icon2 {
+			background: linear-gradient(179.2deg, rgba(168, 178, 238, 1) 6.28%, rgba(123, 123, 240, 1) 96.94%);
+		}
+
+		.icon3 {
+			background: linear-gradient(180deg, rgba(121, 172, 255, 1) 0%, rgba(57, 132, 255, 1) 100%);
+		}
+
+		.icon4 {
+			background: linear-gradient(180.82deg, rgba(247, 186, 154, 1) 0.58%, rgba(255, 128, 158, 1) 97.52%);
+		}
+
+		.icon5 {
+			background: linear-gradient(180.4deg, rgba(127, 213, 151, 1) 2.1%, rgba(67, 176, 116, 1) 101.21%);
+		}
+
+		.icon6 {
+			background: linear-gradient(180.29deg, rgba(255, 214, 125, 1) 0.9%, rgba(255, 150, 0, 1) 100.4%);
+		}
+
+		.icon7 {
+			background: linear-gradient(178.44deg, rgba(122, 232, 227, 1) 3.96%, rgba(57, 182, 182, 1) 100.6%);
+		}
+
+		.icon8 {
+			background: linear-gradient(180.4deg, rgba(127, 213, 151, 1) 2.1%, rgba(67, 176, 116, 1) 101.21%);
+		}
+		.icon9 {
+			background: linear-gradient(180.29deg, rgba(255,124,112,1) 0.9%,rgba(255,79,63,1) 100.4%);
+		}
+	}
+
+	.cover {
+		background: radial-gradient(at 100% 100%, rgba(194, 255, 216, 1) 3%, rgba(138, 182, 232, 1) 39%, rgba(82, 110, 248, 1) 100%);
+		color: #ffffff;
+		text-align: center;
+		padding: 40rpx 0;
+		margin: 24rpx 0;
+
+		.text {
+			font-size: 64rpx;
+			// box-shadow: 0px 4px 12px 0px  rgba(0, 0, 0, 0.2);
+			text-align: center;
+		}
+	}
+
+	.tel {
+		color: #1677FF;
+		margin-left: 16rpx;
+	}
+</style>

+ 123 - 0
pages/businessHall-test/invoiceManagement/InvoiceTitleManagement.vue

@@ -0,0 +1,123 @@
+<template>
+	<view>
+		<u-navbar title="发票抬头管理"  title-color="#101010" ></u-navbar>
+		<!-- 企业单位 -->
+		<view class="enterprise">
+			<view class="title">
+				企业单位
+				
+					<image class="img" src="@/assets/img/riFill-building-fill.svg" mode=""></image>
+				
+			</view>
+			<view class="infos">
+				<view class="name">
+					联通公司
+				</view>
+				<view class="number">
+					91421000706966173Y
+				</view>
+			</view>
+		</view>
+		<!-- 非企业 -->
+		<view class="nonbusiness">
+			<view class="title">
+				企业单位
+				
+					<image class="img" src="@/assets/img/riFill-user-2-fill.svg" mode=""></image>
+				
+			</view>
+			<view class="infos">
+				<view class="name">
+					李广宵 <view class="default">默认</view>
+				</view>
+				
+			</view>
+		</view>
+		<!-- 底部 -->
+		<view class="bottom">
+			<button class="add"  @click="gotoUrl('/pages/businessHall/invoiceManagement/addInvoiceTitle')" >新增发票抬头</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.enterprise,.nonbusiness{
+		border-radius: 8px;
+		margin: 24rpx 32rpx;
+		background-color: #fff;
+		overflow: hidden;
+		.title{
+			padding: 32rpx;
+			background: linear-gradient(90deg, rgba(49,110,207,1) 2%,rgba(20,73,159,1) 100%);
+			color: rgba(255,255,255,1);
+			font-size: 40rpx;
+			position: relative;
+			font-weight: 600;
+			.img{
+				width: 96rpx;
+				height: 96rpx;
+				position: absolute;
+				top: 16rpx;
+				right: 16rpx;
+			}
+		}
+		.infos{
+			padding: 24rpx 32rpx;
+			.name{
+				color: rgba(51,51,51,1);
+				font-size: 36rpx;
+				display: flex;
+				align-items: center;
+				.default{
+					width: 96rpx;
+					height: 48rpx;
+					line-height: 48rpx;
+					border-radius: 4px;
+					background-color: rgba(22,119,255,1);
+					color: rgba(255,255,255,1);
+					margin-left: 16rpx;
+					font-size: 28rpx;
+					text-align: center;
+				}
+			}
+			.number{
+				color: rgba(119,119,119,1);
+				margin-top: 2rpx;
+			}
+		}
+	}
+.nonbusiness{
+	.title{
+		background: linear-gradient(90deg, rgba(0,187,170,1) 2%,rgba(0,161,119,1) 100%);
+	}
+}
+// 底部
+.bottom{
+	padding: 24rpx 32rpx;
+	background-color: rgba(255,255,255,1);
+	position: fixed;
+	bottom: 0;
+	left: 0;
+	right: 0;
+	.add{
+		line-height: 88rpx;
+		border-radius: 50px;
+		background: linear-gradient(-88.46deg, rgba(34,109,198,1) 2.59%,rgba(9,158,237,1) 97.02%);
+		color: rgba(255,255,255,1);
+		font-size: 36rpx;
+	}
+}
+</style>

+ 146 - 0
pages/businessHall-test/invoiceManagement/addInvoiceTitle.vue

@@ -0,0 +1,146 @@
+<template>
+	<view>
+		<u-navbar title="新增发票抬头"  title-color="#101010" ></u-navbar>
+		<!-- 类型 -->
+		<view class="main">
+			<u-cell-group>
+				<u-cell-item  title="抬头类型" required :arrow="false" >
+					<u-radio-group v-model="value" @change="radioGroupChange">
+								<u-radio 
+									@change="radioChange" 
+									v-for="(item, index) in list" :key="index" 
+									:name="item.name"
+									:disabled="item.disabled"
+								>
+									{{item.name}}
+								</u-radio>
+							</u-radio-group>
+					
+				</u-cell-item>
+				<u-cell-item  title="发票类型" required :arrow="false">
+					<u-radio-group v-model="value" @change="radioGroupChange">
+								<u-radio 
+									@change="radioChange" 
+									v-for="(item, index) in list2" :key="index" 
+									:name="item.name"
+									:disabled="item.disabled"
+								>
+									{{item.name}}
+								</u-radio>
+							</u-radio-group>
+				</u-cell-item>
+			</u-cell-group>
+		</view>
+		<!-- 其他信息 -->
+		<view class="main">
+			<u-cell-group>
+				<u-cell-item  title="公司名称" value="" required :arrow="false" >
+					<u-input placeholder="请填写发票抬头" ></u-input>
+				</u-cell-item>
+				<u-cell-item  title="公司税号" value="" required :arrow="false" >
+					<u-input placeholder="请填写纳税人税号" ></u-input>
+				</u-cell-item>
+				<u-cell-item  title="开户银行" value="" required :arrow="false" >
+					<u-input placeholder="请填写开户银行全称" ></u-input>
+				</u-cell-item>
+				<u-cell-item  title="银行账户" value="" required :arrow="false" >
+					<u-input placeholder="请填写银行账户" ></u-input>
+				</u-cell-item>
+				<u-cell-item  title="公司地址" value="" required :arrow="false" >
+					<u-input placeholder="请填写公司详细地址" ></u-input>
+				</u-cell-item>
+			</u-cell-group>
+		</view>
+		
+		<view class="main">
+			<u-cell-item  title="联系电话" value="" required :arrow="false" >
+				<u-input placeholder="请填写联系电话" ></u-input>
+			</u-cell-item>
+		</view>
+		<!-- 默认 -->
+		<view class="main ">
+			<u-cell-item title="设为默认"  :arrow="false" >
+				<u-switch  size="40" v-model="checked" active-color="#00e266"></u-switch>
+			</u-cell-item>
+		</view>
+		
+		<button class="save">保存</button>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			checked:true,
+			list: [
+				{
+					name: '企业单位',
+					disabled: false
+				},
+				{
+					name: '个人/非企业单位',
+					disabled: false
+				}
+			],
+			list2: [
+				{
+					name: '增值税专票',
+					disabled: false
+				},
+				{
+					name: '增值税普票',
+					disabled: false
+				}
+			],
+			
+			value: 'orange',
+		};
+	},
+	methods: {
+		// 选中某个单选框时,由radio时触发
+		radioChange(e) {
+			// console.log(e);
+		},
+		// 选中任一radio时,由radio-group触发
+		radioGroupChange(e) {
+			// console.log(e);
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+	.main{
+		background-color: #fff;
+		margin-bottom: 24rpx;
+	}
+	
+	/deep/.u-cell{
+		height: 96rpx;
+	}
+	/deep/.u-cell__value{
+		text-align: left;
+		margin-left: 8%;
+		font-size: 32rpx;
+		
+	}
+	/deep/.u-switch{
+		margin: auto 0;
+		float: left;;
+	}
+		
+	
+	.save{
+		
+		margin: 24rpx 32rpx;
+		line-height: 88rpx;
+		border-radius: 50px;
+		background: linear-gradient(-88.46deg, rgba(34,109,198,1) 2.59%,rgba(9,158,237,1) 97.02%);
+		color: rgba(255,255,255,1);
+		font-size: 36rpx;
+		
+	}
+	
+
+</style>

+ 123 - 0
pages/businessHall-test/invoiceManagement/applyBilling.vue

@@ -0,0 +1,123 @@
+<template>
+	<view>
+		<u-navbar title="申请开票"  title-color="#101010" ></u-navbar>
+		<view class="success-icon">
+			<image class="img" src="@/assets/img/md-check_circle vRxbRvD.svg" mode=""></image>
+		</view>
+		<view class="success-text">
+			申请成功
+
+		</view>
+		<!-- 支付详情 -->
+		<view class="payment-infos">
+			<view class="item">
+				<view class="item-title">
+					发票项目
+				</view>
+				<view class="item-value">
+					2024年1月扣费发票
+				</view>
+				
+			</view>
+			<view class="item">
+				<view class="item-title">
+					发票抬头
+				</view>
+				<view class="item-value">
+					联通公司
+				</view>
+				
+			</view>
+			<view class="item">
+				<view class="item-title">
+					发票金额
+				</view>
+				<view class="item-value">
+					1000.00元
+				</view>
+				
+			</view>
+			
+			
+		</view>
+		<!-- 按钮 -->
+		<view class="btns">
+			<button class="btn1">完成</button>
+			<button class="btn2">查看发票详情</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page{
+		background-color: #fff;
+	}
+	.success-icon{
+		width: 132rpx;
+		height: 132rpx;
+		margin: 48rpx auto; 
+		.img{
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.success-text{
+		color: rgba(51,51,51,1);
+		font-size: 48rpx;
+		text-align: center;
+	}
+	// 支付详情
+	.payment-infos{
+		margin-top: 64rpx;
+		padding: 0 80rpx;
+		.item{
+			display: flex;
+			justify-content: space-between;
+			margin-bottom: 24rpx;
+			.item-title{
+				color: rgb(119,119,119);
+			}
+			.item-value{
+				color: rgb(51,51,51);
+			}
+		}
+	}
+	// 按钮
+	.btns{
+		display: flex;
+		padding: 0 80rpx;
+		margin-top: 80rpx;
+		.btn1{
+			width: 280rpx;
+			height: 80rpx;
+			background-color: rgba(255,255,255,1);
+			color: rgba(51,51,51,1);
+			font-size: 32rpx;
+			border-radius: 50px;
+			border: 1px solid rgba(223,223,223,1);
+		}
+		.btn2{
+			width: 280rpx;
+			height: 80rpx;
+			border-radius: 50px;
+			background-color: rgba(22,119,255,1);
+			color: rgba(255,255,255,1);
+			font-size: 32rpx;
+			border: 0px solid rgba(187,187,187,1);
+		}
+	}
+
+</style>

+ 50 - 0
pages/businessHall-test/invoiceManagement/billingDescription.vue

@@ -0,0 +1,50 @@
+<template>
+	<view>
+		<u-navbar title="退费详情"  title-color="#101010" ></u-navbar>
+		<view class="background">
+			<view class="main">
+				<p>1.月结发票:为已完全交清欠费用户出具的月消费账单发票。实缴发票:依据用户实际缴纳金额为用户开具的发票。发票金额不包括不能参与实销发票打印的费用,如:赠费等。</p>
+				<p>2.已经开具纸质发票的记录不能再开具电子发票。</p>
+				<p>3.每月1日0时至24时为系统出账期,为您提供相关查询服务延迟可能较长。月结发票将在系统出账后自动更新。</p>
+			</view>
+		</view>
+	
+	</view> 
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background{
+		position: relative;
+		height: 200px;
+		background: linear-gradient(180deg, rgba(203,234,255,1) 0%,rgba(203,234,255,0) 100%);
+		.main{
+			position: absolute;
+			top: 24rpx;
+			left: 32rpx;
+			right: 32rpx;
+			background-color: #fff;
+			border-radius: 8px;
+			padding: 40rpx 32rpx;
+			p{
+				line-height: 48rpx;
+				color: rgba(51,51,51,1);
+				font-size: 32rpx;
+			}
+		}
+	}
+ 
+ 
+</style>

+ 207 - 0
pages/businessHall-test/invoiceManagement/editInvoiceTitle.vue

@@ -0,0 +1,207 @@
+<template>
+	<view>
+		<u-navbar title="编辑发票抬头" title-color="#101010">
+			<view class="slot" slot="right" @click="show=true">
+				删除
+			</view>
+		</u-navbar>
+		<!-- 删除弹出框 -->
+		<u-popup v-model="show"  mode="bottom" border-radius="12" >
+			<view class="popup">
+				<view class="headline">
+					确认删除
+				</view>
+				<view class="hint">
+					是否删除此发票抬头?
+				</view>
+				<view class="btn-box">
+					<view class="think">
+						我再想想
+					</view>
+					<view class="confirm">
+						确认删除
+					</view>
+				</view>
+			</view>
+		</u-popup>
+		<!-- 类型 -->
+		<view class="main">
+			<u-cell-group>
+				<u-cell-item title="抬头类型" required :arrow="false">
+					<u-radio-group v-model="value" @change="radioGroupChange">
+						<u-radio @change="radioChange" v-for="(item, index) in list" :key="index" :name="item.name"
+							:disabled="item.disabled">
+							{{item.name}}
+						</u-radio>
+					</u-radio-group>
+
+				</u-cell-item>
+				<u-cell-item title="发票类型" required :arrow="false">
+					<u-radio-group v-model="value2" @change="radioGroupChange">
+						<u-radio @change="radioChange" v-for="(item, index) in list2" :key="index" :name="item.name"
+							:disabled="item.disabled">
+							{{item.name}}
+						</u-radio>
+					</u-radio-group>
+				</u-cell-item>
+			</u-cell-group>
+		</view>
+		<!-- 其他信息 -->
+		<view class="main">
+			<u-cell-group>
+				<u-cell-item title="公司名称" value="" required :arrow="false">
+					<u-input value="联通公司"></u-input>
+				</u-cell-item>
+				<u-cell-item title="公司税号" value="" required :arrow="false">
+					<u-input value="91291747147147Y"></u-input>
+				</u-cell-item>
+				<u-cell-item title="开户银行" value="" :arrow="false">
+					<u-input type="textarea" maxlength="34" value="中国工商银行股份有限公司荆州经济技术开发区支行"></u-input>
+				</u-cell-item>
+				<u-cell-item title="银行账户" value="" :arrow="false">
+					<u-input value="1813002800001112221"></u-input>
+				</u-cell-item>
+				<u-cell-item title="公司地址" value="" :arrow="false">
+					<u-input value="湖北省荆州开发区江津东路附155号"></u-input>
+				</u-cell-item>
+			</u-cell-group>
+		</view>
+
+		<view class="main">
+			<u-cell-item title="联系电话" value="" required :arrow="false">
+				<u-input value="15100001111
+"></u-input>
+			</u-cell-item>
+		</view>
+		<!-- 默认 -->
+		<view class="main ">
+			<u-cell-item title="设为默认" :arrow="false">
+				<u-switch size="40" v-model="checked" active-color="#00e266"></u-switch>
+			</u-cell-item>
+		</view>
+
+		<button class="save">保存</button>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				checked: true,
+				show:false,
+				list: [{
+						name: '企业单位',
+						disabled: false
+					},
+					{
+						name: '个人/非企业单位',
+						disabled: false
+					}
+				],
+				list2: [{
+						name: '增值税专票',
+						disabled: false
+					},
+					{
+						name: '增值税普票',
+						disabled: false
+					}
+				],
+
+				value: '企业单位',
+				value2: '增值税专票',
+			};
+		},
+		methods: {
+			// 选中某个单选框时,由radio时触发
+			radioChange(e) {
+				// console.log(e);
+			},
+			// 选中任一radio时,由radio-group触发
+			radioGroupChange(e) {
+				// console.log(e);
+			}
+		}
+	};
+</script>
+
+<style lang="scss" scoped>
+	.slot {
+		color: #ee3138;
+	}
+	.popup{
+		padding: 32rpx;
+		text-align: center;
+		.headline{
+			color: rgba(16,16,16,1);
+			font-size: 36rpx;
+			font-weight: bold;
+		}
+		.hint{
+			color: rgba(16,16,16,1);
+			font-size: 32rpx;
+			margin-top: 40rpx;
+		}
+		.btn-box{
+			margin-top: 82rpx;
+			display: flex;
+			justify-content: space-between;
+			.think{
+				width: 328rpx;
+				line-height: 80rpx;
+				border-radius: 4px;
+				background-color: rgba(222,225,228,1);
+				color: rgba(51,51,51,1);
+				font-size: 32rpx;
+			}
+			.confirm{
+				width: 328rpx;
+				line-height: 80rpx;
+				border-radius: 4px;
+				background-color: rgba(255,68,68,1);
+				color: rgba(255,255,255,1);
+				font-size: 32rpx;
+			}
+		}
+	}
+
+	.main {
+		background-color: #fff;
+		margin-bottom: 24rpx;
+	}
+
+	/deep/.u-cell {
+		height: 96rpx;
+	}
+
+	/deep/.u-cell__value {
+		text-align: left;
+		margin-left: 8%;
+		font-size: 32rpx;
+
+	}
+
+	/deep/.u-switch {
+		margin: auto 0;
+		float: left;
+		;
+	}
+
+	/deep/.uni-textarea-textarea {
+		line-height: 54rpx;
+
+
+	}
+
+	.save {
+
+		margin: 24rpx 32rpx;
+		line-height: 88rpx;
+		border-radius: 50px;
+		background: linear-gradient(-88.46deg, rgba(34, 109, 198, 1) 2.59%, rgba(9, 158, 237, 1) 97.02%);
+		color: rgba(255, 255, 255, 1);
+		font-size: 36rpx;
+
+	}
+</style>

+ 220 - 0
pages/businessHall-test/invoiceManagement/invoiceDetails.vue

@@ -0,0 +1,220 @@
+<template>
+	<view>
+		<u-navbar title="发票详情"  title-color="#101010" ></u-navbar>
+		<view class="background">
+			<view class="recharge-details">
+				<view class="headline">
+					发票金额(元)
+				</view>
+				<view class="sum">
+					1000.00
+				</view>
+				<view class="state">
+					开票中
+				</view>
+				<view class="details">
+					<view class="item">
+						<view class="item-title">
+							开票项目
+							
+						
+
+						</view>
+						<view class="item-value">
+							2024年1月扣费发票
+							
+							
+
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							发票类型
+							
+							
+						</view>
+						<view class="item-value">
+								企业单位
+								
+								
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							发票抬头
+							
+							
+						</view>
+						<view class="item-value">
+							联通公司
+							
+							
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							公司税号
+							
+							
+						</view>
+						<view class="item-value">
+							Y8521425210
+							
+							
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							手机号码
+							
+							
+						</view>
+						<view class="item-value">
+							15100001111
+							
+							
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							身份证号
+						</view>
+						<view class="item-value">
+					
+								420400200001011010
+								
+								
+								
+					
+						</view>
+					</view>
+				</view>
+				
+				<view class="details">
+					
+					
+					<view class="item">
+						<view class="item-title">
+							申请单号
+						</view>
+						<view class="item-value">
+							T20230816112557708460925
+							
+							
+
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							申请时间
+						</view>
+						<view class="item-value">
+							2023-08-20 10:29:00
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							开票时间
+						</view>
+						<view class="item-value">
+							2023-08-20 10:29:00
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 查看 -->
+		<button class="check">查看电子发票</button>
+		<!-- 返回 -->
+		<button class="back">返回</button>
+	</view> 
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background{
+		position: relative;
+		height: 200px;
+		background: linear-gradient(180deg, rgba(203,234,255,1) 0%,rgba(203,234,255,0) 100%);
+		.recharge-details{
+			position: absolute;
+			top: 24rpx;
+			left: 32rpx;
+			right: 32rpx;
+			background-color: #fff;
+			border-radius: 8px;
+			padding: 40rpx 32rpx;
+			text-align: center;
+			.headline{
+				color: rgb(16,16,16);
+				font-size: 36rpx;
+				
+			}
+			.sum{
+				color: rgb(16,16,16);
+				font-size: 48rpx;
+				margin-top: 32rpx;
+
+			}
+			.state{
+				color: rgba(255,123,0,1);
+				margin-top: 8rpx;
+			}
+			.details{
+				margin-top: 40rpx;
+				padding-top: 40rpx;
+				border-top: 1px solid rgba(241,241,241,1);
+				.item{
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					margin-bottom:16rpx;
+					.item-title{
+						color: rgb(119,119,119);
+					}
+					.item-value{
+						color: rgb(48,48,48);
+					}
+				}
+			}
+		}
+	}
+ // 返回
+ .back{
+	 border: 1px solid rgba(205,205,205,1);
+	 line-height: 88rpx;
+	 border-radius: 8px;
+	 background-color: rgba(255,255,255,1);
+	 color: rgba(119,119,119,1);
+	 font-size: 32rpx;
+	 position: absolute;
+	 top: 1132rpx;
+	 left: 32rpx;
+	 right: 32rpx;
+ }
+ // 查看
+ .check{
+	 
+	 line-height: 88rpx;
+	 border-radius: 8px;
+	 background-color: rgba(22,119,255,1);
+	 color: rgba(255,255,255,1);
+	 font-size: 32rpx;
+	 position: absolute;
+	 top: 1020rpx;
+	 left: 32rpx;
+	 right: 32rpx;
+ }
+</style>

+ 280 - 0
pages/businessHall-test/invoiceManagement/invoiceManagement.vue

@@ -0,0 +1,280 @@
+<template>
+	<view>
+		<u-navbar title="发票管理"  title-color="#101010" >
+			<view class="slot" slot="right" @click="gotoUrl('/pages/businessHall/invoiceManagement/InvoiceTitleManagement')">
+				抬头管理
+			</view>
+		</u-navbar>
+		<!-- 标签 -->
+		<view class="tabs">
+			<u-tabs :list="list" :is-scroll="false" bar-width="100" :current="current" @change="change"></u-tabs>
+		</view>
+		<!-- 未开发票 -->
+		<view class="not-invoiced" v-if="current==0">
+			<view class="invoice-item" v-for="item in 2" >
+				<view class="radio">
+					<label class="radio">
+						<radio value="" /><text></text>
+					</label>
+				</view>
+				<view class="infos">
+					<view class="title">
+						<view class="text">
+							2024年1月扣费发票
+						</view>
+						<view class="money">
+							1000.00元
+						</view>
+					</view>
+					<view class="item">
+						<view class="name">
+							发票抬头
+						</view>
+						<view class="value">
+							联通公司
+						</view>
+					</view>
+					<view class="item">
+						<view class="name">
+							申请时间
+						</view>
+						<view class="value">
+							2024-02-07 16:00:00
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		
+		<!-- 已开发票 -->
+		<view class="invoiced" v-if="current==1">
+			<view class="invoice-item"  >
+				
+				<view class="infos">
+					<view class="title">
+						<view class="text">
+							2024年1月扣费发票
+						</view>
+						<view class="state">
+							开票中
+						</view>
+					</view>
+					<view class="item">
+						<view class="name">
+							发票金额
+						</view>
+						<view class="value">
+							1000.00元
+							
+						
+
+						</view>
+					</view>
+					<view class="item">
+						<view class="name">
+							发票抬头
+						</view>
+						<view class="value">
+							联通公司
+							
+							
+						</view>
+					</view>
+					<view class="item">
+						<view class="name">
+							申请时间
+						</view>
+						<view class="value">
+							2024-02-07 16:00:00			
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="invoice-item"  >
+				
+				<view class="infos">
+					<view class="title">
+						<view class="text">
+							2024年1月扣费发票
+						</view>
+						<view class="state2">
+							已开票
+						</view>
+					</view>
+					<view class="item">
+						<view class="name">
+							发票金额
+						</view>
+						<view class="value">
+							1000.00元
+							
+						
+			
+						</view>
+					</view>
+					<view class="item">
+						<view class="name">
+							发票抬头
+						</view>
+						<view class="value">
+							联通公司
+							
+							
+						</view>
+					</view>
+					<view class="item">
+						<view class="name">
+							申请时间
+						</view>
+						<view class="value">
+							2024-02-07 16:00:00			
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 底部 -->
+		<view class="bottom" v-if="current==0">
+			<view class="all">
+				<label class="radio">
+					<radio value="" /><text></text>
+				</label>
+			</view>
+			<view class="total">
+				<view class="money">
+					共1000元
+				</view>
+				<view class="amount">
+					1张发票
+				</view>
+			</view>
+			<view class="btn-box">
+				<button class="btn">去开票</button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				list: [{
+					name: '未开发票'
+				}, {
+					name: '已开发票'
+				}],
+				current: 0
+			}
+		},
+		methods: {
+			change(index) {
+				this.current = index;
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.slot{
+		color: rgba(16,16,16,1);
+		font-size: 32rpx;
+		margin-right: 32rpx;
+	}
+	// 标签
+	.tabs{
+		background-color: #fff;
+		position: fixed;
+		left: 0;
+		right: 0;
+		top: 88rpx;
+		/deep/.u-tabs{
+			width: 400rpx;
+			margin: 0 auto;
+		}
+	}
+	// 发票
+	.not-invoiced,.invoiced{
+		margin-top: 96rpx;
+	}
+	.invoice-item{
+		margin: 24rpx;
+		padding: 32rpx;
+		background-color: #fff;
+		display: flex;
+		align-items: center;
+		.infos{
+			margin-left: 32rpx;
+			flex: 1;
+			.title{
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				font-size: 36rpx;
+				font-weight: 600;
+				.text{
+					color: rgba(51,51,51,1);
+					
+				}
+				.money{
+					color: rgba(255,61,0,1);
+					
+				}
+				.state{
+					color: rgba(255,61,0,1);
+					font-size: 36rpx;
+				}
+				.state2{
+					color: rgba(0,185,98,1);
+					font-size: 36rpx;
+				}
+			}
+			.item{
+				display: flex;
+				align-items: center;
+				margin-top: 24rpx;
+				.name{
+					color: rgba(119,119,119,1);
+				}
+				.value{
+					color: rgba(51,51,51,1);
+					margin-left: 24rpx;
+				}
+			}
+		}
+	}
+    // 底部
+	.bottom{
+		background-color: #fff;
+		padding: 28rpx 32rpx;
+		display: flex;
+		align-items: center;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		.total{
+			margin-left: 110rpx;
+			.money{
+				color: rgba(22,119,255,1);
+				font-size: 36rpx;
+			}
+			.amount{
+				color: #111111;
+				text-align: right;
+			}
+		}
+		.btn-box{
+			margin-left: auto;
+			.btn{
+				width: 260rpx;
+				border-radius: 50px;
+				background: linear-gradient(-88.46deg, rgba(34,109,198,1) 2.59%,rgba(9,158,237,1) 97.02%);
+				color: rgba(255,255,255,1);
+				font-size: 36rpx;
+				line-height: 80rpx;
+			}
+		}
+	}
+   
+</style>

+ 313 - 0
pages/businessHall-test/invoiceManagement/issueInvoice.vue

@@ -0,0 +1,313 @@
+<template>
+	<view>
+		<u-navbar title="开具发票" title-color="#101010">
+			<view class="slot" slot="right">
+				开票说明
+			</view>
+		</u-navbar>
+		<view class="cover">
+			<view class="title">
+				发票信息
+			</view>
+			<view class="image">
+				<image class="img" src="../../../assets/img/invoice.svg" mode=""></image>
+			</view>
+		</view>
+		<!-- 详细信息 -->
+		<!-- 企业单位 -->
+		<view class="invoice-infos">
+			<view class="item">
+				<view class="title">
+					发票金额
+				</view>
+				<view class="value money">
+					1000.00元
+				</view>
+			</view>
+
+			<view class="item">
+				<view class="title">
+					抬头类型
+				</view>
+				<view class="value ">
+					<label class="radio">
+						<radio value="" /><text>企业单位</text>
+					</label>
+					<label class="radio">
+						<radio value="" /><text>个人/非企业单位</text>
+					</label>
+				</view>
+			</view>
+
+			<view class="item">
+				<view class="title">
+					发票抬头
+				</view>
+				<view class="value">
+					<input type="text" placeholder="联通公司" />
+					<view class="icon">
+						<u-icon name="arrow-right" color="#acacac"></u-icon>
+					</view>
+				</view>
+			</view>
+			<view class="item">
+				<view class="title">
+					联系电话
+				</view>
+				<view class="value">
+					<input type="text" placeholder="15500001111" />
+				</view>
+			</view>
+		</view>
+		<!-- 个人/非企业单位 -->
+		<view class="invoice-infos">
+			<view class="item">
+				<view class="title">
+					发票金额
+				</view>
+				<view class="value money">
+					1000.00元
+				</view>
+			</view>
+
+			<view class="item">
+				<view class="title">
+					抬头类型
+				</view>
+				<view class="value ">
+					<label class="radio">
+						<radio value="" /><text>企业单位</text>
+					</label>
+					<label class="radio">
+						<radio value="" /><text>个人/非企业单位</text>
+					</label>
+				</view>
+			</view>
+
+			<view class="item">
+				<view class="title">
+					发票抬头
+				</view>
+				<view class="value value2">
+					<input type="text" placeholder="请选择发票抬头" />
+					<view class="icon">
+						<u-icon name="arrow-right" color="#acacac"></u-icon>
+					</view>
+				</view>
+			</view>
+			<view class="item">
+				<view class="title">
+					联系电话
+				</view>
+				<view class="value value2">
+					<input type="text" placeholder="请先选择发票抬头" />
+				</view>
+			</view>
+		</view>
+		<!-- 底部 -->
+		<view class="bottom">
+			<button class="btn" @click="show=true">提交申请</button>
+		</view>
+		<!-- 弹窗 -->
+		<view class="modal">
+			<u-modal v-model="show" :show-title="false" :show-cancel-button="true" cancel-text="返回修改"
+				confirm-text="确认开票">
+				<view class="headline">
+					<p>发票开具成功后不可撤销</p>
+					<p>请您仔细核对开票信息!</p>
+				</view>
+				<view class="infos">
+					<view class="item">
+						<view class="title">
+							发票项目
+						</view>
+						<view class="value">
+							2024年1月扣费发票
+
+
+
+						</view>
+					</view>
+					<view class="item">
+						<view class="title">
+							发票抬头
+						</view>
+						<view class="value">
+							联通公司
+
+
+						</view>
+					</view>
+					<view class="item">
+						<view class="title">
+							发票金额
+						</view>
+						<view class="value">
+							1000.00元
+						</view>
+					</view>
+					<view class="hint">
+						发票开具后,可开票额度将按照实际开票金额相应扣减
+					
+					</view>
+				</view>
+				
+			</u-modal>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				show: false,
+
+			}
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.cover {
+		margin: 24rpx 32rpx;
+		padding: 58rpx 32rpx;
+		border-radius: 8px;
+		position: relative;
+		background: linear-gradient(90deg, rgba(49, 110, 207, 1) 2%, rgba(20, 73, 159, 1) 100%);
+
+		.title {
+			color: rgba(255, 255, 255, 1);
+			font-size: 48rpx;
+			font-weight: bold;
+		}
+
+		.image {
+			width: 176rpx;
+			height: 176rpx;
+			position: absolute;
+			right: 0;
+			top: 0;
+
+			.img {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+
+	// 详细信息
+	.invoice-infos {
+		background-color: #fff;
+		border-radius: 8px;
+		margin: 36rpx 32rpx;
+
+		.item {
+			display: flex;
+			align-items: center;
+			padding: 28rpx 32rpx;
+
+			.title {
+				color: rgba(119, 119, 119, 1);
+				font-size: 32rpx;
+			}
+
+			.value {
+				flex: 1;
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				margin-left: 40rpx;
+
+				/deep/.uni-radio-input {
+					width: 32rpx;
+					height: 32rpx;
+				}
+
+				/deep/.uni-input-placeholder {
+					color: rgba(16, 16, 16, 1);
+					font-size: 32rpx;
+				}
+
+				.radio {
+					margin-right: 16rpx;
+				}
+
+
+			}
+
+			.value2 {
+
+				/deep/.uni-input-placeholder {
+					color: rgba(172, 172, 172, 1);
+					font-size: 32rpx;
+				}
+
+
+
+			}
+
+			.money {
+				color: rgba(255, 61, 0, 1);
+			}
+		}
+	}
+
+	// 底部
+	.bottom {
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		background-color: #fff;
+		padding: 24rpx 32rpx;
+
+		.btn {
+			line-height: 80rpx;
+			border-radius: 50px;
+			background: linear-gradient(-88.46deg, rgba(34, 109, 198, 1) 2.59%, rgba(9, 158, 237, 1) 97.02%);
+			color: rgba(255, 255, 255, 1);
+			font-size: 36rpx;
+		}
+	}
+
+	// 弹窗
+	.modal {
+		.headline {
+			text-align: center;
+			background: linear-gradient(90deg, rgba(49, 110, 207, 1) 2%, rgba(20, 73, 159, 1) 100%);
+			color: #fff;
+			padding: 32rpx 0;
+
+		}
+		.infos {
+			padding: 40rpx 48rpx 26rpx;
+		
+			.item {
+				display: flex;
+				justify-content: space-between;
+				margin-bottom: 24rpx;
+		
+				.title {
+					color: rgba(119, 119, 119, 1);
+					font-size: 32rpx;
+				}
+		
+				.value {
+					color: rgba(51, 51, 51, 1);
+					font-size: 32rpx;
+				}
+			}
+		
+		}
+		.hint{
+							 color: rgba(238,49,56,1);
+							 font-size: 28rpx
+		}
+	}
+
+	
+</style>

+ 185 - 0
pages/businessHall-test/invoiceManagement/personalTitle.vue

@@ -0,0 +1,185 @@
+<template>
+	<view>
+		<u-navbar title="编辑发票抬头" title-color="#101010">
+			<view class="slot" slot="right" @click="show=true">
+				删除
+			</view>
+		</u-navbar>
+		<!-- 删除弹出框 -->
+		<u-popup v-model="show"  mode="bottom" border-radius="12" >
+			<view class="popup">
+				<view class="headline">
+					确认删除
+				</view>
+				<view class="hint">
+					是否删除此发票抬头?
+				</view>
+				<view class="btn-box">
+					<view class="think">
+						我再想想
+					</view>
+					<view class="confirm">
+						确认删除
+					</view>
+				</view>
+			</view>
+		</u-popup>
+		<!-- 类型 -->
+		<view class="main">
+			<u-cell-group>
+				<u-cell-item title="抬头类型" required :arrow="false">
+					<u-radio-group v-model="value" @change="radioGroupChange">
+						<u-radio @change="radioChange" v-for="(item, index) in list" :key="index" :name="item.name"
+							:disabled="item.disabled">
+							{{item.name}}
+						</u-radio>
+					</u-radio-group>
+
+				</u-cell-item>
+				
+			</u-cell-group>
+		</view>
+		<!-- 其他信息 -->
+		<view class="main">
+			<u-cell-group>
+				
+				
+				
+				<u-cell-item title="发票抬头" required value="" :arrow="false">
+					<u-input value="李广宵"></u-input>
+				</u-cell-item>
+				<u-cell-item title="身份证号"  required value="" :arrow="false">
+					<u-input value="420400200001011010"></u-input>
+				</u-cell-item>
+			</u-cell-group>
+		</view>
+
+		<view class="main">
+			<u-cell-item title="联系电话" value="" required :arrow="false">
+				<u-input value="15100001111
+"></u-input>
+			</u-cell-item>
+		</view>
+		<!-- 默认 -->
+		<view class="main ">
+			<u-cell-item title="设为默认" :arrow="false">
+				<u-switch size="40" v-model="checked" active-color="#00e266"></u-switch>
+			</u-cell-item>
+		</view>
+
+		<button class="save">保存</button>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				checked: false,
+				show:false,
+				list: [{
+						name: '企业单位',
+						disabled: false
+					},
+					{
+						name: '个人/非企业单位',
+						disabled: false
+					}
+				],
+				
+
+				value: '个人/非企业单位',
+			};
+		},
+		methods: {
+			// 选中某个单选框时,由radio时触发
+			radioChange(e) {
+				// console.log(e);
+			},
+			// 选中任一radio时,由radio-group触发
+			radioGroupChange(e) {
+				// console.log(e);
+			}
+		}
+	};
+</script>
+
+<style lang="scss" scoped>
+	.slot {
+		color: #ee3138;
+	}
+	.popup{
+		padding: 32rpx;
+		text-align: center;
+		.headline{
+			color: rgba(16,16,16,1);
+			font-size: 36rpx;
+			font-weight: bold;
+		}
+		.hint{
+			color: rgba(16,16,16,1);
+			font-size: 32rpx;
+			margin-top: 40rpx;
+		}
+		.btn-box{
+			margin-top: 82rpx;
+			display: flex;
+			justify-content: space-between;
+			.think{
+				width: 328rpx;
+				line-height: 80rpx;
+				border-radius: 4px;
+				background-color: rgba(222,225,228,1);
+				color: rgba(51,51,51,1);
+				font-size: 32rpx;
+			}
+			.confirm{
+				width: 328rpx;
+				line-height: 80rpx;
+				border-radius: 4px;
+				background-color: rgba(255,68,68,1);
+				color: rgba(255,255,255,1);
+				font-size: 32rpx;
+			}
+		}
+	}
+
+	.main {
+		background-color: #fff;
+		margin-bottom: 24rpx;
+	}
+
+	/deep/.u-cell {
+		height: 96rpx;
+	}
+
+	/deep/.u-cell__value {
+		text-align: left;
+		margin-left: 8%;
+		font-size: 32rpx;
+
+	}
+
+	/deep/.u-switch {
+		margin: auto 0;
+		float: left;
+		;
+	}
+
+	/deep/.uni-textarea-textarea {
+		line-height: 54rpx;
+
+
+	}
+
+	.save {
+
+		margin: 24rpx 32rpx;
+		line-height: 88rpx;
+		border-radius: 50px;
+		background: linear-gradient(-88.46deg, rgba(34, 109, 198, 1) 2.59%, rgba(9, 158, 237, 1) 97.02%);
+		color: rgba(255, 255, 255, 1);
+		font-size: 36rpx;
+
+	}
+</style>

+ 63 - 0
pages/businessHall-test/invoiceManagement/viewE-invoice.vue

@@ -0,0 +1,63 @@
+<template>
+	<view>
+		<u-navbar title="查看电子发票"  title-color="#101010" ></u-navbar>
+		<view class="img-box">
+			<image class="img" src="@/assets/img/e-invoice.png" mode=""></image>
+		</view>
+		<view class="btn-box">
+			<button class="picture">下载图片</button>
+			<button class="pdf">下载PDF</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.img-box{
+		width: 100%;
+		height: 576rpx;
+		.img{
+			width: 100%;
+			height: 100%;
+		}
+	}
+    .btn-box{
+		
+		display: flex;
+		
+		margin-top: 24rpx;
+		.picture{
+			width: 332rpx;
+			
+			line-height: 88rpx;
+			border-radius: 8px;
+			background-color: rgba(255,255,255,1);
+			color: rgba(119,119,119,1);
+			font-size: 32rpx;
+			
+			
+			border: 1px solid rgba(205,205,205,1);
+		}
+		.pdf{
+			width: 330rpx;
+			
+			line-height: 88rpx;
+			border-radius: 8px;
+			background-color: rgba(22,119,255,1);
+			color: rgba(255,255,255,1);
+			font-size: 32rpx;
+		}
+	}
+</style>

+ 184 - 0
pages/businessHall-test/login/login.vue

@@ -0,0 +1,184 @@
+<template >
+	<view>
+		<view class="logo">
+			<image class="img" src="@/assets/img/logo.png" mode=""></image>
+			
+		</view>
+		<view  class="logoText">
+			荆鹏电管家
+		</view>
+		<!-- 手机号/密码 -->
+		<view class="input-box">
+			
+			<u-input  v-model="phone"  style="padding: 0 20px" class="tel-input" type="text"  placeholder="请输入手机号码" />
+		
+			<u-input  v-model="password" style="padding: 0 20px" class="password-input" type="password"  placeholder="请输入密码" :password-icon="true" />
+
+		</view>
+		
+		 <button class="login-disable" :class="{
+			 login:password.length&&phone.length
+		 }" @click="submit" >登录</button>
+		 
+		 <view class="reset" @click="gotoUrl('')">
+		 	忘记密码? <span style="color:#387aea ;">点击找回</span>
+		 </view>
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/pagejs/h_user.js'
+	import {
+		checkPhone
+	} from '@/apis/utils'
+	export default {
+		data() {
+			return {
+				phone:"",
+				password:"",
+			}
+		},
+		onLoad(){
+			
+			this.query()
+		},
+		methods: {
+			loginset(response){
+				
+				var token = response ? response.data.token : '';
+				this.carhelp.setToken(token);
+				this.carhelp.setPersonInfo(response.data.regUser);
+				this.carhelp.setPersonInfoPlus(response.data)
+				
+				//this.gotoUrl("pages/user/index")
+				uni.redirectTo({
+					url: '/pages/businessHall/index/index'
+				})
+			},
+			query(){
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				API.findByOpenId({
+					noerror:true,
+					openId: this.carhelp.getOpenId(),
+					
+				}).then((response) => {
+					this.loginset(response)
+					
+				
+				}).catch(error => {
+					uni.hideLoading();
+					
+				})
+			},
+			submit(){
+				if(!(this.phone.length&&this.password.length)){
+					return
+				}
+				var checkPhoneResult = checkPhone(this.phone);
+					
+				if (checkPhoneResult !== true) {
+					uni.showToast({
+						icon: "none",
+						title: checkPhoneResult,
+						
+					})
+					return;
+				}
+				
+				if(!this.password.length){
+					uni.showToast({
+						icon: "none",
+						title: "请输入密码"
+					})
+					return
+				}
+				
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				API.login({
+					password:this.password,
+					phone:this.phone,
+					openId: this.carhelp.getOpenId(),
+					
+				}).then((response) => {
+					
+					this.loginset(response)
+					
+				
+				}).catch(error => {
+					uni.hideLoading();
+					
+				})
+				
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page{
+		background-color: #fff;
+		padding-top: 160rpx;
+	}
+	.logoText{
+		width: 160rpx;
+		margin: 0 auto;
+		line-height: 46rpx;
+		color: rgba(16,16,16,1);
+		font-size: 32rpx;
+		margin-top: 20rpx;
+	}
+	.logo{
+		margin: 0 auto;
+		width: 160rpx;
+		height: 160rpx;
+		border-radius: 16px;
+		background: linear-gradient(180deg, rgba(31,85,255,1) 0%,rgba(39,171,255,1) 100%);
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		.img{
+			
+			width: 112rpx;
+			height: 112rpx;
+		}
+	}
+
+.input-box{
+	padding: 0 58rpx;
+	margin-top: 112rpx;
+	.tel-input,.password-input{
+		 display: flex;align-items: center;
+		border-radius: 50px;
+		background-color: rgba(248,248,248,1);
+		color: rgba(16,16,16,1);
+		height: 100rpx;
+		line-height: 100rpx;
+		padding: 0 48rpx;
+		margin-bottom: 40rpx;
+	}
+	
+}
+
+.login-disable{
+	margin: 80rpx 56rpx 40rpx;
+	border-radius: 100rpx;
+	background-color: rgba(223,223,223,1);
+	color: rgba(255, 255, 255, 1);
+}
+.login{
+	background-color: rgba(27,119,251,1);
+}
+
+.reset{
+	color: rgba(119,119,119,1);
+	text-align: center;
+}
+</style>

+ 228 - 0
pages/businessHall-test/message/message.vue

@@ -0,0 +1,228 @@
+<template>
+	<view>
+		<u-navbar title="消息 (1)"  title-color="#101010" ></u-navbar>
+		<!-- 消息列表 -->
+		<view class="message-list">
+			<view class="message-item"   @click="gotoUrl('/pages/businessHall/message/messageList')" >
+				<view class="icon">
+					<image class="img" src="@/assets/img/antFill-notification.svg" mode=""></image>
+				<view class="dot">
+					
+				</view>
+				</view>
+				<view class="content">
+					<view class="title">
+						<view class="title-name">
+							停电通知
+						</view>
+						<view class="title-time">
+							01-02
+						</view>
+					</view>
+					<view class="value">
+						接电力部门通知,明天(1月25日)因台区用电调调调调调调调调调
+					</view>
+				</view>
+			</view>
+			
+			<view class="message-item">
+				<view class="icon icon2">
+					<image class="img" src="@/assets/img/antFill-account-book.svg" mode=""></image>
+				
+				</view>
+				<view class="content">
+					<view class="title">
+						<view class="title-name">
+							余额提醒
+						</view>
+						<view class="title-time">
+							01-02
+						</view>
+					</view>
+					<view class="value">
+						租户您好,贵司账户余额不足100元,请尽快充值充值
+					</view>
+				</view>
+			</view>
+			
+			<view class="message-item">
+				<view class="icon icon3">
+					<image class="img" src="@/assets/img/fas fa-bell.svg" mode=""></image>
+				
+				</view>
+				<view class="content">
+					<view class="title">
+						<view class="title-name">
+							故障报警
+						</view>
+						<view class="title-time">
+							01-02
+						</view>
+					</view>
+					<view class="value">
+						本园区11楼所在楼层电表网络故障,我们会尽快处处处处
+					</view>
+				</view>
+			</view>
+			
+			<view class="message-item">
+				<view class="icon icon4">
+					<image class="img" src="@/assets/img/fas fa-exclamation-triangle Copy 1.svg" mode=""></image>
+				
+				</view>
+				<view class="content">
+					<view class="title">
+						<view class="title-name">
+							断电通知
+						</view>
+						<view class="title-time">
+							01-02
+						</view>
+					</view>
+					<view class="value">
+						租户您好,截止2月18日0时,贵司账户余额已不足足足足足
+					</view>
+				</view>
+			</view>
+			<view class="message-item">
+				<view class="icon icon5">
+					<image class="img" src="@/assets/img/fas fa-chart-pie.svg" mode=""></image>
+				
+				</view>
+				<view class="content">
+					<view class="title">
+						<view class="title-name">
+							电费月度账单
+						</view>
+						<view class="title-time">
+							01-02
+						</view>
+					</view>
+					<view class="value">
+						截止2024年01月,您家电表止码8652,用电12888888
+					</view>
+				</view>
+			</view>
+			
+			<view class="message-item">
+				<view class="icon icon6">
+					<image class="img" src="@/assets/img/md-watch_later.svg" mode=""></image>
+				
+				</view>
+				<view class="content">
+					<view class="title">
+						<view class="title-name">
+							租约到期提醒
+						</view>
+						<view class="title-time">
+							01-02
+						</view>
+					</view>
+					<view class="value">
+						用户您好,您的租约即将于2月14日到期,如需续续续
+					</view>
+				</view>
+			</view>
+		</view>
+		
+		<Tabbar :current="1" ></Tabbar>
+	</view>
+</template>
+
+<script>
+	import Tabbar from '@/components/Tabbar.vue'
+	export default {
+		components: {
+			Tabbar
+		},
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.message-list{
+		background-color: #fff;
+		.message-item{
+			display: flex;
+			
+			padding: 32rpx;
+			border-bottom: 1px solid rgba(240,240,240,1);
+			.icon{
+				width: 96rpx;
+				height: 96rpx;
+				border-radius: 12px;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				position: relative;
+				background: linear-gradient(180.4deg, rgba(127,213,151,1) 2.1%,rgba(67,176,116,1) 101.21%);
+			.img{
+				width: 56rpx;
+				height: 56rpx;
+			}
+			.dot{
+				width: 20rpx;
+				height: 20rpx;
+				border-radius:999px;
+				background-color: rgba(255,0,0,1);
+				position: absolute;
+				top:-6rpx;
+				right:-6rpx;
+			}
+			}
+			.icon2{
+				background: linear-gradient(180deg, rgba(121,172,255,1) 0%,rgba(57,132,255,1) 100%);
+				color: rgba(255,255,255,1);
+			}
+			.icon3{
+				background: linear-gradient(180.29deg, rgba(255,214,125,1) 0.9%,rgba(255,150,0,1) 100.4%);
+			}
+			.icon4{
+background: linear-gradient(180.29deg, rgba(255,124,112,1) 0.9%,rgba(255,79,63,1) 100.4%);
+			}
+			.icon5{
+				background: linear-gradient(178.44deg, rgba(122,232,227,1) 3.96%,rgba(57,182,182,1) 100.6%);
+			}
+			.icon6{
+				background: linear-gradient(179.2deg, rgba(168,178,238,1) 6.28%,rgba(123,123,240,1) 96.94%);
+			}
+			.content{
+				flex:1;
+				margin-left: 24rpx;
+				display: flex;
+				flex-direction: column;
+				justify-content: space-between;
+				.title{
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+					.title-name{
+						color: rgb(16,16,16);
+						font-size: 32rpx;
+					}
+					.title-time{
+						color: rgb(140,140,140);
+						font-size: 24rpx;
+					}
+				}
+				.value{
+					width: 560rpx;
+					white-space: nowrap;
+					overflow: hidden;
+					text-overflow: ellipsis;
+					margin-top: 10rpx;
+	
+					font-size: 24rpx
+				}
+			}
+		}
+	}
+
+</style>

+ 50 - 0
pages/businessHall-test/message/messageList.vue

@@ -0,0 +1,50 @@
+<template>
+	<view>
+		<u-navbar title="停电通知"  title-color="#101010" ></u-navbar>
+		<view class="main">
+			<view class="item" v-for="item in 2">
+				<view class="item-message">
+					接电力部门通知,明天(1月25日)因台区用电调整检修停电一天,具体停电时间:上午9:00至下午17:00,请大家根据实际情况提前做好准备工作,给大家带来不便敬请谅解!
+				</view>
+				<view class="item-time">
+					2024-01-02 10:00  园区办公室
+				</view>
+			</view>
+		</view>
+		
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main{
+		background-color: #fff;
+		margin-top: 24rpx;
+		.item{
+			padding: 32rpx;
+			border-bottom: 1px solid rgba(244,244,244,1);
+			.item-message{
+				line-height: 44rpx;
+				color: rgba(51,51,51,1);
+			}
+			.item-time{
+				color: rgb(153,153,153);
+				font-size: 24rpx;
+				margin-top: 16rpx;
+			}
+		}
+	}
+
+</style>

+ 130 - 0
pages/businessHall-test/mine/cancelAccount.vue

@@ -0,0 +1,130 @@
+<template>
+	<view>
+		<u-navbar title="注销账号" title-color="#101010"></u-navbar>
+		<view class="background">
+			<view class="main">
+				<view class="top">
+					<view class="img-box">
+						<image class="img" src="../../../assets/img/vessel.svg" mode=""></image>
+					</view>
+				</view>
+				<view class="content">
+					<p>我们很遗憾您做出注销帐号的决定,在决定注销前请您仔细阅读以下内容:</p>
+
+					<p>1.您应确保您有权决定该账户的注销事宜,不侵犯任何第三方的合法权益,如因此引发任何投诉争议,由您自行承担。</p>
+
+					<p>2.帐号注销后您无法再使用本产品的各项服务,您的个人信息及使用记录也将被清空。</p>
+					<p>3.如您已被国家机关调查或正处于诉讼、仲裁程序中,请注意,注销您的帐号并不代表此帐号注销前的帐号行为和相关责任得到豁免或减轻。</p>
+					</p>
+					<view class="notice">
+						注:本平台暂不提供线上注销账号功能,如您确有注销需求,可拨打客服电话沟通解决。
+					</view>
+
+				</view>
+
+
+			</view>
+		</view>
+		<!-- 底部 -->
+		<view class="bottom">
+			<button class="service">
+				<view>
+					<image class="img" src="@/assets/img/riFill-customer-service-2-fill 1.svg" mode=""></image>
+				</view>
+				客服电话(7:00-24:00)
+			</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			}
+		},
+
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background {
+		position: relative;
+		height: 200px;
+		background: linear-gradient(180deg, rgba(255, 217, 217, 1) 0%, rgba(255, 217, 217, 0) 100%);
+
+		.main {
+			position: absolute;
+			top: 24rpx;
+			left: 32rpx;
+			right: 32rpx;
+			background-color: #fff;
+			border-radius: 8px;
+			overflow: hidden;
+
+			.top {
+				background: linear-gradient(180deg, rgba(255, 100, 106, 1) 0%, rgba(255, 161, 164, 1) 98%);
+				height: 204rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				.img-box {
+
+					.img {
+						width: 144rpx;
+						height: 144rpx;
+
+						// box-shadow: 0px 6px 10px 0px rgba(255,0,9,1);
+
+
+					}
+				}
+
+
+			}
+
+			.content {
+				padding: 32rpx;
+				line-height: 46rpx;
+				color: rgb(16,16,16);
+				p{
+					margin-bottom: 16rpx;
+				}
+				.notice{
+					font-weight: bold;
+				}
+			}
+
+		}
+	}
+
+	// 底部
+	.bottom {
+		background-color: #fff;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		padding: 24rpx 32rpx;
+
+		.service {
+			display: flex;
+			justify-content: center;
+			align-items: center;
+
+			color: rgba(255, 255, 255, 1);
+			font-size: 32rpx;
+			border-radius: 50px;
+			background: linear-gradient(-88.46deg, rgba(34, 109, 198, 1) 2.59%, rgba(9, 158, 237, 1) 97.02%);
+		}
+
+		.img {
+			width: 40rpx;
+			height: 40rpx;
+			vertical-align: middle;
+			margin-right: 16rpx;
+		}
+	}
+</style>

+ 60 - 0
pages/businessHall-test/mine/changePassword.vue

@@ -0,0 +1,60 @@
+<template>
+	<view>
+		<u-navbar title="修改密码" title-color="#101010"></u-navbar>
+		<view class="main">
+			<view class="original-password">
+				<text>原密码	</text><u-input  v-model="password" style="padding: 0 0 0 20px" class="password-input" type="password"  placeholder="填写原密码" :password-icon="true" />
+			</view>
+			<view class="new-password">
+				<text>新密码</text><u-input  v-model="password" style="padding: 0 0 0 20px" class="password-input" type="password"  placeholder="创建6-16位组合新密码" :password-icon="true" />
+			</view>
+		</view>
+		<!-- 确认修改 -->
+		<button class="confirm">确认修改</button>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main{
+		background-color: #fff;
+		margin-top: 24rpx;
+		.original-password,.new-password{
+			line-height: 96rpx;
+			padding:0 32rpx;
+			display: flex;
+			align-items: center;
+			border-bottom: 1px solid rgba(221,221,221,1);
+			/deep/.u-input__input{
+				height: 96rpx;
+			}
+		}
+		text{
+			display: inline-block;
+			width: 128rpx;
+			color: rgba(51,51,51,1);
+			font-size: 32rpx;
+		}
+	}
+  // 确认修改
+  .confirm{
+	  border-radius: 8px;
+	  background-color: rgba(22,119,255,1);
+	  color: rgba(255,255,255,1);
+	  font-size: 32rpx;
+	  line-height: 88rpx;
+	  margin: 24rpx 32rpx;
+  }
+</style>

+ 66 - 0
pages/businessHall-test/mine/changePhone.vue

@@ -0,0 +1,66 @@
+<template>
+	<view>
+		<u-navbar title="修改手机号" title-color="#101010"></u-navbar>
+		<view class="main">
+			<view class="original-password">
+				<text>新手机号</text><u-input  v-model="password" style="padding: 0 0 0 20px"  maxlength="11" type="number"  placeholder="请填写新手机号"  />
+			</view>
+			<view class="new-password">
+				<text>验证码</text><u-input  v-model="password" style="padding: 0 0 0 20px" maxlength="6" type="number"  placeholder="6位验证码"  /><text class="verification-code">获取验证码</text>
+			</view>
+		</view>
+		<!-- 确认修改 -->
+		<button class="confirm">确认修改</button>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main{
+		background-color: #fff;
+		margin-top: 24rpx;
+		.original-password,.new-password{
+			line-height: 96rpx;
+			padding:0 32rpx;
+			display: flex;
+			align-items: center;
+			border-bottom: 1px solid rgba(221,221,221,1);
+			/deep/.u-input__input{
+				height: 96rpx;
+			}
+			
+		}
+		text{
+			display: inline-block;
+			width: 128rpx;
+			color: rgba(51,51,51,1);
+			font-size: 32rpx;
+		}
+		.verification-code{
+			width: 160rpx;
+			color: rgba(22,119,255,1);
+			font-size: 32rpx;
+		}
+	}
+  // 确认修改
+  .confirm{
+	  border-radius: 8px;
+	  background-color: rgba(22,119,255,1);
+	  color: rgba(255,255,255,1);
+	  font-size: 32rpx;
+	  line-height: 88rpx;
+	  margin: 24rpx 32rpx;
+  }
+</style>

+ 119 - 0
pages/businessHall-test/mine/contactService.vue

@@ -0,0 +1,119 @@
+<template>
+	<view>
+		<u-navbar title="联系客服"  title-color="#101010" ></u-navbar>
+		<view class="background">
+			<view class="common-problem">
+				<view class="headline">
+					常见问题
+				</view>
+				<!-- 标签 -->
+				<view class="tabs">
+					<u-tabs :list="list"  font-size="28" :is-scroll="false" :current="current" @change="change"></u-tabs>
+				</view>
+				<!-- 问题 -->
+				<view class="problems">
+					<u-collapse accordion="false">
+							<u-collapse-item :title="item.head" v-for="(item, index) in itemList" :open="item.open" :key="index">
+								{{item.body}}
+							</u-collapse-item>
+						</u-collapse>
+				</view>
+			</view>
+		</view>
+		<!-- 底部 -->
+		<view class="bottom">
+			<button class="service">
+				<view>
+					<image class="img" src="@/assets/img/riFill-customer-service-2-fill 1.svg" mode=""></image>
+				</view>
+				客服电话(7:00-24:00)
+			</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				list: [{
+					name: '软件使用'
+				}, {
+					name: '支付及退款'
+				}, {
+					name: '发票相关问题',
+					
+				}],
+				itemList: [{
+									head: "常见问题1",
+									body: "只要我们正确择取一个合适的参照物乃至稍降一格去看待他人,值得赏识的东西便会扑面而来",
+									open: true,
+									
+								},{
+									head: "常见问题2",
+									body: "学会欣赏,实际是一种积极生活的态度,是生活的调味品,会在欣赏中发现生活的美",
+									open: false,
+								},{
+									head: "常见问题3",
+									body: "但是据说雕刻大卫像所用的这块大理石,曾被多位雕刻家批评得一无是处,有些人认为这块大理石采凿得不好,有些人嫌它的纹路不够美",
+									open: false,
+								}],
+				current: 0
+			}
+		},
+		methods: {
+			change(index) {
+				this.current = index;
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background{
+		position: relative;
+		height: 200px;
+		background: linear-gradient(180deg, rgba(203,234,255,1) 0%,rgba(203,234,255,0) 100%);
+		.common-problem{
+			position: absolute;
			top: 24rpx;
			left: 32rpx;
			right: 32rpx;
			background-color: #fff;
			border-radius: 8px;
			padding: 40rpx 32rpx;
			.headline{
+				color: rgba(16,16,16,1);
+				font-size: 36rpx;
+			}
+			// 标签
+			.tabs{
+				width: 524rpx;
+				border-top: 1px solid rgba(232,232,232,1);
+				margin-top: 28rpx;
+			}
+			.problems{
+				margin-top: 8rpx;
+			}
+		}
+	}
+  // 底部
+  .bottom{
+	  background-color: #fff;
+	  position: fixed;
+	  bottom: 0;
+	  left: 0;
+	  right: 0;
+	  padding: 24rpx 32rpx;
+	  
+	  .service{
+		  display: flex;
+		  justify-content: center;
+		  align-items: center;	
+		  
+		  color: rgba(255,255,255,1);
+		  font-size: 32rpx;
+		  border-radius: 50px;
+		  background: linear-gradient(-88.46deg, rgba(34,109,198,1) 2.59%,rgba(9,158,237,1) 97.02%);
+	  }
+	  .img{
+		  width: 40rpx;
+		  height: 40rpx;
+		  vertical-align: middle;
+		  margin-right: 16rpx;
+	  }
+  }
+</style>

+ 734 - 0
pages/businessHall-test/mine/electronicMonitoring.vue

@@ -0,0 +1,734 @@
+<template>
+	<view>
+
+		<view class="background">
+			<u-picker-select title="日期选择" v-model="tabsFrom.show2"
+			 :defaultTime="tabsFrom.show2Index" :endYear="endYear"
+			 mode="time" :params="params"  @confirm="selector2confirm" @reset="selector2reset" ></u-picker-select>
+			
+			<u-navbar :background="background" back-icon-color="#fff" title="联通公司" title-color="#fff">
+				<view class="u-nav-slot" slot="right" @click="tabsFrom.show2=true,params.day=true">
+					<image class="img" src="@/assets/img/riLine-calendar-todo-line 1.svg" mode=""></image>
+				</view>
+			</u-navbar>
+			<!-- 日期 -->
+			<view class="date-box">
+				<view class="item item-today">
+					<view class="date">
+						26
+					</view>
+					<view class="week ">
+						今天
+					</view>
+					<view class="dot">
+						
+					</view>
+				</view>
+				<view class="item">
+					<view class="date">
+						27
+					</view>
+					<view class="week">
+						周六
+					</view>
+				</view>
+				<view class="item">
+					<view class="date">
+						28
+					</view>
+					<view class="week">
+						周日
+					</view>
+				</view>
+				<view class="item">
+					<view class="date">
+						29
+					</view>
+					<view class="week">
+						周一
+					</view>
+				</view>
+				<view class="item">
+					<view class="date">
+						30
+					</view>
+					<view class="week">
+						周二
+					</view>
+				</view>
+			</view>
+
+		</view>
+		<!-- 用电量 -->
+		<view class="electricity-consumption">
+			<view class="title">
+				用电量统计(kW·h)
+			</view>
+			<view class="degree">
+				<view class="item">
+					<view class="item-text">
+						百万
+					</view>
+					<view class="item-number">
+						0
+					</view>
+				</view>
+				<view class="item">
+					<view class="item-text">
+						拾万
+					</view>
+					<view class="item-number">
+						0
+					</view>
+				</view>
+				<view class="item">
+					<view class="item-text">
+						万
+					</view>
+					<view class="item-number">
+						0
+					</view>
+				</view>
+				<view class="item">
+					<view class="item-text">
+						千
+					</view>
+					<view class="item-number">
+						0
+					</view>
+				</view>
+				<view class="item">
+					<view class="item-text">
+						百
+					</view>
+					<view class="item-number">
+						0
+					</view>
+				</view>
+				<view class="item">
+					<view class="item-text">
+						拾
+					</view>
+					<view class="item-number">
+						7
+					</view>
+				</view>
+				<view class="item">
+					<view class="item-text">
+						1
+					</view>
+					<view class="item-number">
+						7
+					</view>
+				</view>
+				<view class="item">
+					<view class="item-text">
+						0.1
+					</view>
+					<view class="item-number decimal">
+						7
+					</view>
+				</view>
+			</view>
+			
+			<view class="radio">
+				<u-radio-group v-model="value" @change="radioGroupChange">
+					<u-radio @change="radioChange" v-for="(item, index) in list" :key="index" :name="item.id"
+						:disabled="item.disabled">
+						{{item.name}}
+					</u-radio>
+				</u-radio-group>
+			</view>
+		</view>
+		<!-- 各时段用电量 -->
+		<view class="electricity-chart">
+			<view class="title">
+				<view class="icon">
+
+				</view>
+				<view class="text">
+					各时段用电量 (度)
+
+				</view>
+			</view>
+			<view class="chart">
+				<image class="img" src="@/assets/img/chart@1x.png" mode=""></image>
+			</view>
+		</view>
+		<!-- 异常波动 -->
+		<view class="abnormal"  v-if="false">
+			<view class="headline">
+				<view class="title">
+					
+					<view class="text">
+						异常波动
+					</view>
+				</view>
+				<view class="more">
+					查看全部
+					<u-icon name="arrow-right" size="24" color="#d4d4d4"></u-icon>
+				</view>
+			</view>
+
+			<view class="details">
+				<view class="item">
+					<view class="name">
+						温度异常报警
+					</view>
+					<view class="time">
+						2024-01-25 15:00:00
+					</view>
+				</view>
+
+				<view class="item">
+					<view class="name">
+						三厢功率因数异常报警
+					</view>
+					<view class="time">
+						2024-01-05 20:00:00
+					</view>
+				</view>
+			</view>
+
+
+		</view>
+
+		<!-- 能源监测 -->
+		<view class="energy-inspection"  v-if="false">
+			<view class="title">
+				<view class="icon">
+
+				</view>
+				<view class="text">
+					能源监测
+
+				</view>
+			</view>
+			<view class="grid">
+				<u-grid :col="3" :border="false">
+					<u-grid-item>
+						<view class="icon icon2">
+							<image class="img" src="@/assets/img/Image@1.png" mode=""></image>
+						</view>
+						<view class="grid-text">三相电流</view>
+					</u-grid-item>
+					<u-grid-item>
+						<view class="icon icon2">
+							<image class="img" src="@/assets/img/Image@2.png" mode=""></image>
+						</view>
+						<view class="grid-text">三相电压</view>
+					</u-grid-item>
+					<u-grid-item>
+						<view class="icon icon3">
+							<image class="img" src="@/assets/img/Image@3.png" mode=""></image>
+						</view>
+						<view class="grid-text">三相温度</view>
+					</u-grid-item>
+					<u-grid-item>
+						<view class="icon icon4">
+							<image class="img" src="@/assets/img/Image@4.png" mode=""></image>
+						</view>
+						<view class="grid-text">三相有功功率</view>
+					</u-grid-item>
+					<u-grid-item>
+						<view class="icon icon5">
+							<image class="img" src="@/assets/img/Image@5.png" mode=""></image>
+						</view>
+						<view class="grid-text">三相功率因数</view>
+					</u-grid-item>
+					<u-grid-item>
+						<view class="icon icon6">
+							<image class="img" src="@/assets/img/Image@5.png" mode=""></image>
+						</view>
+						<view class="grid-text">平均功率因数</view>
+					</u-grid-item>
+				</u-grid>
+			</view>
+		</view>
+		<!-- 数据分析 -->
+		<view class="data-analysis"  v-if="false">
+			<view class="title">
+				<view class="icon">
+		
+				</view>
+				<view class="text">
+					数据分析
+		
+				</view>
+			</view>
+			<view class="grid">
+				<u-grid :col="3" :border="false">
+					<u-grid-item>
+						<view class="icon icon7">
+							<image class="img" src="@/assets/img/Image@7.png" mode=""></image>
+						</view>
+						<view class="grid-text">同比分析</view>
+					</u-grid-item>
+					<u-grid-item>
+						<view class="icon icon8">
+							<image class="img" src="@/assets/img/Image@8.png" mode=""></image>
+						</view>
+						<view class="grid-text">环比分析</view>
+					</u-grid-item>	
+				</u-grid>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				endYear:'',
+				params: {
+					year: true,
+					month: true,
+					day: true,
+					hour: false,
+					minute: false,
+					second: false
+				},
+				tabsFrom: {
+					show1: false,
+					show1Index:0,
+					show2Index:'',
+					show2: false,
+					show1Text: "全部类型",
+					show2Text: "全部时间",
+					selector1:[
+						{
+								label: '全部类型',
+								value: '',
+							},
+						{
+								label: '线上充值',
+								value: '1',
+							},
+							{
+								label: '线下充值',
+								value: '2',
+							},
+					]
+				},
+				background: {
+					backgroundColor: '#1677FF',
+				},
+				list: [{
+						id:0,
+						name: '总用电量',
+						disabled: false
+					},
+					{
+						id:1,
+						name: '当日用电量',
+						disabled: false
+					},
+					{
+						id:2,
+						name: '当月用电量',
+						disabled: false
+					}, {
+						id:3,
+						name: '当年用电量',
+						disabled: false
+					}, {
+						id:4,
+						name: '去年用电量',
+						disabled: false
+					}, {
+						id:5,
+						name: '指定月份',
+						disabled: false
+					}
+				],
+				// u-radio-group的v-model绑定的值如果设置为某个radio的name,就会被默认选中
+				value: 'orange',
+			};
+		},
+		onLoad() {
+			this.endYear=new Date().getFullYear()
+			
+		},
+		methods: {
+			selector2confirm(e){
+				this.tabsFrom.show2Text=e.year+"年"+e.month+"月"
+				
+				this.tabsFrom.show2Index=e.year+"-"+e.month
+				if(e.day){
+					this.tabsFrom.show2Text+=e.day+"日"
+					this.tabsFrom.show2Index+='-'+e.day	
+				}
+			},
+			selector2reset(e){
+				console.log(e)
+				this.tabsFrom.show2Text='全部时间'
+				this.tabsFrom.show2Index='';
+			},
+			// 选中某个单选框时,由radio时触发
+			radioChange(e) {
+				 //console.log(e);
+			},
+			// 选中任一radio时,由radio-group触发
+			radioGroupChange(e) {
+				 console.log(e);
+				 if(e==5){
+					 this.tabsFrom.show2=true
+					 this.params.day=false
+				 }
+			}
+		}
+	};
+</script>
+
+
+<style lang="scss" scoped>
+	page {
+		padding-bottom: 100rpx;
+	}
+	/deep/.uicon-nav-back{
+		color: #fff !important;
+		
+	}
+
+	.background {
+		background-color: rgba(22, 119, 255, 1);
+		padding-bottom: 100rpx;
+
+
+
+		/deep/.u-border-bottom:after {
+			border: none;
+		}
+
+		.u-nav-slot {
+			margin-right: 32rpx;
+
+			.img {
+				width: 48rpx;
+				height: 48rpx;
+				vertical-align: middle;
+			}
+		}
+
+
+	}
+
+
+	.background::after {
+		content: '';
+		position: absolute;
+		width: 160%;
+		height: 80px;
+		background-color: rgba(22, 119, 255, 1);
+		left: -30%;
+		border-radius: 0 0 50% 50%;
+
+	}
+
+	// // 日期
+	.date-box {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		margin: 24rpx 32rpx;
+
+
+		.item {
+			border-radius: 8px;
+			background-color: rgba(255, 255, 255, 0.1);
+			border: 1px solid rgba(255, 255, 255, 0.15);
+			width: 120rpx;
+			height: 120rpx;
+			color: #fff;
+			text-align: center;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+
+			.date {
+				font-size: 40rpx;
+
+
+			}
+
+		}
+
+		.item-today {
+			background-color: rgba(255, 255, 255, 1);
+            position: relative;
+			.date {
+				color: rgba(22, 119, 255, 1);
+			}
+
+			.week {
+				color: rgba(16, 16, 16, 1);
+			}
+			.dot{
+				width: 10rpx;
+				height: 10rpx;
+				background-color: rgba(255,150,0,1);
+				border-radius: 999px;
+				position: absolute;
+				bottom: -5rpx;
+				left: 50%;
+				transform: translateX(-50%);
+			}
+		}
+	}
+
+	// 用电量
+	.electricity-consumption {
+		background-color: #fff;
+		padding: 40rpx 32rpx 0rpx;
+		border-radius: 8px;
+		margin: -88rpx 32rpx 0;
+		position: relative;
+        .title{
+			color: rgba(16,16,16,1);
+			font-size: 36rpx;
+		}
+		.degree{
+			display: flex;
+			margin-top: 32rpx;
+			.item{
+				margin-right: 6rpx;
+				text-align: center;
+				.item-text{
+					color: rgba(16,16,16,1);
+				}
+				.item-number{
+					margin-top: 24rpx;
+					width: 72rpx;
+					height: 96rpx;
+					background-color: rgba(16,16,16,1);
+					color: #fff;
+					font-size: 72rpx;
+					
+				}
+				.decimal{
+					background-color: #900005;
+				}
+			}
+		}
+		
+
+		// .tab {
+		// 	width: 240rpx;
+		// 	height: 0;
+		// 	border-width: 0px 48rpx 72rpx 0px;
+		// 	border-radius: 8px 8px 0 0;
+		// 	border-style: none solid solid none;
+		// 	border-color: transparent transparent #fff;
+		// 	position: absolute;
+		// 	top: -72rpx;
+		// 	left: 0rpx;
+		// 	right: 0rpx;
+		// 	color: #101010;
+		// 	color: rgba(16, 16, 16, 1);
+		// 	text-align: center;
+		// 	line-height: 72rpx;
+		// 	z-index: 999;
+		// 	text-indent: 16rpx;
+		// }
+
+		// .tab2 {
+		// 	width: 240rpx;
+		// 	height: 0;
+		// 	border-width: 0px 48rpx 72rpx 0px;
+		// 	border-radius: 8px 8px 0 0;
+		// 	border-style: none solid solid none;
+		// 	border-color: transparent transparent #D4DBE4;
+		// 	position: absolute;
+		// 	top: -72rpx;
+		// 	left: 210rpx;
+		// 	right: 0rpx;
+		// 	color: #777777;
+		// 	text-align: center;
+		// 	line-height: 72rpx;
+		// 	text-indent: 16rpx;
+		// }
+
+		.radio {
+			margin-top: 24rpx;
+
+			/deep/.u-radio__label {
+				font-size: 24rpx
+			}
+
+			/deep/.u-radio {
+				margin-bottom: 16px;
+				width: 200rpx !important;
+			}
+
+		}
+	}
+
+	//各时段用电量
+	.electricity-chart {
+		margin: 24rpx 32rpx;
+		padding: 40rpx 0rpx;
+		background-color: #fff;
+		border-radius: 8px;
+
+		.title {
+			display: flex;
+			align-items: center;
+			padding: 0 32rpx;
+			margin-bottom: 40rpx;
+
+			.icon {
+				width: 36rpx;
+				height: 36rpx;
+				background-color: rgba(22, 119, 255, 1);
+				border: 6px solid rgba(182, 212, 255, 1);
+				border-radius: 100px;
+			}
+
+			.text {
+				color: rgba(51, 51, 51, 1);
+				font-size: 36rpx;
+				margin-left: 16rpx;
+			}
+		}
+
+		.chart {
+			width: 100%;
+			height: 440rpx;
+
+			.img {
+				width: 100%;
+				height: 440rpx;
+			}
+		}
+	}
+
+	// 异常
+	.abnormal {
+		margin: 24rpx 32rpx;
+		padding: 40rpx 32rpx;
+		background-color: #fff;
+		border-radius: 8px;
+
+		.headline {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+		}
+
+		.title {
+			display: flex;
+			align-items: center;
+
+			.icon {
+				width: 36rpx;
+				height: 36rpx;
+				background-color: rgba(22, 119, 255, 1);
+				border: 6px solid rgba(182, 212, 255, 1);
+				border-radius: 100px;
+			}
+
+			.text {
+				color: rgba(51, 51, 51, 1);
+				font-size: 36rpx;
+				margin-left: 16rpx;
+			}
+		}
+
+		.more {
+			color: #838383;
+			font-size: 24rpx
+		}
+
+		.details {
+			margin-top: 40rpx;
+
+			.item {
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				margin-top: 32rpx;
+
+				.name {
+					color: rgba(51, 51, 51, 1);
+				}
+
+				.time {
+					color: rgba(119, 119, 119, 1);
+					font-size: 24rpx;
+				}
+			}
+		}
+
+	}
+
+	// 能源监测
+	.energy-inspection,.data-analysis {
+		margin: 24rpx 32rpx;
+		padding: 40rpx 32rpx;
+		background-color: #fff;
+		border-radius: 8px;
+
+		.title {
+			display: flex;
+			align-items: center;
+
+			.icon {
+				width: 36rpx;
+				height: 36rpx;
+				background-color: rgba(22, 119, 255, 1);
+				border: 6px solid rgba(182, 212, 255, 1);
+				border-radius: 100px;
+			}
+
+			.text {
+				color: rgba(51, 51, 51, 1);
+				font-size: 36rpx;
+				margin-left: 16rpx;
+			}
+		}
+
+		.grid {
+			.icon {
+				width: 128rpx;
+				height: 128rpx;
+				border-radius: 12px;
+				background-color: rgba(35, 186, 178, 1);
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				margin-bottom: 16rpx;
+
+				.img {
+					width: 80rpx;
+					height: 80rpx;
+				}
+			}
+			.icon2{
+				background-color: rgba(42,186,72,1);
+			}
+			.icon3{
+				background-color: rgba(78,96,246,1);
+			}
+			.icon4{
+				background-color: rgba(22,119,255,1);
+			}
+			.icon5{
+				background-color: rgba(35,186,178,1);
+			}
+			.icon6{
+				background-color: rgba(42,186,72,1);
+			}
+			.icon7{
+				background-color: rgba(22,119,255,1);
+			}
+			.icon8{
+				background-color: rgba(35,186,178,1);
+			}
+
+			.grid-text {
+				color: #333333;
+			}
+		}
+	}
+</style>

+ 69 - 0
pages/businessHall-test/mine/findBackPassword.vue

@@ -0,0 +1,69 @@
+<template>
+	<view>
+		<u-navbar title="找回密码" title-color="#101010"></u-navbar>
+		<view class="main">
+			<view class="original-password">
+				<text>手机号码</text><u-input  v-model="password" style="padding: 0 0 0 20px"  maxlength="11" type="number"  placeholder="请填写手机号"  />
+			</view>
+			<view class="new-password">
+				<text>验证码</text><u-input  v-model="password" style="padding: 0 0 0 20px" maxlength="6" type="number"  placeholder="6位验证码"  /><text class="verification-code">获取验证码</text>
+			</view>
+			<view class="new-password">
+				<text>新密码</text><u-input  v-model="password" style="padding: 0 0 0 20px" class="password-input" type="password"  placeholder="创建6-16位组合新密码" :password-icon="true" />
+			</view>
+		</view>
+		<!-- 确认修改 -->
+		<button class="confirm">提交</button>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main{
+		background-color: #fff;
+		margin-top: 24rpx;
+		.original-password,.new-password{
+			line-height: 96rpx;
+			padding:0 32rpx;
+			display: flex;
+			align-items: center;
+			border-bottom: 1px solid rgba(221,221,221,1);
+			/deep/.u-input__input{
+				height: 96rpx;
+			}
+			
+		}
+		text{
+			display: inline-block;
+			width: 128rpx;
+			color: rgba(51,51,51,1);
+			font-size: 32rpx;
+		}
+		.verification-code{
+			width: 160rpx;
+			color: rgba(22,119,255,1);
+			font-size: 32rpx;
+		}
+	}
+  // 确认修改
+  .confirm{
+	  border-radius: 8px;
+	  background-color: rgba(22,119,255,1);
+	  color: rgba(255,255,255,1);
+	  font-size: 32rpx;
+	  line-height: 88rpx;
+	  margin: 24rpx 32rpx;
+  }
+</style>

+ 264 - 0
pages/businessHall-test/mine/mine.vue

@@ -0,0 +1,264 @@
+<template>
+	<view>
+		<view class="background">
+			<!-- 个人信息 -->
+			<view class="person-infos"  @click="gotoUrl('/pages/businessHall/mine/personInfos')" >
+				<view class="photo">
+					<image class="img" src="@/assets/img/photo@x1.png" mode=""></image>
+				</view>
+				<view class="else">
+					<view class="name">
+						{{personInfo.contacts}}
+					</view>
+					<view class="company">
+						{{personInfo.companyName}}
+					</view>
+					
+				</view>
+			</view>
+			<!-- 地址 -->
+			<view class="address-box">
+				<view class="address">
+					<view class="address-title">
+						荆鹏软件园
+					</view>
+					<view class="address-value">
+						<u-icon name="map"></u-icon>荆州市沙市区江津东路附155号
+					</view>
+				</view>
+				
+				<view class="image">
+					<image class="img" src="../../../assets/img/mineBackground.svg" mode=""></image>
+				</view>
+			</view>
+		</view>
+		<!-- 功能 -->
+		<view class="function-group">
+			<view class="function-item"   @click="gotoUrl('/pages/businessHall/mine/tenantInformation')"  >
+				<view class="icon">
+					<image class="img" src="@/assets/img/riLine-contacts-book-line.svg" mode=""></image>
+				</view>
+				<view class="name">
+					用户信息
+				</view>
+				<view class="arrow">
+					<u-icon name="arrow-right" color="#b2b2b2"></u-icon>
+				</view>
+			</view>
+			<view class="function-item" v-if="false">
+				<view class="icon">
+					<image class="img" src="@/assets/img/riLine-pie-chart-line.svg" mode=""></image>
+				</view>
+				<view class="name">
+					用电监控
+				</view>
+				<view class="arrow">
+					<u-icon name="arrow-right" color="#b2b2b2"></u-icon>
+				</view>
+			</view>
+			
+			<view class="function-item" v-if="false">
+				<view class="icon">
+					<image class="img" src="@/assets/img/riLine-book-2-line.svg" mode=""></image>
+				</view>
+				<view class="name">
+					用电常识
+				</view>
+				<view class="arrow">
+					<u-icon name="arrow-right" color="#b2b2b2"></u-icon>
+				</view>
+			</view>
+			
+			<view class="function-item"   @click="gotoUrl('/pages/businessHall/invoiceManagement/invoiceManagement')"  >
+				<view class="icon">
+					<image class="img" src="@/assets/img/iconPark-order2.svg" mode=""></image>
+				</view>
+				<view class="name">
+					发票管理
+				</view>
+				<view class="arrow">
+					<u-icon name="arrow-right" color="#b2b2b2"></u-icon>
+				</view>
+			</view>
+			
+			<view class="function-item"   @click="gotoUrl('/pages/businessHall/mine/contactService')" >
+				<view class="icon">
+					<image class="img" src="@/assets/img/riLine-customer-service-2-line.svg" mode=""></image>
+				</view>
+				<view class="name">
+					客服热线
+				</view>
+				<view class="arrow">
+					<u-icon name="arrow-right" color="#b2b2b2"></u-icon>
+				</view>
+			</view>
+			
+		</view>
+		
+		<view class="function-group" v-if="false">
+			<view class="function-item">
+				<view class="icon">
+					<image class="img" src="@/assets/img/riLine-user-settings-line.svg" mode=""></image>
+				</view>
+				<view class="name">
+					个人信息
+				</view>
+				<view class="arrow">
+					<u-icon name="arrow-right" color="#b2b2b2"></u-icon>
+				</view>
+			</view>
+			
+		</view>
+		
+		<view class="function-group" >
+			<view class="function-item" @click="gotoUrl('/pages/businessHall/mine/setting')">
+				<view class="icon">
+					<image class="img" src="@/assets/img/riLine-settings-2-line.svg" mode=""></image>
+				</view>
+				<view class="name">
+					设置
+				</view>
+				<view class="arrow">
+					<u-icon name="arrow-right" color="#b2b2b2"></u-icon>
+				</view>
+			</view>
+			
+		</view>
+		
+		<Tabbar :current="2" ></Tabbar>
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/pagejs/hall/index.js'
+	
+	import Tabbar from '@/components/Tabbar.vue'
+	export default {
+		components: {
+			Tabbar
+		},
+		data() {
+			return {
+				
+			}
+		},
+		onLoad() {
+			//zkxthis.homePage()
+		},
+		methods: {
+			homePage(){
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				API.homePage({
+					
+				}).then((response) => {
+					uni.hideLoading();
+					this.companyInfo=response.companyInfo;
+				}).catch(error => {
+					uni.hideLoading();
+					
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background{
+		background: linear-gradient(180deg, rgba(194,219,255,1) 53%,rgba(180,211,255,0) 100%);
+		padding: 72rpx 32rpx;
+		// 个人信息
+		.person-infos{
+			display: flex;
+			align-items: center;
+			.photo{
+				width: 112rpx;
+				height: 112rpx;
+				border-radius: 50px;
+				.img{
+					width: 100%;
+					height: 100%;
+				}
+			}
+			.else{
+				margin-left: 24rpx;
+				.name{
+					color: rgb(16,16,16);
+					font-size: 36rpx;
+				}
+				.company{
+					color: rgba(16,16,16,1);
+				}
+			}
+			
+		}
+		// 地址
+		.address-box{
+			border-radius: 8px;
+			background: linear-gradient(90deg, rgba(49,110,207,1) 2%,rgba(20,73,159,1) 100%);
+			color: #fff;
+			padding:40rpx 32rpx;
+			margin-top: 40rpx;
+			display: flex;
+			align-items: center;
+			position: relative;
+			.address{
+				.address-title{
+					font-size: 40rpx;
+				}
+				.address-value{
+					font-size: 24rpx;
+					margin-top: 8rpx;
+				}
+			}
+			
+			
+			.image {
+				width: 174rpx;
+				height: 174rpx;
+				position: absolute;
+				right: 0;
+				top: 20rpx;
+			
+				.img {
+					width: 100%;
+					height: 100%;
+				}
+			}
+		}
+	}
+
+
+// 功能
+.function-group{
+	border-radius: 8px;
+	background-color: #fff;
+	margin: 0 32rpx 24rpx;
+	.function-item{
+		display: flex;
+		align-items: center;
+		padding: 26rpx 26rpx 26rpx 0;
+		margin-left: 26rpx;
+		border-bottom: 1px solid rgba(221,221,221,1);
+		.icon{
+			width: 40rpx;
+			height: 40rpx;
+			.img{
+				width: 100%;
+				height: 100%;
+			}
+		}
+		.name{
+			color: rgba(51,51,51,1);
+			font-size: 30rpx;
+			margin-left: 26rpx;
+		}
+		.arrow{
+			margin-left: auto;
+		}
+	}
+}
+</style>

+ 102 - 0
pages/businessHall-test/mine/personInfos.vue

@@ -0,0 +1,102 @@
+<template>
+	<view>
+		<u-navbar title="个人信息"  title-color="#101010" ></u-navbar>
+		<view class="infos-group">
+			<view class="infos-item">
+				<view class="item-title">
+					头像
+				</view>
+				<view class="item-value value-img">
+					<image class="img" src="@/assets/img/photo@x1.png" mode=""></image>
+				    <u-icon color="#b2b2b2" name="arrow-right"></u-icon>
+				</view>
+			</view>
+			
+		</view>
+		
+		<view class="infos-group">
+			<view class="infos-item">
+				<view class="item-title">
+					姓名
+				</view>
+				<view class="item-value">
+					周琼
+				    <u-icon color="#b2b2b2" name="arrow-right"></u-icon>
+				</view>
+			</view>
+			<view class="infos-item">
+				<view class="item-title">
+					性别
+				</view>
+				<view class="item-value">
+					女
+				    <u-icon color="#b2b2b2" name="arrow-right"></u-icon>
+				</view>
+			</view>
+			<view class="infos-item">
+				<view class="item-title">
+					手机号码
+				</view>
+				<view class="item-value">
+					15500001111
+				</view>
+			</view>
+			<view class="infos-item">
+				<view class="item-title">
+					用户单位
+				</view>
+				<view class="item-value">
+					联通公司
+				    
+				</view>
+			</view>
+			
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.infos-group{
+		margin: 24rpx 32rpx;
+		background-color: #fff;
+		border-radius: 8px;
+		.infos-item{
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			padding: 36rpx 32rpx;
+			.item-title{
+				color: rgba(51,51,51,1);
+				font-size: 32rpx;
+			}
+			.item-value{
+				
+				color:#777777;
+				
+				.img{
+					width: 80rpx;
+					height: 80rpx;
+					border-radius: 50px;
+				}
+			}
+			.value-img{
+				display: flex;
+				align-items: center;
+			}
+		}
+	}
+
+</style>

+ 49 - 0
pages/businessHall-test/mine/setting.vue

@@ -0,0 +1,49 @@
+<template>
+	<view>
+		<u-navbar title="设置"  title-color="#101010" ></u-navbar>
+		<u-cell-group>
+				<u-cell-item  title="个人信息" ></u-cell-item>
+				<u-cell-item  title="修改密码" ></u-cell-item>
+				<u-cell-item  title="修改手机号" value="15014040129" ></u-cell-item>
+				<u-cell-item  title="修改手机号" ></u-cell-item>
+			</u-cell-group>
+			
+			<view class="exit">
+				退出账号
+			</view>
+	</view>
+	
+	
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	/deep/.u-cell_title{
+		color: rgba(51,51,51,1);
+	}
+	/deep/.u-cell__value{
+		color: #777777;
+	};
+	
+	.exit{
+		background-color: #fff;
+		margin: 24rpx 0 0 0 ;
+		text-align: center;
+		line-height: 96rpx;
+		color: rgba(238,49,56,1);
+		font-size: 32rpx;
+	}
+
+</style>

+ 258 - 0
pages/businessHall-test/mine/tenantInformation.vue

@@ -0,0 +1,258 @@
+<template>
+	<view>
+		<u-navbar title="用户信息"  title-color="#101010" ></u-navbar>
+		<!-- 地址 -->
+		<view class="address-box">
+			<view class="address">
+				<view class="address-title">
+					荆鹏软件园
+				</view>
+				<view class="address-value">
+					<u-icon name="map"></u-icon>荆州市沙市区江津东路附155号
+				</view>
+			</view>
+			<view class="image">
+				<image class="img" src="../../../assets/img/mineBackground.svg" mode=""></image>
+			</view>
+		</view>
+		<!-- 租户信息 -->
+		<view class="infos">
+			<view class="item">
+				<view class="item-title">
+					租户单位
+				</view>
+				<view class="item-value">
+					联通公司
+				</view>
+			</view>
+			<view class="item">
+				<view class="item-title">
+					户号
+				</view>
+				<view class="item-value">
+					080808
+				</view>
+			</view>
+			<view class="item">
+				<view class="item-title">
+					联系人
+				</view>
+				<view class="item-value">
+					周琼15500001111
+				</view>
+			</view>
+			<view class="item">
+				<view class="item-title">
+					租用地点
+				</view>
+				<view class="item-value">
+					A栋7楼 701、702、703
+				</view>
+			</view>
+			<view class="item">
+				<view class="item-title">
+					租期
+				</view>
+				<view class="item-value">
+					2024.02.01-2024.07.31
+				</view>
+			</view>
+			
+		</view>
+		<!-- 园区管家 -->
+		<view class="house-keeper">
+			<view class="headline">
+				园区管家 (08:00-18:00)
+			</view>
+			<view class="contact-information">
+				<view class="item">
+					<view class="photo photo1">
+						<image class="img" src="@/assets/img/if-ui-dial-phone 1.svg" mode=""></image>
+					</view>
+					<view class="tel">
+						<view class="title">
+							园区办公室
+						</view>
+						<view class="value">
+							0716-8121234
+						</view>
+					</view>
+					<view class="contact">
+						联系Ta
+						<text> <image class="img" src="@/assets/img/riFill-phone-fill.svg"></image></text>
+					</view>
+				</view>
+				
+				<view class="item">
+					<view class="photo">
+						<image class="img" src="@/assets/img/wImage@photo.png" mode=""></image>
+					</view>
+					<view class="tel">
+						<view class="title">
+							李书易
+						</view>
+						<view class="value">
+							19289999000
+						</view>
+					</view>
+					<view class="contact">
+						联系Ta
+						<text> <image class="img" src="@/assets/img/riFill-phone-fill.svg"></image></text>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 返回-->
+		<view class="back">
+			<button class="btn">返回</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	// 地址
+	.address-box{
+		border-radius: 8px;
+		background: linear-gradient(90deg, rgba(49,110,207,1) 2%,rgba(20,73,159,1) 100%);
+		color: #fff;
+		padding:40rpx 32rpx;
+		margin: 24rpx 32rpx;
+		display: flex;
+		align-items: center;
+		position: relative;
+		.address{
+			.address-title{
+				font-size: 40rpx;
+			}
+			.address-value{
+				font-size: 24rpx;
+				margin-top: 8rpx;
+			}
+		}
+		.image {
+			width: 174rpx;
+			height: 174rpx;
+			position: absolute;
+			right: 0;
+			top: 20rpx;
+		
+			.img {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+  
+  // 租户信息
+  .infos{
+	  border-radius: 8px;
+	  background-color: #fff;
+	  margin: 36rpx 32rpx;
+	  .item{
+		  display: flex;
+		  align-items: center;
+		  padding: 28rpx 32rpx;
+		  border-bottom: 1px solid rgba(221,221,221,1);
+		  .item-title{
+			  color: rgba(119,119,119,1);
+			  font-size: 32rpx;
+			  width: 128rpx;
+		  }
+		  .item-value{
+			  color: rgba(51,51,51,1);
+			  font-size: 32rpx;
+			  margin-left: 40rpx;
+		  }
+	  }
+  }
+
+  // 园区管家
+  .house-keeper{
+	  border-radius: 8px;
+	  background-color: #fff;
+	  margin: 24rpx 32rpx;
+	  padding: 32rpx;
+	  .headline{
+		  color: rgb(51,51,51);
+		  font-size: 36rpx;
+	  }
+	  .contact-information{
+		  .item{
+			  display: flex;
+			  align-items: center;
+			  margin-top: 40rpx;
+			  .photo{
+				  width: 96rpx;
+				  height: 96rpx;
+				  border-radius: 50px;
+				  display: flex;
+				  align-items: center;
+				  justify-content: center;
+				  .img{
+					  width: 96rpx;
+					  height: 96rpx;
+				  }
+				 
+			  }
+			  .photo1{
+				  background-color: #1677FF;
+				  .img{
+				  					  width: 48rpx;
+				  					  height: 48rpx;
+				  					  
+				  }
+			  }
+			  .tel{
+				  margin-left: 16rpx;
+				  .title{
+					  color: rgba(51,51,51,1);
+					  font-size: 32rpx;
+				  }
+				  .value{
+					  color: rgba(119,119,119,1);
+					  font-size: 24rpx;
+					  margin-top: 8rpx;
+				  }
+			  }
+			  
+			  .contact{
+				  margin-left: auto;
+				  display: flex;
+				  color: rgba(22,119,255,1);
+				  line-height: 32rpx;
+				  .img{
+					  width: 32rpx;
+					  height: 32rpx;
+					  margin-left: 4rpx;
+					  transform: scaleX(-1);
+				  }
+			  }
+		  }
+	  }
+  }
+  // 返回
+  .back{
+	  margin: 24rpx 32rpx;
+	  .btn{
+		  border-radius: 8px;
+		  background-color: rgba(255,255,255,1);
+		  color: rgba(119,119,119,1);
+		  font-size: 32rpx;
+		  line-height: 88rpx;
+		  border: 1px solid rgba(205,205,205,1);
+	  }
+  }
+</style>

+ 482 - 0
pages/businessHall-test/recharge/accountRecharge.vue

@@ -0,0 +1,482 @@
+<template>
+	<view>
+		<u-navbar title="账户充值"  title-color="#101010" >
+			<view slot="right" class="slot">
+				退余额
+			</view>
+		</u-navbar>
+		<view class="main">
+			<view class="headline">
+				<view class="title-left">
+					<view class="icon">
+						<image class="icon1" src="@/assets/img/PEokWS2@1x.png" mode=""></image>
+					</view>
+					<view class="text">
+						账户充值
+
+					</view>
+				</view>
+				<view class="title-right">
+					<view class="icon">
+						<image class="icon2" src="@/assets/img/riLine-time-line.svg" mode=""></image>
+					</view>
+					<view class="text">
+						充值记录
+					</view>
+				</view>
+			</view>
+			<view class="content">
+				<!-- 可用余额 -->
+				<view class="balance">
+					<view class="balance-left">
+						可用余额(元)
+					</view>
+					<view class="balance-right">
+						88.88
+					</view>
+				</view>
+				<!-- 提示 有余额-->
+				
+				<view class="hint">
+					有余额,可提前充值
+				</view>
+				<!-- 提示 无余额 已欠费 -->
+				<view class="hint hint2">
+					已扣完,请尽快缴费
+				</view>
+				<!-- 租户信息 -->
+				<view class="infos">
+					<view class="item">
+						<view class="item-title">
+							租户信息
+						</view>
+						
+						<view class="item-value">
+							3~6楼联通公司
+						</view>
+					</view>
+					
+					<view class="item">
+						<view class="item-title">
+							户号
+						</view>
+						
+						<view class="item-value">
+							00880088
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							联系人
+						</view>
+						
+						<view class="item-value">
+							周琼
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							缴费单位
+						</view>
+						
+						<view class="item-value">
+							湖北荆鹏集团有限公司
+						</view>
+					</view>
+				</view>
+				<!-- 缴费金额 -->
+				<view class="payment-amount">
+					<view class="title">
+						缴费金额
+					</view>
+					<view class="amount-options">
+						<view class="options-item chosen">
+							100元
+						</view>
+						<view class="options-item">
+							200元
+						</view>
+						<view class="options-item">
+							500元
+						</view>
+						<view class="options-item">
+							1000元
+						</view>
+						<view class="options-item">
+							2000元
+						</view>
+						<view class="options-item">
+							5000元
+						</view>
+					</view>
+				</view>
+				<!-- 输入金额 -->
+				<view class="input-amount">
+					<view class="symbol">
+						¥
+					</view>
+					<input class="input" type="text" placeholder="点击输入缴费金额">
+				</view>
+				<!-- 支付方式 -->
+				<view class="payment-way">
+					<view class="title">
+						支付方式
+					</view>
+					<view class="way">
+						<view class="way-item">
+							<view class="way-name">
+								<view class="icon">
+									<image class="img" src="@/assets/img/riFill-wechat-pay-fill fTAsMwS.svg" mode=""></image>
+								</view>
+								<view class="text">
+									微信支付
+								</view>
+							</view>
+							<view class="way-radio">
+								<label class="radio">
+									<radio value="" /><text></text>
+								</label>
+							</view>
+						</view>
+						
+						<view class="way-item">
+							<view class="way-name">
+								<view class="icon">
+									<image class="img" src="@/assets/img/antOutline-alipay-circle bQiHn7m.svg" mode=""></image>
+								</view>
+								<view class="text">
+									支付宝
+								</view>
+							</view>
+							<view class="way-radio">
+								<label class="radio">
+									<radio value="" /><text></text>
+								</label>
+							</view>
+						</view>
+						
+						<view class="way-item">
+							<view class="way-name">
+								<view class="icon">
+									<image style="width: 40rpx;height: 40rpx; border-radius: 999px;" class="img" src="@/assets/img/modalIcon.svg" mode=""></image>
+								</view>
+								<view class="text">
+									对公转账
+								</view>
+							</view>
+							<view class="way-radio" @click="open">
+								<label class="radio">
+									<radio value="" /><text></text>
+								</label>
+							</view>
+						</view>
+						<!-- 对公转账弹窗 -->
+						<u-modal v-model="show"  :show-cancel-button="true":content="content" :show-title="false" confirm-text="复制" cancel-text="关闭">
+							<view class="modal-content">
+								<view class="title-icon">
+									<image class="img" src="@/assets/img/modalIcon.svg" mode=""></image>
+								</view>
+								<view class="title">
+									对公转账信息
+								</view>
+								<view class="infos-group">
+									<view class="item">
+										<view class="item-title">
+											收款户名
+
+										</view>
+										<view class="item-value">
+											湖北荆鹏软件集团有限公司
+										
+
+										</view>
+									</view>
+									<view class="item">
+										<view class="item-title">
+											开户银行
+										</view>
+										<view class="item-value">
+											
+											中国工商银行玉桥支行
+				
+										</view>
+									</view>
+									<view class="item">
+										<view class="item-title">
+											收款账号								
+										</view>
+										<view class="item-value">
+											
+											25681354894163
+											
+									
+										</view>
+									</view>
+									<view class="item">
+										<view class="item-title">									
+											
+											
+											联系电话
+									
+										</view>
+										<view class="item-value">
+													15500001111
+										</view>
+									</view>
+								</view>
+							</view>
+						 
+						</u-modal>
+								
+					</view>
+				</view>
+				<!-- 按钮 -->
+				<button class="btn" >立即支付</button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				show: false,
+			}
+		},
+		methods: {
+			open() {
+							this.show = true;
+						}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page{
+		padding-bottom: 50px;
+	}
+	.slot{
+		margin-right: 24rpx;
+		color: rgba(16,16,16,1);
+	}
+	.main{
+		margin: 24rpx;
+		overflow: hidden;
+		.headline{
+			background: linear-gradient(90deg, rgba(120,175,247,1) 0%,rgba(39,116,226,1) 100%);
+			color: #fff;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding:24rpx;
+			.title-left{
+				display: flex;
+				align-items: center;
+				font-size: 36rpx;
+				.icon1{
+					width: 56rpx;
+					height: 56rpx;
+					margin-right: 8rpx;
+					vertical-align: middle;
+				}
+			}
+			.title-right{
+				display: flex;
+				font-size: 32rpx;
+				line-height: 32rpx;
+				.icon2{
+					width: 32rpx;
+					height: 32rpx;
+					margin-right: 8rpx;
+					
+				}
+			}
+			
+		}
+		
+		.content{
+			border-radius: 8px 8px 0 0 ;
+			margin-top: -8rpx;
+			z-index: 999;
+			background-color: #fff;
+			padding: 40rpx 32rpx;
+			// 可用余额
+			.balance{
+				display: flex;
+				justify-content: space-between;
+				
+				.balance-left{
+					color: rgb(48,48,48);
+					font-size: 36rpx;
+					line-height: 40px;
+				}
+				.balance-right{
+					color: rgb(48,48,48);
+					font-size: 80rpx;
+				}
+			}
+			// 提示
+			.hint{
+				font-size: 24rpx;
+				color: #1677FF;
+				margin-top: 16rpx;
+				text-align: right;
+				padding-bottom: 32rpx;
+				border-bottom: 1px solid rgba(244,244,244,1);
+			}
+			.hint2{
+				color: #E60012;
+			}
+			// 租户信息
+			.infos{
+				border-bottom: 1px solid rgba(244,244,244,1);
+				margin-top: 32rpx;
+				padding-bottom: 32rpx;
+				.item{
+					display: flex;
+					justify-content: space-between;
+					margin-bottom: 24rpx;
+					
+					.item-title{
+						color: rgb(119,119,119);
+					}
+					.item-value{
+						color: rgb(48,48,48);
+					}
+				}
+			}
+			// 缴费金额
+			.payment-amount{
+				margin-top: 32rpx;
+				.title{
+					color: rgb(48,48,48);
+					font-size: 36rpx;
+				}
+				.amount-options{
+					margin-top: 32rpx;
+					display: flex;
+					flex-wrap: wrap;
+					justify-content: space-between;
+					.options-item{
+						width: 200rpx;
+						height: 80rpx;
+						line-height: 80rpx;
+						border-radius: 4px;
+						text-align: center;
+						background-color: rgba(242,242,242,1);
+						color: rgba(16,16,16,1);
+						font-size: 32rpx;
+						margin-bottom: 20rpx;
+					}
+					.chosen{
+						background-color: rgba(22,119,255,1);
+						color: rgba(255,255,255,1);
+					}
+				}
+			}
+			// 输入金额
+			.input-amount{
+				margin-top: 24rpx;
+				display: flex;
+				font-size: 48rpx;
+				height: 100rpx;
+				line-height: 100rpx;
+				.symbol{
+					margin-right: 32rpx;
+				}
+				.input{
+					height: 100rpx;
+					font-size: 48rpx;
+					color: rgba(204,204,204,1);
+				}
+				/deep/.uni-input-placeholder{
+					color: rgba(204,204,204,1);
+				}
+			}
+		
+		
+		// 支付方式
+		.payment-way{
+			margin-top: 24rpx;
+			.title{
+				color: rgb(48,48,48);
+				font-size: 36rpx;
+			}
+			.way{
+				margin-top: 24rpx;
+				.way-item{
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+					margin-bottom: 24rpx;
+					.way-name{
+						display: flex;
+						align-items: center;
+						color: rgb(51,51,51);
+						.img{
+							width: 48rpx;
+							height: 48rpx;
+							vertical-align: middle;
+							margin-right: 16rpx;
+						}
+					}
+					/deep/.uni-radio-input{
+						width: 40rpx;
+						height: 40rpx;
+					}
+				}
+			}
+		}
+		// 按钮
+		.btn{
+			height: 96rpx;
+			border-radius: 50px;
+			background-color: rgba(51,133,255,1);
+			color: rgba(255, 255, 255, 1);
+			font-size: 36rpx;
+			margin-top: 48rpx;
+		}
+		
+		}
+	}
+
+
+// 对公转账弹窗
+.modal-content{
+	
+	padding: 40rpx 0;
+	.title-icon{
+		text-align: center;
+	}
+	.img{
+		width: 96rpx;
+		height: 96rpx;
+		
+	}
+	.title{
+		text-align: center;
+		color: rgba(16,16,16,1);
+		font-size: 36rpx;
+		font-weight: 600;
+		margin-top: 8rpx;
+	}
+	.infos-group{
+		margin: 40rpx 32rpx 0;
+		.item{
+			display:flex;
+			justify-content: space-between;
+			margin-bottom: 16rpx;
+			.item-title{
+				color: rgba(119,119,119,1);
+				font-size: 32rpx;
+			}
+			.item-value{
+				color: rgba(51,51,51,1);
+				font-size: 32rpx;
+				margin-left: 16rpx;
+			}
+		}
+	}
+}
+</style>

+ 168 - 0
pages/businessHall-test/recharge/monthlyBill.vue

@@ -0,0 +1,168 @@
+<template>
+	<view>
+		<u-navbar title="电费月度账单"  title-color="#101010" ></u-navbar>
+		<view class="background">
+			<view class="recharge-details">
+				<view class="headline">
+					2024年1月电费月度账单
+				</view>
+				<view class="sum">
+					1000.00
+				</view>
+				
+				<view class="details">
+					<view class="item">
+						<view class="item-title">
+							用户信息
+						</view>
+						<view class="item-value">
+							3~6楼联通公司
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							户号
+						</view>
+						<view class="item-value">
+								00880088
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							收费标准
+						</view>
+						<view class="item-value">
+								1.3元/度C
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							度数
+						</view>
+						<view class="item-value">
+								
+								61.53度 (起止码100-161.53)
+								
+						
+
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							可用余额
+						</view>
+						<view class="item-value">
+														
+							650.51元
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							统计截止日期
+						</view>
+						<view class="item-value">					
+							2024-01-02 00:00:01
+						</view>
+					</view>
+				</view>
+				
+				<view class="details">
+					<view class="chart-box">
+						<view class="title">
+							1月用电量趋势
+						</view>
+						<image class="img" src="../../../assets/img/jVzkNKE@1x.png" mode=""></image>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 返回 -->
+		<button class="back">返回</button>
+	</view> 
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background{
+		position: relative;
+		height: 200px;
+		background: linear-gradient(180deg, rgba(203,234,255,1) 0%,rgba(203,234,255,0) 100%);
+		.recharge-details{
+			position: absolute;
+			top: 24rpx;
+			left: 32rpx;
+			right: 32rpx;
+			background-color: #fff;
+			border-radius: 8px;
+			padding: 40rpx 32rpx;
+			text-align: center;
+			.headline{
+				color: rgb(16,16,16);
+				font-size: 36rpx;
+				
+			}
+			.sum{
+				color: rgb(16,16,16);
+				font-size: 48rpx;
+				margin-top: 32rpx;
+
+			}
+			
+			.details{
+				margin-top: 40rpx;
+				padding-top: 40rpx;
+				border-top: 1px solid rgba(241,241,241,1);
+				.item{
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					margin-bottom:16rpx;
+					.item-title{
+						color: rgb(119,119,119);
+					}
+					.item-value{
+						color: rgb(48,48,48);
+					}
+				}
+				.chart-box{
+					background-color: rgba(208,236,255,1);
+					border-radius: 8px;
+					.title{
+						text-align: left;
+						padding: 24rpx 28rpx;
+						color: rgba(16,16,16,1);
+					}
+				}
+				.img{
+					width: 622rpx;
+					height: 304rpx;
+				}
+			}
+		}
+	}
+ // 返回
+ .back{
+	 border: 1px solid rgba(205,205,205,1);
+	 line-height: 88rpx;
+	 border-radius: 8px;
+	 background-color: rgba(255,255,255,1);
+	 color: rgba(119,119,119,1);
+	 font-size: 32rpx;
+	 position: absolute;
+	 top: 1220rpx;
+	 left: 32rpx;
+	 right: 32rpx;
+ }
+</style>

+ 139 - 0
pages/businessHall-test/recharge/paymentResult.vue

@@ -0,0 +1,139 @@
+<template>
+	<view>
+		<u-navbar title="支付结果"  title-color="#101010" ></u-navbar>
+		<view class="success-icon">
+			<image class="img" src="@/assets/img/md-check_circle vRxbRvD.svg" mode=""></image>
+		</view>
+		<view class="success-text">
+			支付成功
+
+		</view>
+		<!-- 支付详情 -->
+		<view class="payment-infos">
+			<view class="item">
+				<view class="item-title">
+					充值金额
+				</view>
+				<view class="item-value">
+					1000元
+				</view>
+				
+			</view>
+			<view class="item">
+				<view class="item-title">
+					付款方式
+				</view>
+				<view class="item-value">
+					微信支付
+				</view>
+				
+			</view>
+			<view class="item">
+				<view class="item-title">
+					订单号
+				</view>
+				<view class="item-value">
+					T20230816112557708460925
+				</view>
+				
+			</view>
+			<view class="item">
+				<view class="item-title">
+					创建时间
+				</view>
+				<view class="item-value">
+					2023-08-20 10:29:00
+				</view>
+				
+			</view>
+			<view class="item">
+				<view class="item-title">
+					支付时间
+				</view>
+				<view class="item-value">
+					2023-08-20 10:29:30
+				</view>
+				
+			</view>
+		</view>
+		<!-- 按钮 -->
+		<view class="btns">
+			<button class="btn1">完成</button>
+			<button class="btn2">充值记录</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page{
+		background-color: #fff;
+	}
+	.success-icon{
+		width: 132rpx;
+		height: 132rpx;
+		margin: 48rpx auto; 
+		.img{
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.success-text{
+		color: rgba(51,51,51,1);
+		font-size: 48rpx;
+		text-align: center;
+	}
+	// 支付详情
+	.payment-infos{
+		margin-top: 64rpx;
+		padding: 0 80rpx;
+		.item{
+			display: flex;
+			justify-content: space-between;
+			margin-bottom: 24rpx;
+			.item-title{
+				color: rgb(119,119,119);
+			}
+			.item-value{
+				color: rgb(51,51,51);
+			}
+		}
+	}
+	// 按钮
+	.btns{
+		display: flex;
+		padding: 0 80rpx;
+		margin-top: 80rpx;
+		.btn1{
+			width: 280rpx;
+			height: 80rpx;
+			background-color: rgba(255,255,255,1);
+			color: rgba(51,51,51,1);
+			font-size: 32rpx;
+			border-radius: 50px;
+			border: 1px solid rgba(223,223,223,1);
+		}
+		.btn2{
+			width: 280rpx;
+			height: 80rpx;
+			border-radius: 50px;
+			background-color: rgba(22,119,255,1);
+			color: rgba(255,255,255,1);
+			font-size: 32rpx;
+			border: 0px solid rgba(187,187,187,1);
+		}
+	}
+
+</style>

+ 169 - 0
pages/businessHall-test/recharge/rechargeDetails.vue

@@ -0,0 +1,169 @@
+<template>
+	<view>
+		<u-navbar title="充值详情"  title-color="#101010" ></u-navbar>
+		<view class="background">
+			<view class="recharge-details">
+				<view class="headline">
+					账户充值
+				</view>
+				<view class="sum">
+					1000.00
+				</view>
+				<view class="state">
+					支付成功
+				</view>
+				<view class="details">
+					<view class="item">
+						<view class="item-title">
+							用户信息
+						</view>
+						<view class="item-value">
+							3~6楼联通公司
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							户号
+						</view>
+						<view class="item-value">
+								00880088
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							联系人
+						</view>
+						<view class="item-value">
+							周琼
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							缴费单位
+						</view>
+						<view class="item-value">
+							湖北荆鹏集团有点公司
+						</view>
+					</view>
+				</view>
+				
+				<view class="details">
+					<view class="item">
+						<view class="item-title">
+							付款方式
+						</view>
+						<view class="item-value">
+							微信支付
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							订单号
+						</view>
+						<view class="item-value">
+					30816112557708460925
+								
+								
+								
+								
+
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							创建时间
+						</view>
+						<view class="item-value">
+							2023-08-20 10:29:00
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							支付时间
+						</view>
+						<view class="item-value">
+							2023-08-20 10:29:00
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 返回 -->
+		<button class="back">返回</button>
+	</view> 
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background{
+		position: relative;
+		height: 200px;
+		background: linear-gradient(180deg, rgba(203,234,255,1) 0%,rgba(203,234,255,0) 100%);
+		.recharge-details{
+			position: absolute;
+			top: 24rpx;
+			left: 32rpx;
+			right: 32rpx;
+			background-color: #fff;
+			border-radius: 8px;
+			padding: 40rpx 32rpx;
+			text-align: center;
+			.headline{
+				color: rgb(16,16,16);
+				font-size: 36rpx;
+				
+			}
+			.sum{
+				color: rgb(16,16,16);
+				font-size: 48rpx;
+				margin-top: 32rpx;
+
+			}
+			.state{
+				color: rgb(56,158,13);
+				margin-top: 8rpx;
+			}
+			.details{
+				margin-top: 40rpx;
+				padding-top: 40rpx;
+				border-top: 1px solid rgba(241,241,241,1);
+				.item{
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					margin-bottom:16rpx;
+					.item-title{
+						color: rgb(119,119,119);
+					}
+					.item-value{
+						color: rgb(48,48,48);
+					}
+				}
+			}
+		}
+	}
+ // 返回
+ .back{
+	 border: 1px solid rgba(205,205,205,1);
+	 line-height: 88rpx;
+	 background-color: rgba(255,255,255,1);
+	 color: rgba(119,119,119,1);
+	 font-size: 32rpx;
+	 position: absolute;
+	 top: 970rpx;
+	 left: 32rpx;
+	 right: 32rpx;
+ }
+</style>

+ 377 - 0
pages/businessHall-test/recharge/rechargeRecord.vue

@@ -0,0 +1,377 @@
+<template>
+	<view>
+		<u-navbar title="充值记录" title-color="#101010"></u-navbar>
+		<!-- 折线图 -->
+		<view class="chart-box">
+			<view class="chart">
+				<view id="pieEcharts" style="min-height:240px;">
+				
+				</view>
+			</view>
+
+		</view>
+		<!-- 标签 -->
+		<view class="tabs">
+			<u-picker  v-model="tabsFrom.show1" mode="selector" :range="tabsFrom.selector1"  range-key="label" @confirm="selector1confirm" ></u-picker>
+			<u-picker-select title="日期选择" v-model="tabsFrom.show2"
+			 :defaultTime="tabsFrom.show2Index" :endYear="endYear"
+			 mode="time" :params="params"  @confirm="selector2confirm" @reset="selector2reset" ></u-picker-select>
+			
+			<view class="tabsItem" @click="tabsFrom.show1=!tabsFrom.show1">{{tabsFrom.show1Text}} <u-icon name="arrow-up"
+					v-if="tabsFrom.show1"></u-icon><u-icon v-else name="arrow-down"></u-icon></view>
+			<view class="tabsItem" @click="tabsFrom.show2=!tabsFrom.show2">{{tabsFrom.show2Text}} <u-icon name="arrow-up"
+					v-if="tabsFrom.show2"></u-icon><u-icon v-else name="arrow-down"></u-icon></view>
+		</view>
+		<!-- 记录 -->
+		<view class="records" >
+			<view class="time">
+				{{queryMonth}} 充值 {{jpAmount(sumAmount)}}元
+
+			</view>
+			<view class="details"  v-for="(item,i) in list" :key="i">
+				<view class="details-title">
+					<view class="name">
+						{{item.remark}}-{{item.methodN}}    
+					</view>
+					<view class="record-time">
+						{{item.createTime}}  
+					</view>
+				</view>
+				<view class="sum">
+					{{jpAmount(item.amount)}} 
+
+				</view>
+			</view>
+
+		</view>
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/pagejs/hall/deduction.js'
+	import {
+		nextDay,
+		nextMonth,
+	
+	} from '@/apis/utils'
+	import * as echarts from "echarts";
+	
+	export default {
+		data() {
+			return {
+				myChart:null,
+				list:[],
+				formData:{
+					pageIndex:1,
+					pageSize:9999,
+				},
+				
+				endYear:'',
+					queryMonth:"",
+				params: {
+					year: true,
+					month: true,
+					day: true,
+					hour: false,
+					minute: false,
+					second: false
+				},
+				tabsFrom: {
+					show1: false,
+					show1Index:0,
+					show2Index:'',
+					show2: false,
+					show1Text: "全部类型",
+					show2Text: "全部时间",
+					selector1:[
+						{
+								label: '全部类型',
+								value: '',
+							},
+						{
+								label: '线上充值',
+								value: '1',
+							},
+							{
+								label: '线下充值',
+								value: '2',
+							},
+					]
+				},
+				 
+				
+			 
+			}
+		},
+		onLoad() {
+			this.endYear=new Date().getFullYear()
+			
+			var date=new Date()
+			this.formData.startDate=date.getFullYear()+"-"+(date.getMonth() + 1) +"-1"
+			this.queryMonth=date.getFullYear()+"年"+(date.getMonth() + 1) +"月"
+			
+			this.rechargeRecord();
+			this.rechargeRecordGraph();
+		},
+		computed:{
+			
+			sumAmount(){
+				let totalAmount =0
+				if(this.list){
+					var amounts=this.list.map(item=>{
+						return item.amount
+					})
+				
+					 totalAmount = amounts.reduce((accumulator, currentValue) => {  
+					  return accumulator + currentValue;  
+					}, 0); 
+				}
+				 
+				
+				return   totalAmount
+			}
+		},
+		methods:{
+			selector2confirm(e){
+				
+				this.tabsFrom.show2Text=e.year+"年"+e.month+"月"
+				
+				this.tabsFrom.show2Index=e.year+"-"+e.month
+				if(e.day){
+					this.tabsFrom.show2Text+=e.day+"日"
+					this.tabsFrom.show2Index+='-'+e.day	
+				}
+				//this.tabsFrom.show2Index=this.tabsFrom.show2Text
+				
+			
+				if(e.day){
+					this.formData.startDate=e.year+"-"+e.month +"-"+e.day	
+				
+					this.queryMonth=e.year+"年"+e.month+"月"+e.day+"日"
+					this.formData.endDate=this.formData.startDate
+					//nextDay(e.year,e.month, e.day)
+					
+					
+				}else{
+					this.queryMonth=e.year+"年"+e.month+"月"
+					this.formData.startDate=e.year+"-"+e.month +"-1"
+					
+					this.formData.endDate=nextMonth(e.year,e.month, 1,1)
+					
+					
+				}
+				this.rechargeRecord()
+			},
+			selector2reset(e){
+			
+				this.tabsFrom.show2Text='全部时间'
+				this.tabsFrom.show2Index='';
+				
+				
+				this.formData.startDate=date.getFullYear()+"-"+(date.getMonth() + 1) +"-1"
+				this.queryMonth=date.getFullYear()+"年"+(date.getMonth() + 1)+"月" 
+				this.rechargeRecord()
+			},
+			selector1confirm(e){
+			
+				var index=e[0]
+				this.tabsFrom.show1Index=index
+				this.tabsFrom.show1Text=this.tabsFrom.selector1[index].label
+				this.formData.type=this.tabsFrom.selector1[index].value
+				this.rechargeRecord()
+			},
+			rechargeRecordGraph(){
+				
+				API.rechargeRecordGraph().then((response) => {
+					
+					var list=response.data;
+					
+					  // uni.getSystemInfo({  
+					  //     success: (res) => {  
+					  //       const screenWidth = res.windowWidth; // 屏幕宽度,单位为px  
+					  //       console.log('屏幕宽度:', screenWidth); 
+							
+					  //     },  
+					  //   });  
+						 this.getPle(list)
+						//uni.upx2px(600)
+					
+				}).catch(error => {
+					
+				})
+			},
+			getPle(list){
+				
+				if (!this.myChart) {
+					this.myChart = echarts.init(document.getElementById('pieEcharts'),null,{
+						width:uni.upx2px(700),height:uni.upx2px(280)
+					});
+				}
+				this.myChart.clear();
+				var data1=list.map(item=>{
+					return item.month.replace("-", "年")+"月"
+				});
+				var data2=list.map(item=>{
+					return item.monthAmount
+				});
+				var headitemby=""
+				var showkey = "";
+				var option = {
+					 tooltip: {
+					    trigger: 'axis'
+					  },
+					grid: {
+						top: '6%',
+						left: '3%',
+						right: '8%',
+						bottom: '8%',
+						containLabel: true
+					},
+					  xAxis: {
+					    type: 'category',
+					    data: data1,
+						axisLabel: {
+							formatter: (value) => {
+								if (headitemby == "") {
+									headitemby = value
+								}
+								var i = 0
+								
+								var showvalue = "";
+								var key = value.substring(0, 5);
+						
+								if (showkey == "" || value == headitemby) {
+									showkey = key
+						
+									showvalue = value
+									showvalue = value.substring(2)
+								} else {
+									if (key != showkey) {
+										showkey = key
+										showvalue = value
+										showvalue = value.substring(2)
+									} else {
+										showvalue = value.substring(5)
+									}
+								}
+								return showvalue.replace("年", ".").replace("月", "");
+						
+							},
+							textStyle: {
+								color: "#333"
+							}
+						},
+					  },
+					  yAxis: {
+					    type: 'value'
+					  },
+					  series: [
+					    {
+						  name: '合计',
+					      data: data2,
+					      type: 'line'
+					    }
+					  ]
+				}
+				console.log(option)
+				this.myChart.setOption(option);
+				
+				
+			},
+			rechargeRecord(){
+				
+				API.rechargeRecord(this.formData).then((response) => {
+					uni.hideLoading();
+					this.list=response.data.data;
+				}).catch(error => {
+					uni.hideLoading();
+					
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	// 折线图
+	.chart-box {
+		padding: 24rpx 32rpx;
+		background: linear-gradient(180deg, rgba(203, 234, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
+
+		.title {
+			color: rgb(16, 16, 16);
+		}
+
+		.sum {
+			color: rgb(51, 51, 51);
+			font-size: 64rpx;
+			margin-top: 16rpx;
+
+			.unit {
+				color: rgb(16, 16, 16);
+				font-size: 28rpx;
+				margin-left: 8rpx;
+			}
+		}
+
+		.chart {
+			width: 100%;
+			height: 240rpx;
+			margin-top: 8rpx;
+
+			.img {
+				width: 100%;
+				height: 100%;
+			}
+		}
+
+	}
+
+	// 标签
+	.tabs {
+
+		height: 96rpx;
+		line-height: 96rpx;
+		background-color: #fff;
+		border-top: 1px solid rgba(241, 241, 241, 1);
+		display: flex;
+		justify-content: space-around;
+
+	}
+
+	// 记录
+	.records {
+		.time {
+			padding: 24rpx 32rpx;
+			color: rgba(119, 119, 119, 1);
+			font-size: 32rpx;
+		}
+
+		.details {
+			background-color: #fff;
+			padding: 32rpx;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+
+			.details-title {
+				.title {
+					color: rgba(51, 51, 51, 1);
+					font-size: 32rpx;
+				}
+
+				.record-time {
+					color: rgb(153, 153, 153);
+					font-size: 24rpx;
+
+					margin-top: 8rpx;
+				}
+			}
+
+			.sum {
+				color: rgb(16, 16, 16);
+				font-size: 40rpx;
+			}
+		}
+	}
+</style>

+ 84 - 0
pages/businessHall-test/returnBalance/returnApplication.vue

@@ -0,0 +1,84 @@
+<template>
+	<view>
+		<u-navbar title="退费申请"  title-color="#101010" ></u-navbar>
+		<view class="success-icon">
+			<image class="img" src="@/assets/img/md-check_circle vRxbRvD.svg" mode=""></image>
+		</view>
+		<view class="success-text">
+			退费申请成功
+		</view>
+		<view class="hint">
+			退费中,预计0-5个工作日退还至原支付账户
+		</view>
+		
+		<!-- 按钮 -->
+		<view class="btns">
+			<button class="btn1">完成</button>
+			<button class="btn2">查看详情</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page{
+		background-color: #fff;
+	}
+	.success-icon{
+		width: 132rpx;
+		height: 132rpx;
+		margin: 40rpx auto 16rpx; 
+		.img{
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.success-text{
+		color: rgba(51,51,51,1);
+		font-size: 48rpx;
+		text-align: center;
+	}
+	.hint{
+		color: rgb(119,119,119);
+		text-align: center;
+		margin-top: 16rpx;
+	}
+	
+	// 按钮
+	.btns{
+		display: flex;
+		padding: 0 80rpx;
+		margin-top: 48rpx;
+		.btn1{
+			width: 280rpx;
+			height: 80rpx;
+			background-color: rgba(255,255,255,1);
+			color: rgba(51,51,51,1);
+			font-size: 32rpx;
+			border-radius: 50px;
+			border: 1px solid rgba(223,223,223,1);
+		}
+		.btn2{
+			width: 280rpx;
+			height: 80rpx;
+			border-radius: 50px;
+			background-color: rgba(22,119,255,1);
+			color: rgba(255,255,255,1);
+			font-size: 32rpx;
+			border: 0px solid rgba(187,187,187,1);
+		}
+	}
+
+</style>

+ 191 - 0
pages/businessHall-test/returnBalance/returnBalance.vue

@@ -0,0 +1,191 @@
+<template>
+	<view>
+		<u-navbar title="退余额"  title-color="#101010" ></u-navbar>
+		<!-- 余额 -->
+		<view class="balance">
+			<view class="number">
+				888.00
+			</view>
+			<view class="text">
+				可退余额(元)
+				<text><image class="img" src="@/assets/img/riLine-question-line 1.svg" mode="" @click="open"></image></text >
+			</view>
+			<u-modal v-model="show" :content="content"></u-modal>
+		</view>
+		<!-- 记录 -->
+		<view class="record">
+			<view class="title">
+				<view class="icon">
+					<image src="@/assets/img/riFill-file-list-3-fill 1.svg" class="img" mode=""></image>
+				</view>
+				<view class="text">
+					退费记录
+				</view>
+			</view>
+			
+			<view class="record-group">
+				<view class="item">
+					<view class="way-state">
+						<view class="way">
+							退至 对公账户
+						</view>
+						<view class="state">
+							退款中
+						</view>
+					</view>
+					<view class="time-money">
+						<view class="time">
+							01-01 00:01
+						</view>
+						<view class="money">
+							888.00元
+						</view>
+					</view>
+				</view>
+				
+				<view class="item">
+					<view class="way-state">
+						<view class="way">
+							退至 对公账户
+						</view>
+						<view class="state state2">
+							已退款
+						</view>
+					</view>
+					<view class="time-money">
+						<view class="time">
+							01-01 00:01
+						</view>
+						<view class="money">
+							888.00元
+						</view>
+					</view>
+				</view>
+			</view>
+			
+		</view>
+		<!-- 退款 -->
+		<view class="bottom">
+			<button class="btn" @click="open2">申请退款</button>
+			<u-modal v-model="show2" :content="content2" :show-cancel-button="true"></u-modal>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {	
+			return {
+				show: false,
+				show2:false,
+				content: '本平台仅支持可退费金额全额退费。充值退款申请成功后退费金额将于5个工作日内退还至您的充值账户、对公转账金额将退还至您的对公账户。在本平台,三个月内的支付宝充值、微信支付可申请退费。退费成功后,您可以在退费记录查看退费信息和审核进度。',
+				content2:'是否提交退费申请?申请成功后退费金额将于5个工作日内退款至您的充值账户。对公转账余额退费,申请成功后工作人员将在5~10个工作日内退款至您的对公账户。'
+			    
+
+			}
+		},
+		methods: {
+			open() {
+				this.show = true;
+			},
+			open2() {
+				this.show2 = true;
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	// 余额
+	.balance{
+		background-color: #fff;
+		text-align: center;
+		padding: 32rpx 0;
+		.number{
+			color: rgb(16,16,16);
+			font-size: 72rpx;
+		}
+		.text{
+			color: rgba(119,119,119,1);
+			
+			.img{
+				width: 32rpx;
+				height: 32rpx;
+				margin-left: 4rpx;
+				vertical-align: middle;
+			}
+		}
+	}
+	// 记录
+	.record{
+		background-color: #fff;
+		margin-top: 24rpx;
+		.title{
+			display: flex;
+			align-items: center;
+			padding: 24rpx 32rpx;
+			.icon{
+				.img{
+					width: 40rpx;
+					height: 40rpx;
+					vertical-align: middle;
+				}
+			}
+			.text{
+				color: rgb(16,16,16);
+				font-size: 36rpx;
+				margin-left: 8rpx;
+			}
+		}
+		.record-group{
+			.item{
+				padding: 24rpx 32rpx;
+				border-top: 1px solid rgba(221,221,221,1);
+				.way-state{
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+					margin-bottom: 8rpx;
+					.way{
+						color: rgba(51,51,51,1);
+						font-size: 32rpx;
+					}
+					.state{
+						color: rgba(255,123,0,1);
+						font-size: 32rpx;
+					}
+					.state2{
+						color: rgba(0,185,98,1);
+					}
+				}
+				.time-money{
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+					.time{
+						color: rgb(153,153,153);
+					}
+					.money{
+						color: rgba(16,16,16,1);
+					}
+				}
+			}
+		}
+	}
+  // 退款
+  .bottom{
+	  position: fixed;
+	  bottom: 0;
+	  left: 0;
+	  right: 0;
+	  padding: 24rpx 32rpx;
+	  background-color: #fff;
+	  .btn{
+		  line-height: 80rpx;
+		  border-radius: 50px;
+		  background: linear-gradient(-88.46deg, rgba(34,109,198,1) 2.59%,rgba(9,158,237,1) 97.02%);
+		  color: rgba(255,255,255,1);
+		  font-size: 36rpx;
+	  }
+  }
+</style>

+ 170 - 0
pages/businessHall-test/returnBalance/returnDetails.vue

@@ -0,0 +1,170 @@
+<template>
+	<view>
+		<u-navbar title="退费详情"  title-color="#101010" ></u-navbar>
+		<view class="background">
+			<view class="recharge-details">
+				<view class="headline">
+					退费金额(元)
+				</view>
+				<view class="sum">
+					1000.00
+				</view>
+				<view class="state">
+					退费中
+				</view>
+				<view class="details">
+					<view class="item">
+						<view class="item-title">
+							退款至
+						</view>
+						<view class="item-value">
+							对公账号
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							收款户号
+						</view>
+						<view class="item-value">
+								周琼
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							开户银行
+						</view>
+						<view class="item-value">
+							中国工商银行玉桥分行
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							收款账号
+						</view>
+						<view class="item-value">
+							008008008800088800088
+						</view>
+					</view>
+				</view>
+				
+				<view class="details">
+					<view class="item">
+						<view class="item-title">
+							退款订单
+						</view>
+						<view class="item-value">
+							30816112557708460925
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							交易单号
+						</view>
+						<view class="item-value">
+					
+								30816112557708460925
+								
+								
+								
+
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							申请时间
+						</view>
+						<view class="item-value">
+							2023-08-20 10:29:00
+						</view>
+					</view>
+					<view class="item">
+						<view class="item-title">
+							完成时间
+						</view>
+						<view class="item-value">
+							2023-08-20 10:29:00
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 返回 -->
+		<button class="back">返回</button>
+	</view> 
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background{
+		position: relative;
+		height: 200px;
+		background: linear-gradient(180deg, rgba(203,234,255,1) 0%,rgba(203,234,255,0) 100%);
+		.recharge-details{
+			position: absolute;
+			top: 24rpx;
+			left: 32rpx;
+			right: 32rpx;
+			background-color: #fff;
+			border-radius: 8px;
+			padding: 40rpx 32rpx;
+			text-align: center;
+			.headline{
+				color: rgb(16,16,16);
+				font-size: 36rpx;
+				
+			}
+			.sum{
+				color: rgb(16,16,16);
+				font-size: 48rpx;
+				margin-top: 32rpx;
+
+			}
+			.state{
+				color: rgba(255,123,0,1);
+				margin-top: 8rpx;
+			}
+			.details{
+				margin-top: 40rpx;
+				padding-top: 40rpx;
+				border-top: 1px solid rgba(241,241,241,1);
+				.item{
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					margin-bottom:16rpx;
+					.item-title{
+						color: rgb(119,119,119);
+					}
+					.item-value{
+						color: rgb(48,48,48);
+					}
+				}
+			}
+		}
+	}
+ // 返回
+ .back{
+	 border: 1px solid rgba(205,205,205,1);
+	 line-height: 88rpx;
+	 border-radius: 8px;
+	 background-color: rgba(255,255,255,1);
+	 color: rgba(119,119,119,1);
+	 font-size: 32rpx;
+	 position: absolute;
+	 top: 970rpx;
+	 left: 32rpx;
+	 right: 32rpx;
+ }
+</style>

+ 88 - 8
pages/login/login.vue

@@ -18,17 +18,19 @@
 		
 		 <button class="login-disable" :class="{
 			 login:password.length&&phone.length
-		 }"  >登录</button>
+		 }" @click="submit" >登录</button>
 		 
-		 <view class="reset" >
+		 <view class="reset"  @click="gotoUrl('/pages/mine/findBackPassword')" >
 		 	忘记密码? <span style="color:#387aea ;">点击找回</span>
 		 </view>
 	</view>
 </template>
 
 <script>
-	
-	
+	import * as API from '@/apis/pagejs/user.js'
+	import {
+		checkPhone
+	} from '@/apis/utils'
 	export default {
 		data() {
 			return {
@@ -36,11 +38,89 @@
 				password:"",
 			}
 		},
-		
-		methods: {
-			
-			
+		onLoad(){
 			
+			this.query()
+		},
+		methods: {
+			loginset(response){
+				
+				var token = response ? response.data.token : '';
+				this.carhelp.setToken(token);
+				this.carhelp.setPersonInfo(response.data.regUser);
+				this.carhelp.setPersonInfoPlus(response.data)
+				
+				//this.gotoUrl("pages/user/index")
+				uni.redirectTo({
+					url: '/pages/index/index'
+				})
+			},
+			query(){
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				API.findByOpenId({
+					noerror:true,
+					openId: this.carhelp.getOpenId(),
+					
+				}).then((response) => {
+					this.loginset(response)
+					
+				
+				}).catch(error => {
+					uni.hideLoading();
+					
+				})
+			},
+			submit(){
+				if(!(this.phone.length&&this.password.length)){
+					return
+				}
+				var checkPhoneResult = checkPhone(this.phone);
+					
+				if (checkPhoneResult !== true) {
+					uni.showToast({
+						icon: "none",
+						title: checkPhoneResult,
+						
+					})
+					return;
+				}
+				
+				if(!this.password.length){
+					uni.showToast({
+						icon: "none",
+						title: "请输入密码"
+					})
+					return
+				}
+				
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				API.login({
+					password:this.password,
+					phone:this.phone,
+					openId: this.carhelp.getOpenId(),
+					
+				}).then((response) => {
+					
+					this.loginset(response)
+					
+				
+				}).catch(error => {
+					uni.hideLoading();
+					uni.showToast({
+						icon: "none",
+						title: "登录失败"
+					})
+				})
+				
+			}
 		}
 	}
 </script>

+ 130 - 0
pages/mine/cancelAccount.vue

@@ -0,0 +1,130 @@
+<template>
+	<view>
+		<u-navbar title="注销账号" title-color="#101010"></u-navbar>
+		<view class="background">
+			<view class="main">
+				<view class="top">
+					<view class="img-box">
+						<image class="img" src="@/assets/img/vessel.svg" mode=""></image>
+					</view>
+				</view>
+				<view class="content">
+					<p>我们很遗憾您做出注销帐号的决定,在决定注销前请您仔细阅读以下内容:</p>
+
+					<p>1.您应确保您有权决定该账户的注销事宜,不侵犯任何第三方的合法权益,如因此引发任何投诉争议,由您自行承担。</p>
+
+					<p>2.帐号注销后您无法再使用本产品的各项服务,您的个人信息及使用记录也将被清空。</p>
+					<p>3.如您已被国家机关调查或正处于诉讼、仲裁程序中,请注意,注销您的帐号并不代表此帐号注销前的帐号行为和相关责任得到豁免或减轻。</p>
+					</p>
+					<view class="notice">
+						注:本平台暂不提供线上注销账号功能,如您确有注销需求,可拨打客服电话沟通解决。
+					</view>
+
+				</view>
+
+
+			</view>
+		</view>
+		<!-- 底部 -->
+		<view class="bottom">
+			<button class="service">
+				<view>
+					<image class="img" src="@/assets/img/riFill-customer-service-2-fill 1.svg" mode=""></image>
+				</view>
+				客服电话(7:00-24:00)
+			</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			}
+		},
+
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background {
+		position: relative;
+		height: 200px;
+		background: linear-gradient(180deg, rgba(255, 217, 217, 1) 0%, rgba(255, 217, 217, 0) 100%);
+
+		.main {
+			position: absolute;
+			top: 24rpx;
+			left: 32rpx;
+			right: 32rpx;
+			background-color: #fff;
+			border-radius: 8px;
+			overflow: hidden;
+
+			.top {
+				background: linear-gradient(180deg, rgba(255, 100, 106, 1) 0%, rgba(255, 161, 164, 1) 98%);
+				height: 204rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				.img-box {
+
+					.img {
+						width: 144rpx;
+						height: 144rpx;
+
+						// box-shadow: 0px 6px 10px 0px rgba(255,0,9,1);
+
+
+					}
+				}
+
+
+			}
+
+			.content {
+				padding: 32rpx;
+				line-height: 46rpx;
+				color: rgb(16,16,16);
+				p{
+					margin-bottom: 16rpx;
+				}
+				.notice{
+					font-weight: bold;
+				}
+			}
+
+		}
+	}
+
+	// 底部
+	.bottom {
+		background-color: #fff;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		padding: 24rpx 32rpx;
+
+		.service {
+			display: flex;
+			justify-content: center;
+			align-items: center;
+
+			color: rgba(255, 255, 255, 1);
+			font-size: 32rpx;
+			border-radius: 50px;
+			background: linear-gradient(-88.46deg, rgba(34, 109, 198, 1) 2.59%, rgba(9, 158, 237, 1) 97.02%);
+		}
+
+		.img {
+			width: 40rpx;
+			height: 40rpx;
+			vertical-align: middle;
+			margin-right: 16rpx;
+		}
+	}
+</style>

+ 103 - 0
pages/mine/changePassword.vue

@@ -0,0 +1,103 @@
+<template>
+	<view>
+		<u-navbar title="修改密码" title-color="#101010"></u-navbar>
+		<view class="main">
+			<view class="original-password">
+				<text>原密码	</text><u-input  v-model="form.oldPassword" style="padding: 0 0 0 20px" class="password-input" type="password"  placeholder="填写原密码" :password-icon="true" />
+			</view>
+			<view class="new-password">
+				<text>新密码</text><u-input  v-model="form.password" style="padding: 0 0 0 20px" class="password-input" type="password"  placeholder="创建6-16位组合新密码" :password-icon="true" />
+			</view>
+		</view>
+		<!-- 确认修改 -->
+		<button class="confirm" @click="changePassword">确认修改</button>
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/pagejs/user.js'
+	
+	export default {
+		data() {
+			return {
+				form: {
+					oldPassword: '',
+					password: '',
+				},
+			}
+		},
+		methods: {
+			changePassword(){
+				
+				if (!this.form.oldPassword) {
+					uni.showToast({
+						title: "请输入原密码",
+						icon: "none"
+					})
+					return
+				}
+				
+				if (!this.form.password) {
+					uni.showToast({
+						title: "请输入新密码",
+						icon: "none"
+					})
+					return
+				}
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				API.changePassword(this.form).then((response) => {
+					uni.hideLoading();
+					this.form.password=""
+					this.form.oldPassword=""
+					uni.showModal({
+						title:"提示",
+						content:"密码修改成功!",
+						showCancel:false
+					})
+					
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+				
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main{
+		background-color: #fff;
+		margin-top: 24rpx;
+		.original-password,.new-password{
+			line-height: 96rpx;
+			padding:0 32rpx;
+			display: flex;
+			align-items: center;
+			border-bottom: 1px solid rgba(221,221,221,1);
+			/deep/.u-input__input{
+				height: 96rpx;
+			}
+		}
+		text{
+			display: inline-block;
+			width: 128rpx;
+			color: rgba(51,51,51,1);
+			font-size: 32rpx;
+		}
+	}
+  // 确认修改
+  .confirm{
+	  border-radius: 8px;
+	  background-color: rgba(22,119,255,1);
+	  color: rgba(255,255,255,1);
+	  font-size: 32rpx;
+	  line-height: 88rpx;
+	  margin: 24rpx 32rpx;
+  }
+</style>

+ 198 - 0
pages/mine/changePhone.vue

@@ -0,0 +1,198 @@
+<template>
+	<view>
+		<u-navbar title="修改手机号" title-color="#101010"></u-navbar>
+		<view class="main">
+			<view class="original-password">
+				<text>新手机号</text><u-input  v-model="form.telephone" style="padding: 0 0 0 20px"  maxlength="11" type="number"  placeholder="请填写新手机号"  />
+			</view>
+			<view class="new-password">
+				<text>验证码</text><u-input  v-model="form.verifyCode" style="padding: 0 0 0 20px" maxlength="6" type="number"  placeholder="6位验证码"  />
+				<text class="verification-code" :style="isCodeTipsColor ? 'color: #999999;' : ''" @click="getCode" >{{codeTips}}</text>
+			</view>
+			<u-verification-code :seconds="sendMsgSecond" ref="uCode" @change="codeChange" @end="end" @start="start"
+				change-text="(Xs)">
+			</u-verification-code>
+		</view>
+		<!-- 确认修改 -->
+		<button class="confirm" @click="changePhone">确认修改</button>
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/pagejs/user.js'
+	
+	import {
+		checkPhone
+	} from '@/apis/utils'
+	
+	export default {
+		data() {
+			return {
+				form: {
+					telephone: '',
+					verifyCode: '',
+				},
+				isSendMsgIng: false,
+				isCodeTipsColor: false,
+				sendMsgSecond: 60,
+				codeTips: '',
+			}
+		},
+		onReady() {
+			var time = this.carhelp.get("getvcodetime");
+			if (time) {
+				//this.$refs.uCode.start();
+				var nowtime = new Date().getTime()
+				var differ = (nowtime - time) / 1000
+				if (differ < 2 * 60) {
+					this.sendMsgSecond = 2 * 60 - parseInt(differ)
+					this.isSendMsgIng = true;
+					this.$refs.uCode.start();
+					this.isCodeTipsColor = true;
+				}
+			}
+		},
+		methods: {
+			
+			changePhone() {
+				
+				var checkPhoneResult = checkPhone(this.form.telephone);
+				
+				if (!this.form.telephone || checkPhoneResult != true) {
+					uni.showToast({
+						title: checkPhoneResult,
+						icon: "none"
+					})
+					return;
+				}
+				if (!this.form.verifyCode) {
+					uni.showToast({
+						title: "请输入验证码",
+						icon: "none"
+					})
+					return
+				}
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+			
+				
+			
+				API.changePhone(this.form).then((response) => {
+					uni.hideLoading();
+					
+					this.carhelp.logoff()
+					uni.redirectTo({
+						url: '/pages/login/login'
+					})
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+			
+			},
+			codeChange(text) {
+				this.codeTips = text;
+			},
+			//倒计时
+			end() {
+				this.sendMsgSecond = 60;
+				this.isSendMsgIng = false;
+				this.isCodeTipsColor = false;
+			},
+			// 获取验证码
+			getCode() {
+				if (this.$refs.uCode.canGetCode) {} else {
+					uni.showToast({
+						title: '倒计时结束后再发送',
+						icon: "none"
+					})
+					return
+				}
+			
+				var checkPhoneResult = checkPhone(this.form.telephone);
+			
+				if (checkPhoneResult !== true) {
+					uni.showToast({
+						icon: "none",
+						title: checkPhoneResult,
+					})
+					return;
+				}
+				this.$refs.uCode.start();
+				this.isCodeTipsColor = true;
+			},
+			start() {
+				if (!this.isSendMsgIng) {
+					uni.showLoading({
+						title: "加载中",
+						mask: true,
+					})
+					API.getVerifyCode(this.form).then((response) => {
+						uni.hideLoading();
+						this.carhelp.set("getvcodetime", new Date().getTime());
+			
+						if (!"") {
+							//倒计时
+							uni.showToast({
+								icon: "none",
+								title: "发送成功"
+							})
+						} else {
+							uni.showToast({
+								icon: "none",
+								title: "您的验证码已经发送[5分钟有效],请勿重复点击"
+							})
+						}
+					}).catch(error => {
+						uni.showToast({
+							title: error,
+							icon: "none"
+						})
+					})
+				}
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main{
+		background-color: #fff;
+		margin-top: 24rpx;
+		.original-password,.new-password{
+			line-height: 96rpx;
+			padding:0 32rpx;
+			display: flex;
+			align-items: center;
+			border-bottom: 1px solid rgba(221,221,221,1);
+			/deep/.u-input__input{
+				height: 96rpx;
+			}
+			
+		}
+		text{
+			display: inline-block;
+			width: 128rpx;
+			color: rgba(51,51,51,1);
+			font-size: 32rpx;
+		}
+		.verification-code{
+			width: 160rpx;
+			color: rgba(22,119,255,1);
+			font-size: 32rpx;
+		}
+	}
+  // 确认修改
+  .confirm{
+	  border-radius: 8px;
+	  background-color: rgba(22,119,255,1);
+	  color: rgba(255,255,255,1);
+	  font-size: 32rpx;
+	  line-height: 88rpx;
+	  margin: 24rpx 32rpx;
+  }
+</style>

+ 119 - 0
pages/mine/contactService.vue

@@ -0,0 +1,119 @@
+<template>
+	<view>
+		<u-navbar title="联系客服"  title-color="#101010" ></u-navbar>
+		<view class="background">
+			<view class="common-problem">
+				<view class="headline">
+					常见问题
+				</view>
+				<!-- 标签 -->
+				<view class="tabs">
+					<u-tabs :list="list"  font-size="28" :is-scroll="false" :current="current" @change="change"></u-tabs>
+				</view>
+				<!-- 问题 -->
+				<view class="problems">
+					<u-collapse accordion="false">
+							<u-collapse-item :title="item.head" v-for="(item, index) in itemList" :open="item.open" :key="index">
+								{{item.body}}
+							</u-collapse-item>
+						</u-collapse>
+				</view>
+			</view>
+		</view>
+		<!-- 底部 -->
+		<view class="bottom">
+			<button class="service">
+				<view>
+					<image class="img" src="@/assets/img/riFill-customer-service-2-fill 1.svg" mode=""></image>
+				</view>
+				客服电话(7:00-24:00)
+			</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				list: [{
+					name: '软件使用'
+				}, {
+					name: '支付及退款'
+				}, {
+					name: '发票相关问题',
+					
+				}],
+				itemList: [{
+									head: "常见问题1",
+									body: "只要我们正确择取一个合适的参照物乃至稍降一格去看待他人,值得赏识的东西便会扑面而来",
+									open: true,
+									
+								},{
+									head: "常见问题2",
+									body: "学会欣赏,实际是一种积极生活的态度,是生活的调味品,会在欣赏中发现生活的美",
+									open: false,
+								},{
+									head: "常见问题3",
+									body: "但是据说雕刻大卫像所用的这块大理石,曾被多位雕刻家批评得一无是处,有些人认为这块大理石采凿得不好,有些人嫌它的纹路不够美",
+									open: false,
+								}],
+				current: 0
+			}
+		},
+		methods: {
+			change(index) {
+				this.current = index;
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background{
+		position: relative;
+		height: 200px;
+		background: linear-gradient(180deg, rgba(203,234,255,1) 0%,rgba(203,234,255,0) 100%);
+		.common-problem{
+			position: absolute;
			top: 24rpx;
			left: 32rpx;
			right: 32rpx;
			background-color: #fff;
			border-radius: 8px;
			padding: 40rpx 32rpx;
			.headline{
+				color: rgba(16,16,16,1);
+				font-size: 36rpx;
+			}
+			// 标签
+			.tabs{
+				width: 524rpx;
+				border-top: 1px solid rgba(232,232,232,1);
+				margin-top: 28rpx;
+			}
+			.problems{
+				margin-top: 8rpx;
+			}
+		}
+	}
+  // 底部
+  .bottom{
+	  background-color: #fff;
+	  position: fixed;
+	  bottom: 0;
+	  left: 0;
+	  right: 0;
+	  padding: 24rpx 32rpx;
+	  
+	  .service{
+		  display: flex;
+		  justify-content: center;
+		  align-items: center;	
+		  
+		  color: rgba(255,255,255,1);
+		  font-size: 32rpx;
+		  border-radius: 50px;
+		  background: linear-gradient(-88.46deg, rgba(34,109,198,1) 2.59%,rgba(9,158,237,1) 97.02%);
+	  }
+	  .img{
+		  width: 40rpx;
+		  height: 40rpx;
+		  vertical-align: middle;
+		  margin-right: 16rpx;
+	  }
+  }
+</style>

+ 227 - 0
pages/mine/findBackPassword.vue

@@ -0,0 +1,227 @@
+<template>
+	<view>
+		<u-navbar title="找回密码" title-color="#101010"></u-navbar>
+		<view class="main">
+			<view class="original-password">
+				<text>手机号码</text><u-input  v-model="form.telephone" style="padding: 0 0 0 20px"  maxlength="11" type="number"  placeholder="请填写手机号"  />
+			</view>
+			<view class="new-password">
+				<text>验证码</text><u-input  v-model="form.verifyCode" style="padding: 0 0 0 20px" maxlength="6" type="number"  placeholder="6位验证码"  />
+				<text class="verification-code" :style="isCodeTipsColor ? 'color: #999999;' : ''" @click="getCode" >{{codeTips}}</text>
+			</view>
+			<view class="new-password">
+				<text>新密码</text><u-input  v-model="form.password" style="padding: 0 0 0 20px" class="password-input" type="password"  placeholder="创建6-16位组合新密码" :password-icon="true" />
+			</view>
+		</view>
+		<u-verification-code :seconds="sendMsgSecond" ref="uCode" @change="codeChange" @end="end" @start="start"
+			change-text="(Xs)">
+		</u-verification-code>
+		<!-- 确认修改 -->
+		<button class="confirm"  @click="retrievePassword" >提交</button>
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/pagejs/user.js'
+	import {
+		checkPhone
+	} from '@/apis/utils'
+	export default {
+		data() {
+			return {
+				form: {
+					verifyCode:"",
+					telephone: '',
+					password: '',
+				},
+				isSendMsgIng: false,
+				isCodeTipsColor: false,
+				sendMsgSecond: 60,
+				codeTips: '',
+			}
+		},
+		onReady() {
+			var time = this.carhelp.get("getvcodetime");
+			if (time) {
+				//this.$refs.uCode.start();
+				var nowtime = new Date().getTime()
+				var differ = (nowtime - time) / 1000
+				if (differ < 2 * 60) {
+					this.sendMsgSecond = 2 * 60 - parseInt(differ)
+					this.isSendMsgIng = true;
+					this.$refs.uCode.start();
+					this.isCodeTipsColor = true;
+				}
+			}
+		},
+		methods: {
+			retrievePassword(){
+				
+				var checkPhoneResult = checkPhone(this.form.telephone);
+				
+				if (!this.form.telephone || checkPhoneResult != true) {
+					uni.showToast({
+						title: checkPhoneResult,
+						icon: "none"
+					})
+					return;
+				}
+				
+				if (!this.form.telephone) {
+					uni.showToast({
+						title: "请输入手机号",
+						icon: "none"
+					})
+					return
+				}
+				if (!this.form.verifyCode) {
+					uni.showToast({
+						title: "请输入验证码",
+						icon: "none"
+					})
+					return
+				}
+				if (!this.form.password) {
+					uni.showToast({
+						title: "请输入新密码",
+						icon: "none"
+					})
+					return
+				}
+				if (this.form.password.length<6||this.form.password.length>16) {
+					uni.showToast({
+						title: "请输入6-16位组合新密码",
+						icon: "none"
+					})
+					return
+				}
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				API.retrievePassword(this.form).then((response) => {
+					uni.hideLoading();
+					// this.form.password=""
+					// this.form.oldPassword=""
+					uni.showModal({
+						title:"提示",
+						content:"密码修改成功!",
+						showCancel:false,
+						success() {
+							uni.reLaunch({
+								url:"/pages/login/login"
+							})
+						}
+					})
+					
+					
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+				
+			},
+			codeChange(text) {
+				this.codeTips = text;
+			},
+			//倒计时
+			end() {
+				this.sendMsgSecond = 60;
+				this.isSendMsgIng = false;
+				this.isCodeTipsColor = false;
+			},
+			// 获取验证码
+			getCode() {
+				if (this.$refs.uCode.canGetCode) {} else {
+					uni.showToast({
+						title: '倒计时结束后再发送',
+						icon: "none"
+					})
+					return
+				}
+			
+				var checkPhoneResult = checkPhone(this.form.telephone);
+			
+				if (checkPhoneResult !== true) {
+					uni.showToast({
+						icon: "none",
+						title: checkPhoneResult,
+					})
+					return;
+				}
+				this.$refs.uCode.start();
+				this.isCodeTipsColor = true;
+			},
+			start() {
+				if (!this.isSendMsgIng) {
+					uni.showLoading({
+						title: "加载中",
+						mask: true,
+					})
+					API.getVerifyCode(this.form).then((response) => {
+						uni.hideLoading();
+						this.carhelp.set("getvcodetime", new Date().getTime());
+			
+						if (!"") {
+							//倒计时
+							uni.showToast({
+								icon: "none",
+								title: "发送成功"
+							})
+						} else {
+							uni.showToast({
+								icon: "none",
+								title: "您的验证码已经发送[5分钟有效],请勿重复点击"
+							})
+						}
+					}).catch(error => {
+						uni.showToast({
+							title: error,
+							icon: "none"
+						})
+					})
+				}
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main{
+		background-color: #fff;
+		margin-top: 24rpx;
+		.original-password,.new-password{
+			line-height: 96rpx;
+			padding:0 32rpx;
+			display: flex;
+			align-items: center;
+			border-bottom: 1px solid rgba(221,221,221,1);
+			/deep/.u-input__input{
+				height: 96rpx;
+			}
+			
+		}
+		text{
+			display: inline-block;
+			width: 128rpx;
+			color: rgba(51,51,51,1);
+			font-size: 32rpx;
+		}
+		.verification-code{
+			width: 160rpx;
+			color: rgba(22,119,255,1);
+			font-size: 32rpx;
+		}
+	}
+  // 确认修改
+  .confirm{
+	  border-radius: 8px;
+	  background-color: rgba(22,119,255,1);
+	  color: rgba(255,255,255,1);
+	  font-size: 32rpx;
+	  line-height: 88rpx;
+	  margin: 24rpx 32rpx;
+  }
+</style>

+ 98 - 0
pages/mine/setting.vue

@@ -0,0 +1,98 @@
+<template>
+	<view>
+		<u-navbar title="设置"  title-color="#101010" ></u-navbar>
+		<u-cell-group>
+				<u-cell-item  title="个人信息" @click="gotoUrl('/pages/mine/personInfos')" ></u-cell-item>
+				<u-cell-item  title="修改密码"  @click="gotoUrl('/pages/mine/changePassword')"  ></u-cell-item>
+				<u-cell-item  title="修改手机号" :value="personInfo.phone"  @click="gotoUrl('/pages/mine/changePhone')" ></u-cell-item>
+				<u-cell-item  title="注销账号"   @click="gotoUrl('/pages/mine/cancelAccount')" ></u-cell-item>
+			</u-cell-group>
+			
+			<view class="exit" @click="signOut" >
+				退出账号
+			</view>
+			
+			<u-modal v-model="show1" @confirm="confirm" confirm-color="#FF3D00" :show-cancel-button="true" ref="uModal" :asyncClose="true" title="退出账号"
+				content="是否退出当前账号?" :content-style="{color: '#333333'}"></u-modal>
+				
+	</view>
+	
+	
+</template>
+
+<script>
+	import * as userApi from '@/apis/pagejs/user.js'
+	// import * as API from '@/apis/pagejs/index.js'
+	
+	export default {
+		data() {
+			return {
+					personInfo:{},
+					show1:false,
+			}
+		},
+		onLoad() {
+			//this.homePage()
+		},
+		methods: {
+			signOut() {
+				this.show1 = true;
+			},
+			confirm() {
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})		
+				userApi.logout().then((res) => {
+					uni.hideLoading();
+					this.show1 = false;
+					this.carhelp.logoff()
+					uni.redirectTo({
+						url: '/pages/login/login'
+					})
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+			},
+			homePage(){
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				API.homePage({
+					
+				}).then((response) => {
+					uni.hideLoading();
+					
+					this.personInfo=response.data.regUser;
+				}).catch(error => {
+					uni.hideLoading();
+					
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	/deep/.u-cell_title{
+		color: rgba(51,51,51,1);
+	}
+	/deep/.u-cell__value{
+		color: #777777;
+	};
+	
+	.exit{
+		background-color: #fff;
+		margin: 24rpx 0 0 0 ;
+		text-align: center;
+		line-height: 96rpx;
+		color: rgba(238,49,56,1);
+		font-size: 32rpx;
+	}
+
+</style>