统一添加牌位色系

This commit is contained in:
WindowBird 2025-11-25 11:13:46 +08:00
parent 9dbdd3fc60
commit cd6d401239
2 changed files with 76 additions and 69 deletions

View File

@ -95,7 +95,7 @@
<!-- 空状态 --> <!-- 空状态 -->
<view v-if="winB_List.length === 0" class="empty-state"> <view v-if="winB_List.length === 0" class="empty-state">
<view class="empty-icon">📱</view> <view class="empty-icon"></view>
<view class="empty-text">暂无未添加设备</view> <view class="empty-text">暂无未添加设备</view>
<view class="empty-tip">请先进行录入设备</view> <view class="empty-tip">请先进行录入设备</view>
</view> </view>
@ -534,7 +534,7 @@ export default {
.page { .page {
width: 100%; width: 100%;
min-height: 100vh; min-height: 100vh;
background: #f5f5f5; background: #fff1dd;
} }
.content { .content {
@ -545,17 +545,17 @@ export default {
.section-title { .section-title {
font-size: 32rpx; font-size: 32rpx;
font-weight: bold; font-weight: bold;
color: #333; color: #522510;
margin-bottom: 20rpx; margin-bottom: 20rpx;
padding-left: 10rpx; padding-left: 10rpx;
border-left: 6rpx solid #4a90e2; border-left: 6rpx solid #c7a26d;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
} }
.count-badge { .count-badge {
background: #4a90e2; background: #c7a26d;
color: #fff; color: #fff;
font-size: 20rpx; font-size: 20rpx;
padding: 4rpx 12rpx; padding: 4rpx 12rpx;
@ -566,11 +566,12 @@ export default {
} }
.scan-section { .scan-section {
background: #fff; background: #fff1dd;
border-radius: 16rpx; border-radius: 16rpx;
padding: 30rpx; padding: 30rpx;
margin-bottom: 30rpx; margin-bottom: 30rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); box-shadow: 0 4rpx 12rpx rgba(82, 37, 16, 0.08);
border: 1rpx solid rgba(199, 162, 109, 0.3);
} }
.scan-container { .scan-container {
@ -584,13 +585,13 @@ export default {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
//height: 200rpx; //height: 200rpx;
border: 3rpx dashed #4a90e2; border: 3rpx dashed #c7a26d;
border-radius: 16rpx; border-radius: 16rpx;
background: #f8fbff; background: rgba(255, 241, 221, 0.5);
transition: all 0.3s ease; transition: all 0.3s ease;
&:active { &:active {
background: #e8f4ff; background: rgba(199, 162, 109, 0.1);
transform: scale(0.98); transform: scale(0.98);
} }
} }
@ -608,15 +609,15 @@ export default {
.scan-text { .scan-text {
font-size: 28rpx; font-size: 28rpx;
color: #4a90e2; color: #c7a26d;
font-weight: 500; font-weight: 500;
} }
.device-info { .device-info {
background: #f8f9fa; background: rgba(255, 241, 221, 0.6);
border-radius: 12rpx; border-radius: 12rpx;
padding: 20rpx; padding: 20rpx;
border: 2rpx solid #e9ecef; border: 2rpx solid rgba(199, 162, 109, 0.3);
} }
.info-item { .info-item {
@ -631,30 +632,29 @@ export default {
.info-label { .info-label {
font-size: 26rpx; font-size: 26rpx;
color: #666; color: #522510;
opacity: 0.8;
width: 140rpx; width: 140rpx;
flex-shrink: 0; flex-shrink: 0;
} }
.info-value { .info-value {
font-size: 26rpx; font-size: 26rpx;
color: #333; color: #522510;
font-weight: 500; font-weight: 500;
flex: 1; flex: 1;
word-break: break-all; word-break: break-all;
} }
.form-section { .form-section {
background: #fff; background: #fff1dd;
border-radius: 16rpx; border-radius: 16rpx;
padding: 30rpx; padding: 30rpx;
margin-bottom: 30rpx; margin-bottom: 30rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); box-shadow: 0 4rpx 12rpx rgba(82, 37, 16, 0.08);
border: 1rpx solid rgba(199, 162, 109, 0.3);
} }
.form-container {
//
}
.form-item { .form-item {
margin-bottom: 30rpx; margin-bottom: 30rpx;
@ -666,52 +666,54 @@ export default {
.label { .label {
font-size: 28rpx; font-size: 28rpx;
color: #666; color: #522510;
opacity: 0.8;
margin-bottom: 12rpx; margin-bottom: 12rpx;
font-weight: 500; font-weight: 500;
} }
.required { .required {
color: #ff4757; color: #c7a26d;
margin-left: 4rpx; margin-left: 4rpx;
} }
.input { .input {
width: 100%; width: 100%;
height: 80rpx; height: 80rpx;
border: 2rpx solid #e5e5e5; border: 2rpx solid rgba(199, 162, 109, 0.3);
border-radius: 8rpx; border-radius: 8rpx;
padding: 0 20rpx; padding: 0 20rpx;
font-size: 28rpx; font-size: 28rpx;
color: #333; color: #522510;
box-sizing: border-box; box-sizing: border-box;
background: #fff; background: #fff1dd;
&:focus { &:focus {
border-color: #4a90e2; border-color: #c7a26d;
} }
} }
.picker { .picker {
width: 100%; width: 100%;
height: 80rpx; height: 80rpx;
border: 2rpx solid #e5e5e5; border: 2rpx solid rgba(199, 162, 109, 0.3);
border-radius: 8rpx; border-radius: 8rpx;
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 20rpx; padding: 0 20rpx;
background: #fff; background: #fff1dd;
box-sizing: border-box; box-sizing: border-box;
} }
.picker-text { .picker-text {
font-size: 28rpx; font-size: 28rpx;
color: #333; color: #522510;
flex: 1; flex: 1;
} }
.picker-arrow { .picker-arrow {
color: #999; color: #522510;
opacity: 0.6;
font-size: 24rpx; font-size: 24rpx;
transform: rotate(90deg); transform: rotate(90deg);
} }
@ -719,17 +721,17 @@ export default {
.textarea { .textarea {
width: 100%; width: 100%;
min-height: 120rpx; min-height: 120rpx;
border: 2rpx solid #e5e5e5; border: 2rpx solid rgba(199, 162, 109, 0.3);
border-radius: 8rpx; border-radius: 8rpx;
padding: 20rpx; padding: 20rpx;
font-size: 28rpx; font-size: 28rpx;
color: #333; color: #522510;
box-sizing: border-box; box-sizing: border-box;
background: #fff; background: #fff1dd;
resize: none; resize: none;
&:focus { &:focus {
border-color: #4a90e2; border-color: #c7a26d;
} }
} }
@ -752,22 +754,23 @@ export default {
} }
.cancel-btn { .cancel-btn {
background: #f5f5f5; background: rgba(255, 241, 221, 0.8);
color: #666; color: #522510;
border: 2rpx solid #e5e5e5; opacity: 0.8;
border: 2rpx solid rgba(199, 162, 109, 0.3);
&:active { &:active {
background: #e8e8e8; background: rgba(199, 162, 109, 0.1);
} }
} }
.confirm-btn { .confirm-btn {
background: #4a90e2; background: linear-gradient(135deg, #c7a26d, #b8956a);
color: #fff; color: #fff;
box-shadow: 0 4rpx 12rpx rgba(74, 144, 226, 0.3); box-shadow: 0 4rpx 12rpx rgba(199, 162, 109, 0.3);
&:active { &:active {
background: #357abd; background: linear-gradient(135deg, #b8956a, #a8855f);
} }
&.disabled { &.disabled {
@ -783,17 +786,19 @@ export default {
// //
.device-list-section { .device-list-section {
background: #fff; background: #fff1dd;
border-radius: 16rpx; border-radius: 16rpx;
padding: 30rpx; padding: 30rpx;
margin: 30rpx 0; margin: 30rpx 0;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); box-shadow: 0 4rpx 12rpx rgba(82, 37, 16, 0.08);
border: 1rpx solid rgba(199, 162, 109, 0.3);
} }
.empty-state { .empty-state {
text-align: center; text-align: center;
padding: 60rpx 20rpx; padding: 60rpx 20rpx;
color: #999; color: #522510;
opacity: 0.6;
} }
.empty-icon { .empty-icon {
@ -803,22 +808,21 @@ export default {
.empty-text { .empty-text {
font-size: 28rpx; font-size: 28rpx;
color: #666; color: #522510;
opacity: 0.8;
margin-bottom: 10rpx; margin-bottom: 10rpx;
} }
.empty-tip { .empty-tip {
font-size: 24rpx; font-size: 24rpx;
color: #999; color: #522510;
opacity: 0.6;
} }
.device-list {
//
}
.device-item { .device-item {
background: #f8f9fa; background: rgba(255, 241, 221, 0.6);
border: 2rpx solid #e9ecef; border: 2rpx solid rgba(199, 162, 109, 0.3);
border-radius: 12rpx; border-radius: 12rpx;
padding: 20rpx; padding: 20rpx;
margin-bottom: 20rpx; margin-bottom: 20rpx;
@ -830,15 +834,15 @@ export default {
} }
&:hover { &:hover {
border-color: #4a90e2; border-color: #c7a26d;
background: #f0f7ff; background: rgba(199, 162, 109, 0.1);
transform: translateY(-2rpx); transform: translateY(-2rpx);
box-shadow: 0 6rpx 20rpx rgba(74, 144, 226, 0.15); box-shadow: 0 6rpx 20rpx rgba(199, 162, 109, 0.15);
} }
&:active { &:active {
transform: translateY(0); transform: translateY(0);
box-shadow: 0 2rpx 8rpx rgba(74, 144, 226, 0.2); box-shadow: 0 2rpx 8rpx rgba(199, 162, 109, 0.2);
} }
} }
@ -852,17 +856,17 @@ export default {
.device-sn { .device-sn {
font-size: 28rpx; font-size: 28rpx;
font-weight: bold; font-weight: bold;
color: #333; color: #522510;
background: #e3f2fd; background: rgba(199, 162, 109, 0.1);
padding: 6rpx 12rpx; padding: 6rpx 12rpx;
border-radius: 6rpx; border-radius: 6rpx;
border-left: 4rpx solid #4a90e2; border-left: 4rpx solid #c7a26d;
} }
.select-hint { .select-hint {
font-size: 22rpx; font-size: 22rpx;
color: #4a90e2; color: #c7a26d;
background: #e8f4ff; background: rgba(199, 162, 109, 0.15);
padding: 4rpx 8rpx; padding: 4rpx 8rpx;
border-radius: 4rpx; border-radius: 4rpx;
} }
@ -883,20 +887,21 @@ export default {
.info-label { .info-label {
font-size: 24rpx; font-size: 24rpx;
color: #666; color: #522510;
opacity: 0.8;
width: 120rpx; width: 120rpx;
flex-shrink: 0; flex-shrink: 0;
} }
.info-value { .info-value {
font-size: 24rpx; font-size: 24rpx;
color: #333; color: #522510;
font-weight: 500; font-weight: 500;
flex: 1; flex: 1;
background: #fff; background: rgba(255, 241, 221, 0.8);
padding: 4rpx 8rpx; padding: 4rpx 8rpx;
border-radius: 4rpx; border-radius: 4rpx;
border-left: 3rpx solid #4a90e2; border-left: 3rpx solid #c7a26d;
word-break: break-all; word-break: break-all;
} }
@ -913,11 +918,11 @@ export default {
} }
.select-btn { .select-btn {
background: #4a90e2; background: #c7a26d;
color: #fff; color: #fff;
&:hover { &:hover {
background: #357abd; background: #b8956a;
transform: scale(1.05); transform: scale(1.05);
} }

View File

@ -36,10 +36,12 @@
<view class="grid-btn" @click="handleResetDuration">时长归零</view> <view class="grid-btn" @click="handleResetDuration">时长归零</view>
<view class="grid-btn" @click="handleIncreaseDuration">增加时长</view> <view class="grid-btn" @click="handleIncreaseDuration">增加时长</view>
<view class="grid-btn" @click="handleSearchMemorial">寻找牌位</view> <view class="grid-btn" @click="handleSearchMemorial">寻找牌位</view>
<view class="grid-btn" @click="handleAddMemorial">添加牌位</view>
<!-- <view class="grid-btn add-memorial-btn" @click="handleAddMemorial"-->
<!-- >添加牌位-->
<!-- </view>-->
<view class="grid-btn" @click="handleNfcPairing">NFC 配对</view> <view class="grid-btn" @click="handleNfcPairing">NFC 配对</view>
<view class="grid-btn add-memorial-btn" @click="handleAddMemorial"
>添加牌位
</view>
</view> </view>
</view> </view>
</view> </view>