From f58da404d459a3387f78d9bf6fe8933010f137bf Mon Sep 17 00:00:00 2001 From: coder77 <2293444075@qq.com> Date: Thu, 10 Apr 2025 11:02:22 +0800 Subject: [PATCH] feat: 日期选择器增加快捷选择 --- forms/datePicker/CDatePicker.vue | 34 +++++++++++++++++++++------------- 1 files changed, 21 insertions(+), 13 deletions(-) diff --git a/forms/datePicker/CDatePicker.vue b/forms/datePicker/CDatePicker.vue index faa4d0a..824a791 100644 --- a/forms/datePicker/CDatePicker.vue +++ b/forms/datePicker/CDatePicker.vue @@ -4,15 +4,13 @@ */ <template> - <view - class="c-date-picker" - :class="readOnly ? 'read-only':''" - > + <view class="c-date-picker" :class="readOnly ? 'read-only' : ''"> <CDateRangeAction - v-if="mode==='dateRange'" + v-if="mode === 'dateRange'" :value="itemRes.formData[itemRes.name]" - :onChange="evt=>handleChange(evt)" + :onChange="evt => handleChange(evt)" :placeholder="placeholder" + :rangeTypes="rangeTypes" > <AtInput :name="itemRes.name" @@ -27,16 +25,16 @@ class="at-icon at-icon-chevron-right" /> <view - v-show="showClear" + v-show="!readOnly && showClear" class="at-icon at-icon-close" @tap.stop="evt => handleClear()" ></view> </AtInput> </CDateRangeAction> <CDateTimeAction - v-else-if="mode==='dateTime'" + v-else-if="mode === 'dateTime'" :value="itemRes.formData[itemRes.name]" - :onChange="evt=>handleChange(evt)" + :onChange="evt => handleChange(evt)" :placeholder="placeholder" > <AtInput @@ -52,19 +50,20 @@ class="at-icon at-icon-chevron-right" /> <view - v-show="showClear" + v-show="!readOnly && showClear" class="at-icon at-icon-close" @tap.stop="evt => handleClear()" ></view> </AtInput> </CDateTimeAction> - <view v-else-if="mode==='date'"> + <view v-else-if="mode === 'date'"> <picker mode="date" :start="limitStart || pickerStart" :end="limitEnd || pickerEnd" + :fields="fields" :value="itemRes.formData[itemRes.name]" - @change="evt=>handleChange(evt.detail.value)" + @change="evt => handleChange(evt.detail.value)" > <AtInput :name="itemRes.name" @@ -79,7 +78,7 @@ class="at-icon at-icon-chevron-right" /> <view - v-show="showClear" + v-show="!readOnly && showClear" class="at-icon at-icon-close" @tap.stop="evt => handleClear()" ></view> @@ -118,6 +117,15 @@ limitStart: String, // 结束日期 limitEnd: String, + // 选择器类型,选日期、选周、选月 + picker: String, //date,week,month + // 预设类型 + rangeTypes: Array, + // 日期选择粒度 year、month、day + fields: { + type: String, + default: 'day', + }, // 是否只读 readOnly: { type: Boolean, -- Gitblit v1.9.1