From 32ac4e2fc2077d49641e01801296a17311ca689f Mon Sep 17 00:00:00 2001 From: aaron <> Date: Fri, 28 Mar 2025 00:05:04 +0800 Subject: [PATCH] update --- src/views/merchant/ProductList.vue | 58 +++++++++++++++++++++--------- 1 file changed, 42 insertions(+), 16 deletions(-) diff --git a/src/views/merchant/ProductList.vue b/src/views/merchant/ProductList.vue index 941998c..2edc07b 100644 --- a/src/views/merchant/ProductList.vue +++ b/src/views/merchant/ProductList.vue @@ -913,8 +913,8 @@ export default defineComponent({ delivery_time_type: productData.delivery_time_type, delivery_date: productData.delivery_date ? dayjs(productData.delivery_date) : null, pickup_place: productData.pickup_place || '', - pickup_time_from: productData.pickup_time_from || '', - pickup_time_to: productData.pickup_time_to || '', + pickup_time_from: '', // 先置空,在下面设置 + pickup_time_to: '', // 先置空,在下面设置 product_detail: productData.product_detail || '', purchase_note: productData.purchase_note || '' } @@ -927,17 +927,32 @@ export default defineComponent({ nextTick(() => { console.log('设置时间选择器值...') // 设置兑换时间 - if (productData.pickup_time_from) { - console.log('设置兑换开始时间:', productData.pickup_time_from) - const timeFrom = dayjs(`2023-01-01 ${productData.pickup_time_from}`) - editPickupTimeFrom.value = timeFrom - console.log('设置后的时间值:', editPickupTimeFrom.value) + try { + if (productData.pickup_time_from && /^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(productData.pickup_time_from)) { + console.log('设置兑换开始时间:', productData.pickup_time_from) + const [hours, minutes] = productData.pickup_time_from.split(':') + editPickupTimeFrom.value = dayjs().hour(parseInt(hours)).minute(parseInt(minutes)) + editFormState.value.pickup_time_from = productData.pickup_time_from + console.log('设置后的时间值:', editPickupTimeFrom.value) + } + } catch (error) { + console.error('设置开始时间出错:', error) + editPickupTimeFrom.value = null + editFormState.value.pickup_time_from = '' } - if (productData.pickup_time_to) { - console.log('设置兑换结束时间:', productData.pickup_time_to) - const timeTo = dayjs(`2023-01-01 ${productData.pickup_time_to}`) - editPickupTimeTo.value = timeTo - console.log('设置后的时间值:', editPickupTimeTo.value) + + try { + if (productData.pickup_time_to && /^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(productData.pickup_time_to)) { + console.log('设置兑换结束时间:', productData.pickup_time_to) + const [hours, minutes] = productData.pickup_time_to.split(':') + editPickupTimeTo.value = dayjs().hour(parseInt(hours)).minute(parseInt(minutes)) + editFormState.value.pickup_time_to = productData.pickup_time_to + console.log('设置后的时间值:', editPickupTimeTo.value) + } + } catch (error) { + console.error('设置结束时间出错:', error) + editPickupTimeTo.value = null + editFormState.value.pickup_time_to = '' } }) } else { @@ -1087,7 +1102,7 @@ export default defineComponent({ // 更新编辑兑换开始时间 const updateEditPickupTimeFrom = () => { console.log('更新兑换开始时间:', editPickupTimeFrom.value) - if (editPickupTimeFrom.value) { + if (editPickupTimeFrom.value && dayjs(editPickupTimeFrom.value).isValid()) { editFormState.value.pickup_time_from = dayjs(editPickupTimeFrom.value).format('HH:mm:ss') } else { editFormState.value.pickup_time_from = '' @@ -1098,7 +1113,7 @@ export default defineComponent({ // 更新编辑兑换结束时间 const updateEditPickupTimeTo = () => { console.log('更新兑换结束时间:', editPickupTimeTo.value) - if (editPickupTimeTo.value) { + if (editPickupTimeTo.value && dayjs(editPickupTimeTo.value).isValid()) { editFormState.value.pickup_time_to = dayjs(editPickupTimeTo.value).format('HH:mm:ss') } else { editFormState.value.pickup_time_to = '' @@ -1412,11 +1427,22 @@ export default defineComponent({ } // 格式化兑换时间 - if (editPickupTimeFrom.value) { + if (editPickupTimeFrom.value && dayjs(editPickupTimeFrom.value).isValid()) { formData.pickup_time_from = dayjs(editPickupTimeFrom.value).format('HH:mm:ss') + } else if (formData.pickup_time_from && /^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(formData.pickup_time_from)) { + // 已经是有效的时间字符串格式,保持不变 + } else { + // 设置默认时间 + formData.pickup_time_from = '09:00:00' } - if (editPickupTimeTo.value) { + + if (editPickupTimeTo.value && dayjs(editPickupTimeTo.value).isValid()) { formData.pickup_time_to = dayjs(editPickupTimeTo.value).format('HH:mm:ss') + } else if (formData.pickup_time_to && /^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(formData.pickup_time_to)) { + // 已经是有效的时间字符串格式,保持不变 + } else { + // 设置默认时间 + formData.pickup_time_to = '18:00:00' } }