| | |
| | | <label class="form-label">创建时间:</label> |
| | | <input class="form-input" disabled="true" type="text" v-model="formData.createDate" /> |
| | | </view> |
| | | <!-- <view class="form-group"> |
| | | <label class="form-label">客户名称:</label> |
| | | <input class="form-input" disabled="true" type="text" v-model="formData.customerName"/> |
| | | </view> --> |
| | | <view class="form-group"> |
| | | <label class="form-label">客户名称:</label> |
| | | <input class="form-input" disabled="true" type="text" v-model="formData.customerName"/> |
| | | </view> |
| | | <view class="form-group"> |
| | | <label class="form-label">退货单号:</label> |
| | | <input class="form-input" disabled="true" type="text" v-model="formData.returnOrderNo" /> |
| | |
| | | returnNo: "", // 退货编号(用于参数传递) |
| | | createBy: "", |
| | | createDate: "", |
| | | customerName: "", |
| | | customerNo: "", // 客户编号(兼容保留) |
| | | customerName: "", // 客户名称 |
| | | returnOrderNo: "", // 退货单号 |
| | | returnQty: "", // 退货数量 |
| | | returnReason: "", // 退货原因 |
| | |
| | | |
| | | |
| | | init() { |
| | | this.$post({ |
| | | return this.$post({ |
| | | url: "/THJ/getPage", |
| | | data: { |
| | | id: this.formData.id, |
| | |
| | | } |
| | | }).catch(err => { |
| | | this.$showMessage("获取数据失败"); |
| | | throw err; // 重新抛出错误,确保Promise链正确处理 |
| | | }); |
| | | }, |
| | | toDetail(item) { |
| | |
| | | }, |
| | | |
| | | editRemarks() { |
| | | if (this.remarks) { |
| | | //saveRemarksGid |
| | | this.$post({ |
| | | url: "/THJ/saveRemarksGid", |
| | | data: { |
| | | gid: this.formData.id, |
| | | remarks: this.remarks |
| | | } |
| | | }).then(res => { |
| | | if (res.data.tbBillList > 0) { |
| | | this.formData.remarks = this.remarks; |
| | | this.remarksPopup = !this.remarksPopup; |
| | | this.$showMessage("保存成功"); |
| | | } |
| | | }) |
| | | } |
| | | // 允许清空不合格描述:后端接收空字符串 |
| | | this.$post({ |
| | | url: "/THJ/saveRemarksGid", |
| | | data: { |
| | | gid: this.formData.id, |
| | | remarks: this.remarks || "" |
| | | } |
| | | }).then(res => { |
| | | if (res.data.tbBillList > 0) { |
| | | this.formData.remarks = this.remarks || ""; |
| | | this.remarksPopup = !this.remarksPopup; |
| | | this.$showMessage("保存成功"); |
| | | } |
| | | }) |
| | | }, |
| | | toImage() { |
| | | uni.navigateTo({ |
| | |
| | | updateBy: this.$loginInfo.account |
| | | } |
| | | }).then(res => { |
| | | // 存储过程执行成功,刷新页面数据 |
| | | this.init(); |
| | | this.$showMessage("检验项目已更新"); |
| | | this.init().then(() => { |
| | | this.$showMessage("检验项目已更新"); |
| | | }).catch(error => { |
| | | this.$showMessage("检验项目已更新,但刷新数据失败"); |
| | | }).finally(() => { |
| | | // 确保状态正确重置 |
| | | this.isSubmitting = false; |
| | | this.$forceUpdate(); |
| | | }); |
| | | }).catch(error => { |
| | | // 存储过程执行失败,显示错误信息 |
| | | this.$showMessage(error.message || "获取检验项目失败"); |
| | | // 不改变 isShowTable 状态,保持按钮可见 |
| | | this.tableData = []; |
| | | // 确保状态正确重置 |
| | | this.isSubmitting = false; |
| | | this.$forceUpdate(); |
| | | }); |
| | | }, |
| | | |
| | |
| | | }).then(res => { |
| | | let data = res.data.tbBillList[0]; |
| | | |
| | | if (!data) { |
| | | if (!data) { |
| | | |
| | | this.formData.customerName = ""; |
| | | this.formData.customerName = ""; |
| | | // 保持退货明细中的信息,不从后端覆盖 |
| | | // this.formData.returnOrderNo = ""; |
| | | // this.formData.returnQty = ""; |
| | |
| | | this.tableData = []; |
| | | return; |
| | | } |
| | | //不为空时赋值 |
| | | this.formData.customerName = data.customerName; |
| | | //不为空时赋值 |
| | | this.formData.customerName = data.customerName || this.formData.customerName; |
| | | // 如果后端返回了更完整的信息,则使用后端的 |
| | | if (data.returnOrderNo) this.formData.returnOrderNo = data.returnOrderNo; |
| | | if (data.returnQty) this.formData.returnQty = data.returnQty; |
| | |
| | | // 获取当前用户,如果获取不到则使用默认值 |
| | | const currentUser = this.$loginInfo?.account || this.formData.createBy || "系统用户"; |
| | | |
| | | // 直接使用API调用,不使用Promise.race |
| | | const resetTimer = setTimeout(() => { |
| | | this.isSubmitting = false; |
| | | this.$forceUpdate(); |
| | | }, 1000); |
| | | this.$post({ |
| | | url: "/THJ/submitTHJResultByProcedure", |
| | | data: { |
| | |
| | | userNo: currentUser |
| | | } |
| | | }).then(res => { |
| | | if (res.status === 0) { |
| | | |
| | | // 检查多种可能的响应格式 |
| | | let status = res.status; |
| | | let message = res.message; |
| | | |
| | | // 如果外层没有status,检查data中的status |
| | | if (status === undefined && res.data) { |
| | | status = res.data.status; |
| | | message = res.data.message || res.message; |
| | | } |
| | | |
| | | |
| | | if (status === 0) { |
| | | this.$showMessage("提交成功"); |
| | | // 提交成功后刷新页面数据 |
| | | this.init(); |
| | | // 成功立即复位 |
| | | this.isSubmitting = false; |
| | | this.$forceUpdate(); |
| | | } else { |
| | | this.$showMessage("提交失败:" + res.message); |
| | | this.$showMessage("提交失败:" + (message || "未知错误")); |
| | | // 失败即时复位提交状态,避免按钮一直显示提交中 |
| | | this.isSubmitting = false; |
| | | this.$forceUpdate(); |
| | | } |
| | | }).catch(error => { |
| | | this.$showMessage("提交失败:" + (error.message || "未知错误")); |
| | | }).finally(() => { |
| | | |
| | | let errorMessage = "未知错误"; |
| | | if (error.message) { |
| | | errorMessage = error.message; |
| | | } else if (typeof error === 'string') { |
| | | errorMessage = error; |
| | | } else if (error.response) { |
| | | errorMessage = `服务器错误: ${error.response.status}`; |
| | | } |
| | | |
| | | this.$showMessage("提交失败:" + errorMessage); |
| | | // 异常时也立即复位 |
| | | this.isSubmitting = false; |
| | | this.$forceUpdate(); |
| | | // 即使出现异常也刷新页面数据 |
| | | this.init().catch(error => { |
| | | }); |
| | | }).finally(() => { |
| | | clearTimeout(resetTimer); |
| | | this.isSubmitting = false; |
| | | // 强制更新视图 |
| | | this.$forceUpdate(); |
| | | |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | onShow() { |
| | | //每次进入页面都会执行的方法 |
| | | // 重置提交状态,防止状态卡住 |
| | | this.isSubmitting = false; |
| | | |
| | | // 如果formData.id为空,尝试从URL参数中获取 |
| | | if (!this.formData.id) { |
| | | // 尝试从当前页面URL中获取id参数 |