From d412575f6c884dd1d42c02b2e6c895cbc14a787a Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Mon, 21 Feb 2022 10:53:12 +0800
Subject: [PATCH] 日期组件,支持只读

---
 forms/datePicker/CDatePicker.vue |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/forms/datePicker/CDatePicker.vue b/forms/datePicker/CDatePicker.vue
index 416fa2a..e58bd51 100644
--- a/forms/datePicker/CDatePicker.vue
+++ b/forms/datePicker/CDatePicker.vue
@@ -4,7 +4,10 @@
  */
 
 <template>
-    <view class="c-date-picker">
+    <view
+        class="c-date-picker"
+        :class="readyOnly ? 'read-only':''"
+    >
         <CDateRangeAction
             v-if="mode==='dateRange'"
             :value="itemRes.formData[itemRes.name]"
@@ -19,7 +22,10 @@
                 :value="itemRes.formData[itemRes.name]"
                 :placeholder="placeholder"
             >
-                <view class="at-icon at-icon-chevron-right" />
+                <view
+                    v-show="!readyOnly"
+                    class="at-icon at-icon-chevron-right"
+                />
             </AtInput>
         </CDateRangeAction>
         <CDateTimeAction
@@ -36,14 +42,17 @@
                 :value="itemRes.formData[itemRes.name]"
                 :placeholder="placeholder"
             >
-                <view class="at-icon at-icon-chevron-right" />
+                <view
+                    v-show="!readyOnly"
+                    class="at-icon at-icon-chevron-right"
+                />
             </AtInput>
         </CDateTimeAction>
         <view v-else-if="mode==='date'">
             <picker
                 mode="date"
-                :start="pickerStart"
-                :end="pickerEnd"
+                :start="limitStart || pickerStart"
+                :end="limitEnd || pickerEnd"
                 :value="itemRes.formData[itemRes.name]"
                 @change="evt=>handleChange(evt.detail.value)"
             >
@@ -55,7 +64,10 @@
                     :value="itemRes.formData[itemRes.name]"
                     :placeholder="placeholder"
                 >
-                    <view class="at-icon at-icon-chevron-right" />
+                    <view
+                        v-show="!readyOnly"
+                        class="at-icon at-icon-chevron-right"
+                    />
                 </AtInput>
             </picker>
         </view>
@@ -87,6 +99,15 @@
         },
         // 占位提示
         placeholder: String,
+        // 开始日期
+        limitStart: String,
+        // 结束日期
+        limitEnd: String,
+        // 是否只读
+        readyOnly: {
+            type: Boolean,
+            default: false,
+        },
     },
     data() {
         const year = new Date().getFullYear();

--
Gitblit v1.9.1