|
@@ -1,28 +1,43 @@
|
|
-
|
|
|
|
<!--
|
|
<!--
|
|
* @Author: NMTuan
|
|
* @Author: NMTuan
|
|
* @Email: NMTuan@qq.com
|
|
* @Email: NMTuan@qq.com
|
|
* @Date: 2024-02-18 22:03:42
|
|
* @Date: 2024-02-18 22:03:42
|
|
- * @LastEditTime: 2024-02-18 22:23:21
|
|
|
|
|
|
+ * @LastEditTime: 2024-02-19 23:18:32
|
|
* @LastEditors: NMTuan
|
|
* @LastEditors: NMTuan
|
|
* @Description:
|
|
* @Description:
|
|
- * @FilePath: \timeNow\components\time\line.vue
|
|
|
|
|
|
+ * @FilePath: /timeNow/components/time/line.vue
|
|
-->
|
|
-->
|
|
<template>
|
|
<template>
|
|
- <div class="flex items-end justify-between w-full">
|
|
|
|
|
|
+ <div class="flex items-end justify-between w-full relative select-none">
|
|
<template v-for="hour in 25">
|
|
<template v-for="hour in 25">
|
|
- <div class="flex flex-col items-center ">
|
|
|
|
- <div class="font-digital-dismay">{{ hour - 1 }}</div>
|
|
|
|
- <div class="w-[2px] h-[32px] bg-gray-400"></div>
|
|
|
|
|
|
+ <div class="flex flex-col items-center relative">
|
|
|
|
+ <div class="font-digital-dismay text-zinc-700 absolute -top-6">
|
|
|
|
+ {{ hour - 1 }}
|
|
|
|
+ </div>
|
|
|
|
+ <div class="w-[1px] h-[32px] bg-zinc-800"></div>
|
|
</div>
|
|
</div>
|
|
<template v-if="hour !== 25" v-for="m in 3">
|
|
<template v-if="hour !== 25" v-for="m in 3">
|
|
- <div class="w-[1px] h-[18px] bg-gray-400"></div>
|
|
|
|
|
|
+ <div class="w-[1px] h-[18px] bg-zinc-800"></div>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
|
|
+ <div
|
|
|
|
+ class="absolute bottom-0 w-[1px] h-[52px] bg-red-500"
|
|
|
|
+ :style="progressStyle"
|
|
|
|
+ ></div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<script setup>
|
|
<script setup>
|
|
|
|
+const dateStore = useDateStore()
|
|
|
|
+
|
|
|
|
+const progressStyle = computed(() => {
|
|
|
|
+ const second =
|
|
|
|
+ dateStore.hour * 3600 + dateStore.minute * 60 + dateStore.second
|
|
|
|
+ const oneDaySecond = 24 * 3600
|
|
|
|
+ // round会导致时间线的秒针位置不准确
|
|
|
|
+ // const left = Math.round(second / oneDaySecond).toFixed(2)
|
|
|
|
+ const left = second / oneDaySecond
|
|
|
|
+ return {
|
|
|
|
+ left: left + '%'
|
|
|
|
+ }
|
|
|
|
+})
|
|
</script>
|
|
</script>
|
|
-<style lang="scss" scoped>
|
|
|
|
-.hour {}
|
|
|
|
-</style>
|
|
|