From dc073060ea4be3ef8de0076616b90c2e1fbc2708 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期一, 13 十月 2025 16:21:37 +0800
Subject: [PATCH] 填充弹窗列表和下拉列表

---
 components/mold.vue |  205 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 173 insertions(+), 32 deletions(-)

diff --git a/components/mold.vue b/components/mold.vue
index c75f939..0c5805c 100644
--- a/components/mold.vue
+++ b/components/mold.vue
@@ -104,6 +104,8 @@
 	export default {
 		data() {
 			return {
+				machineNo: '',//鏈哄彴缂栫爜
+				workOrderNo: '',//宸ュ崟鍙�
 				pageIndex: 1,
 				pageSize: 18,
 				total: 0,
@@ -115,10 +117,7 @@
 				searchKey: '',
 				filteredTools: [],
 				useLimitInput: '',
-				toolRecords: [
-					// 绀轰緥鏁版嵁锛屽疄闄呭簲浠庡悗绔帴鍙h幏鍙�
-					{ id: 1, no: 'T22050338', name: 'm1.5鍚堥噾闀垮垁', upTime: '7-13 9:00', upCount: 15, downTime: '7-13 19:00', downCount: 3115, useCount: 3100, useLimit: 8888, lifePercent: '34.88%', lifeWarn: '90%', warnStatus: '姝e父' }
-				]
+				toolRecords: []
 			};
 		},
 		computed: {
@@ -128,24 +127,47 @@
 		},
 		methods: {
 			async fetchTools(searchKey) {
-				const res = await this.$post({
-					url: '/MesCutterLedger/QueryTools',
-					data: JSON.stringify({
-						searchKey,
-						pageIndex: this.pageIndex,
-						pageSize: this.pageSize
-					}),
-					headers: { 'Content-Type': 'application/json' }
-				});
-				if (res.status === 0) {
-					this.filteredTools = res.data.tbBillList.map(t => ({
-						no: t.cutterId || t.no,
-						name: t.cutterName || t.name,
-						model: t.cutterModel || t.model
-					}));
-					this.total = res.data.total || 0; // 鍋囪鍚庣杩斿洖鎬绘暟
-				} else {
-					this.$showMessage(res.message || '鏌ヨ澶辫触');
+				try {
+					const res = await this.$post({
+						url: '/MesCutterLedger/QueryTools',
+						data: JSON.stringify({
+							searchKey,
+							pageIndex: this.pageIndex,
+							pageSize: this.pageSize
+						}),
+						headers: { 'Content-Type': 'application/json' }
+					});
+
+					if (res.status === 0) {
+						// 鍏煎涓嶅悓杩斿洖缁撴瀯锛氱洿鎺ユ暟缁� / { tbBillList, total } / { data: [...] }
+						const payload = Array.isArray(res.data) ? res.data
+							: (res.data && res.data.tbBillList) ? res.data.tbBillList
+								: (res.data && res.data.data) ? res.data.data
+									: [];
+
+						const getField = (obj, ...keys) => {
+							for (const k of keys) if (obj?.[k] !== undefined && obj?.[k] !== null) return obj[k];
+							return null;
+						};
+
+						const mapped = (payload || []).map(t => ({
+							no: getField(t, 'cutterId', 'CUTTER_ID', 'cutteR_ID', 'daA001', 'no'),
+							name: getField(t, 'cutterName', 'CUTTER_NAME', 'cutteR_NAME', 'name'),
+							model: getField(t, 'cutterModel', 'CUTTER_MODEL', 'cutteR_MODEL', 'model')
+						}));
+
+						// 濉厖寮圭獥鍒楄〃鍜屼笅鎷夊垪琛紙妯℃澘涓笅鎷変娇鐢� toolList锛�
+						this.filteredTools = mapped;
+						this.toolList = mapped.slice();
+
+						// 鎬绘暟浼樺厛鍙栭《灞� totalCount锛屽啀鍙栧祵濂� total锛屽啀閫�鍥� payload 闀垮害
+						this.total = Number(res.totalCount ?? res.data?.total ?? res.data?.totalCount ?? res.total ?? mapped.length ?? 0) || 0;
+					} else {
+						this.$showMessage(res.message || '鏌ヨ澶辫触');
+					}
+				} catch (err) {
+					console.error('fetchTools 閿欒锛�', err);
+					this.$showMessage('鏌ヨ鍒�鍏峰け璐ワ紝璇锋鏌ョ綉缁滄垨鎺ュ彛');
 				}
 			},
 			//缈婚〉
@@ -173,27 +195,144 @@
 			confirmTool() {
 				this.showToolDialog = false;
 			},
-			handleUpTool() {
-				// 涓婂垁鎻愪氦閫昏緫锛岃皟鐢ㄥ悗绔帴鍙�
-				this.$showMessage('涓婂垁鎻愪氦鎴愬姛锛堢ず渚嬶級');
+			async handleUpTool() {
+				if (!this.workOrderNo) {
+					this.$showMessage('宸ュ崟鍙蜂笉鑳戒负绌�');
+					return;
+				}
+				if (!this.machineNo) {
+					this.$showMessage('鏈哄彴鍙蜂笉鑳戒负绌�');
+					return;
+				}
+				if (!this.selectedToolNo) {
+					this.$showMessage('鍒�鍏风紪鍙蜂笉鑳戒负绌�');
+					return;
+				}
+				if (!this.useLimitInput) {
+					this.$showMessage('浣跨敤涓婇檺涓嶈兘涓虹┖');
+					return;
+				}
+				const useLimit = Number(this.useLimitInput);
+				if (isNaN(useLimit) || useLimit <= 0) {
+					this.$showMessage('璇疯緭鍏ユ湁鏁堢殑浣跨敤涓婇檺');
+					return;
+				}
+				const payload = {
+					workOrderNo: this.workOrderNo,   // 宸ュ崟鍙�
+					machineNo: this.machineNo,       // 鏈哄彴缂栧彿
+					toolNo: this.selectedToolNo,     // 鍒�鍏风紪鍙�
+					type: '涓婂垁',                         // 涓婂垁
+					useLimit: this.useLimitInput ? Number(this.useLimitInput) : null // 浣跨敤涓婇檺
+				};
+				const res = await this.$post({
+					url: '/MesCutterLedger/SubmitToolAction',
+					data: JSON.stringify(payload),
+					headers: { 'Content-Type': 'application/json' }
+				});
+				if (res.status === 0) {
+					this.$showMessage('涓婂垁鎻愪氦鎴愬姛');
+				} else {
+					this.$showMessage(res.message || '涓婂垁鎻愪氦澶辫触');
+				}
 			},
-			handleDownTool() {
-				// 涓嬪垁鎻愪氦閫昏緫锛岃皟鐢ㄥ悗绔帴鍙�
-				this.$showMessage('涓嬪垁鎻愪氦鎴愬姛锛堢ず渚嬶級');
+			async handleDownTool() {
+				if (!this.workOrderNo) {
+					this.$showMessage('宸ュ崟鍙蜂笉鑳戒负绌�');
+					return;
+				}
+				if (!this.machineNo) {
+					this.$showMessage('鏈哄彴鍙蜂笉鑳戒负绌�');
+					return;
+				}
+				if (!this.selectedToolNo) {
+					this.$showMessage('鍒�鍏风紪鍙蜂笉鑳戒负绌�');
+					return;
+				}
+				if (!this.useLimitInput) {
+					this.$showMessage('浣跨敤涓婇檺涓嶈兘涓虹┖');
+					return;
+				}
+				const useLimit = Number(this.useLimitInput);
+				if (isNaN(useLimit) || useLimit <= 0) {
+					this.$showMessage('璇疯緭鍏ユ湁鏁堢殑浣跨敤涓婇檺');
+					return;
+				}
+				const payload = {
+					workOrderNo: this.workOrderNo,
+					machineNo: this.machineNo,
+					toolNo: this.selectedToolNo,
+					type: '涓嬪垁', // 涓嬪垁
+					useLimit: this.useLimitInput ? Number(this.useLimitInput) : null
+				};
+				const res = await this.$post({
+					url: '/MesCutterLedger/SubmitToolAction',
+					data: JSON.stringify(payload),
+					headers: { 'Content-Type': 'application/json' }
+				});
+				if (res.status === 0) {
+					this.$showMessage('涓嬪垁鎻愪氦鎴愬姛');
+				} else {
+					this.$showMessage(res.message || '涓嬪垁鎻愪氦澶辫触');
+				}
 			},
 			cancel() {
 				this.selectedToolNo = '';
 				this.toolName = '';
 				this.toolModel = '';
 			},
-			setUseLimit() {
-				// 淇濆瓨浣跨敤涓婇檺閫昏緫锛屽疄闄呭簲璋冪敤鍚庣鎺ュ彛
-				this.$showMessage('浣跨敤涓婇檺宸蹭繚瀛橈紙绀轰緥锛�');
+			async fetchFormData() {
+				if (!this.workOrderNo || !this.machineNo) {
+					console.warn('宸ュ崟鍙锋垨鏈哄彴鍙蜂负绌猴紝璺宠繃鑾峰彇琛ㄥ崟鏁版嵁');
+					return;
+				}
+
+				const payload = {
+					workOrderNo: this.workOrderNo.trim(),
+					machineNo: this.machineNo.trim()
+				};
+
+				try {
+					console.log('璇锋眰鍙傛暟:', payload); // 娣诲姞璋冭瘯鏃ュ織
+
+					const res = await this.$post({
+						url: '/MesCutterLedger/GetFormData',
+						data: JSON.stringify(payload),
+						headers: { 'Content-Type': 'application/json' }
+					});
+
+					if (res.status === 0) {
+						console.log('鑾峰彇鏁版嵁鎴愬姛:', res.data);
+						// ... 澶勭悊鏁版嵁
+					} else {
+						this.$showMessage(res.message || '鑾峰彇琛ㄥ崟鏁版嵁澶辫触');
+					}
+				} catch (error) {
+					console.error('鑾峰彇琛ㄥ崟鏁版嵁閿欒:', error);
+					this.$showMessage('鑾峰彇鏁版嵁澶辫触锛岃妫�鏌ョ綉缁滆繛鎺�');
+				}
 			}
+			//// 娣诲姞杈呭姪鏂规硶
+			//formatDateTime(dateTimeStr) {
+			//    if (!dateTimeStr) return '';
+			//    // 鏍规嵁鍚庣杩斿洖鐨勬椂闂存牸寮忚繘琛岃皟鏁�
+			//    const date = new Date(dateTimeStr);
+			//    return `${date.getMonth() + 1}-${date.getDate()} ${date.getHours()}:${date.getMinutes().toString().padStart(2, '0')}`;
+			//}
 		},
 		mounted() {
-			// 椤甸潰鍔犺浇鏃舵媺鍙栧叏閮ㄥ垁鍏�
 			this.fetchTools('');
+			this.machineNo = uni.getStorageSync('machineNo') || '';
+			this.workOrderNo = uni.getStorageSync('daa001') || '';
+
+			// 娣诲姞璋冭瘯淇℃伅
+			console.log('鏈哄彴鍙�:', this.machineNo);
+			console.log('宸ュ崟鍙�:', this.workOrderNo);
+
+			if (this.machineNo && this.workOrderNo) {
+				this.fetchFormData();
+			} else {
+				console.warn('鏈哄彴鍙锋垨宸ュ崟鍙蜂负绌猴紝鏃犳硶鑾峰彇琛ㄥ崟鏁版嵁');
+			}
 		}
 	};
 </script>
@@ -300,6 +439,8 @@
 		border: 1px solid #ccc;
 		border-radius: 4px;
 		cursor: pointer;
+		background: #e0e0e0;
+		color: #888;
 	}
 
 	.dialog-actions {

--
Gitblit v1.9.3