From cb0f0660986138df8cd2b268124edfe9c06b39e3 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期四, 09 十月 2025 11:14:22 +0800
Subject: [PATCH] 添加刀具查询
---
components/mold.vue | 155 ++++++++++++++++++++++++++++-----------------------
1 files changed, 85 insertions(+), 70 deletions(-)
diff --git a/components/mold.vue b/components/mold.vue
index 610d4b8..d0e0b08 100644
--- a/components/mold.vue
+++ b/components/mold.vue
@@ -1,33 +1,32 @@
<template>
- <!-- 鍒�鍏风鐞� -->
<view class="page">
- <!-- 椤堕儴Tab鏍忥紙濡傛湁闇�瑕佸彲淇濈暀锛� -->
<!-- 鍒�鍏烽�夋嫨鍖� -->
- <view class="top-section">
- <view class="form-group">
- <label>閫夋嫨鍒�鍏风紪鍙凤細</label>
- <view class="form-group">
- <label>璁剧疆浣跨敤涓婇檺锛�</label>
- <input class="input"
- type="number"
- v-model="useLimitInput"
- placeholder="姣忔鎹㈠垁鍚庢墜濉�"
- :disabled="!selectedToolNo" />
- <button class="btn-blue" @click="setUseLimit" :disabled="!selectedToolNo || !useLimitInput">淇濆瓨涓婇檺</button>
- </view>
- <select v-model="selectedToolNo">
+ <view class="top-section-grid">
+ <view class="form-cell">
+ <label class="form-label">閫夋嫨鍒�鍏风紪鍙凤細</label>
+ <select v-model="selectedToolNo" class="form-select">
<option v-for="tool in toolList" :key="tool.no" :value="tool.no">{{ tool.no }} | {{ tool.name }}</option>
</select>
<button class="btn-blue" @click="showToolDialog = true">鍒�鍏风洰褰�</button>
</view>
- <view class="form-group">
- <label>鍒�鍏峰悕绉帮細</label>
- <input class="input" v-model="toolName" placeholder="鍒�鍏峰甫鍑�" disabled />
+ <view class="form-cell">
+ <label class="form-label">璁剧疆浣跨敤涓婇檺锛�</label>
+ <input class="input" type="number" v-model="useLimitInput" placeholder="姣忔鎹㈠垁鍚庢墜濉�" :disabled="!selectedToolNo" />
+ <button class="btn-blue" @click="setUseLimit" :disabled="!selectedToolNo || !useLimitInput">淇濆瓨涓婇檺</button>
</view>
- <view class="form-group">
- <label>瑙勬牸鍨嬪彿锛�</label>
+ <view class="form-cell">
+ <label class="form-label">鍒�鍏峰悕绉帮細</label>
+ <input class="input" v-model="toolName" placeholder="鍒�鍏峰甫鍑�" disabled />
+ <label class="form-label" style="margin-left: 16px;">瑙勬牸鍨嬪彿锛�</label>
<input class="input" v-model="toolModel" placeholder="鍒�鍏峰甫鍑�" disabled />
</view>
+ </view>
+
+ <!-- 鎿嶄綔鎸夐挳 -->
+ <view class="button-row">
+ <button class="save-btn" @click="handleUpTool">涓婂垁鎻愪氦</button>
+ <button class="save-btn" @click="handleDownTool">涓嬪垁鎻愪氦</button>
+ <button class="cancel-btn" @click="cancel">鍙栨秷</button>
</view>
<!-- 鍒�鍏风洰褰曞脊绐� -->
@@ -85,13 +84,6 @@
</table>
</view>
- <!-- 涓婁笅鍒�鎸夐挳 -->
- <view class="bottom-section">
- <button class="save-btn" @click="handleUpTool">涓婂垁鎻愪氦</button>
- <button class="save-btn" @click="handleDownTool">涓嬪垁鎻愪氦</button>
- <button class="cancel-btn" @click="cancel">鍙栨秷</button>
- </view>
-
<!-- 璇存槑 -->
<view class="tool-desc">
<p style="color:red;">褰撳墠宸ュ崟涓紝鎹簡鍑犳鍒�锛屽氨浼氫骇鐢熷嚑鏉℃暟鎹�備笂鍒�鏃堕棿銆佷笅鍒�鏃堕棿鍦ㄨ〃涓兘鐪嬪埌銆�</p>
@@ -116,7 +108,7 @@
showToolDialog: false,
searchKey: '',
filteredTools: [],
- useLimitInput: '',
+ 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父' }
@@ -124,10 +116,26 @@
};
},
methods: {
- searchTool() {
- this.filteredTools = this.toolList.filter(t =>
- t.no.includes(this.searchKey) || t.name.includes(this.searchKey)
- );
+ async fetchTools(searchKey) {
+ // 瀹為檯椤圭洰涓鏇挎崲涓轰綘鐨勫悗绔帴鍙e湴鍧�
+ const res = await fetch('/api/QueryTools', {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify(searchKey)
+ });
+ const data = await res.json();
+ if (data.status === 0) {
+ this.filteredTools = data.data.tbBillList.map(t => ({
+ no: t.cutterId || t.no,
+ name: t.cutterName || t.name,
+ model: t.cutterModel || t.model
+ }));
+ } else {
+ this.$showMessage(data.message || '鏌ヨ澶辫触');
+ }
+ },
+ async searchTool() {
+ await this.fetchTools(this.searchKey);
},
selectTool(tool) {
this.selectedToolNo = tool.no;
@@ -149,41 +157,51 @@
this.selectedToolNo = '';
this.toolName = '';
this.toolModel = '';
+ },
+ setUseLimit() {
+ // 淇濆瓨浣跨敤涓婇檺閫昏緫锛屽疄闄呭簲璋冪敤鍚庣鎺ュ彛
+ this.$showMessage('浣跨敤涓婇檺宸蹭繚瀛橈紙绀轰緥锛�');
}
},
mounted() {
- // 瀹為檯搴斾粠鍚庣鍔犺浇鍒�鍏风洰褰曞拰浣跨敤璁板綍
- this.filteredTools = this.toolList;
+ // 椤甸潰鍔犺浇鏃舵媺鍙栧叏閮ㄥ垁鍏�
+ this.fetchTools('');
}
};
</script>
<style scoped>
- .page {
- padding: 2vh;
+ .top-section-grid {
display: flex;
- flex-direction: column;
- box-sizing: border-box;
- }
-
- .top-section {
- display: flex;
- flex-wrap: wrap;
+ justify-content: center;
+ align-items: flex-end;
+ gap: 32px;
margin-bottom: 2vh;
}
- .form-group {
+ .form-cell {
display: flex;
align-items: center;
- margin-right: 2vw;
- margin-bottom: 1.5vh;
+ }
+
+ .form-label {
+ width: 90px;
+ font-weight: bold;
}
.input {
padding: 1vh;
- font-size: 1.5vw;
+ font-size: 1.1vw;
border: 1px solid #ccc;
- width: 16vw;
+ width: 10vw;
+ margin-right: 8px;
+ }
+
+ .form-select {
+ width: 12vw;
+ padding: 1vh;
+ font-size: 1.1vw;
+ margin-right: 8px;
}
.btn-blue {
@@ -191,19 +209,32 @@
color: white;
border: none;
padding: 8px 18px;
- margin-left: 10px;
+ margin-left: 8px;
border-radius: 5px;
cursor: pointer;
}
- .btn-disabled {
- background-color: #ccc;
+ .button-row {
+ display: flex;
+ justify-content: center;
+ gap: 32px;
+ margin: 2vh 0;
+ }
+
+ .save-btn, .cancel-btn {
+ width: 28%;
+ padding: 1.5vh;
+ background-color: #00A2E9;
color: white;
+ font-size: 1.2vw;
border: none;
- padding: 8px 18px;
- margin-left: 10px;
+ text-align: center;
border-radius: 5px;
- cursor: not-allowed;
+ }
+
+ .cancel-btn {
+ background-color: #ccc;
+ color: #333;
}
.dialog-overlay {
@@ -273,22 +304,6 @@
display: flex;
justify-content: space-around;
margin-top: 2vh;
- }
-
- .save-btn, .cancel-btn {
- width: 28%;
- padding: 1.5vh;
- background-color: #00A2E9;
- color: white;
- font-size: 1.2vw;
- border: none;
- text-align: center;
- border-radius: 5px;
- }
-
- .cancel-btn {
- background-color: #ccc;
- color: #333;
}
.tool-desc {
--
Gitblit v1.9.3