From 6392c9b6322b6403b408aa29f76eabeabd4dd03e Mon Sep 17 00:00:00 2001 From: tangw Date: Wed, 20 Aug 2025 09:25:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E7=A8=8B=E5=BA=8F=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E5=9C=BA=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/liswork/work/LisWork.js | 16 +++++++++- src/utils/request.js | 51 +++++++++++++++++++++++++++++++- src/views/liswork/work/index.vue | 19 +++++++++++- src/views/mzcx/cydj/index.vue | 1 + 4 files changed, 84 insertions(+), 3 deletions(-) diff --git a/src/api/liswork/work/LisWork.js b/src/api/liswork/work/LisWork.js index 3464965..5311f1b 100644 --- a/src/api/liswork/work/LisWork.js +++ b/src/api/liswork/work/LisWork.js @@ -8,6 +8,7 @@ export function queryLabPatList(query) { params: query }) } + // 查询数据 export function queryLabPat(query) { return request({ @@ -24,6 +25,7 @@ export function getDate() { method: 'get', }) } + //增加字典数据 export function addLabPatService(data) { return request({ @@ -41,6 +43,7 @@ export function updateLabPatService(data) { data }) } + // 查询数据列表 export function queryLabResults(query) { return request({ @@ -49,6 +52,7 @@ export function queryLabResults(query) { params: query }) } + // 批量删除结果 export function deleteresult(data) { return request({ @@ -56,4 +60,14 @@ export function deleteresult(data) { method: 'post', data: data }) -} \ No newline at end of file + +} +//审核 +export function check2(query) { + return request({ + url: '/lisworkoper/check2', + method: 'get', + params: query + }) + +} diff --git a/src/utils/request.js b/src/utils/request.js index d5a344d..ef3d906 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -131,7 +131,56 @@ service.interceptors.response.use(res => { return Promise.resolve(res.data); }) return Promise.reject('error'); - } else if (code !== 200 && code !== 0) { + } else if (code === 5) { + // 1. 提取后端返回的问题ID(根据实际字段名调整) + const problemId = res.data.problemId; + if (!problemId) { + ElMessage.error('缺少问题ID,无法继续操作'); + return Promise.reject('缺少问题ID'); + } + + // 2. 限制递归次数,避免无限循环 + const retryCount = (res.config.retryCount || 0) + 1; + const maxRetry = 10; // 最大重试次数 + if (retryCount > maxRetry) { + ElMessage.error('超过最大操作次数,请稍后再试'); + return Promise.reject('超过最大重试次数'); + } + + // 3. 询问用户,确认后携带问题ID发起新请求 + return ElMessageBox.confirm(msg, '系统提示', { + confirmButtonText: '是', + cancelButtonText: '否', + type: 'warning' + }).then(() => { + const { url, method, data: data0, params: params0 } = res.data; + // 4. 构造新请求参数,携带问题ID(根据后端要求决定传递方式) + const newParams = { + ...params0, + problemId: problemId // 作为URL参数传递 + }; + const newData = { + ...data0, + problemId: problemId // 作为请求体数据传递(根据method调整) + }; + + // 5. 发起新请求,携带重试次数和问题ID + return service.request({ + url, + method, + data: method.toLowerCase() === 'get' ? undefined : newData, // get请求不发data + params: method.toLowerCase() === 'get' ? newParams : params0, + retryCount, // 传递重试次数 + problemId // 可选:在config中携带,方便后续跟踪 + }); + }).catch(() => { + // 用户取消操作时,携带问题ID告知后端(可选) + return Promise.reject({ + message: '用户取消操作', + problemId: problemId + }); + }); + } else if (code !== 200 && code !== 0) { ElNotification.error({ title: msg }) return Promise.reject('error') } else { diff --git a/src/views/liswork/work/index.vue b/src/views/liswork/work/index.vue index 13aec18..5c668a9 100644 --- a/src/views/liswork/work/index.vue +++ b/src/views/liswork/work/index.vue @@ -111,7 +111,14 @@