From 787b68b995a0a2789fd2526e2c546ebecb89ea93 Mon Sep 17 00:00:00 2001 From: qiankanghui Date: Thu, 25 Jun 2026 15:31:00 +0800 Subject: [PATCH] =?UTF-8?q?fix(qc):=20=E8=A7=A3=E5=86=B3=E6=A3=80=E9=AA=8C?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E5=BD=95=E5=85=A5=E9=A1=B5=E9=9D=A2=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E5=8F=82=E6=95=B0=E5=A4=84=E7=90=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加路由参数监听器处理组件复用情况 - 简化创建时的数据初始化逻辑 - 修复跳转到检验结果页面时检验单号获取逻辑 - 移除多余的筛选条件重置代码 - 优化路由参数变化时的自动查询功能 --- .../modules/inspection/myInspectionList.vue | 4 +- src/views/modules/qc/IQCResultEntry.vue | 61 ++++++++----------- 2 files changed, 29 insertions(+), 36 deletions(-) diff --git a/src/views/modules/inspection/myInspectionList.vue b/src/views/modules/inspection/myInspectionList.vue index cf94d5b..d8e4aeb 100644 --- a/src/views/modules/inspection/myInspectionList.vue +++ b/src/views/modules/inspection/myInspectionList.vue @@ -138,8 +138,8 @@ export default { // 跳转到 IQCResultEntry 页面 goToIQCResult (row) { - // 使用检验单号进行跳转,字段可能是 inspectNo 或 inspectionNo - const inspectionNo = row.inspectNo || row.inspectionNo || '' + // 使用检验单号进行跳转 + const inspectionNo = row.inspectNo || '' if (!inspectionNo) { this.$message.warning('未找到检验单号') return diff --git a/src/views/modules/qc/IQCResultEntry.vue b/src/views/modules/qc/IQCResultEntry.vue index e37f652..5a5c93b 100644 --- a/src/views/modules/qc/IQCResultEntry.vue +++ b/src/views/modules/qc/IQCResultEntry.vue @@ -2021,6 +2021,24 @@ }) }, + // 🔑 监听路由参数变化,处理组件复用的情况 + watch: { + '$route.query.inspectionNo': { + handler (newVal) { + if (newVal) { + // 将检验单号放入筛选条件的检验单号输入框中 + this.searchData.inspectionNo = newVal + + // 自动执行查询 + this.$nextTick(() => { + this.getDataList() + }) + } + }, + immediate: false // 不立即执行,由 created 处理首次加载 + } + }, + created () { // 按钮控制 this.getButtonAuthData() @@ -2035,41 +2053,16 @@ this.getTableUserColumn(this.$route.meta.menuId+'table1',1) this.getTableUserColumn(this.$route.meta.menuId+'table2',2) - // 接收路由参数,如果有 inspectionNo 则设置为查询条件,并清空其他筛选条件 + // 接收路由参数,如果有 inspectionNo 则设置为检验单号筛选条件 if (this.$route.query.inspectionNo) { - // 重置 searchData,只保留必要的字段和 inspectionNo - this.searchData = { - site: '', - userName: this.$store.state.user.name, - inspectionNo: this.$route.query.inspectionNo, - inspectionTypeNo: '105', - isQualified: '', - buNo: '', - startDate: '', - endDate: '', - startDate2: '', - endDate2: '', - partNo: '', - partDesc: '', - cinvSourceCode: '', - sku: '', - state: '', - inspectionResult: '', - supplierDesc: '', - disposalMeasures: '', - inspectorName: '', - page: 1, - limit: 10, - poOrderNo: '', - poItemNo: '', - orderType: '', - states: ['未开始', '待检验'], - submissionType: '', - invdefinetype: '' - } - } - - if (!this.authSearch) { + // 🔑 将检验单号放入筛选条件的检验单号输入框中 + this.searchData.inspectionNo = this.$route.query.inspectionNo + + // 🔑 重要:当有路由参数时,需要自动执行查询 + this.$nextTick(() => { + this.getDataList() + }) + } else if (!this.authSearch) { // 获取数据列表 this.getDataList() }