瀏覽代碼

修改bug

695593266@qq.com 3 天之前
父節點
當前提交
a75f6e46e7
共有 2 個文件被更改,包括 32 次插入66 次删除
  1. 9 0
      src/api/produce/feeding.js
  2. 23 66
      src/views/produce/index.vue

+ 9 - 0
src/api/produce/feeding.js

@@ -45,6 +45,15 @@ export async function feedByOrderIds(data) {
   return Promise.reject(new Error(res.data.message));
 }
 
+// pda校验工单工序是否已完成投料
+export async function checkFeedStatus(params) {
+  const res = await request.post(`/pda/mes/feed/checkFeedStatus`, params);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
 //拆批
 export async function splitBatch(data) {
   const res = await request.post(`pda/mes/feed/splitBatch`, data);

+ 23 - 66
src/views/produce/index.vue

@@ -419,9 +419,9 @@
     singleListTask,
     pleaseEntrustManagement,
     checkPleaseEntrust,
-    checkRepeatPick,
-    checkRepeatFeed
+    checkRepeatPick
   } from '@/api/produce/index';
+  import { checkFeedStatus } from '@/api/produce/feeding.js';
   import prenatalExamination from './components/prenatalExamination/index.vue';
   import { workorderPage2 } from '@/api/produce/workOrder.js';
   import {
@@ -1305,6 +1305,10 @@
         return row.workOrderId || row.mesWorkOrderId || row.id;
       },
 
+      getFirstArticleTaskId(row = {}) {
+        return row.taskId || this.workTaskId;
+      },
+
       getFirstArticleInspectionRows() {
         const selectedIds = new Set(this.workListIds.map((id) => String(id)));
         const rows = this.workData?.list || [];
@@ -1317,66 +1321,14 @@
           : this.workListIds.map((id) => ({ id }));
       },
 
-      hasNonZeroCheckData(data, keys) {
-        if (Array.isArray(data)) {
-          return data.some((item) => this.hasNonZeroCheckData(item, keys));
-        }
-
-        if (data && typeof data === 'object') {
-          const values = keys?.length
-            ? keys.map((key) => data[key])
-            : Object.values(data);
-          return values.some((value) => this.hasNonZeroCheckData(value));
-        }
-
-        const num = Number(data);
-        if (!Number.isNaN(num)) {
-          return num !== 0;
-        }
-
-        return Boolean(data);
-      },
-
       async checkFirstArticlePickFeed(row) {
         const workOrderId = this.getFirstArticleWorkOrderId(row);
+        const taskId = this.taskObj.id;
         if (!workOrderId) {
-          return { pickDone: false, feedDone: false };
+          return true;
         }
 
-        const [pickRes, feedRes] = await Promise.all([
-          checkRepeatPick({ workOrderId }),
-          checkRepeatFeed([
-            {
-              currentTaskDiagram: row.currentTaskDiagram,
-              workOrderId
-            }
-          ])
-        ]);
-
-        return {
-          pickDone: this.hasNonZeroCheckData(pickRes?.data),
-          feedDone: this.hasNonZeroCheckData(feedRes?.data, [
-            'feedFormed',
-            'feedQuantity',
-            'allFeedQuantity'
-          ])
-        };
-      },
-
-      getFirstArticlePickFeedMsg(results) {
-        const needPick = results.some((item) => !item.pickDone);
-        const needFeed = results.some((item) => !item.feedDone);
-
-        if (needPick && needFeed) {
-          return '请先完成领料、投料后再进行首件两检';
-        }
-        if (needPick) {
-          return '请先完成领料后再进行首件两检';
-        }
-        if (needFeed) {
-          return '请先完成投料后再进行首件两检';
-        }
-        return '';
+        return checkFeedStatus({ taskId, workOrderId });
       },
 
       async refreshFirstArticlePickFeedStatus() {
@@ -1392,14 +1344,19 @@
 
         const rows = this.getFirstArticleInspectionRows();
         const checkKey = `${this.activeName}-${rows
-          .map((row) => this.getFirstArticleWorkOrderId(row))
+          .map(
+            (row) =>
+              `${this.getFirstArticleTaskId(
+                row
+              )}-${this.getFirstArticleWorkOrderId(row)}`
+          )
           .join(',')}`;
         this.firstArticlePickFeedCheckKey = checkKey;
         this.firstArticlePickFeedReady = false;
         this.firstArticlePickFeedMsg = '正在检查领料、投料状态';
 
         try {
-          const results = await Promise.all(
+          const needPromptList = await Promise.all(
             rows.map((row) => this.checkFirstArticlePickFeed(row))
           );
 
@@ -1407,15 +1364,16 @@
             return this.firstArticlePickFeedReady;
           }
 
-          const msg = this.getFirstArticlePickFeedMsg(results);
-          this.firstArticlePickFeedReady = !msg;
-          this.firstArticlePickFeedMsg = msg;
+          const needPrompt = needPromptList.some(Boolean);
+          this.firstArticlePickFeedReady = !needPrompt;
+          this.firstArticlePickFeedMsg = needPrompt
+            ? '请先完成领料、投料后再进行首件两检'
+            : '';
           return this.firstArticlePickFeedReady;
         } catch (error) {
           if (this.firstArticlePickFeedCheckKey === checkKey) {
             this.firstArticlePickFeedReady = false;
-            this.firstArticlePickFeedMsg =
-              '领料、投料状态检查失败,请稍后重试';
+            this.firstArticlePickFeedMsg = '领料、投料状态检查失败,请稍后重试';
           }
           return false;
         }
@@ -1425,8 +1383,7 @@
         const ready = await this.refreshFirstArticlePickFeedStatus();
         if (!ready) {
           this.$message.warning(
-            this.firstArticlePickFeedMsg ||
-              '请先完成领料、投料后再进行首件两检'
+            this.firstArticlePickFeedMsg || '请先完成领料、投料后再进行首件两检'
           );
         }
         return ready;