/* 订单分配表单样式 */ .order-creation-form { background: #ffffff; border-radius: 16px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); overflow: hidden; margin-bottom: 24px; border: 1px solid #e8e8e8; transition: all 0.3s ease; &:hover { box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12); } } /* 订单分配头部 */ .order-assignment-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; .assignment-title { margin: 0; font-size: 18px; font-weight: 600; } .assignment-actions { .create-order-btn { background: rgba(255, 255, 255, 0.2); border: 1px solid rgba(255, 255, 255, 0.3); color: white; padding: 8px 16px; border-radius: 6px; cursor: pointer; font-size: 14px; font-weight: 500; transition: all 0.3s ease; &:hover:not(.disabled) { background: rgba(255, 255, 255, 0.3); border-color: rgba(255, 255, 255, 0.5); } &.disabled { opacity: 0.5; cursor: not-allowed; } } } } /* 可滚动表单内容 */ .scrollable-form-content { max-height: 70vh; overflow-y: auto; padding: 0; /* 自定义滚动条 */ &::-webkit-scrollbar { width: 6px; } &::-webkit-scrollbar-track { background: #f1f1f1; } &::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 3px; &:hover { background: #a8a8a8; } } } /* 表单区域通用样式 */ section { padding: 24px; border-bottom: 1px solid #f0f0f0; &:last-child { border-bottom: none; } .form-title { margin: 0 0 20px 0; font-size: 16px; font-weight: 600; color: #333; display: flex; align-items: center; gap: 8px; .required-note { font-size: 12px; color: #666; font-weight: normal; } .optional-note { font-size: 12px; color: #999; font-weight: normal; } } } /* 已同步客户信息显示 */ .synced-customer-info { background: #f8f9ff; .customer-info-display { .info-row { display: flex; gap: 32px; margin-bottom: 12px; &:last-child { margin-bottom: 0; } .info-item { flex: 1; display: flex; align-items: center; gap: 8px; label { font-weight: 500; color: #666; min-width: 80px; } span { color: #333; font-weight: 500; } } } } } /* 核心必填信息表单 */ .core-requirements-form { background: #fff; .order-form { .form-row { display: flex; gap: 24px; margin-bottom: 24px; &:last-child { margin-bottom: 0; } .form-field { flex: 1; &.full-width { flex: 1 1 100%; } .field-label { display: block; margin-bottom: 8px; font-weight: 500; color: #333; font-size: 14px; .required { color: #ff4d4f; margin-left: 2px; } } .field-input, .field-select, .field-textarea { width: 100%; padding: 10px 12px; border: 1px solid #d9d9d9; border-radius: 6px; font-size: 14px; transition: all 0.3s ease; &:focus { outline: none; border-color: #1890ff; box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); } &::placeholder { color: #bfbfbf; } } .field-textarea { resize: vertical; min-height: 80px; } .input-with-unit { position: relative; display: flex; align-items: center; .field-input { padding-right: 40px; } .input-unit { position: absolute; right: 12px; color: #666; font-size: 14px; pointer-events: none; } } .field-error { margin-top: 4px; color: #ff4d4f; font-size: 12px; } .field-hint { margin-top: 4px; color: #999; font-size: 12px; line-height: 1.4; } .checkbox-group { .checkbox-item { display: flex; align-items: center; gap: 8px; cursor: pointer; .checkbox-input { width: 16px; height: 16px; accent-color: #1890ff; } .checkbox-label { font-size: 14px; color: #333; } } } } } } } /* 报价明细和设计师分配区域 */ .quotation-section, .designer-assignment-section { background: #fafafa; .designer-assignment-container { background: white; border-radius: 8px; padding: 16px; border: 1px solid #f0f0f0; } } /* 可选信息表单 */ .optional-requirements-form { background: #f8f9fa; .card-header { display: flex; justify-content: space-between; align-items: center; cursor: pointer; padding: 16px 0; border-bottom: 1px solid #e9ecef; margin-bottom: 0; .card-title { margin: 0; font-size: 16px; font-weight: 600; color: #333; } .toggle-icon { font-size: 12px; color: #666; transition: transform 0.3s ease; &.expanded { transform: rotate(180deg); } } &:hover { background: rgba(0, 0, 0, 0.02); } } .card-content { padding-top: 20px; .optional-form { .form-row { display: flex; gap: 24px; margin-bottom: 20px; &:last-child { margin-bottom: 0; } .form-field { flex: 1; &.full-width { flex: 1 1 100%; } .field-label { display: block; margin-bottom: 8px; font-weight: 500; color: #555; font-size: 14px; } .field-input, .field-textarea { width: 100%; padding: 10px 12px; border: 1px solid #d9d9d9; border-radius: 6px; font-size: 14px; background: white; transition: all 0.3s ease; &:focus { outline: none; border-color: #1890ff; box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); } &::placeholder { color: #bfbfbf; } } .field-textarea { resize: vertical; min-height: 80px; } } } } } } /* 响应式设计 */ @media (max-width: 768px) { .order-assignment-header { flex-direction: column; gap: 12px; text-align: center; } .scrollable-form-content { max-height: 60vh; } section { padding: 16px; } .core-requirements-form .order-form .form-row, .optional-requirements-form .optional-form .form-row { flex-direction: column; gap: 16px; } .synced-customer-info .customer-info-display .info-row { flex-direction: column; gap: 12px; } } /* 动画效果 */ .card-content { animation: slideDown 0.3s ease-out; } @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } /* 表单验证状态 */ .field-input.ng-invalid.ng-touched, .field-select.ng-invalid.ng-touched, .field-textarea.ng-invalid.ng-touched { border-color: #ff4d4f; box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); } .field-input.ng-valid.ng-touched, .field-select.ng-valid.ng-touched, .field-textarea.ng-valid.ng-touched { border-color: #52c41a; }