Просмотр исходного кода

feat(charging): 移除旧充电页面并重构充电功能

- 删除了 pages/charging/charging.vue 旧充电页面
- 重构了 subPackages/charging/charging/charging.vue 充电页面逻辑
- 更新了充电状态判断逻辑,使用 status 字段替代 orderStatus
- 添加了终态状态检测和统一跳转处理机制
- 优化了轮询和计时器清理逻辑
- 在订单页面中更新充电中订单的跳转参数
- 修复了充电停止后的状态处理和页面跳转逻辑
- 更新了首页样式和图片资源引用方式
- 调整了充电站详情页面的信息展示逻辑
zouzexu 1 неделя назад
Родитель
Сommit
60a419335e
44 измененных файлов с 269 добавлено и 446 удалено
  1. 0 297
      pages/charging/charging.vue
  2. 11 2
      pages/index/index.css
  3. 9 10
      pages/index/index.vue
  4. 1 1
      pages/my/my.vue
  5. BIN
      static/img/goumaicdq.png
  6. 102 39
      subPackages/charging/charging/charging.vue
  7. 2 2
      subPackages/charging/new-site/new-site.vue
  8. 23 27
      subPackages/charging/terminal/terminal.vue
  9. 1 1
      subPackages/order/order/order.vue
  10. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  11. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/app-navigation/app-navigation.js.map
  12. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-body/ax-body.js.map
  13. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-custom-title/ax-custom-title.js.map
  14. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-ios-indicator/ax-ios-indicator.js.map
  15. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-popup/ax-popup.js.map
  16. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  17. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  18. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/map.js.map
  19. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map
  20. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/charging/charging.js.map
  21. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/new-site/new-site.js.map
  22. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/site-more/site-more.js.map
  23. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/site/site.js.map
  24. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/terminal/terminal.js.map
  25. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/coupon-buy/coupon-buy.js.map
  26. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/coupons/coupons.js.map
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/recharge-log/recharge-log.js.map
  28. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/order/order-detail/order-detail.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/order/order/order.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/banner-page/banner-page.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/feedback-reply/feedback-reply.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/feedback/feedback.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/search/search.js.map
  34. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-painter/components/l-painter/l-painter.js.map
  35. 4 5
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  36. 0 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  37. 2 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  38. 0 0
      unpackage/dist/dev/mp-weixin/pages/my/my.wxml
  39. BIN
      unpackage/dist/dev/mp-weixin/static/img/goumaicdq.png
  40. 92 33
      unpackage/dist/dev/mp-weixin/subPackages/charging/charging/charging.js
  41. 0 0
      unpackage/dist/dev/mp-weixin/subPackages/charging/charging/charging.wxml
  42. 0 0
      unpackage/dist/dev/mp-weixin/subPackages/charging/new-site/new-site.wxml
  43. 21 28
      unpackage/dist/dev/mp-weixin/subPackages/charging/terminal/terminal.js
  44. 1 1
      unpackage/dist/dev/mp-weixin/subPackages/order/order/order.js

+ 0 - 297
pages/charging/charging.vue

@@ -1,297 +0,0 @@
-<template>
-	<ax-body blank="0" hideIndicatorArea>
-		<image src="@/static/img/page-bg01.png" class="page-background"></image>
-		<view class="body">
-			<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="_half left" @animationend="submitExit()"></view>
-						<view class="_half right"></view>
-						<view class="_button">
-							<view>停止</view>
-							<view>充电</view>
-						</view>
-					</view>
-					<view class="close" @click="exiting.visible = false">取消</view>
-				</view>
-				<view @click="exiting.visible = false" class="mask"></view>
-			</view>
-			<view v-if="deviceInfo.orderStatus == 1" class="timer">
-				<view class="value" style="font-size: 22px;">充电正在启动中......</view>
-				<view v-if="isShowBtn" class="name" style="color: red;font-size: 14px;">长时间无法启动可点击“长按结束充电”按钮结束订单。</view>
-			</view>
-			<!-- 主图 -->
-			<view class="app-flex c-center host-graph">
-				<image
-					src="https://national-motion.oss-cn-beijing.aliyuncs.com/20251230/9ca38a2aa5784e06b9cac31587b188b3.png"
-					mode="widthFix" class="image"></image>
-			</view>
-			<!-- 主参数 -->
-			<view class="parameter-info-box">
-				<!-- 充电动画 -->
-				<view class="charge-loading-box" v-if="deviceInfo.orderStatus == 2">
-					<view class="charge-loading">
-						<image class="charge-icon" src="../../static/img/charge_loading.svg" mode=""></image>
-						<view class="c-loading"></view>
-					</view>
-				</view>
-				<!-- 计时器 -->
-				<view class="timer" v-if="deviceInfo.orderStatus == 2">
-					<view class="value">{{ timer.text }}</view>
-					<view class="name">充电时间</view>
-				</view>
-				<view class="parameter">
-					<view class="param">
-						<view class="name">电流A</view>
-						<view class="value">{{ deviceInfo.current || '0' }}</view>
-					</view>
-					<view class="split"></view>
-					<view class="param">
-						<view class="name">电压V</view>
-						<view class="value">{{ deviceInfo.voltage || '0' }}</view>
-					</view>
-					<view class="split"></view>
-					<view class="param">
-						<view class="name">功率KW</view>
-						<view class="value">{{ deviceInfo.power || '0' }}</view>
-					</view>
-					<view class="split"></view>
-					<view class="param">
-						<view class="name">电量/度</view>
-						<view class="value">{{ deviceInfo.totalPower || '0' }}</view>
-					</view>
-					<view class="split"></view>
-					<view class="param">
-						<view class="name">费用/元</view>
-						<view class="value">{{ deviceInfo.totalMoney || '0' }}</view>
-					</view>
-				</view>
-				<view class="end-charge-box">
-					<button @click="exiting.visible = true" :disabled="!isShowBtn" class="end-charge">结束充电</button>
-				</view>
-			</view>
-			<!-- 信息 -->
-			<view id="info" class="info">
-				<view>
-					<view class="cell">
-						<view class="lable">订单编号</view>
-						<view class="contet">{{ deviceInfo.chargeOrderNo }}</view>
-					</view>
-					<view class="cell">
-						<view class="lable">终端编号</view>
-						<view class="contet">{{ deviceInfo.connectorCode }}</view>
-					</view>
-					<view class="cell">
-						<view class="lable">充电电站</view>
-						<view class="contet">{{ deviceInfo.stationName }}</view>
-					</view>
-					<view class="cell">
-						<view class="lable">充电终端</view>
-						<view class="contet">{{ deviceInfo.connectorName }}</view>
-					</view>
-				</view>
-				<view class="tips">账单信息可能会有所延迟,具体以实际结算为准</view>
-				<!-- 				<view>
-					<button @click="exiting.visible=true" :disabled="!isShowBtn" class="end">结束充电</button>
-					<ax-ios-indicator min="10"></ax-ios-indicator>
-				</view> -->
-			</view>
-		</view>
-	</ax-body>
-</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,
-			},
-			pollingTimer: null, //轮询定时器ID
-			deviceInfo: {}, //充电桩的信息
-			orderInfo: {
-				id: 1
-			}, //订单信息
-			isShowBtn: true, //是否显示长按结束按钮 
-		}
-	},
-	destroyed() {
-		console.log("关闭页面了。。。。。。")
-		//关闭页面了,要清除定时器
-		this.stopPolling();
-		clearInterval(this.timer.id);
-	},
-	methods: {
-		//获取设备的详情信息(含轮询)
-		getDeviceInfo(showLoading = true) {
-			this.$api.base("get", "/applet/v1/station/charging-cost", {}, {
-				loading: showLoading
-			}).then(res => {
-				this.deviceInfo = res.data;
-				// 检查订单状态,已完成或已结束则跳转订单详情
-				if (res.data.orderStatus == 4 || res.data.orderStatus == 5) {
-					uni.hideLoading();
-					this.stopPolling();
-					clearInterval(this.timer.id);
-					this.$app.url.goto('/subPackages/order/order-detail?chargeOrderNo=' + res.data.chargeOrderNo, false);
-					return;
-				}
-
-				// 充电中状态,启动计时器
-				if (res.data.orderStatus == 2 && !this.timer.isSatrt) {
-					this.startup();
-				}
-				// 检查是否显示结束按钮
-				this.checkShowEndBtn(res.data.startTime);
-				// 启动轮询
-				this.startPolling();
-			})
-		},
-		//启动轮询定时器,每5秒查询一次
-		startPolling() {
-			if (this.pollingTimer) return; // 已启动则不重复
-			this.pollingTimer = setInterval(() => {
-				this.getDeviceInfo(false);
-			}, 5000);
-		},
-		//停止轮询
-		stopPolling() {
-			if (this.pollingTimer) {
-				clearInterval(this.pollingTimer);
-				this.pollingTimer = null;
-			}
-		},
-		//检查是否显示长按结束按钮
-		checkShowEndBtn(orderTime) {
-			if (!orderTime) return;
-			const t1 = new Date(orderTime.replace(/-/g, '/')).getTime();
-			const t2 = Date.now();
-			const diffSeconds = (t2 - t1) / 1000;
-			// 启动时间大于60秒或状态为充电中,显示结束按钮
-			if (diffSeconds >= 60 || this.deviceInfo.orderStatus == 2) {
-				this.isShowBtn = true;
-			}
-		},
-		// 启动定时器
-		startup() {
-			// 使用 this.deviceInfo.startTime 替代 this.timer.start
-			const start = new Date(this.deviceInfo.startTime);
-			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')}`;
-			}
-			clearInterval(this.timer.id);
-			this.timer.id = setInterval(handle, 1000);
-			handle();
-		},
-		// 退出充电
-		exit() {
-			this.$api.base("post", "/applet/v1/charge/stopCharge", {
-				"chargeOrderNo": this.deviceInfo.chargeOrderNo
-			}, {}).then(res => {
-				this.exiting.lock = false;
-				this.stopPolling();
-
-				// 显示结算中loading
-				this.$app.popup.loading(true, {
-					title: "结算中,请稍候",
-					timeout: 120 * 1000
-				});
-
-				// 2秒后开始轮询查询订单状态
-				setTimeout(() => {
-					this.getDeviceInfo(false);
-				}, 2000);
-			}).catch(() => {
-				this.exiting.lock = false;
-			})
-		},
-		// 长按动画结束
-		submitExit() {
-			this.exiting.lock = false;
-			this.exiting.visible = false;
-			this.exit();
-		}
-	}
-}
-</script>
-
-<style lang="less" scoped>
-@import url("charging.css");
-
-/* 充电loading动画 */
-.charge-loading-box {
-	text-align: center;
-	margin-top: 20rpx;
-}
-
-.charge-loading {
-	width: 364rpx;
-	height: 36rpx;
-	background: #FFFFFF;
-	border-radius: 18rpx;
-	overflow: hidden;
-	position: relative;
-	margin: auto;
-}
-
-.charge-icon {
-	width: 28rpx;
-	height: 28rpx;
-	z-index: 1000;
-	position: absolute;
-	left: 20rpx;
-	top: 5rpx;
-}
-
-.c-loading {
-	width: 100%;
-	height: 100%;
-	background: linear-gradient(66deg,
-			rgba(139, 243, 251, 0),
-			#60C8FE,
-			#53D4FF,
-			rgba(139, 243, 251, 0.7), );
-	border-radius: 18rpx;
-	animation: loading 3s linear infinite;
-	background-size: 200% 100%;
-}
-
-@keyframes loading {
-	0% {
-		background-position: 100% 0;
-	}
-
-	100% {
-		background-position: -100% 0;
-	}
-}
-</style>

+ 11 - 2
pages/index/index.css

@@ -1,3 +1,8 @@
+@font-face {
+  font-family: "ysbth";
+  src: url("ysbth.ttf") format("truetype");
+}
+
 page {
   font-size: 16px;
 }
@@ -234,8 +239,10 @@ app-navigation {
 }
 
 .title-coupon-text {
-  width: 144rpx;
-  height: 36rpx;
+  font-family: Consolas, Menlo, "Courier New", monospace;
+  font-weight: 800;
+  font-size: 34rpx;
+  /* font-style: italic; */
 }
 
 .title-right-text {
@@ -243,6 +250,8 @@ app-navigation {
   height: 34rpx;
   background: #000;
   border-radius: 50%;
+  text-align: center;
+  line-height: 34rpx;
 }
 
 .ax-iconline {

+ 9 - 10
pages/index/index.vue

@@ -46,7 +46,7 @@
 								@click="$app.url.goto('/subPackages/coupon/coupon-buy/coupon-buy')">
 								<view class="coupon-tag">限时</view>
 								<view class="charge-title">
-									<image class="title-coupon-text" src="@/static/img/goumaicdq.png" mode=""></image>
+									<view class="title-coupon-text">购充电券</view>
 									<view class="title-right-text">
 										<text class="ax ax-iconline i-arrow-right icon"></text>
 									</view>
@@ -60,9 +60,10 @@
 								<view class="order-center" @click="$app.url.goto('/subPackages/order/order/order')">
 									<view class="order-center-left">
 										<view class="charge-title" style="margin-top:0;">
-											<image class="title-coupon-text" src="@/static/img/order-center.png"
+											<!-- <image class="title-coupon-text" src="@/static/img/order-center.png"
 												mode="">
-											</image>
+											</image> -->
+											<view class="title-coupon-text">订单中心</view>
 											<view class="title-right-text">
 												<text class="ax ax-iconline i-arrow-right icon"></text>
 											</view>
@@ -77,9 +78,10 @@
 									@click="$app.url.goto('/subPackages/other/feedback/feedback')">
 									<view class="order-center-left">
 										<view class="charge-title" style="margin-top:0;">
-											<image class="title-coupon-text" src="@/static/img/yijian-fankui.png"
+											<!-- <image class="title-coupon-text" src="@/static/img/yijian-fankui.png"
 												mode="">
-											</image>
+											</image> -->
+											<view class="title-coupon-text">意见反馈</view>
 											<view class="title-right-text">
 												<text class="ax ax-iconline i-arrow-right icon"></text>
 											</view>
@@ -216,7 +218,7 @@ export default {
 			// 对url中携带的参数提取处理
 			console.log("url:" + url)
 			var device_no = this.getQueryParams(url, "connectorCode")
-			console.log("device_no:" + device_no)
+			console.log("connectorCode:" + device_no)
 			if (device_no) {
 				this.getDeviceInfo(device_no)
 			}
@@ -361,7 +363,7 @@ export default {
 		// 企业用户扫码进入
 		get_frimid() {
 			if (this.$app.storage.get('FRIM_ID')) {
-				if (this.$app.storage.get('USER_TOKEN')) {
+				if (this.$app.storage.get('USER_INFO')) {
 					this.$api.base("post", "/userApi/add-firm-user?firmId=" + parseInt(this.$app.storage.get(
 						'FRIM_ID')), {}, {
 						error: false
@@ -418,9 +420,6 @@ export default {
 
 			return params[key];
 		},
-		showImg(img) {
-			return this.$config.url.request + img
-		},
 		goImgLink(e) {
 			this.$app.url.goto(e.skipUrl);
 		},

+ 1 - 1
pages/my/my.vue

@@ -110,7 +110,7 @@
 					<l-painter-image
 						src="https://hyxhsh.oss-cn-chengdu.aliyuncs.com/63b7c68b71a69169d1b33f92/store/bdb/user/avatar/XVsEVGuCCbNv4aee36cc2f76e7050f62ebad3080ad88.jpg/1.jpg"
 						css="width:600rpx; height: 1000rpx" />
-					<l-painter-qrcode :text="'https://cd.api.zswlgz.com/deviceid?frimId=' + userinfo.firmId"
+					<l-painter-qrcode :text="'https://cd.admin.zswlgz.com/v2/?frimId=' + userinfo.firmId"
 						css="width:260rpx; height: 260rpx;position: absolute;top:27%;left:29%" />
 					<l-painter-text
 						css="position: absolute;top:594rpx;left:50%;transform:translateX(-50%);color:#216ff7;font-size:22rpx;width:60%;text-align:center;"

BIN
static/img/goumaicdq.png


+ 102 - 39
subPackages/charging/charging/charging.vue

@@ -18,7 +18,7 @@
 				</view>
 				<view @click="exiting.visible = false" class="mask"></view>
 			</view>
-			<view v-if="!deviceInfo" class="timer">
+			<view v-if="deviceInfo.status == '0'" class="timer">
 				<view class="value" style="font-size: 22px;">充电正在启动中......</view>
 				<view v-if="isShowBtn" class="name" style="color: red;font-size: 14px;">长时间无法启动可点击“长按结束充电”按钮结束订单。</view>
 			</view>
@@ -31,14 +31,14 @@
 			<!-- 主参数 -->
 			<view class="parameter-info-box">
 				<!-- 充电动画 -->
-				<view class="charge-loading-box" v-if="deviceInfo.orderStatus == 2">
+				<view class="charge-loading-box" v-if="deviceInfo.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 class="timer" v-if="deviceInfo.orderStatus == 2">
+				<view class="timer" v-if="deviceInfo.status == '1'">
 					<view class="value">{{ timer.text }}</view>
 					<view class="name">充电时间</view>
 				</view>
@@ -103,15 +103,18 @@
 </template>
 
 <script>
+// 终态状态码:2-结算中, 3-已完成, 5-未成功充电
+const TERMINAL_STATUS = ['2', '3', '5'];
+
 export default {
 	onLoad(opts) {
 		console.log("启动充值页面的参数:", opts)
 		this.orderInfo.id = opts.orderId;
 		this.deviceInfo.id = opts.deviceId;
 		this.chargeOrderNo = opts.chargeOrderNo || '';
+		this.getDeviceInfo(true, opts.chargeOrderNo);
 	},
 	onShow() {
-		this.getDeviceInfo();
 		// this.getOrderInfo();
 	},
 	data() {
@@ -132,55 +135,102 @@ export default {
 				id: 1
 			}, //订单信息
 			chargeOrderNo: '',
-			isShowBtn: true, //是否显示长按结束按钮 
+			isShowBtn: true, //是否显示长按结束按钮
+			isStoppingCharge: false, //是否正在停止充电(用户主动停止)
 		}
 	},
 	destroyed() {
-		console.log("关闭页面了。。。。。。")
-		//关闭页面了,要清除定时器
-		this.stopPolling();
-		clearInterval(this.timer.id);
+		console.log("关闭页面了......")
+		// 页面销毁时清除所有定时器
+		this.clearAllTimers();
 	},
 	methods: {
-		//获取设备的详情信息(含轮询)
-		getDeviceInfo(showLoading = true) {
-			this.$api.base("get", "/applet/v1/station/charging-cost", {}, {
+		/**
+		 * 清除所有定时器(轮询+计时器)
+		 */
+		clearAllTimers() {
+			this.stopPolling();
+			if (this.timer.id) {
+				clearInterval(this.timer.id);
+				this.timer.id = 0;
+			}
+		},
+
+		/**
+		 * 检查是否为终态状态(需要跳转的状态)
+		 * @param {string} status 状态码
+		 * @returns {boolean}
+		 */
+		isTerminalStatus(status) {
+			return TERMINAL_STATUS.includes(String(status));
+		},
+
+		/**
+		 * 处理终态跳转(统一跳转和清理逻辑)
+		 */
+		handleTerminalRedirect() {
+			uni.hideLoading();
+			this.clearAllTimers();
+			this.isStoppingCharge = false;
+			this.$app.url.goto('/subPackages/order/order/order');
+		},
+		/**
+		 * 获取设备的详情信息(含轮询)
+		 * @param {boolean} showLoading 是否显示loading
+		 * @param {string} orderNo 订单号
+		 */
+		getDeviceInfo(showLoading = true, orderNo) {
+			this.$api.base("get", "/applet/v1/station/charging-cost", {
+				orderNo: orderNo || this.chargeOrderNo
+			}, {
 				loading: showLoading
 			}).then(res => {
 				this.deviceInfo = res.data;
-				// 检查订单状态,已完成或已结束则跳转订单详情
-				if (!res.data) {
-					uni.hideLoading();
-					this.stopPolling();
-					clearInterval(this.timer.id);
-					this.$app.url.goto('/subPackages/order/order/order');
+				// 检查订单状态,终态则跳转订单列表
+				// 状态:0-待启动, 1-充电中, 2-结算中, 3-已完成, 5-未成功充电
+				if (this.isTerminalStatus(res.data.status)) {
+					this.handleTerminalRedirect();
 					return;
 				}
-				this.startPolling();
 				// 充电中状态,启动计时器
+				// 订单状态:1-启动中, 2-充电中, 3-停止中, 4-已结束, 5-未知
 				if (res.data.orderStatus == 2 && !this.timer.isSatrt) {
 					this.startup();
 				}
 				// 检查是否显示结束按钮
 				this.checkShowEndBtn(res.data.startTime);
-				// 启动轮询
-			})
+				// 启动轮询(无论是否正在停止充电,都继续轮询等待状态变化)
+				this.startPolling();
+			}).catch(err => {
+				console.error('获取充电信息失败:', err);
+				// 请求失败时也要确保轮询继续
+				this.startPolling();
+			});
 		},
-		//启动轮询定时器,每5秒查询一次
+		/**
+		 * 启动轮询定时器,每5秒查询一次
+		 */
 		startPolling() {
 			if (this.pollingTimer) return; // 已启动则不重复
 			this.pollingTimer = setInterval(() => {
 				this.getDeviceInfo(false);
 			}, 5000);
 		},
-		//停止轮询
+
+		/**
+		 * 停止轮询
+		 */
 		stopPolling() {
 			if (this.pollingTimer) {
 				clearInterval(this.pollingTimer);
 				this.pollingTimer = null;
 			}
 		},
-		//检查是否显示长按结束按钮
+
+		/**
+		 * 检查是否显示长按结束按钮
+		 * @param {string} orderTime 订单开始时间
+		 */
 		checkShowEndBtn(orderTime) {
 			if (!orderTime) return;
 			const t1 = new Date(orderTime.replace(/-/g, '/')).getTime();
@@ -191,9 +241,11 @@ export default {
 				this.isShowBtn = true;
 			}
 		},
-		// 启动定时器
+
+		/**
+		 * 启动充电计时器
+		 */
 		startup() {
-			// 使用 this.deviceInfo.startTime 替代 this.timer.start
 			const start = new Date(this.deviceInfo.startTime);
 			const obj = {
 				hour: 0,
@@ -208,32 +260,43 @@ export default {
 				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')}`;
-			}
+			};
 			clearInterval(this.timer.id);
 			this.timer.id = setInterval(handle, 1000);
 			handle();
 		},
-		// 退出充电
+
+		/**
+		 * 退出充电(调用停止充电接口)
+		 */
 		exit() {
+			this.isStoppingCharge = true;
 			this.$api.base("post", "/applet/v1/charge/stopCharge", {
-				"chargeOrderNo": this.deviceInfo ? this.deviceInfo.chargeOrderNo : this.chargeOrderNo
+				"chargeOrderNo": this.deviceInfo?.chargeOrderNo || this.chargeOrderNo
 			}, {}).then(res => {
-				// 显示结算中loading
-				this.$app.popup.loading(true, {
-					title: "结算中,请稍候",
-					timeout: 120 * 1000
-				});
 				if (res.code == '00000') {
+					// 显示结算中loading
+					this.$app.popup.loading(true, {
+						title: "结算中,请稍候",
+						timeout: 120 * 1000
+					});
+					this.exiting.lock = false;
+					// 不停止轮询,继续轮询等待状态变为终态(2、3、5)再跳转
+					// 轮询会在 getDeviceInfo 中检测到终态后自动跳转并清理
+				} else {
+					// 停止充电失败,重置状态
+					this.isStoppingCharge = false;
 					this.exiting.lock = false;
-					this.stopPolling();
-					// this.$app.url.goto('/subPackages/order/order-detail/order-detail?orderId=' + res.data.chargeOrderNo, false);
-					// this.$app.url.goto('/subPackages/order/order/order');
 				}
 			}).catch(() => {
+				this.isStoppingCharge = false;
 				this.exiting.lock = false;
-			})
+			});
 		},
-		// 长按动画结束
+
+		/**
+		 * 长按动画结束,提交停止充电
+		 */
 		submitExit() {
 			this.exiting.lock = false;
 			this.exiting.visible = false;

+ 2 - 2
subPackages/charging/new-site/new-site.vue

@@ -124,7 +124,7 @@
 						<view v-if="filteredConnectorList.length === 0" class="not-data">暂无设备</view>
 					</view>
 				</view>
-				<view class="site-list-card" v-if="stationDetail.customerServiceHotline">
+				<!-- <view class="site-list-card" v-if="stationDetail.customerServiceHotline">
 					<view class="cost-info-title">
 						<view class="title-name">电站信息</view>
 						<view class="check-info">
@@ -151,7 +151,7 @@
 							<view class="right-item">{{ stationDetail.customerServiceHotline }}</view>
 						</view>
 					</view>
-				</view>
+				</view> -->
 				<view style="height: 200rpx;"></view>
 			</view>
 			<!-- 扫码充电 -->

+ 23 - 27
subPackages/charging/terminal/terminal.vue

@@ -170,25 +170,10 @@ export default {
 		 */
 		this.userInfo = this.$app.storage.get(this.$config.keyname.userInfo);
 		console.log(this.userInfo, '获取到的用户信息');
-		if (!this.userInfo) {
-			this.$app.url.goto('/pages/index/index')
-			return;
-		}
-		// this.$api.login({
-		// 	"checkStatus": 1
-		// }).then(() => {
-		// 	this.userInfo = this.$app.storage.get(this.$config.keyname.userInfo);
-		// 	if (this.userInfo.ecId) {
-		// 		//查询该集团账户是否正常使用。
-		// 		this.$api.base("post", "/chargeApi/queryEcInfo", {
-		// 			"ecId": this.userInfo.ecId
-		// 		}, {}).then(res => {
-		// 			if (res.ecInfo && res.ecInfo.ecStatus == 1) {
-		// 				this.isEc = true;
-		// 			}
-		// 		})
-		// 	}
-		// })
+		// if (!this.userInfo) {
+		// 	this.$app.url.goto('/pages/index/index')
+		// 	return;
+		// }
 	},
 	mounted() {
 		// this.get_paymentMsg()
@@ -337,12 +322,14 @@ export default {
 		},
 		get_subMessage() {
 			let _this = this
-			uni.requestSubscribeMessage({
-				tmplIds: ['03bv7QSrzH4DSjmNsI9P0lq0Vj3sBwpN5mgfZln7Rc4'],
-				success(res) {
-					_this.startChangeAndOrder();
-				}
-			})
+			// uni.requestSubscribeMessage({
+			// 	tmplIds: ['03bv7QSrzH4DSjmNsI9P0lq0Vj3sBwpN5mgfZln7Rc4'],
+			// 	success(res) {
+			// 		_this.startChangeAndOrder();
+			// 	}
+			// })
+			_this.startChangeAndOrder();
+
 		},
 		// 主动发起购券操作
 		gotoCouponBuy() {
@@ -363,8 +350,17 @@ export default {
 				//下单成功,并进行了订单预充值
 				this.orderInfo = res.data;
 				if (res.code == "00000") {
-					this.$app.url.goto('/subPackages/charging/charging/charging?chargeOrderNo=' + res.data.chargeOrderNo + "&deviceId=" +
-						this.deviceInfo.id, false);
+					if (res.data.status == 0 || res.data.status == 1) {
+						this.$app.popup.confirm('您当前有正在进行中的订单,是否前往查看?', '温馨提示').then(confirm => {
+							if (confirm) {
+								this.$app.url.goto('/subPackages/charging/charging/charging?chargeOrderNo=' + res.data.chargeOrderNo +
+									"&deviceId=" + this.deviceInfo.id, false);
+							}
+						});
+					} else {
+						this.$app.url.goto('/subPackages/charging/charging/charging?chargeOrderNo=' + res.data.chargeOrderNo + "&deviceId=" +
+							this.deviceInfo.id, false);
+					}
 				} else {
 					this.$app.popup.alert(res.msg, "温馨提示");
 				}

+ 1 - 1
subPackages/order/order/order.vue

@@ -215,7 +215,7 @@ export default {
 			// 状态0待启动 1 充电中 2 结算中 3 已完成, 5未成功充电
 			if (item.status == 0 || item.status == 1) {
 				//有充电中的订单,点击时跳转到充电中页面进行查看
-				this.$app.url.goto('/subPackages/charging/charging/charging?orderId=' + item.id + "&deviceId=" + item.deviceId, true);
+				this.$app.url.goto('/subPackages/charging/charging/charging?orderId=' + item.id + "&chargeOrderNo=" + item.chargeOrderNo, true);
 			} else if (item.status == 2) {
 				this.$app.popup.confirm('此订单正在结算中,请稍等...').then((confirm) => {
 					if (confirm) {

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/app-navigation/app-navigation.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-body/ax-body.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-custom-title/ax-custom-title.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-ios-indicator/ax-ios-indicator.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-popup/ax-popup.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/map.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/charging/charging.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/new-site/new-site.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/site-more/site-more.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/site/site.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/terminal/terminal.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/coupon-buy/coupon-buy.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/coupons/coupons.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/recharge-log/recharge-log.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/order/order-detail/order-detail.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/order/order/order.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/banner-page/banner-page.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/feedback-reply/feedback-reply.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/feedback/feedback.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/search/search.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-painter/components/l-painter/l-painter.js.map


+ 4 - 5
unpackage/dist/dev/mp-weixin/pages/index/index.js

@@ -409,6 +409,8 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/r
 //
 //
 //
+//
+//
 
 var bmap = __webpack_require__(/*! static/js/bmap-wx.js */ 49);
 var _default = {
@@ -446,7 +448,7 @@ var _default = {
                 url = decodeURIComponent(options.q); // 对url中携带的参数提取处理
                 console.log("url:" + url);
                 device_no = _this.getQueryParams(url, "connectorCode");
-                console.log("device_no:" + device_no);
+                console.log("connectorCode:" + device_no);
                 if (device_no) {
                   _this.getDeviceInfo(device_no);
                 }
@@ -592,7 +594,7 @@ var _default = {
     get_frimid: function get_frimid() {
       var _this2 = this;
       if (this.$app.storage.get('FRIM_ID')) {
-        if (this.$app.storage.get('USER_TOKEN')) {
+        if (this.$app.storage.get('USER_INFO')) {
           this.$api.base("post", "/userApi/add-firm-user?firmId=" + parseInt(this.$app.storage.get('FRIM_ID')), {}, {
             error: false
           }).then(function (res) {
@@ -648,9 +650,6 @@ var _default = {
       });
       return params[key];
     },
-    showImg: function showImg(img) {
-      return this.$config.url.request + img;
-    },
     goImgLink: function goImgLink(e) {
       this.$app.url.goto(e.skipUrl);
     },

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


Разница между файлами не показана из-за своего большого размера
+ 2 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxss


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/my/my.wxml


BIN
unpackage/dist/dev/mp-weixin/static/img/goumaicdq.png


+ 92 - 33
unpackage/dist/dev/mp-weixin/subPackages/charging/charging/charging.js

@@ -285,15 +285,18 @@ exports.default = void 0;
 //
 //
 //
+
+// 终态状态码:2-结算中, 3-已完成, 5-未成功充电
+var TERMINAL_STATUS = ['2', '3', '5'];
 var _default = {
   onLoad: function onLoad(opts) {
     console.log("启动充值页面的参数:", opts);
     this.orderInfo.id = opts.orderId;
     this.deviceInfo.id = opts.deviceId;
     this.chargeOrderNo = opts.chargeOrderNo || '';
+    this.getDeviceInfo(true, opts.chargeOrderNo);
   },
   onShow: function onShow() {
-    this.getDeviceInfo();
     // this.getOrderInfo();
   },
   data: function data() {
@@ -317,43 +320,83 @@ var _default = {
       },
       //订单信息
       chargeOrderNo: '',
-      isShowBtn: true //是否显示长按结束按钮 
+      isShowBtn: true,
+      //是否显示长按结束按钮
+      isStoppingCharge: false //是否正在停止充电(用户主动停止)
     };
   },
   destroyed: function destroyed() {
-    console.log("关闭页面了。。。。。。");
-    //关闭页面了,要清除定时器
-    this.stopPolling();
-    clearInterval(this.timer.id);
+    console.log("关闭页面了......");
+    // 页面销毁时清除所有定时器
+    this.clearAllTimers();
   },
   methods: {
-    //获取设备的详情信息(含轮询)
+    /**
+     * 清除所有定时器(轮询+计时器)
+     */
+    clearAllTimers: function clearAllTimers() {
+      this.stopPolling();
+      if (this.timer.id) {
+        clearInterval(this.timer.id);
+        this.timer.id = 0;
+      }
+    },
+    /**
+     * 检查是否为终态状态(需要跳转的状态)
+     * @param {string} status 状态码
+     * @returns {boolean}
+     */
+    isTerminalStatus: function isTerminalStatus(status) {
+      return TERMINAL_STATUS.includes(String(status));
+    },
+    /**
+     * 处理终态跳转(统一跳转和清理逻辑)
+     */
+    handleTerminalRedirect: function handleTerminalRedirect() {
+      uni.hideLoading();
+      this.clearAllTimers();
+      this.isStoppingCharge = false;
+      this.$app.url.goto('/subPackages/order/order/order');
+    },
+    /**
+     * 获取设备的详情信息(含轮询)
+     * @param {boolean} showLoading 是否显示loading
+     * @param {string} orderNo 订单号
+     */
     getDeviceInfo: function getDeviceInfo() {
       var _this = this;
       var showLoading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
-      this.$api.base("get", "/applet/v1/station/charging-cost", {}, {
+      var orderNo = arguments.length > 1 ? arguments[1] : undefined;
+      this.$api.base("get", "/applet/v1/station/charging-cost", {
+        orderNo: orderNo || this.chargeOrderNo
+      }, {
         loading: showLoading
       }).then(function (res) {
         _this.deviceInfo = res.data;
-        // 检查订单状态,已完成或已结束则跳转订单详情
-        if (!res.data) {
-          uni.hideLoading();
-          _this.stopPolling();
-          clearInterval(_this.timer.id);
-          _this.$app.url.goto('/subPackages/order/order/order');
+        // 检查订单状态,终态则跳转订单列表
+        // 状态:0-待启动, 1-充电中, 2-结算中, 3-已完成, 5-未成功充电
+        if (_this.isTerminalStatus(res.data.status)) {
+          _this.handleTerminalRedirect();
           return;
         }
-        _this.startPolling();
         // 充电中状态,启动计时器
+        // 订单状态:1-启动中, 2-充电中, 3-停止中, 4-已结束, 5-未知
         if (res.data.orderStatus == 2 && !_this.timer.isSatrt) {
           _this.startup();
         }
         // 检查是否显示结束按钮
         _this.checkShowEndBtn(res.data.startTime);
-        // 启动轮询
+        // 启动轮询(无论是否正在停止充电,都继续轮询等待状态变化)
+        _this.startPolling();
+      }).catch(function (err) {
+        console.error('获取充电信息失败:', err);
+        // 请求失败时也要确保轮询继续
+        _this.startPolling();
       });
     },
-    //启动轮询定时器,每5秒查询一次
+    /**
+     * 启动轮询定时器,每5秒查询一次
+     */
     startPolling: function startPolling() {
       var _this2 = this;
       if (this.pollingTimer) return; // 已启动则不重复
@@ -361,14 +404,19 @@ var _default = {
         _this2.getDeviceInfo(false);
       }, 5000);
     },
-    //停止轮询
+    /**
+     * 停止轮询
+     */
     stopPolling: function stopPolling() {
       if (this.pollingTimer) {
         clearInterval(this.pollingTimer);
         this.pollingTimer = null;
       }
     },
-    //检查是否显示长按结束按钮
+    /**
+     * 检查是否显示长按结束按钮
+     * @param {string} orderTime 订单开始时间
+     */
     checkShowEndBtn: function checkShowEndBtn(orderTime) {
       if (!orderTime) return;
       var t1 = new Date(orderTime.replace(/-/g, '/')).getTime();
@@ -379,10 +427,11 @@ var _default = {
         this.isShowBtn = true;
       }
     },
-    // 启动定时器
+    /**
+     * 启动充电计时器
+     */
     startup: function startup() {
       var _this3 = this;
-      // 使用 this.deviceInfo.startTime 替代 this.timer.start
       var start = new Date(this.deviceInfo.startTime);
       var obj = {
         hour: 0,
@@ -401,28 +450,38 @@ var _default = {
       this.timer.id = setInterval(handle, 1000);
       handle();
     },
-    // 退出充电
+    /**
+     * 退出充电(调用停止充电接口)
+     */
     exit: function exit() {
-      var _this4 = this;
+      var _this$deviceInfo,
+        _this4 = this;
+      this.isStoppingCharge = true;
       this.$api.base("post", "/applet/v1/charge/stopCharge", {
-        "chargeOrderNo": this.deviceInfo ? this.deviceInfo.chargeOrderNo : this.chargeOrderNo
+        "chargeOrderNo": ((_this$deviceInfo = this.deviceInfo) === null || _this$deviceInfo === void 0 ? void 0 : _this$deviceInfo.chargeOrderNo) || this.chargeOrderNo
       }, {}).then(function (res) {
-        // 显示结算中loading
-        _this4.$app.popup.loading(true, {
-          title: "结算中,请稍候",
-          timeout: 120 * 1000
-        });
         if (res.code == '00000') {
+          // 显示结算中loading
+          _this4.$app.popup.loading(true, {
+            title: "结算中,请稍候",
+            timeout: 120 * 1000
+          });
+          _this4.exiting.lock = false;
+          // 不停止轮询,继续轮询等待状态变为终态(2、3、5)再跳转
+          // 轮询会在 getDeviceInfo 中检测到终态后自动跳转并清理
+        } else {
+          // 停止充电失败,重置状态
+          _this4.isStoppingCharge = false;
           _this4.exiting.lock = false;
-          _this4.stopPolling();
-          // this.$app.url.goto('/subPackages/order/order-detail/order-detail?orderId=' + res.data.chargeOrderNo, false);
-          // this.$app.url.goto('/subPackages/order/order/order');
         }
       }).catch(function () {
+        _this4.isStoppingCharge = false;
         _this4.exiting.lock = false;
       });
     },
-    // 长按动画结束
+    /**
+     * 长按动画结束,提交停止充电
+     */
     submitExit: function submitExit() {
       this.exiting.lock = false;
       this.exiting.visible = false;

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/mp-weixin/subPackages/charging/charging/charging.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/mp-weixin/subPackages/charging/new-site/new-site.wxml


+ 21 - 28
unpackage/dist/dev/mp-weixin/subPackages/charging/terminal/terminal.js

@@ -197,7 +197,7 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-/* WEBPACK VAR INJECTION */(function(uni) {
+
 
 Object.defineProperty(exports, "__esModule", {
   value: true
@@ -374,25 +374,10 @@ var _default = {
      */
     this.userInfo = this.$app.storage.get(this.$config.keyname.userInfo);
     console.log(this.userInfo, '获取到的用户信息');
-    if (!this.userInfo) {
-      this.$app.url.goto('/pages/index/index');
-      return;
-    }
-    // this.$api.login({
-    // 	"checkStatus": 1
-    // }).then(() => {
-    // 	this.userInfo = this.$app.storage.get(this.$config.keyname.userInfo);
-    // 	if (this.userInfo.ecId) {
-    // 		//查询该集团账户是否正常使用。
-    // 		this.$api.base("post", "/chargeApi/queryEcInfo", {
-    // 			"ecId": this.userInfo.ecId
-    // 		}, {}).then(res => {
-    // 			if (res.ecInfo && res.ecInfo.ecStatus == 1) {
-    // 				this.isEc = true;
-    // 			}
-    // 		})
-    // 	}
-    // })
+    // if (!this.userInfo) {
+    // 	this.$app.url.goto('/pages/index/index')
+    // 	return;
+    // }
   },
   mounted: function mounted() {
     var _this2 = this;
@@ -548,12 +533,13 @@ var _default = {
     },
     get_subMessage: function get_subMessage() {
       var _this = this;
-      uni.requestSubscribeMessage({
-        tmplIds: ['03bv7QSrzH4DSjmNsI9P0lq0Vj3sBwpN5mgfZln7Rc4'],
-        success: function success(res) {
-          _this.startChangeAndOrder();
-        }
-      });
+      // uni.requestSubscribeMessage({
+      // 	tmplIds: ['03bv7QSrzH4DSjmNsI9P0lq0Vj3sBwpN5mgfZln7Rc4'],
+      // 	success(res) {
+      // 		_this.startChangeAndOrder();
+      // 	}
+      // })
+      _this.startChangeAndOrder();
     },
     // 主动发起购券操作
     gotoCouponBuy: function gotoCouponBuy() {
@@ -576,7 +562,15 @@ var _default = {
         //下单成功,并进行了订单预充值
         _this5.orderInfo = res.data;
         if (res.code == "00000") {
-          _this5.$app.url.goto('/subPackages/charging/charging/charging?chargeOrderNo=' + res.data.chargeOrderNo + "&deviceId=" + _this5.deviceInfo.id, false);
+          if (res.data.status == 0 || res.data.status == 1) {
+            _this5.$app.popup.confirm('您当前有正在进行中的订单,是否前往查看?', '温馨提示').then(function (confirm) {
+              if (confirm) {
+                _this5.$app.url.goto('/subPackages/charging/charging/charging?chargeOrderNo=' + res.data.chargeOrderNo + "&deviceId=" + _this5.deviceInfo.id, false);
+              }
+            });
+          } else {
+            _this5.$app.url.goto('/subPackages/charging/charging/charging?chargeOrderNo=' + res.data.chargeOrderNo + "&deviceId=" + _this5.deviceInfo.id, false);
+          }
         } else {
           _this5.$app.popup.alert(res.msg, "温馨提示");
         }
@@ -599,7 +593,6 @@ var _default = {
   }
 };
 exports.default = _default;
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
 
 /***/ }),
 

+ 1 - 1
unpackage/dist/dev/mp-weixin/subPackages/order/order/order.js

@@ -454,7 +454,7 @@ var _default = {
       // 状态0待启动 1 充电中 2 结算中 3 已完成, 5未成功充电
       if (item.status == 0 || item.status == 1) {
         //有充电中的订单,点击时跳转到充电中页面进行查看
-        this.$app.url.goto('/subPackages/charging/charging/charging?orderId=' + item.id + "&deviceId=" + item.deviceId, true);
+        this.$app.url.goto('/subPackages/charging/charging/charging?orderId=' + item.id + "&chargeOrderNo=" + item.chargeOrderNo, true);
       } else if (item.status == 2) {
         this.$app.popup.confirm('此订单正在结算中,请稍等...').then(function (confirm) {
           if (confirm) {

Некоторые файлы не были показаны из-за большого количества измененных файлов