WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2025-03-24 433cf5bfd7d0bd602c3147c15720a654ea47b028
forms/datePicker/CDateRangeAction.vue
@@ -15,17 +15,21 @@
            class="c-data-range-float"
            ref="floadLayer"
        >
            <AtDrawer
            <CDrawer
                class="c-data-range-drawer"
                ref="floatDrawer"
                mask
                direction="top"
                :show="drawerShow"
                :onClose="evt => drawerShow=false"
                :onClose="evt => handleClose()"
            >
                <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"
                        :start="pickerStart"
                        :end="pickerEnd"
                        :value="startDate"
                        @change="evt => handleStartDateChange(evt.detail.value)"
                    >
@@ -38,7 +42,9 @@
                        </view>
                    </picker>
                    <picker
                        mode='date'
                        mode="date"
                        :start="pickerStart"
                        :end="pickerEnd"
                        :value="endDate"
                        @change="evt => handleEndDateChange(evt.detail.value)"
                    >
@@ -58,7 +64,7 @@
                    :circle="false"
                    :onClick="evt => handleFinish()"
                >确定</AtButton>
            </AtDrawer>
            </CDrawer>
        </view>
    </view>
</template>
@@ -67,6 +73,7 @@
import Taro from '@tarojs/taro';
import { $ } from '@tarojs/extend';
import { AtDrawer, AtButton } from 'taro-ui-vue';
import { CDrawer } from '@components/layout/drawer';
import './cDateRangeAction.scss';
export default {
@@ -74,16 +81,24 @@
    components: {
        AtDrawer,
        AtButton,
        CDrawer,
    },
    props: {
        value: null,
        // 项值
        value: String,
        // 变化回调
        onChange: Function,
        // 占位提示
        placeholder: String,
    },
    data() {
        const year = new Date().getFullYear();
        return {
            drawerShow: false,
            startDate: '',
            endDate: '',
            pickerStart: year - 30 + '-01-01',
            pickerEnd: year + 30 + '-12-31',
        };
    },
    computed: {},
@@ -94,6 +109,9 @@
            this.startDate = curDates[0];
            this.endDate = curDates[1];
        },
        handleClose() {
            this.drawerShow = false;
        },
        handleStartDateChange(date) {
            if (date && this.endDate) {
                const startTime = new Date(date);