From 28a81f2e44c66003d1ac57387b0ee6074baf93af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 25 Oct 2024 11:04:05 +0800 Subject: [PATCH 01/40] =?UTF-8?q?=F0=9F=8E=80=E5=8F=91=E5=B8=83=20vue=20?= =?UTF-8?q?=E7=89=88=E6=9C=AC=205.2.3=20=E4=B8=8E=20cloud=20=E7=89=88?= =?UTF-8?q?=E6=9C=AC=202.2.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/views/index.vue | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 48b1571..e67d60f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ruoyi-vue-plus", - "version": "5.2.2", + "version": "5.2.3", "description": "RuoYi-Vue-Plus多租户管理系统", "author": "LionLi", "license": "MIT", diff --git a/src/views/index.vue b/src/views/index.vue index 7bd19e4..b67eb07 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -33,7 +33,7 @@ * 部署方式 Docker 容器编排 一键部署业务集群
* 国际化 SpringMessage Spring标准国际化方案

-

当前版本: v5.2.2

+

当前版本: v5.2.3

¥免费开源

@@ -77,7 +77,7 @@ * 分布式监控 Prometheus、Grafana 全方位性能监控
* 其余与 Vue 版本一致

-

当前版本: v2.2.1

+

当前版本: v2.2.2

¥免费开源

From 9ed3ae3fab3863ff15bcdae9adab94a8371991cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Sun, 27 Oct 2024 23:29:36 +0800 Subject: [PATCH 02/40] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E5=86=85?= =?UTF-8?q?=E5=B5=8C=E9=A1=B5=E9=9D=A2=E6=95=B0=E6=8D=AE=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E4=B8=8E=E5=A4=96=E9=83=A8=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=B8=8D=E4=B8=80=E8=87=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts index 86e0092..6c12791 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -103,7 +103,7 @@ export const dynamicRoutes: RouteRecordRaw[] = [ path: 'role/:userId(\\d+)', component: () => import('@/views/system/user/authRole.vue'), name: 'AuthRole', - meta: { title: '分配角色', activeMenu: '/system/user', icon: '' } + meta: { title: '分配角色', activeMenu: '/system/user', icon: '', noCache: true } } ] }, @@ -117,7 +117,7 @@ export const dynamicRoutes: RouteRecordRaw[] = [ path: 'user/:roleId(\\d+)', component: () => import('@/views/system/role/authUser.vue'), name: 'AuthUser', - meta: { title: '分配用户', activeMenu: '/system/role', icon: '' } + meta: { title: '分配用户', activeMenu: '/system/role', icon: '', noCache: true } } ] }, @@ -131,7 +131,7 @@ export const dynamicRoutes: RouteRecordRaw[] = [ path: 'index/:dictId(\\d+)', component: () => import('@/views/system/dict/data.vue'), name: 'Data', - meta: { title: '字典数据', activeMenu: '/system/dict', icon: '' } + meta: { title: '字典数据', activeMenu: '/system/dict', icon: '', noCache: true } } ] }, @@ -145,7 +145,7 @@ export const dynamicRoutes: RouteRecordRaw[] = [ path: 'index', component: () => import('@/views/system/oss/config.vue'), name: 'OssConfig', - meta: { title: '配置管理', activeMenu: '/system/oss', icon: '' } + meta: { title: '配置管理', activeMenu: '/system/oss', icon: '', noCache: true } } ] }, From fdfb556c8e1eb40c61e8867297109b7afea5de71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 5 Nov 2024 14:29:13 +0800 Subject: [PATCH 03/40] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20getTenantLi?= =?UTF-8?q?st=20=E6=8E=A5=E5=8F=A3=E5=8A=A8=E6=80=81=E5=86=B3=E5=AE=9A?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E4=BC=A0token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/login.ts | 4 ++-- src/layout/components/Navbar.vue | 2 +- src/views/login.vue | 2 +- src/views/register.vue | 2 +- src/views/system/user/index.vue | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/api/login.ts b/src/api/login.ts index c7c291e..38b61a0 100644 --- a/src/api/login.ts +++ b/src/api/login.ts @@ -100,11 +100,11 @@ export function getInfo(): AxiosPromise { } // 获取租户列表 -export function getTenantList(): AxiosPromise { +export function getTenantList(isToken: boolean): AxiosPromise { return request({ url: '/auth/tenant/list', headers: { - isToken: false + isToken: isToken }, method: 'get' }); diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index c2ed0b6..617c5da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -142,7 +142,7 @@ const dynamicClearEvent = async () => { /** 租户列表 */ const initTenantList = async () => { - const { data } = await getTenantList(); + const { data } = await getTenantList(true); tenantEnabled.value = data.tenantEnabled === undefined ? true : data.tenantEnabled; if (tenantEnabled.value) { tenantList.value = data.voList; diff --git a/src/views/login.vue b/src/views/login.vue index db1fca6..71d5dcd 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -176,7 +176,7 @@ const getLoginData = () => { * 获取租户列表 */ const initTenantList = async () => { - const { data } = await getTenantList(); + const { data } = await getTenantList(false); tenantEnabled.value = data.tenantEnabled === undefined ? true : data.tenantEnabled; if (tenantEnabled.value) { tenantList.value = data.voList; diff --git a/src/views/register.vue b/src/views/register.vue index c3d1930..4e67a67 100644 --- a/src/views/register.vue +++ b/src/views/register.vue @@ -140,7 +140,7 @@ const getCode = async () => { }; const initTenantList = async () => { - const { data } = await getTenantList(); + const { data } = await getTenantList(false); tenantEnabled.value = data.tenantEnabled === undefined ? true : data.tenantEnabled; if (tenantEnabled.value) { tenantList.value = data.voList; diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 46bffd2..c53d41b 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -81,7 +81,7 @@ From b19c2805e100c0a7bbb5abb6b30f6f97f13fd98b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 5 Nov 2024 16:47:51 +0800 Subject: [PATCH 04/40] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E6=A0=A1?= =?UTF-8?q?=E6=A3=80=E6=96=87=E4=BB=B6=E5=90=8D=E6=98=AF=E5=90=A6=E5=8C=85?= =?UTF-8?q?=E5=90=AB=E7=89=B9=E6=AE=8A=E5=AD=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/FileUpload/index.vue | 5 +++++ src/components/ImageUpload/index.vue | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue index aaaa45c..b22d09a 100644 --- a/src/components/FileUpload/index.vue +++ b/src/components/FileUpload/index.vue @@ -121,6 +121,11 @@ const handleBeforeUpload = (file: any) => { return false; } } + // 校检文件名是否包含特殊字符 + if (file.name.includes(',')) { + proxy?.$modal.msgError('文件名不正确,不能包含英文逗号!'); + return false; + } // 校检文件大小 if (props.fileSize) { const isLt = file.size / 1024 / 1024 < props.fileSize; diff --git a/src/components/ImageUpload/index.vue b/src/components/ImageUpload/index.vue index 1c6dcd1..0778121 100644 --- a/src/components/ImageUpload/index.vue +++ b/src/components/ImageUpload/index.vue @@ -139,6 +139,10 @@ const handleBeforeUpload = (file: any) => { proxy?.$modal.msgError(`文件格式不正确, 请上传${props.fileType.join('/')}图片格式文件!`); return false; } + if (file.name.includes(',')) { + proxy?.$modal.msgError('文件名不正确,不能包含英文逗号!'); + return false; + } if (props.fileSize) { const isLt = file.size / 1024 / 1024 < props.fileSize; if (!isLt) { From 4310e5e049ceff181d7728d8223d14b356ebea61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 8 Nov 2024 00:33:23 +0800 Subject: [PATCH 05/40] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/sse.ts | 2 +- src/utils/websocket.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/utils/sse.ts b/src/utils/sse.ts index 9174f0d..5234648 100644 --- a/src/utils/sse.ts +++ b/src/utils/sse.ts @@ -8,7 +8,7 @@ export const initSSE = (url: any) => { return; } - url = url + '?Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID + url = url + '?Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID; const { data, error diff --git a/src/utils/websocket.ts b/src/utils/websocket.ts index ade13ef..c9b394c 100644 --- a/src/utils/websocket.ts +++ b/src/utils/websocket.ts @@ -7,7 +7,7 @@ export const initWebSocket = (url: any) => { if (import.meta.env.VITE_APP_WEBSOCKET === 'false') { return; } - url = url + '?Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID + url = url + '?Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID; useWebSocket(url, { autoReconnect: { // 重连最大次数 @@ -16,14 +16,14 @@ export const initWebSocket = (url: any) => { delay: 1000, onFailed() { console.log('websocket重连失败'); - }, + } }, heartbeat: { - message: JSON.stringify({type: 'ping'}), + message: JSON.stringify({ type: 'ping' }), // 发送心跳的间隔 interval: 10000, // 接收到心跳response的超时时间 - pongTimeout: 2000, + pongTimeout: 2000 }, onConnected() { console.log('websocket已经连接'); From 9836d6d9bde266c1e79333d505e1f218567e7ffe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=88=E5=A4=9C?= <768242801@qq.com> Date: Mon, 11 Nov 2024 15:10:24 +0800 Subject: [PATCH 06/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E7=BC=93=E5=AD=98=E4=BD=BF=E7=94=A8Map=E4=BB=A3?= =?UTF-8?q?=E6=9B=BFArray=EF=BC=8C=E6=9B=B4=E9=AB=98=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/dict.ts | 55 +++++++++++++++------------------------ 1 file changed, 21 insertions(+), 34 deletions(-) diff --git a/src/store/modules/dict.ts b/src/store/modules/dict.ts index 2f937b9..cd1a41d 100644 --- a/src/store/modules/dict.ts +++ b/src/store/modules/dict.ts @@ -1,29 +1,15 @@ export const useDictStore = defineStore('dict', () => { - const dict = ref< - Array<{ - key: string; - value: DictDataOption[]; - }> - >([]); + const dict = ref>(new Map()); /** * 获取字典 * @param _key 字典key */ const getDict = (_key: string): DictDataOption[] | null => { - if (_key == null && _key == '') { + if (!_key) { return null; } - try { - for (let i = 0; i < dict.value.length; i++) { - if (dict.value[i].key == _key) { - return dict.value[i].value; - } - } - } catch (e) { - return null; - } - return null; + return dict.value.get(_key) || null; }; /** @@ -32,11 +18,15 @@ export const useDictStore = defineStore('dict', () => { * @param _value 字典value */ const setDict = (_key: string, _value: DictDataOption[]) => { - if (_key !== null && _key !== '') { - dict.value.push({ - key: _key, - value: _value - }); + if (!_key) { + return false; + } + try { + dict.value.set(_key, _value); + return true; + } catch (e) { + console.error('Error in setDict:', e); + return false; } }; @@ -45,25 +35,22 @@ export const useDictStore = defineStore('dict', () => { * @param _key */ const removeDict = (_key: string): boolean => { - let bln = false; - try { - for (let i = 0; i < dict.value.length; i++) { - if (dict.value[i].key == _key) { - dict.value.splice(i, 1); - return true; - } - } - } catch (e) { - bln = false; + if (!_key) { + return false; + } + try { + return dict.value.delete(_key); + } catch (e) { + console.error('Error in removeDict:', e); + return false; } - return bln; }; /** * 清空字典 */ const cleanDict = (): void => { - dict.value = []; + dict.value.clear(); }; return { From 72ac227ecf97aa0921e9deafb8f6f5b1493e1548 Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Thu, 14 Nov 2024 16:20:34 +0800 Subject: [PATCH 07/40] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=97=A5=E5=BF=97=E8=AF=A6=E6=83=85=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 5 +- src/views/monitor/operlog/index.vue | 57 +-------- .../monitor/operlog/oper-info-dialog.vue | 111 ++++++++++++++++++ 3 files changed, 120 insertions(+), 53 deletions(-) create mode 100644 src/views/monitor/operlog/oper-info-dialog.vue diff --git a/package.json b/package.json index e67d60f..40478ad 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ "vue": "3.4.34", "vue-cropper": "1.1.1", "vue-i18n": "9.10.2", + "vue-json-pretty": "^2.4.0", "vue-router": "4.3.2", "vue-types": "5.1.1", "vxe-table": "4.5.22" @@ -66,10 +67,10 @@ "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-define-config": "2.1.0", + "eslint-plugin-import": "2.29.1", + "eslint-plugin-node": "11.1.0", "eslint-plugin-prettier": "5.1.3", "eslint-plugin-promise": "6.1.1", - "eslint-plugin-node": "11.1.0", - "eslint-plugin-import": "2.29.1", "eslint-plugin-vue": "9.23.0", "fast-glob": "3.3.2", "postcss": "8.4.36", diff --git a/src/views/monitor/operlog/index.vue b/src/views/monitor/operlog/index.vue index ed0d755..fcecab7 100644 --- a/src/views/monitor/operlog/index.vue +++ b/src/views/monitor/operlog/index.vue @@ -123,56 +123,14 @@ - - - - - {{ form.operName }} / {{ form.deptName }} / {{ form.operIp }} / {{ form.operLocation }} - - - {{ form.requestMethod }} {{ form.operUrl }} - - - {{ form.title }} / {{ typeFormat(form) }} - - - {{ form.method }} - - - {{ form.operParam }} - - - {{ form.jsonResult }} - - - -
正常
-
失败
-
-
- - {{ form.costTime }}毫秒 - - - {{ parseTime(form.operTime) }} - - - {{ form.errorMsg }} - -
-
- -
+ + + From cdbbca43c4466d36e9cef08b81cb0fe689c6da25 Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Thu, 14 Nov 2024 16:23:16 +0800 Subject: [PATCH 08/40] =?UTF-8?q?chore:=20=E9=94=81=E5=AE=9Avue-json-prett?= =?UTF-8?q?y=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 40478ad..9eaf743 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "vue": "3.4.34", "vue-cropper": "1.1.1", "vue-i18n": "9.10.2", - "vue-json-pretty": "^2.4.0", + "vue-json-pretty": "2.4.0", "vue-router": "4.3.2", "vue-types": "5.1.1", "vxe-table": "4.5.22" From 5f582c09bab4565eea1d07bf63ab038d5f685fbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 15 Nov 2024 09:56:27 +0800 Subject: [PATCH 09/40] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E5=85=B3?= =?UTF-8?q?=E9=97=ADsse=E5=8A=9F=E8=83=BD=20=E7=99=BB=E5=87=BA=E8=BF=98?= =?UTF-8?q?=E6=98=AF=E4=BC=9A=E5=8F=91=E9=80=81sse=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E5=AF=BC=E8=87=B4=E6=8A=A5=E9=94=99=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/login.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/api/login.ts b/src/api/login.ts index 38b61a0..35e6a4e 100644 --- a/src/api/login.ts +++ b/src/api/login.ts @@ -51,10 +51,12 @@ export function register(data: any) { * 注销 */ export function logout() { - request({ - url: '/resource/sse/close', - method: 'get' - }); + if (import.meta.env.VITE_APP_SSE === 'true') { + request({ + url: '/resource/sse/close', + method: 'get' + }); + } return request({ url: '/auth/logout', method: 'post' From ec0e6a167eaff834fdb54c3d042b93766d8d9cdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 15 Nov 2024 16:28:00 +0800 Subject: [PATCH 10/40] =?UTF-8?q?update=20=E4=BF=AE=E6=94=B9readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 010adb9..531f64b 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ - 本仓库为前端技术栈 [Vue3](https://v3.cn.vuejs.org) + [TS](https://www.typescriptlang.org/) + [Element Plus](https://element-plus.org/zh-CN) + [Vite](https://cn.vitejs.dev) 版本。 - 成员项目: 基于 vben(ant-design-vue) 的前端项目 [ruoyi-plus-vben](https://gitee.com/dapppp/ruoyi-plus-vben) +- 成员项目: 基于 vben5(ant-design-vue) 的前端项目 [ruoyi-plus-vben5](https://gitee.com/dapppp/ruoyi-plus-vben5) - 配套后端代码仓库地址 - [RuoYi-Vue-Plus 5.X(注意版本号)](https://gitee.com/dromara/RuoYi-Vue-Plus) - [RuoYi-Cloud-Plus 2.X(注意版本号)](https://gitee.com/dromara/RuoYi-Cloud-Plus) From 22e8a57b31acfcc8aa84b96b797a055a0445af41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Mon, 18 Nov 2024 23:47:14 +0800 Subject: [PATCH 11/40] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E5=B0=86?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=AD=97=E5=85=B8=E5=8A=9F=E8=83=BD=E8=BF=81?= =?UTF-8?q?=E7=A7=BB=E5=88=B0=E7=A7=9F=E6=88=B7=E7=AE=A1=E7=90=86=E5=86=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/system/dict/index.vue | 14 +------------- src/views/system/tenant/index.vue | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue index 4ad70d0..9eead48 100644 --- a/src/views/system/dict/index.vue +++ b/src/views/system/dict/index.vue @@ -49,9 +49,6 @@ 刷新缓存 - - 同步租户字典 - @@ -112,15 +109,11 @@ From b61865f45fe8ec9f22edc18e2ae51052562a671b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 29 Nov 2024 18:30:19 +0800 Subject: [PATCH 40/40] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E9=80=89=E6=8B=A9=E7=BB=84=E4=BB=B6=20id=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E4=B8=8D=E7=BB=9F=E4=B8=80=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UserSelect/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/UserSelect/index.vue b/src/components/UserSelect/index.vue index e9865e5..4b93bb3 100644 --- a/src/components/UserSelect/index.vue +++ b/src/components/UserSelect/index.vue @@ -166,7 +166,7 @@ const confirm = () => { const computedIds = (data) => { if (data instanceof Array) { - return [...data]; + return data.map(item => String(item)); } else if (typeof data === 'string') { return data.split(','); } else if (typeof data === 'number') {