// 抽离可公用的工具函数等用于系统管理页面逻辑 import { computed } from "vue"; import { useDark } from "@pureadmin/utils"; export function usePublicHooks() { const { isDark } = useDark(); const switchStyle = computed(() => { return { "--el-switch-on-color": "#6abe39", "--el-switch-off-color": "#e84749" }; }); const tagStyle = computed(() => { return (status: number) => { return status === 1 ? { "--el-tag-text-color": isDark.value ? "#6abe39" : "#389e0d", "--el-tag-bg-color": isDark.value ? "#172412" : "#f6ffed", "--el-tag-border-color": isDark.value ? "#274a17" : "#b7eb8f" } : { "--el-tag-text-color": isDark.value ? "#e84749" : "#cf1322", "--el-tag-bg-color": isDark.value ? "#2b1316" : "#fff1f0", "--el-tag-border-color": isDark.value ? "#58191c" : "#ffa39e" }; }; }); const formatHigherDeptOptions = treeList => { // 根据返回数据的status字段值判断追加是否禁用disabled字段,返回处理后的树结构,用于上级部门级联选择器的展示(实际开发中也是如此,不可能前端需要的每个字段后端都会返回,这时需要前端自行根据后端返回的某些字段做逻辑处理) if (!treeList || !treeList.length) return; const newTreeList = []; for (let i = 0; i < treeList.length; i++) { treeList[i].disabled = treeList[i].status === 0 ? true : false; formatHigherDeptOptions(treeList[i].children); newTreeList.push(treeList[i]); } return newTreeList; }; return { /** 当前网页是否为`dark`模式 */ isDark, /** 表现更鲜明的`el-switch`组件 */ switchStyle, /** 表现更鲜明的`el-tag`组件 */ tagStyle, /** 获取上级部门级联选择器的数据结构*/ formatHigherDeptOptions }; }