cnhis-design-vue 3.1.24-beta.1 → 3.1.24-beta.2

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 (32) hide show
  1. package/README.md +123 -123
  2. package/es/components/big-table/src/BigTable.vue.d.ts +16 -1
  3. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  4. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  5. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  6. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  7. package/es/components/fabric-chart/src/utils/index.d.ts +6823 -0
  8. package/es/components/form-config/index.d.ts +1 -0
  9. package/es/components/form-config/src/FormConfig.vue.d.ts +1 -0
  10. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +1 -0
  11. package/es/components/form-render/index.js +1 -1
  12. package/es/components/form-render/src/FormRender.js +14 -1
  13. package/es/components/form-render/src/components/renderer/formItem.js +10 -2
  14. package/es/components/form-render/src/components/renderer/search.js +1 -0
  15. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -0
  16. package/es/components/form-render/src/components/renderer/select.js +1 -0
  17. package/es/components/form-render/src/hooks/index.js +1 -1
  18. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +7 -3
  19. package/es/components/form-render/src/hooks/useFormValidator.d.ts +1 -0
  20. package/es/components/form-render/src/hooks/useFormValidator.js +17 -3
  21. package/es/components/form-render/src/types/fieldItem.d.ts +4 -0
  22. package/es/components/form-render/src/utils/index.d.ts +1 -0
  23. package/es/components/form-render/src/utils/index.js +10 -1
  24. package/es/components/iho-table/index.d.ts +100 -270
  25. package/es/components/iho-table/src/IhoTable.vue.d.ts +100 -270
  26. package/es/components/index.js +1 -1
  27. package/es/components/shortcut-setter/index.d.ts +1 -0
  28. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +1 -0
  29. package/es/shared/utils/index.d.ts +1 -0
  30. package/es/shared/utils/index.js +19 -2
  31. package/es/shared/utils/tapable/index.d.ts +139 -0
  32. package/package.json +2 -2
@@ -970,6 +970,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
970
970
  } | undefined;
971
971
  suffixConfig?: any | any[] | undefined;
972
972
  autograph?: string | undefined;
973
+ defined_error_msg?: string | undefined;
973
974
  fieldType?: import("@formily/json-schema").SchemaTypes | undefined;
974
975
  content?: string | import("..").FormRenderer | Record<string, import("..").FormRenderer> | undefined;
975
976
  lazyRequest?: boolean | undefined;
@@ -972,6 +972,7 @@ declare const _default: import("vue").DefineComponent<{
972
972
  } | undefined;
973
973
  suffixConfig?: any | any[] | undefined;
974
974
  autograph?: string | undefined;
975
+ defined_error_msg?: string | undefined;
975
976
  fieldType?: import("@formily/json-schema").SchemaTypes | undefined;
976
977
  content?: string | import("../..").FormRenderer | Record<string, import("../..").FormRenderer> | undefined;
977
978
  lazyRequest?: boolean | undefined;
@@ -101,6 +101,7 @@ declare const _default: import("vue").DefineComponent<{}, {
101
101
  } | undefined;
102
102
  suffixConfig?: any | any[] | undefined;
103
103
  autograph?: string | undefined;
104
+ defined_error_msg?: string | undefined;
104
105
  fieldType?: import("@formily/json-schema").SchemaTypes | undefined;
105
106
  content?: string | import("../../../../../es/components/form-render").FormRenderer | Record<string, import("../../../../../es/components/form-render").FormRenderer> | undefined;
106
107
  lazyRequest?: boolean | undefined;
@@ -8,7 +8,7 @@ export { useFormField } from './src/hooks/useFormField.js';
8
8
  export { AsyncQueue, useAsyncQueue } from './src/hooks/useAsyncQueue.js';
9
9
  export { useFieldVisitor } from './src/hooks/useFieldVisitor.js';
10
10
  export { useFieldNormalize } from './src/hooks/useFieldNormalize.js';
11
- export { useFormValidator } from './src/hooks/useFormValidator.js';
11
+ export { useFormValidator, validateMessageLocale } from './src/hooks/useFormValidator.js';
12
12
  export { BusinessCollector, useBusinessBinding } from './src/hooks/useBusinessBinding.js';
13
13
  export { ContextCollector, useChangeContext } from './src/hooks/useChangeContext.js';
14
14
  export { FormItemDepsCollector, useFormItemDeps } from './src/hooks/useFormItemDeps.js';
@@ -22,6 +22,7 @@ import '../../../shared/utils/tapable/AsyncSeriesHook.js';
22
22
  import '../../../shared/utils/tapable/AsyncSeriesBailHook.js';
23
23
  import '../../../shared/utils/tapable/AsyncSeriesLoopHook.js';
24
24
  import '../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js';
25
+ import { validateMessageLocale } from './hooks/useFormValidator.js';
25
26
  import '@vueuse/core';
26
27
  import { useAnchor } from './hooks/useAnchor.js';
27
28
  import { useFormContext } from './hooks/useFormContext.js';
@@ -62,6 +63,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
62
63
  setup(__props, { expose, emit }) {
63
64
  const props = __props;
64
65
  const { nuiThemeOverrides } = useNuiThemeOverrides();
66
+ validateMessageLocale();
65
67
  useFormRenderLifeCycle(props).callLifeCycle("onSetup");
66
68
  const formModel = createForm({
67
69
  initialValues: props.initialData,
@@ -151,7 +153,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
151
153
  return formModel.getFormState().values;
152
154
  },
153
155
  setFieldState(path, handler) {
154
- formModel.setFieldState(path, handler);
156
+ formModel.setFieldState(path, (state) => {
157
+ handler(
158
+ new Proxy(state, {
159
+ get(target, key, receiver) {
160
+ return Reflect.get(target, key, receiver);
161
+ },
162
+ set(target, key, value, receiver) {
163
+ return Reflect.set(target, key, value, receiver);
164
+ }
165
+ })
166
+ );
167
+ });
155
168
  },
156
169
  resetFields(path = "*") {
157
170
  formModel.reset(path);
@@ -1,10 +1,11 @@
1
1
  import { defineComponent, inject, computed, createVNode } from 'vue';
2
2
  import { isVoidField } from '@formily/core';
3
3
  import { useField, connect, mapProps } from '@formily/vue';
4
+ import { isString } from 'lodash-es';
4
5
  import { NFormItem } from 'naive-ui';
5
6
  import Annotation from '../../../../annotation-edit/index.js';
6
7
  import { InjectionAnnotation, InjectionFormUUID } from '../../constants/index.js';
7
- import '../../utils/index.js';
8
+ import { validateMessageParser } from '../../utils/index.js';
8
9
  import { dotEscape } from '../../utils/schema.js';
9
10
 
10
11
  const script = defineComponent({
@@ -65,9 +66,10 @@ const script = defineComponent({
65
66
  const FORM_ITEM = connect(script, mapProps({
66
67
  title: "label"
67
68
  }, (props, field) => {
68
- const feedback = !isVoidField(field) ? field.selfErrors.length ? field.selfErrors.join(",") : void 0 : void 0;
69
+ const feedback = !isVoidField(field) ? field.selfErrors.length ? parseFeedback(field.selfErrors, props.fieldItem) : void 0 : void 0;
69
70
  return {
70
71
  ...props,
72
+ fieldItem: void 0,
71
73
  required: isVoidField(field) ? void 0 : field.required,
72
74
  class: "form-render__formItem",
73
75
  style: {
@@ -77,5 +79,11 @@ const FORM_ITEM = connect(script, mapProps({
77
79
  "validation-status": feedback ? "error" : void 0
78
80
  };
79
81
  }));
82
+ function parseFeedback(selfErrors, fieldItem) {
83
+ if (!isString(fieldItem.defined_error_msg) || !fieldItem.defined_error_msg) {
84
+ return selfErrors.map((message) => validateMessageParser(message, fieldItem)).join(",");
85
+ }
86
+ return validateMessageParser(fieldItem.defined_error_msg, fieldItem);
87
+ }
80
88
 
81
89
  export { FORM_ITEM };
@@ -18,6 +18,7 @@ import '../../../../../shared/utils/tapable/AsyncSeriesHook.js';
18
18
  import '../../../../../shared/utils/tapable/AsyncSeriesBailHook.js';
19
19
  import '../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js';
20
20
  import '../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js';
21
+ import '../../hooks/useFormValidator.js';
21
22
  import '@formily/core';
22
23
  import '@vue/shared';
23
24
  import { connect, mapProps } from '@formily/vue';
@@ -18,6 +18,7 @@ import '../../../../../shared/utils/tapable/AsyncSeriesHook.js';
18
18
  import '../../../../../shared/utils/tapable/AsyncSeriesBailHook.js';
19
19
  import '../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js';
20
20
  import '../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js';
21
+ import '../../hooks/useFormValidator.js';
21
22
  import '@vue/shared';
22
23
  import { connect, mapProps } from '@formily/vue';
23
24
  import './input.js';
@@ -18,6 +18,7 @@ import '../../../../../shared/utils/tapable/AsyncSeriesHook.js';
18
18
  import '../../../../../shared/utils/tapable/AsyncSeriesBailHook.js';
19
19
  import '../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js';
20
20
  import '../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js';
21
+ import '../../hooks/useFormValidator.js';
21
22
  import '@vue/shared';
22
23
  import { connect, mapProps } from '@formily/vue';
23
24
  import './input.js';
@@ -5,7 +5,7 @@ export { useFormField } from './useFormField.js';
5
5
  export { AsyncQueue, useAsyncQueue } from './useAsyncQueue.js';
6
6
  export { useFieldVisitor } from './useFieldVisitor.js';
7
7
  export { useFieldNormalize } from './useFieldNormalize.js';
8
- export { useFormValidator } from './useFormValidator.js';
8
+ export { useFormValidator, validateMessageLocale } from './useFormValidator.js';
9
9
  export { BusinessCollector, useBusinessBinding } from './useBusinessBinding.js';
10
10
  export { ContextCollector, useChangeContext } from './useChangeContext.js';
11
11
  export { FormItemDepsCollector, useFormItemDeps } from './useFormItemDeps.js';
@@ -1,6 +1,6 @@
1
- import { arrayed } from '../../../../shared/utils/index.js';
1
+ import { arrayed, deepOmit } from '../../../../shared/utils/index.js';
2
2
  import { isObject } from '@vueuse/core';
3
- import { cloneDeep, omit, pick } from 'lodash-es';
3
+ import { cloneDeep, pick } from 'lodash-es';
4
4
  import '../../index.js';
5
5
  import { parseNumberFromMaybeString, formRenderLog } from '../utils/index.js';
6
6
  import { useFieldNormalize } from './useFieldNormalize.js';
@@ -35,9 +35,13 @@ function useFieldListAdaptor(collector) {
35
35
  result["x-reactions"] = item.reactions;
36
36
  }
37
37
  if (!item.noDecorator) {
38
+ if (JSON.stringify(item).includes("$deps")) {
39
+ console.log(item);
40
+ }
38
41
  Object.assign(result, {
39
42
  "x-decorator": "FORM_ITEM",
40
43
  "x-decorator-props": {
44
+ fieldItem: deepOmit(item, ["reactions"]),
41
45
  span: item.elem_width,
42
46
  showLabel: item.hide_title !== "1",
43
47
  propertyKey: item.val_key,
@@ -171,7 +175,7 @@ function useFieldListAdaptor(collector) {
171
175
  const createCustomSchema = (item) => {
172
176
  const schema = createStandardSchema(item);
173
177
  Object.assign(schema["x-component-props"], {
174
- fieldItem: omit(item, ["reactions"])
178
+ fieldItem: deepOmit(item, ["reactions"])
175
179
  });
176
180
  return schema;
177
181
  };
@@ -3,3 +3,4 @@ import { FieldItem } from '../types';
3
3
  export declare function useFormValidator(): {
4
4
  createValidatorSchema: (fieldItem: FieldItem) => AnyObject[];
5
5
  };
6
+ export declare const validateMessageLocale: () => void;
@@ -1,7 +1,8 @@
1
1
  import { arrayed } from '../../../../shared/utils/index.js';
2
- import { isString } from 'lodash-es';
2
+ import { once, isString } from 'lodash-es';
3
3
  import '../utils/index.js';
4
4
  import { isFunction } from '@vueuse/core';
5
+ import { registerValidateLocale } from '@formily/core';
5
6
  import { isIdCard } from '../utils/business.js';
6
7
 
7
8
  function useFormValidator() {
@@ -42,7 +43,11 @@ function useFormValidator() {
42
43
  };
43
44
  function createValidatorSchema(fieldItem) {
44
45
  const rules = [];
45
- const { validate: { vali_obj, max_length, message, max_value, min_value, decimal_length } = {}, validator } = fieldItem;
46
+ const {
47
+ defined_error_msg,
48
+ validate: { vali_obj, max_length, min_length, message, max_value, min_value, decimal_length } = {},
49
+ validator
50
+ } = fieldItem;
46
51
  if (validator) {
47
52
  arrayed(validator).forEach((f) => {
48
53
  if (!isFunction(f))
@@ -52,6 +57,8 @@ function useFormValidator() {
52
57
  }
53
58
  if (max_length)
54
59
  rules.push({ max: max_length, message });
60
+ if (min_length)
61
+ rules.push({ min: min_length, message });
55
62
  if (max_value)
56
63
  rules.push({ maximum: max_value, message });
57
64
  if (min_value)
@@ -66,5 +73,12 @@ function useFormValidator() {
66
73
  }
67
74
  return { createValidatorSchema };
68
75
  }
76
+ const validateMessageLocale = once(() => {
77
+ registerValidateLocale({
78
+ "zh-CN": {
79
+ required: "${alias}\u4E3A\u5FC5\u586B"
80
+ }
81
+ });
82
+ });
69
83
 
70
- export { useFormValidator };
84
+ export { useFormValidator, validateMessageLocale };
@@ -177,6 +177,10 @@ export declare type FieldItem = {
177
177
  * 数据源签名
178
178
  */
179
179
  autograph: string;
180
+ /**
181
+ * 合并错误信息
182
+ */
183
+ defined_error_msg: string;
180
184
  /**
181
185
  * 数据类型
182
186
  */
@@ -16,3 +16,4 @@ export declare function presetRequestHandler(res: unknown): any;
16
16
  export declare function optionMatcher(options: AnyObject[], input: Nullable<string>, key: string, matcherOption?: {
17
17
  keyword?: string;
18
18
  }): AnyObject[];
19
+ export declare function validateMessageParser(message: string, fieldItem: Omit<FieldItem, 'reactions'>): string;
@@ -124,5 +124,14 @@ function optionMatcher(options, input, key, matcherOption = {
124
124
  return option[key];
125
125
  }
126
126
  }
127
+ function validateMessageParser(message, fieldItem) {
128
+ if (!isString(message) || !message)
129
+ return "";
130
+ return message.replace(/\$\{([^}]*)}/g, replacer);
131
+ function replacer(_, property) {
132
+ var _a;
133
+ return (_a = fieldItem[property.trim()]) != null ? _a : "";
134
+ }
135
+ }
127
136
 
128
- export { createInputSlot, createSlot, formRenderLog, injectOrProvide, mergeDeepProperties, optionMatcher, parseNumberFromMaybeString, presetRequestHandler };
137
+ export { createInputSlot, createSlot, formRenderLog, injectOrProvide, mergeDeepProperties, optionMatcher, parseNumberFromMaybeString, presetRequestHandler, validateMessageParser };