This commit is contained in:
Teng 2025-03-24 17:37:51 +08:00
parent 5f73e7f8de
commit 8646ab37d2
9 changed files with 1919 additions and 149 deletions

View File

@ -4952,4 +4952,22 @@
//
}
}
.down-icons {
margin-top: 10rpx;
width: 100%;
height: 60rpx;
background-color: rgb(255, 216, 126);
display: flex;
justify-content: center;
align-items: center;
.icon {
margin: 0 5rpx;
font-size: 20rpx;
padding: 5rpx 10rpx;
background-color: rgb(255, 138, 0);
color: #fff;
border-radius: 5rpx;
}
}
</style>

View File

@ -38,7 +38,7 @@
<view class="doctorsay-container-up">
<view v-for="(item,index) in doctorsayList" :key="index" @click="changLeft(index)">
<view class="doctorsay-container-card"
:style="index === upmenuIndex ? {backgroundColor:`#0184db`} : {}">
:style="index === upmenuIndex ? {background: 'linear-gradient(to right bottom, #00c9ff, #0076ff)'} : {}">
<image class="doctorsay-container-card-img"
:src="index === upmenuIndex ? item.targetUrl : item.url" />
<view
@ -98,10 +98,18 @@
{{item}}
</view>
</view>
<view class="doctorsay-container-juzhen" @click="routerPush">
预览矩阵
</view>
</view>
</view>
<view class="super-card">
<view class="super-card-container">
<!-- 气泡 -->
<view class="boom" :style="{ top: `${2 * saveBoomTop - 253}rpx` }"
v-if="!canmove && liang.index0!==999 && saveBoomName">
{{saveBoomName}}
</view>
<swiper :disable-touch="!canmove || shakyTable" :current="currentNumber" class="scroll-x"
circular :indicator-dots="false" @change="changecurrentNumber" :interval="4000"
:duration="500">
@ -128,17 +136,16 @@
:style="rightListIndex ? { width: '274rpx' } : { width: '206rpx' }">
<view v-for="(item1,index1) in item0.children" style="width: 100%;"
:key="index1">
<view class="super-card-time-card" :id="`a${index0}_${index1}`"
<view
:class="targetRuler.current===currentNumber && targetRuler.index0 === index0 && targetRuler.index1 === index1 ?`title-time-border-big`:`super-card-time-card` "
:style="targetRuler.bordershow ? {} : {}"
:id="`a${index0}_${index1}`"
style="position: relative;"
@click="rulerTouchClick(item1,index0,index1,$event)"
@touchstart="rulerTouchStart(item1,index0,index1,$event)"
@touchmove="rulerTouchMove" @touchend="rulerTouchEnd()"
:data-index0="index0" :data-index1="index1">
<!-- 气泡 -->
<view class="boom"
v-show="!canmove && liang.index1 === index1 && item1.serve && !index0">
{{item1.serve}}
</view>
<view class="title-time-delete"
v-show="liang.index0 !== index0 || liang.index1 !== index1 || canmove"
v-if="item1.value&&shakyTable "
@ -203,8 +210,9 @@
<view class="super-end-items">
<view v-for="(item,index) in bottomItems" :key="index">
<view @touchstart="bottomTouchStart" @touchmove="bottomTouchMove"
@touchend="bottomTouchEnd" :style="item.target?{background: item.target,transition:`all 1.5s ease-in-out`}:{transition:`all 1.5s ease-in-out`}" class="super-end-items-father">
@touchend="bottomTouchEnd"
:style="item.target?{background: item.target,transition:`all 1.5s ease-in-out`}:{transition:`all 1.5s ease-in-out`}"
class="super-end-items-father">
<view class="super-end-items-father-close-father" v-show="bottomisShaking"
@click.stop="deletebottom(index,item.name)">
-
@ -379,6 +387,7 @@
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick, defineProps, defineEmits, watch } from 'vue';
import { onShow, onHide } from '@dcloudio/uni-app';
import type { roomBtttonType } from "./index";
const props = defineProps({
@ -410,6 +419,19 @@
bottomisShaking.value = false
shakyTable.value = false
})
watch(
() => props.liang.index1,
() => {
if (props.liang.index1 != 999) {
saveBoomName.value = timearr.value[0].children[props.liang.index1].serve ? timearr.value[0].children[props.liang.index1].serve : "";
reldata.value.find(item => {
if (item.dataset.index0 === props.liang.index0 && item.dataset.index1 === props.liang.index1) {
saveBoomTop.value = Math.floor(item.top)
}
})
}
}
)
onMounted(() => {
downList.value = bigArray[0].data
})
@ -497,6 +519,8 @@
// "",
// "",
])
const saveBoomName = ref("")
const saveBoomTop = ref(0)
const isopen = ref(false)
const songisopen = ref(false)
const isopacity = ref(false)
@ -518,6 +542,7 @@
return pseudoRandom(index0, index1) * range;
}
const changecurrentNumber = (event : any) => {
currentNumber.value = event.detail.current;
nextTick(() => {
scrollTop.value = moveDownNumber.value;
@ -538,7 +563,8 @@
}
//
const getClass = (item, index0, index1) => {
if (!props.canmove && props.liang.index0 === index0 && redNameindex0.value.includes(index0 + (currentNumber.value * 6)) && props.liang.index1 === index1 ) {
if (!props.canmove && props.liang.index0 === index0 && redNameindex0.value.includes(index0 + (currentNumber.value * 6)) && props.liang.index1 === index1) {
return 'title-time-border-red';
}
else if (!props.canmove && props.liang.index0 === index0 && props.liang.index1 === index1) {
@ -643,8 +669,6 @@
}
//
const rulerTouchClick = (item : any, index0 : number, index1 : number, e : any) => {
moveX.value = Math.floor(e.touches[0].pageX);
moveY.value = Math.floor(e.touches[0].pageY);
if (item.value) {
const query = uni.createSelectorQuery()
query
@ -680,6 +704,7 @@
}
}
const shakyTable = ref(false);
const reldata = ref([]);
//
const rulerTouchStart = (item : any, index0 : number, index1 : number, e : any) => {
scrollTop.value = moveDownNumber.value;
@ -692,7 +717,7 @@
flyNumber.value.index0 = index0 + (currentNumber.value * 6);
flyNumber.value.index1 = index1;
indexsave.value = [-1, -1]
const reldata = []
reldata.value = []
isTuoing.value = true;
const query = uni.createSelectorQuery()
query
@ -702,12 +727,12 @@
//
if (res.left > 200 && res.left < 1067 && res.top < 570 && res.top > 140) {
shakyTable.value = true;
reldata.push(res)
reldata.value.push(res)
}
})
})
.exec()
emit('saveruler', item, reldata);
emit('saveruler', item, reldata.value);
}
}, 100); // 2
}
@ -794,6 +819,7 @@
const redNameindex0 = ref([]);
//
const handleTouchStart = (item : string, index : number, e : any) => {
scrollTop.value = moveDownNumber.value;
redNameindex0.value = [];
shakyTable.value = false
saveX.value = Math.floor(e.touches[0].pageX);
@ -801,9 +827,9 @@
//
longPressTimer.value = setTimeout(() => {
if (isScrolling.value) return
timearr.value.forEach((element0:any,index0:number)=>{
element0.children.forEach((element1:any)=>{
if(element1.serve === item && element1.value ){
timearr.value.forEach((element0 : any, index0 : number) => {
element0.children.forEach((element1 : any) => {
if (element1.serve === item && element1.value) {
redNameindex0.value.push(index0)
}
})
@ -814,7 +840,8 @@
downmenuIndex.value = index
indexsave.value = [-1, -1]
isTuoing.value = true;
const reldata = []
// const reldata = []
reldata.value = []
const query = uni.createSelectorQuery()
query
.selectAll('.super-card-time-card')
@ -822,12 +849,12 @@
data.forEach((res : any) => {
//
if (res.left > 200 && res.left < 1067 && res.top < 570 && res.top > 140) {
reldata.push(res)
reldata.value.push(res)
}
})
})
.exec()
emit('savename', item, reldata);
emit('savename', item, reldata.value);
}, 200)
}
function isblue() {
@ -1062,14 +1089,14 @@
bottomItems.value.unshift({
name: cardsumit.value.op.name,
url: "/static/index/ou.png",
target:`#00a8ff`
target: `#00a8ff`
})
setTimeout(()=>{
bottomItems.value[0].target =`#fff`;
},1500)
setTimeout(()=>{
setTimeout(() => {
bottomItems.value[0].target = `#fff`;
}, 1500)
setTimeout(() => {
bottomItems.value[0].target = "";
},3000)
}, 3000)
})
return
}
@ -1149,11 +1176,46 @@
scrollTop.value = 9999
}
}
const routerPush = () => {
uni.setStorageSync("timearr", timearr.value)
uni.navigateTo({
url: `/pages/timeMatrix/index?currentNumber=${currentNumber.value}`
})
}
const targetRuler = ref({index0: -1,
index1: -1,
current: -1,
bordershow:true
})
const whereEvent = (data : any) => {
currentNumber.value = Math.floor(data.index0 / 6);
targetRuler.value.index0 = data.index0 - currentNumber.value * 6;
targetRuler.value.index1 = data.index1;
targetRuler.value.current = currentNumber.value
targetRuler.value.bordershow = false;
setTimeout(()=>{
targetRuler.value.index0 = -1;
targetRuler.value.index1 = -1;
targetRuler.value.current = -1
},400)
setTimeout(()=>{
targetRuler.value.bordershow = true;
},1000)
}
onShow(() => {
uni.$on('where', whereEvent);
})
onHide(() => {
uni.$off('where', whereEvent);
});
defineExpose({
rulerEnd,
rulerMoveEnd,
nextItems
nextItems,
})
const moveNumber = ref({
index0: 999,
index1: 999
@ -1168,6 +1230,7 @@
{ value: '' },
{ value: '' },
{ value: '' },
]
},
{
@ -1851,6 +1914,7 @@
border-radius: 20rpx;
border: 2rpx solid #fff;
box-shadow: 10rpx 10rpx 20px rgba(0, 0, 0, 0.1);
position: relative;
}
.super-card-time {
@ -1863,6 +1927,7 @@
border-right: 1rpx solid transparent;
border-image: repeating-linear-gradient(180deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
font-weight: 700;
z-index: -1;
}
.super-card-time-und {
@ -1881,33 +1946,15 @@
align-items: center;
height: 209rpx;
width: calc(100%);
// border-right: 1rpx solid transparent;
// transition: transform 0.5s ease-out, opacity 0.5s ease-out;
transition : all 0.8s;
border-top: 1rpx solid transparent;
border-image: repeating-linear-gradient(90deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
flex-direction: column;
// background-color: #f3f6fc;
position: relative;
.boom {
position: absolute;
top: 0;
left: 0;
background-color: #fff;
width: 50rpx;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
font-size: 30rpx;
letter-spacing: 5rpx;
box-shadow: 5rpx 5rpx 10rpx rgba(0, 0, 0, 0.1);
writing-mode: vertical-rl;
/* 竖排文字,从右往左 */
text-align: center;
z-index: 10;
/* 确保文字在容器内居中 */
background: linear-gradient(to bottom, #ffe2b2, #e3deff);
}
}
}
@ -2221,7 +2268,18 @@
height: 100%;
display: flex;
align-items: center;
width: 310rpx;
width: 450rpx;
.doctorsay-container-juzhen {
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
color: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 10rpx 20rpx;
border-radius: 20rpx;
font-size: 27rpx;
}
.doctorsay-container-button-father {
display: flex;
@ -2723,7 +2781,7 @@
height: 100rpx;
margin-left: 20rpx;
margin-top: 20rpx;
background-color: rgb(2, 171, 254);
background: linear-gradient(to right, #00c9ff, #0076ff);
color: #fff;
border-radius: 20rpx;
border: 1rpx solid rgb(2, 171, 254);
@ -2770,7 +2828,7 @@
height: 100rpx;
margin-left: 20rpx;
margin-top: 20rpx;
background-color: rgb(2, 171, 254);
background: linear-gradient(to right, #00c9ff, #0076ff);
color: #fff;
border-radius: 20rpx;
border: 1rpx solid #fff;
@ -2810,7 +2868,7 @@
border-top: 1rpx solid rgb(230, 230, 230);
.button-father-right {
background-color: rgb(2, 171, 254);
background: linear-gradient(to right, #00c9ff, #0076ff);
width: 200rpx;
height: 80rpx;
border-radius: 40rpx;
@ -2860,7 +2918,7 @@
height: 75rpx;
margin-left: 20rpx;
margin-top: 20rpx;
background-color: rgb(2, 171, 254);
background: linear-gradient(to right, #00c9ff, #0076ff);
color: #fff;
border-radius: 20rpx;
border: 1rpx solid #fff;
@ -2898,7 +2956,7 @@
height: 100rpx;
margin-left: 20rpx;
margin-top: 20rpx;
background-color: rgb(2, 171, 254);
background: linear-gradient(to right, #00c9ff, #0076ff);
color: #fff;
border-radius: 20rpx;
border: 1rpx solid #fff;
@ -3000,6 +3058,26 @@
linear-gradient(to top, red, red) bottom right / 8rpx 60rpx no-repeat;
}
.title-time-border-big {
transform: scale(1.5);
transform-origin: top;
/* 将页面内容放大1.2倍 */
border-top: 0rpx solid #fff;
transition: transform 0.5s ease-out, opacity 0.5s ease-out;
z-index: 999;
display: flex;
justify-content: center;
align-items: center;
height: 209rpx;
width: calc(100%);
// border-right: 1rpx solid transparent;
// border-top: 1rpx solid transparent;
border-image: repeating-linear-gradient(90deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
flex-direction: column;
// background-color: #f3f6fc;
position: relative;
}
.title-time-border-blue {
background-color: #dae8fa;
width: calc(100%);
@ -3046,7 +3124,6 @@
align-items: center;
flex-direction: column;
box-shadow: 8rpx 8rpx 16rpx rgba(255, 138, 0, 0.7);
// clip-path: polygon(30rpx 0, 100% 0, 100% 100%, 0 100%, 0 30rpx);
}
.title-time-border-yellow-active-transparent {
@ -3104,7 +3181,6 @@
display: flex;
align-items: center;
flex-direction: column;
// box-shadow: 8rpx 8rpx 16px rgba(0, 0, 0, 0.2);
box-shadow: 8rpx 8rpx 16rpx rgba(123, 97, 255, 0.7);
}
@ -3185,4 +3261,25 @@
transform: rotate(-2deg);
}
}
.boom {
position: absolute;
top: 80rpx;
left: 0rpx;
background-color: #fff;
width: 50rpx;
height: 211rpx;
display: flex;
justify-content: center;
align-items: center;
font-size: 30rpx;
letter-spacing: 5rpx;
box-shadow: 5rpx 5rpx 10rpx rgba(0, 0, 0, 0.1);
writing-mode: vertical-rl;
/* 竖排文字,从右往左 */
text-align: center;
z-index: 10;
/* 确保文字在容器内居中 */
background: linear-gradient(to bottom, #ffe2b2, #e3deff);
}
</style>

View File

@ -16,12 +16,19 @@
},
{
"path": "pages/somethingmove/index",
"path": "pages/timeMatrix/index",
"style": {
"navigationStyle": "custom"
}
}
// {
// "path": "pages/somethingmove/index",
// "style": {
// "navigationStyle": "custom"
// }
// }
],

816
pages/timeMatrix/index.vue Normal file
View File

@ -0,0 +1,816 @@
<template>
<view class="doctorsay-container-container">
<view class="doctorsay-container-title">
<view class="doctorsay-container-left">
<view class="doctorsay-container-left-gun"></view>
<view class="doctorsay-container-left-font">时间矩阵</view>
</view>
<view class="doctorsay-container-right">
<view class="doctorsay-container-right-kuai-cheng"></view>
<view class="doctorsay-container-kuai-font">日常</view>
<view class="doctorsay-container-right-kuai-zi"></view>
<view class="doctorsay-container-kuai-font">周期</view>
<view class="doctorsay-container-juzhen" @click="routerBack">
取消预览
</view>
</view>
</view>
<view class="super-card">
<view class="super-card-container">
<scroll-view style="height: 100%;width: 100%;" :scroll-left="scrollLeft" scroll-x
:show-scrollbar="false">
<view
style="display: flex;width: 6690rpx; box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);background: linear-gradient(to right, #c4dbf4,#c9c2ef, #c6dcf3);">
<view v-for="(item0,index0) in timearr" :key="index0">
<view class="super-card-time">
{{item0.time}}
</view>
</view>
</view>
<view style="display: flex;height: calc(100% - 80rpx);width: 6690rpx">
<scroll-view scroll-y :show-scrollbar="false">
<view style="display: flex;height: 100%;">
<view v-for="(item0,index0) in timearr" :key="index0">
<view class="super-card-time-und">
<view v-for="(item1,index1) in item0.children" style="width: 100%;"
:key="index1">
<view
:class="(clickX === index0 && clickY ===index1) ? `title-time-border-blue` : ``"
class="super-card-time-card" style="position: relative;"
@click="rulerTouchClick(item1,index0,index1,$event)"
@touchstart="rulerTouchStart()" @touchmove="rulerTouchMove()"
@touchend="rulerTouchEnd()" :data-index0="index0" :data-index1="index1">
<view :class="getClass(item1,index0,index1)"
style="font-size: 30rpx;overflow: hidden;">
<view class="title-time" v-if="item1.time"
style="margin-top: 5rpx;">
<view class="title-time-time" style="font-size: 30rpx;">
{{item1.time}}
</view>
<image class="title-time-button"
:src="item1.type=='日常'?`/static/index/yellowbian.png`:`/static/index/puoplebian.png`" />
<view class="title-time-font">
{{item1.type}}
</view>
</view>
<view style="margin-top: 20rpx;font-weight: 700;font-size: 35rpx;">
{{splitString(item1.value)[0]}}
</view>
<view class="down-icons"
:style="item1.type!='日常'?{backgroundColor:`rgb(212,203,255)`}:{}"
v-if="splitString(item1.value)[1]">
<view class=""
v-for="(item,index) in splitString(item1.value).slice(1)"
:key="index">
<view class="icon"
:style="item1.type!='日常'?{backgroundColor:`rgb(123,97,255)`}:{}">
{{splitString(item1.value)[index + 1]}}
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</scroll-view>
</view>
</view>
<!-- 长按的弹出层 -->
<view v-show="isopen" class="popup-overlay" @click="closeIsOpen">
<view class="popup-overlay-content"
:style="{ top: (2*openY - 350) + 'rpx',left: (2*openX - 780) + 'rpx',opacity: isopacity ? 1 : 0,backgroundColor:timearr[clickY]?.children[clickX]?.type==='日常'? '#fffcf6':'rgb(246, 244, 254)' }"
@click.stop>
<view class="popup-overlay-content-left">
<image class="popup-overlay-content-left-img" :src="`/static/index/teeth.png`" />
<text class="popup-overlay-content-left-font">
占个位置
</text>
</view>
<view class="popup-overlay-content-right">
<view class="time-font">
10:00 - 10:10
</view>
<view class="time-text">
为老人提供口腔清洁器具牙膏牙刷及水杯看护完成
</view>
</view>
</view>
</view>
</view>
</template>
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick } from 'vue';
import { onLoad } from '@dcloudio/uni-app';
//
const darkFans = ref(false);
const timearr = ref([]);
type darkFanstype = {
darkFans : boolean
}
//
const getClass = (item : any, index0 : number, index1 : number) => {
if (item.type === '日常') {
return 'title-time-border-yellow';
} else if (item.type) {
//
return 'title-time-border-pouple'
}
return 'title-time-border';
}
// bigArray
function splitString(str : any) {
// 使
let result = [];
let remainingStr = str;
//
let regex = /([^(]*)[(]([^)]+)[)]/;
while (regex.test(remainingStr)) {
let match = remainingStr.match(regex);
if (match) {
//
if (match[1].trim()) {
result.push(match[1].trim());
}
//
if (match[2].trim()) {
result.push(match[2].trim());
}
//
remainingStr = remainingStr.replace(match[0], '').trim();
}
}
//
if (remainingStr.trim()) {
result.push(remainingStr.trim());
}
return result;
}
const scrollLeft = ref(0);
//
onLoad((options) => {
if (options.currentNumber) {
scrollLeft.value = options.currentNumber * 836
}
timearr.value = uni.getStorageSync("timearr")
if (timearr.value[0].children.length === 4) {
timearr.value.forEach((element : any) => {
element.children.push({ value: "" })
})
}
});
const openX = ref(0);
const openY = ref(0);
const isopen = ref(false);
const isopacity = ref(false);
const clickX = ref(-1);
const clickY = ref(-1);
//
const rulerTouchClick = (item : any, index0 : number, index1 : number, e : any) => {
if (item.value) {
clickX.value = index0;
clickY.value = index1;
const query = uni.createSelectorQuery()
query
.selectAll('.super-card-time-card')
.boundingClientRect((data : any) => {
data.forEach(async (res : any) => {
//
if (res.dataset.index0 == index0 && res.dataset.index1 == index1) {
if (res.left < 500) {
//
openX.value = Math.floor(res.left) + 520;
} else {
openX.value = Math.floor(res.left)
}
if (res.top < 300) {
//
openY.value = Math.floor(res.top) + 250;
} else {
openY.value = Math.floor(res.top)
}
// openY.value = Math.floor(res.top);
await nextTick()
isopen.value = true;
isopacity.value = false;
//
setTimeout(() => {
isopacity.value = true;
}, 100)
}
})
})
.exec()
}
}
const rulerTouchStart = () => {
}
const rulerTouchMove = () => {
}
const rulerTouchEnd = () => {
}
const routerBack = () => {
uni.navigateBack()
}
const closeIsOpen = (event : any) => {
const touch = event.touches[0];
let clientX = (Math.floor(touch.clientX))
let clientY = (Math.floor(touch.clientY))
const query = uni.createSelectorQuery()
query
.selectAll('.super-card-time-card')
.boundingClientRect((data : any) => {
data.forEach(async (res : any) => {
//
if (res.dataset.index0 == clickX.value && res.dataset.index1 == clickY.value) {
if (clientX >= Math.floor(res.left) && clientX <= Math.floor(res.right) &&
clientY >= Math.floor(res.top) && clientY <= Math.floor(res.bottom)) {
//
uni.navigateBack({
delta: 1,
success: () => {
uni.$emit('where', {
index0:clickX.value,
index1:clickY.value,
});
}
})
}
}
})
})
.exec()
setTimeout(() => {
isopen.value = false;
clickX.value = -1;
clickY.value = -1
}, 100)
}
</script>
<style scoped lang="less">
.backgroundContainer {
display: flex;
position: relative;
width: 100%;
height: 100vh;
background-image: url('/static/index/lightbgcnew.png');
background-size: cover;
background-position: center center;
overflow: hidden;
}
//
.darkbackgroundContainer {
display: flex;
position: relative;
width: 100%;
height: 100vh;
background-image: url('/static/index/background.png');
background-size: cover;
background-position: center center;
overflow: hidden;
}
.doctorsay-container-container {
border: 2rpx solid #fff;
width: calc(100% - 4rpx);
height: calc(100vh - 4rpx);
// background-color: rgba(255, 255, 255, 0.7);
/* 设置背景图和白色背景 */
background: url("/static/index/lightbgcnew.png") center/cover, rgba(255, 255, 255, 0.3);
backdrop-filter: blur(20rpx);
/* 使用 screen 混合模式,让图像与白色混合变淡 */
background-blend-mode: screen;
border-radius: 30rpx;
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
/* 右下角阴影 */
overflow: hidden;
.super-card-end {
width: 100%;
display: flex;
.super-end-father {
height: 100%;
display: flex;
flex-direction: column;
width: 100%;
.super-end-items-all {
width: calc(100% - 85rpx);
height: 200rpx;
margin-left: 40rpx;
margin-right: 40rpx;
margin-top: 20rpx;
}
.super-end-items {
display: flex;
width: calc(100% - 85rpx);
height: 200rpx;
.super-end-items-father {
margin-right: 20rpx;
width: 150rpx;
height: 150rpx;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
position: relative;
background: linear-gradient(to bottom right, #fff 0%, #dcdcf9 50%, #dbdcf8 100%);
border-radius: 25rpx;
border: 2rpx solid #fff;
box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
transition: all 1.5s ease-in-out;
.super-end-items-father-close-father {
width: 40rpx;
height: 40rpx;
border-radius: 50%;
display: flex;
background-color: #0184db;
justify-content: center;
align-items: center;
position: absolute;
top: 0rpx;
right: 0rpx;
z-index: 10;
// background-color: #fff;
// background: linear-gradient(to bottom right, #fff 0%, #e5d3fb 50%, #cfd9f6 100%);
color: #fff;
}
.super-end-items-img-father {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
// margin-bottom: 5rpx;
display: flex;
// background-color: #fff;
justify-content: center;
align-items: center;
/* 让正方形变成圆 */
.super-end-items-img {
width: 85rpx;
height: 85rpx;
}
}
.super-end-items-img-father-active {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
display: flex;
// background-color: #fff;
justify-content: center;
align-items: center;
animation: shake 0.5s infinite;
/* 让正方形变成圆 */
.super-end-items-img {
width: 85rpx;
height: 85rpx;
}
}
.super-end-items-font {
margin-top: -10rpx;
font-size: 25rpx;
}
}
}
.super-end-font-father {
display: flex;
// margin: 20rpx 0;
margin-top: 20rpx;
margin-bottom: 10rpx;
.super-end-font-gun {
margin-left: 40rpx;
margin-right: 20rpx;
margin-top: 5rpx;
width: 13rpx;
height: 40rpx;
background: linear-gradient(to bottom, #04BCED, #0160CE);
border-radius: 10rpx;
}
.super-end-font-font {
font-size: 38rpx;
font-weight: 700;
}
}
}
}
.doctorsay-container-title {
width: 100%;
height: 105rpx;
margin-top: 50rpx;
display: flex;
align-items: center;
justify-content: space-between;
.doctorsay-container-right {
height: 100%;
display: flex;
align-items: center;
width: 450rpx;
.doctorsay-container-juzhen {
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
color: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 10rpx 20rpx;
border-radius: 20rpx;
font-size: 27rpx;
}
.doctorsay-container-button-father {
display: flex;
.doctorsay-container-button-target {
display: flex;
justify-content: center;
align-items: center;
background-color: #3FA9F5;
color: #fff;
width: 140rpx;
height: 60rpx;
margin-right: 20rpx;
font-size: 28rpx;
border-radius: 10rpx;
}
.doctorsay-container-button {
display: flex;
justify-content: center;
align-items: center;
background-color: #fff;
width: 140rpx;
height: 60rpx;
margin-right: 20rpx;
font-size: 28rpx;
border-radius: 10rpx;
}
}
.doctorsay-container-right-kuai-cheng {
background-color: #FFDBA1;
height: 35rpx;
width: 35rpx;
border-radius: 7rpx;
}
.doctorsay-container-right-kuai-zi {
background-color: #7B61FF;
height: 35rpx;
width: 35rpx;
border-radius: 7rpx;
}
.doctorsay-container-kuai-font {
font-size: 32rpx;
margin-left: 10rpx;
margin-right: 25rpx;
}
}
.doctorsay-container-left {
display: flex;
.doctorsay-container-left-gun {
margin-top: 7rpx;
margin-left: 40rpx;
margin-right: 20rpx;
width: 13rpx;
height: 40rpx;
background: linear-gradient(to bottom, #04BCED, #0160CE);
border-radius: 10rpx;
}
.doctorsay-container-left-font {
font-size: 38rpx;
font-weight: 700;
}
}
}
}
.super-card {
display: flex;
justify-content: center;
// align-items: center;
width: 100%;
height: calc(100% - 200rpx);
// margin-top: 30rpx;
.scroll-x {
height: 100%;
width: 100%;
}
.super-card-container {
/* 设置背景图和白色背景 */
background: url("/static/index/clearmountain.png") center/cover, rgba(255, 255, 255, 0.5);
/* 使用 screen 混合模式,让图像与白色混合变淡 */
background-blend-mode: screen;
isolation: isolate;
overflow: hidden;
width: calc(100% - 100rpx);
height: 100%;
border-radius: 20rpx;
border: 2rpx solid #fff;
box-shadow: 10rpx 10rpx 20px rgba(0, 0, 0, 0.1);
position: relative;
}
.super-card-time {
display: flex;
justify-content: center;
align-items: center;
// background-color: rgb(233, 239, 257);
height: 80rpx;
width: 278rpx;
border-right: 1rpx solid transparent;
border-image: repeating-linear-gradient(180deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
font-weight: 700;
}
.super-card-time-und {
display: flex;
justify-content: center;
align-items: center;
width: 278rpx;
flex-direction: column;
border-right: 1rpx solid transparent;
border-image: repeating-linear-gradient(180deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
}
.super-card-time-card {
display: flex;
justify-content: center;
align-items: center;
height: 247rpx;
width: calc(100%);
// border-right: 1rpx solid transparent;
border-top: 1rpx solid transparent;
border-image: repeating-linear-gradient(90deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
flex-direction: column;
// background-color: #f3f6fc;
position: relative;
}
}
.title-time-border-blue {
// display: flex;
// align-items: center;
// flex-direction: column;
z-index: 999;
background:
/* 左上角水平 */
linear-gradient(to right, #0184db, #0184db) top left / 60rpx 8rpx no-repeat,
/* 左上角垂直 */
linear-gradient(to bottom, #0184db, #0184db) top left / 8rpx 60rpx no-repeat,
/* 右上角水平 */
linear-gradient(to left, #0184db, #0184db) top right / 60rpx 8rpx no-repeat,
/* 右上角垂直 */
linear-gradient(to bottom, #0184db, #0184db) top right / 8rpx 60rpx no-repeat,
/* 左下角水平 */
linear-gradient(to right, #0184db, #0184db) bottom left / 60rpx 8rpx no-repeat,
/* 左下角垂直 */
linear-gradient(to top, #0184db, #0184db) bottom left / 8rpx 60rpx no-repeat,
/* 右下角水平 */
linear-gradient(to left, #0184db, #0184db) bottom right / 60rpx 8rpx no-repeat,
/* 右下角垂直 */
linear-gradient(to top, #0184db, #0184db) bottom right / 8rpx 60rpx no-repeat;
}
.title-time-border-yellow {
margin: 10rpx;
border: 2rpx solid #d0d8e0;
background: linear-gradient(to bottom, #fff1db, #ffe2b2);
width: calc(100% - 20rpx);
height: calc(100% - 20rpx);
border-radius: 20rpx;
display: flex;
align-items: center;
flex-direction: column;
box-shadow: 6rpx 6rpx 12rpx rgba(255, 138, 0, 0.7);
}
.title-time-border-pouple {
margin: 10rpx;
border: 1rpx solid #dae8fa;
background: linear-gradient(to bottom, #f1eeff, #e3deff);
width: calc(100% - 20rpx);
height: calc(100% - 20rpx);
border-radius: 20rpx;
display: flex;
align-items: center;
flex-direction: column;
box-shadow: 6rpx 6rpx 12rpx rgba(123, 97, 255, 0.7);
}
.title-time-border {
margin-top: 4rpx;
margin-left: 4rpx;
// border: 1rpx solid black;
width: calc(100% - 8rpx);
height: calc(100% - 8rpx);
border-radius: 20rpx;
display: flex;
// justify-content: center;
align-items: center;
flex-direction: column;
}
.title-time {
display: flex;
width: 100%;
position: relative;
.title-time-time {
font-size: 32rpx;
margin-left: 40rpx;
margin-top: 12rpx;
}
.title-time-button {
position: absolute;
top: -4rpx;
right: -4rpx;
width: 65rpx;
height: 60rpx;
}
.title-time-zhejiao {
position: absolute;
top: 0rpx;
left: 5rpx;
width: 40rpx;
height: 40rpx;
}
.title-time-font {
position: absolute;
top: 7rpx;
right: 5rpx;
font-size: 20rpx;
color: #fff;
}
}
.down-icons {
margin-top: 30rpx;
width: 100%;
height: 75rpx;
background-color: rgb(255, 216, 126);
display: flex;
justify-content: center;
align-items: center;
.icon {
margin: 0 5rpx;
font-size: 28rpx;
padding: 5rpx 10rpx;
background-color: rgb(255, 138, 0);
color: #fff;
border-radius: 5rpx;
}
}
.popup-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
/* 添加毛玻璃效果 */
z-index: 998;
.popup-overlay-content {
position: absolute;
display: flex;
// justify-content: center;
align-items: center;
width: 800rpx;
height: 390rpx;
background-color: #fff;
border-radius: 30rpx;
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
opacity: 0;
transition: opacity 0.4s ease;
.popup-overlay-content-left {
// background-color: red;
height: 100%;
width: 350rpx;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
.popup-overlay-content-left-img {
width: 280rpx;
height: 180rpx;
margin-top: -30rpx;
}
.popup-overlay-content-left-font {
// margin-top: 20rpx;
font-size: 30rpx;
}
}
.popup-overlay-content-right {
height: 100%;
width: 450rpx;
position: relative;
.time-font {
font-size: 50rpx;
margin-top: 100rpx;
margin-bottom: 10rpx;
font-weight: 700;
background: linear-gradient(to bottom, #7080A1, #263556);
-webkit-background-clip: text;
color: transparent;
}
.time-text {
margin-left: 10rpx;
font-size: 30rpx;
// font-weight: 700;
width: 380rpx;
margin-bottom: 50rpx;
line-height: 35rpx;
}
.right-richang {
background-color: #FFC363;
position: absolute;
top: 108rpx;
right: 50rpx;
padding: 5rpx;
border-radius: 10rpx;
}
.right-richangnot {
background-color: #7B61FF;
position: absolute;
top: 108rpx;
right: 50rpx;
padding: 5rpx;
border-radius: 10rpx;
color: #fff;
}
.right-crush {
position: absolute;
top: 20rpx;
right: 20rpx;
width: 70rpx;
height: 70rpx;
animation: shake 0.5s 3;
}
}
}
}
</style>

View File

@ -2,7 +2,7 @@
;(function(){
let u=void 0,isReady=false,onReadyCallbacks=[],isServiceReady=false,onServiceReadyCallbacks=[];
const __uniConfig = {"pages":[],"globalStyle":{"backgroundColor":"#F8F8F8","bounce":"none","navigationBar":{"backgroundColor":"#F8F8F8","titleText":"uni-app x","type":"default","titleColor":"#000000"},"isNVue":false},"nvue":{"compiler":"uni-app","styleCompiler":"uni-app","flex-direction":"column"},"renderer":"auto","appname":"养老App","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":true},"compilerVersion":"4.56","entryPagePath":"pages/index/index","entryPageQuery":"","realEntryPagePath":"","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"locales":{},"darkmode":false,"themeConfig":{}};
const __uniRoutes = [{"path":"pages/index/index","meta":{"isQuit":true,"isEntry":true,"navigationBar":{"style":"custom","type":"default"},"isNVue":false}},{"path":"pages/login/login","meta":{"navigationBar":{"style":"custom","type":"default"},"isNVue":false}},{"path":"pages/somethingmove/index","meta":{"navigationBar":{"style":"custom","type":"default"},"isNVue":false}}].map(uniRoute=>(uniRoute.meta.route=uniRoute.path,__uniConfig.pages.push(uniRoute.path),uniRoute.path='/'+uniRoute.path,uniRoute));
const __uniRoutes = [{"path":"pages/index/index","meta":{"isQuit":true,"isEntry":true,"navigationBar":{"style":"custom","type":"default"},"isNVue":false}},{"path":"pages/login/login","meta":{"navigationBar":{"style":"custom","type":"default"},"isNVue":false}},{"path":"pages/timeMatrix/index","meta":{"navigationBar":{"style":"custom","type":"default"},"isNVue":false}}].map(uniRoute=>(uniRoute.meta.route=uniRoute.path,__uniConfig.pages.push(uniRoute.path),uniRoute.path='/'+uniRoute.path,uniRoute));
__uniConfig.styles=[];//styles
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});

View File

@ -32,6 +32,7 @@ if (uni.restoreGlobal) {
(function(vue) {
"use strict";
const ON_SHOW = "onShow";
const ON_HIDE = "onHide";
const ON_LOAD = "onLoad";
function formatAppLog(type, filename, ...args) {
if (uni.__log__) {
@ -44,6 +45,7 @@ if (uni.restoreGlobal) {
!vue.isInSSRComponentSetup && vue.injectHook(lifecycle, hook, target);
};
const onShow = /* @__PURE__ */ createHook(ON_SHOW);
const onHide = /* @__PURE__ */ createHook(ON_HIDE);
const onLoad = /* @__PURE__ */ createHook(ON_LOAD);
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
__name: "index",
@ -2242,6 +2244,19 @@ if (uni.restoreGlobal) {
shakyTable.value = false;
}
);
vue.watch(
() => props.liang.index1,
() => {
if (props.liang.index1 != 999) {
saveBoomName.value = timearr.value[0].children[props.liang.index1].serve ? timearr.value[0].children[props.liang.index1].serve : "";
reldata.value.find((item) => {
if (item.dataset.index0 === props.liang.index0 && item.dataset.index1 === props.liang.index1) {
saveBoomTop.value = Math.floor(item.top);
}
});
}
}
);
vue.onMounted(() => {
downList.value = bigArray[0].data;
});
@ -2335,6 +2350,8 @@ if (uni.restoreGlobal) {
// "三分段",
// "四分段",
]);
const saveBoomName = vue.ref("");
const saveBoomTop = vue.ref(0);
const isopen = vue.ref(false);
const songisopen = vue.ref(false);
const isopacity = vue.ref(false);
@ -2456,8 +2473,6 @@ if (uni.restoreGlobal) {
}, 200);
};
const rulerTouchClick = (item, index0, index1, e) => {
moveX.value = Math.floor(e.touches[0].pageX);
moveY.value = Math.floor(e.touches[0].pageY);
if (item.value) {
const query = uni.createSelectorQuery();
query.selectAll(".super-card-time-card").boundingClientRect((data) => {
@ -2485,6 +2500,7 @@ if (uni.restoreGlobal) {
}
};
const shakyTable = vue.ref(false);
const reldata = vue.ref([]);
const rulerTouchStart = (item, index0, index1, e) => {
scrollTop.value = moveDownNumber.value;
moveX.value = Math.floor(e.touches[0].pageX);
@ -2495,18 +2511,18 @@ if (uni.restoreGlobal) {
flyNumber.value.index0 = index0 + currentNumber.value * 6;
flyNumber.value.index1 = index1;
indexsave.value = [-1, -1];
const reldata = [];
reldata.value = [];
isTuoing.value = true;
const query = uni.createSelectorQuery();
query.selectAll(".super-card-time-card").boundingClientRect((data) => {
data.forEach(async (res) => {
if (res.left > 200 && res.left < 1067 && res.top < 570 && res.top > 140) {
shakyTable.value = true;
reldata.push(res);
reldata.value.push(res);
}
});
}).exec();
emit("saveruler", item, reldata);
emit("saveruler", item, reldata.value);
}
}, 100);
};
@ -2578,6 +2594,7 @@ if (uni.restoreGlobal) {
const isTuoing = vue.ref(false);
const redNameindex0 = vue.ref([]);
const handleTouchStart = (item, index, e) => {
scrollTop.value = moveDownNumber.value;
redNameindex0.value = [];
shakyTable.value = false;
saveX.value = Math.floor(e.touches[0].pageX);
@ -2596,16 +2613,16 @@ if (uni.restoreGlobal) {
downmenuIndex.value = index;
indexsave.value = [-1, -1];
isTuoing.value = true;
const reldata = [];
reldata.value = [];
const query = uni.createSelectorQuery();
query.selectAll(".super-card-time-card").boundingClientRect((data) => {
data.forEach((res) => {
if (res.left > 200 && res.left < 1067 && res.top < 570 && res.top > 140) {
reldata.push(res);
reldata.value.push(res);
}
});
}).exec();
emit("savename", item, reldata);
emit("savename", item, reldata.value);
}, 200);
};
function isblue() {
@ -2873,6 +2890,39 @@ if (uni.restoreGlobal) {
scrollTop.value = 9999;
}
};
const routerPush = () => {
uni.setStorageSync("timearr", timearr.value);
uni.navigateTo({
url: `/pages/timeMatrix/index?currentNumber=${currentNumber.value}`
});
};
const targetRuler = vue.ref({
index0: -1,
index1: -1,
current: -1,
bordershow: true
});
const whereEvent = (data) => {
currentNumber.value = Math.floor(data.index0 / 6);
targetRuler.value.index0 = data.index0 - currentNumber.value * 6;
targetRuler.value.index1 = data.index1;
targetRuler.value.current = currentNumber.value;
targetRuler.value.bordershow = false;
setTimeout(() => {
targetRuler.value.index0 = -1;
targetRuler.value.index1 = -1;
targetRuler.value.current = -1;
}, 400);
setTimeout(() => {
targetRuler.value.bordershow = true;
}, 1e3);
};
onShow(() => {
uni.$on("where", whereEvent);
});
onHide(() => {
uni.$off("where", whereEvent);
});
__expose({
rulerEnd,
rulerMoveEnd,
@ -3511,11 +3561,11 @@ if (uni.restoreGlobal) {
]
}
];
const __returned__ = { props, bottomItems, timeArray, weekDays, days, isweek, scrollLeft, scrollTop, downList, rightList, isopen, songisopen, isopacity, songisopacity, deleteisopen, deletename, deleteisopacity, currentNumber, scrollKey, pseudoRandom, computeDelay, changecurrentNumber, dragOffset, moveDownNumber, handleScrolltime, changeBug, nextItems, getClass, doctorsayList, rightListIndex, upmenuIndex, downmenuIndex, underFans, roomTar, emit, darkFanschange, changLeft, rightListClick, timer, elementsInfo, moveX, moveY, openX, openY, flyNumber, deletebottomindex, deletedownisopen, deletedownisopacity, deletebottom, deleteindex, deleteItems, rulerTouchClick, shakyTable, rulerTouchStart, rulerTouchMove, rulerTouchEnd, deleteRuler, longPressTimer, isScrolling, get scrollTimeout() {
const __returned__ = { props, bottomItems, timeArray, weekDays, days, isweek, scrollLeft, scrollTop, downList, rightList, saveBoomName, saveBoomTop, isopen, songisopen, isopacity, songisopacity, deleteisopen, deletename, deleteisopacity, currentNumber, scrollKey, pseudoRandom, computeDelay, changecurrentNumber, dragOffset, moveDownNumber, handleScrolltime, changeBug, nextItems, getClass, doctorsayList, rightListIndex, upmenuIndex, downmenuIndex, underFans, roomTar, emit, darkFanschange, changLeft, rightListClick, timer, elementsInfo, moveX, moveY, openX, openY, flyNumber, deletebottomindex, deletedownisopen, deletedownisopacity, deletebottom, deleteindex, deleteItems, rulerTouchClick, shakyTable, reldata, rulerTouchStart, rulerTouchMove, rulerTouchEnd, deleteRuler, longPressTimer, isScrolling, get scrollTimeout() {
return scrollTimeout;
}, set scrollTimeout(v) {
scrollTimeout = v;
}, handleScroll, isBack, saveX, saveY, isTuoing, redNameindex0, handleTouchStart, isblue, handleTouchMove, handleTouchEnd, bottomTimer, bottomisShaking, bottomTouchStart, bottomTouchMove, bottomTouchEnd, openValue, cardsumit, openOp, clickOp, clickTime, clickweek, clickmonth, indexsave, rulerEnd, rulerMoveEnd, scrollContainer, movetoruler, moveNumber, timearr, splitString, bigArray };
}, handleScroll, isBack, saveX, saveY, isTuoing, redNameindex0, handleTouchStart, isblue, handleTouchMove, handleTouchEnd, bottomTimer, bottomisShaking, bottomTouchStart, bottomTouchMove, bottomTouchEnd, openValue, cardsumit, openOp, clickOp, clickTime, clickweek, clickmonth, indexsave, rulerEnd, rulerMoveEnd, scrollContainer, movetoruler, routerPush, targetRuler, whereEvent, moveNumber, timearr, splitString, bigArray };
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
return __returned__;
}
@ -3641,7 +3691,7 @@ if (uni.restoreGlobal) {
"view",
{
class: "doctorsay-container-card",
style: vue.normalizeStyle(index === $setup.upmenuIndex ? { backgroundColor: `#0184db` } : {})
style: vue.normalizeStyle(index === $setup.upmenuIndex ? { background: "linear-gradient(to right bottom, #00c9ff, #0076ff)" } : {})
},
[
vue.createElementVNode("image", {
@ -3756,11 +3806,27 @@ if (uni.restoreGlobal) {
}),
128
/* KEYED_FRAGMENT */
))
)),
vue.createElementVNode("view", {
class: "doctorsay-container-juzhen",
onClick: $setup.routerPush
}, " 预览矩阵 ")
])
]),
vue.createElementVNode("view", { class: "super-card" }, [
vue.createElementVNode("view", { class: "super-card-container" }, [
vue.createCommentVNode(" 气泡 "),
!$props.canmove && $props.liang.index0 !== 999 && $setup.saveBoomName ? (vue.openBlock(), vue.createElementBlock(
"view",
{
key: 0,
class: "boom",
style: vue.normalizeStyle({ top: `${2 * $setup.saveBoomTop - 253}rpx` })
},
vue.toDisplayString($setup.saveBoomName),
5
/* TEXT, STYLE */
)) : vue.createCommentVNode("v-if", true),
vue.createElementVNode("swiper", {
"disable-touch": !$props.canmove || $setup.shakyTable,
current: $setup.currentNumber,
@ -3828,9 +3894,9 @@ if (uni.restoreGlobal) {
key: index1
}, [
vue.createElementVNode("view", {
class: "super-card-time-card",
class: vue.normalizeClass($setup.targetRuler.current === $setup.currentNumber && $setup.targetRuler.index0 === index0 && $setup.targetRuler.index1 === index1 ? `title-time-border-big` : `super-card-time-card`),
style: vue.normalizeStyle([$setup.targetRuler.bordershow ? {} : {}, { "position": "relative" }]),
id: `a${index0}_${index1}`,
style: { "position": "relative" },
onClick: ($event) => $setup.rulerTouchClick(item1, index0, index1, $event),
onTouchstart: ($event) => $setup.rulerTouchStart(item1, index0, index1, $event),
onTouchmove: $setup.rulerTouchMove,
@ -3838,16 +3904,6 @@ if (uni.restoreGlobal) {
"data-index0": index0,
"data-index1": index1
}, [
vue.createCommentVNode(" 气泡 "),
vue.withDirectives(vue.createElementVNode(
"view",
{ class: "boom" },
vue.toDisplayString(item1.serve),
513
/* TEXT, NEED_PATCH */
), [
[vue.vShow, !$props.canmove && $props.liang.index1 === index1 && item1.serve && !index0]
]),
item1.value && $setup.shakyTable ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("view", {
key: 0,
class: "title-time-delete",
@ -3948,7 +4004,7 @@ if (uni.restoreGlobal) {
6
/* CLASS, STYLE */
)
], 40, ["id", "onClick", "onTouchstart", "data-index0", "data-index1"])
], 46, ["id", "onClick", "onTouchstart", "data-index0", "data-index1"])
]);
}),
128
@ -4899,37 +4955,343 @@ if (uni.restoreGlobal) {
setup(__props, { expose: __expose }) {
__expose();
const darkFans = vue.ref(false);
const timearr = vue.ref([]);
const getClass = (item, index0, index1) => {
if (item.type === "日常") {
return "title-time-border-yellow";
} else if (item.type) {
return "title-time-border-pouple";
}
return "title-time-border";
};
function splitString(str) {
let result = [];
let remainingStr = str;
let regex = /([^(]*)[(]([^)]+)[)]/;
while (regex.test(remainingStr)) {
let match = remainingStr.match(regex);
if (match) {
if (match[1].trim()) {
result.push(match[1].trim());
}
if (match[2].trim()) {
result.push(match[2].trim());
}
remainingStr = remainingStr.replace(match[0], "").trim();
}
}
if (remainingStr.trim()) {
result.push(remainingStr.trim());
}
return result;
}
const scrollLeft = vue.ref(0);
onLoad((options) => {
if (options.darkFans === `false`) {
darkFans.value = false;
} else {
darkFans.value = true;
if (options.currentNumber) {
scrollLeft.value = options.currentNumber * 836;
}
timearr.value = uni.getStorageSync("timearr");
if (timearr.value[0].children.length === 4) {
timearr.value.forEach((element) => {
element.children.push({ value: "" });
});
}
});
const goback = () => {
const openX = vue.ref(0);
const openY = vue.ref(0);
const isopen = vue.ref(false);
const isopacity = vue.ref(false);
const clickX = vue.ref(-1);
const clickY = vue.ref(-1);
const rulerTouchClick = (item, index0, index1, e) => {
if (item.value) {
clickX.value = index0;
clickY.value = index1;
const query = uni.createSelectorQuery();
query.selectAll(".super-card-time-card").boundingClientRect((data) => {
data.forEach(async (res) => {
if (res.dataset.index0 == index0 && res.dataset.index1 == index1) {
if (res.left < 500) {
openX.value = Math.floor(res.left) + 520;
} else {
openX.value = Math.floor(res.left);
}
if (res.top < 300) {
openY.value = Math.floor(res.top) + 250;
} else {
openY.value = Math.floor(res.top);
}
await vue.nextTick();
isopen.value = true;
isopacity.value = false;
setTimeout(() => {
isopacity.value = true;
}, 100);
}
});
}).exec();
}
};
const rulerTouchStart = () => {
};
const rulerTouchMove = () => {
};
const rulerTouchEnd = () => {
};
const routerBack = () => {
uni.navigateBack();
};
const __returned__ = { darkFans, goback };
const closeIsOpen = (event) => {
const touch = event.touches[0];
let clientX = Math.floor(touch.clientX);
let clientY = Math.floor(touch.clientY);
const query = uni.createSelectorQuery();
query.selectAll(".super-card-time-card").boundingClientRect((data) => {
data.forEach(async (res) => {
if (res.dataset.index0 == clickX.value && res.dataset.index1 == clickY.value) {
if (clientX >= Math.floor(res.left) && clientX <= Math.floor(res.right) && clientY >= Math.floor(res.top) && clientY <= Math.floor(res.bottom)) {
uni.navigateBack({
delta: 1,
success: () => {
uni.$emit("where", {
index0: clickX.value,
index1: clickY.value
});
}
});
}
}
});
}).exec();
setTimeout(() => {
isopen.value = false;
clickX.value = -1;
clickY.value = -1;
}, 100);
};
const __returned__ = { darkFans, timearr, getClass, splitString, scrollLeft, openX, openY, isopen, isopacity, clickX, clickY, rulerTouchClick, rulerTouchStart, rulerTouchMove, rulerTouchEnd, routerBack, closeIsOpen };
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
return __returned__;
}
});
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock(
"view",
{
class: vue.normalizeClass($setup.darkFans ? `darkbackgroundContainer` : `backgroundContainer`),
onClick: $setup.goback
},
" 1111111 ",
2
/* CLASS */
);
var _a, _b;
return vue.openBlock(), vue.createElementBlock("view", { class: "doctorsay-container-container" }, [
vue.createElementVNode("view", { class: "doctorsay-container-title" }, [
vue.createElementVNode("view", { class: "doctorsay-container-left" }, [
vue.createElementVNode("view", { class: "doctorsay-container-left-gun" }),
vue.createElementVNode("view", { class: "doctorsay-container-left-font" }, "时间矩阵")
]),
vue.createElementVNode("view", { class: "doctorsay-container-right" }, [
vue.createElementVNode("view", { class: "doctorsay-container-right-kuai-cheng" }),
vue.createElementVNode("view", { class: "doctorsay-container-kuai-font" }, "日常"),
vue.createElementVNode("view", { class: "doctorsay-container-right-kuai-zi" }),
vue.createElementVNode("view", { class: "doctorsay-container-kuai-font" }, "周期"),
vue.createElementVNode("view", {
class: "doctorsay-container-juzhen",
onClick: $setup.routerBack
}, " 取消预览 ")
])
]),
vue.createElementVNode("view", { class: "super-card" }, [
vue.createElementVNode("view", { class: "super-card-container" }, [
vue.createElementVNode("scroll-view", {
style: { "height": "100%", "width": "100%" },
"scroll-left": $setup.scrollLeft,
"scroll-x": "",
"show-scrollbar": false
}, [
vue.createElementVNode("view", { style: { "display": "flex", "width": "6690rpx", "box-shadow": "10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1)", "background": "linear-gradient(to right, #c4dbf4,#c9c2ef, #c6dcf3)" } }, [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($setup.timearr, (item0, index0) => {
return vue.openBlock(), vue.createElementBlock("view", { key: index0 }, [
vue.createElementVNode(
"view",
{ class: "super-card-time" },
vue.toDisplayString(item0.time),
1
/* TEXT */
)
]);
}),
128
/* KEYED_FRAGMENT */
))
]),
vue.createElementVNode("view", { style: { "display": "flex", "height": "calc(100% - 80rpx)", "width": "6690rpx" } }, [
vue.createElementVNode("scroll-view", {
"scroll-y": "",
"show-scrollbar": false
}, [
vue.createElementVNode("view", { style: { "display": "flex", "height": "100%" } }, [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($setup.timearr, (item0, index0) => {
return vue.openBlock(), vue.createElementBlock("view", { key: index0 }, [
vue.createElementVNode("view", { class: "super-card-time-und" }, [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList(item0.children, (item1, index1) => {
return vue.openBlock(), vue.createElementBlock("view", {
style: { "width": "100%" },
key: index1
}, [
vue.createElementVNode("view", {
class: vue.normalizeClass([$setup.clickX === index0 && $setup.clickY === index1 ? `title-time-border-blue` : ``, "super-card-time-card"]),
style: { "position": "relative" },
onClick: ($event) => $setup.rulerTouchClick(item1, index0, index1, $event),
onTouchstart: _cache[0] || (_cache[0] = ($event) => $setup.rulerTouchStart()),
onTouchmove: _cache[1] || (_cache[1] = ($event) => $setup.rulerTouchMove()),
onTouchend: _cache[2] || (_cache[2] = ($event) => $setup.rulerTouchEnd()),
"data-index0": index0,
"data-index1": index1
}, [
vue.createElementVNode(
"view",
{
class: vue.normalizeClass($setup.getClass(item1, index0, index1)),
style: { "font-size": "30rpx", "overflow": "hidden" }
},
[
item1.time ? (vue.openBlock(), vue.createElementBlock("view", {
key: 0,
class: "title-time",
style: { "margin-top": "5rpx" }
}, [
vue.createElementVNode(
"view",
{
class: "title-time-time",
style: { "font-size": "30rpx" }
},
vue.toDisplayString(item1.time),
1
/* TEXT */
),
vue.createElementVNode("image", {
class: "title-time-button",
src: item1.type == "日常" ? `/static/index/yellowbian.png` : `/static/index/puoplebian.png`
}, null, 8, ["src"]),
vue.createElementVNode(
"view",
{ class: "title-time-font" },
vue.toDisplayString(item1.type),
1
/* TEXT */
)
])) : vue.createCommentVNode("v-if", true),
vue.createElementVNode(
"view",
{ style: { "margin-top": "20rpx", "font-weight": "700", "font-size": "35rpx" } },
vue.toDisplayString($setup.splitString(item1.value)[0]),
1
/* TEXT */
),
$setup.splitString(item1.value)[1] ? (vue.openBlock(), vue.createElementBlock(
"view",
{
key: 1,
class: "down-icons",
style: vue.normalizeStyle(item1.type != "日常" ? { backgroundColor: `rgb(212,203,255)` } : {})
},
[
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($setup.splitString(item1.value).slice(1), (item, index) => {
return vue.openBlock(), vue.createElementBlock("view", {
class: "",
key: index
}, [
vue.createElementVNode(
"view",
{
class: "icon",
style: vue.normalizeStyle(item1.type != "日常" ? { backgroundColor: `rgb(123,97,255)` } : {})
},
vue.toDisplayString($setup.splitString(item1.value)[index + 1]),
5
/* TEXT, STYLE */
)
]);
}),
128
/* KEYED_FRAGMENT */
))
],
4
/* STYLE */
)) : vue.createCommentVNode("v-if", true)
],
2
/* CLASS */
)
], 42, ["onClick", "data-index0", "data-index1"])
]);
}),
128
/* KEYED_FRAGMENT */
))
])
]);
}),
128
/* KEYED_FRAGMENT */
))
])
])
])
], 8, ["scroll-left"])
])
]),
vue.createCommentVNode(" 长按的弹出层 "),
vue.withDirectives(vue.createElementVNode(
"view",
{
class: "popup-overlay",
onClick: $setup.closeIsOpen
},
[
vue.createElementVNode(
"view",
{
class: "popup-overlay-content",
style: vue.normalizeStyle({ top: 2 * $setup.openY - 350 + "rpx", left: 2 * $setup.openX - 780 + "rpx", opacity: $setup.isopacity ? 1 : 0, backgroundColor: ((_b = (_a = $setup.timearr[$setup.clickY]) == null ? void 0 : _a.children[$setup.clickX]) == null ? void 0 : _b.type) === "日常" ? "#fffcf6" : "rgb(246, 244, 254)" }),
onClick: _cache[3] || (_cache[3] = vue.withModifiers(() => {
}, ["stop"]))
},
[
vue.createElementVNode("view", { class: "popup-overlay-content-left" }, [
vue.createElementVNode("image", {
class: "popup-overlay-content-left-img",
src: `/static/index/teeth.png`
}, null, 8, ["src"]),
vue.createElementVNode("text", { class: "popup-overlay-content-left-font" }, " 占个位置 ")
]),
vue.createElementVNode("view", { class: "popup-overlay-content-right" }, [
vue.createElementVNode("view", { class: "time-font" }, " 10:00 - 10:10 "),
vue.createElementVNode("view", { class: "time-text" }, " 为老人提供口腔清洁器具,牙膏、牙刷及水杯,看护完成 ")
])
],
4
/* STYLE */
)
],
512
/* NEED_PATCH */
), [
[vue.vShow, $setup.isopen]
])
]);
}
const PagesSomethingmoveIndex = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render], ["__scopeId", "data-v-ac282b9d"], ["__file", "D:/hldy_app/pages/somethingmove/index.vue"]]);
const PagesTimeMatrixIndex = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render], ["__scopeId", "data-v-11ec1ae8"], ["__file", "D:/hldy_app/pages/timeMatrix/index.vue"]]);
__definePage("pages/index/index", PagesIndexIndex);
__definePage("pages/login/login", PagesLoginLogin);
__definePage("pages/somethingmove/index", PagesSomethingmoveIndex);
__definePage("pages/timeMatrix/index", PagesTimeMatrixIndex);
const _sfc_main = {
onLaunch: function() {
formatAppLog("log", "at App.vue:4", "App Launch");

View File

@ -3317,6 +3317,23 @@
width: 2.5rem;
height: 2.5rem;
}
.down-icons[data-v-9f74ebdb] {
margin-top: 0.3125rem;
width: 100%;
height: 1.875rem;
background-color: #ffd87e;
display: flex;
justify-content: center;
align-items: center;
}
.down-icons .icon[data-v-9f74ebdb] {
margin: 0 0.15625rem;
font-size: 0.625rem;
padding: 0.15625rem 0.3125rem;
background-color: #ff8a00;
color: #fff;
border-radius: 0.15625rem;
}
.super-card[data-v-337bb5da] {
display: flex;
@ -3340,6 +3357,7 @@
border-radius: 0.625rem;
border: 0.0625rem solid #fff;
box-shadow: 0.3125rem 0.3125rem 20px rgba(0, 0, 0, 0.1);
position: relative;
}
.super-card .super-card-time[data-v-337bb5da] {
display: flex;
@ -3350,6 +3368,7 @@
border-right: 0.03125rem solid transparent;
border-image: repeating-linear-gradient(180deg, #0184db 0px, #0184db 0.1875rem, transparent 0.1875rem, transparent 0.375rem) 1;
font-weight: 700;
z-index: -1;
}
.super-card .super-card-time-und[data-v-337bb5da] {
display: flex;
@ -3366,32 +3385,12 @@
align-items: center;
height: 6.53125rem;
width: calc(100%);
transition: all 0.8s;
border-top: 0.03125rem solid transparent;
border-image: repeating-linear-gradient(90deg, #0184db 0px, #0184db 0.1875rem, transparent 0.1875rem, transparent 0.375rem) 1;
flex-direction: column;
position: relative;
}
.super-card .super-card-time-card .boom[data-v-337bb5da] {
position: absolute;
top: 0;
left: 0;
background-color: #fff;
width: 1.5625rem;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
font-size: 0.9375rem;
letter-spacing: 0.15625rem;
box-shadow: 0.15625rem 0.15625rem 0.3125rem rgba(0, 0, 0, 0.1);
-webkit-writing-mode: vertical-rl;
writing-mode: vertical-rl;
/* 竖排文字,从右往左 */
text-align: center;
z-index: 10;
/* 确保文字在容器内居中 */
background: linear-gradient(to bottom, #ffe2b2, #e3deff);
}
.right-container[data-v-337bb5da] {
width: calc(100% - 7.34375rem);
height: 100vh;
@ -3659,7 +3658,17 @@
height: 100%;
display: flex;
align-items: center;
width: 9.6875rem;
width: 14.0625rem;
}
.right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-juzhen[data-v-337bb5da] {
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
color: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 0.3125rem 0.625rem;
border-radius: 0.625rem;
font-size: 0.84375rem;
}
.right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-button-father[data-v-337bb5da] {
display: flex;
@ -4090,7 +4099,7 @@
height: 3.125rem;
margin-left: 0.625rem;
margin-top: 0.625rem;
background-color: #02abfe;
background: linear-gradient(to right, #00c9ff, #0076ff);
color: #fff;
border-radius: 0.625rem;
border: 0.03125rem solid #02abfe;
@ -4132,7 +4141,7 @@
height: 3.125rem;
margin-left: 0.625rem;
margin-top: 0.625rem;
background-color: #02abfe;
background: linear-gradient(to right, #00c9ff, #0076ff);
color: #fff;
border-radius: 0.625rem;
border: 0.03125rem solid #fff;
@ -4168,7 +4177,7 @@
border-top: 0.03125rem solid #e6e6e6;
}
.button-father .button-father-right[data-v-337bb5da] {
background-color: #02abfe;
background: linear-gradient(to right, #00c9ff, #0076ff);
width: 6.25rem;
height: 2.5rem;
border-radius: 1.25rem;
@ -4212,7 +4221,7 @@
height: 2.34375rem;
margin-left: 0.625rem;
margin-top: 0.625rem;
background-color: #02abfe;
background: linear-gradient(to right, #00c9ff, #0076ff);
color: #fff;
border-radius: 0.625rem;
border: 0.03125rem solid #fff;
@ -4247,7 +4256,7 @@
height: 3.125rem;
margin-left: 0.625rem;
margin-top: 0.625rem;
background-color: #02abfe;
background: linear-gradient(to right, #00c9ff, #0076ff);
color: #fff;
border-radius: 0.625rem;
border: 0.03125rem solid #fff;
@ -4317,6 +4326,22 @@
box-shadow: 0px 0.625rem 1.25rem #dae8fa;
background: linear-gradient(to right, red, red) top left / 1.875rem 0.25rem no-repeat, linear-gradient(to bottom, red, red) top left / 0.25rem 1.875rem no-repeat, linear-gradient(to left, red, red) top right / 1.875rem 0.25rem no-repeat, linear-gradient(to bottom, red, red) top right / 0.25rem 1.875rem no-repeat, linear-gradient(to right, red, red) bottom left / 1.875rem 0.25rem no-repeat, linear-gradient(to top, red, red) bottom left / 0.25rem 1.875rem no-repeat, linear-gradient(to left, red, red) bottom right / 1.875rem 0.25rem no-repeat, linear-gradient(to top, red, red) bottom right / 0.25rem 1.875rem no-repeat;
}
.title-time-border-big[data-v-337bb5da] {
transform: scale(1.5);
transform-origin: top;
/* 将页面内容放大1.2倍 */
border-top: 0 solid #fff;
transition: transform 0.5s ease-out, opacity 0.5s ease-out;
z-index: 999;
display: flex;
justify-content: center;
align-items: center;
height: 6.53125rem;
width: calc(100%);
border-image: repeating-linear-gradient(90deg, #0184db 0px, #0184db 0.1875rem, transparent 0.1875rem, transparent 0.375rem) 1;
flex-direction: column;
position: relative;
}
.title-time-border-blue[data-v-337bb5da] {
background-color: #dae8fa;
width: calc(100%);
@ -4455,6 +4480,27 @@
transform: rotate(-2deg);
}
}
.boom[data-v-337bb5da] {
position: absolute;
top: 2.5rem;
left: 0;
background-color: #fff;
width: 1.5625rem;
height: 6.59375rem;
display: flex;
justify-content: center;
align-items: center;
font-size: 0.9375rem;
letter-spacing: 0.15625rem;
box-shadow: 0.15625rem 0.15625rem 0.3125rem rgba(0, 0, 0, 0.1);
-webkit-writing-mode: vertical-rl;
writing-mode: vertical-rl;
/* 竖排文字,从右往左 */
text-align: center;
z-index: 10;
/* 确保文字在容器内居中 */
background: linear-gradient(to bottom, #ffe2b2, #e3deff);
}
.backgroundContainer[data-v-1cf27b2a] {
display: flex;

View File

@ -1,20 +0,0 @@
.backgroundContainer[data-v-ac282b9d] {
display: flex;
position: relative;
width: 100%;
height: 100vh;
background-image: url('../../static/index/lightbgcnew.png');
background-size: cover;
background-position: center center;
overflow: hidden;
}
.darkbackgroundContainer[data-v-ac282b9d] {
display: flex;
position: relative;
width: 100%;
height: 100vh;
background-image: url('../../static/index/background.png');
background-size: cover;
background-position: center center;
overflow: hidden;
}

View File

@ -0,0 +1,444 @@
.backgroundContainer[data-v-11ec1ae8] {
display: flex;
position: relative;
width: 100%;
height: 100vh;
background-image: url('../../static/index/lightbgcnew.png');
background-size: cover;
background-position: center center;
overflow: hidden;
}
.darkbackgroundContainer[data-v-11ec1ae8] {
display: flex;
position: relative;
width: 100%;
height: 100vh;
background-image: url('../../static/index/background.png');
background-size: cover;
background-position: center center;
overflow: hidden;
}
.doctorsay-container-container[data-v-11ec1ae8] {
border: 0.0625rem solid #fff;
width: calc(100% - 0.125rem);
height: calc(100vh - 0.125rem);
/* 设置背景图和白色背景 */
background: url("../../static/index/lightbgcnew.png") center / cover, rgba(255, 255, 255, 0.3);
-webkit-backdrop-filter: blur(0.625rem);
backdrop-filter: blur(0.625rem);
/* 使用 screen 混合模式,让图像与白色混合变淡 */
background-blend-mode: screen;
border-radius: 0.9375rem;
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
/* 右下角阴影 */
overflow: hidden;
}
.doctorsay-container-container .super-card-end[data-v-11ec1ae8] {
width: 100%;
display: flex;
}
.doctorsay-container-container .super-card-end .super-end-father[data-v-11ec1ae8] {
height: 100%;
display: flex;
flex-direction: column;
width: 100%;
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-items-all[data-v-11ec1ae8] {
width: calc(100% - 2.65625rem);
height: 6.25rem;
margin-left: 1.25rem;
margin-right: 1.25rem;
margin-top: 0.625rem;
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-items[data-v-11ec1ae8] {
display: flex;
width: calc(100% - 2.65625rem);
height: 6.25rem;
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father[data-v-11ec1ae8] {
margin-right: 0.625rem;
width: 4.6875rem;
height: 4.6875rem;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
position: relative;
background: linear-gradient(to bottom right, #fff 0%, #dcdcf9 50%, #dbdcf8 100%);
border-radius: 0.78125rem;
border: 0.0625rem solid #fff;
box-shadow: 0.3125rem 0.3125rem 0.625rem rgba(0, 0, 0, 0.1);
transition: all 1.5s ease-in-out;
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-father-close-father[data-v-11ec1ae8] {
width: 1.25rem;
height: 1.25rem;
border-radius: 50%;
display: flex;
background-color: #0184db;
justify-content: center;
align-items: center;
position: absolute;
top: 0;
right: 0;
z-index: 10;
color: #fff;
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father[data-v-11ec1ae8] {
width: 3.125rem;
height: 3.125rem;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
/* 让正方形变成圆 */
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father .super-end-items-img[data-v-11ec1ae8] {
width: 2.65625rem;
height: 2.65625rem;
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father-active[data-v-11ec1ae8] {
width: 3.125rem;
height: 3.125rem;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
animation: shake 0.5s infinite;
/* 让正方形变成圆 */
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father-active .super-end-items-img[data-v-11ec1ae8] {
width: 2.65625rem;
height: 2.65625rem;
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-font[data-v-11ec1ae8] {
margin-top: -0.3125rem;
font-size: 0.78125rem;
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-font-father[data-v-11ec1ae8] {
display: flex;
margin-top: 0.625rem;
margin-bottom: 0.3125rem;
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-font-father .super-end-font-gun[data-v-11ec1ae8] {
margin-left: 1.25rem;
margin-right: 0.625rem;
margin-top: 0.15625rem;
width: 0.40625rem;
height: 1.25rem;
background: linear-gradient(to bottom, #04BCED, #0160CE);
border-radius: 0.3125rem;
}
.doctorsay-container-container .super-card-end .super-end-father .super-end-font-father .super-end-font-font[data-v-11ec1ae8] {
font-size: 1.1875rem;
font-weight: 700;
}
.doctorsay-container-container .doctorsay-container-title[data-v-11ec1ae8] {
width: 100%;
height: 3.28125rem;
margin-top: 1.5625rem;
display: flex;
align-items: center;
justify-content: space-between;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-right[data-v-11ec1ae8] {
height: 100%;
display: flex;
align-items: center;
width: 14.0625rem;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-juzhen[data-v-11ec1ae8] {
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
color: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 0.3125rem 0.625rem;
border-radius: 0.625rem;
font-size: 0.84375rem;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-button-father[data-v-11ec1ae8] {
display: flex;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-button-father .doctorsay-container-button-target[data-v-11ec1ae8] {
display: flex;
justify-content: center;
align-items: center;
background-color: #3FA9F5;
color: #fff;
width: 4.375rem;
height: 1.875rem;
margin-right: 0.625rem;
font-size: 0.875rem;
border-radius: 0.3125rem;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-button-father .doctorsay-container-button[data-v-11ec1ae8] {
display: flex;
justify-content: center;
align-items: center;
background-color: #fff;
width: 4.375rem;
height: 1.875rem;
margin-right: 0.625rem;
font-size: 0.875rem;
border-radius: 0.3125rem;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-right-kuai-cheng[data-v-11ec1ae8] {
background-color: #FFDBA1;
height: 1.09375rem;
width: 1.09375rem;
border-radius: 0.21875rem;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-right-kuai-zi[data-v-11ec1ae8] {
background-color: #7B61FF;
height: 1.09375rem;
width: 1.09375rem;
border-radius: 0.21875rem;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-kuai-font[data-v-11ec1ae8] {
font-size: 1rem;
margin-left: 0.3125rem;
margin-right: 0.78125rem;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-left[data-v-11ec1ae8] {
display: flex;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-left .doctorsay-container-left-gun[data-v-11ec1ae8] {
margin-top: 0.21875rem;
margin-left: 1.25rem;
margin-right: 0.625rem;
width: 0.40625rem;
height: 1.25rem;
background: linear-gradient(to bottom, #04BCED, #0160CE);
border-radius: 0.3125rem;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-left .doctorsay-container-left-font[data-v-11ec1ae8] {
font-size: 1.1875rem;
font-weight: 700;
}
.super-card[data-v-11ec1ae8] {
display: flex;
justify-content: center;
width: 100%;
height: calc(100% - 6.25rem);
}
.super-card .scroll-x[data-v-11ec1ae8] {
height: 100%;
width: 100%;
}
.super-card .super-card-container[data-v-11ec1ae8] {
/* 设置背景图和白色背景 */
background: url("../../static/index/clearmountain.png") center / cover, rgba(255, 255, 255, 0.5);
/* 使用 screen 混合模式,让图像与白色混合变淡 */
background-blend-mode: screen;
isolation: isolate;
overflow: hidden;
width: calc(100% - 3.125rem);
height: 100%;
border-radius: 0.625rem;
border: 0.0625rem solid #fff;
box-shadow: 0.3125rem 0.3125rem 20px rgba(0, 0, 0, 0.1);
position: relative;
}
.super-card .super-card-time[data-v-11ec1ae8] {
display: flex;
justify-content: center;
align-items: center;
height: 2.5rem;
width: 8.6875rem;
border-right: 0.03125rem solid transparent;
border-image: repeating-linear-gradient(180deg, #0184db 0px, #0184db 0.1875rem, transparent 0.1875rem, transparent 0.375rem) 1;
font-weight: 700;
}
.super-card .super-card-time-und[data-v-11ec1ae8] {
display: flex;
justify-content: center;
align-items: center;
width: 8.6875rem;
flex-direction: column;
border-right: 0.03125rem solid transparent;
border-image: repeating-linear-gradient(180deg, #0184db 0px, #0184db 0.1875rem, transparent 0.1875rem, transparent 0.375rem) 1;
}
.super-card .super-card-time-card[data-v-11ec1ae8] {
display: flex;
justify-content: center;
align-items: center;
height: 7.71875rem;
width: calc(100%);
border-top: 0.03125rem solid transparent;
border-image: repeating-linear-gradient(90deg, #0184db 0px, #0184db 0.1875rem, transparent 0.1875rem, transparent 0.375rem) 1;
flex-direction: column;
position: relative;
}
.title-time-border-blue[data-v-11ec1ae8] {
z-index: 999;
background: linear-gradient(to right, #0184db, #0184db) top left / 1.875rem 0.25rem no-repeat, linear-gradient(to bottom, #0184db, #0184db) top left / 0.25rem 1.875rem no-repeat, linear-gradient(to left, #0184db, #0184db) top right / 1.875rem 0.25rem no-repeat, linear-gradient(to bottom, #0184db, #0184db) top right / 0.25rem 1.875rem no-repeat, linear-gradient(to right, #0184db, #0184db) bottom left / 1.875rem 0.25rem no-repeat, linear-gradient(to top, #0184db, #0184db) bottom left / 0.25rem 1.875rem no-repeat, linear-gradient(to left, #0184db, #0184db) bottom right / 1.875rem 0.25rem no-repeat, linear-gradient(to top, #0184db, #0184db) bottom right / 0.25rem 1.875rem no-repeat;
}
.title-time-border-yellow[data-v-11ec1ae8] {
margin: 0.3125rem;
border: 0.0625rem solid #d0d8e0;
background: linear-gradient(to bottom, #fff1db, #ffe2b2);
width: calc(100% - 0.625rem);
height: calc(100% - 0.625rem);
border-radius: 0.625rem;
display: flex;
align-items: center;
flex-direction: column;
box-shadow: 0.1875rem 0.1875rem 0.375rem rgba(255, 138, 0, 0.7);
}
.title-time-border-pouple[data-v-11ec1ae8] {
margin: 0.3125rem;
border: 0.03125rem solid #dae8fa;
background: linear-gradient(to bottom, #f1eeff, #e3deff);
width: calc(100% - 0.625rem);
height: calc(100% - 0.625rem);
border-radius: 0.625rem;
display: flex;
align-items: center;
flex-direction: column;
box-shadow: 0.1875rem 0.1875rem 0.375rem rgba(123, 97, 255, 0.7);
}
.title-time-border[data-v-11ec1ae8] {
margin-top: 0.125rem;
margin-left: 0.125rem;
width: calc(100% - 0.25rem);
height: calc(100% - 0.25rem);
border-radius: 0.625rem;
display: flex;
align-items: center;
flex-direction: column;
}
.title-time[data-v-11ec1ae8] {
display: flex;
width: 100%;
position: relative;
}
.title-time .title-time-time[data-v-11ec1ae8] {
font-size: 1rem;
margin-left: 1.25rem;
margin-top: 0.375rem;
}
.title-time .title-time-button[data-v-11ec1ae8] {
position: absolute;
top: -0.125rem;
right: -0.125rem;
width: 2.03125rem;
height: 1.875rem;
}
.title-time .title-time-zhejiao[data-v-11ec1ae8] {
position: absolute;
top: 0;
left: 0.15625rem;
width: 1.25rem;
height: 1.25rem;
}
.title-time .title-time-font[data-v-11ec1ae8] {
position: absolute;
top: 0.21875rem;
right: 0.15625rem;
font-size: 0.625rem;
color: #fff;
}
.down-icons[data-v-11ec1ae8] {
margin-top: 0.9375rem;
width: 100%;
height: 2.34375rem;
background-color: #ffd87e;
display: flex;
justify-content: center;
align-items: center;
}
.down-icons .icon[data-v-11ec1ae8] {
margin: 0 0.15625rem;
font-size: 0.875rem;
padding: 0.15625rem 0.3125rem;
background-color: #ff8a00;
color: #fff;
border-radius: 0.15625rem;
}
.popup-overlay[data-v-11ec1ae8] {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
/* 添加毛玻璃效果 */
z-index: 998;
}
.popup-overlay .popup-overlay-content[data-v-11ec1ae8] {
position: absolute;
display: flex;
align-items: center;
width: 25rem;
height: 12.1875rem;
background-color: #fff;
border-radius: 0.9375rem;
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
opacity: 0;
transition: opacity 0.4s ease;
}
.popup-overlay .popup-overlay-content .popup-overlay-content-left[data-v-11ec1ae8] {
height: 100%;
width: 10.9375rem;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.popup-overlay .popup-overlay-content .popup-overlay-content-left .popup-overlay-content-left-img[data-v-11ec1ae8] {
width: 8.75rem;
height: 5.625rem;
margin-top: -0.9375rem;
}
.popup-overlay .popup-overlay-content .popup-overlay-content-left .popup-overlay-content-left-font[data-v-11ec1ae8] {
font-size: 0.9375rem;
}
.popup-overlay .popup-overlay-content .popup-overlay-content-right[data-v-11ec1ae8] {
height: 100%;
width: 14.0625rem;
position: relative;
}
.popup-overlay .popup-overlay-content .popup-overlay-content-right .time-font[data-v-11ec1ae8] {
font-size: 1.5625rem;
margin-top: 3.125rem;
margin-bottom: 0.3125rem;
font-weight: 700;
background: linear-gradient(to bottom, #7080A1, #263556);
-webkit-background-clip: text;
color: transparent;
}
.popup-overlay .popup-overlay-content .popup-overlay-content-right .time-text[data-v-11ec1ae8] {
margin-left: 0.3125rem;
font-size: 0.9375rem;
width: 11.875rem;
margin-bottom: 1.5625rem;
line-height: 1.09375rem;
}
.popup-overlay .popup-overlay-content .popup-overlay-content-right .right-richang[data-v-11ec1ae8] {
background-color: #FFC363;
position: absolute;
top: 3.375rem;
right: 1.5625rem;
padding: 0.15625rem;
border-radius: 0.3125rem;
}
.popup-overlay .popup-overlay-content .popup-overlay-content-right .right-richangnot[data-v-11ec1ae8] {
background-color: #7B61FF;
position: absolute;
top: 3.375rem;
right: 1.5625rem;
padding: 0.15625rem;
border-radius: 0.3125rem;
color: #fff;
}
.popup-overlay .popup-overlay-content .popup-overlay-content-right .right-crush[data-v-11ec1ae8] {
position: absolute;
top: 0.625rem;
right: 0.625rem;
width: 2.1875rem;
height: 2.1875rem;
animation: shake 0.5s 3;
}