修复套餐选择默认时间问题并添加快捷选择服务时长功能
This commit is contained in:
+67
-1
@@ -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>
|
||||
Reference in New Issue
Block a user