去掉子组件中的悬浮按钮

wenjuan
刘佳宇 1 year ago
parent 065a6c4b31
commit 9df3b78f02

@ -1,147 +1,167 @@
<script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/**
* name
* usersa0ChunLuyu
* date2024年8月14日 20:38:40
*/
import {
ref,
onMounted,
defineEmits
} from 'vue'
import {
$api,
$response
} from '@/api'
import {
onShow
} from '@dcloudio/uni-app'
import wx from 'weixin-js-sdk'
import { ref, onMounted, defineEmits } from "vue";
import { $api, $response } from "@/api";
import { onShow } from "@dcloudio/uni-app";
import wx from "weixin-js-sdk";
const $props = defineProps({
info: {
type: Object,
default: () => {
return {
id: 0
}
}
}
id: 0,
};
},
},
});
const order_info = ref(false)
const order_info = ref(false);
const deepInfo = () => {
order_info.value = JSON.parse(JSON.stringify($props.info))
checkStatus()
}
order_info.value = JSON.parse(JSON.stringify($props.info));
checkStatus();
};
const countdown = ref(null)
const countdown = ref(null);
const checkStatus = () => {
if (order_info.value.status === 1) {
countdown.value = setInterval(() => {
countdownRun()
}, 500)
}
countdownRun();
}, 500);
}
const count_down_text = ref('限制时间')
};
const count_down_text = ref("限制时间");
const countdownRun = () => {
let seconds = Math.floor((order_info.value.end_time - (new Date() / 1000)) % 60)
let minutes = Math.floor((order_info.value.end_time - (new Date() / 1000)) / 60)
count_down_text.value = `${minutes}${seconds}`
let seconds = Math.floor(
(order_info.value.end_time - new Date() / 1000) % 60
);
let minutes = Math.floor(
(order_info.value.end_time - new Date() / 1000) / 60
);
count_down_text.value = `${minutes}${seconds}`;
if (order_info.value.end_time <= new Date() / 1000) {
clearInterval(countdown.value)
order_info.value.status = 3
}
}
const StartPay = async (id) => { //
uni.showLoading()
const response = await $api('StartPay', {
openid: localStorage.getItem('OPENID'),
clearInterval(countdown.value);
order_info.value.status = 3;
}
};
const StartPay = async (id) => {
//
uni.showLoading();
const response = await $api("StartPay", {
openid: localStorage.getItem("OPENID"),
id: id,
})
uni.hideLoading()
});
uni.hideLoading();
$response(response, () => {
if (response.status) {
let info = response.data.info
let p = '&appid=' + info.appid + '&sub_org_code=' + info.sub_org_code + '&ghzid=' + info
.ghzid + '&orderid=' + info.orderid + '&order_desc=' + info.order_desc + '&amount=' +
info.amount + '&notify_url=' + info.notify_url + '&timestamp=' + info.timestamp +
'&nonce=' + info.nonce + '&signature=' + info.signature;
let info = response.data.info;
let p =
"&appid=" +
info.appid +
"&sub_org_code=" +
info.sub_org_code +
"&ghzid=" +
info.ghzid +
"&orderid=" +
info.orderid +
"&order_desc=" +
info.order_desc +
"&amount=" +
info.amount +
"&notify_url=" +
info.notify_url +
"&timestamp=" +
info.timestamp +
"&nonce=" +
info.nonce +
"&signature=" +
info.signature;
console.log(p);
wx.miniProgram.navigateTo({
url: '/pages/other/entry/index?path=/pages/physical-examination/payment/index' +
p
})
}
})
url:
"/pages/other/entry/index?path=/pages/physical-examination/payment/index" +
p,
});
}
});
};
const emit = defineEmits();
const Refound = async (id) => {
uni.showLoading()
const response = await $api('Refund', {
openid: localStorage.getItem('OPENID'),
uni.showLoading();
const response = await $api("Refund", {
openid: localStorage.getItem("OPENID"),
id: id,
})
uni.hideLoading()
});
uni.hideLoading();
$response(response, () => {
if (response.status) {
uni.showToast({
title: '退款完成'
title: "退款完成",
});
emit('updateValue', 'orderUpdate');
}
})
emit("updateValue", "orderUpdate");
}
});
};
onMounted(() => {
deepInfo()
})
deepInfo();
});
</script>
<template>
<DraggableButton />
<view>
<view v-if="!!order_info" class="order_wrapper">
<view class="order_status_wrapper" :class="[`status${order_info.status}`]">
<view v-if="[1].includes(order_info.status)">
待支付
</view>
<view v-if="[2].includes(order_info.status)">
已预约
</view>
<view v-if="[3,5].includes(order_info.status)">
交易关闭
</view>
<view v-if="[4].includes(order_info.status)">
已完成
</view>
<view
class="order_status_wrapper"
:class="[`status${order_info.status}`]"
>
<view v-if="[1].includes(order_info.status)"> </view>
<view v-if="[2].includes(order_info.status)"> </view>
<view v-if="[3, 5].includes(order_info.status)"> </view>
<view v-if="[4].includes(order_info.status)"> </view>
</view>
<view class="combo_name_wrapper">{{ order_info.title }}</view>
<view class="order_info_wrapper">
<view class="order_info_line_wrapper">
<view class="order_info_line_label_wrapper">体检人</view>
<view class="order_info_line_value_wrapper">{{ order_info.name }}</view>
<view class="order_info_line_value_wrapper">{{
order_info.name
}}</view>
</view>
<view class="order_info_line_wrapper">
<view class="order_info_line_label_wrapper">预约时间</view>
<view class="order_info_line_value_wrapper">{{ order_info.time }}</view>
<view class="order_info_line_value_wrapper">{{
order_info.time
}}</view>
</view>
<view class="order_info_line_wrapper">
<view class="order_info_line_label_wrapper">订单号</view>
<view class="order_info_line_value_wrapper">{{ order_info.order }}</view>
<view class="order_info_line_value_wrapper">{{
order_info.order
}}</view>
</view>
<view class="order_info_line_wrapper">
<view class="order_info_line_label_wrapper">类型</view>
<view class="order_info_line_value_wrapper">{{ order_info.type }}</view>
<view class="order_info_line_value_wrapper">{{
order_info.type
}}</view>
</view>
<view v-if="[1,2,4,5].includes(order_info.status)" class="order_price_wrapper">
<view
v-if="[1, 2, 4, 5].includes(order_info.status)"
class="order_price_wrapper"
>
<text v-if="[1].includes(order_info.status)"></text>
<text v-if="[2, 4].includes(order_info.status)"></text>
<text v-if="[5].includes(order_info.status)">退</text>
<text class="price_true"
v-if="order_info.true_price !== order_info.price">(测试:{{ order_info.true_price }})</text>
<text
class="price_true"
v-if="order_info.true_price !== order_info.price"
>(测试:{{ order_info.true_price }})</text
>
<text class="price_text">{{ order_info.price }}</text>
</view>
<view class="order_line_wrapper"></view>
@ -162,18 +182,35 @@ import DraggableButton from "@/pages/components/goHome.vue";
</view>
</view>
<view class="order_pay_button_wrapper">
<view v-if="[1].includes(order_info.status)" @click="StartPay(order_info.id)"
class="button_item_wrapper pay_button_wrapper">继续付款</view>
<view
v-if="[1].includes(order_info.status)"
@click="StartPay(order_info.id)"
class="button_item_wrapper pay_button_wrapper"
>继续付款</view
>
<!-- <view v-if="[2].includes(order_info.status)" class="button_item_wrapper change_button_wrapper">
改约</view> -->
<view v-if="[2].includes(order_info.status)" @click="Refound(order_info.id)"
class="button_item_wrapper refund_button_wrapper">退款</view>
<view v-if="[4].includes(order_info.status) && order_info.report"
class="button_item_wrapper report_button_wrapper">
<view
v-if="[2].includes(order_info.status)"
@click="Refound(order_info.id)"
class="button_item_wrapper refund_button_wrapper"
>退款</view
>
<view
v-if="[4].includes(order_info.status) && order_info.report"
class="button_item_wrapper report_button_wrapper"
>
查看报告
</view>
<view v-if="[4].includes(order_info.status) && order_info.report && !order_info.decode"
class="button_item_wrapper decode_button_wrapper">报告解读</view>
<view
v-if="
[4].includes(order_info.status) &&
order_info.report &&
!order_info.decode
"
class="button_item_wrapper decode_button_wrapper"
>报告解读</view
>
</view>
</view>
<view v-else class="order_pay_blank_wrapper"></view>
@ -199,28 +236,28 @@ import DraggableButton from "@/pages/components/goHome.vue";
}
.pay_button_wrapper {
background: #239EA3;
color: #FFFFFF;
background: #239ea3;
color: #ffffff;
}
.change_button_wrapper {
background: #E1ECEE;
color: #239EA3;
background: #e1ecee;
color: #239ea3;
}
.refund_button_wrapper {
background: #239EA3;
color: #FFFFFF;
background: #239ea3;
color: #ffffff;
}
.report_button_wrapper {
background: #E1ECEE;
color: #239EA3;
background: #e1ecee;
color: #239ea3;
}
.decode_button_wrapper {
background: #239EA3;
color: #FFFFFF;
background: #239ea3;
color: #ffffff;
}
.order_pay_blank_wrapper {
@ -230,12 +267,12 @@ import DraggableButton from "@/pages/components/goHome.vue";
.order_pay_time_wrapper {
font-weight: 500;
font-size: 20rpx;
color: #8B8B8B;
color: #8b8b8b;
line-height: 26rpx;
}
.time_red {
color: #EC4D15;
color: #ec4d15;
margin: 0 5rpx;
}
@ -251,7 +288,7 @@ import DraggableButton from "@/pages/components/goHome.vue";
.order_line_wrapper {
width: 660rpx;
height: 1rpx;
background: #EBEAEA;
background: #ebeaea;
margin: 19rpx auto 0;
}
@ -287,7 +324,7 @@ import DraggableButton from "@/pages/components/goHome.vue";
width: 120rpx;
font-weight: 400;
font-size: 24rpx;
color: #8B8B8B;
color: #8b8b8b;
line-height: 1;
margin-left: 30rpx;
}
@ -304,7 +341,7 @@ import DraggableButton from "@/pages/components/goHome.vue";
width: calc(550rpx - 30rpx);
font-weight: bold;
font-size: 32rpx;
color: #0E0E0E;
color: #0e0e0e;
line-height: 1;
margin-left: 30rpx;
overflow: hidden;
@ -320,15 +357,15 @@ import DraggableButton from "@/pages/components/goHome.vue";
}
.order_status_wrapper.status1 {
color: #EC4D15;
color: #ec4d15;
}
.order_status_wrapper.status2 {
color: #239EA3;
color: #239ea3;
}
.order_status_wrapper.status3 {
color: #EC4D15;
color: #ec4d15;
}
.order_status_wrapper.status4 {
@ -336,13 +373,13 @@ import DraggableButton from "@/pages/components/goHome.vue";
}
.order_status_wrapper.status5 {
color: #EC4D15;
color: #ec4d15;
}
.order_wrapper {
position: relative;
width: 710rpx;
background: #FFFFFF;
background: #ffffff;
box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.05);
border-radius: 10rpx;
margin: 0 auto;

Loading…
Cancel
Save