cnhis-design-vue 3.1.16-beta.3 → 3.1.16-beta.6

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 (36) hide show
  1. package/es/packages/big-table/index.d.ts +1 -429
  2. package/es/packages/big-table/src/BigTable.vue.d.ts +24 -449
  3. package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +70 -101
  4. package/es/packages/big-table/style/index.css +1 -2
  5. package/es/packages/fabric-chart/src/FabricChart.js +2 -1
  6. package/es/packages/fabric-chart/src/hooks/useLeft.js +8 -4
  7. package/es/packages/form-config/index.d.ts +2 -6
  8. package/es/packages/form-config/src/FormConfig.vue.d.ts +2 -6
  9. package/es/packages/form-config/src/components/FormConfigCreator.vue.d.ts +1 -3
  10. package/es/packages/form-config/src/components/FormConfigEdit.vue.d.ts +1 -3
  11. package/es/packages/form-render/index.d.ts +1 -3
  12. package/es/packages/form-render/src/FormRender.js +6 -3
  13. package/es/packages/form-render/src/FormRender.vue.d.ts +1 -3
  14. package/es/packages/form-render/src/components/renderer/cascader.js +2 -2
  15. package/es/packages/form-render/src/components/renderer/date.d.ts +20 -4
  16. package/es/packages/form-render/src/components/renderer/date.js +36 -20
  17. package/es/packages/form-render/src/components/renderer/linebar.js +1 -4
  18. package/es/packages/form-render/src/components/renderer/select.js +19 -13
  19. package/es/packages/form-render/src/components/renderer/slider.d.ts +8 -344
  20. package/es/packages/form-render/src/components/renderer/slider.js +23 -1
  21. package/es/packages/form-render/src/hooks/useAnchor.js +7 -4
  22. package/es/packages/form-render/src/hooks/useChangeContext.d.ts +4 -2
  23. package/es/packages/form-render/src/hooks/useChangeContext.js +4 -7
  24. package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +4 -4
  25. package/es/packages/form-render/src/hooks/useFormValidator.js +13 -3
  26. package/es/packages/form-render/src/hooks/useInitialData.d.ts +1 -1
  27. package/es/packages/form-render/src/hooks/useInitialData.js +9 -4
  28. package/es/packages/form-render/src/utils/business.js +15 -2
  29. package/es/packages/form-render/src/utils/index.d.ts +1 -1
  30. package/es/packages/form-render/src/utils/index.js +5 -2
  31. package/es/packages/form-render/src/utils/schema.d.ts +1 -0
  32. package/es/packages/form-render/src/utils/schema.js +12 -1
  33. package/es/packages/index.css +1 -2
  34. package/es/packages/shortcut-setter/index.d.ts +1 -3
  35. package/es/packages/shortcut-setter/src/ShortcutSetter.vue.d.ts +1 -3
  36. package/package.json +1 -1
@@ -128,9 +128,9 @@ function useFieldListAdaptor(collector, uuid) {
128
128
  const createSliderSchema = (item) => {
129
129
  const schema = createStandardSchema(item);
130
130
  Object.assign(schema["x-component-props"], {
131
- step: Number(item.step_length),
132
- max: +item.max_length,
133
- min: +item.min_length,
131
+ step: parseNumberFromMaybeString(item.step_length),
132
+ max: parseNumberFromMaybeString(item.max_length),
133
+ min: parseNumberFromMaybeString(item.min_length),
134
134
  option: item.option
135
135
  });
136
136
  return schema;
@@ -152,7 +152,7 @@ function useFieldListAdaptor(collector, uuid) {
152
152
  line: item.__line,
153
153
  disabled: item.is_not_fold === "1",
154
154
  id: createLinebarId(item.val_key),
155
- show: !!item.is_show
155
+ show: item.is_show !== "0"
156
156
  }
157
157
  };
158
158
  };
@@ -1,16 +1,26 @@
1
+ import { isString } from 'lodash-es';
1
2
  import { arrayed } from '../utils/index.js';
2
3
  import { isFunction } from '@vueuse/core';
4
+ import { isIdCard } from '../utils/business.js';
3
5
 
4
6
  function useFormValidator() {
5
7
  const validateMap = /* @__PURE__ */ new Map([
6
8
  ["mobile", ({ validate }) => ({ format: "phone", message: validate == null ? void 0 : validate.message })],
7
9
  ["integer", ({ validate }) => ({ format: "integer", message: validate == null ? void 0 : validate.message })],
8
10
  ["number", ({ validate }) => ({ format: "number", message: validate == null ? void 0 : validate.message })],
9
- ["id_card", ({ validate }) => ({ format: "idcard", message: validate == null ? void 0 : validate.message })],
11
+ [
12
+ "id_card",
13
+ ({ validate }) => ({
14
+ validator(value) {
15
+ var _a;
16
+ if (!isString(value) || !isIdCard(value))
17
+ return (_a = validate == null ? void 0 : validate.message) != null ? _a : "\u8BE5\u5B57\u6BB5\u4E0D\u662F\u5408\u6CD5\u7684\u8EAB\u4EFD\u8BC1\u683C\u5F0F";
18
+ }
19
+ })
20
+ ],
10
21
  [
11
22
  "regular",
12
- (field) => {
13
- const { validate, regular_expression, regular_error_tip } = field;
23
+ ({ validate, regular_expression, regular_error_tip }) => {
14
24
  const pattern = regular_expression || (validate == null ? void 0 : validate.regular_expression) || "";
15
25
  const message = regular_error_tip || (validate == null ? void 0 : validate.regular_error_tip) || (validate == null ? void 0 : validate.message) || "\u683C\u5F0F\u9519\u8BEF";
16
26
  return { pattern, message };
@@ -1,5 +1,5 @@
1
1
  import { AnyObject } from '../../../../../es/src/types';
2
2
  import { FieldItem } from '../types';
3
3
  export declare function useInitialData(): {
4
- assignInitialData: (initialData?: AnyObject, fieldList?: FieldItem[]) => AnyObject;
4
+ assignInitialData: (initialData?: AnyObject, fieldList?: FieldItem[]) => any;
5
5
  };
@@ -1,9 +1,14 @@
1
+ import { Path } from '@formily/path';
2
+ import { mergeWith } from 'lodash-es';
3
+ import { traverseFieldList } from '../../../../packages/form-render/src/utils';
4
+
1
5
  function useInitialData() {
2
6
  function assignInitialData(initialData, fieldList) {
3
- return Object.assign({}, initialData, fieldList == null ? void 0 : fieldList.reduce((fin, cur) => {
4
- cur.default_val != void 0 && (fin[cur.val_key] = cur.default_val);
5
- return fin;
6
- }, {}));
7
+ const defaultVal = {};
8
+ fieldList && traverseFieldList(fieldList, (field) => {
9
+ field.default_val != void 0 && Path.setIn(defaultVal, field.val_key, field.default_val);
10
+ });
11
+ return mergeWith({}, initialData, defaultVal);
7
12
  }
8
13
  return { assignInitialData };
9
14
  }
@@ -9,7 +9,7 @@ function parseIdCard(idCardNo) {
9
9
  const year = (birthYearSpan == 2 ? "19" : "") + certificateNo.substr(6, birthYearSpan);
10
10
  const month = certificateNo.substr(6 + birthYearSpan, 2);
11
11
  const day = certificateNo.substr(8 + birthYearSpan, 2);
12
- res.birthday = year + "-" + month + "-" + day;
12
+ res.birthday = year + "-" + month + "-" + day + " 00:00:00";
13
13
  const d = new Date();
14
14
  const monthFloor = d.getMonth() + 1 < parseInt(month, 10) || d.getMonth() + 1 == parseInt(month, 10) && d.getDate() < parseInt(day, 10) ? 1 : 0;
15
15
  Object.assign(res, parseBirthday(res.birthday));
@@ -26,8 +26,21 @@ function transformDateFormat(format2 = "") {
26
26
  return "month";
27
27
  return format2.includes("HH") ? "datetime" : "date";
28
28
  }
29
+ function validIdCard(cardNo) {
30
+ if (!cardNo || cardNo.length !== 18) {
31
+ return false;
32
+ }
33
+ const w = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
34
+ const v = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"];
35
+ let sum = 0;
36
+ for (let i = 0; i < 17; i++) {
37
+ sum += +cardNo[i] * w[i];
38
+ }
39
+ return cardNo.charAt(17).toUpperCase() === v[sum % 11];
40
+ }
41
+ const idcardMatcher = /^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}(\d|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}))$/;
29
42
  function isIdCard(idCardNo) {
30
- return /^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}(\d|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}))$/.test(idCardNo);
43
+ return idcardMatcher.test(idCardNo) && validIdCard(idCardNo);
31
44
  }
32
45
  function isMobile(mobile) {
33
46
  return /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/.test(mobile);
@@ -8,7 +8,7 @@ export declare function formRenderLog(message: string, type?: keyof Console): vo
8
8
  export declare function arrayed<T>(maybeArray: T): T extends Array<any> ? T : [T];
9
9
  export declare function mergeDeepProperties(target: AnyObject, fieldList: FieldItem[], traverseProperties?: string[], property?: string, targetProperty?: string): AnyObject;
10
10
  export declare function injectOrProvide<T>(key: InjectionKey<T>, creator: () => T): T;
11
- export declare function parseNumberFromMaybeString(value: unknown): unknown;
11
+ export declare function parseNumberFromMaybeString<T>(value: T): T extends number | string ? number : T;
12
12
  export declare function uuidGenerator(): string;
13
13
  export declare function createSlot(renderer: unknown, props: AnyObject): Record<string, () => ArrayAble<VNode>> | {
14
14
  default(): any;
@@ -3,7 +3,7 @@ import { isObject } from '@vue/shared';
3
3
  import { isNumber, isString, isFunction } from 'lodash-es';
4
4
  export { isIdCard, isMobile, parseAge2Birthday, parseAge2FromContext, parseBirthday, parseIdCard, transformDateFormat } from './business.js';
5
5
  export { queryDecorator, queryInput } from './dom.js';
6
- export { assignUpdateValue, createLinebarId, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseSchema } from './schema.js';
6
+ export { assignUpdateValue, createLinebarId, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseFieldList, traverseSchema } from './schema.js';
7
7
 
8
8
  function formRenderLog(message, type = "log") {
9
9
  console[type](`[FormRender]: ${message}`);
@@ -56,10 +56,13 @@ function parseNumberFromMaybeString(value) {
56
56
  return value;
57
57
  }
58
58
  function uuidGenerator() {
59
- return "key" + "xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
59
+ if (window.isSecureContext && window.crypto)
60
+ return `key${window.crypto.randomUUID()}`;
61
+ const uuid = "xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
60
62
  const r = Math.random() * 16 | 0, v = c == "x" ? r : r & 3 | 8;
61
63
  return v.toString(16);
62
64
  });
65
+ return `key${uuid}`;
63
66
  }
64
67
  function createSlot(renderer, props) {
65
68
  if (isObject(renderer) && !isFunction(renderer)) {
@@ -13,3 +13,4 @@ export declare function getParentLinebar(key: string, fieldList: FieldItem[]): W
13
13
  export declare function assignUpdateValue(props: AnyObject, field: GeneralField): {
14
14
  [x: string]: any;
15
15
  };
16
+ export declare function traverseFieldList(fieldList: FieldItem[], handler: (field: FieldItem) => void): void;
@@ -79,5 +79,16 @@ function assignUpdateValue(props, field) {
79
79
  }
80
80
  return _props;
81
81
  }
82
+ function traverseFieldList(fieldList, handler) {
83
+ function traverse(fieldList2) {
84
+ if (!isArray(fieldList2))
85
+ return;
86
+ fieldList2.forEach((field) => {
87
+ handler(field);
88
+ traverse(field.properties);
89
+ });
90
+ }
91
+ traverse(fieldList);
92
+ }
82
93
 
83
- export { assignUpdateValue, createLinebarId, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseSchema };
94
+ export { assignUpdateValue, createLinebarId, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseFieldList, traverseSchema };
@@ -282,7 +282,7 @@ body > .vxe-table--tooltip-wrapper {
282
282
  height: 30px;
283
283
  line-height: 30px;
284
284
  }
285
- .custom-big-table .vxe-table .vxe-cell--checkbox.is--disabled .vxe-checkbox--icon {
285
+ .custom-big-table .vxe-table .vxe-cell--checkbox .vxe-checkbox--label {
286
286
  display: none;
287
287
  }
288
288
  .custom-big-table .filter-box {
@@ -307,7 +307,6 @@ body > .vxe-table--tooltip-wrapper {
307
307
  }
308
308
  .custom-big-table .disabled-checked-tips {
309
309
  position: absolute;
310
- left: 6px;
311
310
  top: 50%;
312
311
  bottom: 0;
313
312
  right: 0;
@@ -1925,9 +1925,7 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
1925
1925
  }>>;
1926
1926
  emit: (event: "formChange", ...args: any[]) => void;
1927
1927
  nuiThemeOverrides: import("naive-ui").GlobalThemeOverrides;
1928
- formModel: import("@formily/core").Form<{
1929
- [x: string]: any;
1930
- }>;
1928
+ formModel: import("@formily/core").Form<any>;
1931
1929
  SchemaField: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
1932
1930
  businessCollector: import("..").BusinessCollector;
1933
1931
  formItemDepsCollector: import("..").FormItemDepsCollector;
@@ -1927,9 +1927,7 @@ declare const _default: import("vue").DefineComponent<{
1927
1927
  }>>;
1928
1928
  emit: (event: "formChange", ...args: any[]) => void;
1929
1929
  nuiThemeOverrides: import("naive-ui").GlobalThemeOverrides;
1930
- formModel: import("@formily/core").Form<{
1931
- [x: string]: any;
1932
- }>;
1930
+ formModel: import("@formily/core").Form<any>;
1933
1931
  SchemaField: Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
1934
1932
  businessCollector: import("../../../../es/packages/form-render").BusinessCollector;
1935
1933
  formItemDepsCollector: import("../../../../es/packages/form-render").FormItemDepsCollector;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cnhis-design-vue",
3
3
  "private": false,
4
- "version": "3.1.16-beta.3",
4
+ "version": "3.1.16-beta.6",
5
5
  "license": "ISC",
6
6
  "module": "es/packages/index.js",
7
7
  "main": "es/packages/index.js",