From 8f73817cd1fdbd3e3b23d76d0ce6ba65a85e8950 Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Thu, 08 Jul 2021 19:12:46 +0800
Subject: [PATCH] 实现快递单号扫描输入组件

---
 forms/datePicker/CDateRangeAction.vue |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/forms/datePicker/CDateRangeAction.vue b/forms/datePicker/CDateRangeAction.vue
index 45b8341..3ad0181 100644
--- a/forms/datePicker/CDateRangeAction.vue
+++ b/forms/datePicker/CDateRangeAction.vue
@@ -22,10 +22,13 @@
                 :show="drawerShow"
                 :onClose="evt => drawerShow=false"
             >
-                <view class="title">请选择日期</view>
+                <view class="title">
+                    <view v-if="placeholder">{{placeholder}}</view>
+                    <view v-else>请选择日期</view>
+                </view>
                 <view class="date">
                     <picker
-                        mode='date'
+                        mode="date"
                         :value="startDate"
                         @change="evt => handleStartDateChange(evt.detail.value)"
                     >
@@ -38,7 +41,7 @@
                         </view>
                     </picker>
                     <picker
-                        mode='date'
+                        mode="date"
                         :value="endDate"
                         @change="evt => handleEndDateChange(evt.detail.value)"
                     >
@@ -76,8 +79,12 @@
         AtButton,
     },
     props: {
-        value: null,
+        // 项值
+        value: String,
+        // 变化回调
         onChange: Function,
+        // 占位提示
+        placeholder: String,
     },
     data() {
         return {
@@ -95,9 +102,35 @@
             this.endDate = curDates[1];
         },
         handleStartDateChange(date) {
+            if (date && this.endDate) {
+                const startTime = new Date(date);
+                const endTime = new Date(this.endDate);
+                if (startTime > endTime) {
+                    Taro.showToast({
+                        title: '开始日期不能晚于结束日期!',
+                        icon: 'none',
+                        mask: true,
+                        duration: 2000,
+                    });
+                    return;
+                }
+            }
             this.startDate = date;
         },
         handleEndDateChange(date) {
+            if (date && this.startDate) {
+                const startTime = new Date(this.startDate);
+                const endTime = new Date(date);
+                if (startTime > endTime) {
+                    Taro.showToast({
+                        title: '结束日期不能早于开始日期!',
+                        icon: 'none',
+                        mask: true,
+                        duration: 2000,
+                    });
+                    return;
+                }
+            }
             this.endDate = date;
         },
         handleFinish() {
@@ -113,6 +146,7 @@
         const $cFilter = $(this.$refs.floadLayer).parents('.c-filter');
         if ($cFilter.length > 0) {
             $cFilter.eq(0).after(this.$refs.floadLayer);
+            $cFilter.parent().css('transform', 'translate(0,0)');
         }
     },
 };

--
Gitblit v1.9.1