Sfoglia il codice sorgente

修改工位的判断

695593266@qq.com 7 ore fa
parent
commit
9663c49c95

+ 14 - 3
src/views/produceOrder/components/releaseDialog/planDotLineReleaseDialog.vue

@@ -704,9 +704,15 @@
         const code = this.getRowDeviceCode(row);
         return !!code && codes.has(code);
       },
+      hasDeviceCodeMatch(list = [], codes = new Set()) {
+        return (
+          !!codes.size &&
+          (list || []).some((item) => this.isDeviceCodeAllowed(item, codes))
+        );
+      },
       isDeviceTypeLimitedSelection(item, process) {
         const codes = this.getDeviceAllowedCodes(process?.id || this.processId);
-        if (!codes.size) return false;
+        if (!this.hasDeviceCodeMatch(process?.list || [], codes)) return false;
         if (item && typeof item === 'object') {
           return !this.isDeviceCodeAllowed(item, codes);
         }
@@ -723,7 +729,12 @@
       applyDeviceLimitToList(list = [], dataRow) {
         if (!dataRow || dataRow.assignType != 1) return list;
         const codes = this.getDeviceAllowedCodes(dataRow?.id || this.processId);
-        if (!codes.size) return list;
+        if (!this.hasDeviceCodeMatch(list, codes)) {
+          return (list || []).map((item) => ({
+            ...item,
+            __deviceTypeLimited: false
+          }));
+        }
         return (list || []).map((item) => ({
           ...item,
           __deviceTypeLimited: !this.isDeviceCodeAllowed(item, codes)
@@ -732,7 +743,7 @@
       clearDeviceLimitedSelection(process) {
         if (!process) return;
         const codes = this.getDeviceAllowedCodes(process.id || this.processId);
-        if (!codes.size) return;
+        if (!this.hasDeviceCodeMatch(process.list || [], codes)) return;
         const nextSelection = (process.selection || []).filter((item) => {
           return !this.isDeviceTypeLimitedSelection(item, process);
         });

+ 26 - 0
src/views/productionPlan/components/gantt/components/GanttFilterBar.vue

@@ -111,11 +111,13 @@
     align-items: center;
     flex-wrap: wrap;
     gap: 6px 10px;
+    overflow-y: hidden;
   }
 
   .calendar-toolbar.gantt-filter-inline .calendar-filters {
     flex-wrap: nowrap;
     gap: 5px;
+    height: 28px;
   }
 
   .calendar-filter-item {
@@ -138,24 +140,48 @@
 
   .calendar-filter-item :deep(.el-input) {
     width: 200px;
+    line-height: 28px;
   }
 
   .calendar-toolbar.gantt-filter-inline .calendar-filter-item :deep(.el-input) {
     width: 138px;
+    line-height: 26px;
   }
 
   .calendar-filter-item :deep(.el-input__inner) {
     height: 28px;
+    line-height: 28px;
     border-color: #dce7f2;
     border-radius: 6px;
     background: #fbfdff;
     color: #364152;
   }
 
+  .calendar-filter-item :deep(.el-input__suffix),
+  .calendar-filter-item :deep(.el-input__suffix-inner),
+  .calendar-filter-item :deep(.el-input__icon) {
+    height: 28px;
+    line-height: 28px;
+  }
+
   .calendar-toolbar.gantt-filter-inline
     .calendar-filter-item
     :deep(.el-input__inner) {
     height: 26px;
+    line-height: 26px;
+  }
+
+  .calendar-toolbar.gantt-filter-inline
+    .calendar-filter-item
+    :deep(.el-input__suffix),
+  .calendar-toolbar.gantt-filter-inline
+    .calendar-filter-item
+    :deep(.el-input__suffix-inner),
+  .calendar-toolbar.gantt-filter-inline
+    .calendar-filter-item
+    :deep(.el-input__icon) {
+    height: 26px;
+    line-height: 26px;
   }
 
   .calendar-filter-item :deep(.el-input__inner:focus) {

+ 1 - 0
src/views/productionPlan/components/gantt/project-gantt.vue

@@ -1557,6 +1557,7 @@
     flex: 1 1 auto;
     min-width: 0;
     overflow-x: auto;
+    overflow-y: hidden;
     flex-wrap: nowrap;
     padding-bottom: 1px;
   }