| | |
| | | <span class="unit-text">%</span> |
| | | </view> |
| | | </view> |
| | | <!-- 新增:刷新按钮 --> |
| | | <view class="form-cell" style="flex:0 0 auto; margin-left:16px;"> |
| | | <button class="btn-blue large-btn" @click="handleRefresh" :disabled="loadingForm || submitting">刷新</button> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 第二行:在最后添加刀具目录按钮 --> |
| | |
| | | <!-- 刀具目录按钮右移 --> |
| | | <view class="form-cell tool-dir-cell"> |
| | | <button class="btn-blue large-btn" @click="openToolDialog" :disabled="loadingTools">刀具目录</button> |
| | | </view> |
| | | <!-- 新增:刷新按钮 --> |
| | | <view class="form-cell" style="flex:0 0 auto; margin-left:16px;"> |
| | | <button class="btn-blue large-btn" @click="handleRefresh" :disabled="loadingForm || submitting">刷新</button> |
| | | </view> |
| | | </view> |
| | | </view> <!-- 这里闭合 top-section-grid --> |
| | |
| | | <td>{{ item.upTime }}</td> |
| | | <td class="num">{{ item.upCount != null ? item.upCount : '' }}</td> |
| | | <td>{{ item.downTime }}</td> |
| | | <td class="num">{{ item.downCount != null ? item.downCount : '' }}</td> |
| | | <td class="num">{{ item.useCount != null ? item.useCount : '' }}</td> |
| | | <!-- 只有第一行显示 currentCjNum,其它行显示 downCount --> |
| | | <td class="num"> |
| | | <template v-if="idx === 0"> |
| | | {{ item.currentCjNum != null ? item.currentCjNum : '' }} |
| | | </template> |
| | | <template v-else> |
| | | {{ item.downCount != null ? item.downCount : '' }} |
| | | </template> |
| | | </td> |
| | | <!--<td class="num">{{ item.useCount != null ? item.useCount : '' }}</td>--><!--使用次数--> |
| | | <td class="num"> |
| | | <template v-if="idx === 0"> |
| | | <!-- 第一行实时计算使用次数 --> |
| | | {{item.currentCjNum != null && item.upCount != null ? (Number(item.currentCjNum) - Number(item.upCount)) : (item.useCount != null ? item.useCount : '') }} |
| | | </template> |
| | | <template v-else> |
| | | {{ item.useCount != null ? item.useCount : '' }} |
| | | </template> |
| | | </td> |
| | | <td class="num">{{ item.useLimit != null ? item.useLimit : '' }}</td> |
| | | <td class="num">{{ item.lifePercent }}</td> |
| | | <td class="num">{{ item.lifeWarn }}</td> |
| | |
| | | toolModel() { this.isDirty = true; } |
| | | }, |
| | | methods: { |
| | | //查询当前数采数,作为下刀计数实时显示 |
| | | async fetchCurrentCjNum(toolNo) { |
| | | if (!this.machineNo) return null; |
| | | try { |
| | | const res = await this.$post({ |
| | | url: '/Womdaa/GetWomdaasByShow', |
| | | data: JSON.stringify({ machineNo: this.machineNo }), |
| | | headers: { 'Content-Type': 'application/json' } |
| | | }); |
| | | if (res.status === 0 && Array.isArray(res.data?.tbBillList)) { |
| | | const found = res.data.tbBillList.find(x => |
| | | x.cutterId === toolNo || x.cutteR_ID === toolNo |
| | | ); |
| | | return found ? (found.CurrentCjNum ?? found.currentCjNum ?? null) : null; |
| | | } |
| | | } catch (e) { |
| | | console.warn('获取currentCjNum失败', e); |
| | | } |
| | | return null; |
| | | }, |
| | | |
| | | // 新增:刷新按钮处理方法 |
| | | async handleRefresh() { |
| | | // 刷新刀具列表和表单数据 |
| | | this.fetchTools(''); |
| | | if (this.machineNo && this.workOrderNo) { |
| | | await this.fetchFormData(); |
| | | await this.fetchDefaultToolFromWorkOrder(); |
| | | // 刷新后赋值第一行 currentCjNum |
| | | if (this.toolRecords.length > 0) { |
| | | this.$set(this.toolRecords[0], 'currentCjNum', this.workOrderCurrentCjNum); |
| | | } |
| | | } |
| | | this.$showMessage('刷新完成'); |
| | | }, |
| | |
| | | this.fetchTools(''); |
| | | this.machineNo = uni.getStorageSync('machineNo') || ''; |
| | | this.workOrderNo = uni.getStorageSync('daa001') || ''; |
| | | // 去除默认预警值 (90% -> 0.9) |
| | | //this.lifeWarnInput = '90'; |
| | | |
| | | if (this.machineNo && this.workOrderNo) { |
| | | this.fetchFormData(); |
| | | this.fetchDefaultToolFromWorkOrder(); |
| | | this.fetchFormData().then(async () => { |
| | | await this.fetchDefaultToolFromWorkOrder(); |
| | | // 进入页面时赋值第一行 currentCjNum |
| | | if (this.toolRecords.length > 0) { |
| | | this.$set(this.toolRecords[0], 'currentCjNum', this.workOrderCurrentCjNum); |
| | | } |
| | | }); |
| | | } else { |
| | | console.warn('机台号或工单号为空,无法获取表单数据'); |
| | | } |
| | | |
| | | // 启动自动保存定时器 |
| | | this.startAutoSave(); |
| | | //this.startAutoSave(); |
| | | }, |
| | | beforeDestroy() { |
| | | // 清理定时器,防止内存泄漏 |