Răsfoiți Sursa

完成对账补缴功能

学习?学个屁 3 luni în urmă
părinte
comite
cf1b26c760
64 a modificat fișierele cu 1089 adăugiri și 300 ștergeri
  1. 238 176
      pages/charging/charging.vue
  2. 30 3
      pages/coupon-buy/coupon-buy.css
  3. 38 2
      pages/coupon-buy/coupon-buy.vue
  4. 64 11
      pages/index/index.css
  5. 32 4
      pages/index/index.vue
  6. 0 1
      pages/my/my.vue
  7. 25 1
      pages/order-detail/order-detail.css
  8. 11 0
      pages/order-detail/order-detail.vue
  9. 45 4
      pages/order/order.css
  10. 18 9
      pages/order/order.vue
  11. 55 0
      pages/terminal/terminal.css
  12. 26 6
      pages/terminal/terminal.vue
  13. 1 0
      static/img/arrears-icon.svg
  14. 1 0
      static/img/charge_loading.svg
  15. 2 2
      static/js/config.js
  16. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  17. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  18. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/app-navigation/app-navigation.js.map
  19. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-body/ax-body.js.map
  20. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-custom-title/ax-custom-title.js.map
  21. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-ios-indicator/ax-ios-indicator.js.map
  22. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-popup/ax-popup.js.map
  23. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/r-canvas/r-canvas.js.map
  24. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/Invite-staff/Invite-staff.js.map
  25. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/charging/charging.js.map
  26. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/coupon-buy/coupon-buy.js.map
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/coupons/coupons.js.map
  28. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/feedback-reply/feedback-reply.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/feedback/feedback.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/map.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map
  34. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/order-detail/order-detail.js.map
  35. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/order.js.map
  36. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/recharge-log/recharge-log.js.map
  37. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/search/search.js.map
  38. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/site-more/site-more.js.map
  39. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/site/site.js.map
  40. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/terminal/terminal.js.map
  41. 2 2
      unpackage/dist/dev/mp-weixin/common/vendor.js
  42. 32 0
      unpackage/dist/dev/mp-weixin/pages/charging/charging.js
  43. 0 0
      unpackage/dist/dev/mp-weixin/pages/charging/charging.wxml
  44. 9 0
      unpackage/dist/dev/mp-weixin/pages/charging/charging.wxss
  45. 63 2
      unpackage/dist/dev/mp-weixin/pages/coupon-buy/coupon-buy.js
  46. 0 0
      unpackage/dist/dev/mp-weixin/pages/coupon-buy/coupon-buy.wxml
  47. 30 2
      unpackage/dist/dev/mp-weixin/pages/coupon-buy/coupon-buy.wxss
  48. 53 14
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  49. 0 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  50. 57 11
      unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  51. 0 1
      unpackage/dist/dev/mp-weixin/pages/my/my.js
  52. 36 4
      unpackage/dist/dev/mp-weixin/pages/order-detail/order-detail.js
  53. 0 0
      unpackage/dist/dev/mp-weixin/pages/order-detail/order-detail.wxml
  54. 25 0
      unpackage/dist/dev/mp-weixin/pages/order-detail/order-detail.wxss
  55. 21 4
      unpackage/dist/dev/mp-weixin/pages/order/order.js
  56. 0 0
      unpackage/dist/dev/mp-weixin/pages/order/order.wxml
  57. 45 3
      unpackage/dist/dev/mp-weixin/pages/order/order.wxss
  58. 69 35
      unpackage/dist/dev/mp-weixin/pages/terminal/terminal.js
  59. 2 1
      unpackage/dist/dev/mp-weixin/pages/terminal/terminal.json
  60. 0 0
      unpackage/dist/dev/mp-weixin/pages/terminal/terminal.wxml
  61. 55 0
      unpackage/dist/dev/mp-weixin/pages/terminal/terminal.wxss
  62. 1 0
      unpackage/dist/dev/mp-weixin/static/img/arrears-icon.svg
  63. 1 0
      unpackage/dist/dev/mp-weixin/static/img/charge_loading.svg
  64. 2 2
      unpackage/dist/dev/mp-weixin/static/js/config.js

+ 238 - 176
pages/charging/charging.vue

@@ -5,10 +5,14 @@
 			<view v-if="exiting.visible" class="exiting">
 				<view class="app-flex c-center column contet">
 					<view class="exiting-title">长按停止按钮结束充电</view>
-					<view class="countdown-ring" :class="{active:exiting.lock}" @touchstart="exiting.lock=true" @touchend="exiting.lock=false">
+					<view class="countdown-ring" :class="{active:exiting.lock}" @touchstart="exiting.lock=true"
+						@touchend="exiting.lock=false">
 						<view class="_half left" @animationend="submitExit()"></view>
 						<view class="_half right"></view>
-						<view class="_button"><view>停止</view><view>充电</view></view>
+						<view class="_button">
+							<view>停止</view>
+							<view>充电</view>
+						</view>
 					</view>
 					<view class="close" @click="exiting.visible=false">取消</view>
 				</view>
@@ -22,11 +26,12 @@
 			<!-- 充电动画 -->
 			<view class="charge-loading-box" v-if="orderInfo.status == 1">
 				<view class="charge-loading">
+					<image class="charge-icon" src="../../static/img/charge_loading.svg" mode=""></image>
 					<view class="c-loading"></view>
 				</view>
 			</view>
 			<view v-if="orderInfo.status == 0" class="timer">
-				<view class="value" style="font-size: 22px;">充电正在启动中......</view>	
+				<view class="value" style="font-size: 22px;">充电正在启动中......</view>
 				<view v-if="isShowBtn" class="name" style="color: red;font-size: 14px;">长时间无法启动可点击“长按结束充电”按钮结束订单。</view>
 			</view>
 			<!-- 主图 -->
@@ -35,23 +40,50 @@
 			</view>
 			<!-- 主参数 -->
 			<view class="parameter">
-				<view class="param"><view class="value">{{deviceInfo.current}}</view><view class="name">电流A</view></view>
-				<view class="param"><view class="value">{{getVolt()}}</view><view class="name">电压V</view></view>
-				<view class="param"><view class="value">{{deviceInfo.power}}</view><view class="name">功率KW</view></view>
+				<view class="param">
+					<view class="value">{{deviceInfo.current}}</view>
+					<view class="name">电流A</view>
+				</view>
+				<view class="param">
+					<view class="value">{{getVolt()}}</view>
+					<view class="name">电压V</view>
+				</view>
+				<view class="param">
+					<view class="value">{{deviceInfo.power}}</view>
+					<view class="name">功率KW</view>
+				</view>
 			</view>
 			<!-- 统计兰 -->
 			<view class="statbar">
-				<view class="sta"><view class="value">{{statInfo.electricity}}</view><view class="name">电量/度</view></view>
+				<view class="sta">
+					<view class="value">{{statInfo.electricity}}</view>
+					<view class="name">电量/度</view>
+				</view>
 				<view class="split"></view>
-				<view class="sta"><view class="value">{{statInfo.cost}}</view><view class="name">费用/元</view></view>
+				<view class="sta">
+					<view class="value">{{statInfo.cost}}</view>
+					<view class="name">费用/元</view>
+				</view>
 			</view>
 			<!-- 信息 -->
 			<view id="info" class="info">
 				<view>
-					<view class="cell"><view class="lable">订单编号</view><view class="contet">{{orderInfo.id}}</view></view>
-					<view class="cell"><view class="lable">终端编号</view><view class="contet">{{deviceInfo.deviceNo}}</view></view>
-					<view class="cell"><view class="lable">充电电站</view><view class="contet">{{deviceInfo.thirdPartyStationName}}</view></view>
-					<view class="cell"><view class="lable">充电终端</view><view class="contet">{{deviceInfo.deviceName}}</view></view>
+					<view class="cell">
+						<view class="lable">订单编号</view>
+						<view class="contet">{{orderInfo.id}}</view>
+					</view>
+					<view class="cell">
+						<view class="lable">终端编号</view>
+						<view class="contet">{{deviceInfo.deviceNo}}</view>
+					</view>
+					<view class="cell">
+						<view class="lable">充电电站</view>
+						<view class="contet">{{deviceInfo.thirdPartyStationName}}</view>
+					</view>
+					<view class="cell">
+						<view class="lable">充电终端</view>
+						<view class="contet">{{deviceInfo.deviceName}}</view>
+					</view>
 				</view>
 				<view class="tips">账单信息可能会有所延迟,具体以实际结算为准</view>
 				<view>
@@ -64,182 +96,201 @@
 </template>
 
 <script>
-export default {
-	onLoad(opts) {
-		console.log("启动充值页面的参数:", opts)
-		this.orderInfo.id = opts.orderId;
-		this.deviceInfo.id = opts.deviceId;
-	},
-	onShow() {
-		this.getDeviceInfo();
-		this.getOrderInfo();
-	},
-	data() {
-		return {
-			exiting:{
-				visible: false,
-				lock: false
-			},
-			timer:{
-				id: 0,
-				start: '2024/08/07 09:00:00',
-				text: '00:00:00',
-				isSatrt : false,
-			},
-			orderTimer:{
-				id: 0,
-				isSatrt : false,
-				timeInterval : 10,//每隔多少秒查询一次订单(单位秒:s)
-			},
-			statInfo:{
-				electricity : 0,
-				cost : 0
-			},//统计信息,电量,费用
-			nowPriceTime : {},//当前价格时间段信息
-			deviceInfo : {},//充电桩的信息
-			orderInfo : {id:1},//订单信息
-			isShowBtn : true,//是否显示长按结束按钮 
-		}
-	},
-	destroyed(){
-		console.log("关闭页面了。。。。。。")
-		//关闭页面了,要清除定时器
-		clearInterval(this.timer.id);
-		clearInterval(this.orderTimer.id);
-	},
-	methods: {
-		//获取设备的详情信息
-		getDeviceInfo(deviceId){
-			this.$api.base("post","/chargeApi/getDevicesDetial",{"deviceId":this.deviceInfo.id},{}).then(res=>{
-				this.deviceInfo = res.device;
-				this.nowPriceTime = res.nowPriceTime;
-				
-			})
+	export default {
+		onLoad(opts) {
+			console.log("启动充值页面的参数:", opts)
+			this.orderInfo.id = opts.orderId;
+			this.deviceInfo.id = opts.deviceId;
 		},
-		//是否显示长按结束按钮
-		isShowEendBtn(orderTime){
-			var t1 = new Date(orderTime).getTime();
-			var t2 = new Date().getTime();
-			var t = (t2 - t1)/1000;//单位秒
-			if(t >= 60||this.orderInfo.status == 1){
-				//启动时间大于一分钟,可以显示长按结束按钮
-				this.isShowBtn = true;
-			}
+		onShow() {
+			this.getDeviceInfo();
+			this.getOrderInfo();
 		},
-		//查询订单详情并进行订单状态的检测
-		getOrderInfo(){
-			this.$api.base("post","/chargeApi/queryIsSuccessStop",{"id":this.orderInfo.id},{loading:false}).then(res=>{
-				this.orderInfo = res.obj.orderInfo;
-				this.timer.start = res.obj.orderInfo.startTime.replaceAll("-","/");
-				this.isShowEendBtn(res.obj.orderInfo.startTime.replaceAll("-","/"));
-				//充电的度数
-				if(this.orderInfo.totalCharge!=null){
-					this.statInfo.electricity = this.orderInfo.totalCharge;
-				}
-				
-				//费用
-				let cost =  (this.statInfo.electricity * this.nowPriceTime.price).toFixed(2);
-				if(!isNaN(cost) && this.orderInfo.thirdPartyElecfee == 0){
-					//如果后台,第三方返回的电费是0按照自己的方式进行计算
-					this.statInfo.cost = cost
-				}
-				if(!isNaN(this.orderInfo.realCost) && this.orderInfo.thirdPartyElecfee > 0){
-					//如果后台有返回第三方的电费,取后台计算的值
-					this.statInfo.cost = this.orderInfo.realCost.toFixed(4);
-				}
-				
-				if( this.orderInfo.status == 3 || this.orderInfo.status == 5){
-					uni.hideLoading();
-					clearInterval(this.timer.id);
-					clearInterval(this.orderTimer.id);
-					this.$app.url.goto('/pages/order-detail/order-detail?orderId='+this.orderInfo.id,false);
-					return ;
-				}
-				if(this.orderInfo.status == 1 && !this.timer.isSatrt){
-					//状态为充电中
-					this.startup();
-				}
-				if(!this.orderTimer.isSatrt){
-					this.orderTimer.isSatrt = true;
-					//开启定时器每隔5s查询订单
-					this.startCheckOrderTimer();
-				}
-				
-			})
-		},
-		getVolt(){
-			if(!this.deviceInfo.power){
-				return 0;
+		data() {
+			return {
+				exiting: {
+					visible: false,
+					lock: false
+				},
+				timer: {
+					id: 0,
+					start: '2024/08/07 09:00:00',
+					text: '00:00:00',
+					isSatrt: false,
+				},
+				orderTimer: {
+					id: 0,
+					isSatrt: false,
+					timeInterval: 10, //每隔多少秒查询一次订单(单位秒:s)
+				},
+				statInfo: {
+					electricity: 0,
+					cost: 0
+				}, //统计信息,电量,费用
+				nowPriceTime: {}, //当前价格时间段信息
+				deviceInfo: {}, //充电桩的信息
+				orderInfo: {
+					id: 1
+				}, //订单信息
+				isShowBtn: true, //是否显示长按结束按钮 
 			}
-			var v = this.deviceInfo.power/this.deviceInfo.current * 1000;
-			return v;
 		},
-		//启动检测订单的定时器,每隔5S
-		startCheckOrderTimer(){
+		destroyed() {
+			console.log("关闭页面了。。。。。。")
+			//关闭页面了,要清除定时器
+			clearInterval(this.timer.id);
 			clearInterval(this.orderTimer.id);
-			this.orderTimer.id =  setInterval(()=>{
-				this.getOrderInfo(this.orderInfo.id)
-			},this.orderTimer.timeInterval * 1000);
 		},
-		// 启动定时器
-		startup(){
-			const start = new Date(this.timer.start);
-			const obj = {hour:0,minute:0,second:0};
-			const handle = ()=>{
-				this.timer.isSatrt = true;
-				const diff = Date.now() - start.getTime();
-				obj.hour = Math.floor(diff / 1000 / 60 / 60);
-				obj.minute= Math.floor(diff / 1000 / 60 % 60);
-				obj.second = Math.floor(diff / 1000 % 60);
-				this.timer.text = `${String(obj.hour).padStart(2,'0')}:${String(obj.minute).padStart(2,'0')}:${String(obj.second).padStart(2,'0')}`;
-				//console.log(diff,Math.floor(diff / 1000 ))
-				/* //计算在该功率下,
-				var mill = diff / 1000;//充电时间秒
-				if(!this.deviceInfo.power){
-					return;
+		methods: {
+			//获取设备的详情信息
+			getDeviceInfo(deviceId) {
+				this.$api.base("post", "/chargeApi/getDevicesDetial", {
+					"deviceId": this.deviceInfo.id
+				}, {}).then(res => {
+					this.deviceInfo = res.device;
+					this.nowPriceTime = res.nowPriceTime;
+
+				})
+			},
+			//是否显示长按结束按钮
+			isShowEendBtn(orderTime) {
+				var t1 = new Date(orderTime).getTime();
+				var t2 = new Date().getTime();
+				var t = (t2 - t1) / 1000; //单位秒
+				if (t >= 60 || this.orderInfo.status == 1) {
+					//启动时间大于一分钟,可以显示长按结束按钮
+					this.isShowBtn = true;
 				}
-				//充电的度数
-				this.statInfo.electricity = (this.deviceInfo.power/3600 * mill).toFixed(2);
-				//费用
-				this.statInfo.cost = (this.statInfo.electricity * this.nowPriceTime.price).toFixed(2); */
-			}
-			clearInterval(this.timer.id);
-			this.timer.id = setInterval(handle,1000);
-			handle();
-		},
-		// 退出充电
-		exit(){
-			/* this.$app.popup.toast("测试环境,请等待自动结束")
-						return; */
-			var _this = this;
-			this.$api.base("post","/chargeApi/stopCharge",{"id":this.orderInfo.id},{}).then(res=>{
-				this.exiting.lock = false;
+			},
+			//查询订单详情并进行订单状态的检测
+			getOrderInfo() {
+				this.$api.base("post", "/chargeApi/queryIsSuccessStop", {
+					"id": this.orderInfo.id
+				}, {
+					loading: false
+				}).then(res => {
+					this.orderInfo = res.obj.orderInfo;
+					this.timer.start = res.obj.orderInfo.startTime.replaceAll("-", "/");
+					this.isShowEendBtn(res.obj.orderInfo.startTime.replaceAll("-", "/"));
+					//充电的度数
+					if (this.orderInfo.totalCharge != null) {
+						this.statInfo.electricity = this.orderInfo.totalCharge;
+					}
+
+					//费用
+					let cost = (this.statInfo.electricity * this.nowPriceTime.price).toFixed(2);
+					if (!isNaN(cost) && this.orderInfo.thirdPartyElecfee == 0) {
+						//如果后台,第三方返回的电费是0按照自己的方式进行计算
+						this.statInfo.cost = cost
+					}
+					if (!isNaN(this.orderInfo.realCost) && this.orderInfo.thirdPartyElecfee > 0) {
+						//如果后台有返回第三方的电费,取后台计算的值
+						this.statInfo.cost = this.orderInfo.realCost.toFixed(4);
+					}
+
+					if (this.orderInfo.status == 3 || this.orderInfo.status == 5) {
+						uni.hideLoading();
+						clearInterval(this.timer.id);
+						clearInterval(this.orderTimer.id);
+						this.$app.url.goto('/pages/order-detail/order-detail?orderId=' + this.orderInfo.id, false);
+						return;
+					}
+					if (this.orderInfo.status == 1 && !this.timer.isSatrt) {
+						//状态为充电中
+						this.startup();
+					}
+					if (!this.orderTimer.isSatrt) {
+						this.orderTimer.isSatrt = true;
+						//开启定时器每隔5s查询订单
+						this.startCheckOrderTimer();
+					}
+
+				})
+			},
+			getVolt() {
+				if (!this.deviceInfo.power) {
+					return 0;
+				}
+				var v = this.deviceInfo.power / this.deviceInfo.current * 1000;
+				return v;
+			},
+			//启动检测订单的定时器,每隔5S
+			startCheckOrderTimer() {
 				clearInterval(this.orderTimer.id);
-				this.orderTimer.isSatrt = false;
-				this.orderTimer.timeInterval = 2;
-				this.$app.popup.loading(true,{title:"结算中,请稍候",timeout:120*1000})
-				setTimeout(()=>{
+				this.orderTimer.id = setInterval(() => {
 					this.getOrderInfo(this.orderInfo.id)
-				},2000)
-				
-				/* clearInterval(this.timer.id);
-				clearInterval(this.orderTimer.id);
-				this.$app.url.goto('/pages/order-detail/order-detail?orderId='+this.orderInfo.id,false); */
-			})
-		},
-		// 长按动画结束
-		submitExit(){
-			this.exiting.lock = false;
-			this.exiting.visible = false;
-			this.exit();
+				}, this.orderTimer.timeInterval * 1000);
+			},
+			// 启动定时器
+			startup() {
+				const start = new Date(this.timer.start);
+				const obj = {
+					hour: 0,
+					minute: 0,
+					second: 0
+				};
+				const handle = () => {
+					this.timer.isSatrt = true;
+					const diff = Date.now() - start.getTime();
+					obj.hour = Math.floor(diff / 1000 / 60 / 60);
+					obj.minute = Math.floor(diff / 1000 / 60 % 60);
+					obj.second = Math.floor(diff / 1000 % 60);
+					this.timer.text =
+						`${String(obj.hour).padStart(2,'0')}:${String(obj.minute).padStart(2,'0')}:${String(obj.second).padStart(2,'0')}`;
+					//console.log(diff,Math.floor(diff / 1000 ))
+					/* //计算在该功率下,
+					var mill = diff / 1000;//充电时间秒
+					if(!this.deviceInfo.power){
+						return;
+					}
+					//充电的度数
+					this.statInfo.electricity = (this.deviceInfo.power/3600 * mill).toFixed(2);
+					//费用
+					this.statInfo.cost = (this.statInfo.electricity * this.nowPriceTime.price).toFixed(2); */
+				}
+				clearInterval(this.timer.id);
+				this.timer.id = setInterval(handle, 1000);
+				handle();
+			},
+			// 退出充电
+			exit() {
+				/* this.$app.popup.toast("测试环境,请等待自动结束")
+							return; */
+				var _this = this;
+				this.$api.base("post", "/chargeApi/stopCharge", {
+					"id": this.orderInfo.id
+				}, {}).then(res => {
+					this.exiting.lock = false;
+					clearInterval(this.orderTimer.id);
+					this.orderTimer.isSatrt = false;
+					this.orderTimer.timeInterval = 2;
+					this.$app.popup.loading(true, {
+						title: "结算中,请稍候",
+						timeout: 120 * 1000
+					})
+					setTimeout(() => {
+						this.getOrderInfo(this.orderInfo.id)
+					}, 2000)
+
+					/* clearInterval(this.timer.id);
+					clearInterval(this.orderTimer.id);
+					this.$app.url.goto('/pages/order-detail/order-detail?orderId='+this.orderInfo.id,false); */
+				})
+			},
+			// 长按动画结束
+			submitExit() {
+				this.exiting.lock = false;
+				this.exiting.visible = false;
+				this.exit();
+			}
 		}
 	}
-}
 </script>
 
 <style lang="less" scoped>
-@import url("charging.css");
-/* 充电loading动画 */
+	@import url("charging.css");
+
+	/* 充电loading动画 */
 	.charge-loading-box {
 		margin: auto;
 		margin-top: 20rpx;
@@ -251,6 +302,16 @@ export default {
 		background: #FFFFFF;
 		border-radius: 18rpx;
 		overflow: hidden;
+		position: relative;
+	}
+
+	.charge-icon {
+		width: 28rpx;
+		height: 28rpx;
+		z-index: 1000;
+		position: absolute;
+		left: 20rpx;
+		top: 5rpx;
 	}
 
 	.c-loading {
@@ -260,7 +321,7 @@ export default {
 				rgba(139, 243, 251, 0),
 				#60C8FE,
 				#53D4FF,
-				 rgba(139, 243, 251, 0.7),);
+				rgba(139, 243, 251, 0.7), );
 		border-radius: 18rpx;
 		animation: loading 3s linear infinite;
 		background-size: 200% 100%;
@@ -270,8 +331,9 @@ export default {
 		0% {
 			background-position: 100% 0;
 		}
+
 		100% {
 			background-position: -100% 0;
 		}
 	}
-</style>
+</style>

+ 30 - 3
pages/coupon-buy/coupon-buy.css

@@ -74,7 +74,19 @@ ax-body{
 	height: 100%;
 	z-index: 2;
 }
-
+.overflow-payment{
+	position: absolute;
+	width: 176rpx;
+	height: 40rpx;
+	background: #FF4D3A;
+	border-radius: 8rpx;
+	font-size: 24rpx;
+	color: #FFFFFF;
+	text-align: center;
+	top:0;
+	right: 0;
+	z-index: 9999;
+}
 /* 卡片 */
 .card{
 	border-radius: 16px;
@@ -82,12 +94,17 @@ ax-body{
 	margin-top: 10px;
 }
 .card .title{
-	display: flex;
+/* 	display: flex;
 	align-items: flex-end;
-	justify-content: space-between;
+	justify-content: space-between; */
 	margin-bottom: 20px;
 	font-weight: bold;
 }
+.title-text{
+	font-weight: normal;
+	font-size:26rpx;
+	color: #666;
+}
 .card .title .more{
 	display: flex;
 	align-items: center;
@@ -356,4 +373,14 @@ ax-body{
 }
 .coupon-item.active .text{
 	color: #fff;
+}
+.payment-tips{
+	width: 702rpx;
+	height: 72rpx;
+	background: #FFF6E8;
+	border-radius: 16rpx;
+	font-size: 24rpx;
+	color: #FAB04D;
+	line-height: 72rpx;
+	text-align: center;
 }

+ 38 - 2
pages/coupon-buy/coupon-buy.vue

@@ -15,12 +15,17 @@
 					<view class="value">{{userinfo.params.balance}}</view>
 					<view class="name">可抵扣余量</view>
 					<image src="@/static/img/my-sta-bg03.png" mode="heightFix" class="bg"></image>
+					<view class="overflow-payment" @click="topage_order">
+						<text v-if="userinfo.amountOwed">超{{userinfo.amountOwed.toFixed(2)||'0.00'}}元</text>
+						<text class="ax ax-iconline i-arrow-right icon"></text>
+					</view>
 				</view>
 			</view>
 			<!-- 购券 -->
 			<view class="card">
 				<view class="title">
 					<view>请选择抵扣券</view>
+					<view class="title-text" v-if="userinfo.amountOwed">至少充值{{(3+userinfo.amountOwed).toFixed(2)||'0.00'}}元(超充{{userinfo.amountOwed.toFixed(2)||'0.00'}}元,余量需大于3元才能启动)</view>
 				</view>
 				<view class="coupons">
 					<view v-for="(item,index) in coupons.data" :key="index" :class="{active:coupons.index==index}"
@@ -51,6 +56,7 @@
 				<view class="li">5. 实际结算价以具体充电时段为准</view>
 			</view>
 			<view class="footer">
+				<view class="payment-tips" v-if="coupons.index>=0">购买{{select_num}}元,补缴{{userinfo.amountOwed}}元,剩余{{select_num-userinfo.amountOwed}}元</view>
 				<button @click="pay()" class="pay" :disabled="coupons.index<0">立即支付购买</button>
 				<ax-ios-indicator></ax-ios-indicator>
 			</view>
@@ -63,6 +69,10 @@
 		data() {
 			return {
 				userinfo: {},
+				select_num:null,
+				payment:null,
+				order_info:{},
+				order_status:[],
 				coupons: {
 					index: -1,
 					data: []
@@ -72,6 +82,10 @@
 		onShow() {
 			this.getMyAccount()
 			this.getLevel()
+			this.select_orderstatus()
+		},
+		onLoad(options) {
+			this.payment=options.payment
 		},
 		methods: {
 			getLevel() {
@@ -81,14 +95,24 @@
 			},
 			choose(item, index) {
 				this.coupons.index = this.coupons.index != index ? index : -1;
+				this.select_num=item.levelMoney
 			},
 			pay() {
-
 				if (!this.userinfo.phone) {
 					this.$app.url.goto('/pages/login/login')
 					return;
 				}
-
+				if(this.order_status.length>0){
+					this.$app.popup.confirm('您当前有正在进行中的订单,请结束订单后再进行充值并重新发起操作','提示',{
+						showCancel:true,
+						confirmText: "查看订单"
+					}).then((res)=>{
+						if(res){
+							this.$app.url.goto('/pages/order/order?index='+1);
+						}
+					})
+					return
+				}
 				this.$api.base("post", "/orderApi/addOrder", {
 					levelId: this.coupons.data[this.coupons.index].id
 				}, {}).then(addRes => {
@@ -124,6 +148,18 @@
 				})
 
 			},
+			select_orderstatus(){
+				this.$api.base("post","/chargeApi/queryOrderList",{type:1},{}).then(res=>{
+					this.order_status=res.table.rows
+				})
+			},
+			topage_order(){
+				// maspStatus(1:待补缴,2:已补缴)realPredictServiceCost平台;maspAmount第三方
+				this.$api.base("post","/chargeApi/queryOrderList-arrearage",{},{}).then(res=>{
+					this.order_info=res.data
+					this.$app.url.goto('/pages/order-detail/order-detail?orderId='+res.data.id);
+				})
+			},
 			getMyAccount() {
 				this.$api.base("post", "/userApi/getUserAccount", {}, {}).then(res => {
 					this.userinfo = res.accountInfo

+ 64 - 11
pages/index/index.css

@@ -72,6 +72,49 @@ app-navigation {
 	z-index: 90;
 }
 
+.arrears-tips {
+	margin: auto;
+	margin-top: 20rpx;
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+	transition: opacity 0.3s;
+	opacity: 1;
+	width: 702rpx;
+	height: 72rpx;	
+	background: #FFF6E8;
+	border-radius: 16rpx;
+}
+
+.arrears-left {
+	display: flex;
+	align-items: center;
+	gap: 20rpx;
+}
+
+.arrears-icon {
+	width: 30rpx;
+	height: 30rpx;
+	margin-left: 20rpx;
+}
+
+.arrears-text {
+	font-size: 24rpx;
+	color: #FAB04D;
+}
+
+.arrears-btn {
+	width: 112rpx;
+	height: 48rpx;
+	background: #FAB14F;
+	border-radius: 24rpx;
+	font-size: 24rpx;
+	color: #FFFFFF;
+	text-align: center;
+	line-height: 48rpx;
+	margin-right: 20rpx;
+}
+
 .locate-city {
 	display: flex;
 	align-items: center;
@@ -397,7 +440,7 @@ app-navigation {
 .card-bottom-text {
 	font-weight: bold;
 	font-size: 20px;
-	color:#FF5D50;
+	color: #FF5D50;
 }
 
 .card-bottom-text .mini-text {
@@ -406,12 +449,12 @@ app-navigation {
 }
 
 .operation-price-btn {
-	margin-left:10rpx;
+	margin-left: 10rpx;
 	width: 140rpx;
 	height: 40rpx;
 	background: #FF6457;
 	border-radius: 22rpx 22rpx 22rpx 22rpx;
-	font-style: italic; 
+	font-style: italic;
 	text-align: center;
 	line-height: 40rpx;
 	font-weight: 400;
@@ -425,20 +468,30 @@ app-navigation {
 	color: #AAAAAA;
 	text-decoration: line-through;
 }
-.ad-popup{
+
+.ad-popup {
+	height: 1000rpx;
+}
+.ad-swiper{
+	height: 100%;
 }
-.close-get{
-	margin-left:550rpx;
-	width:50rpx;
-	height:50rpx;
+.ad-swiper-item{
+	height: 700rpx;
+}
+.close-get {
+	margin-left: 550rpx;
+	width: 50rpx;
+	height: 50rpx;
 	border-radius: 50%;
 	border: 4rpx solid #3EB6F8;
-	color:#fff;
+	color: #fff;
 	font-size: 30rpx;
 	font-weight: bold;
 	text-align: center;
 }
-.ad-image{
+
+.ad-image {
 	margin-top: 10rpx;
-	width:600rpx;
+	width: 600rpx;
+	border-radius: 16rpx;
 }

+ 32 - 4
pages/index/index.vue

@@ -20,6 +20,13 @@
 				</label>
 			</view>
 		</view>
+		<view class="arrears-tips" v-if="payment_msg">
+			<view class="arrears-left">
+				<image class="arrears-icon" src="@/static/img/arrears-icon.svg" mode=""></image>
+				<view class="arrears-text">您有一笔超充订单{{payment_msg.maspAmount+payment_msg.realPredictServiceCost||'0'}}元待补缴</view>
+			</view>
+			<view class="arrears-btn" @click="topage_coupon">去补缴</view>
+		</view>
 		<!-- 主滚动 -->
 		<view class="main-scroll-wrap">
 			<scroll-view class="root-scroll app-hide-scrollbar" @scrolltolower="scrollLock=true" @scrolltoupper="scrollLock=false" scroll-y>
@@ -128,7 +135,11 @@
 		<ax-popup ref="filter" position="" maskType="black" maskEnable maskClose>
 			<view class="ad-popup">
 				<view class="close-get" @click="$refs.filter.close()">X</view>
-				<image class="ad-image" :src="playbil_img" mode="widthFix"></image>
+				<swiper class="ad-swiper" :autoplay="true" :interval="3000" :duration="1000">
+					<swiper-item class="ad-swiper-item" v-for="(item,index) in adBanner" :key="index">
+						<image class="ad-image" :src="showImg(item.picture)" mode="widthFix"></image>
+					</swiper-item>
+				</swiper>
 			</view>
 		</ax-popup>
 		<app-navigation id="app-navigation" active="home"></app-navigation>
@@ -173,18 +184,18 @@
 			// this.user_info=this.$app.storage.get('USER_INFO')
 		},
 		mounted() {
-			if(this.isAd){
+			if(this.adBanner.length>0){
 				this.$refs.filter.open();
 			}
 			this.setListHeight();
 			this.setAppNavigationHeight();
 			this.get_frimid()
 			this.get_userinfo()
+			this.get_paymentMsg()
 		},
 		data() {
 			return {
-				isAd:false,
-				playbil_img: 'https://hyxhsh.oss-cn-chengdu.aliyuncs.com/63b7c68b71a69169d1b33f92/store/bdb/user/avatar/XVsEVGuCCbNv4aee36cc2f76e7050f62ebad3080ad88.jpg/1.jpg',
+				payment_msg:{},
 				user_info:{},
 				// 导航栏高度
 				appNavigationHeight: 0,
@@ -200,6 +211,7 @@
 					data: []
 				},
 				banners:[],
+				adBanner:[],
 				location:{
 					visible: false,
 					value: '',
@@ -226,6 +238,7 @@
 		},
 		onShow() {
 			this.getBanners()
+			this.getAdswiper()
 		},
 		computed:{
 			StyleSheet(){
@@ -420,11 +433,22 @@
 					})
 				});
 			},
+			get_paymentMsg(){
+				// maspStatus(1:待补缴,2:已补缴)realPredictServiceCost平台;maspAmount第三方
+				this.$api.base("post","/chargeApi/queryOrderList-arrearage",{},{}).then(res=>{
+					this.payment_msg=res.data
+				})
+			},
 			getBanners(){
 				this.$api.base("post","/userApi/getBanners",{},{}).then(res=>{
 					this.banners = res.banners
 				})
 			},
+			getAdswiper(){
+				this.$api.base("post","/userApi/getAdvertising",{},{}).then(res=>{
+					this.adBanner = res.banners
+				})
+			},
 			convertBdToTx(lng, lat) {  
 			    // 百度坐标系(BD09)转火星坐标系(GCJ-02,即腾讯地图使用的坐标系)  
 			    // 这里的转换公式是基于经验公式,可能存在一定的误差  
@@ -491,6 +515,10 @@
 			gotoSiteDetail(item){
 				this.$app.url.goto('/pages/site/site?item='+JSON.stringify(item));
 			},
+			topage_coupon(){
+				let payment=this.payment_msg.realPredictServiceCost+this.payment_msg.maspAmount
+				this.$app.url.goto('/pages/coupon-buy/coupon-buy?payment='+payment)
+			},
 			// 确认隐私协议
 			agreePrivacyAuthorization(){
 				this.privacy.visible = false;

+ 0 - 1
pages/my/my.vue

@@ -292,7 +292,6 @@
 						setTimeout(() => {
 							this.$app.storage.remove('FRIM_ID')
 						}, 500)
-						console.log(res, '----企业用户通过扫码进入');
 					}).catch(err => {
 						setTimeout(() => {
 							this.$app.storage.remove('FRIM_ID')

+ 25 - 1
pages/order-detail/order-detail.css

@@ -151,7 +151,31 @@ ax-body{
 	font-size: 16px;
 	font-weight: bold;
 }
-
+.load-payment{
+	font-weight: bold;
+	font-size: 32rpx;
+	color: #2B303A;
+}
+.load-payment-btn{
+	width: 160rpx;
+	height: 48rpx;
+	background: #3EB6F8;
+	border-radius: 24rpx;
+	font-size: 24rpx;
+	color: #FFFFFF;
+	line-height: 48rpx;
+	text-align: center;
+}
+.flow-money{
+	font-weight: 800;
+	font-size: 32rpx;
+	color: #FF4D3A;
+}
+.finish-payment{
+	font-weight: bold;
+	font-size: 32rpx;
+	color: #2B303A;
+}
 
 /* 提示 */
 .tips{

+ 11 - 0
pages/order-detail/order-detail.vue

@@ -20,6 +20,17 @@
 				<view class="cell"><view class="lable">终止时间</view><view class="contet">{{orderInfo.endTime || '未知'}}</view></view>
 				<view class="cell"><view class="lable">终止方式</view><view class="contet">{{getStopType()}}</view></view>
 			</view>
+			<view class="cell-group" v-if="orderInfo.maspStatus>0">
+				<template v-if="orderInfo.maspStatus===1">
+					<view class="cell"><view class="load-payment">待补缴</view><view class="load-payment-btn" @click="$app.url.goto('/pages/coupon-buy/coupon-buy')">去补缴</view></view>
+					<view class="cell"><view class="lable">超充金额</view><view class="flow-money">{{(orderInfo.maspAmount+orderInfo.realPredictServiceCost).toFixed(2)||'0'}}元</view></view>
+				</template>
+				<template v-else-if="orderInfo.maspStatus===2">
+					<view class="finish-payment">已补缴</view>
+					<view class="cell"><view class="lable">超充金额</view><view class="contet">{{(orderInfo.maspAmount+orderInfo.realPredictServiceCost).toFixed(2)}}</view></view>
+					<view class="cell"><view class="lable">补缴时间</view><view class="contet">{{orderInfo.maspTime}}</view></view>
+				</template>
+			</view>
 			<!-- 单元格 -->
 			<view class="cell-group">
 				<view class="cell"><view class="lable">订单状态</view><view class="contet">{{getOrderStatus(orderInfo.status)}}</view></view>

+ 45 - 4
pages/order/order.css

@@ -93,9 +93,6 @@ ax-body >>> .ax-custom-title{
 	margin-top: 13px;
 	line-height: 22px;
 }
-.list .item .invoice{
-	color: var(--color-blue);
-}
 .list .item .state{
 	display: flex;
 	align-items: center;
@@ -147,7 +144,51 @@ ax-body >>> .ax-custom-title{
 	margin-top: 10px;
 	padding-top: 10px;
 }
-
+.button-box{
+	margin-top: 34rpx;
+	border-top: 2rpx solid #f0f0f0;
+	display: flex;
+	align-items: center;
+	justify-content:flex-end;
+	gap: 22rpx;
+	font-size: 24rpx;
+}
+.invoice{
+	margin-top: 20rpx;
+	width: 160rpx;
+	height: 48rpx;
+	background: #FFFFFF;
+	border-radius: 24rpx;
+	border: 2rpx solid #3EB6F8;
+	color: var(--color-blue);
+	text-align: center;
+	line-height: 48rpx;
+}
+.arrears-btn-box{
+	position: relative;
+}
+.overflow-mon{
+	position: absolute;
+	width: 108rpx;
+	height: 36rpx;
+	background: #FF4D3A;
+	border-radius: 8rpx;
+	font-size: 20rpx;
+	color: #FFFFFF;
+	right: 0;
+	top: -6rpx;
+	text-align: center;
+}
+.arrears-btn{
+	margin-top: 20rpx;
+	width: 160rpx;
+	height: 48rpx;
+	background: #3EB6F8;
+	border-radius: 24rpx;
+	text-align: center;
+	line-height: 48rpx;
+	color: #FFFFFF;
+}
 /* 筛选器 */
 ax-popup >>> .ax-popup{
 	z-index: 9999 !important;

+ 18 - 9
pages/order/order.vue

@@ -9,21 +9,18 @@
 				<view><text @click="openFilter()" class="ax-iconline i-setting filter-icon"></text></view>
 			</view>
 			<view class="list app-hide-scrollbar">
-				<view v-for="(item,index) in orders.data" :key="index" class="item" @click="toOrderDeile(item)">
-					<view class="title">
+				<view v-for="(item,index) in orders.data" :key="index" class="item">
+					<view class="title" @click="toOrderDeile(item)">
 						<view class="name">{{item.params.stationName}}</view>
 						<view class="state" :class="[getSates(item).color]">{{getSates(item).name}}</view>
 					</view>
-					<view class="subinfo">
+					<view class="subinfo" @click="toOrderDeile(item)">
 						<view>
 							<view>订单时间: {{item.createTime}}</view>
 							<view>终端名称:  {{item.params.deviceName}}</view>
 						</view>
-						<view>
-							<view @click.stop="customerService()" class="invoice">开发票</view>
-						</view>
 					</view>
-					<view class="bottom">
+					<view class="bottom" @click="toOrderDeile(item)">
 						<view class="money-txt">充电费用:</view>
 						<view class="money">
 							<text style="color:red;" v-if="item.discountMoney||item.firmPrice">共减 ¥{{(item.discountMoney+item.firmPrice).toFixed(4)}}</text>
@@ -31,6 +28,13 @@
 							<text :style="{color:`${item.discountMoney||item.firmPrice?'':'red'}`}"><text v-if="item.discountMoney||item.firmPrice">实付</text> ¥{{item.realCost.toFixed(4) || ''}}</text>
 						</view>
 					</view>
+					<view class="button-box">
+						<view @click.stop="customerService()" class="invoice">开发票</view>
+						<view class="arrears-btn-box" v-if="item.maspAmount+item.realPredictServiceCost>0" @click="$app.url.goto('/pages/coupon-buy/coupon-buy')">
+							<view class="overflow-mon">超{{(item.maspAmount+item.realPredictServiceCost).toFixed(2)}}元</view>
+							<view class="arrears-btn">去补缴</view>
+						</view>
+					</view>
 				</view>
 				<view v-if="orders.data.length==0" class="empty">
 					<icon class="ax-iconblock i-meiyou icon"></icon>
@@ -75,9 +79,14 @@
 
 <script>
 	export default {
-		onLoad() {
+		onLoad(options) {
 			this.shortcut({code:'currentMonth'});
-			this.loadData();
+			if(options.index){
+				this.tabs.index=options.index
+				this.formSubmitPara.type=1
+			}else{
+				this.loadData();
+			}
 		},
 		data() {
 			return {

+ 55 - 0
pages/terminal/terminal.css

@@ -312,4 +312,59 @@
 	color: #FFFFFF;
 	text-align: center;
 	line-height: 44rpx;
+}
+.Modal-tips{
+	width: 514rpx;
+	height: 528rpx;
+	background: #FFFFFF;
+	border-radius: 16rpx;
+	text-align: center;
+	padding-top: 40rpx;
+}
+.tips-icon{
+	margin: auto;
+	width: 116rpx;
+	height: 116rpx;
+	line-height: 116rpx;
+	font-size: 70rpx;
+	font-weight: bold;
+	color: #fff;
+	border-radius: 50%;
+	background-color: #FF4D3A ;
+}
+.icon-title{
+	margin-top: 24rpx;
+	font-weight: bold;
+	font-size: 40rpx;
+	color: #2B303A;
+}
+.tips-text{
+	margin-top: 28rpx;
+	font-size: 28rpx;
+	color: #2B303A;
+}
+.tips-btn{
+	margin-top:60rpx;
+	display: flex;
+	align-items: center;
+	gap: 20rpx;
+	justify-content: center;
+}
+.cancel-btn{
+	width: 224rpx;
+	height: 80rpx;
+	background: #F0F0F0;
+	border-radius: 40rpx;
+	line-height: 80rpx;
+	font-size: 28rpx;
+	color: #AAAAAA;
+}
+.confirm-btn{
+	width: 224rpx;
+	height: 80rpx;
+	background: #3EB6F8;
+	border-radius: 40rpx;
+	line-height: 80rpx;
+	font-size: 28rpx;
+	color: #FFFFFF;
 }

+ 26 - 6
pages/terminal/terminal.vue

@@ -134,6 +134,17 @@
 				</view>
 			</view>
 		</view>
+		<ax-popup ref="filter" position="" maskType="black" maskEnable>
+			<view class="Modal-tips">
+				<view class="tips-icon">!</view>
+				<view class="icon-title">温馨提示</view>
+				<view class="tips-text" v-if="amountOwed">您有一笔超充订单{{amountOwed}}元待补缴</view>
+				<view class="tips-btn">
+					<view class="cancel-btn" @click="$refs.filter.close()">取消</view>
+					<view class="confirm-btn" @click="$app.url.goto('/pages/coupon-buy/coupon-buy')">购券并补缴</view>
+				</view>
+			</view>
+		</ax-popup>
 	</ax-body>
 </template>
 
@@ -148,12 +159,9 @@
 			this.deviceId = opts.deviceId
 			this.deviceStatus = opts.deviceStatus
 
-
 		},
 		onShow() {
-
 			this.queryInChange(this.deviceId, this.deviceStatus);
-
 			/**
 			 * 刷新用户信息
 			 */
@@ -182,11 +190,14 @@
 
 		},
 		mounted() {
-
+			if(this.amountOwed!==null){
+				this.$refs.filter.open()
+			}
 
 		},
 		data() {
 			return {
+				amountOwed:null,
 				deviceId: 0,
 				deviceStatus: 0,
 				visit: '',
@@ -252,6 +263,7 @@
 				if (this.personal == 1) {
 					//获取个人账户信息
 					this.$api.base("post", "/chargeApi/getUserAccount", {}, {}).then(res => {
+						this.amountOwed=res.userAccount.amountOwed
 						this.accountInfo.balance = res.userAccount.balance;
 					})
 				} else {
@@ -367,9 +379,17 @@
 					});
 				}
 				//统一下单并启动接口
-				this.startChangeAndOrder();
+				this.get_subMessage();
+			},
+			get_subMessage(){
+				let _this=this
+				uni.requestSubscribeMessage({
+				  tmplIds: ['03bv7QSrzH4DSjmNsI9P0lq0Vj3sBwpN5mgfZln7Rc4'],
+				  success (res) {
+					 _this.startChangeAndOrder();
+				  }
+				})
 			},
-
 			// 主动发起购券操作
 			gotoCouponBuy() {
 				this.$app.url.goto('/pages/coupon-buy/coupon-buy', true);

+ 1 - 0
static/img/arrears-icon.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15"><defs><style>.a{fill:#fab14f;}</style></defs><path class="a" d="M7.515,0a7.5,7.5,0,1,0,7.5,7.5A7.5,7.5,0,0,0,7.515,0ZM7.322,8.114,6.884,8.8a10.521,10.521,0,0,0-1.109-1.2v3.368H4.989V7.668q-.5.48-1.137.994l-.246-.809A8.073,8.073,0,0,0,5.964,5.167H3.835V4.443H5.09q-.177-.472-.463-1.061l.775-.2A10.771,10.771,0,0,1,5.89,4.443h.867v.648A6.261,6.261,0,0,1,5.772,6.8v.068q.253.168.379.261a3.259,3.259,0,0,0,.732-.758l.463.455a3.326,3.326,0,0,1-.69.69,7.577,7.577,0,0,1,.665.6Zm1-4.9h.783V5.967q1.2.766,2.316,1.65l-.471.7q-1.07-.943-1.844-1.524v4.169H8.324Zm-.1,9.652.208-.489.276.281Zm.628-.3L8.5,12.232l.42-.751.752.764Zm.977-.466-.782-.795,2.15-2.185.781.8Zm2.289-2.348-.763-.777a.549.549,0,0,1,.463-.256.554.554,0,0,1,.554.562.564.564,0,0,1-.254.471Z" transform="translate(-0.015)"/></svg>

+ 1 - 0
static/img/charge_loading.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><defs><style>.a{fill:#ffd86e;}.b{fill:none;}</style></defs><g transform="translate(-107 -186)"><path class="a" d="M194.714,81.492h-2.29a.427.427,0,0,1-.4-.578l2.275-5.972a.427.427,0,0,1,.4-.275h3.84a.427.427,0,0,1,.4.588l-1.325,3.252H200.1a.427.427,0,0,1,.321.708l-6.115,6.968a.427.427,0,0,1-.733-.39Z" transform="translate(-81.997 113.333)"/><rect class="b" width="14" height="14" transform="translate(107 186)"/></g></svg>

+ 2 - 2
static/js/config.js

@@ -7,9 +7,9 @@ const config = {};
 config.url = {
 	// API请求基础URL
 	// request : 'https://charge.hub.zswlgz.com/',
-	// request : 'http://192.168.1.36:80/',
+	request : 'http://192.168.1.34:80/',
 	// request : 'http://120.78.228.211:8866/',
-	request : 'https://charge.dev.hub.zswlgz.com/',
+	// request : 'https://charge.dev.hub.zswlgz.com/',
 	// 上传地址
 	upload : 'http://127.0.0.1:3000/upload/',
 	// 下载地址

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/app-navigation/app-navigation.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-body/ax-body.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-custom-title/ax-custom-title.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-ios-indicator/ax-ios-indicator.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-popup/ax-popup.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/r-canvas/r-canvas.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/Invite-staff/Invite-staff.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/charging/charging.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/coupon-buy/coupon-buy.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/coupons/coupons.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/feedback-reply/feedback-reply.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/feedback/feedback.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/map.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order-detail/order-detail.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/order.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/recharge-log/recharge-log.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/search/search.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/site-more/site-more.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/site/site.js.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/terminal/terminal.js.map


+ 2 - 2
unpackage/dist/dev/mp-weixin/common/vendor.js

@@ -10842,9 +10842,9 @@ var config = {};
 config.url = {
   // API请求基础URL
   // request : 'https://charge.hub.zswlgz.com/',
-  // request : 'http://192.168.1.36:80/',
+  request: 'http://192.168.1.34:80/',
   // request : 'http://120.78.228.211:8866/',
-  request: 'https://charge.dev.hub.zswlgz.com/',
+  // request : 'https://charge.dev.hub.zswlgz.com/',
   // 上传地址
   upload: 'http://127.0.0.1:3000/upload/',
   // 下载地址

+ 32 - 0
unpackage/dist/dev/mp-weixin/pages/charging/charging.js

@@ -258,6 +258,38 @@ exports.default = void 0;
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 var _default = {
   onLoad: function onLoad(opts) {
     console.log("启动充值页面的参数:", opts);

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/charging/charging.wxml


+ 9 - 0
unpackage/dist/dev/mp-weixin/pages/charging/charging.wxss

@@ -320,6 +320,15 @@
   background: #FFFFFF;
   border-radius: 18rpx;
   overflow: hidden;
+  position: relative;
+}
+.charge-icon.data-v-79ba75a6 {
+  width: 28rpx;
+  height: 28rpx;
+  z-index: 1000;
+  position: absolute;
+  left: 20rpx;
+  top: 5rpx;
 }
 .c-loading.data-v-79ba75a6 {
   width: 100%;

+ 63 - 2
unpackage/dist/dev/mp-weixin/pages/coupon-buy/coupon-buy.js

@@ -128,6 +128,25 @@ var render = function () {
   var _vm = this
   var _h = _vm.$createElement
   var _c = _vm._self._c || _h
+  var g0 = _vm.userinfo.amountOwed
+    ? _vm.userinfo.amountOwed.toFixed(2) || "0.00"
+    : null
+  var g1 = _vm.userinfo.amountOwed
+    ? (3 + _vm.userinfo.amountOwed).toFixed(2) || "0.00"
+    : null
+  var g2 = _vm.userinfo.amountOwed
+    ? _vm.userinfo.amountOwed.toFixed(2) || "0.00"
+    : null
+  _vm.$mp.data = Object.assign(
+    {},
+    {
+      $root: {
+        g0: g0,
+        g1: g1,
+        g2: g2,
+      },
+    }
+  )
 }
 var recyclableRender = false
 var staticRenderFns = []
@@ -227,10 +246,20 @@ exports.default = void 0;
 //
 //
 //
+//
+//
+//
+//
+//
+//
 var _default = {
   data: function data() {
     return {
       userinfo: {},
+      select_num: null,
+      payment: null,
+      order_info: {},
+      order_status: [],
       coupons: {
         index: -1,
         data: []
@@ -240,6 +269,10 @@ var _default = {
   onShow: function onShow() {
     this.getMyAccount();
     this.getLevel();
+    this.select_orderstatus();
+  },
+  onLoad: function onLoad(options) {
+    this.payment = options.payment;
   },
   methods: {
     getLevel: function getLevel() {
@@ -250,6 +283,7 @@ var _default = {
     },
     choose: function choose(item, index) {
       this.coupons.index = this.coupons.index != index ? index : -1;
+      this.select_num = item.levelMoney;
     },
     pay: function pay() {
       var _this2 = this;
@@ -257,6 +291,17 @@ var _default = {
         this.$app.url.goto('/pages/login/login');
         return;
       }
+      if (this.order_status.length > 0) {
+        this.$app.popup.confirm('您当前有正在进行中的订单,请结束订单后再进行充值并重新发起操作', '提示', {
+          showCancel: true,
+          confirmText: "查看订单"
+        }).then(function (res) {
+          if (res) {
+            _this2.$app.url.goto('/pages/order/order?index=' + 1);
+          }
+        });
+        return;
+      }
       this.$api.base("post", "/orderApi/addOrder", {
         levelId: this.coupons.data[this.coupons.index].id
       }, {}).then(function (addRes) {
@@ -290,10 +335,26 @@ var _default = {
         }
       });
     },
-    getMyAccount: function getMyAccount() {
+    select_orderstatus: function select_orderstatus() {
       var _this3 = this;
+      this.$api.base("post", "/chargeApi/queryOrderList", {
+        type: 1
+      }, {}).then(function (res) {
+        _this3.order_status = res.table.rows;
+      });
+    },
+    topage_order: function topage_order() {
+      var _this4 = this;
+      // maspStatus(1:待补缴,2:已补缴)realPredictServiceCost平台;maspAmount第三方
+      this.$api.base("post", "/chargeApi/queryOrderList-arrearage", {}, {}).then(function (res) {
+        _this4.order_info = res.data;
+        _this4.$app.url.goto('/pages/order-detail/order-detail?orderId=' + res.data.id);
+      });
+    },
+    getMyAccount: function getMyAccount() {
+      var _this5 = this;
       this.$api.base("post", "/userApi/getUserAccount", {}, {}).then(function (res) {
-        _this3.userinfo = res.accountInfo;
+        _this5.userinfo = res.accountInfo;
       });
     }
   }

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/coupon-buy/coupon-buy.wxml


+ 30 - 2
unpackage/dist/dev/mp-weixin/pages/coupon-buy/coupon-buy.wxss

@@ -74,6 +74,19 @@ ax-body.data-v-6415fde6{
 	height: 100%;
 	z-index: 2;
 }
+.overflow-payment.data-v-6415fde6{
+	position: absolute;
+	width: 176rpx;
+	height: 40rpx;
+	background: #FF4D3A;
+	border-radius: 8rpx;
+	font-size: 24rpx;
+	color: #FFFFFF;
+	text-align: center;
+	top:0;
+	right: 0;
+	z-index: 9999;
+}
 
 /* 卡片 */
 .card.data-v-6415fde6{
@@ -82,12 +95,17 @@ ax-body.data-v-6415fde6{
 	margin-top: 10px;
 }
 .card .title.data-v-6415fde6{
-	display: flex;
+/* 	display: flex;
 	align-items: flex-end;
-	justify-content: space-between;
+	justify-content: space-between; */
 	margin-bottom: 20px;
 	font-weight: bold;
 }
+.title-text.data-v-6415fde6{
+	font-weight: normal;
+	font-size:26rpx;
+	color: #666;
+}
 .card .title .more.data-v-6415fde6{
 	display: flex;
 	align-items: center;
@@ -358,4 +376,14 @@ ax-body.data-v-6415fde6{
 .coupon-item.active .text.data-v-6415fde6{
 	color: #fff;
 }
+.payment-tips.data-v-6415fde6{
+	width: 702rpx;
+	height: 72rpx;
+	background: #FFF6E8;
+	border-radius: 16rpx;
+	font-size: 24rpx;
+	color: #FAB04D;
+	line-height: 72rpx;
+	text-align: center;
+}
 

+ 53 - 14
unpackage/dist/dev/mp-weixin/pages/index/index.js

@@ -175,6 +175,14 @@ var render = function () {
       g3: g3,
     }
   })
+  var l2 = _vm.__map(_vm.adBanner, function (item, index) {
+    var $orig = _vm.__get_orig(item)
+    var m1 = _vm.showImg(item.picture)
+    return {
+      $orig: $orig,
+      m1: m1,
+    }
+  })
   if (!_vm._isMounted) {
     _vm.e0 = function ($event) {
       return _vm.$app.url.goto("/pages/search/search")
@@ -209,6 +217,7 @@ var render = function () {
         g0: g0,
         l0: l0,
         l1: l1,
+        l2: l2,
       },
     }
   )
@@ -392,6 +401,17 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/r
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 
 var bmap = __webpack_require__(/*! static/js/bmap-wx.js */ 49);
 var _default = {
@@ -444,18 +464,18 @@ var _default = {
     }))();
   },
   mounted: function mounted() {
-    if (this.isAd) {
+    if (this.adBanner.length > 0) {
       this.$refs.filter.open();
     }
     this.setListHeight();
     this.setAppNavigationHeight();
     this.get_frimid();
     this.get_userinfo();
+    this.get_paymentMsg();
   },
   data: function data() {
     return {
-      isAd: false,
-      playbil_img: 'https://hyxhsh.oss-cn-chengdu.aliyuncs.com/63b7c68b71a69169d1b33f92/store/bdb/user/avatar/XVsEVGuCCbNv4aee36cc2f76e7050f62ebad3080ad88.jpg/1.jpg',
+      payment_msg: {},
       user_info: {},
       // 导航栏高度
       appNavigationHeight: 0,
@@ -479,6 +499,7 @@ var _default = {
         data: []
       },
       banners: [],
+      adBanner: [],
       location: {
         visible: false,
         value: ''
@@ -522,6 +543,7 @@ var _default = {
   },
   onShow: function onShow() {
     this.getBanners();
+    this.getAdswiper();
   },
   computed: {
     StyleSheet: function StyleSheet() {
@@ -737,10 +759,23 @@ var _default = {
         });
       });
     },
-    getBanners: function getBanners() {
+    get_paymentMsg: function get_paymentMsg() {
       var _this9 = this;
+      // maspStatus(1:待补缴,2:已补缴)realPredictServiceCost平台;maspAmount第三方
+      this.$api.base("post", "/chargeApi/queryOrderList-arrearage", {}, {}).then(function (res) {
+        _this9.payment_msg = res.data;
+      });
+    },
+    getBanners: function getBanners() {
+      var _this10 = this;
       this.$api.base("post", "/userApi/getBanners", {}, {}).then(function (res) {
-        _this9.banners = res.banners;
+        _this10.banners = res.banners;
+      });
+    },
+    getAdswiper: function getAdswiper() {
+      var _this11 = this;
+      this.$api.base("post", "/userApi/getAdvertising", {}, {}).then(function (res) {
+        _this11.adBanner = res.banners;
       });
     },
     convertBdToTx: function convertBdToTx(lng, lat) {
@@ -759,35 +794,35 @@ var _default = {
       };
     },
     getStations: function getStations(lng, lat) {
-      var _this10 = this;
+      var _this12 = this;
       this.$api.base("post", "/chargeApi/getStations", {
         order: this.sorts.index,
         lat: lat,
         lng: lng
       }, {}).then(function (res) {
         res.stationList.forEach(function (i) {
-          var txPoint = _this10.convertBdToTx(i.lng, i.lat);
+          var txPoint = _this12.convertBdToTx(i.lng, i.lat);
           i.lng = txPoint.lng;
           i.lat = txPoint.lat;
         });
-        _this10.list.data = res.stationList;
+        _this12.list.data = res.stationList;
         if (res.discountInfo) {
-          _this10.discountInfo = res.discountInfo;
+          _this12.discountInfo = res.discountInfo;
         }
       });
     },
     // 设定导航栏高度
     setAppNavigationHeight: function setAppNavigationHeight() {
-      var _this11 = this;
+      var _this13 = this;
       this.$nextTick(function () {
-        uni.createSelectorQuery().in(_this11).select("#app-navigation").boundingClientRect(function (data) {
-          _this11.appNavigationHeight = data.height;
+        uni.createSelectorQuery().in(_this13).select("#app-navigation").boundingClientRect(function (data) {
+          _this13.appNavigationHeight = data.height;
         }).exec();
       });
     },
     // 设置列表高度
     setListHeight: function setListHeight() {
-      var _this12 = this;
+      var _this14 = this;
       this.$app.act.selectorQuery(this, "#list-box,#roller", true).then(function (res) {
         var win = uni.getWindowInfo();
         var roller = res.find(function (i) {
@@ -796,7 +831,7 @@ var _default = {
         var list = res.find(function (i) {
           return i.id == 'list-box';
         });
-        _this12.list.height = win.windowHeight - list.top - _this12.appNavigationHeight + roller.height;
+        _this14.list.height = win.windowHeight - list.top - _this14.appNavigationHeight + roller.height;
       });
     },
     // 版头加载完成
@@ -829,6 +864,10 @@ var _default = {
     gotoSiteDetail: function gotoSiteDetail(item) {
       this.$app.url.goto('/pages/site/site?item=' + JSON.stringify(item));
     },
+    topage_coupon: function topage_coupon() {
+      var payment = this.payment_msg.realPredictServiceCost + this.payment_msg.maspAmount;
+      this.$app.url.goto('/pages/coupon-buy/coupon-buy?payment=' + payment);
+    },
     // 确认隐私协议
     agreePrivacyAuthorization: function agreePrivacyAuthorization() {
       this.privacy.visible = false;

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


+ 57 - 11
unpackage/dist/dev/mp-weixin/pages/index/index.wxss

@@ -64,6 +64,44 @@ app-navigation {
 	top: 0;
 	z-index: 90;
 }
+.arrears-tips {
+	margin: auto;
+	margin-top: 20rpx;
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+	transition: opacity 0.3s;
+	opacity: 1;
+	width: 702rpx;
+	height: 72rpx;	
+	background: #FFF6E8;
+	border-radius: 16rpx;
+}
+.arrears-left {
+	display: flex;
+	align-items: center;
+	gap: 20rpx;
+}
+.arrears-icon {
+	width: 30rpx;
+	height: 30rpx;
+	margin-left: 20rpx;
+}
+.arrears-text {
+	font-size: 24rpx;
+	color: #FAB04D;
+}
+.arrears-btn {
+	width: 112rpx;
+	height: 48rpx;
+	background: #FAB14F;
+	border-radius: 24rpx;
+	font-size: 24rpx;
+	color: #FFFFFF;
+	text-align: center;
+	line-height: 48rpx;
+	margin-right: 20rpx;
+}
 .locate-city {
 	display: flex;
 	align-items: center;
@@ -346,19 +384,19 @@ app-navigation {
 .card-bottom-text {
 	font-weight: bold;
 	font-size: 20px;
-	color:#FF5D50;
+	color: #FF5D50;
 }
 .card-bottom-text .mini-text {
 	margin-left: 6rpx;
 	font-size: 12px;
 }
 .operation-price-btn {
-	margin-left:10rpx;
+	margin-left: 10rpx;
 	width: 140rpx;
 	height: 40rpx;
 	background: #FF6457;
 	border-radius: 22rpx 22rpx 22rpx 22rpx;
-	font-style: italic; 
+	font-style: italic;
 	text-align: center;
 	line-height: 40rpx;
 	font-weight: 400;
@@ -371,22 +409,30 @@ app-navigation {
 	color: #AAAAAA;
 	text-decoration: line-through;
 }
-.ad-popup{
+.ad-popup {
+	height: 1000rpx;
 }
-.close-get{
-	margin-left:550rpx;
-	width:50rpx;
-	height:50rpx;
+.ad-swiper{
+	height: 100%;
+}
+.ad-swiper-item{
+	height: 700rpx;
+}
+.close-get {
+	margin-left: 550rpx;
+	width: 50rpx;
+	height: 50rpx;
 	border-radius: 50%;
 	border: 4rpx solid #3EB6F8;
-	color:#fff;
+	color: #fff;
 	font-size: 30rpx;
 	font-weight: bold;
 	text-align: center;
 }
-.ad-image{
+.ad-image {
 	margin-top: 10rpx;
-	width:600rpx;
+	width: 600rpx;
+	border-radius: 16rpx;
 }
 .discount{
 	flex: 1;

+ 0 - 1
unpackage/dist/dev/mp-weixin/pages/my/my.js

@@ -527,7 +527,6 @@ var _default = {
           setTimeout(function () {
             _this6.$app.storage.remove('FRIM_ID');
           }, 500);
-          console.log(res, '----企业用户通过扫码进入');
         }).catch(function (err) {
           setTimeout(function () {
             _this6.$app.storage.remove('FRIM_ID');

+ 36 - 4
unpackage/dist/dev/mp-weixin/pages/order-detail/order-detail.js

@@ -126,25 +126,46 @@ var render = function () {
   var _h = _vm.$createElement
   var _c = _vm._self._c || _h
   var m0 = _vm.getStopType()
-  var m1 = _vm.getOrderStatus(_vm.orderInfo.status)
   var g0 =
+    _vm.orderInfo.maspStatus > 0 && _vm.orderInfo.maspStatus === 1
+      ? (
+          _vm.orderInfo.maspAmount + _vm.orderInfo.realPredictServiceCost
+        ).toFixed(2) || "0"
+      : null
+  var g1 =
+    _vm.orderInfo.maspStatus > 0 &&
+    !(_vm.orderInfo.maspStatus === 1) &&
+    _vm.orderInfo.maspStatus === 2
+      ? (
+          _vm.orderInfo.maspAmount + _vm.orderInfo.realPredictServiceCost
+        ).toFixed(2)
+      : null
+  var m1 = _vm.getOrderStatus(_vm.orderInfo.status)
+  var g2 =
     _vm.orderInfo.discountMoney && _vm.orderInfo.discountMoney
       ? _vm.orderInfo.discountMoney.toFixed(4)
       : null
-  var g1 =
+  var g3 =
     _vm.orderInfo.firmPrice && _vm.orderInfo.firmPrice
       ? _vm.orderInfo.firmPrice.toFixed(4)
       : null
-  var g2 = _vm.orderInfo.realCost ? _vm.orderInfo.realCost.toFixed(4) : null
+  var g4 = _vm.orderInfo.realCost ? _vm.orderInfo.realCost.toFixed(4) : null
+  if (!_vm._isMounted) {
+    _vm.e0 = function ($event) {
+      return _vm.$app.url.goto("/pages/coupon-buy/coupon-buy")
+    }
+  }
   _vm.$mp.data = Object.assign(
     {},
     {
       $root: {
         m0: m0,
-        m1: m1,
         g0: g0,
         g1: g1,
+        m1: m1,
         g2: g2,
+        g3: g3,
+        g4: g4,
       },
     }
   )
@@ -233,6 +254,17 @@ exports.default = void 0;
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 var _default = {
   onLoad: function onLoad(opts) {
     console.log("启动充值页面的参数:", opts);

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/order-detail/order-detail.wxml


+ 25 - 0
unpackage/dist/dev/mp-weixin/pages/order-detail/order-detail.wxss

@@ -150,6 +150,31 @@ ax-body.data-v-d80893f4{
 	font-size: 16px;
 	font-weight: bold;
 }
+.load-payment.data-v-d80893f4{
+	font-weight: bold;
+	font-size: 32rpx;
+	color: #2B303A;
+}
+.load-payment-btn.data-v-d80893f4{
+	width: 160rpx;
+	height: 48rpx;
+	background: #3EB6F8;
+	border-radius: 24rpx;
+	font-size: 24rpx;
+	color: #FFFFFF;
+	line-height: 48rpx;
+	text-align: center;
+}
+.flow-money.data-v-d80893f4{
+	font-weight: 800;
+	font-size: 32rpx;
+	color: #FF4D3A;
+}
+.finish-payment.data-v-d80893f4{
+	font-weight: bold;
+	font-size: 32rpx;
+	color: #2B303A;
+}
 /* 提示 */
 .tips.data-v-d80893f4{
 	display: flex;

+ 21 - 4
unpackage/dist/dev/mp-weixin/pages/order/order.js

@@ -137,16 +137,21 @@ var render = function () {
         ? (item.discountMoney + item.firmPrice).toFixed(4)
         : null
     var g1 = item.realCost.toFixed(4) || ""
+    var g2 =
+      item.maspAmount + item.realPredictServiceCost > 0
+        ? (item.maspAmount + item.realPredictServiceCost).toFixed(2)
+        : null
     return {
       $orig: $orig,
       m0: m0,
       m1: m1,
       g0: g0,
       g1: g1,
+      g2: g2,
     }
   })
-  var g2 = _vm.orders.data.length
   var g3 = _vm.orders.data.length
+  var g4 = _vm.orders.data.length
   if (!_vm._isMounted) {
     _vm.e0 = function ($event, index) {
       var _temp = arguments[arguments.length - 1].currentTarget.dataset,
@@ -155,14 +160,17 @@ var render = function () {
       var _temp, _temp2
       _vm.tabs.index = index
     }
+    _vm.e1 = function ($event) {
+      return _vm.$app.url.goto("/pages/coupon-buy/coupon-buy")
+    }
   }
   _vm.$mp.data = Object.assign(
     {},
     {
       $root: {
         l0: l0,
-        g2: g2,
         g3: g3,
+        g4: g4,
       },
     }
   )
@@ -280,12 +288,21 @@ exports.default = void 0;
 //
 //
 //
+//
+//
+//
+//
 var _default = {
-  onLoad: function onLoad() {
+  onLoad: function onLoad(options) {
     this.shortcut({
       code: 'currentMonth'
     });
-    this.loadData();
+    if (options.index) {
+      this.tabs.index = options.index;
+      this.formSubmitPara.type = 1;
+    } else {
+      this.loadData();
+    }
   },
   data: function data() {
     return {

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/order/order.wxml


+ 45 - 3
unpackage/dist/dev/mp-weixin/pages/order/order.wxss

@@ -90,9 +90,6 @@ ax-body.data-v-127632e4 .ax-custom-title{
 	margin-top: 13px;
 	line-height: 22px;
 }
-.list .item .invoice.data-v-127632e4{
-	color: var(--color-blue);
-}
 .list .item .state.data-v-127632e4{
 	display: flex;
 	align-items: center;
@@ -145,6 +142,51 @@ ax-body.data-v-127632e4 .ax-custom-title{
 	margin-top: 10px;
 	padding-top: 10px;
 }
+.button-box.data-v-127632e4{
+	margin-top: 34rpx;
+	border-top: 2rpx solid #f0f0f0;
+	display: flex;
+	align-items: center;
+	justify-content:flex-end;
+	gap: 22rpx;
+	font-size: 24rpx;
+}
+.invoice.data-v-127632e4{
+	margin-top: 20rpx;
+	width: 160rpx;
+	height: 48rpx;
+	background: #FFFFFF;
+	border-radius: 24rpx;
+	border: 2rpx solid #3EB6F8;
+	color: var(--color-blue);
+	text-align: center;
+	line-height: 48rpx;
+}
+.arrears-btn-box.data-v-127632e4{
+	position: relative;
+}
+.overflow-mon.data-v-127632e4{
+	position: absolute;
+	width: 108rpx;
+	height: 36rpx;
+	background: #FF4D3A;
+	border-radius: 8rpx;
+	font-size: 20rpx;
+	color: #FFFFFF;
+	right: 0;
+	top: -6rpx;
+	text-align: center;
+}
+.arrears-btn.data-v-127632e4{
+	margin-top: 20rpx;
+	width: 160rpx;
+	height: 48rpx;
+	background: #3EB6F8;
+	border-radius: 24rpx;
+	text-align: center;
+	line-height: 48rpx;
+	color: #FFFFFF;
+}
 /* 筛选器 */
 ax-popup.data-v-127632e4 .ax-popup{
 	z-index: 9999 !important;

+ 69 - 35
unpackage/dist/dev/mp-weixin/pages/terminal/terminal.js

@@ -106,6 +106,9 @@ try {
     axIosIndicator: function () {
       return __webpack_require__.e(/*! import() | components/ax-ios-indicator/ax-ios-indicator */ "components/ax-ios-indicator/ax-ios-indicator").then(__webpack_require__.bind(null, /*! @/components/ax-ios-indicator/ax-ios-indicator.vue */ 215))
     },
+    axPopup: function () {
+      return __webpack_require__.e(/*! import() | components/ax-popup/ax-popup */ "components/ax-popup/ax-popup").then(__webpack_require__.bind(null, /*! @/components/ax-popup/ax-popup.vue */ 201))
+    },
   }
 } catch (e) {
   if (
@@ -157,6 +160,12 @@ var render = function () {
         "/pages/site-more/site-more?show=1&stationId=" + _vm.stationInfo.id
       )
     }
+    _vm.e1 = function ($event) {
+      return _vm.$refs.filter.close()
+    }
+    _vm.e2 = function ($event) {
+      return _vm.$app.url.goto("/pages/coupon-buy/coupon-buy")
+    }
   }
   _vm.$mp.data = Object.assign(
     {},
@@ -352,6 +361,17 @@ exports.default = void 0;
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 var _default = {
   onLoad: function onLoad(opts) {
     console.log("参数信息:", opts);
@@ -363,9 +383,8 @@ var _default = {
     this.deviceStatus = opts.deviceStatus;
   },
   onShow: function onShow() {
-    var _this = this;
+    var _this2 = this;
     this.queryInChange(this.deviceId, this.deviceStatus);
-
     /**
      * 刷新用户信息
      */
@@ -377,22 +396,27 @@ var _default = {
     this.$api.login({
       "checkStatus": 1
     }).then(function () {
-      _this.userInfo = _this.$app.storage.get(_this.$config.keyname.userInfo);
-      if (_this.userInfo.ecId) {
+      _this2.userInfo = _this2.$app.storage.get(_this2.$config.keyname.userInfo);
+      if (_this2.userInfo.ecId) {
         //查询该集团账户是否正常使用。
-        _this.$api.base("post", "/chargeApi/queryEcInfo", {
-          "ecId": _this.userInfo.ecId
+        _this2.$api.base("post", "/chargeApi/queryEcInfo", {
+          "ecId": _this2.userInfo.ecId
         }, {}).then(function (res) {
           if (res.ecInfo && res.ecInfo.ecStatus == 1) {
-            _this.isEc = true;
+            _this2.isEc = true;
           }
         });
       }
     });
   },
-  mounted: function mounted() {},
+  mounted: function mounted() {
+    if (this.amountOwed !== null) {
+      this.$refs.filter.open();
+    }
+  },
   data: function data() {
     return {
+      amountOwed: null,
       deviceId: 0,
       deviceStatus: 0,
       visit: '',
@@ -450,39 +474,40 @@ var _default = {
     },
     //获取设备的详情信息
     getDeviceInfo: function getDeviceInfo(deviceId) {
-      var _this2 = this;
+      var _this3 = this;
       this.$api.base("post", "/chargeApi/getDevicesDetial", {
         "deviceId": deviceId
       }, {}).then(function (res) {
-        _this2.deviceInfo = res.device;
-        _this2.nowPriceTime = res.nowPriceTime;
-        _this2.stationInfo = res.stationInfo;
+        _this3.deviceInfo = res.device;
+        _this3.nowPriceTime = res.nowPriceTime;
+        _this3.stationInfo = res.stationInfo;
         if (res.discountInfo) {
-          _this2.discountInfo = res.discountInfo;
+          _this3.discountInfo = res.discountInfo;
         }
-        if (_this2.deviceInfo.tipsStatus == 1) {
-          _this2.$app.popup.alert(_this2.deviceInfo.tipsContent, "温馨提示");
+        if (_this3.deviceInfo.tipsStatus == 1) {
+          _this3.$app.popup.alert(_this3.deviceInfo.tipsContent, "温馨提示");
         }
       });
     },
     //获取账户信息
     getAccountInfo: function getAccountInfo() {
-      var _this3 = this;
+      var _this4 = this;
       if (this.personal == 1) {
         //获取个人账户信息
         this.$api.base("post", "/chargeApi/getUserAccount", {}, {}).then(function (res) {
-          _this3.accountInfo.balance = res.userAccount.balance;
+          _this4.amountOwed = res.userAccount.amountOwed;
+          _this4.accountInfo.balance = res.userAccount.balance;
         });
       } else {
         //获取集团账户信息
         this.$api.base("post", "/chargeApi/getEcUserAccount", {}, {
           error: false
         }).then(function (res) {
-          _this3.ecInfo = res.ecInfo;
-          _this3.accountInfo.balance = res.ecUserAccount.balance;
+          _this4.ecInfo = res.ecInfo;
+          _this4.accountInfo.balance = res.ecUserAccount.balance;
         }).catch(function (err) {
-          _this3.accountInfo.balance = 0;
-          _this3.$app.popup.alert(err.msg, "温馨提示");
+          _this4.accountInfo.balance = 0;
+          _this4.$app.popup.alert(err.msg, "温馨提示");
         });
       }
     },
@@ -565,7 +590,7 @@ var _default = {
       return str;
     },
     startup: function startup() {
-      var _this4 = this;
+      var _this5 = this;
       if (this.visit) {
         this.$app.popup.alert("该充电枪被占用或存在异常,请重新尝试或更换其他充电枪。", "温馨提示");
         return;
@@ -577,12 +602,21 @@ var _default = {
           confirmText: "立即购券"
         }).then(function (confirm) {
           if (confirm) {
-            _this4.$app.url.goto('/pages/coupon-buy/coupon-buy', true);
+            _this5.$app.url.goto('/pages/coupon-buy/coupon-buy', true);
           }
         });
       }
       //统一下单并启动接口
-      this.startChangeAndOrder();
+      this.get_subMessage();
+    },
+    get_subMessage: function get_subMessage() {
+      var _this = this;
+      uni.requestSubscribeMessage({
+        tmplIds: ['03bv7QSrzH4DSjmNsI9P0lq0Vj3sBwpN5mgfZln7Rc4'],
+        success: function success(res) {
+          _this.startChangeAndOrder();
+        }
+      });
     },
     // 主动发起购券操作
     gotoCouponBuy: function gotoCouponBuy() {
@@ -590,7 +624,7 @@ var _default = {
     },
     //统一下单并启动接口
     startChangeAndOrder: function startChangeAndOrder() {
-      var _this5 = this;
+      var _this6 = this;
       var obj = {
         userId: this.userInfo.id,
         deviceId: this.deviceInfo.id,
@@ -599,18 +633,18 @@ var _default = {
 
       this.$api.base("post", "/chargeApi/startChangeAndOrder", obj, {}).then(function (res) {
         //下单成功,并进行了订单预充值
-        _this5.orderInfo = res.orderInfo;
+        _this6.orderInfo = res.orderInfo;
         if (res.flg && res.flg == 1) {
           //用户有充电中的订单
-          _this5.$app.popup.confirm("您有一个进行中充电订单,不可再次启动。", null, {
+          _this6.$app.popup.confirm("您有一个进行中充电订单,不可再次启动。", null, {
             showCancel: false,
             confirmText: "查看订单"
           }).then(function (cres) {
-            _this5.$app.url.goto('/pages/charging/charging?orderId=' + _this5.orderInfo.id + "&deviceId=" + _this5.deviceInfo.id, false);
+            _this6.$app.url.goto('/pages/charging/charging?orderId=' + _this6.orderInfo.id + "&deviceId=" + _this6.deviceInfo.id, false);
           });
         } else {
           //正常启动充电订单
-          _this5.$app.url.goto('/pages/charging/charging?orderId=' + _this5.orderInfo.id + "&deviceId=" + _this5.deviceInfo.id, false);
+          _this6.$app.url.goto('/pages/charging/charging?orderId=' + _this6.orderInfo.id + "&deviceId=" + _this6.deviceInfo.id, false);
         }
         //this.$app.popup.loading(true,{title:"启动中...."})
         //延迟5s查询一下订单,看看是否真的启动成功
@@ -654,7 +688,7 @@ var _default = {
     }, */
     // 延迟5s查询一下订单,看看是否真的启动成功
     checkedStartStatus: function checkedStartStatus() {
-      var _this6 = this;
+      var _this7 = this;
       this.$api.base("post", "/chargeApi/checkedStartStatus", {
         "id": this.orderInfo.id
       }, {}).then(function (res) {
@@ -664,20 +698,20 @@ var _default = {
             if (respObj.status == 1) {
               uni.hideLoading();
               //状态为1说明正常启动
-              _this6.$app.url.goto('/pages/charging/charging?orderId=' + _this6.orderInfo.id + "&deviceId=" + _this6.deviceInfo.id, false);
+              _this7.$app.url.goto('/pages/charging/charging?orderId=' + _this7.orderInfo.id + "&deviceId=" + _this7.deviceInfo.id, false);
             } else {
               //其他状态,说明充电桩,未启动。或其他问题,需要再次进行进行验证
-              if (_this6.checkNum < 20) {
-                _this6.checkNum = _this6.checkNum + 1;
+              if (_this7.checkNum < 20) {
+                _this7.checkNum = _this7.checkNum + 1;
                 //延迟2s查询一下订单,看看是否真的启动成功
                 setTimeout(function () {
-                  return _this6.checkedStartStatus();
+                  return _this7.checkedStartStatus();
                 }, 2000);
               }
             }
           } else {
             uni.hideLoading();
-            _this6.$app.popup.alert(respObj.msg, "温馨提示");
+            _this7.$app.popup.alert(respObj.msg, "温馨提示");
           }
         } else {
           uni.hideLoading();

+ 2 - 1
unpackage/dist/dev/mp-weixin/pages/terminal/terminal.json

@@ -2,6 +2,7 @@
   "navigationBarTitleText": "充电终端",
   "usingComponents": {
     "ax-body": "/components/ax-body/ax-body",
-    "ax-ios-indicator": "/components/ax-ios-indicator/ax-ios-indicator"
+    "ax-ios-indicator": "/components/ax-ios-indicator/ax-ios-indicator",
+    "ax-popup": "/components/ax-popup/ax-popup"
   }
 }

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/terminal/terminal.wxml


+ 55 - 0
unpackage/dist/dev/mp-weixin/pages/terminal/terminal.wxss

@@ -309,4 +309,59 @@
 	text-align: center;
 	line-height: 44rpx;
 }
+.Modal-tips.data-v-26d32206{
+	width: 514rpx;
+	height: 528rpx;
+	background: #FFFFFF;
+	border-radius: 16rpx;
+	text-align: center;
+	padding-top: 40rpx;
+}
+.tips-icon.data-v-26d32206{
+	margin: auto;
+	width: 116rpx;
+	height: 116rpx;
+	line-height: 116rpx;
+	font-size: 70rpx;
+	font-weight: bold;
+	color: #fff;
+	border-radius: 50%;
+	background-color: #FF4D3A ;
+}
+.icon-title.data-v-26d32206{
+	margin-top: 24rpx;
+	font-weight: bold;
+	font-size: 40rpx;
+	color: #2B303A;
+}
+.tips-text.data-v-26d32206{
+	margin-top: 28rpx;
+	font-size: 28rpx;
+	color: #2B303A;
+}
+.tips-btn.data-v-26d32206{
+	margin-top:60rpx;
+	display: flex;
+	align-items: center;
+	gap: 20rpx;
+	justify-content: center;
+}
+.cancel-btn.data-v-26d32206{
+	width: 224rpx;
+	height: 80rpx;
+	background: #F0F0F0;
+	border-radius: 40rpx;
+	line-height: 80rpx;
+	font-size: 28rpx;
+	color: #AAAAAA;
+}
+.confirm-btn.data-v-26d32206{
+	width: 224rpx;
+	height: 80rpx;
+	background: #3EB6F8;
+	border-radius: 40rpx;
+	line-height: 80rpx;
+	font-size: 28rpx;
+	color: #FFFFFF;
+}
 

+ 1 - 0
unpackage/dist/dev/mp-weixin/static/img/arrears-icon.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15"><defs><style>.a{fill:#fab14f;}</style></defs><path class="a" d="M7.515,0a7.5,7.5,0,1,0,7.5,7.5A7.5,7.5,0,0,0,7.515,0ZM7.322,8.114,6.884,8.8a10.521,10.521,0,0,0-1.109-1.2v3.368H4.989V7.668q-.5.48-1.137.994l-.246-.809A8.073,8.073,0,0,0,5.964,5.167H3.835V4.443H5.09q-.177-.472-.463-1.061l.775-.2A10.771,10.771,0,0,1,5.89,4.443h.867v.648A6.261,6.261,0,0,1,5.772,6.8v.068q.253.168.379.261a3.259,3.259,0,0,0,.732-.758l.463.455a3.326,3.326,0,0,1-.69.69,7.577,7.577,0,0,1,.665.6Zm1-4.9h.783V5.967q1.2.766,2.316,1.65l-.471.7q-1.07-.943-1.844-1.524v4.169H8.324Zm-.1,9.652.208-.489.276.281Zm.628-.3L8.5,12.232l.42-.751.752.764Zm.977-.466-.782-.795,2.15-2.185.781.8Zm2.289-2.348-.763-.777a.549.549,0,0,1,.463-.256.554.554,0,0,1,.554.562.564.564,0,0,1-.254.471Z" transform="translate(-0.015)"/></svg>

+ 1 - 0
unpackage/dist/dev/mp-weixin/static/img/charge_loading.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><defs><style>.a{fill:#ffd86e;}.b{fill:none;}</style></defs><g transform="translate(-107 -186)"><path class="a" d="M194.714,81.492h-2.29a.427.427,0,0,1-.4-.578l2.275-5.972a.427.427,0,0,1,.4-.275h3.84a.427.427,0,0,1,.4.588l-1.325,3.252H200.1a.427.427,0,0,1,.321.708l-6.115,6.968a.427.427,0,0,1-.733-.39Z" transform="translate(-81.997 113.333)"/><rect class="b" width="14" height="14" transform="translate(107 186)"/></g></svg>

+ 2 - 2
unpackage/dist/dev/mp-weixin/static/js/config.js

@@ -7,9 +7,9 @@ const config = {};
 config.url = {
 	// API请求基础URL
 	// request : 'https://charge.hub.zswlgz.com/',
-	// request : 'http://192.168.1.36:80/',
+	request : 'http://192.168.1.34:80/',
 	// request : 'http://120.78.228.211:8866/',
-	request : 'https://charge.dev.hub.zswlgz.com/',
+	// request : 'https://charge.dev.hub.zswlgz.com/',
 	// 上传地址
 	upload : 'http://127.0.0.1:3000/upload/',
 	// 下载地址

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff