@liujitcn/kratos-admin-system 0.0.44 → 0.0.46

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.
@@ -111,6 +111,7 @@
111
111
  <script setup lang="ts">
112
112
  import { computed, h, nextTick, reactive, ref, watch } from "vue";
113
113
  import { useDebounceFn } from "@vueuse/core";
114
+ import type { FormItemRule } from "element-plus";
114
115
  import type { ColumnProps, HeaderActionProps, ProTableInstance } from "@liujitcn/kratos-admin-core/components/ProTable/interface";
115
116
  import ProTable from "@liujitcn/kratos-admin-core/components/ProTable";
116
117
  import ProForm from "@liujitcn/kratos-admin-core/components/ProForm/index.vue";
@@ -179,21 +180,25 @@ const localizedFormFields = computed<ProFormField[]>(() =>
179
180
  visible: field.visible,
180
181
  labelTooltip: field.labelTooltipKey ? t(field.labelTooltipKey) : undefined,
181
182
  valueType: field.valueType,
182
- rules: field.rules?.map(rule => ({
183
- ...rule,
184
- required: Boolean(rule.required),
185
- message: t(
186
- rule.messageKey,
187
- rule.messageArgs
188
- ? Object.fromEntries(
189
- Object.entries(rule.messageArgs).map(([key, value]) => [
190
- key,
191
- typeof value === "object" ? t(value.key) : typeof value === "boolean" ? String(value) : value
192
- ])
193
- )
194
- : undefined
195
- )
196
- }))
183
+ rules: field.rules?.map(rule => {
184
+ const formRule: FormItemRule = {
185
+ required: Boolean(rule.required),
186
+ type: (field.component === "input-number" && !rule.type ? "number" : rule.type) as FormItemRule["type"],
187
+ trigger: rule.trigger,
188
+ message: t(
189
+ rule.messageKey,
190
+ rule.messageArgs
191
+ ? Object.fromEntries(
192
+ Object.entries(rule.messageArgs).map(([key, value]) => [
193
+ key,
194
+ typeof value === "object" ? t(value.key) : typeof value === "boolean" ? String(value) : value
195
+ ])
196
+ )
197
+ : undefined
198
+ )
199
+ };
200
+ return Object.assign(formRule, rule);
201
+ })
197
202
  }))
198
203
  );
199
204
 
@@ -660,8 +665,9 @@ function normalizeRuntimeConfigValue() {
660
665
  if (!formDefinition.value) return;
661
666
  for (const field of formDefinition.value.fields) {
662
667
  const value = field.prop.split(".").reduce<any>((current, key) => current?.[key], formValue.value);
663
- if (field.valueType === "number" && typeof value === "string" && value !== "") {
664
- setRuntimeConfigFieldValue(field.prop, Number(value));
668
+ if (field.valueType === "number" && value !== "" && value !== null && value !== undefined) {
669
+ const normalizedValue = typeof value === "number" ? value : Number(value);
670
+ if (!Number.isNaN(normalizedValue)) setRuntimeConfigFieldValue(field.prop, normalizedValue);
665
671
  } else if (field.valueType === "boolean" && typeof value === "string") {
666
672
  setRuntimeConfigFieldValue(field.prop, value === "true");
667
673
  } else if (field.valueType === "json" && typeof value === "string" && value !== "") {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@liujitcn/kratos-admin-system",
3
3
  "private": false,
4
- "version": "0.0.44",
4
+ "version": "0.0.46",
5
5
  "type": "module",
6
6
  "description": "kratos-admin system management module",
7
7
  "license": "MIT",
@@ -16,7 +16,7 @@
16
16
  "sortablejs": "^1.15.2",
17
17
  "swagger-ui-dist": "^5.32.9",
18
18
  "vue-element-plus-x": "^2.0.3",
19
- "@liujitcn/kratos-admin-core": "0.0.44"
19
+ "@liujitcn/kratos-admin-core": "0.0.46"
20
20
  },
21
21
  "peerDependencies": {
22
22
  "@element-plus/icons-vue": "^2.3.1",