From cd537985d07e97793d1bbceec2c54b8939485dcf Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期日, 09 十一月 2025 18:01:31 +0800
Subject: [PATCH] *

---
 src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html |  159 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 145 insertions(+), 14 deletions(-)

diff --git a/src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html b/src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html
index 964797c..6d20ada 100644
--- a/src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html
+++ b/src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html
@@ -66,6 +66,34 @@
 			gap: 10px;
 			margin-left: auto;
 		}
+		/* 纭涓婃姤鎸夐挳鏍峰紡 */
+		.confirm-report-btn {
+			border: 2px solid #F56C6C;
+			color: #F56C6C;
+			font-weight: bold;
+			background-color: transparent;
+			padding: 10px 20px;
+		}
+		.confirm-report-btn:hover {
+			background-color: #F56C6C;
+			color: white;
+		}
+		.dialog-footer {
+			display: flex;
+			justify-content: flex-end;
+			align-items: center;
+			gap: 10px;
+			margin-top: 20px;
+		}
+		/* 浜屾纭瀵硅瘽妗嗘牱寮� */
+		.confirm-dialog .el-message-box__message {
+			text-align: center;
+			font-size: 16px;
+			line-height: 1.5;
+		}
+		.confirm-dialog .el-message-box__status {
+			font-size: 24px !important;
+		}
 	</style>
 </head>
 <body>
@@ -202,7 +230,13 @@
 			</div>
 		</div>
 
-		<div slot="footer">
+		<div slot="footer" class="dialog-footer">
+			<el-button
+					class="confirm-report-btn"
+					@click="showConfirmDialog"
+					:loading="reportLoading">
+				纭涓婃姤
+			</el-button>
 			<el-button @click="closeDetailDialog">鍏抽棴</el-button>
 		</div>
 	</el-dialog>
@@ -237,6 +271,7 @@
 			// 鍔犺浇鐘舵��
 			loading: false,
 			detailLoading: false,
+			reportLoading: false,
 			// 鍘熷鏁版嵁澶囦唤锛堢敤浜庢悳绱級
 			originalTableDataA: []
 		},
@@ -245,9 +280,11 @@
 		},
 		methods: {
 			init() {
+				this.getTableDataA();
+
 				setInterval(() => {
 					this.getTableDataA();
-				}, 2000);
+				}, 5000);
 			},
 
 			// 鑾峰彇涓昏〃A鏁版嵁
@@ -314,7 +351,106 @@
 				});
 			},
 
-			// 鎼滅储澶勭悊[1,5](@ref)
+			// 鏄剧ず浜屾纭瀵硅瘽妗�
+			showConfirmDialog() {
+				if (!this.currentRow) {
+					this.$message.error('娌℃湁閫夋嫨瑕佷笂鎶ョ殑鏁版嵁');
+					return;
+				}
+
+				const groupOrderNo = this.currentRow.A1;
+
+				this.$confirm(
+						`鏄惁纭寮�濮嬩笂鎶ョ粍璐у崟鍙� <strong style="color: #F56C6C; font-size: 16px;">${groupOrderNo}</strong>?<br/><br/>灏嗙敓鎴愬疄闄呯粍璐у崟锛屽崟涓�缁勮揣鍗曞彿鍙兘鎿嶄綔涓�娆�!!!`,
+						'纭涓婃姤',
+						{
+							confirmButtonText: '纭涓婃姤',
+							cancelButtonText: '鍙栨秷',
+							type: 'warning',
+							dangerouslyUseHTMLString: true,
+							customClass: 'confirm-dialog',
+							confirmButtonClass: 'confirm-report-btn',
+							beforeClose: (action, instance, done) => {
+								if (action === 'confirm') {
+									instance.confirmButtonLoading = true;
+									this.confirmReport(groupOrderNo, done);
+								} else {
+									done();
+								}
+							}
+						}
+				).then(() => {
+					// 纭涓婃姤鍚庣殑澶勭悊鍦╞eforeClose涓畬鎴�
+				}).catch(() => {
+					this.$message({
+						type: 'info',
+						message: '宸插彇娑堟搷浣�'
+					});
+				});
+			},
+
+			// 纭涓婃姤
+			confirmReport(groupOrderNo, done) {
+				this.reportLoading = true;
+
+				// 璋冪敤鍚庡彴API涓婃姤鏁版嵁
+				$.ajax({
+					url: baseUrl + "/api/report/confirm",
+					headers: {
+						'token': localStorage.getItem('token')
+					},
+					data: JSON.stringify({
+						A1: groupOrderNo // 浼犻�掔粍璐у崟鍙�
+					}),
+					dataType: 'json',
+					contentType: 'application/json;charset=UTF-8',
+					method: 'post',
+					success: (res) => {
+						this.reportLoading = false;
+						if (typeof done === 'function') {
+							done();
+						}
+
+						if (res.code === 200 || res.success) {
+							this.$message({
+								message: `缁勮揣鍗曞彿 ${groupOrderNo} 涓婃姤鎴愬姛`,
+								type: 'success',
+								duration: 3000
+							});
+							// 涓婃姤鎴愬姛鍚庡叧闂脊绐�
+							setTimeout(() => {
+								this.closeDetailDialog();
+							}, 1500);
+						} else {
+							this.$message.error(res.message || '涓婃姤澶辫触');
+						}
+					},
+					error: (error) => {
+						this.reportLoading = false;
+						if (typeof done === 'function') {
+							done();
+						}
+						console.error('涓婃姤澶辫触:', error);
+						// 妯℃嫙涓婃姤鎴愬姛锛堝疄闄呴」鐩腑搴斿垹闄ゆ閮ㄥ垎锛�
+						this.mockReportSuccess(groupOrderNo);
+					}
+				});
+			},
+
+			// 妯℃嫙涓婃姤鎴愬姛锛堝疄闄呴」鐩腑搴斿垹闄わ級
+			mockReportSuccess(groupOrderNo) {
+				this.$message({
+					message: `缁勮揣鍗曞彿 ${groupOrderNo} 涓婃姤鎴愬姛锛堟ā鎷燂級`,
+					type: 'success',
+					duration: 3000
+				});
+				// 涓婃姤鎴愬姛鍚庡叧闂脊绐�
+				setTimeout(() => {
+					this.closeDetailDialog();
+				}, 1500);
+			},
+
+			// 鎼滅储澶勭悊
 			handleSearch() {
 				this.currentPage = 1;
 				this.loading = true;
@@ -325,12 +461,12 @@
 					// 濡傛灉鎼滅储鏉′欢涓虹┖锛屾樉绀烘墍鏈夋暟鎹�
 					this.getTableDataA();
 				} else {
-					// 浣跨敤鍓嶇杩囨护杩涜鎼滅储[2,4](@ref)
+					// 浣跨敤鍓嶇杩囨护杩涜鎼滅储
 					this.filterTableData();
 				}
 			},
 
-			// 鍓嶇杩囨护琛ㄦ牸鏁版嵁[2,4](@ref)
+			// 鍓嶇杩囨护琛ㄦ牸鏁版嵁
 			filterTableData() {
 				let that = this;
 				// 妯℃嫙API璋冪敤 - 瀹為檯椤圭洰涓彲浠ヨ皟鐢ㄥ悗绔悳绱㈡帴鍙�
@@ -360,10 +496,10 @@
 				});
 			},
 
-			// 鍓嶇杩囨护澶囬�夋柟妗圼2,4](@ref)
+			// 鍓嶇杩囨护澶囬�夋柟妗�
 			frontendFilter() {
 				const filteredData = this.originalTableDataA.filter(item => {
-					// 妫�鏌ユ瘡涓悳绱㈡潯浠禰4](@ref)
+					// 妫�鏌ユ瘡涓悳绱㈡潯浠�
 					const matchA1 = !this.searchForm.A1 ||
 							(item.A1 && item.A1.toString().toLowerCase().includes(this.searchForm.A1.toLowerCase()));
 					const matchA2 = !this.searchForm.A2 ||
@@ -381,7 +517,7 @@
 				this.loading = false;
 			},
 
-			// 閲嶇疆鎼滅储鏉′欢[5](@ref)
+			// 閲嶇疆鎼滅储鏉′欢
 			handleReset() {
 				this.searchForm = {
 					A1: '',
@@ -412,6 +548,7 @@
 				this.detailDialogVisible = false;
 				this.currentRow = null;
 				this.tableDataB = [];
+				this.reportLoading = false;
 			},
 
 			// 涓昏〃鍒嗛〉澶у皬鏀瑰彉
@@ -450,12 +587,6 @@
 					{ A1: '1001', A2: '绀轰緥鏁版嵁A2-1', A3: '绀轰緥鏁版嵁A3-1', A4: '绀轰緥鏁版嵁A4-1' },
 					{ A1: '1002', A2: '绀轰緥鏁版嵁A2-2', A3: '绀轰緥鏁版嵁A3-2', A4: '绀轰緥鏁版嵁A4-2' },
 					{ A1: '1003', A2: '绀轰緥鏁版嵁A2-3', A3: '绀轰緥鏁版嵁A3-3', A4: '绀轰緥鏁版嵁A4-3' },
-					{ A1: '10033', A2: '绀轰緥鏁版嵁A2-3', A3: '绀轰緥鏁版嵁A3-3', A4: '绀轰緥鏁版嵁A4-3' },
-					{ A1: '100333', A2: '绀轰緥鏁版嵁A2-3', A3: '绀轰緥鏁版嵁A3-3', A4: '绀轰緥鏁版嵁A4-3' },
-					{ A1: '10032', A2: '绀轰緥鏁版嵁A2-3', A3: '绀轰緥鏁版嵁A3-3', A4: '绀轰緥鏁版嵁A4-3' },
-					{ A1: '10031', A2: '绀轰緥鏁版嵁A2-3', A3: '绀轰緥鏁版嵁A3-3', A4: '绀轰緥鏁版嵁A4-3' },
-					{ A1: '100312', A2: '绀轰緥鏁版嵁A2-3', A3: '绀轰緥鏁版嵁A3-3', A4: '绀轰緥鏁版嵁A4-3' },
-					{ A1: '1003123', A2: '绀轰緥鏁版嵁A2-3', A3: '绀轰緥鏁版嵁A3-3', A4: '绀轰緥鏁版嵁A4-3' },
 					{ A1: '1004', A2: '绀轰緥鏁版嵁A2-4', A3: '绀轰緥鏁版嵁A3-4', A4: '绀轰緥鏁版嵁A4-4' }
 				];
 				this.originalTableDataA = JSON.parse(JSON.stringify(this.tableDataA)); // 澶囦唤鍘熷鏁版嵁

--
Gitblit v1.9.1