Browse Source

设备运行跟踪检品机合计 大废品统计左侧排序优化

zck 1 year ago
parent
commit
d9980d9a72

+ 7 - 0
src/view/DecisionSupport/Processwaste.vue

@@ -79,6 +79,13 @@ const _GXGetList = async () => {
 		})),
 		})),
 	  };
 	  };
 	});
 	});
+	// 对年份进行自定义排序
+	formattedTreeData.sort((a, b) => {
+	// 提取年份的后两位作为月份进行比较
+	const monthA = parseInt(a.label.slice(-2), 10);
+	const monthB = parseInt(b.label.slice(-2), 10);
+	return monthB - monthA; // 降序排序
+	});
 	treeData.splice(0, treeData.length, ...formattedTreeData);
 	treeData.splice(0, treeData.length, ...formattedTreeData);
   } catch (error) {
   } catch (error) {
 	console.error("获取数据失败:", error);
 	console.error("获取数据失败:", error);

+ 50 - 54
src/view/yunyin/shengchanguanli/shebeiyunxing.vue

@@ -929,35 +929,34 @@
 			  						v-else
 			  						v-else
 			  						:show-overflow-tooltip="true"
 			  						:show-overflow-tooltip="true"
 			  						@selection-change="selectionChange($event)"
 			  						@selection-change="selectionChange($event)"
-			  						:row-style="{ height: '20px' }"
+			  						:row-style="{ height: '20px' }" :row-class-name="totalClassName"
 			  						:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
 			  						:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
 			  						:header-cell-style="{ padding: '0px' }" @row-click="getUid"
 			  						:header-cell-style="{ padding: '0px' }" @row-click="getUid"
 			  						highlight-current-row="true" @row-dblclick="JPgytableDatadoubleClick"
 			  						highlight-current-row="true" @row-dblclick="JPgytableDatadoubleClick"
 			  						style="width: 100%;height: 70vh" border tooltip-effect="dark" :data="JPgytableData" row-key="ID" >
 			  						style="width: 100%;height: 70vh" border tooltip-effect="dark" :data="JPgytableData" row-key="ID" >
 			  				<el-table-column type="selection" width="55" />
 			  				<el-table-column type="selection" width="55" />
-			  				<el-table-column fixed align="left" label="工单编号" prop="工单编号"  width="130"/>
-							<el-table-column  align="left" label="印件号" prop="yjno"  width="115"/>
-			  				<el-table-column  align="left" label="产品名称" prop="产品名称"  width="200"/>
-							<el-table-column  align="left" label="工序名称" prop="gxmc"  width="200"/>
-							<el-table-column  align="left" label="千件工价" prop="千件工价"  width="100"/>
-							<el-table-column  align="left" label="检验类型" prop="检验类型"  width="130"/>
-							<el-table-column  align="left" label="计件箱数" prop="计件箱数"  width="100"/>
-							<el-table-column  align="left" label="每箱数量" prop="每箱数量"  width="100"/>
+			  				<!-- <el-table-column fixed align="left" label="工单编号" prop="工单编号"  width="130"/> -->
+			  				<el-table-column  align="left" fixed label="产品名称" prop="产品名称"  width="200"/>
+							  <el-table-column  align="left" fixed label="工序" prop="工序"  width="150"/>
+							<!-- <el-table-column  align="left" label="印件号" prop="yjno"  width="115"/>
+							<el-table-column  align="left" label="工序名称" prop="gxmc"  width="200"/> -->
+							<el-table-column  align="left" fixed label="班组" prop="bzdh"  width="70"/>
+							<el-table-column  align="left" label="计件箱数" prop="计件箱数"  width="90"/>
+							<el-table-column  align="left" label="每箱数量" prop="每箱数量"  width="90"/>
+							<el-table-column  align="left" label="检验类型" prop="检验类型"  width="90"/>
 							<el-table-column  align="left" label="废品率系数" prop="废品率系数"  width="100"/>
 							<el-table-column  align="left" label="废品率系数" prop="废品率系数"  width="100"/>
-							<el-table-column  align="left" label="班组" prop="bzdh"  width="115"/>
-							<el-table-column  align="left" label="换膜补时" prop="换膜补时"  width="100"/>
-							<el-table-column  align="left" label="保养工时" prop="保养工时"  width="100"/>
-							<el-table-column  align="left" label="异常总工时" prop="异常总工时"  width="100"/>
-							<el-table-column  align="left" label="通电工时" prop="通电工时"  width="100"/>
-							<el-table-column  align="left" label="难度系数" prop="难度系数"  width="100"/>
-							<el-table-column  align="left" label="定额代号" prop="定额代号"  width="100"/>
-							<el-table-column  align="left" label="千件工价" prop="千件工价"  width="100"/>
-							<el-table-column  align="left" label="日定额" prop="日定额"  width="100"/>
-							<el-table-column  align="left" label="补产标准" prop="补产标准"  width="100"/>
-							<el-table-column  align="left" label="工序" prop="工序"  width="100"/>
+							<el-table-column  align="left" label="千件工价" prop="千件工价"  width="90"/>
+							<el-table-column  align="left" label="日定额" prop="日定额"  width="80"/>
+							<el-table-column  align="left" label="补产标准" prop="补产标准"  width="90"/>
 							<el-table-column  align="left" label="组员1" prop="组员1"  width="100"/>
 							<el-table-column  align="left" label="组员1" prop="组员1"  width="100"/>
 							<el-table-column  align="left" label="组员2" prop="组员2"  width="100"/>
 							<el-table-column  align="left" label="组员2" prop="组员2"  width="100"/>
 							<el-table-column  align="left" label="组员3" prop="组员3"  width="100"/>
 							<el-table-column  align="left" label="组员3" prop="组员3"  width="100"/>
+							<el-table-column  align="left" label="换膜补时" prop="换膜补时"  width="90"/>
+							<el-table-column  align="left" label="保养工时" prop="保养工时"  width="90"/>
+							<el-table-column  align="left" label="异常总工时" prop="异常总工时"  width="100"/>
+							<el-table-column  align="left" label="通电工时" prop="通电工时"  width="90"/>
+							<el-table-column  align="left" label="难度系数" prop="难度系数"  width="90"/>
+							<el-table-column  align="left" label="定额代号" prop="定额代号"  width="90"/>
 							<el-table-column  align="left" label="更新时间" prop="更新时间"  width="160"/>
 							<el-table-column  align="left" label="更新时间" prop="更新时间"  width="160"/>
 			  </el-table>
 			  </el-table>
 			</el-tab-pane>
 			</el-tab-pane>
@@ -2570,35 +2569,25 @@ const JPmachineDetails = async (jt, riqi) => {
 	delete JPmachineDetail_data.data.totalB
 	delete JPmachineDetail_data.data.totalB
 	JPgytableData.value = Object.values(JPmachineDetail_data.data)
 	JPgytableData.value = Object.values(JPmachineDetail_data.data)
 	// 遍历 totalA 和 totalB 数组,将每个元素添加到新的行中
 	// 遍历 totalA 和 totalB 数组,将每个元素添加到新的行中
-	if(totalA.length != 0){
-		if(totalA){
-			let rowA = {
-			工单编号: 'A班产量' 
-		};
-	const keys = ['yjno', '产品名称', 'gxmc']; // 定义字段名数组
-	totalA.forEach((item, index) => {
-		if (index < keys.length) {
-		// 使用模板字符串动态生成字段名和对应的值
-		rowA[keys[index]] = `${item.检验类型}: ${item.箱数}`;
-		}
-	});
-		JPgytableData.value.push(rowA);
-	}
-	}
-	if(totalB.length != 0){
-		if(totalB){
-			let rowB = {
-			工单编号: 'B班产量' 
-		};
-	const keys = ['yjno', '产品名称', 'gxmc']; // 定义字段名数组
-	totalB.forEach((item, index) => {
-		if (index < keys.length) {
-		// 使用模板字符串动态生成字段名和对应的值
-		rowB[keys[index]] = `${item.检验类型}: ${item.箱数}`;
-		}
-	});
-		JPgytableData.value.push(rowB);
-	}
+	if (totalA.length !== 0) {
+    totalA.forEach((item) => {
+        let rowA = {
+            产品名称: `A班${item.检验类型}合计:`, 
+            计件箱数: `${item.箱数}`, // 添加合计箱数字段
+			isTotal: true //标识合计行改变颜色
+        };
+        JPgytableData.value.push(rowA);
+    });
+}
+if (totalB.length !== 0) {
+    totalB.forEach((item) => {
+        let rowB = {
+            产品名称: `B班${item.检验类型}合计:`, 
+            计件箱数: `${item.箱数}`,// 添加合计箱数字段
+			isTotal: true //标识合计行改变颜色
+        };
+        JPgytableData.value.push(rowB);
+    });
 	}
 	}
 	
 	
 	// return require(`@/assets/${machineData.状态}.png`);
 	// return require(`@/assets/${machineData.状态}.png`);
@@ -2606,6 +2595,11 @@ const JPmachineDetails = async (jt, riqi) => {
   }
   }
 }
 }
 
 
+// 定义方法来确定合计行的CSS类名
+function totalClassName({ row }) {
+  return row.isTotal ? 'total-row' : '';
+}
+
 const hesuanVisible = ref(false)
 const hesuanVisible = ref(false)
 const MachineVisible = ref(false)
 const MachineVisible = ref(false)
 const machineData = reactive([])
 const machineData = reactive([])
@@ -7912,15 +7906,15 @@ const sbzyqdsatusCellClass = ({row, column, rowIndex, columnIndex}) =>{
 }
 }
 </style>
 </style>
 <style scoped>
 <style scoped>
-/* :deep(.el-table td .cell) {
+:deep(.el-table td .cell) {
   line-height: 20px !important;
   line-height: 20px !important;
 }
 }
 
 
 :deep(.el-tabs__header) {
 :deep(.el-tabs__header) {
   margin-bottom: 0;
   margin-bottom: 0;
-} */
+} 
 
 
-/* .search {
+ .search {
   margin-left: 0px !important;
   margin-left: 0px !important;
   margin-right: 10px !important;
   margin-right: 10px !important;
 }
 }
@@ -7937,7 +7931,7 @@ const sbzyqdsatusCellClass = ({row, column, rowIndex, columnIndex}) =>{
 
 
 .gva-table-box {
 .gva-table-box {
   padding: 0px !important;
   padding: 0px !important;
-} */
+}
 
 
 
 
 /* :deep(.plan-usage-low div) {
 /* :deep(.plan-usage-low div) {
@@ -7945,7 +7939,9 @@ const sbzyqdsatusCellClass = ({row, column, rowIndex, columnIndex}) =>{
   font-size: 16px;
   font-size: 16px;
   font-weight: bold;
   font-weight: bold;
 } */
 } */
-
+:deep(.total-row) {
+  background-color: yellow !important; /* 或者你想要的任何颜色 */
+}
 
 
 /* tree组件背景高亮 */
 /* tree组件背景高亮 */
 :deep(.el-tree-node:focus > .el-tree-node__content){
 :deep(.el-tree-node:focus > .el-tree-node__content){