From 95762c4157718adcecffde7f51ff44a49c9cf702 Mon Sep 17 00:00:00 2001 From: xy <271556543@qq.com> Date: Tue, 10 Dec 2024 15:55:09 +0800 Subject: [PATCH] 1 --- src/main.js | 4 ++++ src/utils/formBuilder.js | 2 +- src/utils/request.js | 12 ++++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main.js b/src/main.js index d302e45..191bba7 100644 --- a/src/main.js +++ b/src/main.js @@ -75,6 +75,10 @@ import { setToken,getToken } from "@/utils/auth" if(window.top !== window.self) { // 当前页面在iframe中 window._IN_IFRAME = true; + Vue.config.errorHandler = (err, vm, info) => { + top?._addError(err.message, err.stack) + console.error(err) + } } if (window.__POWERED_BY_WUJIE__) { let instance; diff --git a/src/utils/formBuilder.js b/src/utils/formBuilder.js index 3680f97..8b55583 100644 --- a/src/utils/formBuilder.js +++ b/src/utils/formBuilder.js @@ -514,7 +514,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab formBuilderMap(device).get(info.type), { props: { - value: row ? (row[info.name] ? row[info.name].split(',').map(i => Number(i)) : []) : (this.form[info.name] ? this.form[info.name].split(',').map(i => Number(i)) : []), + value: row ? (row[info.name] ? row[info.name].toString()?.split(',').map(i => Number(i)) : []) : (this.form[info.name] ? this.form[info.name].toString()?.split(',').map(i => Number(i)) : []), clearable: true, placeholder: info.help_text, multiple: true, diff --git a/src/utils/request.js b/src/utils/request.js index 244c0a1..8b9f8ef 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -41,7 +41,7 @@ service.interceptors.request.use( // do something with request error console.log(error) // for debug Vue.prototype.$nextTick().then(r => loadingInstance?.close()) - parent?._addError(error, 'axios-request', error.config.params||error.config.data) + top?._addError(error, 'axios-request', error.config.params||error.config.data) return Promise.reject(error) } ) @@ -87,11 +87,13 @@ service.interceptors.response.use( location.reload() }) if (window._IN_IFRAME) { - parent?._logout() + top?._logout() } }) } - parent?._addError(res.msg, `axios-response ${response.config.url}`, response.config.params || response.config.data) + if (top) { + top._addError(res.msg, `axios-response ${response.config?.url}`, response.config?.params || response.config?.data) + } return Promise.reject(new Error(res.msg || 'Error')) } else { return res.data @@ -105,7 +107,9 @@ service.interceptors.response.use( type: 'error', duration: 5 * 1000 }) - parent?._addError(error.toString(), `axios-request ${error.config.url}`, error.config.params || error.config.data) + if (top) { + top._addError(error.toString(), `axios-request ${error.config.url}`, error.config.params || error.config.data) + } return Promise.reject(error) } )