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 |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/forms/datePicker/CDatePicker.vue b/forms/datePicker/CDatePicker.vue
index 463690e..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,20 +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"
@@ -80,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>
@@ -119,6 +117,10 @@
         limitStart: String,
         // 结束日期
         limitEnd: String,
+        // 选择器类型,选日期、选周、选月
+        picker: String, //date,week,month
+        // 预设类型
+        rangeTypes: Array,
         // 日期选择粒度 year、month、day
         fields: {
             type: String,

--
Gitblit v1.9.1