@vxe-ui/plugin-render-element 4.2.4 → 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 +279 -0
  4. package/es/form-design/checkbox-widget.js +151 -0
  5. package/es/form-design/date-picker-widget.js +129 -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 +129 -0
  9. package/es/form-design/radio-widget.js +151 -0
  10. package/es/form-design/select-widget.js +149 -0
  11. package/es/form-design/switch-widget.js +125 -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 +111 -0
  15. package/es/index.js +111 -0
  16. package/es/store/index.js +2 -0
  17. package/es/style.css +38 -0
  18. package/es/style.min.css +1 -0
  19. package/es/table/index.js +633 -0
  20. package/es/util/comp.js +18 -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 +2962 -0
  25. package/lib/index.umd.min.js +1 -0
  26. package/lib/style.css +38 -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,151 @@
1
+ import { defineComponent, h } from 'vue';
2
+ import { useWidgetPropDataSource } from './use';
3
+ import { getCurrComponent } from '../util/comp';
4
+ import XEUtils from 'xe-utils';
5
+ export function createWidgetElCheckbox(VxeUI) {
6
+ const getWidgetElCheckboxConfig = (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 WidgetElCheckboxFormComponent = 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 { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false);
36
+ return () => {
37
+ const { renderParams } = props;
38
+ const { widget } = renderParams;
39
+ return h(VxeUIFormComponent, {
40
+ class: 'vxe-form-design--widget-render-form-wrapper',
41
+ vertical: true,
42
+ span: 24,
43
+ titleBold: true,
44
+ titleOverflow: true,
45
+ data: widget.options
46
+ }, {
47
+ default() {
48
+ return [
49
+ h(VxeUIFormItemComponent, {
50
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
51
+ }, {
52
+ default() {
53
+ return h(getCurrComponent('el-input'), {
54
+ modelValue: widget.title,
55
+ 'onUpdate:modelValue'(val) {
56
+ widget.title = val;
57
+ }
58
+ });
59
+ }
60
+ }),
61
+ h(VxeUIFormItemComponent, {
62
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
63
+ field: 'placeholder',
64
+ itemRender: { name: 'ElInput' }
65
+ }),
66
+ h(VxeUIFormItemComponent, {
67
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
68
+ }, {
69
+ default() {
70
+ return h(VxeUISwitchComponent, {
71
+ modelValue: widget.required,
72
+ 'onUpdate:modelValue'(val) {
73
+ widget.required = val;
74
+ }
75
+ });
76
+ }
77
+ }),
78
+ renderDataSourceFormItem()
79
+ ];
80
+ }
81
+ });
82
+ };
83
+ }
84
+ });
85
+ const WidgetElCheckboxViewComponent = defineComponent({
86
+ props: {
87
+ renderOpts: {
88
+ type: Object,
89
+ default: () => ({})
90
+ },
91
+ renderParams: {
92
+ type: Object,
93
+ default: () => ({})
94
+ }
95
+ },
96
+ emits: [],
97
+ setup(props) {
98
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
99
+ const changeEvent = () => {
100
+ const { renderParams } = props;
101
+ const { widget, $formView } = renderParams;
102
+ if ($formView) {
103
+ const itemValue = $formView ? $formView.getItemValue(widget) : null;
104
+ $formView.updateWidgetStatus(widget, itemValue);
105
+ }
106
+ };
107
+ return () => {
108
+ const { renderParams } = props;
109
+ const { widget, $formView } = renderParams;
110
+ const { options } = widget;
111
+ return h(VxeUIFormItemComponent, {
112
+ class: ['vxe-form-design--widget-render-form-item'],
113
+ field: widget.field,
114
+ title: widget.title
115
+ }, {
116
+ default() {
117
+ return h(getCurrComponent('el-checkbox-group'), {
118
+ modelValue: $formView ? $formView.getItemValue(widget) : null,
119
+ onChange: changeEvent,
120
+ 'onUpdate:modelValue'(val) {
121
+ if ($formView) {
122
+ $formView.setItemValue(widget, val);
123
+ }
124
+ }
125
+ }, {
126
+ default: () => {
127
+ return options.options
128
+ ? options.options.map((item, index) => {
129
+ return h(getCurrComponent('el-checkbox'), {
130
+ key: index,
131
+ value: item.value
132
+ }, {
133
+ default() {
134
+ return `${item.value}`;
135
+ }
136
+ });
137
+ })
138
+ : [];
139
+ }
140
+ });
141
+ }
142
+ });
143
+ };
144
+ }
145
+ });
146
+ return {
147
+ getWidgetElCheckboxConfig,
148
+ WidgetElCheckboxFormComponent,
149
+ WidgetElCheckboxViewComponent
150
+ };
151
+ }
@@ -0,0 +1,129 @@
1
+ import { defineComponent, h } from 'vue';
2
+ import { getCurrComponent } from '../util/comp';
3
+ export function createWidgetElDatePicker(VxeUI) {
4
+ const getWidgetElDatePickerConfig = (params) => {
5
+ return {
6
+ title: '日期',
7
+ icon: 'vxe-icon-input',
8
+ options: {
9
+ placeholder: '请选择'
10
+ }
11
+ };
12
+ };
13
+ const WidgetElDatePickerFormComponent = 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
+ return () => {
30
+ const { renderParams } = props;
31
+ const { widget } = renderParams;
32
+ return h(VxeUIFormComponent, {
33
+ class: 'vxe-form-design--widget-render-form-wrapper',
34
+ vertical: true,
35
+ span: 24,
36
+ titleBold: true,
37
+ titleOverflow: true,
38
+ data: widget.options
39
+ }, {
40
+ default() {
41
+ return [
42
+ h(VxeUIFormItemComponent, {
43
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
44
+ }, {
45
+ default() {
46
+ return h(getCurrComponent('el-input'), {
47
+ modelValue: widget.title,
48
+ 'onUpdate:modelValue'(val) {
49
+ widget.title = val;
50
+ }
51
+ });
52
+ }
53
+ }),
54
+ h(VxeUIFormItemComponent, {
55
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
56
+ field: 'placeholder',
57
+ itemRender: { name: 'ElDatePicker' }
58
+ }),
59
+ h(VxeUIFormItemComponent, {
60
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
61
+ }, {
62
+ default() {
63
+ return h(VxeUISwitchComponent, {
64
+ modelValue: widget.required,
65
+ 'onUpdate:modelValue'(val) {
66
+ widget.required = val;
67
+ }
68
+ });
69
+ }
70
+ })
71
+ ];
72
+ }
73
+ });
74
+ };
75
+ }
76
+ });
77
+ const WidgetElDatePickerViewComponent = defineComponent({
78
+ props: {
79
+ renderOpts: {
80
+ type: Object,
81
+ default: () => ({})
82
+ },
83
+ renderParams: {
84
+ type: Object,
85
+ default: () => ({})
86
+ }
87
+ },
88
+ emits: [],
89
+ setup(props) {
90
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
91
+ const changeEvent = () => {
92
+ const { renderParams } = props;
93
+ const { widget, $formView } = renderParams;
94
+ if ($formView) {
95
+ const itemValue = $formView ? $formView.getItemValue(widget) : null;
96
+ $formView.updateWidgetStatus(widget, itemValue);
97
+ }
98
+ };
99
+ return () => {
100
+ const { renderParams } = props;
101
+ const { widget, $formView } = renderParams;
102
+ const { options } = widget;
103
+ return h(VxeUIFormItemComponent, {
104
+ class: ['vxe-form-design--widget-render-form-item'],
105
+ field: widget.field,
106
+ title: widget.title
107
+ }, {
108
+ default() {
109
+ return h(getCurrComponent('el-date-picker'), {
110
+ modelValue: $formView ? $formView.getItemValue(widget) : null,
111
+ placeholder: options.placeholder,
112
+ onChange: changeEvent,
113
+ 'onUpdate:modelValue'(val) {
114
+ if ($formView) {
115
+ $formView.setItemValue(widget, val);
116
+ }
117
+ }
118
+ });
119
+ }
120
+ });
121
+ };
122
+ }
123
+ });
124
+ return {
125
+ getWidgetElDatePickerConfig,
126
+ WidgetElDatePickerFormComponent,
127
+ WidgetElDatePickerViewComponent
128
+ };
129
+ }
@@ -0,0 +1,97 @@
1
+ import { h } from 'vue';
2
+ import { createWidgetElInput } from './input-widget';
3
+ import { createWidgetElTextarea } from './textarea-widget';
4
+ import { createWidgetElInputNumber } from './number-input-widget';
5
+ import { createWidgetElDatePicker } from './date-picker-widget';
6
+ import { createWidgetElSelect } from './select-widget';
7
+ import { createWidgetElRadio } from './radio-widget';
8
+ import { createWidgetElCheckbox } from './checkbox-widget';
9
+ import { createWidgetElSwitch } from './switch-widget';
10
+ /**
11
+ * 表单设计器 - 渲染器
12
+ */
13
+ export function defineFormDesignRender(VxeUI) {
14
+ const { getWidgetElInputConfig, WidgetElInputViewComponent, WidgetElInputFormComponent } = createWidgetElInput(VxeUI);
15
+ const { getWidgetElTextareaConfig, WidgetElTextareaViewComponent, WidgetElTextareaFormComponent } = createWidgetElTextarea(VxeUI);
16
+ const { getWidgetElInputNumberConfig, WidgetElInputNumberViewComponent, WidgetElInputNumberFormComponent } = createWidgetElInputNumber(VxeUI);
17
+ const { getWidgetElDatePickerConfig, WidgetElDatePickerViewComponent, WidgetElDatePickerFormComponent } = createWidgetElDatePicker(VxeUI);
18
+ const { getWidgetElSelectConfig, WidgetElSelectViewComponent, WidgetElSelectFormComponent } = createWidgetElSelect(VxeUI);
19
+ const { getWidgetElRadioConfig, WidgetElRadioViewComponent, WidgetElRadioFormComponent } = createWidgetElRadio(VxeUI);
20
+ const { getWidgetElCheckboxConfig, WidgetElCheckboxViewComponent, WidgetElCheckboxFormComponent } = createWidgetElCheckbox(VxeUI);
21
+ const { getWidgetElSwitchConfig, WidgetElSwitchViewComponent, WidgetElSwitchFormComponent } = createWidgetElSwitch(VxeUI);
22
+ VxeUI.renderer.mixin({
23
+ ElInputWidget: {
24
+ createFormDesignWidgetConfig: getWidgetElInputConfig,
25
+ renderFormDesignWidgetView(renderOpts, renderParams) {
26
+ return h(WidgetElInputViewComponent, { renderOpts, renderParams });
27
+ },
28
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
29
+ return h(WidgetElInputFormComponent, { renderOpts, renderParams });
30
+ }
31
+ },
32
+ ElTextareaWidget: {
33
+ createFormDesignWidgetConfig: getWidgetElTextareaConfig,
34
+ renderFormDesignWidgetView(renderOpts, renderParams) {
35
+ return h(WidgetElTextareaViewComponent, { renderOpts, renderParams });
36
+ },
37
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
38
+ return h(WidgetElTextareaFormComponent, { renderOpts, renderParams });
39
+ }
40
+ },
41
+ ElNumberInputWidget: {
42
+ createFormDesignWidgetConfig: getWidgetElInputNumberConfig,
43
+ renderFormDesignWidgetView(renderOpts, renderParams) {
44
+ return h(WidgetElInputNumberViewComponent, { renderOpts, renderParams });
45
+ },
46
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
47
+ return h(WidgetElInputNumberFormComponent, { renderOpts, renderParams });
48
+ }
49
+ },
50
+ ElDatePickerWidget: {
51
+ createFormDesignWidgetConfig: getWidgetElDatePickerConfig,
52
+ renderFormDesignWidgetView(renderOpts, renderParams) {
53
+ return h(WidgetElDatePickerViewComponent, { renderOpts, renderParams });
54
+ },
55
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
56
+ return h(WidgetElDatePickerFormComponent, { renderOpts, renderParams });
57
+ }
58
+ },
59
+ ElSelectWidget: {
60
+ createFormDesignWidgetConfig: getWidgetElSelectConfig,
61
+ renderFormDesignWidgetView(renderOpts, renderParams) {
62
+ return h(WidgetElSelectViewComponent, { renderOpts, renderParams });
63
+ },
64
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
65
+ return h(WidgetElSelectFormComponent, { renderOpts, renderParams });
66
+ }
67
+ },
68
+ ElRadioWidget: {
69
+ createFormDesignWidgetConfig: getWidgetElRadioConfig,
70
+ renderFormDesignWidgetView(renderOpts, renderParams) {
71
+ return h(WidgetElRadioViewComponent, { renderOpts, renderParams });
72
+ },
73
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
74
+ return h(WidgetElRadioFormComponent, { renderOpts, renderParams });
75
+ }
76
+ },
77
+ ElCheckboxWidget: {
78
+ createFormDesignWidgetConfig: getWidgetElCheckboxConfig,
79
+ createFormDesignWidgetFieldValue: () => [],
80
+ renderFormDesignWidgetView(renderOpts, renderParams) {
81
+ return h(WidgetElCheckboxViewComponent, { renderOpts, renderParams });
82
+ },
83
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
84
+ return h(WidgetElCheckboxFormComponent, { renderOpts, renderParams });
85
+ }
86
+ },
87
+ ElSwitchWidget: {
88
+ createFormDesignWidgetConfig: getWidgetElSwitchConfig,
89
+ renderFormDesignWidgetView(renderOpts, renderParams) {
90
+ return h(WidgetElSwitchViewComponent, { renderOpts, renderParams });
91
+ },
92
+ renderFormDesignWidgetFormView(renderOpts, renderParams) {
93
+ return h(WidgetElSwitchFormComponent, { 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 createWidgetElInput(VxeUI) {
4
+ const getWidgetElInputConfig = (params) => {
5
+ return {
6
+ title: '输入框',
7
+ icon: 'vxe-icon-input',
8
+ options: {
9
+ placeholder: '请输入'
10
+ }
11
+ };
12
+ };
13
+ const WidgetElInputFormComponent = 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
+ return () => {
30
+ const { renderParams } = props;
31
+ const { widget } = renderParams;
32
+ const { options } = widget;
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: options
40
+ }, {
41
+ default() {
42
+ return [
43
+ h(VxeUIFormItemComponent, {
44
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
45
+ }, {
46
+ default() {
47
+ return h(getCurrComponent('el-input'), {
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 WidgetElInputViewComponent = 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('el-input'), {
111
+ modelValue: $formView ? $formView.getItemValue(widget) : null,
112
+ placeholder: options.placeholder,
113
+ onChange: changeEvent,
114
+ 'onUpdate:modelValue'(val) {
115
+ if ($formView) {
116
+ $formView.setItemValue(widget, val);
117
+ }
118
+ }
119
+ });
120
+ }
121
+ });
122
+ };
123
+ }
124
+ });
125
+ return {
126
+ getWidgetElInputConfig,
127
+ WidgetElInputFormComponent,
128
+ WidgetElInputViewComponent
129
+ };
130
+ }
@@ -0,0 +1,129 @@
1
+ import { defineComponent, h } from 'vue';
2
+ import { getCurrComponent } from '../util/comp';
3
+ export function createWidgetElInputNumber(VxeUI) {
4
+ const getWidgetElInputNumberConfig = (params) => {
5
+ return {
6
+ title: '数字',
7
+ icon: 'vxe-icon-number',
8
+ options: {
9
+ placeholder: '请输入'
10
+ }
11
+ };
12
+ };
13
+ const WidgetElInputNumberFormComponent = 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
+ return () => {
30
+ const { renderParams } = props;
31
+ const { widget } = renderParams;
32
+ return h(VxeUIFormComponent, {
33
+ class: 'vxe-form-design--widget-render-form-wrapper',
34
+ vertical: true,
35
+ span: 24,
36
+ titleBold: true,
37
+ titleOverflow: true,
38
+ data: widget.options
39
+ }, {
40
+ default() {
41
+ return [
42
+ h(VxeUIFormItemComponent, {
43
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
44
+ }, {
45
+ default() {
46
+ return h(getCurrComponent('el-input'), {
47
+ modelValue: widget.title,
48
+ 'onUpdate:modelValue'(val) {
49
+ widget.title = val;
50
+ }
51
+ });
52
+ }
53
+ }),
54
+ h(VxeUIFormItemComponent, {
55
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
56
+ field: 'placeholder',
57
+ itemRender: { name: 'ElInput' }
58
+ }),
59
+ h(VxeUIFormItemComponent, {
60
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
61
+ }, {
62
+ default() {
63
+ return h(VxeUISwitchComponent, {
64
+ modelValue: widget.required,
65
+ 'onUpdate:modelValue'(val) {
66
+ widget.required = val;
67
+ }
68
+ });
69
+ }
70
+ })
71
+ ];
72
+ }
73
+ });
74
+ };
75
+ }
76
+ });
77
+ const WidgetElInputNumberViewComponent = defineComponent({
78
+ props: {
79
+ renderOpts: {
80
+ type: Object,
81
+ default: () => ({})
82
+ },
83
+ renderParams: {
84
+ type: Object,
85
+ default: () => ({})
86
+ }
87
+ },
88
+ emits: [],
89
+ setup(props) {
90
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
91
+ const changeEvent = () => {
92
+ const { renderParams } = props;
93
+ const { widget, $formView } = renderParams;
94
+ if ($formView) {
95
+ const itemValue = $formView ? $formView.getItemValue(widget) : null;
96
+ $formView.updateWidgetStatus(widget, itemValue);
97
+ }
98
+ };
99
+ return () => {
100
+ const { renderParams } = props;
101
+ const { widget, $formView } = renderParams;
102
+ const { options } = widget;
103
+ return h(VxeUIFormItemComponent, {
104
+ class: ['vxe-form-design--widget-render-form-item'],
105
+ field: widget.field,
106
+ title: widget.title
107
+ }, {
108
+ default() {
109
+ return h(getCurrComponent('el-input-number'), {
110
+ modelValue: $formView ? $formView.getItemValue(widget) : null,
111
+ placeholder: options.placeholder,
112
+ onChange: changeEvent,
113
+ 'onUpdate:modelValue'(val) {
114
+ if ($formView) {
115
+ $formView.setItemValue(widget, val);
116
+ }
117
+ }
118
+ });
119
+ }
120
+ });
121
+ };
122
+ }
123
+ });
124
+ return {
125
+ getWidgetElInputNumberConfig,
126
+ WidgetElInputNumberFormComponent,
127
+ WidgetElInputNumberViewComponent
128
+ };
129
+ }