From 9d0217d34ab971c55972dc3892b36dfd32cd5820 Mon Sep 17 00:00:00 2001 From: linxiaqi Date: Wed, 25 Sep 2024 11:30:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20datePicker=E7=BB=84=E4=BB=B6=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0weekStartDay=E7=9A=84props,=E7=94=A8=E4=BA=8E=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E4=BF=AE=E6=94=B9=E5=91=A8=E8=B5=B7=E5=A7=8B=E6=97=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/date-picker/base/date-table.vue | 8 ++++++-- src/components/date-picker/panel/Date/date-panel-mixin.js | 4 ++++ src/components/date-picker/panel/Date/date-range.vue | 2 ++ src/components/date-picker/panel/Date/date.vue | 1 + src/components/date-picker/picker.vue | 5 +++++ 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/components/date-picker/base/date-table.vue b/src/components/date-picker/base/date-table.vue index f3aa56d17..97c79ef37 100644 --- a/src/components/date-picker/base/date-table.vue +++ b/src/components/date-picker/base/date-table.vue @@ -34,6 +34,10 @@ type: Boolean, default: false }, + weekStartDay: { + type: Number, + default:0 + }, }, data () { return { @@ -50,11 +54,11 @@ ]; }, calendar(){ - const weekStartDay = Number(this.t('i.datepicker.weekStartDay')); + const weekStartDay = this.weekStartDay || Number(this.t('i.datepicker.weekStartDay')); return new jsCalendar.Generator({onlyDays: !this.showWeekNumbers, weekStart: weekStartDay}); }, headerDays () { - const weekStartDay = Number(this.t('i.datepicker.weekStartDay')); + const weekStartDay = this.weekStartDay || Number(this.t('i.datepicker.weekStartDay')); const translatedDays = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'].map(item => { return this.t('i.datepicker.weeks.' + item); }); diff --git a/src/components/date-picker/panel/Date/date-panel-mixin.js b/src/components/date-picker/panel/Date/date-panel-mixin.js index f810eabff..15a44174b 100644 --- a/src/components/date-picker/panel/Date/date-panel-mixin.js +++ b/src/components/date-picker/panel/Date/date-panel-mixin.js @@ -40,6 +40,10 @@ export default { type: Boolean, default: false }, + weekStartDay: { + type: Number, + default:0 + }, startDate: { type: Date }, diff --git a/src/components/date-picker/panel/Date/date-range.vue b/src/components/date-picker/panel/Date/date-range.vue index 154a9db17..8301e81ab 100644 --- a/src/components/date-picker/panel/Date/date-range.vue +++ b/src/components/date-picker/panel/Date/date-range.vue @@ -40,6 +40,7 @@ :disabled-date="disabledDate" :range-state="rangeState" :show-week-numbers="showWeekNumbers" + :week-start-day="weekStartDay" :value="preSelecting.left ? [dates[0]] : dates" :focused-date="focusedDate" @@ -81,6 +82,7 @@ :range-state="rangeState" :disabled-date="disabledDate" :show-week-numbers="showWeekNumbers" + :week-start-day="weekStartDay" :value="preSelecting.right ? [dates[dates.length - 1]] : dates" :focused-date="focusedDate" diff --git a/src/components/date-picker/panel/Date/date.vue b/src/components/date-picker/panel/Date/date.vue index 917a922ac..c1f9f9d59 100644 --- a/src/components/date-picker/panel/Date/date.vue +++ b/src/components/date-picker/panel/Date/date.vue @@ -36,6 +36,7 @@ v-if="currentView !== 'time'" :table-date="panelDate" :show-week-numbers="showWeekNumbers" + :week-start-day="weekStartDay" :value="dates" :selection-mode="selectionMode" :disabled-date="disabledDate" diff --git a/src/components/date-picker/picker.vue b/src/components/date-picker/picker.vue index 8785d1522..d0bb50fa5 100644 --- a/src/components/date-picker/picker.vue +++ b/src/components/date-picker/picker.vue @@ -56,6 +56,7 @@ :start-date="startDate" :split-panels="splitPanels" :show-week-numbers="showWeekNumbers" + :week-start-day="weekStartDay" :picker-type="type" :multiple="multiple" :focused-date="focusedDate" @@ -167,6 +168,10 @@ type: Boolean, default: false }, + weekStartDay: { + type: Number, + default: 0 + }, startDate: { type: Date },