From 901a65ad1125eca7f83c01c0f34f4b7dd4b57684 Mon Sep 17 00:00:00 2001 From: xlsea Date: Wed, 29 Oct 2025 09:33:15 +0800 Subject: [PATCH] =?UTF-8?q?feat(projects):=20=E6=96=B0=E5=A2=9E=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E7=A7=9F=E6=88=B7=E5=8F=82=E6=95=B0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pnpm-lock.yaml | 52 +++++++++---------- src/service/api/system/tenant.ts | 8 +++ .../demo/demo/modules/demo-operate-drawer.vue | 2 +- src/views/system/tenant/index.vue | 44 ++++++++++++++-- 4 files changed, 74 insertions(+), 32 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 95304824..44094436 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1082,8 +1082,8 @@ packages: '@rolldown/pluginutils@1.0.0-beta.29': resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==} - '@rolldown/pluginutils@1.0.0-beta.44': - resolution: {integrity: sha512-g6eW7Zwnr2c5RADIoqziHoVs6b3W5QTQ4+qbpfjbkMJ9x+8Og211VW/oot2dj9dVwaK/UyC6Yo+02gV+wWQVNg==} + '@rolldown/pluginutils@1.0.0-beta.45': + resolution: {integrity: sha512-Le9ulGCrD8ggInzWw/k2J8QcbPz7eGIOWqfJ2L+1R0Opm7n6J37s2hiDWlh6LJN0Lk9L5sUzMvRHKW7UxBZsQA==} '@rollup/rollup-android-arm-eabi@4.52.5': resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} @@ -2704,8 +2704,8 @@ packages: resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} engines: {node: '>=12'} - dagre-d3-es@7.0.11: - resolution: {integrity: sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==} + dagre-d3-es@7.0.13: + resolution: {integrity: sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==} data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} @@ -2877,8 +2877,8 @@ packages: echarts@6.0.0: resolution: {integrity: sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==} - electron-to-chromium@1.5.240: - resolution: {integrity: sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==} + electron-to-chromium@1.5.241: + resolution: {integrity: sha512-ILMvKX/ZV5WIJzzdtuHg8xquk2y0BOGlFOxBVwTpbiXqWIH0hamG45ddU4R3PQ0gYu+xgo0vdHXHli9sHIGb4w==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3903,8 +3903,8 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - mermaid@11.12.0: - resolution: {integrity: sha512-ZudVx73BwrMJfCFmSSJT84y6u5brEoV8DOItdHomNLz32uBjNrelm7mg95X7g+C6UoQH/W6mBLGDEDv73JdxBg==} + mermaid@11.12.1: + resolution: {integrity: sha512-UlIZrRariB11TY1RtTgUWp65tphtBv4CSq7vyS2ZZ2TgoMjs2nloq+wFqxiwcxlhHUvs7DPGgMjs2aeQxz5h9g==} micromatch@3.1.0: resolution: {integrity: sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==} @@ -3926,8 +3926,8 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - minimatch@10.0.3: - resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -4765,8 +4765,8 @@ packages: stylis@4.3.6: resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} - superjson@2.2.3: - resolution: {integrity: sha512-ay3d+LW/S6yppKoTz3Bq4mG0xrS5bFwfWEBmQfbC7lt5wmtk+Obq0TxVuA9eYRirBTQb1K3eEpBRHMQEo0WyVw==} + superjson@2.2.5: + resolution: {integrity: sha512-zWPTX96LVsA/eVYnqOM2+ofcdPqdS1dAF1LN4TS2/MWuUpfitd9ctTa87wt4xrYnZnkLtS69xpBdSxVBP5Rm6w==} engines: {node: '>=16'} supports-color@2.0.0: @@ -6064,7 +6064,7 @@ snapshots: '@rolldown/pluginutils@1.0.0-beta.29': {} - '@rolldown/pluginutils@1.0.0-beta.44': {} + '@rolldown/pluginutils@1.0.0-beta.45': {} '@rollup/rollup-android-arm-eabi@4.52.5': optional: true @@ -6882,7 +6882,7 @@ snapshots: jsbarcode: 3.12.1 katex: 0.16.25 lowlight: 3.3.0 - mermaid: 11.12.0 + mermaid: 11.12.1 nzh: 1.0.14 plyr: 3.8.3 pretty-bytes: 6.1.1 @@ -7080,7 +7080,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) - '@rolldown/pluginutils': 1.0.0-beta.44 + '@rolldown/pluginutils': 1.0.0-beta.45 '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5) vite: 7.1.5(@types/node@24.5.1)(jiti@2.6.1)(sass@1.92.1)(tsx@4.20.5)(yaml@2.8.1) vue: 3.5.21(typescript@5.9.2) @@ -7225,7 +7225,7 @@ snapshots: mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - superjson: 2.2.3 + superjson: 2.2.5 '@vue/devtools-kit@8.0.3': dependencies: @@ -7235,7 +7235,7 @@ snapshots: mitt: 3.0.1 perfect-debounce: 2.0.0 speakingurl: 14.0.1 - superjson: 2.2.3 + superjson: 2.2.5 '@vue/devtools-shared@7.7.7': dependencies: @@ -7475,7 +7475,7 @@ snapshots: dependencies: baseline-browser-mapping: 2.8.20 caniuse-lite: 1.0.30001751 - electron-to-chromium: 1.5.240 + electron-to-chromium: 1.5.241 node-releases: 2.0.26 update-browserslist-db: 1.1.4(browserslist@4.27.0) @@ -7938,7 +7938,7 @@ snapshots: d3-transition: 3.0.1(d3-selection@3.0.0) d3-zoom: 3.0.0 - dagre-d3-es@7.0.11: + dagre-d3-es@7.0.13: dependencies: d3: 7.9.0 lodash-es: 4.17.21 @@ -8106,7 +8106,7 @@ snapshots: tslib: 2.3.0 zrender: 6.0.0 - electron-to-chromium@1.5.240: {} + electron-to-chromium@1.5.241: {} emoji-regex@8.0.0: {} @@ -8287,7 +8287,7 @@ snapshots: eslint: 9.35.0(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 - minimatch: 10.0.3 + minimatch: 10.1.1 semver: 7.7.3 stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 @@ -8673,7 +8673,7 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 4.1.1 - minimatch: 10.0.3 + minimatch: 10.1.1 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.0 @@ -9206,7 +9206,7 @@ snapshots: merge2@1.4.1: {} - mermaid@11.12.0: + mermaid@11.12.1: dependencies: '@braintree/sanitize-url': 7.1.1 '@iconify/utils': 3.0.2 @@ -9217,7 +9217,7 @@ snapshots: cytoscape-fcose: 2.2.0(cytoscape@3.33.1) d3: 7.9.0 d3-sankey: 0.12.3 - dagre-d3-es: 7.0.11 + dagre-d3-es: 7.0.13 dayjs: 1.11.18 dompurify: 3.3.0 katex: 0.16.25 @@ -9265,7 +9265,7 @@ snapshots: dependencies: mime-db: 1.52.0 - minimatch@10.0.3: + minimatch@10.1.1: dependencies: '@isaacs/brace-expansion': 5.0.0 @@ -10211,7 +10211,7 @@ snapshots: stylis@4.3.6: {} - superjson@2.2.3: + superjson@2.2.5: dependencies: copy-anything: 4.0.5 diff --git a/src/service/api/system/tenant.ts b/src/service/api/system/tenant.ts index 0724a4c1..33baa5f9 100644 --- a/src/service/api/system/tenant.ts +++ b/src/service/api/system/tenant.ts @@ -56,6 +56,14 @@ export function fetchSyncTenantPackage(params: Api.System.TenantPackageSyncParam }); } +/** 同步租户参数配置 */ +export function fetchSyncTenantConfig() { + return request({ + url: '/system/tenant/syncTenantConfig', + method: 'get' + }); +} + /** 动态切换租户 */ export function fetchChangeTenant(tenantId: CommonType.IdType) { return request({ diff --git a/src/views/demo/demo/modules/demo-operate-drawer.vue b/src/views/demo/demo/modules/demo-operate-drawer.vue index 18c1e976..3d6a6597 100644 --- a/src/views/demo/demo/modules/demo-operate-drawer.vue +++ b/src/views/demo/demo/modules/demo-operate-drawer.vue @@ -125,7 +125,7 @@ watch(visible, () => { - + diff --git a/src/views/system/tenant/index.vue b/src/views/system/tenant/index.vue index d8e33d4f..d43826bc 100644 --- a/src/views/system/tenant/index.vue +++ b/src/views/system/tenant/index.vue @@ -4,6 +4,7 @@ import { NButton, NDivider } from 'naive-ui'; import { fetchBatchDeleteTenant, fetchGetTenantList, + fetchSyncTenantConfig, fetchSyncTenantDict, fetchSyncTenantPackage } from '@/service/api/system/tenant'; @@ -195,10 +196,33 @@ async function edit(id: CommonType.IdType) { } async function handleSyncTenantDict() { - const { error } = await fetchSyncTenantDict(); - if (error) return; - window.$message?.success('同步租户字典成功'); - await getData(); + window.$dialog?.warning({ + title: '同步租户字典', + content: '确认同步租户字典吗?', + positiveText: '确认', + negativeText: '取消', + onPositiveClick: async () => { + const { error } = await fetchSyncTenantDict(); + if (error) return; + window.$message?.success('同步租户字典成功'); + await getData(); + } + }); +} + +async function handleSyncTenantConfig() { + window.$dialog?.warning({ + title: '同步租户参数配置', + content: '确认同步租户参数配置吗?', + positiveText: '确认', + negativeText: '取消', + onPositiveClick: async () => { + const { error } = await fetchSyncTenantConfig(); + if (error) return; + window.$message?.success('同步租户参数配置成功'); + await getData(); + } + }); } async function handleSyncTenantPackage(row: Api.System.Tenant) { @@ -241,6 +265,12 @@ async function handleExport() { 同步租户字典 + + + 同步租户参数配置 + @@ -267,4 +297,8 @@ async function handleExport() { - +