cnhis-design-vue 3.3.1-beta.61 → 3.3.1-beta.62
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 +87 -87
- package/es/components/audio-sdk/src/Index.vue2.js +1 -1
- package/es/components/audio-sdk/src/utils/recorder/fft.d.ts +4 -0
- package/es/components/audio-sdk/src/utils/recorder/mp3-engine.d.ts +4 -0
- package/es/components/audio-sdk/src/utils/recorder/mp3.d.ts +4 -0
- package/es/components/audio-sdk/src/utils/recorder/recorder.d.ts +4 -0
- package/es/components/audio-sdk/src/utils/recorder/wave.d.ts +4 -0
- package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
- package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
- package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
- package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
- package/es/components/callback/src/components/render/popupMaps.d.ts +11 -0
- package/es/components/card-render/src/components/index.d.ts +23 -23
- package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
- package/es/components/field-editor/index.d.ts +11 -0
- package/es/components/field-editor/src/FieldEditor.vue.d.ts +11 -0
- package/es/components/form-config/index.d.ts +49 -0
- package/es/components/form-config/src/FormConfig.vue.d.ts +49 -0
- package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +11 -0
- package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +22 -0
- package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +13 -0
- package/es/components/form-render/index.d.ts +11 -0
- package/es/components/form-render/src/FormRender.vue.d.ts +11 -0
- package/es/components/form-render/src/FormRender.vue2.js +6 -3
- package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +11 -0
- package/es/components/form-render/src/components/renderer/combination/combination.js +1 -1
- package/es/components/form-render/src/components/renderer/input.d.ts +14 -4
- package/es/components/form-render/src/components/renderer/input.js +22 -7
- package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +1 -0
- package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +1 -0
- package/es/components/form-render/src/components/renderer/text.js +1 -1
- package/es/components/form-render/src/components/renderer/textarea.d.ts +12 -1
- package/es/components/form-render/src/components/renderer/textarea.js +19 -3
- package/es/components/form-render/src/hooks/useBusinessBinding.js +1 -0
- package/es/components/form-render/src/hooks/useComplexOptions.js +3 -2
- package/es/components/form-render/src/hooks/useFieldListAdaptor.d.ts +2 -2
- package/es/components/form-render/src/hooks/useFieldListAdaptor.js +4 -3
- package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +2 -0
- package/es/components/form-render/src/hooks/useFormField.d.ts +2 -0
- package/es/components/form-render/src/hooks/useFormField.js +5 -1
- package/es/components/form-render/src/hooks/useFormValidator.js +1 -0
- package/es/components/form-render/src/hooks/usePresetScope.js +1 -0
- package/es/components/form-render/src/types/fieldItem.d.ts +2 -0
- package/es/components/form-render/src/types/index.d.ts +2 -1
- package/es/components/form-render/src/utils/index.js +1 -0
- package/es/components/form-render/src/utils/schema.js +51 -4
- package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
- package/es/components/info-header/index.d.ts +27 -0
- package/es/components/info-header/src/InfoHeader.vue.d.ts +27 -0
- package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +1 -0
- package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +1 -0
- package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +12 -0
- package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +11 -0
- package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
- package/es/components/shortcut-setter/index.d.ts +13 -0
- package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +13 -0
- package/es/env.d.ts +25 -25
- package/es/shared/assets/img/ai__avatar.png.js +1 -1
- package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
- package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
- package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
- package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
- package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
- package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
- package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
- package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
- package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
- package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
- package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
- package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
- package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
- package/es/shared/assets/img/failure.png.js +1 -1
- package/es/shared/assets/img/file-emr.png.js +1 -1
- package/es/shared/assets/img/file.png.js +1 -1
- package/es/shared/assets/img/logo.png.js +1 -1
- package/es/shared/assets/img/no-permission.png.js +1 -1
- package/es/shared/assets/img/nodata.png.js +1 -1
- package/es/shared/assets/img/notfound.png.js +1 -1
- package/es/shared/assets/img/qr.png.js +1 -1
- package/es/shared/assets/img/success.png.js +1 -1
- package/es/shared/assets/img/table_style_2.png.js +1 -1
- package/es/shared/assets/img/use.png.js +1 -1
- package/es/shared/assets/img/video.png.js +1 -1
- package/es/shared/assets/img/video_default_cover.png.js +1 -1
- package/es/shared/assets/img/xb_big.png.js +1 -1
- package/es/shared/assets/img/xb_small.png.js +1 -1
- package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
- package/es/shared/package.json.js +1 -1
- package/es/shared/utils/fabricjs/index.d.ts +6823 -0
- package/es/shared/utils/tapable/index.d.ts +139 -0
- package/package.json +2 -2
@@ -1,5 +1,6 @@
|
|
1
1
|
import { defineComponent, inject, createVNode, ref, createTextVNode, nextTick } from 'vue';
|
2
2
|
import { useVModel } from '@vueuse/core';
|
3
|
+
import '../../../index.js';
|
3
4
|
import { InjectionFormGlobalProps } from '../../constants/index.js';
|
4
5
|
import { useCommonInjection } from '../../hooks/useCommonInjection.js';
|
5
6
|
import { createInputSlot } from '../../utils/index.js';
|
@@ -7,6 +8,7 @@ import { connect, mapProps } from '@formily/vue';
|
|
7
8
|
import { NInput } from 'naive-ui';
|
8
9
|
import useLocale from 'naive-ui/es/_mixins/use-locale';
|
9
10
|
import { assignUpdateValue, assignClearBindVisited } from '../../utils/schema.js';
|
11
|
+
import { useFormField } from '../../hooks/useFormField.js';
|
10
12
|
|
11
13
|
const script = /* @__PURE__ */ defineComponent({
|
12
14
|
name: "FormInput",
|
@@ -22,16 +24,18 @@ const script = /* @__PURE__ */ defineComponent({
|
|
22
24
|
},
|
23
25
|
placeholder: String,
|
24
26
|
disabled: Boolean,
|
27
|
+
onChange: {},
|
28
|
+
eventType: {
|
29
|
+
type: String,
|
30
|
+
default: "input"
|
31
|
+
},
|
25
32
|
password: {
|
26
33
|
type: Boolean
|
27
34
|
}
|
28
35
|
},
|
29
|
-
|
30
|
-
setup(props, {
|
31
|
-
emit
|
32
|
-
}) {
|
36
|
+
setup(props) {
|
33
37
|
const globProps = inject(InjectionFormGlobalProps);
|
34
|
-
const valueRef = useVModel(props, "value"
|
38
|
+
const valueRef = useVModel(props, "value");
|
35
39
|
const key = useCommonInjection().injectValueBindKey(valueRef);
|
36
40
|
const _slots = createInputSlot(props, (v) => {
|
37
41
|
return [createVNode("i", {
|
@@ -56,8 +60,11 @@ const script = /* @__PURE__ */ defineComponent({
|
|
56
60
|
const {
|
57
61
|
localeRef
|
58
62
|
} = useLocale("Input");
|
63
|
+
const {
|
64
|
+
getFieldItem
|
65
|
+
} = useFormField();
|
59
66
|
return () => {
|
60
|
-
var _a;
|
67
|
+
var _a, _b;
|
61
68
|
return (globProps == null ? void 0 : globProps.lazyRender) && showText.value ? createVNode("div", {
|
62
69
|
"class": ["form-render__textMode--input n-input", {
|
63
70
|
"form-render__textMode--inputDisabled": props.disabled
|
@@ -66,7 +73,15 @@ const script = /* @__PURE__ */ defineComponent({
|
|
66
73
|
"onFocus": onFocus
|
67
74
|
}, [[renderSlotContent("prefix"), valueRef.value ? createVNode("span", null, [valueRef.value]) : createVNode("span", {
|
68
75
|
"class": "form-render__textMode--inputPlaceholder"
|
69
|
-
}, [props.placeholder || ((_a = localeRef.value) == null ? void 0 : _a.placeholder)]), renderSlotContent("suffix")]]) : createVNode(NInput, {
|
76
|
+
}, [props.placeholder || ((_a = localeRef.value) == null ? void 0 : _a.placeholder)]), renderSlotContent("suffix")]]) : props.eventType === "change" || ((_b = getFieldItem()) == null ? void 0 : _b.confirmBeforeValueChange) ? createVNode(NInput, {
|
77
|
+
"ref": inputRef,
|
78
|
+
"type": props.password ? "password" : "text",
|
79
|
+
"key": key.value,
|
80
|
+
"disabled": props.disabled,
|
81
|
+
"placeholder": props.placeholder,
|
82
|
+
"defaultValue": valueRef.value,
|
83
|
+
"onChange": (value) => valueRef.value = value
|
84
|
+
}, _slots.value) : createVNode(NInput, {
|
70
85
|
"ref": inputRef,
|
71
86
|
"type": props.password ? "password" : "text",
|
72
87
|
"key": key.value,
|
@@ -159,6 +159,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
159
159
|
feedbackType: "default" | "tooltip";
|
160
160
|
fixMemoLeak: boolean;
|
161
161
|
lazyRender: boolean;
|
162
|
+
dialogFn: import("../../../../../../shared/types").AnyFn;
|
162
163
|
}>>;
|
163
164
|
isVerticalLinebar: import("vue").ComputedRef<boolean>;
|
164
165
|
wrapperClass: import("vue").ComputedRef<string[] | "">;
|
@@ -158,6 +158,7 @@ export declare const LINEBAR: import("@vue/runtime-core").DefineComponent<{
|
|
158
158
|
feedbackType: "default" | "tooltip";
|
159
159
|
fixMemoLeak: boolean;
|
160
160
|
lazyRender: boolean;
|
161
|
+
dialogFn: import("../../../../../../shared/types").AnyFn;
|
161
162
|
}>>;
|
162
163
|
isVerticalLinebar: import("vue").ComputedRef<boolean>;
|
163
164
|
wrapperClass: import("vue").ComputedRef<string[] | "">;
|
@@ -69,7 +69,7 @@ const script = /* @__PURE__ */ defineComponent({
|
|
69
69
|
const globProps = inject(InjectionFormGlobalProps);
|
70
70
|
const {
|
71
71
|
schemaAdaptor
|
72
|
-
} = useFieldListAdaptor(collector, globProps
|
72
|
+
} = useFieldListAdaptor(collector, globProps);
|
73
73
|
return () => {
|
74
74
|
var _a;
|
75
75
|
if (!hasWidget.value)
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { PropType } from 'vue';
|
1
2
|
export declare const TEXTAREA: import("vue").DefineComponent<{
|
2
3
|
value: {
|
3
4
|
type: StringConstructor;
|
@@ -5,6 +6,10 @@ export declare const TEXTAREA: import("vue").DefineComponent<{
|
|
5
6
|
rows: {
|
6
7
|
type: NumberConstructor;
|
7
8
|
};
|
9
|
+
eventType: {
|
10
|
+
type: PropType<"change" | "input">;
|
11
|
+
default: string;
|
12
|
+
};
|
8
13
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
9
14
|
value: {
|
10
15
|
type: StringConstructor;
|
@@ -12,6 +17,12 @@ export declare const TEXTAREA: import("vue").DefineComponent<{
|
|
12
17
|
rows: {
|
13
18
|
type: NumberConstructor;
|
14
19
|
};
|
20
|
+
eventType: {
|
21
|
+
type: PropType<"change" | "input">;
|
22
|
+
default: string;
|
23
|
+
};
|
15
24
|
}>> & {
|
16
25
|
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
|
17
|
-
}, {
|
26
|
+
}, {
|
27
|
+
eventType: "change" | "input";
|
28
|
+
}>;
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { defineComponent, computed, inject, createVNode, mergeProps } from 'vue';
|
2
|
+
import '../../../index.js';
|
2
3
|
import { InjectionFormGlobalProps } from '../../constants/index.js';
|
3
4
|
import { useCommonInjection } from '../../hooks/useCommonInjection.js';
|
4
5
|
import '../../../../../shared/utils/index.js';
|
@@ -12,7 +13,8 @@ import { NInput } from 'naive-ui';
|
|
12
13
|
import './text.js';
|
13
14
|
import '../../utils/business.js';
|
14
15
|
import { assignUpdateValue, assignClearBindVisited } from '../../utils/schema.js';
|
15
|
-
import { connect, mapProps
|
16
|
+
import { connect, mapProps } from '@formily/vue';
|
17
|
+
import { useFormField } from '../../hooks/useFormField.js';
|
16
18
|
|
17
19
|
const script = /* @__PURE__ */ defineComponent({
|
18
20
|
name: "FormTextarea",
|
@@ -22,6 +24,10 @@ const script = /* @__PURE__ */ defineComponent({
|
|
22
24
|
},
|
23
25
|
rows: {
|
24
26
|
type: Number
|
27
|
+
},
|
28
|
+
eventType: {
|
29
|
+
type: String,
|
30
|
+
default: "input"
|
25
31
|
}
|
26
32
|
},
|
27
33
|
emits: ["update:value"],
|
@@ -33,7 +39,10 @@ const script = /* @__PURE__ */ defineComponent({
|
|
33
39
|
set: (v) => emit("update:value", v)
|
34
40
|
});
|
35
41
|
const key = useCommonInjection().injectValueBindKey(valueRef);
|
36
|
-
const
|
42
|
+
const {
|
43
|
+
getFieldItem,
|
44
|
+
field
|
45
|
+
} = useFormField();
|
37
46
|
const globProps = inject(InjectionFormGlobalProps, {});
|
38
47
|
const borderState = computed(() => {
|
39
48
|
var _a, _b, _c;
|
@@ -50,7 +59,14 @@ const script = /* @__PURE__ */ defineComponent({
|
|
50
59
|
};
|
51
60
|
});
|
52
61
|
return () => {
|
53
|
-
|
62
|
+
var _a;
|
63
|
+
return props.eventType === "change" || ((_a = getFieldItem()) == null ? void 0 : _a.confirmBeforeValueChange) ? createVNode(NInput, mergeProps({
|
64
|
+
"type": "textarea"
|
65
|
+
}, rowsProps.value, {
|
66
|
+
"key": key.value,
|
67
|
+
"defaultValue": valueRef.value,
|
68
|
+
"onChange": (value) => valueRef.value = value
|
69
|
+
}), null) : createVNode(NInput, mergeProps({
|
54
70
|
"type": "textarea"
|
55
71
|
}, rowsProps.value, {
|
56
72
|
"key": key.value,
|
@@ -11,6 +11,7 @@ import '@vueuse/core';
|
|
11
11
|
import 'naive-ui';
|
12
12
|
import '../components/renderer/text.js';
|
13
13
|
import { isIdCard, parseIdCard, parseAgeFromContext, parseBirthday, parseAge2Birthday } from '../utils/business.js';
|
14
|
+
import '../../index.js';
|
14
15
|
|
15
16
|
class BusinessCollector {
|
16
17
|
constructor(businessFormatter) {
|
@@ -3,7 +3,7 @@ import { checkInSetupEnv } from '../../../../shared/utils/index.js';
|
|
3
3
|
import { useField, useForm, RecursionField } from '@formily/vue';
|
4
4
|
import { isArray, noop, isEmpty } from 'lodash-es';
|
5
5
|
import '../../index.js';
|
6
|
-
import { InjectionFormUUID, InjectionBusinessCollector } from '../constants/index.js';
|
6
|
+
import { InjectionFormUUID, InjectionBusinessCollector, InjectionFormGlobalProps } from '../constants/index.js';
|
7
7
|
import { renderOptionLabel, renderDescOption } from '../utils/index.js';
|
8
8
|
import { useFieldListAdaptor } from './useFieldListAdaptor.js';
|
9
9
|
import { createObjSchema } from '../utils/schema.js';
|
@@ -60,9 +60,10 @@ const ChildSchemaField = /* @__PURE__ */ defineComponent({
|
|
60
60
|
function prepend(fieldKey) {
|
61
61
|
return `${virtualField}.${fieldKey}`;
|
62
62
|
}
|
63
|
+
const globProps = inject(InjectionFormGlobalProps);
|
63
64
|
const {
|
64
65
|
schemaAdaptor
|
65
|
-
} = useFieldListAdaptor(collector);
|
66
|
+
} = useFieldListAdaptor(collector, globProps);
|
66
67
|
function assignConfig(schema2) {
|
67
68
|
var _a, _b, _c, _d;
|
68
69
|
return Object.assign(schema2, {
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import { BusinessCollector, FormRenderProps
|
1
|
+
import { BusinessCollector, FormRenderProps } from '../../../../components/form-render';
|
2
2
|
import { FieldItem } from '../types';
|
3
3
|
/**
|
4
4
|
* @description 胶水层, 将低代码平台中的fieldList转换为JSONSchema
|
5
5
|
*/
|
6
|
-
export declare function useFieldListAdaptor(collector?: BusinessCollector,
|
6
|
+
export declare function useFieldListAdaptor(collector?: BusinessCollector, globProps?: FormRenderProps): {
|
7
7
|
schemaAdaptor: (fieldList: FieldItem[], options?: FormRenderProps) => Record<string, import("@formily/json-schema/esm/types").Stringify<{
|
8
8
|
[key: symbol]: any;
|
9
9
|
[key: `x-${string}`]: any;
|
@@ -17,12 +17,12 @@ function bindUrlProps(schema, item) {
|
|
17
17
|
...pick(item, ["urlConfig", "wordbook"])
|
18
18
|
});
|
19
19
|
}
|
20
|
-
function useFieldListAdaptor(collector,
|
20
|
+
function useFieldListAdaptor(collector, globProps) {
|
21
21
|
const {
|
22
22
|
createValidatorSchema
|
23
23
|
} = useFormValidator();
|
24
24
|
const createStandardSchema = (item) => {
|
25
|
-
var _a;
|
25
|
+
var _a, _b;
|
26
26
|
const result = {
|
27
27
|
name: item.val_key,
|
28
28
|
type: (_a = item.fieldType) != null ? _a : "string",
|
@@ -57,7 +57,8 @@ function useFieldListAdaptor(collector, hooks) {
|
|
57
57
|
"x-decorator": "FORM_ITEM",
|
58
58
|
"x-decorator-props": {
|
59
59
|
fieldItem: item,
|
60
|
-
beforeSetValue:
|
60
|
+
beforeSetValue: (_b = globProps == null ? void 0 : globProps.lifeCycle) == null ? void 0 : _b.beforeSetValue,
|
61
|
+
dialogFn: globProps == null ? void 0 : globProps.dialogFn,
|
61
62
|
span: (item.elem_width || 3) * 2,
|
62
63
|
showLabel: !isPositive(item.hide_title),
|
63
64
|
remark: item.remark,
|
@@ -107,6 +107,7 @@ export declare function useFieldNormalize(): {
|
|
107
107
|
feedbackType: "default" | "tooltip";
|
108
108
|
fixMemoLeak: boolean;
|
109
109
|
lazyRender: boolean;
|
110
|
+
dialogFn: import("../../../../shared/types").AnyFn;
|
110
111
|
}>], import("../../../../shared/utils/tapable").UnsetAdditionalOptions>;
|
111
112
|
FieldListNormalizeWaterfallHook: SyncWaterfallHook<[FieldItem[], Partial<{
|
112
113
|
fieldList: FieldItem[];
|
@@ -214,5 +215,6 @@ export declare function useFieldNormalize(): {
|
|
214
215
|
feedbackType: "default" | "tooltip";
|
215
216
|
fixMemoLeak: boolean;
|
216
217
|
lazyRender: boolean;
|
218
|
+
dialogFn: import("../../../../shared/types").AnyFn;
|
217
219
|
}>], import("../../../../shared/utils/tapable").UnsetAdditionalOptions>;
|
218
220
|
};
|
@@ -1,7 +1,9 @@
|
|
1
1
|
import { GeneralField } from '@formily/core';
|
2
|
+
import { FieldItem } from '../../../../components/form-render';
|
2
3
|
export declare function useFormField<T extends GeneralField>(): {
|
3
4
|
field: import("vue").Ref<T>;
|
4
5
|
title: import("vue").ComputedRef<any>;
|
5
6
|
fieldKey: import("vue").ComputedRef<string>;
|
6
7
|
fieldAddress: import("vue").ComputedRef<string>;
|
8
|
+
getFieldItem(): FieldItem | undefined;
|
7
9
|
};
|
@@ -7,7 +7,11 @@ function useFormField() {
|
|
7
7
|
field,
|
8
8
|
title: computed(() => field.value.title),
|
9
9
|
fieldKey: computed(() => field.value.props.name.toString()),
|
10
|
-
fieldAddress: computed(() => field.value.address.toString())
|
10
|
+
fieldAddress: computed(() => field.value.address.toString()),
|
11
|
+
getFieldItem() {
|
12
|
+
var _a, _b;
|
13
|
+
return (_b = (_a = field.value) == null ? void 0 : _a.decoratorProps) == null ? void 0 : _b.fieldItem;
|
14
|
+
}
|
11
15
|
};
|
12
16
|
}
|
13
17
|
|
@@ -9,6 +9,7 @@ import { isFunction } from '@vueuse/core';
|
|
9
9
|
import 'naive-ui';
|
10
10
|
import '../components/renderer/text.js';
|
11
11
|
import { isIdCard } from '../utils/business.js';
|
12
|
+
import '../../index.js';
|
12
13
|
|
13
14
|
function useFormValidator() {
|
14
15
|
const validateMap = /* @__PURE__ */ new Map([["mobile", ({
|
@@ -138,6 +138,8 @@ export type FieldItem = {
|
|
138
138
|
linebarTextDirection: 'horizontal' | 'vertical';
|
139
139
|
labelColor: string;
|
140
140
|
fieldTitleRed: FormCommonState | boolean;
|
141
|
+
confirmBeforeValueChange: boolean;
|
142
|
+
confirmBeforeValueChangeText: string;
|
141
143
|
fieldTitleColor: string;
|
142
144
|
fieldType: SchemaTypes;
|
143
145
|
content: string | FormRenderer | Record<string, FormRenderer>;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { FormRequestDefine } from '../../../../shared/hooks';
|
2
|
-
import { AnyObject, LowCodeTypes, UndefinedAble } from '../../../../shared/types';
|
2
|
+
import { AnyFn, AnyObject, LowCodeTypes, UndefinedAble } from '../../../../shared/types';
|
3
3
|
import { DataField, Field, Form, GeneralField } from '@formily/core';
|
4
4
|
import { ISchema } from '@formily/json-schema/esm/types';
|
5
5
|
import { Component, FunctionalComponent } from 'vue';
|
@@ -175,6 +175,7 @@ export type FormRenderProps = Partial<{
|
|
175
175
|
feedbackType: 'tooltip' | 'default';
|
176
176
|
fixMemoLeak: boolean;
|
177
177
|
lazyRender: boolean;
|
178
|
+
dialogFn: AnyFn;
|
178
179
|
}>;
|
179
180
|
export type FormBusinessFormatter = (payload: {
|
180
181
|
fieldKey: string;
|
@@ -10,6 +10,7 @@ import { NTooltip, NIcon } from 'naive-ui';
|
|
10
10
|
import { NESTED_FORM_ITEM_TYPE } from '../constants/index.js';
|
11
11
|
import { TEXT } from '../components/renderer/text.js';
|
12
12
|
export { businessDateParser, isForeignerID, isIdCard, isMobile, parseAge2Birthday, parseAgeFromContext, parseBirthday, parseIdCard, transformDateFormat } from './business.js';
|
13
|
+
import '../../index.js';
|
13
14
|
|
14
15
|
function formRenderLog(message) {
|
15
16
|
console.warn(`[FormRender]: ${message}`);
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import { isField } from '@formily/core';
|
2
2
|
import { isObject, isPromise } from '@vue/shared';
|
3
3
|
import { isString, isArray, isFunction, noop } from 'lodash-es';
|
4
|
+
import '../../index.js';
|
5
|
+
import { parseEnhanceText } from './index.js';
|
4
6
|
|
5
7
|
function traverseSchema(schema, handler, parent) {
|
6
8
|
handler(schema, parent);
|
@@ -77,13 +79,58 @@ function assignUpdateValue(props, field) {
|
|
77
79
|
};
|
78
80
|
if (isField(field)) {
|
79
81
|
Object.assign(_props, {
|
80
|
-
"onUpdate:value"(value) {
|
81
|
-
var _a;
|
82
|
-
const
|
82
|
+
async "onUpdate:value"(value) {
|
83
|
+
var _a, _b;
|
84
|
+
const $dialog = field.decoratorProps.dialogFn;
|
85
|
+
const fieldItem = field.decoratorProps.fieldItem;
|
86
|
+
const fieldName = field.title;
|
87
|
+
const oldValue = (_a = fieldItem.__oldValue) != null ? _a : fieldItem.__oldValue = field.value;
|
88
|
+
const valueMap = {
|
89
|
+
newValue: value,
|
90
|
+
oldValue,
|
91
|
+
fieldName
|
92
|
+
};
|
93
|
+
if ((fieldItem == null ? void 0 : fieldItem.confirmBeforeValueChange) && $dialog && oldValue != null && value !== oldValue) {
|
94
|
+
const confirmBeforeValueChangeText = (_b = fieldItem.confirmBeforeValueChangeText) != null ? _b : '\u60A8\u5C06\u628A\u654F\u611F\u5B57\u6BB5"#{fieldName}"\u7531#{oldValue}\u6539\u4E3A#{newValue}\uFF0C\u8BF7\u52A1\u5FC5\u786E\u8BA4\u66F4\u6539\u524D\u540E\u7684\u6863\u6848\u5747\u4E3A\u540C\u4E00\u4EBA\uFF0C\u5426\u5219\u53EF\u80FD\u4F1A\u9020\u6210\u60A3\u8005\u6863\u6848\u6DF7\u4E71\u7684\u4E25\u91CD\u540E\u679C\uFF01\uFF01\uFF01';
|
95
|
+
const content = parseEnhanceText(confirmBeforeValueChangeText).reduce((res, item) => {
|
96
|
+
var _a2;
|
97
|
+
if (item.type === "text")
|
98
|
+
res += item.content;
|
99
|
+
if (item.type === "widget")
|
100
|
+
res += (_a2 = valueMap[item.content]) != null ? _a2 : item.content;
|
101
|
+
return res;
|
102
|
+
}, "");
|
103
|
+
try {
|
104
|
+
await new Promise((resolve, reject) => {
|
105
|
+
var _a2, _b2, _c;
|
106
|
+
$dialog.warning({
|
107
|
+
title: ((_a2 = window.getLanguageByCode) == null ? void 0 : _a2.call(window, "10010.1.228")) || "\u8B66\u544A",
|
108
|
+
content,
|
109
|
+
positiveText: ((_b2 = window.getLanguageByCode) == null ? void 0 : _b2.call(window, "10010.1.27")) || "\u786E\u5B9A",
|
110
|
+
negativeText: ((_c = window.getLanguageByCode) == null ? void 0 : _c.call(window, "10010.1.28")) || "\u53D6\u6D88",
|
111
|
+
onPositiveClick: resolve,
|
112
|
+
onNegativeClick: reject
|
113
|
+
});
|
114
|
+
});
|
115
|
+
} catch (e) {
|
116
|
+
const eleKey = {
|
117
|
+
INPUT: `[field-address=${createFieldAddressId(field.address.toString())}] input`,
|
118
|
+
TEXTAREA: `[field-address=${createFieldAddressId(field.address.toString())}] textarea`
|
119
|
+
}[field.componentType];
|
120
|
+
if (eleKey) {
|
121
|
+
const targetInput = document.querySelector(eleKey);
|
122
|
+
if (!targetInput)
|
123
|
+
return;
|
124
|
+
targetInput.value = oldValue;
|
125
|
+
}
|
126
|
+
return;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
const beforeSetValue = field.decoratorProps.beforeSetValue;
|
83
130
|
if (isFunction(beforeSetValue)) {
|
84
131
|
const res = beforeSetValue(field.path.toString(), value, {
|
85
132
|
field,
|
86
|
-
oldValue
|
133
|
+
oldValue
|
87
134
|
});
|
88
135
|
if (isPromise(res)) {
|
89
136
|
return res.then((v) => field.setValue(v), noop);
|
@@ -170,7 +170,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
170
170
|
round: "",
|
171
171
|
size: 100,
|
172
172
|
onClickCapture: _cache[0] || (_cache[0] = ($event) => showLargeAvatar.value = true)
|
173
|
-
}, null, 8, ["src"]), createCommentVNode(' <n-upload abstract accept="image/*" @change="onChange">\
|
173
|
+
}, null, 8, ["src"]), createCommentVNode(' <n-upload abstract accept="image/*" @change="onChange">\n <n-upload-trigger #="{ handleClick }" abstract>\n <n-button\n circle\n secondary\n class="edit-avatar"\n v-show="userDetail.id === state.userInfo.id"\n @click="handleClick"\n >\n <template #icon>\n <n-icon size="16" color="#666666" :component="Camera" />\n </template>\n </n-button>\n </n-upload-trigger>\n </n-upload> '), createElementVNode("div", _hoisted_4, [createElementVNode("h4", null, [createElementVNode("label", _hoisted_5, toDisplayString(userDetail.name), 1), withDirectives(createElementVNode("label", {
|
174
174
|
class: normalizeClass(["iho-chatRole", unref(isDoctorRole)(userDetail.roleInfo) ? "isDoctor" : ""])
|
175
175
|
}, toDisplayString(unref(getRoleName)(userDetail.roleInfo)), 3), [[vShow, unref(getRoleName)(userDetail.roleInfo)]])]), createElementVNode("p", null, toDisplayString(userDetail.orgName), 1)]), createVNode(unref(NButton), {
|
176
176
|
strong: "",
|
@@ -178,6 +178,7 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
178
178
|
feedbackType: "default" | "tooltip";
|
179
179
|
fixMemoLeak: boolean;
|
180
180
|
lazyRender: boolean;
|
181
|
+
dialogFn: import("../../shared/types").AnyFn;
|
181
182
|
}>>>;
|
182
183
|
};
|
183
184
|
encrypted: {
|
@@ -363,6 +364,7 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
363
364
|
feedbackType: "default" | "tooltip";
|
364
365
|
fixMemoLeak: boolean;
|
365
366
|
lazyRender: boolean;
|
367
|
+
dialogFn: import("../../shared/types").AnyFn;
|
366
368
|
}>>>;
|
367
369
|
};
|
368
370
|
encrypted: {
|
@@ -559,6 +561,7 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
559
561
|
feedbackType: "default" | "tooltip";
|
560
562
|
fixMemoLeak: boolean;
|
561
563
|
lazyRender: boolean;
|
564
|
+
dialogFn: import("../../shared/types").AnyFn;
|
562
565
|
}>>;
|
563
566
|
encrypted: boolean;
|
564
567
|
};
|
@@ -813,6 +816,7 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
813
816
|
feedbackType: "default" | "tooltip";
|
814
817
|
fixMemoLeak: boolean;
|
815
818
|
lazyRender: boolean;
|
819
|
+
dialogFn: import("../../shared/types").AnyFn;
|
816
820
|
}>) => Record<string, import("@formily/json-schema").Stringify<{
|
817
821
|
[key: symbol]: any;
|
818
822
|
[key: `x-${string}`]: any;
|
@@ -1365,6 +1369,9 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
1365
1369
|
type: BooleanConstructor;
|
1366
1370
|
};
|
1367
1371
|
lazyRender: BooleanConstructor;
|
1372
|
+
dialogFn: {
|
1373
|
+
default: () => (...args: any[]) => void;
|
1374
|
+
};
|
1368
1375
|
}, {
|
1369
1376
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
1370
1377
|
fieldList: {
|
@@ -1568,6 +1575,9 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
1568
1575
|
type: BooleanConstructor;
|
1569
1576
|
};
|
1570
1577
|
lazyRender: BooleanConstructor;
|
1578
|
+
dialogFn: {
|
1579
|
+
default: () => (...args: any[]) => void;
|
1580
|
+
};
|
1571
1581
|
}>> & {
|
1572
1582
|
onFormChange?: ((...args: any[]) => any) | undefined;
|
1573
1583
|
onScroll?: ((...args: any[]) => any) | undefined;
|
@@ -1744,6 +1754,7 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
1744
1754
|
feedbackType: "default" | "tooltip";
|
1745
1755
|
fixMemoLeak: boolean;
|
1746
1756
|
lazyRender: boolean;
|
1757
|
+
dialogFn: import("../../shared/types").AnyFn;
|
1747
1758
|
}>) => Record<string, import("@formily/json-schema").Stringify<{
|
1748
1759
|
[key: symbol]: any;
|
1749
1760
|
[key: `x-${string}`]: any;
|
@@ -2131,6 +2142,9 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
2131
2142
|
type: BooleanConstructor;
|
2132
2143
|
};
|
2133
2144
|
lazyRender: BooleanConstructor;
|
2145
|
+
dialogFn: {
|
2146
|
+
default: () => (...args: any[]) => void;
|
2147
|
+
};
|
2134
2148
|
}>> & {
|
2135
2149
|
onFormChange?: ((...args: any[]) => any) | undefined;
|
2136
2150
|
onScroll?: ((...args: any[]) => any) | undefined;
|
@@ -2164,6 +2178,7 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
2164
2178
|
feedbackType: "default" | "tooltip";
|
2165
2179
|
fixMemoLeak: boolean;
|
2166
2180
|
lazyRender: boolean;
|
2181
|
+
dialogFn: (...args: any[]) => void;
|
2167
2182
|
operationalFormInit: boolean;
|
2168
2183
|
incrementalRender: boolean;
|
2169
2184
|
}>;
|
@@ -2495,6 +2510,9 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
2495
2510
|
type: BooleanConstructor;
|
2496
2511
|
};
|
2497
2512
|
lazyRender: BooleanConstructor;
|
2513
|
+
dialogFn: {
|
2514
|
+
default: () => (...args: any[]) => void;
|
2515
|
+
};
|
2498
2516
|
}, {
|
2499
2517
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
2500
2518
|
fieldList: {
|
@@ -2698,6 +2716,9 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
2698
2716
|
type: BooleanConstructor;
|
2699
2717
|
};
|
2700
2718
|
lazyRender: BooleanConstructor;
|
2719
|
+
dialogFn: {
|
2720
|
+
default: () => (...args: any[]) => void;
|
2721
|
+
};
|
2701
2722
|
}>> & {
|
2702
2723
|
onFormChange?: ((...args: any[]) => any) | undefined;
|
2703
2724
|
onScroll?: ((...args: any[]) => any) | undefined;
|
@@ -2874,6 +2895,7 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
2874
2895
|
feedbackType: "default" | "tooltip";
|
2875
2896
|
fixMemoLeak: boolean;
|
2876
2897
|
lazyRender: boolean;
|
2898
|
+
dialogFn: import("../../shared/types").AnyFn;
|
2877
2899
|
}>) => Record<string, import("@formily/json-schema").Stringify<{
|
2878
2900
|
[key: symbol]: any;
|
2879
2901
|
[key: `x-${string}`]: any;
|
@@ -3261,6 +3283,9 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
3261
3283
|
type: BooleanConstructor;
|
3262
3284
|
};
|
3263
3285
|
lazyRender: BooleanConstructor;
|
3286
|
+
dialogFn: {
|
3287
|
+
default: () => (...args: any[]) => void;
|
3288
|
+
};
|
3264
3289
|
}>> & {
|
3265
3290
|
onFormChange?: ((...args: any[]) => any) | undefined;
|
3266
3291
|
onScroll?: ((...args: any[]) => any) | undefined;
|
@@ -3294,6 +3319,7 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
3294
3319
|
feedbackType: "default" | "tooltip";
|
3295
3320
|
fixMemoLeak: boolean;
|
3296
3321
|
lazyRender: boolean;
|
3322
|
+
dialogFn: (...args: any[]) => void;
|
3297
3323
|
operationalFormInit: boolean;
|
3298
3324
|
incrementalRender: boolean;
|
3299
3325
|
}>;
|
@@ -3489,6 +3515,7 @@ declare const InfoHeader: SFCWithInstall<import("vue").DefineComponent<{
|
|
3489
3515
|
feedbackType: "default" | "tooltip";
|
3490
3516
|
fixMemoLeak: boolean;
|
3491
3517
|
lazyRender: boolean;
|
3518
|
+
dialogFn: import("../../shared/types").AnyFn;
|
3492
3519
|
}>>>;
|
3493
3520
|
};
|
3494
3521
|
encrypted: {
|