smart-admin-web 10.14.0 → 10.15.0
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.
- package/README.md +5 -5
- package/dist/api/index.d.ts +37 -0
- package/dist/api/index.js +35 -14
- package/dist/api/index.js.map +1 -1
- package/dist/api/schema.d.ts +381 -3
- package/dist/assets/icons/ph-subset.json.js +3 -3
- package/dist/assets/smart-logo.svg.js +5 -0
- package/dist/assets/smart-logo.svg.js.map +1 -0
- package/dist/components/SmartLogo.vue.d.ts +3 -0
- package/dist/components/SmartLogo.vue.js +1 -1
- package/dist/components/SmartLogo2.vue.js +22 -64
- package/dist/components/SmartLogo2.vue.js.map +1 -1
- package/dist/composables/useLoginHero.d.ts +2 -0
- package/dist/composables/useLoginHero.js +22 -0
- package/dist/composables/useLoginHero.js.map +1 -0
- package/dist/composables/usePageTitle.js +16 -14
- package/dist/composables/usePageTitle.js.map +1 -1
- package/dist/composables/useSite.d.ts +5 -0
- package/dist/composables/useSite.js +16 -13
- package/dist/composables/useSite.js.map +1 -1
- package/dist/index.js +92 -91
- package/dist/lib/favicon.d.ts +1 -0
- package/dist/lib/favicon.js +12 -0
- package/dist/lib/favicon.js.map +1 -0
- package/dist/lib/loginHero.d.ts +16 -0
- package/dist/lib/loginHero.js +33 -0
- package/dist/lib/loginHero.js.map +1 -0
- package/dist/lib/logoCrop.d.ts +25 -0
- package/dist/lib/logoCrop.js +22 -0
- package/dist/lib/logoCrop.js.map +1 -0
- package/dist/lib/runtime.d.ts +2 -0
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/runtime.js.map +1 -1
- package/dist/lib/securityRules.d.ts +26 -0
- package/dist/lib/securityRules.js +86 -0
- package/dist/lib/securityRules.js.map +1 -0
- package/dist/locales/en-US.d.ts +242 -28
- package/dist/locales/en-US.js +262 -58
- package/dist/locales/en-US.js.map +1 -1
- package/dist/locales/zh-CN.d.ts +242 -28
- package/dist/locales/zh-CN.js +257 -58
- package/dist/locales/zh-CN.js.map +1 -1
- package/dist/router/viewRegistry.js +10 -10
- package/dist/router/viewRegistry.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/utils/oauthBrand.d.ts +34 -9
- package/dist/utils/oauthBrand.js +70 -74
- package/dist/utils/oauthBrand.js.map +1 -1
- package/dist/views/login/components/LoginHeroPanel.vue.d.ts +18 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js +8 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js.map +1 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js +66 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -0
- package/dist/views/login/skins/SplitPanel.vue.js +1 -1
- package/dist/views/login/skins/SplitPanel2.vue.js +39 -59
- package/dist/views/login/skins/SplitPanel2.vue.js.map +1 -1
- package/dist/views/system/config/components/AdminMock.vue.js +8 -0
- package/dist/views/system/config/components/AdminMock.vue.js.map +1 -0
- package/dist/views/system/config/components/AdminMock2.vue.js +76 -0
- package/dist/views/system/config/components/AdminMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js +5 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js +135 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection.vue.d.ts +7 -0
- package/dist/views/system/config/components/BrandSection.vue.js +8 -0
- package/dist/views/system/config/components/BrandSection.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection2.vue.js +264 -0
- package/dist/views/system/config/components/BrandSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup.vue.d.ts +18 -0
- package/dist/views/system/config/components/CfgGroup.vue.js +8 -0
- package/dist/views/system/config/components/CfgGroup.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js +22 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow.vue.d.ts +26 -0
- package/dist/views/system/config/components/CfgRow.vue.js +9 -0
- package/dist/views/system/config/components/CfgRow.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow2.vue.js +53 -0
- package/dist/views/system/config/components/CfgRow2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment.vue.d.ts +28 -0
- package/dist/views/system/config/components/CfgSegment.vue.js +8 -0
- package/dist/views/system/config/components/CfgSegment.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js +44 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js.map +1 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.js +5 -2
- package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -1
- package/dist/views/system/config/components/ConfigFormModal2.vue.js +66 -56
- package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -1
- package/dist/views/system/config/components/JobSection.vue.js +8 -0
- package/dist/views/system/config/components/JobSection.vue.js.map +1 -0
- package/dist/views/system/config/components/JobSection2.vue.js +138 -0
- package/dist/views/system/config/components/JobSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/{GroupExtraConfig.vue.d.ts → LoginMock.vue.d.ts} +3 -4
- package/dist/views/system/config/components/LoginMock.vue.js +8 -0
- package/dist/views/system/config/components/LoginMock.vue.js.map +1 -0
- package/dist/views/system/config/components/LoginMock2.vue.js +121 -0
- package/dist/views/system/config/components/LoginMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper.vue.d.ts +10 -0
- package/dist/views/system/config/components/LogoCropper.vue.js +8 -0
- package/dist/views/system/config/components/LogoCropper.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js +122 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor.vue.js +8 -0
- package/dist/views/system/config/components/LogoEditor.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js +163 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet.vue.d.ts +17 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js +8 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js +343 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js.map +1 -0
- package/dist/views/system/config/components/ScaleToFit.vue.d.ts +17 -0
- package/dist/views/system/config/components/ScaleToFit.vue.js +8 -0
- package/dist/views/system/config/components/ScaleToFit.vue.js.map +1 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js +41 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout.vue.d.ts +28 -0
- package/dist/views/system/config/components/SectionLayout.vue.js +8 -0
- package/dist/views/system/config/components/SectionLayout.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js +45 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection.vue.js +8 -0
- package/dist/views/system/config/components/SecuritySection.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js +416 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js +8 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js +209 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection.vue.js +8 -0
- package/dist/views/system/config/components/SigninSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection2.vue.js +201 -0
- package/dist/views/system/config/components/SigninSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection.vue.d.ts +3 -0
- package/dist/views/system/config/components/UploadSection.vue.js +8 -0
- package/dist/views/system/config/components/UploadSection.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection2.vue.js +167 -0
- package/dist/views/system/config/components/UploadSection2.vue.js.map +1 -0
- package/dist/views/system/config/draft.d.ts +148 -0
- package/dist/views/system/config/draft.js +170 -0
- package/dist/views/system/config/draft.js.map +1 -0
- package/dist/views/system/config/flash.d.ts +2 -0
- package/dist/views/system/config/flash.js +9 -0
- package/dist/views/system/config/flash.js.map +1 -0
- package/dist/views/system/config/groups.d.ts +35 -7
- package/dist/views/system/config/groups.js +99 -14
- package/dist/views/system/config/groups.js.map +1 -1
- package/dist/views/system/config/index.vue.js +4 -1
- package/dist/views/system/config/index.vue.js.map +1 -1
- package/dist/views/system/config/index2.vue.js +180 -115
- package/dist/views/system/config/index2.vue.js.map +1 -1
- package/dist/views/system/config/providerForm.d.ts +33 -0
- package/dist/views/system/config/providerForm.js +63 -0
- package/dist/views/system/config/providerForm.js.map +1 -0
- package/package.json +4 -4
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js +0 -8
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +0 -218
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig.vue.js +0 -8
- package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js +0 -108
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig.vue.js +0 -5
- package/dist/views/system/config/components/HighSensConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig2.vue.js +0 -134
- package/dist/views/system/config/components/HighSensConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig.vue.js +0 -5
- package/dist/views/system/config/components/JobConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig2.vue.js +0 -116
- package/dist/views/system/config/components/JobConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig.vue.js +0 -5
- package/dist/views/system/config/components/OtherConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig2.vue.js +0 -121
- package/dist/views/system/config/components/OtherConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig.vue.js +0 -8
- package/dist/views/system/config/components/SecurityConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig2.vue.js +0 -456
- package/dist/views/system/config/components/SecurityConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig.vue.js +0 -5
- package/dist/views/system/config/components/SysBaseConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig2.vue.js +0 -107
- package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig.vue.js +0 -5
- package/dist/views/system/config/components/UploadConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig2.vue.js +0 -135
- package/dist/views/system/config/components/UploadConfig2.vue.js.map +0 -1
- /package/dist/views/system/config/components/{ExternalAuthConfig.vue.d.ts → AdminMock.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{HighSensConfig.vue.d.ts → AdvancedSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{JobConfig.vue.d.ts → JobSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{OtherConfig.vue.d.ts → LogoEditor.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SecurityConfig.vue.d.ts → SecuritySection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SysBaseConfig.vue.d.ts → SensitiveSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{UploadConfig.vue.d.ts → SigninSection.vue.d.ts} +0 -0
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { defineComponent as w, ref as u, onMounted as N, resolveDirective as x, openBlock as y, createElementBlock as j, Fragment as D, createVNode as a, unref as e, withCtx as o, withDirectives as I, createBlock as k, createTextVNode as B, toDisplayString as C } from "vue";
|
|
2
|
-
import { useMessage as K, NSpin as R, NForm as M, NFormItem as p, NInputNumber as S, NInput as T, NButton as V } from "naive-ui";
|
|
3
|
-
import { useI18n as A } from "vue-i18n";
|
|
4
|
-
import L from "../../../../components/AppIcon.vue.js";
|
|
5
|
-
import { configApi as b } from "../../../../api/index.js";
|
|
6
|
-
import { translateError as _ } from "../../../../utils/error.js";
|
|
7
|
-
import F from "./GroupExtraConfig.vue.js";
|
|
8
|
-
const g = "sys.job.logRetentionDays", v = "sys.job.alertEmails", $ = /* @__PURE__ */ w({
|
|
9
|
-
__name: "JobConfig",
|
|
10
|
-
setup(G) {
|
|
11
|
-
const E = [g, v], { t: n } = A(), c = K(), i = u(30), s = u(""), d = u(!0), f = u(!1);
|
|
12
|
-
N(async () => {
|
|
13
|
-
try {
|
|
14
|
-
const l = await b.listByGroup("job"), t = new Map(l.map((r) => [r.configKey, r.configValue ?? ""]));
|
|
15
|
-
i.value = Number(t.get(g)) || 30, s.value = t.get(v) ?? "";
|
|
16
|
-
} catch (l) {
|
|
17
|
-
c.error(_(l));
|
|
18
|
-
} finally {
|
|
19
|
-
d.value = !1;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
async function h() {
|
|
23
|
-
f.value = !0;
|
|
24
|
-
try {
|
|
25
|
-
await b.saveBatch([
|
|
26
|
-
{ configKey: g, configValue: String(i.value) },
|
|
27
|
-
{ configKey: v, configValue: s.value }
|
|
28
|
-
]), c.success(n("config.saved"));
|
|
29
|
-
} catch (l) {
|
|
30
|
-
c.error(_(l));
|
|
31
|
-
} finally {
|
|
32
|
-
f.value = !1;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return (l, t) => {
|
|
36
|
-
const r = x("auth");
|
|
37
|
-
return y(), j(D, null, [
|
|
38
|
-
a(e(R), { show: d.value }, {
|
|
39
|
-
default: o(() => [
|
|
40
|
-
a(e(M), {
|
|
41
|
-
"label-placement": "left",
|
|
42
|
-
"label-width": 150,
|
|
43
|
-
style: { "max-width": "560px" }
|
|
44
|
-
}, {
|
|
45
|
-
default: o(() => [
|
|
46
|
-
a(e(p), {
|
|
47
|
-
label: e(n)("config.job.logRetentionDays")
|
|
48
|
-
}, {
|
|
49
|
-
default: o(() => [
|
|
50
|
-
a(e(S), {
|
|
51
|
-
value: i.value,
|
|
52
|
-
"onUpdate:value": t[0] || (t[0] = (m) => i.value = m),
|
|
53
|
-
min: 1,
|
|
54
|
-
style: { width: "160px" }
|
|
55
|
-
}, null, 8, ["value"])
|
|
56
|
-
]),
|
|
57
|
-
_: 1
|
|
58
|
-
}, 8, ["label"]),
|
|
59
|
-
a(e(p), {
|
|
60
|
-
label: e(n)("config.job.alertEmails")
|
|
61
|
-
}, {
|
|
62
|
-
default: o(() => [
|
|
63
|
-
a(e(T), {
|
|
64
|
-
value: s.value,
|
|
65
|
-
"onUpdate:value": t[1] || (t[1] = (m) => s.value = m),
|
|
66
|
-
type: "textarea",
|
|
67
|
-
autosize: { minRows: 2 },
|
|
68
|
-
placeholder: e(n)("config.job.alertEmailsHint")
|
|
69
|
-
}, null, 8, ["value", "placeholder"])
|
|
70
|
-
]),
|
|
71
|
-
_: 1
|
|
72
|
-
}, 8, ["label"]),
|
|
73
|
-
a(e(p), {
|
|
74
|
-
label: " ",
|
|
75
|
-
"show-feedback": !1
|
|
76
|
-
}, {
|
|
77
|
-
default: o(() => [
|
|
78
|
-
I((y(), k(e(V), {
|
|
79
|
-
type: "primary",
|
|
80
|
-
loading: f.value,
|
|
81
|
-
onClick: h
|
|
82
|
-
}, {
|
|
83
|
-
icon: o(() => [
|
|
84
|
-
a(L, {
|
|
85
|
-
icon: "ph:floppy-disk",
|
|
86
|
-
size: 16
|
|
87
|
-
})
|
|
88
|
-
]),
|
|
89
|
-
default: o(() => [
|
|
90
|
-
B(" " + C(e(n)("common.save")), 1)
|
|
91
|
-
]),
|
|
92
|
-
_: 1
|
|
93
|
-
}, 8, ["loading"])), [
|
|
94
|
-
[r, "PUT:/api/v1/sys/config/batch"]
|
|
95
|
-
])
|
|
96
|
-
]),
|
|
97
|
-
_: 1
|
|
98
|
-
})
|
|
99
|
-
]),
|
|
100
|
-
_: 1
|
|
101
|
-
})
|
|
102
|
-
]),
|
|
103
|
-
_: 1
|
|
104
|
-
}, 8, ["show"]),
|
|
105
|
-
a(F, {
|
|
106
|
-
group: "job",
|
|
107
|
-
claimed: E
|
|
108
|
-
})
|
|
109
|
-
], 64);
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
export {
|
|
114
|
-
$ as default
|
|
115
|
-
};
|
|
116
|
-
//# sourceMappingURL=JobConfig2.vue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JobConfig2.vue.js","sources":["../../../../../src/views/system/config/components/JobConfig.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref } from 'vue'\nimport { NForm, NFormItem, NInputNumber, NInput, NButton, NSpin, useMessage } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\nimport { configApi } from '#/api'\nimport { translateError } from '#/utils/error'\nimport GroupExtraConfig from './GroupExtraConfig.vue'\n\nconst KEY_LOG_RETENTION = 'sys.job.logRetentionDays'\nconst KEY_ALERT_EMAILS = 'sys.job.alertEmails'\nconst CLAIMED_KEYS = [KEY_LOG_RETENTION, KEY_ALERT_EMAILS]\n\nconst { t } = useI18n()\nconst message = useMessage()\n\nconst logRetentionDays = ref(30)\nconst alertEmails = ref('')\nconst loading = ref(true)\nconst saving = ref(false)\n\nonMounted(async () => {\n try {\n const rows = await configApi.listByGroup('job')\n const map = new Map(rows.map(r => [r.configKey, r.configValue ?? '']))\n logRetentionDays.value = Number(map.get(KEY_LOG_RETENTION)) || 30\n alertEmails.value = map.get(KEY_ALERT_EMAILS) ?? ''\n } catch (e) {\n message.error(translateError(e))\n } finally {\n loading.value = false\n }\n})\n\nasync function save() {\n saving.value = true\n try {\n await configApi.saveBatch([\n { configKey: KEY_LOG_RETENTION, configValue: String(logRetentionDays.value) },\n { configKey: KEY_ALERT_EMAILS, configValue: alertEmails.value },\n ])\n message.success(t('config.saved'))\n } catch (e) {\n message.error(translateError(e))\n } finally {\n saving.value = false\n }\n}\n</script>\n\n<template>\n <n-spin :show=\"loading\">\n <n-form label-placement=\"left\" :label-width=\"150\" style=\"max-width: 560px\">\n <n-form-item :label=\"t('config.job.logRetentionDays')\">\n <n-input-number v-model:value=\"logRetentionDays\" :min=\"1\" style=\"width: 160px\" />\n </n-form-item>\n <n-form-item :label=\"t('config.job.alertEmails')\">\n <n-input\n v-model:value=\"alertEmails\"\n type=\"textarea\"\n :autosize=\"{ minRows: 2 }\"\n :placeholder=\"t('config.job.alertEmailsHint')\"\n />\n </n-form-item>\n <n-form-item :label=\"' '\" :show-feedback=\"false\">\n <n-button\n v-auth=\"'PUT:/api/v1/sys/config/batch'\"\n type=\"primary\"\n :loading=\"saving\"\n @click=\"save\"\n >\n <template #icon><AppIcon icon=\"ph:floppy-disk\" :size=\"16\" /></template>\n {{ t('common.save') }}\n </n-button>\n </n-form-item>\n </n-form>\n </n-spin>\n <GroupExtraConfig group=\"job\" :claimed=\"CLAIMED_KEYS\" />\n</template>\n"],"names":["KEY_LOG_RETENTION","KEY_ALERT_EMAILS","CLAIMED_KEYS","t","useI18n","message","useMessage","logRetentionDays","ref","alertEmails","loading","saving","onMounted","rows","configApi","map","e","translateError","save","_createVNode","_unref","NSpin","NForm","NFormItem","NInputNumber","$event","NInput","_createBlock","NButton","AppIcon","_createTextVNode","GroupExtraConfig"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OtherConfig.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { defineComponent as S, ref as l, watch as T, resolveDirective as E, openBlock as d, createElementBlock as x, Fragment as P, createVNode as m, unref as r, withCtx as c, withDirectives as R, createBlock as N, createTextVNode as b, toDisplayString as z, h as n } from "vue";
|
|
2
|
-
import { useMessage as D, NButton as f, NSpace as U, NPopconfirm as B } from "naive-ui";
|
|
3
|
-
import { useI18n as O } from "vue-i18n";
|
|
4
|
-
import { SmartTable as V } from "smart-naive-table";
|
|
5
|
-
import A from "../../../../components/AppIcon.vue.js";
|
|
6
|
-
import { useConfirm as I } from "../../../../composables/useConfirm.js";
|
|
7
|
-
import { useAuthStore as q } from "../../../../stores/auth.js";
|
|
8
|
-
import { configApi as g } from "../../../../api/index.js";
|
|
9
|
-
import { translateError as G } from "../../../../utils/error.js";
|
|
10
|
-
import $ from "./ConfigFormModal2.vue.js";
|
|
11
|
-
import { configRevision as F, STRUCTURED_GROUPS as K, bumpConfigRevision as L } from "../groups.js";
|
|
12
|
-
const re = /* @__PURE__ */ S({
|
|
13
|
-
__name: "OtherConfig",
|
|
14
|
-
setup(M) {
|
|
15
|
-
const { t: o } = O(), h = D(), { run: y } = I(), u = q(), p = l(), v = (e) => g.page({ ...e, excludedGroupCodes: K });
|
|
16
|
-
T(F, () => {
|
|
17
|
-
var e;
|
|
18
|
-
return (e = p.value) == null ? void 0 : e.refresh();
|
|
19
|
-
});
|
|
20
|
-
const k = [
|
|
21
|
-
{ type: "index", title: () => o("common.rowNo"), width: 64, align: "center" },
|
|
22
|
-
{ key: "configKey", title: () => o("config.key"), search: !0 },
|
|
23
|
-
{ key: "name", title: () => o("config.name"), search: !0 },
|
|
24
|
-
{
|
|
25
|
-
key: "configValue",
|
|
26
|
-
title: () => o("config.value"),
|
|
27
|
-
ellipsis: { tooltip: !0 },
|
|
28
|
-
render: (e) => e.configValue || "—"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
key: "groupCode",
|
|
32
|
-
title: () => o("config.group"),
|
|
33
|
-
search: !0,
|
|
34
|
-
render: (e) => e.groupCode || "—"
|
|
35
|
-
},
|
|
36
|
-
{ key: "sort", title: () => o("config.sort"), width: 80 },
|
|
37
|
-
{ key: "createTime", title: () => o("common.createTime"), format: "datetime" },
|
|
38
|
-
{
|
|
39
|
-
key: "op",
|
|
40
|
-
title: () => o("common.operation"),
|
|
41
|
-
width: 140,
|
|
42
|
-
fixed: "right",
|
|
43
|
-
hideInSetting: !0,
|
|
44
|
-
render: (e) => n(U, { size: 4, wrapItem: !1 }, () => [
|
|
45
|
-
u.hasPerm("PUT:/api/v1/sys/config/{id}") ? n(
|
|
46
|
-
f,
|
|
47
|
-
{ size: "small", quaternary: !0, type: "primary", onClick: () => C(e) },
|
|
48
|
-
() => o("common.edit")
|
|
49
|
-
) : null,
|
|
50
|
-
u.hasPerm("DELETE:/api/v1/sys/config/{id}") ? n(
|
|
51
|
-
B,
|
|
52
|
-
{
|
|
53
|
-
// popconfirm 当触发器,「执行→toast」交给 useConfirm().run(与 module 页一致)。
|
|
54
|
-
onPositiveClick: () => y(() => g.remove(e.id), o("config.deleted")).then((t) => {
|
|
55
|
-
t && L();
|
|
56
|
-
})
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
trigger: () => n(
|
|
60
|
-
f,
|
|
61
|
-
{ size: "small", quaternary: !0, type: "error" },
|
|
62
|
-
() => o("common.delete")
|
|
63
|
-
),
|
|
64
|
-
default: () => o("config.deleteConfirm", { name: e.name })
|
|
65
|
-
}
|
|
66
|
-
) : null
|
|
67
|
-
])
|
|
68
|
-
}
|
|
69
|
-
], i = l(!1), a = l(null);
|
|
70
|
-
function w() {
|
|
71
|
-
a.value = null, i.value = !0;
|
|
72
|
-
}
|
|
73
|
-
function C(e) {
|
|
74
|
-
a.value = e, i.value = !0;
|
|
75
|
-
}
|
|
76
|
-
return (e, t) => {
|
|
77
|
-
const _ = E("auth");
|
|
78
|
-
return d(), x(P, null, [
|
|
79
|
-
m(r(V), {
|
|
80
|
-
"default-page-size": 100,
|
|
81
|
-
ref_key: "tableRef",
|
|
82
|
-
ref: p,
|
|
83
|
-
columns: k,
|
|
84
|
-
fetcher: v,
|
|
85
|
-
"storage-key": "sys-config",
|
|
86
|
-
onError: t[0] || (t[0] = (s) => r(h).error(r(G)(s)))
|
|
87
|
-
}, {
|
|
88
|
-
toolbar: c(() => [
|
|
89
|
-
R((d(), N(r(f), {
|
|
90
|
-
type: "primary",
|
|
91
|
-
onClick: w
|
|
92
|
-
}, {
|
|
93
|
-
icon: c(() => [
|
|
94
|
-
m(A, {
|
|
95
|
-
icon: "ph:plus",
|
|
96
|
-
size: 16
|
|
97
|
-
})
|
|
98
|
-
]),
|
|
99
|
-
default: c(() => [
|
|
100
|
-
b(" " + z(r(o)("common.add")), 1)
|
|
101
|
-
]),
|
|
102
|
-
_: 1
|
|
103
|
-
})), [
|
|
104
|
-
[_, "POST:/api/v1/sys/config"]
|
|
105
|
-
])
|
|
106
|
-
]),
|
|
107
|
-
_: 1
|
|
108
|
-
}, 512),
|
|
109
|
-
m($, {
|
|
110
|
-
show: i.value,
|
|
111
|
-
"onUpdate:show": t[1] || (t[1] = (s) => i.value = s),
|
|
112
|
-
row: a.value
|
|
113
|
-
}, null, 8, ["show", "row"])
|
|
114
|
-
], 64);
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
export {
|
|
119
|
-
re as default
|
|
120
|
-
};
|
|
121
|
-
//# sourceMappingURL=OtherConfig2.vue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OtherConfig2.vue.js","sources":["../../../../../src/views/system/config/components/OtherConfig.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 其他配置 = 分类配置中心的兜底:只列不归任何结构化 Tab 的分组(含空分组)。\n// 结构化分组里没被字段认领的行在各自 Tab 的「本组其它配置」里,这里不重复列。\n// 列驱动搜索/分页/竞态交 SmartTable,新增/编辑弹窗是共用的 ConfigFormModal。\nimport { h, ref, watch } from 'vue'\nimport { NButton, NSpace, NPopconfirm, useMessage } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport { SmartTable, type SmartTableColumn, type SmartTableInst } from 'smart-naive-table'\nimport AppIcon from '#/components/AppIcon.vue'\nimport { useConfirm } from '#/composables/useConfirm'\nimport { useAuthStore } from '#/stores/auth'\nimport { configApi } from '#/api'\nimport { translateError } from '#/utils/error'\nimport type { SysConfig } from '#/types/api'\nimport ConfigFormModal from './ConfigFormModal.vue'\nimport { STRUCTURED_GROUPS, bumpConfigRevision, configRevision } from '../groups'\n\nconst { t } = useI18n()\nconst message = useMessage()\nconst { run } = useConfirm()\nconst authStore = useAuthStore()\nconst tableRef = ref<SmartTableInst<SysConfig>>()\n\nconst fetchOtherConfigs = (params: Parameters<typeof configApi.page>[0]) =>\n configApi.page({ ...params, excludedGroupCodes: STRUCTURED_GROUPS })\n\n// 任何 Tab 里增删改了配置行都刷当前页(不回第 1 页):改了分组的行要跟着进出本表\nwatch(configRevision, () => tableRef.value?.refresh())\n\nconst columns: SmartTableColumn<SysConfig>[] = [\n { type: 'index', title: () => t('common.rowNo'), width: 64, align: 'center' },\n { key: 'configKey', title: () => t('config.key'), search: true },\n { key: 'name', title: () => t('config.name'), search: true },\n {\n key: 'configValue',\n title: () => t('config.value'),\n ellipsis: { tooltip: true },\n render: r => r.configValue || '—',\n },\n {\n key: 'groupCode',\n title: () => t('config.group'),\n search: true,\n render: r => r.groupCode || '—',\n },\n { key: 'sort', title: () => t('config.sort'), width: 80 },\n { key: 'createTime', title: () => t('common.createTime'), format: 'datetime' },\n {\n key: 'op',\n title: () => t('common.operation'),\n width: 140,\n fixed: 'right',\n hideInSetting: true,\n render: r =>\n h(NSpace, { size: 4, wrapItem: false }, () => [\n authStore.hasPerm('PUT:/api/v1/sys/config/{id}')\n ? h(\n NButton,\n { size: 'small', quaternary: true, type: 'primary', onClick: () => openEdit(r) },\n () => t('common.edit'),\n )\n : null,\n authStore.hasPerm('DELETE:/api/v1/sys/config/{id}')\n ? h(\n NPopconfirm,\n {\n // popconfirm 当触发器,「执行→toast」交给 useConfirm().run(与 module 页一致)。\n onPositiveClick: () =>\n run(() => configApi.remove(r.id), t('config.deleted')).then(ok => {\n if (ok) bumpConfigRevision()\n }),\n },\n {\n trigger: () =>\n h(NButton, { size: 'small', quaternary: true, type: 'error' }, () =>\n t('common.delete'),\n ),\n default: () => t('config.deleteConfirm', { name: r.name }),\n },\n )\n : null,\n ]),\n },\n]\n\nconst show = ref(false)\nconst editing = ref<SysConfig | null>(null)\nfunction openAdd() {\n editing.value = null\n show.value = true\n}\nfunction openEdit(r: SysConfig) {\n editing.value = r\n show.value = true\n}\n</script>\n\n<template>\n <SmartTable\n :default-page-size=\"100\"\n ref=\"tableRef\"\n :columns=\"columns\"\n :fetcher=\"fetchOtherConfigs\"\n storage-key=\"sys-config\"\n @error=\"e => message.error(translateError(e))\"\n >\n <template #toolbar>\n <n-button v-auth=\"'POST:/api/v1/sys/config'\" type=\"primary\" @click=\"openAdd\">\n <template #icon><AppIcon icon=\"ph:plus\" :size=\"16\" /></template>\n {{ t('common.add') }}\n </n-button>\n </template>\n </SmartTable>\n\n <ConfigFormModal v-model:show=\"show\" :row=\"editing\" />\n</template>\n"],"names":["t","useI18n","message","useMessage","run","useConfirm","authStore","useAuthStore","tableRef","ref","fetchOtherConfigs","params","configApi","STRUCTURED_GROUPS","watch","configRevision","_a","columns","r","h","NSpace","NButton","openEdit","NPopconfirm","ok","bumpConfigRevision","show","editing","openAdd","_createVNode","_unref","SmartTable","_cache","e","translateError","_createBlock","AppIcon","_createTextVNode","ConfigFormModal","$event"],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import o from "./SecurityConfig2.vue.js";
|
|
2
|
-
/* empty css */
|
|
3
|
-
import t from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const e = /* @__PURE__ */ t(o, [["__scopeId", "data-v-c20e33fd"]]);
|
|
5
|
-
export {
|
|
6
|
-
e as default
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=SecurityConfig.vue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityConfig.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|