修复套餐选择默认时间问题并添加快捷选择服务时长功能

This commit is contained in:
2025-12-06 01:14:37 +08:00
parent a6356ea2a2
commit 466f16e313
+67 -1
View File
@@ -614,7 +614,19 @@ try {
<div class="form-row">
<div class="form-group">
<label for="duration_<?php echo $submission['id']; ?>">服务时长(分钟)</label>
<input type="number" id="duration_<?php echo $submission['id']; ?>" name="duration" min="30" step="30" value="60" required>
<div class="quick-duration">
<button type="button" class="duration-btn" onclick="selectDuration(<?php echo $submission['id']; ?>, 60)">1小时</button>
<button type="button" class="duration-btn" onclick="selectDuration(<?php echo $submission['id']; ?>, 90)">1.5小时</button>
<button type="button" class="duration-btn" onclick="selectDuration(<?php echo $submission['id']; ?>, 120)">2小时</button>
<button type="button" class="duration-btn" onclick="selectDuration(<?php echo $submission['id']; ?>, 240)">4小时</button>
<button type="button" class="duration-btn" onclick="selectDuration(<?php echo $submission['id']; ?>, 360)">6小时</button>
<button type="button" class="duration-btn" onclick="selectDuration(<?php echo $submission['id']; ?>, 480)">8小时</button>
<button type="button" class="duration-btn" onclick="selectDuration(<?php echo $submission['id']; ?>, 600)">10小时</button>
<button type="button" class="duration-btn" onclick="selectDuration(<?php echo $submission['id']; ?>, 720)">12小时</button>
<input type="number" id="customDuration_<?php echo $submission['id']; ?>" min="30" step="30" value="60" style="width: 80px; margin-left: 10px;">
<button type="button" class="btn btn-sm" onclick="applyCustomDuration(<?php echo $submission['id']; ?>)">确定</button>
</div>
<input type="number" id="duration_<?php echo $submission['id']; ?>" name="duration" min="30" step="30" value="60" required style="margin-top: 10px;">
</div>
</div>
@@ -816,11 +828,65 @@ try {
durationInput.value = duration;
totalPriceInput.value = price.toFixed(2);
// 更新快捷选择按钮状态
selectDuration(submissionId, duration);
packageInfoDiv.style.display = 'block';
} else {
packageInfoDiv.style.display = 'none';
}
}
// 快捷选择服务时长
function selectDuration(submissionId, minutes) {
const durationInput = document.getElementById('duration_' + submissionId);
const customDurationInput = document.getElementById('customDuration_' + submissionId);
// 更新时长输入框
durationInput.value = minutes;
// 更新自定义时长输入框
if (customDurationInput) {
customDurationInput.value = minutes;
}
// 更新按钮选中状态
document.querySelectorAll(`[onclick="selectDuration(${submissionId}, ${minutes})"]`).forEach(btn => {
btn.classList.add('selected');
});
// 移除其他按钮的选中状态
document.querySelectorAll(`#selected_package_${submissionId}`).forEach(packageSelect => {
const formGroup = packageSelect.closest('form').querySelector('.form-group');
formGroup.querySelectorAll('.duration-btn').forEach(btn => {
if (!btn.onclick || !btn.onclick.toString().includes(`selectDuration(${submissionId}, ${minutes})`)) {
btn.classList.remove('selected');
}
});
});
}
// 应用自定义时长
function applyCustomDuration(submissionId) {
const customDurationInput = document.getElementById('customDuration_' + submissionId);
const customDuration = parseInt(customDurationInput.value);
const maxDuration = 720; // 最大时长为12小时(720分钟)
if (customDuration < 30) {
alert('最小服务时长为30分钟');
customDurationInput.value = 30;
selectDuration(submissionId, 30);
} else if (customDuration > maxDuration) {
alert('最大服务时长为12小时(720分钟)');
customDurationInput.value = maxDuration;
selectDuration(submissionId, maxDuration);
} else {
// 确保时长是30的倍数
const roundedDuration = Math.round(customDuration / 30) * 30;
customDurationInput.value = roundedDuration;
selectDuration(submissionId, roundedDuration);
}
}
</script>
</body>
</html>