@pubinfo/core 2.0.0-beta.25 → 2.0.0-beta.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/{AppSetting-DodCOb_z.js → AppSetting-8APd2n5W.js} +16 -16
  2. package/dist/{HCheckList.vue_vue_type_script_setup_true_lang-CMOw56Mk.js → HCheckList.vue_vue_type_script_setup_true_lang-xHHNH-Do.js} +2 -2
  3. package/dist/{PreferencesContent-Dic24ifo.js → PreferencesContent-B6v1Y85P.js} +86 -83
  4. package/dist/{SettingBreadcrumb-DWpbGcSy.js → SettingBreadcrumb-DRbL0ad_.js} +2 -2
  5. package/dist/{SettingCopyright-CIY0pFMT.js → SettingCopyright-BQF1UDPx.js} +1 -1
  6. package/dist/{SettingEnableTransition-f0xuLIrZ.js → SettingEnableTransition-COQvH_bE.js} +1 -1
  7. package/dist/{SettingHome-BFtJsJsN.js → SettingHome-BL-JRz6C.js} +1 -1
  8. package/dist/{SettingMenu-DuPD3iSG.js → SettingMenu-CL08Xnqj.js} +2 -2
  9. package/dist/{SettingMode-nZ65qSWK.js → SettingMode-CHFQfbwC.js} +1 -1
  10. package/dist/{SettingNavSearch-CrarPE7d.js → SettingNavSearch-D3EfJLm4.js} +1 -1
  11. package/dist/{SettingOther-BddvExCF.js → SettingOther-D8vWJBqB.js} +1 -1
  12. package/dist/{SettingPage-C6Na8HEN.js → SettingPage-C6834qKt.js} +1 -1
  13. package/dist/{SettingTabbar-nuwfRRaE.js → SettingTabbar-C4Nk7PaM.js} +2 -2
  14. package/dist/SettingThemes-CAiwgt41.js +145 -0
  15. package/dist/{SettingToolbar-BdizZaGF.js → SettingToolbar-Bue6Bsao.js} +1 -1
  16. package/dist/{SettingTopbar-D5BX5vS_.js → SettingTopbar-CklZW6nz.js} +2 -2
  17. package/dist/{SettingWidthMode-CHrLW3gs.js → SettingWidthMode-Ba5CjpXS.js} +1 -1
  18. package/dist/{TopThinMode-CttqTmaT.js → TopThinMode-BKgHAbKj.js} +1 -1
  19. package/dist/{_...all_--d4S-8dL.js → _...all_-CiLs5zE0.js} +1 -1
  20. package/dist/{colors-BOKDjZQI.js → colors-ehvAxkYC.js} +1 -1
  21. package/dist/index-64V9RiCt.js +240 -0
  22. package/dist/{index-Cf8yM5Cv.js → index-BK4luc55.js} +4 -4
  23. package/dist/index-BLvVzLOl.js +147 -0
  24. package/dist/{index-DORROKh7.js → index-BjAXx4BA.js} +3 -3
  25. package/dist/{index-dPREgrj8.js → index-C5TqLQ-T.js} +12 -12
  26. package/dist/{index-Bz9lh14R.js → index-CAjh59MN.js} +2 -2
  27. package/dist/{index-B0i20hau.js → index-CqQ-P_1q.js} +4 -4
  28. package/dist/index-DTsHMiQx.js +12711 -0
  29. package/dist/{index-DltN2SCZ.js → index-hjeR7S9d.js} +2 -2
  30. package/dist/index.js +4 -4
  31. package/dist/{menu-Ddxel9ck.js → menu-D3oKigWX.js} +5 -5
  32. package/dist/pages/system/change-organization/index.vue.d.ts +1 -1
  33. package/dist/pages/system/change-password/index.vue.d.ts +1 -1
  34. package/dist/{pick-DEgsMKda.js → pick-Cku6R96i.js} +1 -1
  35. package/dist/request.js +1 -1
  36. package/dist/style.css +1 -1
  37. package/dist/{index.vue_vue_type_style_index_0_scoped_fa1c6ee4_lang-Bmtn9Oo4.js → toolbar-collapse-BhNN4H7Y.js} +419 -387
  38. package/package.json +3 -3
  39. package/src/layout/components/SettingBar/components/SettingThemes.vue +7 -5
  40. package/src/layout/components/Tools/Preferences/PreferencesContent.vue +2 -1
  41. package/src/layout/components/Tools/index.vue +1 -8
  42. package/src/pages/system/change-organization/index.vue +73 -65
  43. package/src/pages/system/change-password/index.vue +44 -36
  44. package/src/pages/system/not-permission/index.vue +2 -2
  45. package/dist/SettingThemes-DBq6j0zt.js +0 -144
  46. package/dist/index-CC3GE307.js +0 -137
  47. package/dist/index-Cygbc-66.js +0 -230
  48. package/dist/index-D0CMv5FJ.js +0 -12737
  49. package/src/layout/components/Tools/I18nSelector.vue +0 -52
  50. package/src/pages/system/change-password/page.vue +0 -58
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pubinfo/core",
3
3
  "type": "module",
4
- "version": "2.0.0-beta.25",
4
+ "version": "2.0.0-beta.27",
5
5
  "exports": {
6
6
  ".": {
7
7
  "types": "./dist/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "vue": "^3.5.13",
29
29
  "vue-i18n": "^10.0.5",
30
30
  "vue-router": "^4.5.0",
31
- "@pubinfo/config": "2.0.0-beta.25"
31
+ "@pubinfo/config": "2.0.0-beta.27"
32
32
  },
33
33
  "dependencies": {
34
34
  "@alova/adapter-axios": "^2.0.13",
@@ -85,7 +85,7 @@
85
85
  "vue": "^3.5.13",
86
86
  "vue-i18n": "^10.0.5",
87
87
  "vue-router": "^4.5.0",
88
- "@pubinfo/config": "2.0.0-beta.25"
88
+ "@pubinfo/config": "2.0.0-beta.27"
89
89
  },
90
90
  "scripts": {
91
91
  "dev": "vite build -w -m watch",
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
2
  import type { colorScheme, cssVarKey } from '@pubinfo/config/themes';
3
3
  import { useTheme } from '@/composables';
4
- import { themes } from '@pubinfo/config/themes';
4
+ import { getThemes } from '@pubinfo/config/themes';
5
5
  import JamBookmarkF from '~icons/jam/bookmark-f';
6
6
  import PajamasCheckCircleFilled from '~icons/pajamas/check-circle-filled';
7
7
  import { useContext } from '../../../composables/useContext';
@@ -30,8 +30,10 @@ const benchmark: cssVarKey[] = [
30
30
  '--g-sub-sidebar-bg',
31
31
  ];
32
32
 
33
- const themeList = computed<ThemeListCard[]>(() =>
34
- Object.keys(themes).map((key) => {
33
+ const themeList = computed<ThemeListCard[]>(() => {
34
+ const themes = getThemes();
35
+
36
+ return Object.keys(themes).map((key) => {
35
37
  const value = themes[key];
36
38
  const colors = benchmark.map((cssVar) => {
37
39
  const cssValue = value[cssVar].startsWith('#')
@@ -48,8 +50,8 @@ const themeList = computed<ThemeListCard[]>(() =>
48
50
  };
49
51
  }).filter(cssVarScheme =>
50
52
  cssVarScheme.value['color-scheme'] === app.value.colorScheme,
51
- ),
52
- );
53
+ );
54
+ });
53
55
 
54
56
  function clickHandle(item: ThemeListCard) {
55
57
  const label = item.label;
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { themes } from '@pubinfo/config/themes';
2
+ import { getThemes } from '@pubinfo/config/themes';
3
3
  import { message } from 'ant-design-vue';
4
4
  import { cloneDeep, pick } from 'lodash-es';
5
5
  import EpBack from '~icons/ep/back';
@@ -92,6 +92,7 @@ const isDark = computed({
92
92
  });
93
93
 
94
94
  const themeList = computed(() => {
95
+ const themes = getThemes();
95
96
  return Object.keys(themes).map((key) => {
96
97
  return {
97
98
  label: key,
@@ -8,14 +8,12 @@ import FluentFullScreenMinimize16Filled from '~icons/fluent/full-screen-minimize
8
8
  import IconamoonSearch from '~icons/iconamoon/search';
9
9
  import MaterialSymbolsExpandMoreRounded from '~icons/material-symbols/expand-more-rounded';
10
10
  import PhLineVerticalThin from '~icons/ph/line-vertical-thin';
11
- // import RiTranslate from '~icons/ri/translate';
12
11
 
13
12
  import { useContext } from '../../composables/useContext';
14
13
  import useMainPage from '../../composables/useMainPage';
15
14
  import useViewTransition from '../../composables/useViewTransition';
16
15
  import DayNightSwitch from './DayNightSwitch.vue';
17
16
  import HotkeysIntro from './HotkeysIntro.vue';
18
- // import I18nSelector from './I18nSelector.vue';
19
17
  import Preferences from './Preferences/index.vue';
20
18
  import Search from './Search.vue';
21
19
 
@@ -71,9 +69,7 @@ const userMenu = computed(() => [
71
69
  {
72
70
  label: t('route.personal.profile'),
73
71
  icon: 'i-iconamoon-profile-duotone',
74
- handle: () => router.push({
75
- name: 'Profile',
76
- }),
72
+ handle: () => router.push({ name: 'Profile' }),
77
73
  },
78
74
  {
79
75
  label: t('app.changePassword'),
@@ -172,9 +168,6 @@ const searchComponentsClass = computed(() => {
172
168
  >
173
169
  <IconamoonSearch text="14px" />
174
170
  </span>
175
- <!-- <I18nSelector class="item">
176
- <RiTranslate text="15px" />
177
- </I18nSelector> -->
178
171
  <span
179
172
  v-if="settingsStore.mode === 'pc' && settingsStore.settings.toolbar.enableFullscreen"
180
173
  class="item"
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { PubinfoIcon } from '@/components';
2
+ import { PubinfoIcon, PubinfoProvider } from '@/components';
3
3
  import { useUserStore } from '@/stores';
4
4
  import { message } from 'ant-design-vue';
5
5
 
@@ -49,80 +49,88 @@ async function changeOrganization() {
49
49
  message.error('请选择要切换的组织');
50
50
  }
51
51
  }
52
+
53
+ function loadIcon(name: string) {
54
+ const modules = (import.meta as any).glob('../../../assets/icons/*', { eager: true });
55
+ const path = `../../../assets/icons/${name}.svg`;
56
+ return modules[path]?.default;
57
+ }
52
58
  </script>
53
59
 
54
60
  <template>
55
- <div class="change-org">
56
- <div
57
- w-full
58
- h-full
59
- flex="~"
60
- justify-center
61
- >
62
- <div w-620px pt-20vh>
63
- <div
64
- text="30px"
65
- font="bold"
66
- mb-40px
67
- flex="~"
68
- items="center"
69
- >
70
- 请选择组织
71
- </div>
72
- <div v-for="(item, index) in orgList" :key="index" @click="setActive(index)">
73
- <div class="org-item" :class="{ active: index === activeIndex }">
74
- <div flex="~" h-full>
75
- <PubinfoIcon name="change-org" size="48px" />
76
- <div
77
- flex="~ col"
78
- h-full
79
- justify-center
80
- ml="18px"
81
- >
82
- <div text="20px black dark:[#86909C]" flex="~" items-center>
83
- <span mr-10px>
84
- {{ item.label }}
85
- </span>
86
- <a-tag v-if="userStore.user.orgId === item.orgId" color="blue">
87
- 当前使用组织
88
- </a-tag>
89
- <a-tag v-if="item.main" color="red">
90
- 主组织
91
- </a-tag>
61
+ <PubinfoProvider :load-icon="loadIcon">
62
+ <div class="change-org">
63
+ <div
64
+ w-full
65
+ h-full
66
+ flex="~"
67
+ justify-center
68
+ >
69
+ <div w-620px pt-20vh>
70
+ <div
71
+ text="30px"
72
+ font="bold"
73
+ mb-40px
74
+ flex="~"
75
+ items="center"
76
+ >
77
+ 请选择组织
78
+ </div>
79
+ <div v-for="(item, index) in orgList" :key="index" @click="setActive(index)">
80
+ <div class="org-item" :class="{ active: index === activeIndex }">
81
+ <div flex="~" h-full>
82
+ <PubinfoIcon name="change-org" size="48px" />
83
+ <div
84
+ flex="~ col"
85
+ h-full
86
+ justify-center
87
+ ml="18px"
88
+ >
89
+ <div text="20px black dark:[#86909C]" flex="~" items-center>
90
+ <span mr-10px>
91
+ {{ item.label }}
92
+ </span>
93
+ <a-tag v-if="userStore.user.orgId === item.orgId" color="blue">
94
+ 当前使用组织
95
+ </a-tag>
96
+ <a-tag v-if="item.main" color="red">
97
+ 主组织
98
+ </a-tag>
99
+ </div>
92
100
  </div>
93
101
  </div>
94
- </div>
95
- <div>
96
- <PubinfoIcon
97
- class="arrow"
98
- name="i-iconamoon-arrow-right-6-circle-duotone"
99
- :color="index === activeIndex ? '#1677ff' : '#8E97A3'"
100
- size="22px"
101
- />
102
+ <div>
103
+ <PubinfoIcon
104
+ class="arrow"
105
+ name="i-iconamoon-arrow-right-6-circle-duotone"
106
+ :color="index === activeIndex ? '#1677ff' : '#8E97A3'"
107
+ size="22px"
108
+ />
109
+ </div>
102
110
  </div>
103
111
  </div>
104
- </div>
105
- <div>
106
- <a-button
107
- type="primary"
108
- block
109
- h-40px
110
- mb-15px
111
- @click="changeOrganization"
112
- >
113
- 确定
114
- </a-button>
115
- <a-button
116
- block
117
- h-40px
118
- @click="handleBack"
119
- >
120
- 返回
121
- </a-button>
112
+ <div>
113
+ <a-button
114
+ type="primary"
115
+ block
116
+ h-40px
117
+ mb-15px
118
+ @click="changeOrganization"
119
+ >
120
+ 确定
121
+ </a-button>
122
+ <a-button
123
+ block
124
+ h-40px
125
+ @click="handleBack"
126
+ >
127
+ 返回
128
+ </a-button>
129
+ </div>
122
130
  </div>
123
131
  </div>
124
132
  </div>
125
- </div>
133
+ </PubinfoProvider>
126
134
  </template>
127
135
 
128
136
  <style lang="scss" scoped>
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { PassStrengthValidator, PubinfoIcon } from '@/components';
2
+ import { PassStrengthValidator, PubinfoIcon, PubinfoProvider } from '@/components';
3
3
  import ChangePasswordForm from './components/ChangePasswordForm/index.vue';
4
4
 
5
5
  defineOptions({
@@ -18,48 +18,56 @@ const newPassWord = computed({
18
18
  const route = useRoute();
19
19
  const token = route.params.changePassWordToken;
20
20
  const isValidate = ref(false);
21
+
22
+ function loadIcon(name: string) {
23
+ const modules = (import.meta as any).glob('../../../assets/icons/*', { eager: true });
24
+ const path = `../../../assets/icons/${name}.svg`;
25
+ return modules[path]?.default;
26
+ }
21
27
  </script>
22
28
 
23
29
  <template>
24
- <div class="password-bg">
25
- <main
26
- flex="~ auto center"
27
- w-full
28
- h-0
29
- >
30
- <div
31
- h-full
32
- flex="~"
33
- justify-between
34
- items-center
30
+ <PubinfoProvider :load-icon="loadIcon">
31
+ <div class="password-bg">
32
+ <main
33
+ flex="~ auto center"
34
+ w-full
35
+ h-0
35
36
  >
36
- <div w-650px mr-20px>
37
- <PassStrengthValidator v-model="newPassWord" v-model:validate="isValidate" />
38
- </div>
39
- <div class="change-password-form">
40
- <div flex="~ col center" mb-40px>
41
- <div
42
- w-88px
43
- h-88px
44
- flex="~ center"
45
- rounded="50%"
46
- mb-15px
47
- >
48
- <PubinfoIcon
49
- name="mima"
50
- color="transparent"
51
- :size="88"
52
- />
37
+ <div
38
+ h-full
39
+ flex="~"
40
+ justify-between
41
+ items-center
42
+ >
43
+ <div w-650px mr-20px>
44
+ <PassStrengthValidator v-model="newPassWord" v-model:validate="isValidate" />
45
+ </div>
46
+ <div class="change-password-form">
47
+ <div flex="~ col center" mb-40px>
48
+ <div
49
+ w-88px
50
+ h-88px
51
+ flex="~ center"
52
+ rounded="50%"
53
+ mb-15px
54
+ >
55
+ <PubinfoIcon
56
+ name="mima"
57
+ color="transparent"
58
+ :size="88"
59
+ />
60
+ </div>
61
+ <span text="18px" font="bold">
62
+ 更改密码
63
+ </span>
53
64
  </div>
54
- <span text="18px" font="bold">
55
- 更改密码
56
- </span>
65
+ <ChangePasswordForm ref="ChangePassWordForm" v-model:validate="isValidate" :token="token" />
57
66
  </div>
58
- <ChangePasswordForm ref="ChangePassWordForm" v-model:validate="isValidate" :token="token" />
59
67
  </div>
60
- </div>
61
- </main>
62
- </div>
68
+ </main>
69
+ </div>
70
+ </PubinfoProvider>
63
71
  </template>
64
72
 
65
73
  <style lang="scss" scoped>
@@ -31,8 +31,8 @@ onMounted(() => {
31
31
  }, 1000);
32
32
  });
33
33
 
34
- async function goBack() {
35
- await userStore.logout();
34
+ function goBack() {
35
+ userStore.logout();
36
36
  router.push({
37
37
  name: 'login',
38
38
  });
@@ -1,144 +0,0 @@
1
- import { _ as T } from "./HDivider-DgXBhPr0.js";
2
- import { markRaw as b, createElementBlock as d, openBlock as o, createElementVNode as t, defineComponent as k, useModel as V, withDirectives as S, createStaticVNode as $, vModelCheckbox as w, toRef as D, computed as B, createBlock as N, withCtx as j, createVNode as u, unref as c, isRef as L, Fragment as g, renderList as f, normalizeClass as M, normalizeStyle as h, toDisplayString as z } from "vue";
3
- import "./menu-Ddxel9ck.js";
4
- import "pinia-plugin-persistedstate";
5
- import { d as F, u as R } from "./index-D0CMv5FJ.js";
6
- import { themes as v } from "@pubinfo/config/themes";
7
- import { _ as x } from "./_plugin-vue_export-helper-CHgC5LLL.js";
8
- const A = {
9
- viewBox: "-5 -2 24 24",
10
- width: "1.2em",
11
- height: "1.2em"
12
- };
13
- function E(i, e) {
14
- return o(), d("svg", A, e[0] || (e[0] = [
15
- t("path", {
16
- fill: "currentColor",
17
- d: "M3 0h8a3 3 0 0 1 3 3v15a2 2 0 0 1-3.348 1.477L7.674 16.76a1 1 0 0 0-1.348 0l-2.978 2.717A2 2 0 0 1 0 18V3a3 3 0 0 1 3-3"
18
- }, null, -1)
19
- ]));
20
- }
21
- const H = b({ name: "jam-bookmark-f", render: E }), I = {
22
- viewBox: "0 0 16 16",
23
- width: "1.2em",
24
- height: "1.2em"
25
- };
26
- function U(i, e) {
27
- return o(), d("svg", I, e[0] || (e[0] = [
28
- t("path", {
29
- fill: "currentColor",
30
- "fill-rule": "evenodd",
31
- d: "M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m3.78-9.72a.75.75 0 0 0-1.06-1.06L6.75 9.19L5.53 7.97a.75.75 0 0 0-1.06 1.06l1.75 1.75a.75.75 0 0 0 1.06 0z",
32
- "clip-rule": "evenodd"
33
- }, null, -1)
34
- ]));
35
- }
36
- const W = b({ name: "pajamas-check-circle-filled", render: U }), J = {
37
- flex: "",
38
- "justify-center": "",
39
- "pb-15px": ""
40
- }, O = { class: "toggleWrapper" }, P = /* @__PURE__ */ k({
41
- name: "DayNightToggle",
42
- __name: "DayNightToggle",
43
- props: {
44
- modelValue: {},
45
- modelModifiers: {}
46
- },
47
- emits: ["update:modelValue"],
48
- setup(i) {
49
- const e = V(i, "modelValue");
50
- return (_, s) => (o(), d("div", J, [
51
- t("div", O, [
52
- S(t("input", {
53
- id: "dn",
54
- "onUpdate:modelValue": s[0] || (s[0] = (p) => e.value = p),
55
- type: "checkbox",
56
- class: "dn"
57
- }, null, 512), [
58
- [w, e.value]
59
- ]),
60
- s[1] || (s[1] = $('<label for="dn" class="toggle" data-v-d927ea22><span class="toggle__handler" data-v-d927ea22><span class="crater crater--1" data-v-d927ea22></span><span class="crater crater--2" data-v-d927ea22></span><span class="crater crater--3" data-v-d927ea22></span></span><span class="star star--1" data-v-d927ea22></span><span class="star star--2" data-v-d927ea22></span><span class="star star--3" data-v-d927ea22></span><span class="star star--4" data-v-d927ea22></span><span class="star star--5" data-v-d927ea22></span><span class="star star--6" data-v-d927ea22></span></label>', 1))
61
- ])
62
- ]));
63
- }
64
- }), q = /* @__PURE__ */ x(P, [["__scopeId", "data-v-d927ea22"]]), G = { class: "themes" }, K = ["onClick"], Q = {
65
- class: "theme-type",
66
- flex: "",
67
- "items-center": ""
68
- }, X = { class: "theme-point" }, Y = { class: "explosion" }, Z = /* @__PURE__ */ k({
69
- name: "SettingThemes",
70
- __name: "SettingThemes",
71
- setup(i) {
72
- const { isDark: e } = F(), { settingsStore: _ } = R(), s = D(_.settings, "app"), p = [
73
- "--ui-primary",
74
- "--ui-text",
75
- "--g-bg",
76
- "--g-header-bg",
77
- "--g-main-sidebar-bg",
78
- "--g-sub-sidebar-bg"
79
- ], y = B(
80
- () => Object.keys(v).map((n) => {
81
- const l = v[n], m = p.map((r) => l[r].startsWith("#") ? l[r] : `rgb(${l[r]})`), a = v[n].label;
82
- return {
83
- label: n,
84
- value: l,
85
- colors: m,
86
- name: a
87
- };
88
- }).filter(
89
- (n) => n.value["color-scheme"] === s.value.colorScheme
90
- )
91
- );
92
- function C(n) {
93
- const l = n.label;
94
- e.value ? s.value.darkTheme = l : s.value.lightTheme = l;
95
- }
96
- return (n, l) => {
97
- const m = T;
98
- return o(), N(m, { title: "颜色主题风格" }, {
99
- default: j(() => [
100
- t("div", null, [
101
- u(q, {
102
- modelValue: c(e),
103
- "onUpdate:modelValue": l[0] || (l[0] = (a) => L(e) ? e.value = a : null)
104
- }, null, 8, ["modelValue"])
105
- ]),
106
- t("div", G, [
107
- (o(!0), d(g, null, f(c(y), (a) => (o(), d("div", {
108
- key: a.label,
109
- class: M(["theme", { active: c(e) ? c(s).darkTheme === a.label : c(s).lightTheme === a.label }]),
110
- onClick: (r) => C(a)
111
- }, [
112
- t("div", Q, [
113
- t("span", {
114
- style: h({ color: a.colors.at(0) }),
115
- "mr-5px": ""
116
- }, [
117
- u(c(H))
118
- ], 4),
119
- t("span", {
120
- style: h({ color: a.colors.at(0) }),
121
- "text-sm": ""
122
- }, z(a.name || a.label), 5)
123
- ]),
124
- t("div", X, [
125
- (o(!0), d(g, null, f(a.colors, (r) => (o(), d("div", {
126
- key: r,
127
- class: "point",
128
- style: h({ backgroundColor: r })
129
- }, null, 4))), 128))
130
- ]),
131
- t("div", Y, [
132
- u(c(W))
133
- ])
134
- ], 10, K))), 128))
135
- ])
136
- ]),
137
- _: 1
138
- });
139
- };
140
- }
141
- }), ce = /* @__PURE__ */ x(Z, [["__scopeId", "data-v-066297c5"]]);
142
- export {
143
- ce as default
144
- };
@@ -1,137 +0,0 @@
1
- import { defineComponent as w, toRaw as z, computed as B, ref as N, createElementBlock as m, openBlock as n, createElementVNode as e, Fragment as O, renderList as V, unref as r, normalizeClass as E, createVNode as l, createBlock as x, createCommentVNode as v, toDisplayString as L, withCtx as c, createTextVNode as u } from "vue";
2
- import { u as S, aQ as T, v as f } from "./menu-Ddxel9ck.js";
3
- import "pinia-plugin-persistedstate";
4
- import { useRouter as j } from "vue-router";
5
- import { _ as k } from "./index.vue_vue_type_style_index_0_scoped_fa1c6ee4_lang-Bmtn9Oo4.js";
6
- import { T as A } from "./index-Bz9lh14R.js";
7
- import { _ as R } from "./_plugin-vue_export-helper-CHgC5LLL.js";
8
- const $ = { class: "change-org" }, D = {
9
- "w-full": "",
10
- "h-full": "",
11
- flex: "~",
12
- "justify-center": ""
13
- }, F = {
14
- "w-620px": "",
15
- "pt-20vh": ""
16
- }, Q = ["onClick"], U = {
17
- flex: "~",
18
- "h-full": ""
19
- }, q = {
20
- flex: "~ col",
21
- "h-full": "",
22
- "justify-center": "",
23
- ml: "18px"
24
- }, G = {
25
- text: "20px black dark:[#86909C]",
26
- flex: "~",
27
- "items-center": ""
28
- }, H = { "mr-10px": "" }, J = /* @__PURE__ */ w({
29
- name: "ChangeOrganization",
30
- __name: "index",
31
- setup(K) {
32
- const s = S(), h = j(), b = z(s.user.orgList), p = B(() => b.map((o) => ({
33
- orgId: o.orgId,
34
- label: o.orgName,
35
- ...o
36
- }))), a = N(-1);
37
- function C(t) {
38
- a.value = t;
39
- }
40
- function y() {
41
- h.go(-1);
42
- }
43
- async function I() {
44
- const t = p.value[a.value], o = t == null ? void 0 : t.orgId;
45
- o ? o === s.user.orgId ? f.error("请避免切换到当前已选组织") : (await s.changeOrg(o), f.success("组织切换成功")) : f.error("请选择要切换的组织");
46
- }
47
- return (t, o) => {
48
- const _ = A, g = T;
49
- return n(), m("div", $, [
50
- e("div", D, [
51
- e("div", F, [
52
- o[4] || (o[4] = e("div", {
53
- text: "30px",
54
- font: "bold",
55
- "mb-40px": "",
56
- flex: "~",
57
- items: "center"
58
- }, " 请选择组织 ", -1)),
59
- (n(!0), m(O, null, V(r(p), (d, i) => (n(), m("div", {
60
- key: i,
61
- onClick: (M) => C(i)
62
- }, [
63
- e("div", {
64
- class: E(["org-item", { active: i === r(a) }])
65
- }, [
66
- e("div", U, [
67
- l(r(k), {
68
- name: "change-org",
69
- size: "48px"
70
- }),
71
- e("div", q, [
72
- e("div", G, [
73
- e("span", H, L(d.label), 1),
74
- r(s).user.orgId === d.orgId ? (n(), x(_, {
75
- key: 0,
76
- color: "blue"
77
- }, {
78
- default: c(() => o[0] || (o[0] = [
79
- u(" 当前使用组织 ")
80
- ])),
81
- _: 1
82
- })) : v("", !0),
83
- d.main ? (n(), x(_, {
84
- key: 1,
85
- color: "red"
86
- }, {
87
- default: c(() => o[1] || (o[1] = [
88
- u(" 主组织 ")
89
- ])),
90
- _: 1
91
- })) : v("", !0)
92
- ])
93
- ])
94
- ]),
95
- e("div", null, [
96
- l(r(k), {
97
- class: "arrow",
98
- name: "i-iconamoon-arrow-right-6-circle-duotone",
99
- color: i === r(a) ? "#1677ff" : "#8E97A3",
100
- size: "22px"
101
- }, null, 8, ["color"])
102
- ])
103
- ], 2)
104
- ], 8, Q))), 128)),
105
- e("div", null, [
106
- l(g, {
107
- type: "primary",
108
- block: "",
109
- "h-40px": "",
110
- "mb-15px": "",
111
- onClick: I
112
- }, {
113
- default: c(() => o[2] || (o[2] = [
114
- u(" 确定 ")
115
- ])),
116
- _: 1
117
- }),
118
- l(g, {
119
- block: "",
120
- "h-40px": "",
121
- onClick: y
122
- }, {
123
- default: c(() => o[3] || (o[3] = [
124
- u(" 返回 ")
125
- ])),
126
- _: 1
127
- })
128
- ])
129
- ])
130
- ])
131
- ]);
132
- };
133
- }
134
- }), to = /* @__PURE__ */ R(J, [["__scopeId", "data-v-9b12754a"]]);
135
- export {
136
- to as default
137
- };