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