修复选择重复日程的频率

This commit is contained in:
WindowBird 2025-11-03 11:29:56 +08:00
parent 5c5f0f836c
commit e5f7129d61

View File

@ -49,7 +49,7 @@
</view>
<!-- 重复选项 -->
<view class="form-item clickable-item" @click="showRepeatPicker = true">
<view class="form-item clickable-item" @click="openRepeatPicker">
<text class="label">{{ repeatText }}</text>
<text class="arrow"></text>
</view>
@ -190,7 +190,7 @@
</view>
<!-- 重复选择弹窗 -->
<view v-if="showRepeatPicker" class="modal-mask" @click="showRepeatPicker = false">
<view v-if="showRepeatPicker" class="modal-mask" @click="handleCancelRepeat">
<view class="modal-content" @click.stop>
<view class="modal-title">重复设置</view>
<view class="repeat-options">
@ -198,16 +198,16 @@
v-for="item in repeatOptions"
:key="item.value"
class="repeat-option"
:class="{ active: formData.repeat === item.value }"
@click="selectRepeat(item.value)"
:class="{ active: tempRepeat === item.value }"
@click="tempRepeat = item.value"
>
<text>{{ item.label }}</text>
<text v-if="formData.repeat === item.value" class="check"></text>
<text v-if="tempRepeat === item.value" class="check"></text>
</view>
</view>
<view class="modal-buttons">
<button class="modal-btn" @click="showRepeatPicker = false">取消</button>
<button class="modal-btn primary" @click="showRepeatPicker = false">确定</button>
<button class="modal-btn" @click="handleCancelRepeat">取消</button>
<button class="modal-btn primary" @click="handleConfirmRepeat">确定</button>
</view>
</view>
</view>
@ -267,6 +267,9 @@ const showColorPicker = ref(false);
const showRepeatPicker = ref(false);
const showReminderPicker = ref(false);
//
const tempRepeat = ref('none');
//
const hourOptions = Array.from({ length: 24 }, (_, i) => String(i).padStart(2, '0') + '时');
const minOptions = Array.from({ length: 60 }, (_, i) => String(i).padStart(2, '0') + '分');
@ -515,9 +518,25 @@ const selectColor = (color) => {
formData.value.color = color;
};
//
const selectRepeat = (value) => {
formData.value.repeat = value;
//
const openRepeatPicker = () => {
//
tempRepeat.value = formData.value.repeat;
showRepeatPicker.value = true;
};
//
const handleCancelRepeat = () => {
//
tempRepeat.value = formData.value.repeat;
showRepeatPicker.value = false;
};
//
const handleConfirmRepeat = () => {
//
formData.value.repeat = tempRepeat.value;
showRepeatPicker.value = false;
};
//