WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2021-08-19 95eab22ba9208ac03fa206acba4096e8d0198a73
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)');
        }
    },
};