Ver Fonte

逻辑修改

lilei há 4 anos atrás
pai
commit
bc73319d7c
2 ficheiros alterados com 104 adições e 47 exclusões
  1. 103 46
      pages/work/index/index.vue
  2. 1 1
      pages/work/success/success.vue

+ 103 - 46
pages/work/index/index.vue

@@ -23,13 +23,15 @@
 					</view>
 				</view>
 				<!-- 状态提示 -->
-				<view class="work-button-tips">设备准备就绪</view>
+				<view class="work-button-tips">
+					{{status == 'start' ? "设备准备就绪" : "设备启动中"}}
+				</view>
 			</view>
 		</view>
 		<!-- 说明提示 -->
 		<view class="work-tips">
-			<view v-if="status=='start'">
-				<view class="work-dtime">
+			<view>
+				<view class="work-dtime" v-if="status=='start'">
 					距离订单强制完成还剩
 					<u-count-down
 						@change="changeDtime"
@@ -44,11 +46,15 @@
 				</view>
 				<view class="work-remarks">
 					<view class="title">说明:</view>
-					<view>
+					<view v-if="status=='start'">
 						支付完成后
 						<text class="red">请尽快启动洗车服务</text>
 						,否则订单将在5分钟后自动完成。
 					</view>
+					<view v-else>
+						<view>设备启动中请注意安全,如果设备工作中出现故障,请按紧急停止按钮或联系客服。</view>
+						<view @click="callPhone">如有疑问,请联系客服:<text>400-xxx-xxx</text> </view>
+					</view>
 				</view>
 			</view>
 		</view>
@@ -97,66 +103,99 @@
 export default {
 	data() {
 		return {
-			timestamp: 300,
-			rdeg: -135,
-			ldeg: -135,
-			step: 0,
-			interId: null,
-			status: 'start', // 状态,start 开始启动,working 正在工作,reseting 归位中
+			timestamp: 300, // 初始情况下5分钟后自动结束
+			rdeg: -135, // 进度条初始角度
+			ldeg: -135, /// 进度条初始角度
+			step: 0, // 进度条增值,共60步
+			interId: null, // 进度时间id
+			status: 'start', // 状态,start 开始启动,working 正在工作,stop急停,reseting 归位中
 			showStart: false ,// 启动弹框提示
 			showStop: false, // 急停提示
+			washCarType: 1, // 洗车服务类型,不同的类型对应的时间不一样
 		};
 	},
 	onLoad() {},
 	methods: {
-		// 电话客服
-		callPhone () {
-			uni.makePhoneCall({
-			    phoneNumber: '114' 
-			})
-		},
 		// 倒计时监听,0 时自动结束订单
 		changeDtime(time) {
 			console.log(time);
-		},
-		// 归位机器
-		resetRabt(){
-			this.status = 'reseting';
-			this.showStart = true;
-			this.showStop = false;
-			// 归位结束后
-			setTimeout(()=>{
-				uni.redirectTo({
-					url:"/pages/work/success/success"
-				})
-			},3000)
+			if(time==0){
+				this.washCarSuccess()
+			}
 		},
 		// 启动,急停按钮
 		startWork() {
+			let _this = this
 			// 启动
 			if (this.status == 'start') {
-				this.showStart = true;
-				// 启动成功
-				setTimeout(() => {
-					this.status = 'working';
-					this.showStart = false;
-					// 进度条
-					this.interId = setInterval(()=>{
-						this.loading(this.step++)
-					},7000)
-				}, 3000);
+				_this.startWashCar()
 			}
 			// 急停
 			if (this.status == 'working') {
-				// 显示急停提示弹框
-				this.showStop = true;
-				// 停止进度
-				this.rdeg= -135;
-				this.ldeg= -135;
-				clearInterval(this.interId);
+				_this.stopWashCar()
 			}
 		},
-		// 进度条动画
+		// 开始启动机器洗车
+		startWashCar(){
+			this.showStart = true;
+			// 启动成功
+			setTimeout(() => {
+				this.status = 'working';
+				this.showStart = false;
+				// 进度条,服务时间根据不同的服务类型而不同
+				let serverTime = 1
+				this.interId = setInterval(()=>{
+					// 小于60时说明洗车机正在工作中
+					if(this.step<=60){
+						this.loading(this.step++)
+					}else{
+						// 洗车机正常状态下工作结束
+						this.washCarSuccess()
+					}
+				},1000*serverTime)
+			}, 3000);
+		},
+		// 紧急停止
+		stopWashCar(){
+			let _this = this
+			uni.showModal({
+			    title: '提示',
+			    content: '确定紧急停止洗车机?',
+			    success: function (res) {
+			        if (res.confirm) {
+						// 显示急停提示弹框
+						_this.showStop = true;
+						_this.status = 'stop';
+						_this.resetLoadingStatus();
+			        }
+			    }
+			});
+		},
+		// 洗车完成
+		washCarSuccess(){
+			uni.showModal({
+			    title: '提示',
+			    content: '洗车已结束?',
+				showCancel: false,
+				confirmText: "确定并查看订单",
+			    success: function (res) {
+			        if (res.confirm) {
+						uni.redirectTo({
+							url: "/pages/order/orderDetail"
+						})
+			        }
+			    }
+			});
+		},
+		// 重置到进度条初始状态
+		resetLoadingStatus(){
+			// 停止进度
+			this.rdeg= -135;
+			this.ldeg= -135;
+			this.step= 0;
+			clearInterval(this.interId);
+		},
+		// 洗车机进度条动画
 		loading(second) {
 			if (second <= 30) {
 				this.rdeg = -135 + 6 * second;
@@ -165,7 +204,25 @@ export default {
 				this.rdeg = 45;
 				this.ldeg = -135 + 6 * (second - 30);
 			}
-		}
+		},
+		// 电话客服
+		callPhone () {
+			uni.makePhoneCall({
+			    phoneNumber: '15202957025' 
+			})
+		},
+		// 归位机器
+		resetRabt(){
+			this.status = 'reseting';
+			this.showStart = true;
+			this.showStop = false;
+			// 归位结束后
+			setTimeout(()=>{
+				uni.redirectTo({
+					url:"/pages/work/success/success"
+				})
+			},3000)
+		},
 	}
 };
 </script>

+ 1 - 1
pages/work/success/success.vue

@@ -39,7 +39,7 @@
 			// 再次洗车
 			toWork(){
 				uni.redirectTo({
-					url: "/pages/work/index/index"
+					url: "/pages/getOrder/getOrder"
 				})
 			}
 		}