From 7bb4635dff502d78ff82768c1e6f68e88b2c291b Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期五, 29 八月 2025 16:10:57 +0800 Subject: [PATCH] 排产计划生成页面增加物料、计划生产数量筛选输入框;修复日历组件展示超出错位问题 --- src/views/mes/modules/MesProductionWeekCalendar.vue | 70 ++++++++++++++++++++++++++++++----- 1 files changed, 60 insertions(+), 10 deletions(-) diff --git a/src/views/mes/modules/MesProductionWeekCalendar.vue b/src/views/mes/modules/MesProductionWeekCalendar.vue index 46c0716..c22eb44 100644 --- a/src/views/mes/modules/MesProductionWeekCalendar.vue +++ b/src/views/mes/modules/MesProductionWeekCalendar.vue @@ -1,11 +1,11 @@ <!-- src/views/mes/modules/MesProductionWeekCalendar.vue --> <template> <div class="week-calendar"> - <div class="calendar-header"> - <a-button icon="left" @click="prevWeek" size="small" /> + <div v-if="showHeader" class="calendar-header"> + <a-button v-if="showNavigation" icon="left" @click="prevWeek" size="small" /> <span class="current-week-range">{{ weekRangeText }}</span> - <a-button icon="right" @click="nextWeek" size="small" /> - <a-button @click="goToToday" size="small" style="margin-left: 8px">浠婂ぉ</a-button> + <a-button v-if="showNavigation" icon="right" @click="nextWeek" size="small" /> + <a-button v-if="showTodayButton" @click="goToToday" size="small" style="margin-left: 8px">浠婂ぉ</a-button> </div> <div class="calendar-grid"> @@ -14,11 +14,16 @@ v-for="(day, index) in weekDays" :key="index" class="header-cell" + :class="{ 'first-day-highlight': showFirstDayHighlight && index === 0 }" > <div class="day-name">{{ day.format('ddd') }}</div> <div class="day-number" - :class="{ today: isToday(day), selected: isSelected(day) }" + :class="{ + 'highlight': showTodayHighlight && isToday(day), + today: isToday(day), + selected: isSelected(day) + }" @click="selectDay(day)" > {{ day.date() }} @@ -31,10 +36,15 @@ v-for="(day, index) in weekDays" :key="index" class="day-cell" - :class="{ today: isToday(day), selected: isSelected(day) }" + :class="{ + 'highlight': showTodayHighlight && isToday(day), + 'first-day-highlight': showFirstDayHighlight && index === 0, + today: isToday(day), + selected: isSelected(day) + }" @click="selectDay(day)" > - <div class="cell-content"> + <div class="cell-content" style="height: 100%; overflow: hidden"> <!-- 鎻掓Ы鐢ㄤ簬娓叉煋鏃ユ湡鍐呭 --> <slot name="dateCell" @@ -64,6 +74,31 @@ startDate: { type: [Object, String, Date], default: null + }, + // 鏄惁鏄剧ず澶撮儴瀵艰埅 + showHeader: { + type: Boolean, + default: true + }, + // 鏄惁鏄剧ず瀵艰埅鎸夐挳锛堝墠鍚庣炕椤碉級 + showNavigation: { + type: Boolean, + default: true + }, + // 鏄惁鏄剧ず浠婂ぉ鎸夐挳 + showTodayButton: { + type: Boolean, + default: true + }, + // 鏄惁楂樹寒褰撳ぉ + showTodayHighlight: { + type: Boolean, + default: true + }, + // 鏄惁楂樹寒鏈懆绗竴澶� + showFirstDayHighlight: { + type: Boolean, + default: true } }, data() { @@ -71,7 +106,7 @@ // 褰撳墠鏄剧ず鐨勮捣濮嬫棩鏈� currentStartDate: this.startDate ? moment(this.startDate) : moment(), // 閫変腑鐨勬棩鏈� - selectedDate: this.startDate ? moment(this.startDate) : moment() + selectedDate: null } }, computed: { @@ -173,10 +208,17 @@ text-align: center; padding: 8px 0; border-right: 1px solid #e8e8e8; + min-width: 0; + flex-basis: 100px; + box-sizing: border-box; } .header-cell:last-child { border-right: none; +} + +.header-cell.first-day-highlight { + background-color: #ffffff; /* 閲嶇疆绗竴澶╃殑鑳屾櫙鑹� */ } .day-name { @@ -196,7 +238,7 @@ border-radius: 50%; } -.day-number.today { +.day-number.today.highlight { background-color: #1890ff; color: white; } @@ -216,16 +258,24 @@ border-right: 1px solid #e8e8e8; cursor: pointer; padding: 4px; + min-width: 0; + flex-basis: 100px; + box-sizing: border-box; } .day-cell:last-child { border-right: none; } -.day-cell.today { +.day-cell.today.highlight { background-color: #e6f7ff; } +.day-cell.first-day-highlight { + background-color: transparent !important; + border-left: none !important; +} + .day-cell.selected { background-color: #bae7ff; } -- Gitblit v1.9.3