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

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 (64) hide show
  1. package/dist/{AppSetting-8APd2n5W.js → AppSetting-CVExa3_K.js} +21 -20
  2. package/dist/{HCheckList.vue_vue_type_script_setup_true_lang-xHHNH-Do.js → HCheckList.vue_vue_type_script_setup_true_lang-B3wESRn7.js} +2 -2
  3. package/dist/{PreferencesContent-B6v1Y85P.js → PreferencesContent-p9KS2Pve.js} +46 -45
  4. package/dist/{SettingBreadcrumb-DRbL0ad_.js → SettingBreadcrumb-DwvQtev2.js} +2 -2
  5. package/dist/{SettingCopyright-BQF1UDPx.js → SettingCopyright-Wb3hkKZZ.js} +1 -1
  6. package/dist/{SettingEnableTransition-COQvH_bE.js → SettingEnableTransition-DT23T8dO.js} +1 -1
  7. package/dist/{SettingHome-BL-JRz6C.js → SettingHome-C0K6wkyt.js} +1 -1
  8. package/dist/{SettingMenu-CL08Xnqj.js → SettingMenu-CCKj46sg.js} +2 -2
  9. package/dist/{SettingMode-CHFQfbwC.js → SettingMode-pwpzZcxj.js} +1 -1
  10. package/dist/{SettingNavSearch-D3EfJLm4.js → SettingNavSearch-zoiP1hL2.js} +1 -1
  11. package/dist/{SettingOther-D8vWJBqB.js → SettingOther-OIZZcjfo.js} +1 -1
  12. package/dist/{SettingPage-C6834qKt.js → SettingPage-CyljqOiV.js} +1 -1
  13. package/dist/{SettingTabbar-C4Nk7PaM.js → SettingTabbar-DCQai4_R.js} +2 -2
  14. package/dist/{SettingThemes-CAiwgt41.js → SettingThemes-DJIaIqy1.js} +2 -2
  15. package/dist/{SettingToolbar-Bue6Bsao.js → SettingToolbar-Dvv11piV.js} +1 -1
  16. package/dist/{SettingTopbar-CklZW6nz.js → SettingTopbar-CMpP98WU.js} +2 -2
  17. package/dist/{SettingWidthMode-Ba5CjpXS.js → SettingWidthMode-DVPAA6Xs.js} +1 -1
  18. package/dist/{TopThinMode-BKgHAbKj.js → TopThinMode-D8rMfa-C.js} +1 -1
  19. package/dist/{_...all_-CiLs5zE0.js → _...all_-6l5FWUkL.js} +1 -1
  20. package/dist/{colors-ehvAxkYC.js → colors-DiWJrScm.js} +1 -1
  21. package/dist/components/PubinfoIcon/register.d.ts +9 -0
  22. package/dist/index-Be7jJtXg.js +232 -0
  23. package/dist/index-BmMbAV1Y.js +141 -0
  24. package/dist/{index-CqQ-P_1q.js → index-CfasTv4x.js} +8 -8
  25. package/dist/{index-CAjh59MN.js → index-Ckgil96Y.js} +30 -30
  26. package/dist/index-CyyndQxa.js +13107 -0
  27. package/dist/{index-hjeR7S9d.js → index-De_ME_Ws.js} +2 -2
  28. package/dist/{index-C5TqLQ-T.js → index-Md7zV10q.js} +1 -1
  29. package/dist/{index-BK4luc55.js → index-bsi-FZDt.js} +11 -9
  30. package/dist/{index-BjAXx4BA.js → index-lv9zqWqR.js} +3 -3
  31. package/dist/index.js +33 -32
  32. package/dist/{toolbar-collapse-BhNN4H7Y.js → index.vue_vue_type_style_index_0_scoped_fa1c6ee4_lang-B3Eieo0k.js} +489 -503
  33. package/dist/interface.d.ts +2 -0
  34. package/dist/layout/Layout.vue.d.ts +2 -2
  35. package/dist/{menu-D3oKigWX.js → menu-CC5544p-.js} +3202 -3184
  36. package/dist/pages/system/change-organization/index.vue.d.ts +1 -1
  37. package/dist/pages/system/change-password/index.vue.d.ts +1 -1
  38. package/dist/{pick-Cku6R96i.js → pick-CJo2YiT-.js} +1 -1
  39. package/dist/request.js +399 -390
  40. package/dist/route/routes.d.ts +6 -4
  41. package/dist/style.css +2 -2
  42. package/dist/utils/index.d.ts +6 -0
  43. package/package.json +26 -26
  44. package/src/api/modules/configData/xitongpeizhifuwu.ts +3 -3
  45. package/src/components/PubinfoApp/index.vue +1 -1
  46. package/src/components/PubinfoIcon/index.vue +3 -1
  47. package/src/components/PubinfoIcon/register.ts +19 -0
  48. package/src/components/PubinfoProvider/index.ts +1 -2
  49. package/src/create.ts +7 -0
  50. package/src/interface.ts +2 -0
  51. package/src/layout/Layout.vue +50 -59
  52. package/src/layout/components/Content/index.vue +34 -13
  53. package/src/layout/components/Sidebar/MainSidebar.vue +4 -7
  54. package/src/layout/composables/useMainPage.ts +1 -1
  55. package/src/layout/provider.ts +7 -1
  56. package/src/pages/system/change-organization/index.vue +65 -73
  57. package/src/pages/system/change-password/index.vue +36 -44
  58. package/src/route/routes.ts +26 -8
  59. package/src/stores/modules/route.ts +10 -2
  60. package/src/utils/index.ts +14 -0
  61. package/types/vue-router.d.ts +3 -1
  62. package/dist/index-64V9RiCt.js +0 -240
  63. package/dist/index-BLvVzLOl.js +0 -147
  64. package/dist/index-DTsHMiQx.js +0 -12711
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { PubinfoIcon, PubinfoProvider } from '@/components';
2
+ import { PubinfoIcon } from '@/components';
3
3
  import { useUserStore } from '@/stores';
4
4
  import { message } from 'ant-design-vue';
5
5
 
@@ -49,88 +49,80 @@ 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
- }
58
52
  </script>
59
53
 
60
54
  <template>
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>
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>
100
92
  </div>
101
93
  </div>
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>
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
+ />
110
102
  </div>
111
103
  </div>
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>
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>
130
122
  </div>
131
123
  </div>
132
124
  </div>
133
- </PubinfoProvider>
125
+ </div>
134
126
  </template>
135
127
 
136
128
  <style lang="scss" scoped>
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { PassStrengthValidator, PubinfoIcon, PubinfoProvider } from '@/components';
2
+ import { PassStrengthValidator, PubinfoIcon } from '@/components';
3
3
  import ChangePasswordForm from './components/ChangePasswordForm/index.vue';
4
4
 
5
5
  defineOptions({
@@ -18,56 +18,48 @@ 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
- }
27
21
  </script>
28
22
 
29
23
  <template>
30
- <PubinfoProvider :load-icon="loadIcon">
31
- <div class="password-bg">
32
- <main
33
- flex="~ auto center"
34
- w-full
35
- h-0
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
36
35
  >
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>
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
+ />
64
53
  </div>
65
- <ChangePasswordForm ref="ChangePassWordForm" v-model:validate="isValidate" :token="token" />
54
+ <span text="18px" font="bold">
55
+ 更改密码
56
+ </span>
66
57
  </div>
58
+ <ChangePasswordForm ref="ChangePassWordForm" v-model:validate="isValidate" :token="token" />
67
59
  </div>
68
- </main>
69
- </div>
70
- </PubinfoProvider>
60
+ </div>
61
+ </main>
62
+ </div>
71
63
  </template>
72
64
 
73
65
  <style lang="scss" scoped>
@@ -4,13 +4,26 @@ import { readProject } from '@/context';
4
4
  import { useSettingsStore, useUserStore } from '@/stores';
5
5
  import { isUndefined } from 'lodash-es';
6
6
 
7
- let asyncRoutes: Route.recordMainRaw[] = [];
7
+ interface AsyncRoutesOptions {
8
+ /** 路由排序 */
9
+ sort?: number
10
+ }
11
+
12
+ interface RawAsyncRoute extends Required<AsyncRoutesOptions> {
13
+ routes: Route.recordMainRaw[]
14
+ }
15
+
16
+ // #region --- 动态路由
17
+ const rawAsyncRoutes: RawAsyncRoute[] = [];
8
18
 
9
19
  /**
10
20
  * 定义并注册动态路由
11
21
  */
12
- export function defineAsyncRoutes(routes: Route.recordMainRaw[]) {
13
- asyncRoutes = [...asyncRoutes, ...routes];
22
+ export function defineAsyncRoutes(routes: Route.recordMainRaw[], options?: AsyncRoutesOptions) {
23
+ rawAsyncRoutes.push({
24
+ routes,
25
+ sort: options?.sort ?? 0,
26
+ });
14
27
  return routes;
15
28
  }
16
29
 
@@ -18,9 +31,14 @@ export function defineAsyncRoutes(routes: Route.recordMainRaw[]) {
18
31
  * 读取注册的动态路由
19
32
  */
20
33
  export function getAsyncRoutes() {
21
- return asyncRoutes;
34
+ return rawAsyncRoutes
35
+ .sort((a, b) => a?.sort - b?.sort)
36
+ .map(e => e.routes)
37
+ .flat();
22
38
  }
39
+ // #endregion
23
40
 
41
+ // #region --- 系统路由
24
42
  const systemRoutes: RouteRecordRaw[] = [
25
43
  {
26
44
  path: '/',
@@ -57,7 +75,7 @@ const systemRoutes: RouteRecordRaw[] = [
57
75
  * 定义并注册系统路由(含Layout)
58
76
  */
59
77
  export function defineSystemRoutes(routes: RouteRecordRaw[]) {
60
- systemRoutes[0].children = [...(systemRoutes?.[0]?.children ?? []), ...routes];
78
+ systemRoutes[0].children?.push(...routes);
61
79
  }
62
80
 
63
81
  /**
@@ -66,10 +84,9 @@ export function defineSystemRoutes(routes: RouteRecordRaw[]) {
66
84
  export function getSystemRoutes() {
67
85
  return systemRoutes;
68
86
  }
87
+ // #endregion
69
88
 
70
- /**
71
- * 内置静态路由
72
- */
89
+ // #region --- 静态路由
73
90
  export const constantRoutes: RouteRecordRaw[] = [
74
91
  {
75
92
  path: '/change-password/:changePassWordToken',
@@ -122,3 +139,4 @@ export const constantRoutes: RouteRecordRaw[] = [
122
139
  },
123
140
  },
124
141
  ];
142
+ // #endregion
@@ -303,8 +303,16 @@ const useRouteStore = defineStore(
303
303
  delete arr[index].meta!.singleMenu;
304
304
  }
305
305
 
306
- if (!arr[index].component) {
307
- arr[index].component = Layout;
306
+ if (!item.component) {
307
+ item.component = Layout;
308
+ }
309
+
310
+ // 给一级路由设置 provider
311
+ if (route.meta?.provider) {
312
+ (item.meta as any) = {
313
+ ...(item.meta ?? {}),
314
+ provider: route.meta.provider,
315
+ };
308
316
  }
309
317
  });
310
318
  }
@@ -35,6 +35,20 @@ export function objectToPaths(obj: Record<string, any>, prefix = '') {
35
35
  }, [] as string[]);
36
36
  }
37
37
 
38
+ /**
39
+ * 基于 `import.meta.glob` 读取 `iconMap`
40
+ */
41
+ export function loadIconsFromGlob(modules: Record<string, { default: string }>): Record<string, string> {
42
+ return Object.fromEntries(
43
+ Object.entries(modules)
44
+ .map(([path, mod]) => {
45
+ const name = path.match(/([^/]+)(?=\.svg$)/)?.[1];
46
+ return name ? [name, mod.default] : null;
47
+ })
48
+ .filter(Boolean) as [string, string][],
49
+ );
50
+ }
51
+
38
52
  export * from './cleanup';
39
53
  export * from './crypto';
40
54
  export { default as eventBus } from './eventBus';
@@ -25,6 +25,7 @@ export interface RouterMetaRawBaseOptions {
25
25
  breadcrumbNeste: Route.breadcrumb[]
26
26
  isDev: boolean
27
27
  enabled: boolean
28
+ provider?: any
28
29
  }
29
30
 
30
31
  type RouterMetaRaw = RequireExactlyOne<Partial<RouterMetaRawBaseOptions>, 'title'>;
@@ -37,7 +38,8 @@ export declare namespace Route {
37
38
  | 'icon'
38
39
  | 'activeIcon'
39
40
  | 'auth'
40
- | 'enabled';
41
+ | 'enabled'
42
+ | 'provider';
41
43
 
42
44
  type recordMainRawBasicMeta = Partial<Pick<RouterMetaRawBaseOptions, mainMeta>>;
43
45
 
@@ -1,240 +0,0 @@
1
- import { P as V, _ as R, a as F, b as T, c as j, d as z, e as B, f as S, g as W, h as M } from "./toolbar-collapse-BhNN4H7Y.js";
2
- import { defineComponent as N, mergeModels as $, useModel as I, reactive as O, ref as b, createElementBlock as q, openBlock as E, createVNode as t, unref as s, withCtx as _, createTextVNode as h, nextTick as D, computed as J, createBlock as Q, createElementVNode as u, isRef as P } from "vue";
3
- import { by as X, bz as A, u as G, aQ as H, v as K } from "./menu-D3oKigWX.js";
4
- import "pinia-plugin-persistedstate";
5
- import { useRouter as L, useRoute as Y } from "vue-router";
6
- import { P as Z } from "./index-CqQ-P_1q.js";
7
- import { J as ee, _ as se, M as oe } from "./index-hjeR7S9d.js";
8
- import { _ as te } from "./_plugin-vue_export-helper-CHgC5LLL.js";
9
- var ae = "Expected a function";
10
- function re(l, i, r) {
11
- if (typeof l != "function")
12
- throw new TypeError(ae);
13
- return setTimeout(function() {
14
- l.apply(void 0, r);
15
- }, i);
16
- }
17
- var ne = X(function(l, i, r) {
18
- return re(l, A(i) || 0, r);
19
- });
20
- const le = /* @__PURE__ */ N({
21
- name: "ChangePasswordForm",
22
- __name: "index",
23
- props: /* @__PURE__ */ $({
24
- token: {}
25
- }, {
26
- validate: { type: Boolean, default: !1 },
27
- validateModifiers: {}
28
- }),
29
- emits: ["update:validate"],
30
- setup(l, { expose: i }) {
31
- const r = l, x = I(l, "validate"), o = O({
32
- password: "",
33
- newPassword: "",
34
- repeatNewPassword: ""
35
- }), d = L(), f = b(), c = G();
36
- async function a(p, e) {
37
- if (!e)
38
- return Promise.reject(new Error("请再次输入新密码"));
39
- if (e !== o.newPassword)
40
- return Promise.reject(new Error("两次输入的密码不匹配,请确保新密码在两个输入框中完全相同"));
41
- }
42
- async function n(p, e) {
43
- if (await D(), !e)
44
- return Promise.reject(new Error("请再次输入新密码"));
45
- if (!x.value)
46
- return Promise.reject(new Error("密码安全校验不通过"));
47
- }
48
- const w = {
49
- password: [{
50
- required: !0,
51
- whitespace: !0,
52
- message: "请输入密码"
53
- }],
54
- newPassword: [{ validator: n }],
55
- repeatNewPassword: [{ validator: a }]
56
- };
57
- async function C() {
58
- var p;
59
- try {
60
- await ((p = f.value) == null ? void 0 : p.validate()), await c.changeUserPassword({
61
- oldPassword: o.password,
62
- newPassword: o.newPassword,
63
- token: r.token
64
- }), K.success("密码修改成功"), ne(() => {
65
- k();
66
- }, 800);
67
- } catch {
68
- }
69
- }
70
- function k() {
71
- d.go(-1);
72
- }
73
- return i({
74
- formState: o
75
- }), (p, e) => {
76
- const g = oe, v = se, y = H, U = ee;
77
- return E(), q("div", null, [
78
- t(U, {
79
- ref_key: "changePasswordForm",
80
- ref: f,
81
- model: s(o),
82
- rules: w
83
- }, {
84
- default: _(() => [
85
- t(v, { name: "password" }, {
86
- default: _(() => [
87
- t(g, {
88
- value: s(o).password,
89
- "onUpdate:value": e[0] || (e[0] = (m) => s(o).password = m),
90
- "allow-clear": "",
91
- size: "large",
92
- placeholder: "请输入旧密码",
93
- "visibility-toggle": ""
94
- }, null, 8, ["value"])
95
- ]),
96
- _: 1
97
- }),
98
- t(v, { name: "newPassword" }, {
99
- default: _(() => [
100
- t(g, {
101
- value: s(o).newPassword,
102
- "onUpdate:value": e[1] || (e[1] = (m) => s(o).newPassword = m),
103
- "allow-clear": "",
104
- size: "large",
105
- placeholder: "请输入新密码",
106
- "visibility-toggle": ""
107
- }, null, 8, ["value"])
108
- ]),
109
- _: 1
110
- }),
111
- t(v, { name: "repeatNewPassword" }, {
112
- default: _(() => [
113
- t(g, {
114
- value: s(o).repeatNewPassword,
115
- "onUpdate:value": e[2] || (e[2] = (m) => s(o).repeatNewPassword = m),
116
- "allow-clear": "",
117
- size: "large",
118
- placeholder: "请再次输入新密码",
119
- "visibility-toggle": ""
120
- }, null, 8, ["value"])
121
- ]),
122
- _: 1
123
- }),
124
- t(v, null, {
125
- default: _(() => [
126
- t(y, {
127
- type: "primary",
128
- block: "",
129
- "h-48px": "",
130
- "mb-10px": "",
131
- onClick: C
132
- }, {
133
- default: _(() => e[3] || (e[3] = [
134
- h(" 修改密码 ")
135
- ])),
136
- _: 1
137
- }),
138
- t(y, {
139
- block: "",
140
- "h-48px": "",
141
- onClick: k
142
- }, {
143
- default: _(() => e[4] || (e[4] = [
144
- h(" 返回 ")
145
- ])),
146
- _: 1
147
- })
148
- ]),
149
- _: 1
150
- })
151
- ]),
152
- _: 1
153
- }, 8, ["model"])
154
- ]);
155
- };
156
- }
157
- }), ie = { class: "password-bg" }, de = {
158
- flex: "~ auto center",
159
- "w-full": "",
160
- "h-0": ""
161
- }, ue = {
162
- "h-full": "",
163
- flex: "~",
164
- "justify-between": "",
165
- "items-center": ""
166
- }, _e = {
167
- "w-650px": "",
168
- "mr-20px": ""
169
- }, ce = { class: "change-password-form" }, pe = {
170
- flex: "~ col center",
171
- "mb-40px": ""
172
- }, me = {
173
- "w-88px": "",
174
- "h-88px": "",
175
- flex: "~ center",
176
- rounded: "50%",
177
- "mb-15px": ""
178
- }, fe = /* @__PURE__ */ N({
179
- name: "ChangePassword",
180
- __name: "index",
181
- setup(l) {
182
- const i = b(), r = J({
183
- get() {
184
- var c;
185
- return (c = i.value) == null ? void 0 : c.formState.newPassword;
186
- },
187
- set() {
188
- }
189
- }), o = Y().params.changePassWordToken, d = b(!1);
190
- function f(c) {
191
- var w;
192
- const a = /* @__PURE__ */ Object.assign({ "../../../assets/icons/403.svg": M, "../../../assets/icons/403_dark.svg": W, "../../../assets/icons/404.svg": S, "../../../assets/icons/404_dark.svg": B, "../../../assets/icons/change-org.svg": z, "../../../assets/icons/favorites.svg": j, "../../../assets/icons/mima.svg": T, "../../../assets/icons/toolbar-collapse.svg": F }), n = `../../../assets/icons/${c}.svg`;
193
- return (w = a[n]) == null ? void 0 : w.default;
194
- }
195
- return (c, a) => (E(), Q(s(V), { "load-icon": f }, {
196
- default: _(() => [
197
- u("div", ie, [
198
- u("main", de, [
199
- u("div", ue, [
200
- u("div", _e, [
201
- t(s(Z), {
202
- modelValue: s(r),
203
- "onUpdate:modelValue": a[0] || (a[0] = (n) => P(r) ? r.value = n : null),
204
- validate: s(d),
205
- "onUpdate:validate": a[1] || (a[1] = (n) => P(d) ? d.value = n : null)
206
- }, null, 8, ["modelValue", "validate"])
207
- ]),
208
- u("div", ce, [
209
- u("div", pe, [
210
- u("div", me, [
211
- t(s(R), {
212
- name: "mima",
213
- color: "transparent",
214
- size: 88
215
- })
216
- ]),
217
- a[3] || (a[3] = u("span", {
218
- text: "18px",
219
- font: "bold"
220
- }, " 更改密码 ", -1))
221
- ]),
222
- t(le, {
223
- ref_key: "ChangePassWordForm",
224
- ref: i,
225
- validate: s(d),
226
- "onUpdate:validate": a[2] || (a[2] = (n) => P(d) ? d.value = n : null),
227
- token: s(o)
228
- }, null, 8, ["validate", "token"])
229
- ])
230
- ])
231
- ])
232
- ])
233
- ]),
234
- _: 1
235
- }));
236
- }
237
- }), he = /* @__PURE__ */ te(fe, [["__scopeId", "data-v-ea9fbca0"]]);
238
- export {
239
- he as default
240
- };