Bladeren bron

封装方法,使用方法调用获取数据

zouzs 2 weken geleden
bovenliggende
commit
7a2b9f38f4
3 gewijzigde bestanden met toevoegingen van 20 en 23 verwijderingen
  1. 10 0
      src/utils/dict.ts
  2. 4 8
      src/views/system/logininfor/index.vue
  3. 6 15
      src/views/system/operlog/index.vue

+ 10 - 0
src/utils/dict.ts

@@ -42,3 +42,13 @@ export function useDictValue<T>(dictType: T, searchValue: string) {
   const item = dicts.find((d: any) => d.value === searchValue);
   return item ? item.label : null;
 }
+
+export function useDictClass<T>(dictType: T, searchValue: string) {
+  if (!isString(searchValue)) {
+    searchValue = String(searchValue);
+  }
+  const dictStore = useDictStore();
+  const dicts = dictStore.getDict(dictType as string) || [];
+  const item = dicts.find((d: any) => d.value === searchValue);
+  return item ? item.class : null;
+}

+ 4 - 8
src/views/system/logininfor/index.vue

@@ -9,7 +9,7 @@ import {
   useTable
 } from "plus-pro-components";
 import { computed, reactive, type Ref, ref, toRefs } from "vue";
-import { useDict, useDictValue } from "@/utils/dict";
+import { useDict, useDictClass, useDictValue } from "@/utils/dict";
 import { ElMessage, ElMessageBox } from "element-plus";
 import {
   cleanSystemLogininfor,
@@ -63,15 +63,11 @@ const tableConfig: PlusColumn[] = [
     options: computed(() => sys_common_status.value),
     fieldProps: value => {
       return {
-        type: sys_common_status.value.find(
-          (item: Ref) => item.value === value + ""
-        )?.class
+        type: useDictClass("sys_common_status", value + "")
       };
     },
-    formatter: (value, { column }) => {
-      return (column.options as OptionsRow[])?.find(
-        item => item.value === value + ""
-      )?.label;
+    formatter: value => {
+      return useDictValue("sys_common_status", value);
     },
     hideInSearch: true
   },

+ 6 - 15
src/views/system/operlog/index.vue

@@ -14,7 +14,7 @@ import {
   deleteSystemOperlog,
   getSystemOperlogList
 } from "@/api/system/operlog";
-import { useDict, useDictValue } from "@/utils/dict";
+import { useDict, useDictValue, useDictClass } from "@/utils/dict";
 import { ElMessage, ElMessageBox } from "element-plus";
 
 defineOptions({
@@ -60,15 +60,10 @@ const tableConfig: PlusColumn[] = [
     options: computed(() => sys_oper_type.value),
     fieldProps: value => {
       return {
-        type: sys_oper_type.value.find((item: Ref) => item.value === value + "")
-          ?.class
+        type: useDictClass("sys_oper_type", value + "")
       };
     },
-    formatter: (value, { column }) => {
-      return (column.options as OptionsRow[])?.find(
-        item => item.value === value + ""
-      )?.label;
-    },
+    formatter: value => useDictValue("sys_oper_type", value),
     hideInSearch: true
   },
   {
@@ -101,15 +96,11 @@ const tableConfig: PlusColumn[] = [
     options: computed(() => sys_common_status.value),
     fieldProps: value => {
       return {
-        type: sys_common_status.value.find(
-          (item: Ref) => item.value === value + ""
-        )?.class
+        type: useDictClass("sys_common_status", value + "")
       };
     },
-    formatter: (value, { column }) => {
-      return (column.options as OptionsRow[])?.find(
-        item => item.value === value + ""
-      )?.label;
+    formatter: value => {
+      return useDictValue("sys_common_status", value);
     },
     hideInSearch: true
   },