feat:设备使用记录

This commit is contained in:
houjunxiang
2026-03-05 16:54:47 +08:00
parent 749ac7f507
commit 9c88c45d66
357 changed files with 21486 additions and 5845 deletions

View File

@@ -0,0 +1,73 @@
<!-- components/checkbox-switch.vue -->
<template>
<view class="custom-checkbox" @click="toggle" :class="{ 'custom-checkbox--checked': modelValue }">
<!-- 这里可以用一个图标或者用CSS绘制一个方框 -->
<view class="custom-checkbox__icon">
<!-- 示例使用一个简单的对勾符号 -->
<up-icon v-if="modelValue" name="checkbox-mark" color="#FFF" size="15"></up-icon>
</view>
<text class="custom-checkbox__label" v-if="$slots.default">
<slot></slot>
</text>
</view>
</template>
<script setup>
// 1. 定义并接收 props将其解构赋值
const props = defineProps({
modelValue: {
type: Boolean,
required: true
}
})
// 定义 emits
const emit = defineEmits(['update:modelValue'])
// 2. 在函数中使用 props.modelValue
const toggle = () => {
emit('update:modelValue', !props.modelValue)
}
</script>
<style lang="scss" scoped>
.custom-checkbox {
display: inline-flex;
align-items: center;
user-select: none;
cursor: pointer;
padding: 8rpx;
&__icon {
width: 16px;
height: 16px;
border: 2rpx solid #c8c9cc;
border-radius: 6rpx;
display: flex;
align-items: center;
justify-content: center;
margin-right: 10rpx;
transition: all 0.2s;
}
&__icon-text {
font-size: 24rpx;
color: #ffffff;
}
&__label {
font-size: 28rpx;
color: #606266;
}
// 选中状态的样式
&--checked &__icon {
background-color: #2979ff;
border-color: #2979ff;
}
&--checked &__label {
color: #2979ff;
}
}
</style>