// 远程搜索选择组件样式 .remote-search-select { width: 100%; position: relative; .search-container { display: flex; gap: 10rpx; } // 搜索结果列表 .result-list { height: 400rpx; margin-top: 8rpx; border-radius: 8px; overflow-y: auto; overflow-x: hidden; box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); position: absolute; left: 0rpx; right: 20rpx; // top:0; z-index: 20000; background-color: #fff; ::v-deep .u-cell { transition: background-color 0.2s ease; &:hover { background-color: #f5f7fa; } } // 滚动条样式 &::-webkit-scrollbar { width: 4px; } &::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; } &::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 4px; } &::-webkit-scrollbar-thumb:hover { background: #a8a8a8; } } // 空结果提示 .empty-result { margin-top: 8px; padding: 20px; border-radius: 8px; background-color: #fff; box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); position: absolute; left: 0; right: 0; z-index: 999; } // 加载状态 .loading-state { margin-top: 8px; padding: 16px; border-radius: 8px; background-color: #fff; box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); position: absolute; left: 0; right: 0; z-index: 999; display: flex; align-items: center; justify-content: center; .loading-text { margin-left: 8px; font-size: 14px; color: #909399; } } } .img-preview-container{ margin:70rpx 40rpx; transition: all 0.3s ease; .image-section { transition: all 0.3s ease; margin-bottom: 30rpx; &.expanded { margin-bottom: 40rpx; } .image-container { position: relative; margin-bottom: 20rpx; overflow: hidden; border-radius: 10rpx; .preview-image { width: 100%; height: 300rpx; object-fit: cover; transition: all 0.3s ease; &.zoomed { height: 500rpx; box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.15); } } .crop-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; justify-content: center; align-items: center; .crop-area { position: absolute; border: 2rpx solid #409eff; background-color: rgba(64, 158, 255, 0.2); cursor: move; .resize-handle { position: absolute; width: 20rpx; height: 20rpx; border: 2rpx solid #409eff; background-color: #fff; border-radius: 50%; touch-action: none; &.top-left { top: -10rpx; left: -10rpx; cursor: nw-resize; } &.top-right { top: -10rpx; right: -10rpx; cursor: ne-resize; } &.bottom-left { bottom: -10rpx; left: -10rpx; cursor: sw-resize; } &.bottom-right { bottom: -10rpx; right: -10rpx; cursor: se-resize; } &.top { top: -10rpx; left: 50%; transform: translateX(-50%); cursor: n-resize; } &.bottom { bottom: -10rpx; left: 50%; transform: translateX(-50%); cursor: s-resize; } &.left { left: -10rpx; top: 50%; transform: translateY(-50%); cursor: w-resize; } &.right { right: -10rpx; top: 50%; transform: translateY(-50%); cursor: e-resize; } } } .crop-controls { position: absolute; top: 20rpx; left: 0; right: 0; display: flex; flex-direction: column; align-items: center; gap: 10rpx; .crop-hint { color: #fff; font-size: 24rpx; margin-bottom: 10rpx; background-color: rgba(0, 0, 0, 0.5); padding: 5rpx 15rpx; border-radius: 20rpx; } } } .confirm-crop-btn { position: absolute; bottom: 20rpx; right: 20rpx; z-index: 999; } } .img-result-container{ display: flex; justify-content: space-between; } } .img-result-list { max-height: 1000rpx; transition: all 0.3s ease; &.compressed { max-height: 600rpx; } ::v-deep .uni-scroll-view-content{ display: grid; grid-template-columns: 1fr 1fr; gap: 20rpx; } } .img-result-item { display: flex; flex-direction: column; align-items: center; background-color: #f8f8f8; border-radius: 10rpx; padding-bottom: 20rpx; text-align: center; transition: transform 0.2s ease, box-shadow 0.2s ease; &:hover { transform: translateY(-5rpx); box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); } } .img-result-thumb { width: 100%; height: 250rpx; object-fit: cover; border-top-left-radius: 10rpx; border-top-right-radius: 10rpx; } .img-result-info { width: 100%; } .img-result-title { display: block; background-color: #333; color: white; padding: 8rpx 12rpx; font-size: 22rpx; margin-bottom: 10rpx; } .img-result-desc { display: block; font-size: 24rpx; margin-bottom: 10rpx; line-height: 1.3; text-align: left; padding: 0 20rpx; } .img-result-price { display: block; font-size: 26rpx; font-weight: bold; color: #ff4d4f; text-align: left; padding: 0 20rpx; } }