This commit is contained in:
Teng 2025-03-26 17:34:08 +08:00
parent 8646ab37d2
commit fa4bc8bf0c
10 changed files with 2122 additions and 5522 deletions

File diff suppressed because it is too large Load Diff

View File

@ -99,16 +99,23 @@
</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}}
<!-- 气泡 top: `${2 * scrollTop - 253}rpx` -->
<view class="boom">
<view :style="{ marginTop: `-${2 *moveDownNumber}rpx` }">
<view v-for="(item,index) in timearr[0].children" :key="index">
<view
:class="touchindex1 === index ||(liang.index1 === index && !canmove) || (flyNumber.index1 === index && shakyTable) ? `boom-son-target`: `boom-son`"
v-show="item.serve">
{{item.serve}}
</view>
</view>
</view>
</view>
<swiper :disable-touch="!canmove || shakyTable" :current="currentNumber" class="scroll-x"
circular :indicator-dots="false" @change="changecurrentNumber" :interval="4000"
@ -137,10 +144,9 @@
<view v-for="(item1,index1) in item0.children" style="width: 100%;"
:key="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;"
:class="targetRuler.current===currentNumber && targetRuler.index0 === index0 && targetRuler.index1 === index1 ? targetRuler.index1 ?`title-time-border-big`:`title-time-border-big-top` : `super-card-time-card` "
:style="!targetRuler.bordershow && saveRulerTime.index0 === index0 && saveRulerTime.index1 === index1 ? {zIndex:999} : {borderTop: '1rpx solid transparent'}"
:id="`a${index0}_${index1}`" style="position: relative;"
@click="rulerTouchClick(item1,index0,index1,$event)"
@touchstart="rulerTouchStart(item1,index0,index1,$event)"
@touchmove="rulerTouchMove" @touchend="rulerTouchEnd()"
@ -163,8 +169,6 @@
style="font-size: 30rpx;">
{{item1.time}}
</view>
<!-- <image class="title-time-zhejiao"
:src="item1.type=='日常'?`/static/index/yellowzhejiao.png`:`/static/index/puoplezhejiao.png`" /> -->
<image class="title-time-button"
:src="item1.type=='日常'?`/static/index/yellowbian.png`:`/static/index/puoplebian.png`" />
<view class="title-time-font">
@ -232,7 +236,7 @@
</view>
</view>
<!-- 长按的弹出层 -->
<view v-show="isopen" class="popup-overlay" @click="isopen=false;flyNumber.index0=999">
<view v-show="isopen" class="popup-overlay" @click="isopen=false;flyNumber.index0=999;touchindex1=-1">
<view class="popup-overlay-content"
:style="{ top: (2*openY - 350) + 'rpx',left: (2*openX - 780) + 'rpx',opacity: isopacity ? 1 : 0,backgroundColor:timearr[flyNumber.index0]?.children[flyNumber.index1]?.type==='日常'? '#fffcf6':'rgb(246, 244, 254)' }"
@click.stop>
@ -419,19 +423,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)
}
})
}
}
)
// 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
})
@ -519,8 +523,8 @@
// "",
// "",
])
const saveBoomName = ref("")
const saveBoomTop = ref(0)
// const saveBoomName = ref("")
// const saveBoomTop = ref(0)
const isopen = ref(false)
const songisopen = ref(false)
const isopacity = ref(false)
@ -564,7 +568,7 @@
//
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 && props.liang.index1 === index1 && (redNameindex0.value.includes(index0 + (currentNumber.value * 6)) || (redNameindex1.value != index1))) {
return 'title-time-border-red';
}
else if (!props.canmove && props.liang.index0 === index0 && props.liang.index1 === index1) {
@ -667,9 +671,12 @@
deleteisopacity.value = true
}, 200)
}
const touchindex1 = ref(-1);
//
const rulerTouchClick = (item : any, index0 : number, index1 : number, e : any) => {
if (item.value) {
touchindex1.value = index1;
const query = uni.createSelectorQuery()
query
.selectAll('.super-card-time-card')
@ -708,11 +715,27 @@
//
const rulerTouchStart = (item : any, index0 : number, index1 : number, e : any) => {
scrollTop.value = moveDownNumber.value;
redNameindex0.value = [];
let index1Number = -1
moveX.value = Math.floor(e.touches[0].pageX);
moveY.value = Math.floor(e.touches[0].pageY);
timer.value = setTimeout(() => {
if (item.value) {
// console.log("???",item.serve)
timearr.value.forEach((element0 : any, index0 : number) => {
element0.children.forEach((element1 : any) => {
if (element1.serve === item.serve && element1.value) {
redNameindex0.value.push(index0)
}
if (element1.value) {
index1Number = index0
}
})
})
if (redNameindex0.value.length) {
redNameindex1.value = index1
} else {
redNameindex1.value = index1Number + 1
}
flyNumber.value.serve = item.serve
flyNumber.value.index0 = index0 + (currentNumber.value * 6);
flyNumber.value.index1 = index1;
@ -817,25 +840,56 @@
const isTuoing = ref(false);
//
const redNameindex0 = ref([]);
const redNameindex1 = ref(-1);
//
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);
saveY.value = Math.floor(e.touches[0].pageY);
longPressTimer.value = setTimeout(()=>{
let noHave = false;
timearr.value[0].children.forEach((element : any,index0:number) => {
if (element.serve === item) {
scrollTop.value = 0
scrollTop.value = index0 * 104
noHave = true
}
})
if(!noHave){
scrollTop.value = 0
scrollTop.value = 999
}
},190)
//
longPressTimer.value = setTimeout(() => {
redNameindex0.value = [];
if (isScrolling.value) return
let index1save = -1;
let indexanthersave = -1;
timearr.value.forEach((element0 : any, index0 : number) => {
element0.children.forEach((element1 : any) => {
element0.children.forEach((element1 : any, index1 : number) => {
if (element1.serve === item && element1.value) {
redNameindex0.value.push(index0)
index1save = index1
}
if (element1.value) {
if (index1 > indexanthersave) {
indexanthersave = index1
}
}
})
})
// console.log("!!!!",redNameindex0.value)
// redNameindex0.value = 0;
// console.log("1111",indexanthersave)
if (redNameindex0.value.length) {
redNameindex1.value = index1save
} else {
redNameindex1.value = indexanthersave + 1
}
// redName.value = item;
isBack.value = true;
downmenuIndex.value = index
indexsave.value = [-1, -1]
@ -968,7 +1022,12 @@
//
const rulerEnd = async (res : any) => {
isBack.value = false;
if (props.liang.index0 !== 999 && res) {
// console.log("cccc",redNameindex0.value,props.liang.index0)
if (redNameindex0.value.includes(props.liang.index0 + (currentNumber.value * 6)) || redNameindex1.value !== props.liang.index1) {
return false;
}
cardsumit.value = {
op: {
name: "",
@ -991,9 +1050,12 @@
clickOp(0, openValue.value.array[0].type, openValue.value.array[0].op)
}
}
// ()
// ()
const rulerMoveEnd = (object : any) => {
if (props.liang.index0 !== 999 && object.type) {
if (redNameindex0.value.includes(props.liang.index0 + (currentNumber.value * 6)) || redNameindex1.value !== props.liang.index1) {
return false;
}
indexsave.value = [props.liang.index0 + (currentNumber.value * 6), props.liang.index1]
let savaIndex = -1;
let emptyChildIndices = [];
@ -1174,7 +1236,9 @@
await nextTick()
// scroll-view
scrollTop.value = 9999
}
// console.log("?????", timearr.value[0].children)
}
const routerPush = () => {
uni.setStorageSync("timearr", timearr.value)
@ -1182,16 +1246,28 @@
url: `/pages/timeMatrix/index?currentNumber=${currentNumber.value}`
})
}
const targetRuler = ref({index0: -1,
//
const saveRulerTime = ref({
index0: -1,
index1: -1
})
const targetRuler = ref({
index0: -1,
index1: -1,
current: -1,
bordershow: true
})
const whereEvent = (data : any) => {
currentNumber.value = Math.floor(data.index0 / 6);
scrollTop.value = 0
scrollTop.value = data.index1 * 104
if (currentNumber.value === Math.floor(data.index0 / 6)) {
targetRuler.value.index0 = data.index0 - currentNumber.value * 6;
targetRuler.value.index1 = data.index1;
saveRulerTime.value.index0 = targetRuler.value.index0;
saveRulerTime.value.index1 = targetRuler.value.index1;
targetRuler.value.current = currentNumber.value
targetRuler.value.bordershow = false;
setTimeout(() => {
@ -1201,7 +1277,33 @@
}, 400)
setTimeout(() => {
targetRuler.value.bordershow = true;
saveRulerTime.value.index0 = -1;
saveRulerTime.value.index1 = -1;
}, 1000)
} else {
setTimeout(() => {
currentNumber.value = Math.floor(data.index0 / 6);
}, 100)
setTimeout(() => {
targetRuler.value.index0 = data.index0 - currentNumber.value * 6;
targetRuler.value.index1 = data.index1;
saveRulerTime.value.index0 = targetRuler.value.index0;
saveRulerTime.value.index1 = targetRuler.value.index1;
targetRuler.value.current = currentNumber.value
targetRuler.value.bordershow = false;
}, 800)
setTimeout(() => {
targetRuler.value.index0 = -1;
targetRuler.value.index1 = -1;
targetRuler.value.current = -1
}, 1400)
setTimeout(() => {
targetRuler.value.bordershow = true;
saveRulerTime.value.index0 = -1;
saveRulerTime.value.index1 = -1;
}, 2200)
}
}
onShow(() => {
uni.$on('where', whereEvent);
@ -1938,6 +2040,7 @@
flex-direction: column;
border-right: 1rpx solid transparent;
border-image: repeating-linear-gradient(180deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
// z-index: -10;
}
.super-card-time-card {
@ -1948,7 +2051,7 @@
width: calc(100%);
// transition: transform 0.5s ease-out, opacity 0.5s ease-out;
transition: all 0.8s;
border-top: 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;
@ -2268,7 +2371,7 @@
height: 100%;
display: flex;
align-items: center;
width: 450rpx;
width: 400rpx;
.doctorsay-container-juzhen {
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
@ -3078,6 +3181,26 @@
position: relative;
}
.title-time-border-big-top {
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%);
@ -3154,6 +3277,7 @@
animation: shakesmall 0.8s infinite;
// box-shadow: 8rpx 8rpx 16px rgba(0, 0, 0, 0.2);
box-shadow: 8rpx 8rpx 16rpx rgba(255, 138, 0, 0.7);
// z-index: 999;
}
.title-time-border-pouple-active-transparent {
@ -3182,6 +3306,7 @@
align-items: center;
flex-direction: column;
box-shadow: 8rpx 8rpx 16rpx rgba(123, 97, 255, 0.7);
// z-index: 999;
}
.title-time-border-pouple-active {
@ -3266,20 +3391,49 @@
position: absolute;
top: 80rpx;
left: 0rpx;
background-color: #fff;
width: 50rpx;
height: 211rpx;
// background-color: #fff;
width: 42rpx;
height: 840rpx;
display: flex;
justify-content: center;
flex-direction: column;
// justify-content: center;
align-items: center;
overflow: hidden;
z-index: 10;
.boom-son {
height: 210rpx;
width: 100%;
font-size: 30rpx;
letter-spacing: 5rpx;
box-shadow: 5rpx 5rpx 10rpx rgba(0, 0, 0, 0.1);
// box-shadow: 5rpx 5rpx 10rpx rgba(0, 0, 0, 0.1);s
writing-mode: vertical-rl;
/* 竖排文字,从右往左 */
text-align: center;
z-index: 10;
/* 确保文字在容器内居中 */
background: linear-gradient(to bottom, #ffe2b2, #e3deff);
// z-index: -1;
border-bottom-right-radius: 40rpx;
border-top-right-radius: 40rpx;
}
.boom-son-target {
height: 210rpx;
width: 100%;
font-size: 30rpx;
letter-spacing: 5rpx;
// box-shadow: 5rpx 5rpx 10rpx rgba(0, 0, 0, 0.1);s
writing-mode: vertical-rl;
/* 竖排文字,从右往左 */
text-align: center;
z-index: 10;
/* 确保文字在容器内居中 */
background: linear-gradient(to bottom, #ff8a00, #eceaff);
// color: #fff;
// z-index: -1;
border-bottom-right-radius: 40rpx;
border-top-right-radius: 40rpx;
}
}
</style>

View File

@ -137,12 +137,6 @@
const translateY = Math.floor(touch.clientY) - 25;
const clickedItem = fangkuaiValue.value.find(item => {
if (translateX >= item.left && translateX <= item.right &&
translateY >= item.top && translateY <= item.bottom) {
// console.log("AAAA",item.left,item.right,item.top,item.bottom)
}
return translateX >= Math.floor(item.left) && translateX <= Math.floor(item.right) &&
translateY >= Math.floor(item.top) && translateY <= Math.floor(item.bottom);
});

View File

@ -6,21 +6,41 @@
<view class="doctorsay-container-left-font">时间矩阵</view>
</view>
<view class="doctorsay-container-right">
<view class="titlebutton-father">
<view v-for="(item,index) in buttonArray" :key="index">
<view :class="getClassItem(index)"
@click="changeTarget(index)">
{{item}}
</view>
</view>
</view>
<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">
<view class="boom">
<view :style="{ marginTop: `-${2 *moveDownNumber}rpx` }">
<view v-for="(item,index) in timearr[0].children" :key="index">
<view
:class="(clickY === index) ? `boom-son-target`: `boom-son`"
v-show="item.serve">
{{item.serve}}
</view>
</view>
</view>
</view>
<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);">
style="display: flex;width: 5945rpx; 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}}
@ -28,10 +48,10 @@
</view>
</view>
<view style="display: flex;height: calc(100% - 80rpx);width: 6690rpx">
<scroll-view scroll-y :show-scrollbar="false">
<view style="display: flex;height: calc(100% - 80rpx);width: 5945rpx">
<scroll-view scroll-y :show-scrollbar="false" @scroll="handleScrolltime">
<view style="display: flex;height: 100%;">
<view v-for="(item0,index0) in timearr" :key="index0">
<view v-for="(item0,index0) in changetimearr" :key="index0">
<view class="super-card-time-und">
<view v-for="(item1,index1) in item0.children" style="width: 100%;"
:key="index1">
@ -45,8 +65,8 @@
<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;">
style="margin-top: 0rpx;">
<view class="title-time-time" style="font-size: 25rpx;">
{{item1.time}}
</view>
<image class="title-time-button"
@ -55,7 +75,7 @@
{{item1.type}}
</view>
</view>
<view style="margin-top: 20rpx;font-weight: 700;font-size: 35rpx;">
<view :style="splitString(item1.value)[1] ? {}:{marginTop:`20rpx`}" style="font-weight: 700;font-size: 24rpx;">
{{splitString(item1.value)[0]}}
</view>
<view class="down-icons"
@ -81,7 +101,7 @@
</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)' }"
@ -114,6 +134,8 @@
type darkFanstype = {
darkFans : boolean
}
const buttonArray = ref(["全部", "日常", "周期"]);
const buttonTarget = ref(0);
//
const getClass = (item : any, index0 : number, index1 : number) => {
if (item.type === '日常') {
@ -124,6 +146,29 @@
}
return 'title-time-border';
}
const moveDownNumber = ref(0);
function handleScrolltime(e) {
let num = e.detail.scrollTop
let formattedNum = parseFloat(num.toFixed(2));
moveDownNumber.value = formattedNum
}
const getClassItem = (index) =>{
if(buttonTarget.value!==index){
return `titlebutton`
}else{
switch(index){
case 0:
return `titlebutton-target`
case 1:
return `titlebutton-target-yellow`
case 2:
return `titlebutton-target-pouple`
}
}
}
// bigArray
function splitString(str : any) {
// 使
@ -157,18 +202,24 @@
return result;
}
const scrollLeft = ref(0);
const changetimearr = ref([]);
//
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: "" })
})
if (options.currentNumber) {
scrollLeft.value = options.currentNumber * 745
}
timearr.value = uni.getStorageSync("timearr")
if(timearr.value[0].children.length < 8){
timearr.value.forEach((element: any) => {
// 7
while (element.children.length < 8) {
element.children.push({ value: "" });
}
});
}
changetimearr.value = JSON.parse(JSON.stringify(timearr.value));
});
const openX = ref(0);
const openY = ref(0);
@ -190,9 +241,9 @@
if (res.dataset.index0 == index0 && res.dataset.index1 == index1) {
if (res.left < 500) {
//
openX.value = Math.floor(res.left) + 520;
openX.value = Math.floor(res.left) + 510;
} else {
openX.value = Math.floor(res.left)
openX.value = Math.floor(res.left) -10
}
if (res.top < 300) {
//
@ -200,7 +251,7 @@
} else {
openY.value = Math.floor(res.top)
}
// openY.value = Math.floor(res.top);
// openY.value = Math.floor(res.top)
await nextTick()
isopen.value = true;
isopacity.value = false;
@ -227,6 +278,7 @@
uni.navigateBack()
}
const closeIsOpen = (event : any) => {
const touch = event.touches[0];
let clientX = (Math.floor(touch.clientX))
let clientY = (Math.floor(touch.clientY))
@ -237,8 +289,10 @@
data.forEach(async (res : any) => {
//
if (res.dataset.index0 == clickX.value && res.dataset.index1 == clickY.value) {
// console.log("?????",clientX,clientY)
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,
@ -262,6 +316,46 @@
}, 100)
}
const changeTarget = (index : number) => {
if (buttonTarget.value !== index) {
changetimearr.value = []
buttonTarget.value = index
// console.log("????", index, buttonTarget.value)
switch (index) {
case 0:
changetimearr.value = JSON.parse(JSON.stringify(timearr.value));
break;
case 1:
changetimearr.value = JSON.parse(JSON.stringify(timearr.value));
changetimearr.value.forEach((element0 : any) => {
element0.children.forEach((element1 : any) => {
if (element1.value && element1.type !== "日常") {
element1.value = "";
element1.serve = "";
element1.type = "";
element1.time = "";
}
})
})
// console.log("chufa", changetimearr.value)
break;
case 2:
changetimearr.value = JSON.parse(JSON.stringify(timearr.value));
changetimearr.value.forEach((element0 : any) => {
element0.children.forEach((element1 : any) => {
if (element1.value && element1.type === "日常") {
element1.value = "";
element1.serve = "";
element1.type = "";
element1.time = "";
}
})
})
break;
}
}
}
</script>
@ -438,7 +532,7 @@
height: 100%;
display: flex;
align-items: center;
width: 450rpx;
width: 800rpx;
.doctorsay-container-juzhen {
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
@ -557,7 +651,7 @@
align-items: center;
// background-color: rgb(233, 239, 257);
height: 80rpx;
width: 278rpx;
width: 247rpx;
border-right: 1rpx solid transparent;
border-image: repeating-linear-gradient(180deg, #0184db 0px, #0184db 6rpx, transparent 6rpx, transparent 12rpx) 1;
font-weight: 700;
@ -567,7 +661,7 @@
display: flex;
justify-content: center;
align-items: center;
width: 278rpx;
width: 247rpx;
flex-direction: column;
border-right: 1rpx solid transparent;
@ -578,7 +672,7 @@
display: flex;
justify-content: center;
align-items: center;
height: 247rpx;
height: 153rpx;
width: calc(100%);
// border-right: 1rpx solid transparent;
border-top: 1rpx solid transparent;
@ -694,9 +788,9 @@
}
.down-icons {
margin-top: 30rpx;
margin-top: 5rpx;
width: 100%;
height: 75rpx;
height: 58rpx;
background-color: rgb(255, 216, 126);
display: flex;
justify-content: center;
@ -704,8 +798,8 @@
.icon {
margin: 0 5rpx;
font-size: 28rpx;
padding: 5rpx 10rpx;
font-size: 20rpx;
padding: 3rpx 5rpx;
background-color: rgb(255, 138, 0);
color: #fff;
border-radius: 5rpx;
@ -813,4 +907,103 @@
}
}
}
.titlebutton-father {
display: flex;
margin-right: 20rpx;
.titlebutton {
background-color: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 10rpx 30rpx;
border-radius: 20rpx;
font-size: 27rpx;
margin-right: 10rpx;
}
.titlebutton-target {
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
color: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 10rpx 30rpx;
border-radius: 20rpx;
font-size: 27rpx;
margin-right: 10rpx;
}
.titlebutton-target-yellow{
background: #FFDBA1;
// color: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 10rpx 30rpx;
border-radius: 20rpx;
font-size: 27rpx;
margin-right: 10rpx;
}
.titlebutton-target-pouple{
background: #7B61FF;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 10rpx 30rpx;
border-radius: 20rpx;
font-size: 27rpx;
margin-right: 10rpx;
}
}
.boom {
position: absolute;
top: 80rpx;
left: 0rpx;
// background-color: #fff;
width: 30rpx;
height: 1500rpx;
display: flex;
flex-direction: column;
// justify-content: center;
align-items: center;
overflow: hidden;
z-index: 10;
.boom-son {
height: 153rpx;
width: 100%;
font-size: 22rpx;
letter-spacing: 5rpx;
// box-shadow: 5rpx 5rpx 10rpx rgba(0, 0, 0, 0.1);s
writing-mode: vertical-rl;
/* 竖排文字,从右往左 */
text-align: center;
z-index: 10;
/* 确保文字在容器内居中 */
background: linear-gradient(to bottom, #ffe2b2, #e3deff);
// z-index: -1;
border-bottom-right-radius: 40rpx;
border-top-right-radius: 40rpx;
}
.boom-son-target {
height: 153rpx;
width: 100%;
font-size: 22rpx;
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, #ff8a00, #eceaff);
// color: #fff;
// z-index: -1;
border-bottom-right-radius: 40rpx;
border-top-right-radius: 40rpx;
}
}
</style>

View File

@ -1,7 +1,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 __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.57","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/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()})}});

File diff suppressed because it is too large Load Diff

View File

@ -89,7 +89,7 @@
"uni-app": {
"control": "uni-v3",
"vueVersion": "3",
"compilerVersion": "4.56",
"compilerVersion": "4.57",
"nvueCompiler": "uni-app",
"renderer": "auto",
"nvue": {

File diff suppressed because it is too large Load Diff

View File

@ -145,7 +145,7 @@
height: 100%;
display: flex;
align-items: center;
width: 14.0625rem;
width: 25rem;
}
.doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-juzhen[data-v-11ec1ae8] {
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
@ -245,7 +245,7 @@
justify-content: center;
align-items: center;
height: 2.5rem;
width: 8.6875rem;
width: 7.71875rem;
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;
@ -254,7 +254,7 @@
display: flex;
justify-content: center;
align-items: center;
width: 8.6875rem;
width: 7.71875rem;
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;
@ -263,7 +263,7 @@
display: flex;
justify-content: center;
align-items: center;
height: 7.71875rem;
height: 4.78125rem;
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;
@ -340,9 +340,9 @@
color: #fff;
}
.down-icons[data-v-11ec1ae8] {
margin-top: 0.9375rem;
margin-top: 0.15625rem;
width: 100%;
height: 2.34375rem;
height: 1.8125rem;
background-color: #ffd87e;
display: flex;
justify-content: center;
@ -350,8 +350,8 @@
}
.down-icons .icon[data-v-11ec1ae8] {
margin: 0 0.15625rem;
font-size: 0.875rem;
padding: 0.15625rem 0.3125rem;
font-size: 0.625rem;
padding: 0.09375rem 0.15625rem;
background-color: #ff8a00;
color: #fff;
border-radius: 0.15625rem;
@ -442,3 +442,91 @@
height: 2.1875rem;
animation: shake 0.5s 3;
}
.titlebutton-father[data-v-11ec1ae8] {
display: flex;
margin-right: 0.625rem;
}
.titlebutton-father .titlebutton[data-v-11ec1ae8] {
background-color: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 0.3125rem 0.9375rem;
border-radius: 0.625rem;
font-size: 0.84375rem;
margin-right: 0.3125rem;
}
.titlebutton-father .titlebutton-target[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.9375rem;
border-radius: 0.625rem;
font-size: 0.84375rem;
margin-right: 0.3125rem;
}
.titlebutton-father .titlebutton-target-yellow[data-v-11ec1ae8] {
background: #FFDBA1;
display: flex;
justify-content: center;
align-items: center;
padding: 0.3125rem 0.9375rem;
border-radius: 0.625rem;
font-size: 0.84375rem;
margin-right: 0.3125rem;
}
.titlebutton-father .titlebutton-target-pouple[data-v-11ec1ae8] {
background: #7B61FF;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 0.3125rem 0.9375rem;
border-radius: 0.625rem;
font-size: 0.84375rem;
margin-right: 0.3125rem;
}
.boom[data-v-11ec1ae8] {
position: absolute;
top: 2.5rem;
left: 0;
width: 0.9375rem;
height: 46.875rem;
display: flex;
flex-direction: column;
align-items: center;
overflow: hidden;
z-index: 10;
}
.boom .boom-son[data-v-11ec1ae8] {
height: 4.78125rem;
width: 100%;
font-size: 0.6875rem;
letter-spacing: 0.15625rem;
-webkit-writing-mode: vertical-rl;
writing-mode: vertical-rl;
/* 竖排文字,从右往左 */
text-align: center;
z-index: 10;
/* 确保文字在容器内居中 */
background: linear-gradient(to bottom, #ffe2b2, #e3deff);
border-bottom-right-radius: 1.25rem;
border-top-right-radius: 1.25rem;
}
.boom .boom-son-target[data-v-11ec1ae8] {
height: 4.78125rem;
width: 100%;
font-size: 0.6875rem;
letter-spacing: 0.15625rem;
-webkit-writing-mode: vertical-rl;
writing-mode: vertical-rl;
/* 竖排文字,从右往左 */
text-align: center;
z-index: 10;
/* 确保文字在容器内居中 */
background: linear-gradient(to bottom, #ff8a00, #eceaff);
border-bottom-right-radius: 1.25rem;
border-top-right-radius: 1.25rem;
}

File diff suppressed because one or more lines are too long