.per_page_select { padding: 6px 10px; width: auto; border: 1px solid #ddd; border-radius: 4px; background-color: white; color: #495057; font-size: 14px; cursor: pointer; } .per_page_select:focus { border-color: #007bff; outline: none; } .dispatch_page_link { display: inline-block; padding: 8px 16px; margin: 0 5px; border-radius: 4px; background: white; color: #007bff; text-decoration: none; transition: all 0.3s ease; } .dispatch_page_link:hover { background: #007bff; color: white; } .dispatch_page_info { display: inline-block; padding: 8px 16px; color: #6c757d; } /* 导航栏样式 */ .nav_container { background: linear-gradient(135deg, #0061f2 0%, #00a3ff 100%); padding: 0.5rem 1rem; box-shadow: 0 2px 10px rgba(0,0,0,0.1); } .nav_brand { font-size: 1.5rem; font-weight: 600; color: white !important; text-decoration: none; transition: opacity 0.3s; } .nav_brand:hover { opacity: 0.9; } .nav_toggler { border: none !important; padding: 0.5rem; border-radius: 4px; background-color: rgba(255,255,255,0.1) !important; } .nav_toggler_icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; } .nav_menu { margin-left: 1rem; } /* 导航栏样式 */ .nav_link { color: rgba(255,255,255,0.9) !important; padding: 0.5rem 1rem !important; border-radius: 4px; transition: all 0.3s; position: relative; font-weight: 500; display: block; /* 确保按钮独占一行 */ text-decoration: none !important; /* 移除默认下划线 */ } .nav_link:hover { color: white !important; background: rgba(255,255,255,0.1); } .nav_link.active { background: rgba(255,255,255,0.2); color: white !important; } /* 接单平台样式 */ .receive_container { padding: 20px; background: #f8f9fa; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .receive_filter { background: white; padding: 15px 20px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); margin-bottom: 20px; } .receive_select { padding: 8px 15px; border: 1px solid #ddd; border-radius: 4px; margin-right: 10px; min-width: 130px; } .receive_table { width: 100%; border-collapse: separate; border-spacing: 0; background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .receive_table th { background: #f8f9fa; padding: 12px; text-align: left; font-weight: 600; color: #495057; border-bottom: 2px solid #dee2e6; } .receive_table td { padding: 12px; border-bottom: 1px solid #dee2e6; color: #495057; } .receive_table tr:hover { background-color: #f5f5f5; } .receive_action { color: #007bff; text-decoration: none; padding: 4px 8px; border-radius: 4px; transition: all 0.3s; } .receive_action:hover { background: #007bff; color: white; } .card_container { display: none; } /* 移动端卡片样式 */ @media (max-width: 991.98px) { .receive_table { display: none; } .card_container { display: flex; flex-direction: column; gap: 15px; } .receive_card { background: white; border-radius: 8px; padding: 15px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); position: relative; text-decoration: none; color: inherit; transition: all 0.3s ease; } .receive_card:active { transform: scale(0.98); } .receive_card:hover { box-shadow: 0 4px 8px rgba(0,0,0,0.15); } .receive_card_header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 2px solid #eee; } .receive_card_title { font-weight: 600; color: #333; } .receive_card_content { display: flex; flex-direction: column; gap: 8px; } .receive_card_item { display: flex; justify-content: space-between; align-items: center; } .receive_card_label { color: #666; font-size: 0.9em; } .receive_card_value { color: #333; font-weight: 500; } .receive_card_duration { position: absolute; top: 15px; right: 15px; color: #666; font-size: 0.85em; } } /* 登录页面样式 */ .login_container { min-height: calc(100vh - 100px); display: flex; align-items: center; justify-content: center; padding: 20px; } .login_box { background: white; padding: 40px; border-radius: 10px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); width: 100%; max-width: 400px; text-align: center; } .login_title { color: #333; font-size: 28px; margin-bottom: 10px; } .login_subtitle { color: #666; font-size: 16px; margin-bottom: 30px; } .login_form { text-align: left; } .login_input_group { margin-bottom: 25px; } .login_label { display: block; color: #555; margin-bottom: 8px; font-size: 14px; } .login_input { width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; transition: all 0.3s; } .login_input:focus { border-color: #007bff; box-shadow: 0 0 0 2px rgba(0,123,255,0.2); outline: none; } .login_button { width: 100%; padding: 12px; background: linear-gradient(135deg, #0061f2 0%, #00a3ff 100%); color: white; border: none; border-radius: 6px; font-size: 16px; font-weight: 500; cursor: pointer; transition: all 0.3s; } .login_button:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,97,242,0.2); } .login_button:active { transform: translateY(0); } .login_button_casdoor { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); display: flex; align-items: center; justify-content: center; text-decoration: none; margin-bottom: 20px; } .login_button_casdoor:hover { box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3); } .login_button_phone { margin-top: 0; } .login_casdoor_section { margin-bottom: 20px; } .login_divider { display: flex; align-items: center; text-align: center; margin: 25px 0; color: #999; font-size: 14px; } .login_divider::before, .login_divider::after { content: ''; flex: 1; border-bottom: 1px solid #ddd; } .login_divider span { padding: 0 15px; } /* 移动端适配 */ @media (max-width: 991.98px) { .login_box { padding: 30px 20px; } } @media screen and (max-width: 768px) { .receive_select { width: 140px; } .receive_filter form { flex-wrap: nowrap; } } /* 历史工单列表页面样式 */ .history_container { padding: 20px; background: #f8f9fa; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .history_title { color: #333; font-size: 24px; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #eee; } .history_table { width: 100%; border-collapse: separate; border-spacing: 0; background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .history_table th { background: #f8f9fa; padding: 12px; text-align: left; font-weight: 600; color: #495057; border-bottom: 2px solid #dee2e6; } .history_table td { padding: 12px; border-bottom: 1px solid #dee2e6; color: #495057; } .history_table tr:hover { background-color: #f5f5f5; } .history_link { color: #007bff; text-decoration: none; transition: all 0.3s; } .history_link:hover { color: #0056b3; text-decoration: underline; } .history_pagination { margin-top: 20px; text-align: center; } .history_page_link { display: inline-block; padding: 8px 16px; margin: 0 5px; border-radius: 4px; background: white; color: #007bff; text-decoration: none; transition: all 0.3s ease; } .history_page_link:hover { background: #007bff; color: white; } .history_page_info { display: inline-block; padding: 8px 16px; color: #6c757d; } /* 历史工单详情页面样式 */ .history_detail_container { padding: 20px; max-width: 1200px; margin: 0 auto; } .detail_photos { margin-top: 20px; padding-top: 20px; border-top: 1px solid #eee; } .photo_grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; margin-top: 15px; } .photo_item { border-radius: 8px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .photo_item img { width: 100%; height: 200px; object-fit: cover; transition: transform 0.3s ease; } .photo_item img:hover { transform: scale(1.05); } /* 移动端适配 */ @media (max-width: 991.98px) { .history_container { padding: 10px; } .history_table { display: none; } .history_card { background: white; border-radius: 8px; padding: 15px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); text-decoration: none; color: inherit; transition: all 0.3s ease; } .history_card:hover { transform: translateX(5px); box-shadow: 0 2px 8px rgba(0,0,0,0.1); } .history_card_header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #eee; } .history_card_title { font-weight: 600; color: #333; } .history_card_content { display: flex; flex-direction: column; gap: 8px; } .history_card_item { display: flex; justify-content: space-between; align-items: center; } .history_card_label { color: #666; font-size: 0.9em; } .history_card_value { color: #333; font-weight: 500; } .photo_grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); } .photo_item img { height: 150px; } .manual-card { border-left: 4px solid #ff9800; /* 手工申报工单使用橙色边框 */ } .system-card { border-left: 4px solid #2196f3; /* 系统派单工单使用蓝色边框 */ } } /* 历史工单详情页样式更新 */ .detail_header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; padding-bottom: 15px; border-bottom: 2px solid #eee; } .detail_title { font-size: 22px; color: #2c3e50; margin: 0; } .detail_status { padding: 4px 10px; background: #28a745; color: white; border-radius: 12px; font-size: 14px; } .detail_section { margin-bottom: 30px; padding: 20px; background: #f8f9fa; border-radius: 8px; } .section_title { font-size: 18px; color: #2c3e50; margin-bottom: 20px; font-weight: 500; } .detail_grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; } .detail_item { display: flex; flex-direction: column; gap: 8px; } .detail_label { color: #6c757d; font-size: 14px; } .detail_value { color: #2c3e50; font-weight: 500; } .detail_value.highlight { color: #007bff; } .detail_value.badge { display: inline-block; padding: 6px 12px; background: #e9ecef; border-radius: 6px; font-size: 15px; } .detail_description { background: white; padding: 20px; border-radius: 8px; margin-top: 10px; } .detail_remark { margin-top: 20px; padding: 15px; background: #fff3cd; border-radius: 8px; } .detail_remark h5 { color: #856404; margin-bottom: 10px; font-size: 16px; } .photo_grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; margin-top: 15px; } .photo_item { position: relative; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.1); cursor: pointer; } .photo_item img { width: 100%; height: 200px; object-fit: cover; transition: transform 0.3s ease; } .photo_item:hover img { transform: scale(1.05); } /* 模态框样式 */ .modal { display: none; position: fixed; z-index: 1000; padding-top: 50px; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.9); } .modal_content { margin: auto; display: block; max-width: 90%; max-height: 90vh; } .modal_close { position: absolute; right: 35px; top: 15px; color: #f1f1f1; font-size: 40px; font-weight: bold; cursor: pointer; } /* 移动端适配 */ @media (max-width: 768px) { .detail_grid { grid-template-columns: 1fr; } .detail_section { padding: 15px; } .photo_grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); } .photo_item img { height: 150px; } } /* 历史工单搜索框样式 */ .history_search { margin: 20px 0; } .history_search_form { display: flex; gap: 10px; max-width: 600px; } .history_search_input { flex: 1; padding: 8px 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; } .history_search_input:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 2px rgba(0,123,255,0.1); } .history_search_button { padding: 8px 16px; background: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s; } .history_search_button:hover { background: #0056b3; } /* 移动端适配 */ @media screen and (max-width: 768px) { .history_search_form { flex-direction: column; gap: 8px; } } /* 手工故障单样式 */ .manual_container { max-width: 800px; margin: 0 auto; padding: 20px; } .manual_title { margin-bottom: 30px; color: #333; text-align: center; } .manual_form { background: white; padding: 30px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .manual_form .form-group { margin-bottom: 20px; } .manual_form label { display: block; margin-bottom: 8px; color: #555; } .manual_form input, .manual_form select, .manual_form textarea { width: 100%; padding: 8px 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; } .manual_form textarea { height: 100px; resize: vertical; } .manual_submit { width: 100%; padding: 12px; background: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; transition: background-color 0.3s; } .manual_submit:hover { background: #0056b3; } @media screen and (max-width: 768px) { .manual_form { padding: 20px; } } .receive_detail_container { padding: 20px; max-width: 1200px; margin: 0 auto; } .detail_card { background: white; border-radius: 8px; padding: 20px; margin-bottom: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } /* 工单信息卡片样式 */ .detail_card:first-child { background: #f8f9fa; border-left: 4px solid #007bff; } /* 处理信息卡片样式 */ .detail_card:last-child { background: white; border-left: 4px solid #28a745; } .detail_grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 10px; /* 减小行距 */ } .detail_item { padding: 5px 10px; /* 减小内边距 */ } .detail_label { color: #666; font-size: 0.9em; margin-right: 8px; display: inline-block; width: 80px; /* 固定标签宽度,使值对齐 */ } .detail_value { color: #333; font-weight: 500; } .detail_form { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; color: #666; } .form-group input[type="text"], .form-group input[type="number"], .form-group textarea { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; } .form-group textarea { height: 100px; resize: vertical; } .detail_file_input { padding: 8px; border: 1px dashed #ddd; border-radius: 4px; width: 100%; } .detail_actions { grid-column: 1 / -1; display: flex; gap: 10px; justify-content: flex-end; margin-top: 20px; } .detail_btn { padding: 8px 20px; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; } .detail_btn_primary { background: #007bff; color: white; } .detail_btn_secondary { background: #6c757d; color: white; } .detail_btn:hover { opacity: 0.9; } .login_error { color: #dc3545; background-color: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px; padding: 10px; margin-bottom: 15px; font-size: 14px; text-align: center; } @media (max-width: 768px) { .detail_form { grid-template-columns: 1fr; } .detail_grid { grid-template-columns: 1fr; } } .detail_btn_danger { background: #dc3545; color: white; } .detail_btn_danger:hover { background: #c82333; } .total_reward { background: #e3f2fd; } .total_reward .statistics_value { color: #1976d2; }