From 877d12005d9fb37a4604178707dffdd1f5ff760f Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期六, 11 十月 2025 16:16:54 +0800
Subject: [PATCH] BUG修改
---
components/mold.vue | 205 +++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 173 insertions(+), 32 deletions(-)
diff --git a/components/mold.vue b/components/mold.vue
index a3d446b..908fc36 100644
--- a/components/mold.vue
+++ b/components/mold.vue
@@ -42,8 +42,15 @@
</button>
</view>
<view class="dialog-actions">
- <button class="btn-blue" @click="confirmTool">纭畾</button>
- <button class="btn-disabled" @click="showToolDialog = false">鍙栨秷</button>
+ <div style="display: flex; align-items: center;">
+ <button class="btn-blue" @click="prevPage" :disabled="pageIndex === 1">涓婁竴椤�</button>
+ <span style="margin: 0 12px;">绗瑊{ pageIndex }}椤� / 鍏眥{ totalPages }}椤�</span>
+ <button class="btn-blue" @click="nextPage" :disabled="pageIndex === totalPages">涓嬩竴椤�</button>
+ </div>
+ <div>
+ <button class="btn-blue" @click="confirmTool">纭畾</button>
+ <button class="btn-disabled" @click="showToolDialog = false">鍙栨秷</button>
+ </div>
</view>
</view>
</view>
@@ -97,11 +104,12 @@
export default {
data() {
return {
- toolList: [
- // 绀轰緥鏁版嵁锛屽疄闄呭簲浠庡悗绔帴鍙h幏鍙�
- { no: 'T22050338', name: 'm1.5鍚堥噾闀垮垁', model: 'xxx' },
- { no: 'T22050337', name: 'm0.546鍚堥噾闀垮垁', model: 'yyy' }
- ],
+ machineNo: '',//鏈哄彴缂栫爜
+ workOrderNo: '',//宸ュ崟鍙�
+ pageIndex: 1,
+ pageSize: 18,
+ total: 0,
+ toolList: [],
selectedToolNo: '',
toolName: '',
toolModel: '',
@@ -115,11 +123,49 @@
]
};
},
+ computed: {
+ totalPages() {
+ return Math.ceil(this.total / this.pageSize) || 1;
+ }
+ },
methods: {
- searchTool() {
- this.filteredTools = this.toolList.filter(t =>
- t.no.includes(this.searchKey) || t.name.includes(this.searchKey)
- );
+ 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 || '鏌ヨ澶辫触');
+ }
+ },
+ //缈婚〉
+ async prevPage() {
+ if (this.pageIndex > 1) {
+ this.pageIndex--;
+ await this.fetchTools(this.searchKey);
+ }
+ },
+ async nextPage() {
+ if (this.pageIndex < this.totalPages) {
+ this.pageIndex++;
+ await this.fetchTools(this.searchKey);
+ }
+ },
+ async searchTool() {
+ this.pageIndex = 1; // 鎼滅储鏃堕噸缃埌绗竴椤�
+ await this.fetchTools(this.searchKey);
},
selectTool(tool) {
this.selectedToolNo = tool.no;
@@ -129,24 +175,115 @@
confirmTool() {
this.showToolDialog = false;
},
- handleUpTool() {
- // 涓婂垁鎻愪氦閫昏緫锛岃皟鐢ㄥ悗绔帴鍙�
- this.$showMessage('涓婂垁鎻愪氦鎴愬姛锛堢ず渚嬶級');
- },
- handleDownTool() {
- // 涓嬪垁鎻愪氦閫昏緫锛岃皟鐢ㄥ悗绔帴鍙�
- 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 || '涓婂垁鎻愪氦澶辫触');
+ }
+ },
+ 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 = '';
- }
+ },
+ async fetchFormData() {
+ const res = await this.$post({
+ url: '/MesCutterLedger/GetFormData',
+ data: JSON.stringify({
+ workOrderNo: this.workOrderNo,
+ machineNo: this.machineNo
+ }),
+ headers: { 'Content-Type': 'application/json' }
+ });
+ if (res.status === 0) {
+ this.toolRecords = res.data; // 鍋囪鍚庣鐩存帴杩斿洖琛ㄦ牸鏁扮粍
+ } else {
+ this.$showMessage(res.message || '鑾峰彇琛ㄥ崟鏁版嵁澶辫触');
+ }
+ }
},
- mounted() {
- // 瀹為檯搴斾粠鍚庣鍔犺浇鍒�鍏风洰褰曞拰浣跨敤璁板綍
- this.filteredTools = this.toolList;
- }
+ mounted() {
+ this.fetchTools('');
+ this.machineNo = uni.getStorageSync('machineNo') || '';
+ this.workOrderNo = uni.getStorageSync('daa001') || '';
+ if (this.machineNo && this.workOrderNo) {
+ this.fetchFormData();
+ }
+ }
};
</script>
@@ -241,16 +378,20 @@
display: flex;
flex-wrap: wrap;
margin: 1vh 0;
+ max-height: 40vh;
+ overflow-y: auto;
}
- .tool-btn {
- margin: 5px 10px 5px 0;
- padding: 8px 16px;
- background: #f5f5f5;
- border: 1px solid #ccc;
- border-radius: 4px;
- cursor: pointer;
- }
+ .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