You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

459 lines
8.6 KiB

.index-bg {
height: 100vh;
background: linear-gradient(180deg, #eaf1fb 0%, #f7fafd 100%);
}
.index-content {
width: 100%;
max-width: 600px;
display: flex;
flex-direction: column;
align-items: center;
padding: 4vw 0 6vw 0;
box-sizing: border-box;
margin: 0 auto;
}
.btn-group {
width: 90%;
max-width: 500px;
display: flex;
flex-direction: column;
margin: 0 auto 1.5rem auto;
}
.main-btn {
height: 3.4375rem;
font-size: 1.1875rem;
font-weight: 800;
border-radius: 0.875rem;
background: linear-gradient(135deg, #409eff 0%, #3b7cff 100%);
color: #fff;
box-shadow: 0 8px 24px rgba(64,158,255,0.25);
letter-spacing: 0.3125rem;
margin: 0;
border: none;
outline: none;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
margin-bottom: 1.125rem;
position: relative;
overflow: hidden;
}
.main-btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
transition: left 0.6s;
}
.main-btn:active::before {
left: 100%;
}
.main-btn:last-child {
margin-bottom: 0;
}
.main-btn:active {
background: linear-gradient(135deg, #337ecc 0%, #2a5db0 100%);
box-shadow: 0 4px 16px rgba(64,158,255,0.3);
transform: scale(0.98);
}
.main-btn.outline {
background: #fff;
color: #409eff;
border: 3px solid #409eff;
box-shadow: 0 8px 24px rgba(64,158,255,0.15);
}
.main-btn.outline::before {
background: linear-gradient(90deg, transparent, rgba(64,158,255,0.1), transparent);
}
.main-btn.outline:active {
background: #f0f7ff;
transform: scale(0.98);
box-shadow: 0 4px 16px rgba(64,158,255,0.2);
}
.task-section {
width: 92%;
max-width: 520px;
margin: 0 auto 1.5rem auto;
background: #fff;
border-radius: 0.6875rem;
box-shadow: 0 4px 18px rgba(64,158,255,0.07);
padding: 0.875rem 0.625rem 0.5625rem 0.625rem;
}
.task-title {
font-size: 0.875rem;
color: #222;
font-weight: 700;
margin-bottom: 0.5625rem;
}
.task-list {
display: flex;
flex-direction: column;
gap: 0.4375rem;
}
.task-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.4375rem 0;
border-bottom: 1px solid #f0f0f0;
}
.task-item:last-child {
border-bottom: none;
}
.task-info {
display: flex;
flex-direction: column;
}
.task-name {
font-size: 0.75rem;
color: #333;
font-weight: 600;
}
.task-time {
font-size: 0.625rem;
color: #999;
margin-top: 0.0625rem;
}
.task-list {
display: flex;
flex-direction: column;
gap: 0.4375rem;
}
.task-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.4375rem 0;
border-bottom: 1px solid #f0f0f0;
}
.task-item:last-child {
border-bottom: none;
}
.task-info {
display: flex;
flex-direction: column;
}
.task-name {
font-size: 0.75rem;
color: #333;
font-weight: 600;
}
.task-time {
font-size: 0.625rem;
color: #999;
margin-top: 0.0625rem;
}
.task-status {
font-size: 0.625rem;
padding: 0.125rem 0.4375rem;
border-radius: 0.5rem;
}
.task-status.pending {
background-color: #fff3e0;
color: #ff9800;
}
.task-status.completed {
background-color: #e8f5e9;
color: #4caf50;
}
.task-status.in-progress {
background-color: #e8f5e9;
color: #4caf50;
}
.h5-scan-modal {
position: fixed;
left: 0; top: 0; right: 0; bottom: 0;
background: rgba(0,0,0,0.6);
z-index: 9999;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.h5-scan-modal #reader {
width: 300px !important;
height: 300px !important;
margin: 0 auto;
background: #fff;
border-radius: 8px;
overflow: hidden;
}
.h5-scan-modal #reader uni-video {
width: 100% !important;
height: 100% !important;
object-fit: cover;
}
.h5-scan-modal #reader__scan_region {
width: 100% !important;
height: 100% !important;
}
.h5-scan-modal #reader__scan_region uni-video {
width: 100% !important;
height: 100% !important;
}
.h5-scan-modal uni-button {
margin-top: 20px;
padding: 8px 20px;
background: #409eff;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
}
.h5-scan-modal uni-button:hover {
background: #66b1ff;
}
/* 标签盘点区域样式 */
.inventory-section {
width: 92%;
max-width: 520px;
margin: 0 auto 1.5rem auto;
background: #fff;
border-radius: 0.6875rem;
box-shadow: 0 4px 18px rgba(64,158,255,0.07);
padding: 0.875rem 0.625rem 0.5625rem 0.625rem;
}
.inventory-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.5625rem;
}
.inventory-title {
font-size: 0.875rem;
color: #222;
font-weight: 700;
}
.tags-amount {
font-size: 0.75rem;
color: #409eff;
font-weight: 600;
}
.tag-list {
max-height: 6.25rem;
background-color: #ebebeb;
border-radius: 0.375rem;
margin-bottom: 0.5625rem;
}
.list-item-head {
display: flex;
flex-direction: row;
background-color: #f5f5f5;
border-radius: 0.375rem 0.375rem 0 0;
padding: 0.3125rem 0;
}
.list-item {
display: flex;
flex-direction: row;
background-color: #fff;
border-bottom: 1px solid #f0f0f0;
}
.list-item:last-child {
border-bottom: none;
}
.list-item-text-id {
width: 65px;
padding: 0.25rem 0.3125rem;
font-size: 0.75rem;
text-align: center;
flex-shrink: 0;
}
.list-item-text-epc {
flex: 1;
padding: 0.25rem 0.3125rem;
font-size: 0.75rem;
word-break: break-all;
min-width: 0;
}
.list-item-text-count {
width: 65px;
padding: 0.25rem 0.3125rem;
font-size: 0.75rem;
text-align: center;
flex-shrink: 0;
}
.list-item-text-rssi {
width: 100px;
padding: 0.25rem 0.3125rem;
font-size: 0.75rem;
text-align: center;
flex-shrink: 0;
}
.inventory-options {
display: flex;
flex-direction: row;
align-items: center;
padding: 0.5625rem 0;
flex-wrap: wrap;
gap: 0.625rem;
}
.option-item {
display: flex;
align-items: center;
}
.checkbox-label {
display: flex;
flex-direction: row;
align-items: center;
}
.option-text {
margin-left: 0.25rem;
font-size: 0.75rem;
color: #333;
}
.inventory-btn-box {
display: flex;
flex-direction: row;
align-items: center;
gap: 0.3125rem;
margin-top: 0.15625rem;
}
.inventory-btn {
flex: 1;
/* height: 80rpx; */
font-size: 0.875rem;
border-radius: 0.375rem;
margin: 0;
}
.inventory-btn.clear-btn {
flex: 0 0 3.125rem;
margin-top:0.3125rem;
}
/* 盘点计划区域样式 */
.inventory-plan-section {
width: 92%;
max-width: 520px;
margin: 0 auto 1.5rem auto;
background: #fff;
border-radius: 0.6875rem;
box-shadow: 0 4px 18px rgba(64,158,255,0.07);
padding: 0.875rem 0.625rem 0.5625rem 0.625rem;
}
.inventory-plan-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.5625rem;
}
.inventory-plan-title {
font-size: 0.875rem;
color: #222;
font-weight: 700;
}
.plan-total {
font-size: 0.75rem;
color: #409eff;
font-weight: 600;
}
.plan-list {
display: flex;
flex-direction: column;
gap: 0.4375rem;
}
.plan-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.4375rem 0;
border-bottom: 1px solid #f0f0f0;
}
.plan-item:last-child {
border-bottom: none;
}
.plan-info {
display: flex;
flex-direction: column;
}
.plan-name-col {
flex: 1;
min-width: 0;
}
.plan-status-col {
width: 3.75rem;
align-items: center;
}
.plan-date-col {
width: 4.375rem;
align-items: center;
}
.plan-action-col {
width: 3.75rem;
display: flex;
justify-content: flex-end;
align-items: center;
}
.plan-name {
font-size: 0.75rem;
color: #333;
font-weight: 600;
}
.plan-no {
font-size: 0.625rem;
color: #999;
margin-top: 0.125rem;
}
.plan-time {
font-size: 0.625rem;
color: #999;
margin-top: 0.0625rem;
}
.plan-status {
font-size: 0.625rem;
padding: 0.125rem 0.4375rem;
border-radius: 0.5rem;
white-space: nowrap;
}
.plan-status.status-0 {
background-color: #fff3e0;
color: #ff9800;
}
.plan-status.status-1 {
background-color: #e3f2fd;
color: #2196f3;
}
.plan-status.status-2 {
background-color: #e8f5e9;
color: #4caf50;
}
/* 加载更多样式优化 */
.load-more {
display: flex;
align-items: center;
justify-content: center;
gap: 0.375rem;
padding: 0.9375rem 0.625rem;
font-size: 0.75rem;
color: #999;
}
.loading-spinner {
width: 1rem;
height: 1rem;
border: 0.09375rem solid #f0f0f0;
border-top: 0.09375rem solid #409eff;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.loading-text {
color: #409eff;
font-weight: 500;
}
.no-more-text {
color: #ccc;
font-size: 0.6875rem;
}