Merge branch 'main' into pages

This commit is contained in:
xiaoxian521
2026-01-15 13:18:21 +08:00
6 changed files with 960 additions and 941 deletions

View File

@@ -69,14 +69,14 @@
"codemirror-editor-vue3": "^2.8.0", "codemirror-editor-vue3": "^2.8.0",
"cropperjs": "^1.6.2", "cropperjs": "^1.6.2",
"dayjs": "^1.11.19", "dayjs": "^1.11.19",
"deep-chat": "^2.3.0", "deep-chat": "^2.4.1",
"echarts": "^6.0.0", "echarts": "^6.0.0",
"el-table-infinite-scroll": "^3.0.8", "el-table-infinite-scroll": "^3.0.8",
"element-plus": "^2.13.0", "element-plus": "^2.13.1",
"highlight.js": "^11.11.1", "highlight.js": "^11.11.1",
"intro.js": "^7.2.0", "intro.js": "^7.2.0",
"js-cookie": "^3.0.5", "js-cookie": "^3.0.5",
"jsbarcode": "^3.12.1", "jsbarcode": "^3.12.3",
"localforage": "^1.10.0", "localforage": "^1.10.0",
"mint-filter": "^4.0.3", "mint-filter": "^4.0.3",
"mitt": "^3.0.1", "mitt": "^3.0.1",
@@ -87,7 +87,7 @@
"pinyin-pro": "^3.27.0", "pinyin-pro": "^3.27.0",
"plus-pro-components": "^0.1.30", "plus-pro-components": "^0.1.30",
"qrcode": "^1.5.4", "qrcode": "^1.5.4",
"qs": "^6.14.0", "qs": "^6.14.1",
"responsive-storage": "^2.2.0", "responsive-storage": "^2.2.0",
"sortablejs": "^1.15.6", "sortablejs": "^1.15.6",
"swiper": "^12.0.3", "swiper": "^12.0.3",
@@ -97,7 +97,7 @@
"vditor": "^3.11.2", "vditor": "^3.11.2",
"version-rocket": "^1.7.4", "version-rocket": "^1.7.4",
"vue": "^3.5.26", "vue": "^3.5.26",
"vue-i18n": "^11.2.7", "vue-i18n": "^11.2.8",
"vue-json-pretty": "^2.6.0", "vue-json-pretty": "^2.6.0",
"vue-pdf-embed": "^2.1.3", "vue-pdf-embed": "^2.1.3",
"vue-router": "^4.6.4", "vue-router": "^4.6.4",
@@ -105,7 +105,7 @@
"vue-types": "^6.0.0", "vue-types": "^6.0.0",
"vue-virtual-scroller": "2.0.0-beta.8", "vue-virtual-scroller": "2.0.0-beta.8",
"vue-waterfall-plugin-next": "^2.6.9", "vue-waterfall-plugin-next": "^2.6.9",
"vue3-danmaku": "^1.6.6", "vue3-danmaku": "^1.6.7",
"vue3-puzzle-vcode": "^1.1.7", "vue3-puzzle-vcode": "^1.1.7",
"vuedraggable": "^4.1.0", "vuedraggable": "^4.1.0",
"vxe-table": "4.6.25", "vxe-table": "4.6.25",
@@ -114,12 +114,12 @@
"xlsx": "^0.18.5" "xlsx": "^0.18.5"
}, },
"devDependencies": { "devDependencies": {
"@commitlint/cli": "^20.2.0", "@commitlint/cli": "^20.3.1",
"@commitlint/config-conventional": "^20.2.0", "@commitlint/config-conventional": "^20.3.1",
"@commitlint/types": "^20.2.0", "@commitlint/types": "^20.3.1",
"@eslint/js": "^9.39.2", "@eslint/js": "^9.39.2",
"@faker-js/faker": "^10.1.0", "@faker-js/faker": "^10.2.0",
"@iconify/json": "^2.2.417", "@iconify/json": "^2.2.428",
"@iconify/vue": "4.2.0", "@iconify/vue": "4.2.0",
"@intlify/unplugin-vue-i18n": "^11.0.3", "@intlify/unplugin-vue-i18n": "^11.0.3",
"@tailwindcss/vite": "^4.1.18", "@tailwindcss/vite": "^4.1.18",
@@ -127,33 +127,33 @@
"@types/dagre": "^0.7.53", "@types/dagre": "^0.7.53",
"@types/intro.js": "^5.1.5", "@types/intro.js": "^5.1.5",
"@types/js-cookie": "^3.0.6", "@types/js-cookie": "^3.0.6",
"@types/node": "^20.19.27", "@types/node": "^20.19.29",
"@types/nprogress": "^0.2.3", "@types/nprogress": "^0.2.3",
"@types/path-browserify": "^1.0.3", "@types/path-browserify": "^1.0.3",
"@types/qrcode": "^1.5.6", "@types/qrcode": "^1.5.6",
"@types/qs": "^6.14.0", "@types/qs": "^6.14.0",
"@types/sortablejs": "^1.15.9", "@types/sortablejs": "^1.15.9",
"@vitejs/plugin-vue": "^6.0.3", "@vitejs/plugin-vue": "^6.0.3",
"@vitejs/plugin-vue-jsx": "^5.1.2", "@vitejs/plugin-vue-jsx": "^5.1.3",
"boxen": "^8.0.1", "boxen": "^8.0.1",
"code-inspector-plugin": "^1.3.3", "code-inspector-plugin": "^1.3.4",
"cssnano": "^7.1.2", "cssnano": "^7.1.2",
"dagre": "^0.8.5", "dagre": "^0.8.5",
"eslint": "^9.39.2", "eslint": "^9.39.2",
"eslint-config-prettier": "^10.1.8", "eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.4", "eslint-plugin-prettier": "^5.5.5",
"eslint-plugin-vue": "^10.6.2", "eslint-plugin-vue": "^10.6.2",
"gradient-string": "^3.0.0", "gradient-string": "^3.0.0",
"husky": "^9.1.7", "husky": "^9.1.7",
"lint-staged": "^16.2.7", "lint-staged": "^16.2.7",
"postcss": "^8.5.6", "postcss": "^8.5.6",
"postcss-html": "^1.8.0", "postcss-html": "^1.8.1",
"postcss-load-config": "^6.0.1", "postcss-load-config": "^6.0.1",
"postcss-scss": "^4.0.9", "postcss-scss": "^4.0.9",
"prettier": "^3.7.4", "prettier": "^3.8.0",
"rimraf": "^6.1.2", "rimraf": "^6.1.2",
"rollup-plugin-visualizer": "^6.0.5", "rollup-plugin-visualizer": "^6.0.5",
"sass": "^1.97.1", "sass": "^1.97.2",
"stylelint": "^16.26.1", "stylelint": "^16.26.1",
"stylelint-config-recess-order": "^7.4.0", "stylelint-config-recess-order": "^7.4.0",
"stylelint-config-recommended-vue": "^1.6.1", "stylelint-config-recommended-vue": "^1.6.1",
@@ -162,9 +162,9 @@
"svgo": "^4.0.0", "svgo": "^4.0.0",
"tailwindcss": "^4.1.18", "tailwindcss": "^4.1.18",
"typescript": "^5.9.3", "typescript": "^5.9.3",
"typescript-eslint": "^8.50.0", "typescript-eslint": "^8.53.0",
"unplugin-icons": "^22.5.0", "unplugin-icons": "^22.5.0",
"vite": "^7.3.0", "vite": "^7.3.1",
"vite-plugin-cdn-import": "^1.0.1", "vite-plugin-cdn-import": "^1.0.1",
"vite-plugin-compression": "^0.5.1", "vite-plugin-compression": "^0.5.1",
"vite-plugin-fake-server": "^2.2.2", "vite-plugin-fake-server": "^2.2.2",
@@ -172,7 +172,7 @@
"vite-plugin-router-warn": "^2.0.0", "vite-plugin-router-warn": "^2.0.0",
"vite-svg-loader": "^5.1.0", "vite-svg-loader": "^5.1.0",
"vue-eslint-parser": "^10.2.0", "vue-eslint-parser": "^10.2.0",
"vue-tsc": "^3.2.1" "vue-tsc": "^3.2.2"
}, },
"engines": { "engines": {
"node": "^20.19.0 || >=22.13.0", "node": "^20.19.0 || >=22.13.0",

1810
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -7,8 +7,9 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent } from "vue"; import { useGlobal } from "@pureadmin/utils";
import { checkVersion } from "version-rocket"; import { checkVersion } from "version-rocket";
import { defineComponent, computed } from "vue";
import { ElConfigProvider } from "element-plus"; import { ElConfigProvider } from "element-plus";
import { ReDialog } from "@/components/ReDialog"; import { ReDialog } from "@/components/ReDialog";
import { ReDrawer } from "@/components/ReDrawer"; import { ReDrawer } from "@/components/ReDrawer";
@@ -25,12 +26,16 @@ export default defineComponent({
ReDialog, ReDialog,
ReDrawer ReDrawer
}, },
computed: { setup() {
currentLocale() { const { $storage } = useGlobal<GlobalPropertiesApi>();
return this.$storage.locale?.locale === "zh" const currentLocale = computed(() => {
return $storage.locale?.locale === "zh"
? { ...zhCn, ...plusZhCn } ? { ...zhCn, ...plusZhCn }
: { ...en, ...plusEn }; : { ...en, ...plusEn };
} });
return {
currentLocale
};
}, },
beforeCreate() { beforeCreate() {
const { version, name: title } = __APP_INFO__.pkg; const { version, name: title } = __APP_INFO__.pkg;

View File

@@ -5,14 +5,10 @@ import {
ref, ref,
unref, unref,
nextTick, nextTick,
computed computed,
useTemplateRef
} from "vue"; } from "vue";
import { import { tryOnMounted, tryOnUnmounted, useDebounceFn } from "@vueuse/core";
tryOnMounted,
tryOnUnmounted,
templateRef,
useDebounceFn
} from "@vueuse/core";
import * as utilsMethods from "./utils"; import * as utilsMethods from "./utils";
const { animationFrame, copyObj } = utilsMethods; const { animationFrame, copyObj } = utilsMethods;
animationFrame(); animationFrame();
@@ -62,17 +58,14 @@ if (props.classOption["key"] === undefined) {
props.classOption["key"] = 0; props.classOption["key"] = 0;
} }
const wrap = templateRef<HTMLElement | null>( const wrap = useTemplateRef<HTMLElement | null>(
`wrap${props.classOption["key"]}`, `wrap${props.classOption["key"]}`
null
); );
const slotList = templateRef<HTMLElement | null>( const slotList = useTemplateRef<HTMLElement | null>(
`slotList${props.classOption["key"]}`, `slotList${props.classOption["key"]}`
null
); );
const realBox = templateRef<HTMLElement | null>( const realBox = useTemplateRef<HTMLElement | null>(
`realBox${props.classOption["key"]}`, `realBox${props.classOption["key"]}`
null
); );
const leftSwitchState = computed(() => { const leftSwitchState = computed(() => {

View File

@@ -1,7 +1,6 @@
import { ref, computed } from "vue";
import { tableDataDrag } from "../data"; import { tableDataDrag } from "../data";
import { message } from "@/utils/message"; import { message } from "@/utils/message";
import { templateRef } from "@vueuse/core"; import { ref, computed, useTemplateRef } from "vue";
import { clone, useDark, useECharts } from "@pureadmin/utils"; import { clone, useDark, useECharts } from "@pureadmin/utils";
export function useColumns() { export function useColumns() {
@@ -31,7 +30,7 @@ export function useColumns() {
const theme = computed(() => (isDark.value ? "dark" : "light")); const theme = computed(() => (isDark.value ? "dark" : "light"));
dataList.value.forEach((_, i) => { dataList.value.forEach((_, i) => {
const { setOptions } = useECharts(templateRef(`PieChartRef${i}`), { const { setOptions } = useECharts(useTemplateRef(`PieChartRef${i}`), {
theme theme
}); });

View File

@@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, nextTick, ref, toRef, watch } from "vue"; import { computed, nextTick, ref, toRef, watch } from "vue";
import { TransitionPresets, executeTransition } from "@vueuse/core"; import { TransitionPresets, transition } from "@vueuse/core";
import { import {
Position, Position,
BaseEdge, BaseEdge,
@@ -153,7 +153,7 @@ async function runAnimation() {
currentLength.value = totalLength; currentLength.value = totalLength;
} }
await executeTransition(edgePoint, from, totalLength, { await transition(edgePoint, from, totalLength, {
transition: TransitionPresets.easeInOutCubic, transition: TransitionPresets.easeInOutCubic,
duration: Math.max(1500, totalLength / 2), duration: Math.max(1500, totalLength / 2),
abort: () => !isAnimating.value abort: () => !isAnimating.value