快乐的昕的电脑
2025-10-11 614aa1e15c8ca6c5a3152716bd303f0bad01682c
components/mold.vue
@@ -104,6 +104,8 @@
   export default {
      data() {
         return {
            machineNo: '',//机台编码
                workOrderNo: '',//工单号
            pageIndex: 1,
            pageSize: 18,
            total: 0,
@@ -173,14 +175,86 @@
         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 = '';
@@ -191,9 +265,28 @@
            this.$showMessage('使用上限已保存(示例)');
         }
      },
        methods: {
            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.fetchTools('');
         this.fetchTools('');
            this.machineNo = uni.getStorageSync('machineNo') || '';// 读取本地缓存的机台编号
         this.workOrderNo = uni.getStorageSync('daa001') || ''; // 读取本地缓存的工单编号
            this.fetchFormData(); // 页面加载时获取表单数据
      }
   };
</script>