From 731950d699b518226dfe566ac278814e38bba59a Mon Sep 17 00:00:00 2001 From: zuohuaijun Date: Tue, 16 Jul 2024 18:02:51 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8E1=E3=80=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AD=97=E5=85=B8=E8=8E=B7=E5=8F=96=20=202=E3=80=81=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E9=A6=96=E9=A1=B5=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Web/src/stores/userInfo.ts | 54 +++++++++---------- .../views/home/widgets/components/index.ts | 11 +++- .../home/widgets/components/schedule.vue | 10 +++- .../home/widgets/components/scheduleEdit.vue | 2 +- Web/src/views/home/widgets/index.vue | 2 +- 5 files changed, 44 insertions(+), 35 deletions(-) diff --git a/Web/src/stores/userInfo.ts b/Web/src/stores/userInfo.ts index 620e04de..6465a2f1 100644 --- a/Web/src/stores/userInfo.ts +++ b/Web/src/stores/userInfo.ts @@ -132,16 +132,12 @@ export const useUserInfo = defineStore('userInfo', { // 根据字典类型和代码取字典项 getDictItemByCode(typePCode: string, val: string) { - if (val != undefined) { - val = val.toString(); - if (val) { - const _val = val.toString(); - const ds = this.getDictDatasByCode(typePCode); - for (let index = 0; index < ds.length; index++) { - const element = ds[index]; - if (element.code == _val) { - return element; - } + if (val != undefined && val !== '') { + const _val = val.toString(); + const ds = this.getDictDatasByCode(typePCode); + for (const element of ds) { + if (element.value === _val) { + return element; } } } @@ -150,16 +146,12 @@ export const useUserInfo = defineStore('userInfo', { // 根据字典类型和值取描述 getDictLabelByVal(typePCode: string, val: string) { - if (val != undefined) { - val = val.toString(); - if (val) { - const _val = val.toString(); - const ds = this.getDictDatasByCode(typePCode); - for (let index = 0; index < ds.length; index++) { - const element = ds[index]; - if (element.value == _val) { - return element; - } + if (val != undefined && val !== '') { + const _val = val.toString(); + const ds = this.getDictDatasByCode(typePCode); + for (const element of ds) { + if (element.code === _val) { + return element; } } } @@ -170,12 +162,12 @@ export const useUserInfo = defineStore('userInfo', { getDictValByLabel(typePCode: string, label: string) { if (!label) return ''; const ds = this.getDictDatasByCode(typePCode); - for (let index = 0; index < ds.length; index++) { - const element = ds[index]; - if (element.name == label) { + for (const element of ds) { + if (element.name === label) { return element; } } + return ''; // 明确返回空字符串 }, // 根据字典类型获取字典数据 @@ -185,18 +177,20 @@ export const useUserInfo = defineStore('userInfo', { // 根据字典类型获取字典数据(值转为数字类型) getDictIntDatasByCode(dictTypeCode: string) { - var ds = this.dictListInt[dictTypeCode]; + let ds = this.dictListInt[dictTypeCode]; if (ds) { return ds; - } else { - ds = this.dictList[dictTypeCode].map((element: { code: any }) => { - var d = { ...element }; - d.code = element.code - 0; - return d; + } + + const dictList = this.dictList[dictTypeCode]; + if (dictList) { + ds = dictList.map((element: { code: any }) => { + return { ...element, code: Number(element.code) }; }); this.dictListInt[dictTypeCode] = ds; - return ds; } + + return ds; }, }, }); diff --git a/Web/src/views/home/widgets/components/index.ts b/Web/src/views/home/widgets/components/index.ts index 5d097287..8ffded7b 100644 --- a/Web/src/views/home/widgets/components/index.ts +++ b/Web/src/views/home/widgets/components/index.ts @@ -4,6 +4,9 @@ type Component = any; const resultComps: Record = {}; +// 要排除的组件名称数组 +const excludeComponents = ['scheduleEdit']; + // 使用 import.meta.glob 动态导入当前目录中的所有 .vue 文件,急切导入 const requireComponent = import.meta.glob('./*.vue', { eager: true }); // console.log(requireComponent); @@ -11,12 +14,18 @@ const requireComponent = import.meta.glob('./*.vue', { eager: true }); Object.keys(requireComponent).forEach((fileName: string) => { // 处理文件名,去掉开头的 './' 和结尾的文件扩展名 const componentName = fileName.replace(/^\.\/(.*)\.\w+$/, '$1'); + + // 如果组件名称在排除数组中,跳过导入 + if (excludeComponents.includes(componentName)) { + return; + } + // 确保模块导出存在并且是默认导出 const componentModule = requireComponent[fileName] as { default: Component }; + // 将组件添加到 resultComps 中,使用处理后的文件名作为键 resultComps[componentName] = componentModule.default; }); -// 动态的,这里拿到title等东西是为了这里显示 // 标记 resultComps 为原始对象,避免其被设为响应式 export default markRaw(resultComps); diff --git a/Web/src/views/home/widgets/components/schedule.vue b/Web/src/views/home/widgets/components/schedule.vue index b2aeb018..f6f2535a 100644 --- a/Web/src/views/home/widgets/components/schedule.vue +++ b/Web/src/views/home/widgets/components/schedule.vue @@ -25,7 +25,14 @@
- {{ item.content }} + + + {{ item.scheduleTime }} + + + {{ item.content }} + +
@@ -207,7 +214,6 @@ function FormatDate(date: any) { // 日程列表 .schedule-list { - padding: 0 20px 10px; overflow-y: auto; height: 150px; .item { diff --git a/Web/src/views/home/widgets/components/scheduleEdit.vue b/Web/src/views/home/widgets/components/scheduleEdit.vue index 29060a09..983c55ef 100644 --- a/Web/src/views/home/widgets/components/scheduleEdit.vue +++ b/Web/src/views/home/widgets/components/scheduleEdit.vue @@ -11,7 +11,7 @@ - + diff --git a/Web/src/views/home/widgets/index.vue b/Web/src/views/home/widgets/index.vue index d242645a..f563d944 100644 --- a/Web/src/views/home/widgets/index.vue +++ b/Web/src/views/home/widgets/index.vue @@ -31,7 +31,7 @@
-