@vxe-ui/plugin-render-antd 4.2.3 → 4.3.1

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 (42) hide show
  1. package/dist/index.umd.js +15 -12
  2. package/dist/index.umd.min.js +1 -1
  3. package/es/form/index.js +265 -0
  4. package/es/form-design/checkbox-widget.js +148 -0
  5. package/es/form-design/date-picker-widget.js +130 -0
  6. package/es/form-design/index.js +97 -0
  7. package/es/form-design/input-widget.js +130 -0
  8. package/es/form-design/number-input-widget.js +130 -0
  9. package/es/form-design/radio-widget.js +148 -0
  10. package/es/form-design/select-widget.js +140 -0
  11. package/es/form-design/switch-widget.js +126 -0
  12. package/es/form-design/textarea-widget.js +134 -0
  13. package/es/form-design/use.js +226 -0
  14. package/es/index.esm.js +105 -0
  15. package/es/index.js +105 -0
  16. package/es/store/index.js +2 -0
  17. package/es/style.css +63 -0
  18. package/es/style.min.css +1 -0
  19. package/es/table/index.js +472 -0
  20. package/es/util/comp.js +9 -0
  21. package/{dist → lib}/form/index.js +3 -0
  22. package/{dist → lib}/index.common.js +3 -3
  23. package/{dist → lib}/index.js +3 -3
  24. package/lib/index.umd.js +2731 -0
  25. package/lib/index.umd.min.js +1 -0
  26. package/lib/style.css +63 -0
  27. package/lib/style.min.css +1 -0
  28. package/package.json +14 -17
  29. package/src/form/index.ts +5 -2
  30. /package/{dist → lib}/form-design/checkbox-widget.js +0 -0
  31. /package/{dist → lib}/form-design/date-picker-widget.js +0 -0
  32. /package/{dist → lib}/form-design/index.js +0 -0
  33. /package/{dist → lib}/form-design/input-widget.js +0 -0
  34. /package/{dist → lib}/form-design/number-input-widget.js +0 -0
  35. /package/{dist → lib}/form-design/radio-widget.js +0 -0
  36. /package/{dist → lib}/form-design/select-widget.js +0 -0
  37. /package/{dist → lib}/form-design/switch-widget.js +0 -0
  38. /package/{dist → lib}/form-design/textarea-widget.js +0 -0
  39. /package/{dist → lib}/form-design/use.js +0 -0
  40. /package/{dist → lib}/store/index.js +0 -0
  41. /package/{dist → lib}/table/index.js +0 -0
  42. /package/{dist → lib}/util/comp.js +0 -0
@@ -0,0 +1,148 @@
1
+ import { defineComponent, h, computed } from 'vue';
2
+ import { useWidgetPropDataSource } from './use';
3
+ import { getCurrComponent } from '../util/comp';
4
+ import XEUtils from 'xe-utils';
5
+ export function createWidgetACheckbox(VxeUI) {
6
+ const getWidgetACheckboxConfig = (params) => {
7
+ return {
8
+ title: '复选框',
9
+ icon: 'vxe-icon-checkbox-checked',
10
+ options: {
11
+ options: XEUtils.range(0, 3).map((v, i) => {
12
+ return {
13
+ value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
14
+ };
15
+ })
16
+ }
17
+ };
18
+ };
19
+ const WidgetACheckboxFormComponent = defineComponent({
20
+ props: {
21
+ renderOpts: {
22
+ type: Object,
23
+ default: () => ({})
24
+ },
25
+ renderParams: {
26
+ type: Object,
27
+ default: () => ({})
28
+ }
29
+ },
30
+ emits: [],
31
+ setup(props) {
32
+ const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
33
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
34
+ const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
35
+ const VxeUIInputComponent = VxeUI.getComponent('VxeInput');
36
+ const { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false);
37
+ return () => {
38
+ const { renderParams } = props;
39
+ const { widget } = renderParams;
40
+ return h(VxeUIFormComponent, {
41
+ class: 'vxe-form-design--widget-render-form-wrapper',
42
+ vertical: true,
43
+ span: 24,
44
+ titleBold: true,
45
+ titleOverflow: true,
46
+ data: widget.options
47
+ }, {
48
+ default() {
49
+ return [
50
+ h(VxeUIFormItemComponent, {
51
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
52
+ }, {
53
+ default() {
54
+ return h(VxeUIInputComponent, {
55
+ modelValue: widget.title,
56
+ 'onUpdate:modelValue'(val) {
57
+ widget.title = val;
58
+ }
59
+ });
60
+ }
61
+ }),
62
+ h(VxeUIFormItemComponent, {
63
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
64
+ field: 'placeholder',
65
+ itemRender: { name: 'ElInput' }
66
+ }),
67
+ h(VxeUIFormItemComponent, {
68
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
69
+ }, {
70
+ default() {
71
+ return h(VxeUISwitchComponent, {
72
+ modelValue: widget.required,
73
+ 'onUpdate:modelValue'(val) {
74
+ widget.required = val;
75
+ }
76
+ });
77
+ }
78
+ }),
79
+ renderDataSourceFormItem()
80
+ ];
81
+ }
82
+ });
83
+ };
84
+ }
85
+ });
86
+ const WidgetACheckboxViewComponent = defineComponent({
87
+ props: {
88
+ renderOpts: {
89
+ type: Object,
90
+ default: () => ({})
91
+ },
92
+ renderParams: {
93
+ type: Object,
94
+ default: () => ({})
95
+ }
96
+ },
97
+ emits: [],
98
+ setup(props) {
99
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
100
+ const checkboxOptions = computed(() => {
101
+ const { renderParams } = props;
102
+ const { widget } = renderParams;
103
+ const { options } = widget;
104
+ return options.options.map(item => {
105
+ return {
106
+ label: item.value,
107
+ value: item.value
108
+ };
109
+ });
110
+ });
111
+ const changeEvent = () => {
112
+ const { renderParams } = props;
113
+ const { widget, $formView } = renderParams;
114
+ if ($formView) {
115
+ const itemValue = $formView ? $formView.getItemValue(widget) : null;
116
+ $formView.updateWidgetStatus(widget, itemValue);
117
+ }
118
+ };
119
+ return () => {
120
+ const { renderParams } = props;
121
+ const { widget, $formView } = renderParams;
122
+ return h(VxeUIFormItemComponent, {
123
+ class: ['vxe-form-design--widget-render-form-item'],
124
+ field: widget.field,
125
+ title: widget.title
126
+ }, {
127
+ default() {
128
+ return h(getCurrComponent('a-checkbox-group'), {
129
+ value: $formView ? $formView.getItemValue(widget) : null,
130
+ options: checkboxOptions.value,
131
+ onChange: changeEvent,
132
+ 'onUpdate:value'(val) {
133
+ if ($formView) {
134
+ $formView.setItemValue(widget, val);
135
+ }
136
+ }
137
+ });
138
+ }
139
+ });
140
+ };
141
+ }
142
+ });
143
+ return {
144
+ getWidgetACheckboxConfig,
145
+ WidgetACheckboxFormComponent,
146
+ WidgetACheckboxViewComponent
147
+ };
148
+ }
@@ -0,0 +1,130 @@
1
+ import { defineComponent, h } from 'vue';
2
+ import { getCurrComponent } from '../util/comp';
3
+ export function createWidgetADatePicker(VxeUI) {
4
+ const getWidgetADatePickerConfig = (params) => {
5
+ return {
6
+ title: '日期',
7
+ icon: 'vxe-icon-input',
8
+ options: {
9
+ placeholder: ''
10
+ }
11
+ };
12
+ };
13
+ const WidgetADatePickerFormComponent = defineComponent({
14
+ props: {
15
+ renderOpts: {
16
+ type: Object,
17
+ default: () => ({})
18
+ },
19
+ renderParams: {
20
+ type: Object,
21
+ default: () => ({})
22
+ }
23
+ },
24
+ emits: [],
25
+ setup(props) {
26
+ const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
27
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
28
+ const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
29
+ const VxeUIInputComponent = VxeUI.getComponent('VxeInput');
30
+ return () => {
31
+ const { renderParams } = props;
32
+ const { widget } = renderParams;
33
+ return h(VxeUIFormComponent, {
34
+ class: 'vxe-form-design--widget-render-form-wrapper',
35
+ vertical: true,
36
+ span: 24,
37
+ titleBold: true,
38
+ titleOverflow: true,
39
+ data: widget.options
40
+ }, {
41
+ default() {
42
+ return [
43
+ h(VxeUIFormItemComponent, {
44
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
45
+ }, {
46
+ default() {
47
+ return h(VxeUIInputComponent, {
48
+ modelValue: widget.title,
49
+ 'onUpdate:modelValue'(val) {
50
+ widget.title = val;
51
+ }
52
+ });
53
+ }
54
+ }),
55
+ h(VxeUIFormItemComponent, {
56
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
57
+ field: 'placeholder',
58
+ itemRender: { name: 'VxeInput' }
59
+ }),
60
+ h(VxeUIFormItemComponent, {
61
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
62
+ }, {
63
+ default() {
64
+ return h(VxeUISwitchComponent, {
65
+ modelValue: widget.required,
66
+ 'onUpdate:modelValue'(val) {
67
+ widget.required = val;
68
+ }
69
+ });
70
+ }
71
+ })
72
+ ];
73
+ }
74
+ });
75
+ };
76
+ }
77
+ });
78
+ const WidgetADatePickerViewComponent = defineComponent({
79
+ props: {
80
+ renderOpts: {
81
+ type: Object,
82
+ default: () => ({})
83
+ },
84
+ renderParams: {
85
+ type: Object,
86
+ default: () => ({})
87
+ }
88
+ },
89
+ emits: [],
90
+ setup(props) {
91
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
92
+ const changeEvent = () => {
93
+ const { renderParams } = props;
94
+ const { widget, $formView } = renderParams;
95
+ if ($formView) {
96
+ const itemValue = $formView ? $formView.getItemValue(widget) : null;
97
+ $formView.updateWidgetStatus(widget, itemValue);
98
+ }
99
+ };
100
+ return () => {
101
+ const { renderParams } = props;
102
+ const { widget, $formView } = renderParams;
103
+ const { options } = widget;
104
+ return h(VxeUIFormItemComponent, {
105
+ class: ['vxe-form-design--widget-render-form-item'],
106
+ field: widget.field,
107
+ title: widget.title
108
+ }, {
109
+ default() {
110
+ return h(getCurrComponent('a-date-picker'), {
111
+ value: $formView ? $formView.getItemValue(widget) : null,
112
+ placeholder: options.placeholder,
113
+ onChange: changeEvent,
114
+ 'onUpdate:value'(val) {
115
+ if ($formView) {
116
+ $formView.setItemValue(widget, val);
117
+ }
118
+ }
119
+ });
120
+ }
121
+ });
122
+ };
123
+ }
124
+ });
125
+ return {
126
+ getWidgetADatePickerConfig,
127
+ WidgetADatePickerFormComponent,
128
+ WidgetADatePickerViewComponent
129
+ };
130
+ }
@@ -0,0 +1,97 @@
1
+ import { h } from 'vue';
2
+ import { createWidgetAInput } from './input-widget';
3
+ import { createWidgetATextarea } from './textarea-widget';
4
+ import { createWidgetAInputNumber } from './number-input-widget';
5
+ import { createWidgetADatePicker } from './date-picker-widget';
6
+ import { createWidgetASelect } from './select-widget';
7
+ import { createWidgetARadio } from './radio-widget';
8
+ import { createWidgetACheckbox } from './checkbox-widget';
9
+ import { createWidgetASwitch } from './switch-widget';
10
+ /**
11
+ * 表单设计器 - 渲染器
12
+ */
13
+ export function defineFormDesignRender(VxeUI) {
14
+ const { getWidgetAInputConfig, WidgetAInputViewComponent, WidgetAInputFormComponent } = createWidgetAInput(VxeUI);
15
+ const { getWidgetATextareaConfig, WidgetATextareaViewComponent, WidgetATextareaFormComponent } = createWidgetATextarea(VxeUI);
16
+ const { getWidgetAInputNumberConfig, WidgetAInputNumberViewComponent, WidgetAInputNumberFormComponent } = createWidgetAInputNumber(VxeUI);
17
+ const { getWidgetADatePickerConfig, WidgetADatePickerViewComponent, WidgetADatePickerFormComponent } = createWidgetADatePicker(VxeUI);
18
+ const { getWidgetASelectConfig, WidgetASelectViewComponent, WidgetASelectFormComponent } = createWidgetASelect(VxeUI);
19
+ const { getWidgetARadioConfig, WidgetARadioViewComponent, WidgetARadioFormComponent } = createWidgetARadio(VxeUI);
20
+ const { getWidgetACheckboxConfig, WidgetACheckboxViewComponent, WidgetACheckboxFormComponent } = createWidgetACheckbox(VxeUI);
21
+ const { getWidgetASwitchConfig, WidgetASwitchViewComponent, WidgetASwitchFormComponent } = createWidgetASwitch(VxeUI);
22
+ VxeUI.renderer.mixin({
23
+ AInputWidget: {
24
+ createFormDesignWidgetConfig: getWidgetAInputConfig,
25
+ renderFormDesignWidgetView(renderOpts, renderParams) {
26
+ return h(WidgetAInputViewComponent, { renderOpts, renderParams });
27
+ },
28
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
29
+ return h(WidgetAInputFormComponent, { renderOpts, renderParams });
30
+ }
31
+ },
32
+ ATextareaWidget: {
33
+ createFormDesignWidgetConfig: getWidgetATextareaConfig,
34
+ renderFormDesignWidgetView(renderOpts, renderParams) {
35
+ return h(WidgetATextareaViewComponent, { renderOpts, renderParams });
36
+ },
37
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
38
+ return h(WidgetATextareaFormComponent, { renderOpts, renderParams });
39
+ }
40
+ },
41
+ ANumberInputWidget: {
42
+ createFormDesignWidgetConfig: getWidgetAInputNumberConfig,
43
+ renderFormDesignWidgetView(renderOpts, renderParams) {
44
+ return h(WidgetAInputNumberViewComponent, { renderOpts, renderParams });
45
+ },
46
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
47
+ return h(WidgetAInputNumberFormComponent, { renderOpts, renderParams });
48
+ }
49
+ },
50
+ ADatePickerWidget: {
51
+ createFormDesignWidgetConfig: getWidgetADatePickerConfig,
52
+ renderFormDesignWidgetView(renderOpts, renderParams) {
53
+ return h(WidgetADatePickerViewComponent, { renderOpts, renderParams });
54
+ },
55
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
56
+ return h(WidgetADatePickerFormComponent, { renderOpts, renderParams });
57
+ }
58
+ },
59
+ ASelectWidget: {
60
+ createFormDesignWidgetConfig: getWidgetASelectConfig,
61
+ renderFormDesignWidgetView(renderOpts, renderParams) {
62
+ return h(WidgetASelectViewComponent, { renderOpts, renderParams });
63
+ },
64
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
65
+ return h(WidgetASelectFormComponent, { renderOpts, renderParams });
66
+ }
67
+ },
68
+ ARadioWidget: {
69
+ createFormDesignWidgetConfig: getWidgetARadioConfig,
70
+ renderFormDesignWidgetView(renderOpts, renderParams) {
71
+ return h(WidgetARadioViewComponent, { renderOpts, renderParams });
72
+ },
73
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
74
+ return h(WidgetARadioFormComponent, { renderOpts, renderParams });
75
+ }
76
+ },
77
+ ACheckboxWidget: {
78
+ createFormDesignWidgetConfig: getWidgetACheckboxConfig,
79
+ createFormDesignWidgetFieldValue: () => [],
80
+ renderFormDesignWidgetView(renderOpts, renderParams) {
81
+ return h(WidgetACheckboxViewComponent, { renderOpts, renderParams });
82
+ },
83
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
84
+ return h(WidgetACheckboxFormComponent, { renderOpts, renderParams });
85
+ }
86
+ },
87
+ ASwitchWidget: {
88
+ createFormDesignWidgetConfig: getWidgetASwitchConfig,
89
+ renderFormDesignWidgetView(renderOpts, renderParams) {
90
+ return h(WidgetASwitchViewComponent, { renderOpts, renderParams });
91
+ },
92
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
93
+ return h(WidgetASwitchFormComponent, { renderOpts, renderParams });
94
+ }
95
+ }
96
+ });
97
+ }
@@ -0,0 +1,130 @@
1
+ import { defineComponent, h } from 'vue';
2
+ import { getCurrComponent } from '../util/comp';
3
+ export function createWidgetAInput(VxeUI) {
4
+ const getWidgetAInputConfig = (params) => {
5
+ return {
6
+ title: '输入框',
7
+ icon: 'vxe-icon-input',
8
+ options: {
9
+ placeholder: ''
10
+ }
11
+ };
12
+ };
13
+ const WidgetAInputFormComponent = defineComponent({
14
+ props: {
15
+ renderOpts: {
16
+ type: Object,
17
+ default: () => ({})
18
+ },
19
+ renderParams: {
20
+ type: Object,
21
+ default: () => ({})
22
+ }
23
+ },
24
+ emits: [],
25
+ setup(props) {
26
+ const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
27
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
28
+ const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
29
+ const VxeUIInputComponent = VxeUI.getComponent('VxeInput');
30
+ return () => {
31
+ const { renderParams } = props;
32
+ const { widget } = renderParams;
33
+ const { options } = widget;
34
+ return h(VxeUIFormComponent, {
35
+ class: 'vxe-form-design--widget-render-form-wrapper',
36
+ vertical: true,
37
+ span: 24,
38
+ titleBold: true,
39
+ titleOverflow: true,
40
+ data: options
41
+ }, {
42
+ default() {
43
+ return [
44
+ h(VxeUIFormItemComponent, {
45
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
46
+ }, {
47
+ default() {
48
+ return h(VxeUIInputComponent, {
49
+ modelValue: widget.title,
50
+ placeholder: options.placeholder,
51
+ 'onUpdate:modelValue'(val) {
52
+ widget.title = val;
53
+ }
54
+ });
55
+ }
56
+ }),
57
+ h(VxeUIFormItemComponent, {
58
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
59
+ field: 'placeholder',
60
+ itemRender: { name: 'VxeInput' }
61
+ }),
62
+ h(VxeUIFormItemComponent, {
63
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
64
+ }, {
65
+ default() {
66
+ return h(VxeUISwitchComponent, {
67
+ modelValue: widget.required,
68
+ 'onUpdate:modelValue'(val) {
69
+ widget.required = val;
70
+ }
71
+ });
72
+ }
73
+ })
74
+ ];
75
+ }
76
+ });
77
+ };
78
+ }
79
+ });
80
+ const WidgetAInputViewComponent = defineComponent({
81
+ props: {
82
+ renderOpts: {
83
+ type: Object,
84
+ default: () => ({})
85
+ },
86
+ renderParams: {
87
+ type: Object,
88
+ default: () => ({})
89
+ }
90
+ },
91
+ emits: [],
92
+ setup(props) {
93
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
94
+ const changeEvent = () => {
95
+ const { renderParams } = props;
96
+ const { widget, $formView } = renderParams;
97
+ if ($formView) {
98
+ const itemValue = $formView ? $formView.getItemValue(widget) : null;
99
+ $formView.updateWidgetStatus(widget, itemValue);
100
+ }
101
+ };
102
+ return () => {
103
+ const { renderParams } = props;
104
+ const { widget, $formView } = renderParams;
105
+ return h(VxeUIFormItemComponent, {
106
+ class: ['vxe-form-design--widget-render-form-item'],
107
+ field: widget.field,
108
+ title: widget.title
109
+ }, {
110
+ default() {
111
+ return h(getCurrComponent('a-input'), {
112
+ value: $formView ? $formView.getItemValue(widget) : null,
113
+ onChange: changeEvent,
114
+ 'onUpdate:value'(val) {
115
+ if ($formView) {
116
+ $formView.setItemValue(widget, val);
117
+ }
118
+ }
119
+ });
120
+ }
121
+ });
122
+ };
123
+ }
124
+ });
125
+ return {
126
+ getWidgetAInputConfig,
127
+ WidgetAInputFormComponent,
128
+ WidgetAInputViewComponent
129
+ };
130
+ }
@@ -0,0 +1,130 @@
1
+ import { defineComponent, h } from 'vue';
2
+ import { getCurrComponent } from '../util/comp';
3
+ export function createWidgetAInputNumber(VxeUI) {
4
+ const getWidgetAInputNumberConfig = (params) => {
5
+ return {
6
+ title: '数字',
7
+ icon: 'vxe-icon-number',
8
+ options: {
9
+ placeholder: '请输入'
10
+ }
11
+ };
12
+ };
13
+ const WidgetAInputNumberFormComponent = defineComponent({
14
+ props: {
15
+ renderOpts: {
16
+ type: Object,
17
+ default: () => ({})
18
+ },
19
+ renderParams: {
20
+ type: Object,
21
+ default: () => ({})
22
+ }
23
+ },
24
+ emits: [],
25
+ setup(props) {
26
+ const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
27
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
28
+ const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
29
+ const VxeUIInputComponent = VxeUI.getComponent('VxeInput');
30
+ return () => {
31
+ const { renderParams } = props;
32
+ const { widget } = renderParams;
33
+ return h(VxeUIFormComponent, {
34
+ class: 'vxe-form-design--widget-render-form-wrapper',
35
+ vertical: true,
36
+ span: 24,
37
+ titleBold: true,
38
+ titleOverflow: true,
39
+ data: widget.options
40
+ }, {
41
+ default() {
42
+ return [
43
+ h(VxeUIFormItemComponent, {
44
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
45
+ }, {
46
+ default() {
47
+ return h(VxeUIInputComponent, {
48
+ modelValue: widget.title,
49
+ 'onUpdate:modelValue'(val) {
50
+ widget.title = val;
51
+ }
52
+ });
53
+ }
54
+ }),
55
+ h(VxeUIFormItemComponent, {
56
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
57
+ field: 'placeholder',
58
+ itemRender: { name: 'ElInput' }
59
+ }),
60
+ h(VxeUIFormItemComponent, {
61
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
62
+ }, {
63
+ default() {
64
+ return h(VxeUISwitchComponent, {
65
+ modelValue: widget.required,
66
+ 'onUpdate:modelValue'(val) {
67
+ widget.required = val;
68
+ }
69
+ });
70
+ }
71
+ })
72
+ ];
73
+ }
74
+ });
75
+ };
76
+ }
77
+ });
78
+ const WidgetAInputNumberViewComponent = defineComponent({
79
+ props: {
80
+ renderOpts: {
81
+ type: Object,
82
+ default: () => ({})
83
+ },
84
+ renderParams: {
85
+ type: Object,
86
+ default: () => ({})
87
+ }
88
+ },
89
+ emits: [],
90
+ setup(props) {
91
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
92
+ const changeEvent = () => {
93
+ const { renderParams } = props;
94
+ const { widget, $formView } = renderParams;
95
+ if ($formView) {
96
+ const itemValue = $formView ? $formView.getItemValue(widget) : null;
97
+ $formView.updateWidgetStatus(widget, itemValue);
98
+ }
99
+ };
100
+ return () => {
101
+ const { renderParams } = props;
102
+ const { widget, $formView } = renderParams;
103
+ const { options } = widget;
104
+ return h(VxeUIFormItemComponent, {
105
+ class: ['vxe-form-design--widget-render-form-item'],
106
+ field: widget.field,
107
+ title: widget.title
108
+ }, {
109
+ default() {
110
+ return h(getCurrComponent('a-input-number'), {
111
+ value: $formView ? $formView.getItemValue(widget) : null,
112
+ placeholder: options.placeholder,
113
+ onChange: changeEvent,
114
+ 'onUpdate:value'(val) {
115
+ if ($formView) {
116
+ $formView.setItemValue(widget, val);
117
+ }
118
+ }
119
+ });
120
+ }
121
+ });
122
+ };
123
+ }
124
+ });
125
+ return {
126
+ getWidgetAInputNumberConfig,
127
+ WidgetAInputNumberFormComponent,
128
+ WidgetAInputNumberViewComponent
129
+ };
130
+ }