提交 9047bee0 authored 作者: lidongxu's avatar lidongxu

refactor(mobile/plan): 修复编辑计划_店铺没有禁用问题

同上
上级 8947617f
......@@ -2,6 +2,7 @@
<van-calendar :show-mark="false"
:min-date="searchMinDate"
:max-date="searchMaxDate"
:default-date="innerDefaultDate"
type="range"
allow-same-day
teleport="body" />
......@@ -9,12 +10,27 @@
<script setup>
const props = defineProps({
setNextMaxMonth: { // 设置下一个月的最大日期为最大范围
setNextMaxMonth: { // 设置下一个月为最大日期
type: Boolean,
default: false
},
defaultDate: { // 默认日期
type: [Array, Date, String],
default: () => {
return new Date()
}
}
})
const innerDefaultDate = ref(props.defaultDate)
watch(() => props.defaultDate, (newVal) => {
if (typeof newVal === 'string') {
innerDefaultDate.value = new Date()
} else {
innerDefaultDate.value = newVal
}
})
// 设置最小日期选择范围
const searchMinDate = computed(() => {
// 默认为今年 1 月 1 日
......
......@@ -7,7 +7,8 @@
@close="onPopupClose">
<van-picker :columns="columns"
:cancel-button-text="searchShow ? '' : '取消'"
@confirm="onConfirm">
@confirm="onConfirm"
@cancel="cancel">
<template #title>
<!-- 搜索框 -->
<van-search v-if="searchShow"
......@@ -45,7 +46,7 @@ const props = defineProps({
});
// 定义向外触发的事件
const emit = defineEmits(['confirm', 'search']);
const emit = defineEmits(['cancel', 'confirm', 'search']);
// 搜索文本
const searchText = ref('');
......@@ -72,6 +73,13 @@ const onConfirm = (values) => {
const onSearch = (values) => {
emit('search', values);
}
/**
* 取消事件处理函数
*/
const cancel = () => {
emit('cancel');
}
</script>
<style scoped>
......
......@@ -24,8 +24,9 @@
readonly
:value="form.storeName"
name="storeName"
placeholder="点击选择门店">
<p v-if="form.storeName">{{ form.storeAddr }} - {{ form.storeCode }}</p>
placeholder="点击选择门店"
:disabled="!!planId">
<p v-if="form.storeName && !planId">{{ form.storeAddr }} - {{ form.storeCode }}</p>
</div>
</template>
</van-field>
......@@ -133,21 +134,15 @@
:columns="columns"
:searchShow="showPickerSearch"
@search="search"
@cancel="showPicker = false"
@confirm="confirm"></PickerSearch>
<!-- <van-popup v-model:show="showCalendar"
destroy-on-close
position="bottom">
<van-date-picker v-model="confirmCalendarArr"
@confirm="onConfirmDate"
:min-date="minDate"
:max-date="maxDate" />
</van-popup> -->
<van-popup v-model:show="showInTimePicker"
destroy-on-close
position="bottom">
<van-time-picker v-model="inTime"
:formatter="formatterTime"
@confirm="onConfirmInTime"
@cancel="showInTimePicker = false"
title="选择时间" />
</van-popup>
<van-popup v-model:show="showOutTimePicker"
......@@ -157,6 +152,7 @@
:min-time="minTime"
:formatter="formatterTime"
@confirm="onConfirmOutTime"
@cancel="showInTimePicker = false"
title="选择时间" />
</van-popup>
</div>
......@@ -256,21 +252,6 @@ const confirmCalendar = (value) => {
showCalendar.value = false
}
const searchMinDate = ref({}) // 最小日期范围
const confirmCalendarArr = ref([])
const maxDate = ref('')
// const confirmCalendar = () => {
// showCalendar.value = true
// confirmCalendarArr.value = form.date ? form.date.split('-') : [new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate()]
// searchMinDate.value = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate())
// // 最大值到下个月最后一天
// maxDate.value = new Date(new Date().getFullYear(), new Date().getMonth() + 2, 0)
// }
const onConfirmDate = (value) => {
showCalendar.value = false
form.date = value?.selectedValues.join('-')
}
// 选择计划
const selPattern = () => {
isType.value = '计划'
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论