From dc073060ea4be3ef8de0076616b90c2e1fbc2708 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期一, 13 十月 2025 16:21:37 +0800
Subject: [PATCH] 填充弹窗列表和下拉列表
---
components/mold.vue | 312 ++++++++++++++++++++++++++++++----------------------
1 files changed, 180 insertions(+), 132 deletions(-)
diff --git a/components/mold.vue b/components/mold.vue
index d490fa0..0c5805c 100644
--- a/components/mold.vue
+++ b/components/mold.vue
@@ -105,7 +105,7 @@
data() {
return {
machineNo: '',//鏈哄彴缂栫爜
- workOrderNo: '',//宸ュ崟鍙�
+ workOrderNo: '',//宸ュ崟鍙�
pageIndex: 1,
pageSize: 18,
total: 0,
@@ -117,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: {
@@ -130,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('鏌ヨ鍒�鍏峰け璐ワ紝璇锋鏌ョ綉缁滄垨鎺ュ彛');
}
},
//缈婚〉
@@ -176,116 +196,144 @@
this.showToolDialog = false;
},
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;
+ if (!this.workOrderNo) {
+ 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 || '涓婂垁鎻愪氦澶辫触');
- }
- },
+ 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 || '涓婂垁鎻愪氦澶辫触');
+ }
+ },
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;
+ if (!this.workOrderNo) {
+ 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 || '涓嬪垁鎻愪氦澶辫触');
- }
- },
+ 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 = '';
},
- async fetchFormData() {
- const formData = new FormData();
- formData.append('workOrderNo', this.workOrderNo);
- formData.append('machineNo', this.machineNo);
+ async fetchFormData() {
+ if (!this.workOrderNo || !this.machineNo) {
+ console.warn('宸ュ崟鍙锋垨鏈哄彴鍙蜂负绌猴紝璺宠繃鑾峰彇琛ㄥ崟鏁版嵁');
+ return;
+ }
- const res = await this.$post({
- url: '/MesCutterLedger/GetFormData',
- data: formData,
- // 涓嶈璁剧疆 Content-Type锛岃娴忚鍣ㄨ嚜鍔ㄨ缃�
- });
+ const payload = {
+ workOrderNo: this.workOrderNo.trim(),
+ machineNo: this.machineNo.trim()
+ };
- if (res.status === 0) {
- this.toolRecords = res.data;
- } else {
- this.$showMessage(res.message || '鑾峰彇琛ㄥ崟鏁版嵁澶辫触');
- }
- },
+ 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') || '';
- if (this.machineNo && this.workOrderNo) {
- this.fetchFormData();
- }
- }
+ 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>
@@ -384,16 +432,16 @@
overflow-y: auto;
}
- .tool-btn {
- margin: 5px 10px 5px 0;
- padding: 8px 16px;
- background: #f5f5f5;
- border: 1px solid #ccc;
- border-radius: 4px;
- cursor: pointer;
- background: #e0e0e0;
- color: #888;
- }
+ .tool-btn {
+ margin: 5px 10px 5px 0;
+ padding: 8px 16px;
+ background: #f5f5f5;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ cursor: pointer;
+ background: #e0e0e0;
+ color: #888;
+ }
.dialog-actions {
display: flex;
--
Gitblit v1.9.3