hldy_app_mini/pages/NursingNew/component/pleasetake/common/tijiao.vue

106 lines
1.8 KiB
Vue
Raw Normal View History

2025-12-05 10:09:24 +08:00
<template>
<view>
<view class="addall guodu" :class="{ unclass: !show }" :style="{ zIndex: showbox ? 220 : -2 }">
<view class="title">
请领详情
</view>
</view>
<view class="mengban" v-if="show" @click="() => emit('back')"></view>
</view>
</template>
<script setup>
import {
ref,
watch,
onMounted
} from 'vue'
const props = defineProps({
show: {
type: Boolean,
default: false
},
font: {
type: String,
default: ''
},
plsbuy: {
type: Object,
// default: () => ({})
}
})
// 暴露给模板的 emit
const emit = defineEmits(['back'])
const showbox = ref(false)
// 监听 show保留你原来的逻辑show 为 true 时延迟 50ms 再把 showbox 设为 truefalse 时立即关掉
watch(
() => props.show,
(n) => {
if (n) {
setTimeout(() => {
showbox.value = true;
console.log('plsbuy =>', props.plsbuy)
}, 50)
} else {
showbox.value = false
}
}
)
// mounted 中打印 plsbuy你要的行为
onMounted(() => {
})
</script>
<style scoped lang="less">
.addall {
width: 55vw;
height: 50vw;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163, 167, 182, 0.16);
border-radius: 1.6vw;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
padding: 1.5vw 2.2vw;
z-index: 9120;
}
.unclass {
opacity: 0 !important;
}
.guodu {
transition: .4s;
-webkit-transform-style: preserve-3d;
-webkit-overflow-scrolling: touch;
}
.mengban {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 100;
background: RGBA(239, 240, 244, 0.55);
}
.title{
height: 6vh;
width: 100%;
// background-color: red;
font-size: 38rpx;
font-weight: 600;
border-bottom: 2rpx solid #E5E5E5;
}
</style>