From 4bef3c1a0dd435b4c6bf8f8429db67dac027ed6b Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期三, 10 十二月 2025 14:48:17 +0800
Subject: [PATCH] 1、中空创建任务查询界面添加当总数量不等于已配对数时高亮显示

---
 UI-Project/src/views/hollow/hollowequipmenttwo.vue |   54 ++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 34 insertions(+), 20 deletions(-)

diff --git a/UI-Project/src/views/hollow/hollowequipmenttwo.vue b/UI-Project/src/views/hollow/hollowequipmenttwo.vue
index f264857..bdf6f2d 100644
--- a/UI-Project/src/views/hollow/hollowequipmenttwo.vue
+++ b/UI-Project/src/views/hollow/hollowequipmenttwo.vue
@@ -8,9 +8,9 @@
         <el-button id="searchButton" type="primary" @click="handlezhiban">
           {{ $t('hellow.createtask') }}
         </el-button>
-        <el-button type="primary" @click="selectproject">
+        <!-- <el-button type="primary" @click="selectproject">
           {{ $t('hellow.reviewproject') }}
-        </el-button>
+        </el-button> -->
         <el-button style="margin-left: 10px;" id="searchButton" type="primary" @click="handlehistorical">{{
           $t('searchOrder.historicaltasks') }}</el-button>
         <el-button style="margin-left: 10px;" id="searchButton" type="success" @click="handleBinda">
@@ -323,7 +323,7 @@
     </div>
     <template #footer>
       <div id="dialog-footer">
-        <el-button type="primary" @click="finisha">
+        <el-button type="primary" @click="finisha" :disabled="isSubmitting">
           {{ $t('reportWork.sure') }}
         </el-button>
         <el-button @click="dialogFormVisiblec = false">{{ $t('reportWork.cancel') }}</el-button>
@@ -514,7 +514,6 @@
 import { onBeforeUnmount, onMounted, onUnmounted, ref, reactive, watch, computed, getCurrentInstance } from "vue";
 import request from "@/utils/request"
 import requestErp from "@/utils/requestErp"
-import { host, WebSocketHost } from '@/utils/constants'
 import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService'
 import PrintCustomLabelXJ from './PrintCustomLabelTwo.vue'
 import { useI18n } from 'vue-i18n'
@@ -523,6 +522,7 @@
 const blindb = ref(false)
 const blindc = ref(false)
 const mulan = ref(false)
+const isSubmitting = ref(false)
 const isLoading = ref(true)
 const activeTab = ref('')
 const tabList = ref([])
@@ -606,7 +606,7 @@
 // })
 
 let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/hollowGlass/api/talk/HollowGlassTwo`;
+const socketUrl = `ws://${window.ipConfig.serverUrl}/api/hollowGlass/api/talk/HollowGlassTwo`;
 const currentPage = ref(parseInt(window.localStorage.getItem('currentPage')) || 1);
 watch(() => currentPage.value, (newVal) => {
   window.localStorage.setItem('currentPage', newVal);
@@ -616,14 +616,20 @@
   currentPage.value = newPage;
 };
 const handleMessage = (data) => {
+  if (data.queueInfo[0] != null) {
   const rawData = data.queueInfo[0]
   const formattedData = Object.entries(rawData).map(([key, data]) => ({  
     title: key,  
     tableDataa: Array.isArray(data) ? data : [data]  
   }));  
   tabList.value = formattedData;  
+}else{
+      tabList.value = [];
+  }
   if (tabList.value.length > 0) {  
     activeTab.value = tabList.value[0].title;  
+  }else {
+      activeTab.value = '';
   }
   internalInstance.ctx.$forceUpdate();  
   try {
@@ -674,7 +680,9 @@
   blindc.value = true;
 };
 const handleBinde = (flowCard) => {
-  const summary = flowCard.reduce((map, item) => {
+  const summary = flowCard
+        .filter(item => item.isPair !== 0) 
+        .reduce((map, item) => {
         const key = `${item.hollowSequence}`;
         if (!map[key]) {
           map[key] = {
@@ -740,6 +748,7 @@
 const handletake = (row) => {
   window.localStorage.setItem('flowCardId', row.flowCardId)
   dialogFormVisiblec.value = true;
+  isSubmitting.value = false
   fetchmulan()
 };
 // 寮哄埗鍑虹墖
@@ -775,6 +784,9 @@
 function nestedTableRowClassName(parentRow, row) {
   if (parentRow.isThroughSlot == true) {
     return 'row-red-background';
+  }
+  if (row.row?.sumCount !== undefined && row.row?.pairCount !== undefined && row.row.sumCount !== row.row.pairCount) {
+    return 'sum-equal-pair-row' // 杩斿洖鑷畾涔夌被鍚�
   }
   return '';
 }
@@ -1076,6 +1088,10 @@
     ElMessage.error(t('hellow.phollowformula'))
     return
   }
+  if (isSubmitting.value) {
+    return
+  }
+  isSubmitting.value = true
   try {
     var url = "/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell=" + 931 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantity.value + "&formulaId=" + id;
     const response = await request.post(url)
@@ -1085,10 +1101,14 @@
       cell.value = '';
       formulaName.value = '';
       totalPairQuantity.value = '';
+      isSubmitting.value = true
     } else {
+      ElMessage.error(response.message);
+      isSubmitting.value = true
     }
   } catch (error) {
-  }
+      ElMessage.error(response.message);
+  } 
 }
 
 // 缂虹墖璇︽儏-鐮存崯
@@ -1116,7 +1136,7 @@
     if (response.code == 200) {
       ElMessage.success(response.message);
       const { flowCardId } = row;
-      fetchFlowBind();
+      fetchFlowBind(currentRow.flowCardId);
       fetchFlowCardId()
     } else {
       ElMessage.error(response.msg);
@@ -1226,7 +1246,6 @@
   text-align: center;
   margin-top: -5px;
 }
-
 #dotClass {
   display: flex;
   margin-left: 20px;
@@ -1234,23 +1253,15 @@
   margin-top: 20px;
   margin-bottom: 10px;
 }
-
 ::v-deep(.row-red-background) {
   background-color: rgb(224.6, 242.8, 215.6) !important;
 }
 .custom-page-buttons {
   display: flex;
   gap: 10px;
-  margin-top: 20px;
-}
-
-.custom-page-buttons {
-  display: flex;
-  gap: 10px;
   margin: 20px 0;
   flex-wrap: wrap;
-}
- 
+} 
 .page-btn {
   padding: 8px 16px;
   min-width: 40px;
@@ -1260,11 +1271,9 @@
   cursor: pointer;
   transition: all 0.3s;
 }
- 
 .page-btn:hover {
   background: #e6f1ff;
 }
- 
 .page-btn.active-page {
   background: #409eff;
   color: white;
@@ -1278,4 +1287,9 @@
 .el-loading-mask {
   z-index: 2000 !important;
 }
+/* 鏍稿績3锛氭坊鍔犺鍙樿壊鏍峰紡锛岄�氳繃:deep绌块�弒coped */
+:deep(.sum-equal-pair-row) {
+  background-color: #fdf2e8 !important; /* 娴呮搴曡壊锛屽彲鑷淇敼 */
+  color: #e64340 !important; /* 鏂囧瓧鑹诧紝鍙�� */
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0