@vxe-ui/plugin-render-element
Advanced tools
| import { defineComponent, h } from 'vue'; | ||
| import { useWidgetPropDataSource } from './use'; | ||
| import { getCurrComponent } from '../util/comp'; | ||
| import XEUtils from 'xe-utils'; | ||
| export function createWidgetElCheckbox(VxeUI) { | ||
| const getWidgetElCheckboxConfig = (params) => { | ||
| return { | ||
| title: '复选框', | ||
| icon: 'vxe-icon-checkbox-checked', | ||
| options: { | ||
| options: XEUtils.range(0, 3).map((v, i) => { | ||
| return { | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1]) | ||
| }; | ||
| }) | ||
| } | ||
| }; | ||
| }; | ||
| const WidgetElCheckboxFormComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| const { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false); | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| return h(VxeUIFormComponent, { | ||
| class: 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| default() { | ||
| return [ | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { name: 'ElInput' } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| default() { | ||
| return h(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }), | ||
| renderDataSourceFormItem() | ||
| ]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| const WidgetElCheckboxViewComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const changeEvent = () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| if ($formView) { | ||
| const itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| const { options } = widget; | ||
| return h(VxeUIFormItemComponent, { | ||
| class: ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-checkbox-group'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue'(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }, { | ||
| default: () => { | ||
| return options.options | ||
| ? options.options.map((item, index) => { | ||
| return h(getCurrComponent('el-checkbox'), { | ||
| key: index, | ||
| value: item.value | ||
| }, { | ||
| default() { | ||
| return `${item.value}`; | ||
| } | ||
| }); | ||
| }) | ||
| : []; | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElCheckboxConfig, | ||
| WidgetElCheckboxFormComponent, | ||
| WidgetElCheckboxViewComponent | ||
| }; | ||
| } |
| import { defineComponent, h } from 'vue'; | ||
| import { getCurrComponent } from '../util/comp'; | ||
| export function createWidgetElDatePicker(VxeUI) { | ||
| const getWidgetElDatePickerConfig = (params) => { | ||
| return { | ||
| title: '日期', | ||
| icon: 'vxe-icon-input', | ||
| options: { | ||
| placeholder: '请选择' | ||
| } | ||
| }; | ||
| }; | ||
| const WidgetElDatePickerFormComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| return h(VxeUIFormComponent, { | ||
| class: 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| default() { | ||
| return [ | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { name: 'ElDatePicker' } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| default() { | ||
| return h(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }) | ||
| ]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| const WidgetElDatePickerViewComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const changeEvent = () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| if ($formView) { | ||
| const itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| const { options } = widget; | ||
| return h(VxeUIFormItemComponent, { | ||
| class: ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-date-picker'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue'(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElDatePickerConfig, | ||
| WidgetElDatePickerFormComponent, | ||
| WidgetElDatePickerViewComponent | ||
| }; | ||
| } |
| import { h } from 'vue'; | ||
| import { createWidgetElInput } from './input-widget'; | ||
| import { createWidgetElTextarea } from './textarea-widget'; | ||
| import { createWidgetElInputNumber } from './number-input-widget'; | ||
| import { createWidgetElDatePicker } from './date-picker-widget'; | ||
| import { createWidgetElSelect } from './select-widget'; | ||
| import { createWidgetElRadio } from './radio-widget'; | ||
| import { createWidgetElCheckbox } from './checkbox-widget'; | ||
| import { createWidgetElSwitch } from './switch-widget'; | ||
| /** | ||
| * 表单设计器 - 渲染器 | ||
| */ | ||
| export function defineFormDesignRender(VxeUI) { | ||
| const { getWidgetElInputConfig, WidgetElInputViewComponent, WidgetElInputFormComponent } = createWidgetElInput(VxeUI); | ||
| const { getWidgetElTextareaConfig, WidgetElTextareaViewComponent, WidgetElTextareaFormComponent } = createWidgetElTextarea(VxeUI); | ||
| const { getWidgetElInputNumberConfig, WidgetElInputNumberViewComponent, WidgetElInputNumberFormComponent } = createWidgetElInputNumber(VxeUI); | ||
| const { getWidgetElDatePickerConfig, WidgetElDatePickerViewComponent, WidgetElDatePickerFormComponent } = createWidgetElDatePicker(VxeUI); | ||
| const { getWidgetElSelectConfig, WidgetElSelectViewComponent, WidgetElSelectFormComponent } = createWidgetElSelect(VxeUI); | ||
| const { getWidgetElRadioConfig, WidgetElRadioViewComponent, WidgetElRadioFormComponent } = createWidgetElRadio(VxeUI); | ||
| const { getWidgetElCheckboxConfig, WidgetElCheckboxViewComponent, WidgetElCheckboxFormComponent } = createWidgetElCheckbox(VxeUI); | ||
| const { getWidgetElSwitchConfig, WidgetElSwitchViewComponent, WidgetElSwitchFormComponent } = createWidgetElSwitch(VxeUI); | ||
| VxeUI.renderer.mixin({ | ||
| ElInputWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElInputConfig, | ||
| renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return h(WidgetElInputViewComponent, { renderOpts, renderParams }); | ||
| }, | ||
| renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return h(WidgetElInputFormComponent, { renderOpts, renderParams }); | ||
| } | ||
| }, | ||
| ElTextareaWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElTextareaConfig, | ||
| renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return h(WidgetElTextareaViewComponent, { renderOpts, renderParams }); | ||
| }, | ||
| renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return h(WidgetElTextareaFormComponent, { renderOpts, renderParams }); | ||
| } | ||
| }, | ||
| ElNumberInputWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElInputNumberConfig, | ||
| renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return h(WidgetElInputNumberViewComponent, { renderOpts, renderParams }); | ||
| }, | ||
| renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return h(WidgetElInputNumberFormComponent, { renderOpts, renderParams }); | ||
| } | ||
| }, | ||
| ElDatePickerWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElDatePickerConfig, | ||
| renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return h(WidgetElDatePickerViewComponent, { renderOpts, renderParams }); | ||
| }, | ||
| renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return h(WidgetElDatePickerFormComponent, { renderOpts, renderParams }); | ||
| } | ||
| }, | ||
| ElSelectWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElSelectConfig, | ||
| renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return h(WidgetElSelectViewComponent, { renderOpts, renderParams }); | ||
| }, | ||
| renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return h(WidgetElSelectFormComponent, { renderOpts, renderParams }); | ||
| } | ||
| }, | ||
| ElRadioWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElRadioConfig, | ||
| renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return h(WidgetElRadioViewComponent, { renderOpts, renderParams }); | ||
| }, | ||
| renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return h(WidgetElRadioFormComponent, { renderOpts, renderParams }); | ||
| } | ||
| }, | ||
| ElCheckboxWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElCheckboxConfig, | ||
| createFormDesignWidgetFieldValue: () => [], | ||
| renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return h(WidgetElCheckboxViewComponent, { renderOpts, renderParams }); | ||
| }, | ||
| renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return h(WidgetElCheckboxFormComponent, { renderOpts, renderParams }); | ||
| } | ||
| }, | ||
| ElSwitchWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElSwitchConfig, | ||
| renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return h(WidgetElSwitchViewComponent, { renderOpts, renderParams }); | ||
| }, | ||
| renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return h(WidgetElSwitchFormComponent, { renderOpts, renderParams }); | ||
| } | ||
| } | ||
| }); | ||
| } |
| import { defineComponent, h } from 'vue'; | ||
| import { getCurrComponent } from '../util/comp'; | ||
| export function createWidgetElInput(VxeUI) { | ||
| const getWidgetElInputConfig = (params) => { | ||
| return { | ||
| title: '输入框', | ||
| icon: 'vxe-icon-input', | ||
| options: { | ||
| placeholder: '请输入' | ||
| } | ||
| }; | ||
| }; | ||
| const WidgetElInputFormComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| const { options } = widget; | ||
| return h(VxeUIFormComponent, { | ||
| class: 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: options | ||
| }, { | ||
| default() { | ||
| return [ | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { name: 'ElInput' } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| default() { | ||
| return h(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }) | ||
| ]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| const WidgetElInputViewComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const changeEvent = () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| if ($formView) { | ||
| const itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| const { options } = widget; | ||
| return h(VxeUIFormItemComponent, { | ||
| class: ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-input'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue'(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElInputConfig, | ||
| WidgetElInputFormComponent, | ||
| WidgetElInputViewComponent | ||
| }; | ||
| } |
| import { defineComponent, h } from 'vue'; | ||
| import { getCurrComponent } from '../util/comp'; | ||
| export function createWidgetElInputNumber(VxeUI) { | ||
| const getWidgetElInputNumberConfig = (params) => { | ||
| return { | ||
| title: '数字', | ||
| icon: 'vxe-icon-number', | ||
| options: { | ||
| placeholder: '请输入' | ||
| } | ||
| }; | ||
| }; | ||
| const WidgetElInputNumberFormComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| return h(VxeUIFormComponent, { | ||
| class: 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| default() { | ||
| return [ | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { name: 'ElInput' } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| default() { | ||
| return h(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }) | ||
| ]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| const WidgetElInputNumberViewComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const changeEvent = () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| if ($formView) { | ||
| const itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| const { options } = widget; | ||
| return h(VxeUIFormItemComponent, { | ||
| class: ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-input-number'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue'(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElInputNumberConfig, | ||
| WidgetElInputNumberFormComponent, | ||
| WidgetElInputNumberViewComponent | ||
| }; | ||
| } |
| import { defineComponent, h } from 'vue'; | ||
| import { useWidgetPropDataSource } from './use'; | ||
| import { getCurrComponent } from '../util/comp'; | ||
| import XEUtils from 'xe-utils'; | ||
| export function createWidgetElRadio(VxeUI) { | ||
| const getWidgetElRadioConfig = (params) => { | ||
| return { | ||
| title: '单选框', | ||
| icon: 'vxe-icon-radio-checked', | ||
| options: { | ||
| options: XEUtils.range(0, 3).map((v, i) => { | ||
| return { | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1]) | ||
| }; | ||
| }) | ||
| } | ||
| }; | ||
| }; | ||
| const WidgetElRadioFormComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| const { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false); | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| return h(VxeUIFormComponent, { | ||
| class: 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| default() { | ||
| return [ | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { name: 'ElInput' } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| default() { | ||
| return h(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }), | ||
| renderDataSourceFormItem() | ||
| ]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| const WidgetElRadioViewComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const changeEvent = () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| if ($formView) { | ||
| const itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| const { options } = widget; | ||
| return h(VxeUIFormItemComponent, { | ||
| class: ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-radio-group'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue'(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }, { | ||
| default: () => { | ||
| return options.options | ||
| ? options.options.map((item, index) => { | ||
| return h(getCurrComponent('el-radio'), { | ||
| key: index, | ||
| value: item.value | ||
| }, { | ||
| default() { | ||
| return `${item.value || ''}`; | ||
| } | ||
| }); | ||
| }) | ||
| : []; | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElRadioConfig, | ||
| WidgetElRadioFormComponent, | ||
| WidgetElRadioViewComponent | ||
| }; | ||
| } |
| import { defineComponent, h } from 'vue'; | ||
| import { useWidgetPropDataSource } from './use'; | ||
| import { getCurrComponent } from '../util/comp'; | ||
| import XEUtils from 'xe-utils'; | ||
| export function createWidgetElSelect(VxeUI) { | ||
| const getWidgetElSelectConfig = (params) => { | ||
| return { | ||
| title: '下拉框', | ||
| icon: 'vxe-icon-select', | ||
| options: { | ||
| placeholder: '请选择', | ||
| options: XEUtils.range(0, 3).map((v, i) => { | ||
| return { | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1]) | ||
| }; | ||
| }) | ||
| } | ||
| }; | ||
| }; | ||
| const WidgetElSelectFormComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| const { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false); | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| return h(VxeUIFormComponent, { | ||
| class: 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| default() { | ||
| return [ | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { name: 'ElInput' } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| default() { | ||
| return h(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }), | ||
| renderDataSourceFormItem() | ||
| ]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| const WidgetElSelectViewComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const changeEvent = () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| if ($formView) { | ||
| const itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| const { options } = widget; | ||
| return h(VxeUIFormItemComponent, { | ||
| class: ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-select'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue'(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }, { | ||
| default: () => { | ||
| return options.options | ||
| ? options.options.map(item => { | ||
| return h(getCurrComponent('el-option'), { | ||
| label: item.value, | ||
| value: item.value | ||
| }); | ||
| }) | ||
| : []; | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElSelectConfig, | ||
| WidgetElSelectFormComponent, | ||
| WidgetElSelectViewComponent | ||
| }; | ||
| } |
| import { defineComponent, h } from 'vue'; | ||
| import { getCurrComponent } from '../util/comp'; | ||
| export function createWidgetElSwitch(VxeUI) { | ||
| const getWidgetElSwitchConfig = (params) => { | ||
| return { | ||
| title: '是/否', | ||
| icon: 'vxe-icon-switch', | ||
| options: {} | ||
| }; | ||
| }; | ||
| const WidgetElSwitchFormComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| return h(VxeUIFormComponent, { | ||
| class: 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| default() { | ||
| return [ | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { name: 'ElInput' } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| default() { | ||
| return h(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }) | ||
| ]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| const WidgetElSwitchViewComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const changeEvent = () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| if ($formView) { | ||
| const itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| return h(VxeUIFormItemComponent, { | ||
| class: ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-switch'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue'(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElSwitchConfig, | ||
| WidgetElSwitchFormComponent, | ||
| WidgetElSwitchViewComponent | ||
| }; | ||
| } |
| import { defineComponent, h } from 'vue'; | ||
| import { getCurrComponent } from '../util/comp'; | ||
| export function createWidgetElTextarea(VxeUI) { | ||
| const getWidgetElTextareaConfig = (params) => { | ||
| return { | ||
| title: '文本域', | ||
| icon: 'vxe-icon-textarea', | ||
| options: { | ||
| placeholder: '请输入' | ||
| } | ||
| }; | ||
| }; | ||
| const WidgetElTextareaFormComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| return h(VxeUIFormComponent, { | ||
| class: 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| default() { | ||
| return [ | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { name: 'ElInput' } | ||
| }), | ||
| h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| default() { | ||
| return h(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue'(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }) | ||
| ]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| const WidgetElTextareaViewComponent = defineComponent({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| default: () => ({}) | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup(props) { | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const changeEvent = () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| if ($formView) { | ||
| const itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return () => { | ||
| const { renderParams } = props; | ||
| const { widget, $formView } = renderParams; | ||
| const { options } = widget; | ||
| return h(VxeUIFormItemComponent, { | ||
| class: ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| default() { | ||
| return h(getCurrComponent('el-input'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| type: 'textarea', | ||
| autosize: { | ||
| minRows: 2, | ||
| maxRows: 4 | ||
| }, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue'(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElTextareaConfig, | ||
| WidgetElTextareaFormComponent, | ||
| WidgetElTextareaViewComponent | ||
| }; | ||
| } |
| import { h, onMounted, ref, watch } from 'vue'; | ||
| export function useWidgetPropDataSource(VxeUI, props, isSubOption) { | ||
| const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| const VxeUIButtonComponent = VxeUI.getComponent('VxeButton'); | ||
| const VxeUITextareaComponent = VxeUI.getComponent('VxeTextarea'); | ||
| const VxeUITipComponent = VxeUI.getComponent('VxeTip'); | ||
| const optionsContent = ref(''); | ||
| const expandIndexList = ref([]); | ||
| const addOptionEvent = () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| const options = widget.options.options || []; | ||
| options.push({ | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [options.length + 1]) | ||
| }); | ||
| widget.options.options = [...options]; | ||
| }; | ||
| const subRE = /^(\s|\t)+/; | ||
| const hasSubOption = (str) => { | ||
| return subRE.test(str); | ||
| }; | ||
| const expandAllOption = () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| const options = widget.options.options || []; | ||
| const indexList = []; | ||
| options.forEach((group, gIndex) => { | ||
| const { options } = group; | ||
| if (options && options.length) { | ||
| indexList.push(gIndex); | ||
| } | ||
| }); | ||
| expandIndexList.value = indexList; | ||
| }; | ||
| const toggleExpandOption = (item, gIndex) => { | ||
| if (expandIndexList.value.includes(gIndex)) { | ||
| expandIndexList.value = expandIndexList.value.filter(num => num !== gIndex); | ||
| } | ||
| else { | ||
| expandIndexList.value.push(gIndex); | ||
| } | ||
| }; | ||
| const confirmBatchAddOptionEvent = () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| const optList = []; | ||
| const rowList = optionsContent.value.split('\n'); | ||
| let prevGroup = null; | ||
| if (isSubOption) { | ||
| rowList.forEach((str, index) => { | ||
| const nextStr = rowList[index + 1]; | ||
| const value = str.trim(); | ||
| if (!value) { | ||
| return; | ||
| } | ||
| const item = { | ||
| value | ||
| }; | ||
| if (prevGroup) { | ||
| if (hasSubOption(str)) { | ||
| prevGroup.options.push(item); | ||
| return; | ||
| } | ||
| prevGroup = null; | ||
| optList.push(item); | ||
| } | ||
| else { | ||
| optList.push(item); | ||
| } | ||
| if (nextStr) { | ||
| if (hasSubOption(nextStr)) { | ||
| prevGroup = Object.assign(item, { options: [] }); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| else { | ||
| rowList.forEach((str) => { | ||
| optList.push({ | ||
| value: str.trim() | ||
| }); | ||
| }); | ||
| } | ||
| widget.options.options = optList; | ||
| expandAllOption(); | ||
| }; | ||
| const openPopupEditEvent = () => { | ||
| var _a; | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| const contList = []; | ||
| (_a = widget.options.options) === null || _a === void 0 ? void 0 : _a.forEach(group => { | ||
| var _a; | ||
| contList.push(group.value); | ||
| (_a = group.options) === null || _a === void 0 ? void 0 : _a.forEach(item => { | ||
| contList.push(`\t${item.value}`); | ||
| }); | ||
| }); | ||
| optionsContent.value = contList.join('\n'); | ||
| VxeUI.modal.open({ | ||
| title: `${widget.title} - ${VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption')}`, | ||
| width: 500, | ||
| height: '50vh ', | ||
| resize: true, | ||
| showFooter: true, | ||
| showCancelButton: true, | ||
| showConfirmButton: true, | ||
| confirmButtonText: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.buildOption'), | ||
| onConfirm: confirmBatchAddOptionEvent, | ||
| slots: { | ||
| default() { | ||
| return h('div', { | ||
| class: 'vxe-form-design--widget-form-item-data-source-popup' | ||
| }, [ | ||
| h(VxeUITipComponent, { | ||
| status: 'primary', | ||
| title: '', | ||
| content: VxeUI.getI18n(`vxe.formDesign.widgetProp.dataSource.${isSubOption ? 'batchEditSubTip' : 'batchEditTip'}`) | ||
| }), | ||
| h(VxeUITextareaComponent, { | ||
| resize: 'none', | ||
| modelValue: optionsContent.value, | ||
| 'onUpdate:modelValue'(val) { | ||
| optionsContent.value = val; | ||
| } | ||
| }) | ||
| ]); | ||
| } | ||
| } | ||
| }); | ||
| }; | ||
| const renderOption = (item, hasFirstLevel, isExpand, gIndex, hasSub, isFirst, isLast) => { | ||
| return h('div', { | ||
| class: ['vxe-form-design--widget-form-item-data-source-option', { | ||
| 'is--first': isFirst, | ||
| 'is--last': isLast | ||
| }] | ||
| }, [ | ||
| h('div', { | ||
| class: 'vxe-form-design--widget-expand-btn' | ||
| }, hasFirstLevel && hasSub | ||
| ? [ | ||
| h('i', { | ||
| class: isExpand ? VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE : VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN, | ||
| onClick() { | ||
| toggleExpandOption(item, gIndex); | ||
| } | ||
| }) | ||
| ] | ||
| : []), | ||
| h('input', { | ||
| class: 'vxe-default-input', | ||
| value: item.value, | ||
| onInput(evnt) { | ||
| item.value = evnt.currentTarget.value; | ||
| } | ||
| }), | ||
| h(VxeUIButtonComponent, { | ||
| status: 'danger', | ||
| mode: 'text', | ||
| icon: VxeUI.getIcon().FORM_DESIGN_WIDGET_DELETE | ||
| }) | ||
| ]); | ||
| }; | ||
| const renderOptions = () => { | ||
| const { renderParams } = props; | ||
| const { widget } = renderParams; | ||
| const { options } = widget; | ||
| const groups = options.options; | ||
| const optVNs = []; | ||
| if (groups) { | ||
| groups.forEach((group, gIndex) => { | ||
| const { options } = group; | ||
| const isExpand = expandIndexList.value.includes(gIndex); | ||
| if (options && options.length) { | ||
| optVNs.push(renderOption(group, true, isExpand, gIndex, true, gIndex === 0, gIndex === groups.length - 1)); | ||
| if (isExpand) { | ||
| optVNs.push(h('div', { | ||
| class: 'vxe-form-design--widget-form-item-data-source-sub-option' | ||
| }, options.map(item => renderOption(item, false, isExpand, 0, false, false, false)))); | ||
| } | ||
| } | ||
| else { | ||
| optVNs.push(renderOption(group, true, isExpand, gIndex, false, gIndex === 0, gIndex === groups.length - 1)); | ||
| } | ||
| }); | ||
| } | ||
| return optVNs; | ||
| }; | ||
| watch(() => props.renderParams.widget, () => { | ||
| expandAllOption(); | ||
| }); | ||
| onMounted(() => { | ||
| expandAllOption(); | ||
| }); | ||
| return { | ||
| renderDataSourceFormItem() { | ||
| return h(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.name'), | ||
| field: 'options' | ||
| }, { | ||
| default() { | ||
| return [ | ||
| h('div', {}, [ | ||
| h(VxeUIButtonComponent, { | ||
| status: 'primary', | ||
| mode: 'text', | ||
| content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.addOption'), | ||
| onClick: addOptionEvent | ||
| }), | ||
| h(VxeUIButtonComponent, { | ||
| status: 'primary', | ||
| mode: 'text', | ||
| content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption'), | ||
| onClick: openPopupEditEvent | ||
| }) | ||
| ]), | ||
| h('div', { | ||
| class: 'vxe-form-design--widget-form-item-data-source' | ||
| }, renderOptions()) | ||
| ]; | ||
| } | ||
| }); | ||
| } | ||
| }; | ||
| } |
+279
| import { h } from 'vue'; | ||
| import { getCurrComponent } from '../util/comp'; | ||
| import XEUtils from 'xe-utils'; | ||
| /** | ||
| * 表单 - 渲染器 | ||
| */ | ||
| export function defineFormRender(VxeUI) { | ||
| function isEmptyValue(cellValue) { | ||
| return cellValue === null || cellValue === undefined || cellValue === ''; | ||
| } | ||
| function getOnName(type) { | ||
| return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1); | ||
| } | ||
| function getModelProp(renderOpts) { | ||
| return 'modelValue'; | ||
| } | ||
| function getModelEvent(renderOpts) { | ||
| return 'update:modelValue'; | ||
| } | ||
| function getChangeEvent(renderOpts) { | ||
| let type = 'change'; | ||
| switch (renderOpts.name) { | ||
| case 'ElAutocomplete': | ||
| type = 'select'; | ||
| break; | ||
| case 'ElInput': | ||
| case 'ElInputNumber': | ||
| type = 'input'; | ||
| break; | ||
| } | ||
| return type; | ||
| } | ||
| function getItemProps(renderOpts, params, value, defaultProps) { | ||
| return XEUtils.assign({}, defaultProps, renderOpts.props, { [getModelProp(renderOpts)]: value }); | ||
| } | ||
| function formatText(cellValue) { | ||
| return '' + (isEmptyValue(cellValue) ? '' : cellValue); | ||
| } | ||
| function getOns(renderOpts, params, inputFunc, changeFunc) { | ||
| const { events } = renderOpts; | ||
| const modelEvent = getModelEvent(renderOpts); | ||
| const changeEvent = getChangeEvent(renderOpts); | ||
| const isSameEvent = changeEvent === modelEvent; | ||
| const ons = {}; | ||
| XEUtils.objectEach(events, (func, key) => { | ||
| ons[getOnName(key)] = function (...args) { | ||
| func(params, ...args); | ||
| }; | ||
| }); | ||
| if (inputFunc) { | ||
| ons[getOnName(modelEvent)] = function (targetEvnt) { | ||
| inputFunc(targetEvnt); | ||
| if (events && events[modelEvent]) { | ||
| events[modelEvent](params, targetEvnt); | ||
| } | ||
| if (isSameEvent && changeFunc) { | ||
| changeFunc(targetEvnt); | ||
| } | ||
| }; | ||
| } | ||
| if (!isSameEvent && changeFunc) { | ||
| ons[getOnName(changeEvent)] = function (...args) { | ||
| changeFunc(...args); | ||
| if (events && events[changeEvent]) { | ||
| events[changeEvent](params, ...args); | ||
| } | ||
| }; | ||
| } | ||
| return ons; | ||
| } | ||
| function getItemOns(renderOpts, params) { | ||
| const { $form, data, field } = params; | ||
| return getOns(renderOpts, params, (value) => { | ||
| // 处理 model 值双向绑定 | ||
| XEUtils.set(data, field, value); | ||
| }, () => { | ||
| // 处理 change 事件相关逻辑 | ||
| $form.updateStatus(params); | ||
| if (renderOpts.changeToSubmit) { | ||
| $form.handleSubmitEvent(new Event('change')); | ||
| } | ||
| }); | ||
| } | ||
| function renderOptions(options, optionProps) { | ||
| const labelProp = optionProps.label || 'label'; | ||
| const valueProp = optionProps.value || 'value'; | ||
| return XEUtils.map(options, (item, oIndex) => { | ||
| return h(getCurrComponent('el-option'), { | ||
| key: oIndex, | ||
| value: item[valueProp], | ||
| label: item[labelProp], | ||
| disabled: item.disabled | ||
| }); | ||
| }); | ||
| } | ||
| function cellText(cellValue) { | ||
| return [formatText(cellValue)]; | ||
| } | ||
| function createFormItemRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| const { data, field } = params; | ||
| const { name } = renderOpts; | ||
| const { attrs } = renderOpts; | ||
| const itemValue = XEUtils.get(data, field); | ||
| return [ | ||
| h(getCurrComponent(name), Object.assign(Object.assign(Object.assign({}, attrs), getItemProps(renderOpts, params, itemValue, defaultProps)), getItemOns(renderOpts, params))) | ||
| ]; | ||
| }; | ||
| } | ||
| function defaultButtonItemRender(renderOpts, params) { | ||
| const { attrs } = renderOpts; | ||
| const props = getItemProps(renderOpts, params, null); | ||
| return [ | ||
| h(getCurrComponent('el-button'), Object.assign(Object.assign(Object.assign({}, attrs), props), getOns(renderOpts, params)), { | ||
| default: () => cellText(renderOpts.content || props.content) | ||
| }) | ||
| ]; | ||
| } | ||
| function defaultButtonsItemRender(renderOpts, params) { | ||
| const { children } = renderOpts; | ||
| if (children) { | ||
| return children.map((childRenderOpts) => defaultButtonItemRender(childRenderOpts, params)[0]); | ||
| } | ||
| return []; | ||
| } | ||
| /** | ||
| * 已废弃 | ||
| * @deprecated | ||
| */ | ||
| function createOldFormItemRadioAndCheckboxRender() { | ||
| return function (renderOpts, params) { | ||
| const { name, options = [], optionProps = {}, attrs } = renderOpts; | ||
| const { data, field } = params; | ||
| const labelProp = optionProps.label || 'label'; | ||
| const valueProp = optionProps.value || 'value'; | ||
| const itemValue = XEUtils.get(data, field); | ||
| return [ | ||
| h(getCurrComponent(`${name}Group`), Object.assign(Object.assign(Object.assign({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), { | ||
| default: () => { | ||
| return options.map((option, oIndex) => { | ||
| return h(getCurrComponent(name), { | ||
| key: oIndex, | ||
| label: option[valueProp], | ||
| disabled: option.disabled | ||
| }, { | ||
| default: () => cellText(option[labelProp]) | ||
| }); | ||
| }); | ||
| } | ||
| }) | ||
| ]; | ||
| }; | ||
| } | ||
| VxeUI.renderer.mixin({ | ||
| ElAutocomplete: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElInput: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElInputNumber: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElSelect: { | ||
| renderFormItemContent(renderOpts, params) { | ||
| const { options = [], optionGroups, optionProps = {}, optionGroupProps = {} } = renderOpts; | ||
| const { data, field } = params; | ||
| const { attrs } = renderOpts; | ||
| const itemValue = XEUtils.get(data, field); | ||
| const props = getItemProps(renderOpts, params, itemValue); | ||
| const ons = getItemOns(renderOpts, params); | ||
| if (optionGroups) { | ||
| const groupOptions = optionGroupProps.options || 'options'; | ||
| const groupLabel = optionGroupProps.label || 'label'; | ||
| return [ | ||
| h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({}, attrs), props), ons), { | ||
| default: () => { | ||
| return XEUtils.map(optionGroups, (group, gIndex) => { | ||
| return h(getCurrComponent('el-option-group'), { | ||
| label: group[groupLabel], | ||
| key: gIndex | ||
| }, { | ||
| default: () => renderOptions(group[groupOptions], optionProps) | ||
| }); | ||
| }); | ||
| } | ||
| }) | ||
| ]; | ||
| } | ||
| return [ | ||
| h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({}, attrs), props), ons), { | ||
| default: () => renderOptions(options, optionProps) | ||
| }) | ||
| ]; | ||
| } | ||
| }, | ||
| ElCascader: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElDatePicker: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElTimePicker: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElTimeSelect: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElRate: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElSwitch: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElSlider: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElRadioGroup: { | ||
| renderFormItemContent(renderOpts, params) { | ||
| const { options = [], optionProps = {}, attrs } = renderOpts; | ||
| const { data, field } = params; | ||
| const labelProp = optionProps.label || 'label'; | ||
| const valueProp = optionProps.value || 'value'; | ||
| const itemValue = XEUtils.get(data, field); | ||
| return [ | ||
| h(getCurrComponent('el-radio-group'), Object.assign(Object.assign(Object.assign({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), { | ||
| default: () => { | ||
| return options.map((option, oIndex) => { | ||
| return h(getCurrComponent('el-radio'), { | ||
| key: oIndex, | ||
| value: option[valueProp], | ||
| disabled: option.disabled | ||
| }, { | ||
| default: () => cellText(option[labelProp]) | ||
| }); | ||
| }); | ||
| } | ||
| }) | ||
| ]; | ||
| } | ||
| }, | ||
| ElCheckboxGroup: { | ||
| renderFormItemContent(renderOpts, params) { | ||
| const { options = [], optionProps = {}, attrs } = renderOpts; | ||
| const { data, field } = params; | ||
| const labelProp = optionProps.label || 'label'; | ||
| const valueProp = optionProps.value || 'value'; | ||
| const itemValue = XEUtils.get(data, field); | ||
| return [ | ||
| h(getCurrComponent('el-checkbox-group'), Object.assign(Object.assign(Object.assign({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), { | ||
| default: () => { | ||
| return options.map((option, oIndex) => { | ||
| return h(getCurrComponent('el-checkbox'), { | ||
| key: oIndex, | ||
| value: option[valueProp], | ||
| label: option[labelProp], | ||
| disabled: option.disabled | ||
| }); | ||
| }); | ||
| } | ||
| }) | ||
| ]; | ||
| } | ||
| }, | ||
| ElButton: { | ||
| renderFormItemContent: defaultButtonItemRender | ||
| }, | ||
| // 已废弃 | ||
| ElRadio: { | ||
| renderFormItemContent: createOldFormItemRadioAndCheckboxRender() | ||
| }, | ||
| ElCheckbox: { | ||
| renderFormItemContent: createOldFormItemRadioAndCheckboxRender() | ||
| }, | ||
| ElButtons: { | ||
| renderFormItemContent: defaultButtonsItemRender | ||
| } | ||
| }); | ||
| } |
+111
| import { defineTableRender } from './table'; | ||
| import { defineFormRender } from './form'; | ||
| import { defineFormDesignRender } from './form-design'; | ||
| import { globalConfig, componentMaps } from './store'; | ||
| import XEUtils from 'xe-utils'; | ||
| // eslint-disable-next-line no-unused-vars | ||
| let ElementPlus; | ||
| function getEventTarget(evnt) { | ||
| const target = evnt.target; | ||
| if (target && target.shadowRoot && evnt.composed) { | ||
| return evnt.composedPath()[0] || target; | ||
| } | ||
| return target; | ||
| } | ||
| /** | ||
| * 检查触发源是否属于目标节点 | ||
| */ | ||
| function getEventTargetNode(evnt, container, className) { | ||
| let targetElem; | ||
| let target = getEventTarget(evnt); | ||
| const rootEl = document.documentElement || document.querySelector('html'); | ||
| while (target && target.nodeType && target !== rootEl) { | ||
| if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) { | ||
| targetElem = target; | ||
| } | ||
| else if (target === container) { | ||
| return { flag: className ? !!targetElem : true, container, targetElem: targetElem }; | ||
| } | ||
| target = target.parentElement; | ||
| } | ||
| return { flag: false }; | ||
| } | ||
| function toComponentName(name) { | ||
| if (name) { | ||
| return name.slice(0, 1).toUpperCase() + name.slice(1); | ||
| } | ||
| return name; | ||
| } | ||
| export const VxeUIPluginRenderElement = { | ||
| component(comp) { | ||
| if (comp && comp.name) { | ||
| const kcName = XEUtils.kebabCase(comp.name); | ||
| const ccName = toComponentName(XEUtils.camelCase(comp.name)); | ||
| componentMaps[kcName] = comp; | ||
| componentMaps[ccName] = comp; | ||
| } | ||
| else { | ||
| console.error('[@vxe-ui/plugin-render-element 4.3.0] error component.', comp); | ||
| } | ||
| }, | ||
| install(VxeUI, options) { | ||
| const pluginOpts = Object.assign({}, options); | ||
| if (options) { | ||
| ElementPlus = options.ElementPlus; | ||
| Object.assign(globalConfig, options); | ||
| } | ||
| // 检查版本 | ||
| if (VxeUI.checkVersion) { | ||
| const pVersion = 4; | ||
| const sVersion = 11; | ||
| if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) { | ||
| console.error(`[@vxe-ui/plugin-render-element 4.3.0] ${VxeUI.getI18n('vxe.error.errorVersion', [`vxe-table@${VxeUI.tableVersion || '?'}`, `vxe-table v${pVersion}.${sVersion}+`])} https://vxeui.com/other4/#/plugin-render-element/install`); | ||
| } | ||
| } | ||
| else { | ||
| if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) { | ||
| console.error('[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install'); | ||
| } | ||
| } | ||
| /** | ||
| * 事件兼容性处理 | ||
| */ | ||
| function handleClearEvent(params) { | ||
| const { $event } = params; | ||
| const bodyElem = document.body; | ||
| const prefixCls = `${pluginOpts.prefixCls || 'el'}`.replace(/-$/, ''); | ||
| if ( | ||
| // 远程搜索 | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-autocomplete-suggestion`).flag || | ||
| // 下拉框 | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-select-dropdown`).flag || | ||
| // 级联 | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-cascader__dropdown`).flag || | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-cascader-menus`).flag || | ||
| // 日期 | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-time-panel`).flag || | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-picker-panel`).flag || | ||
| // 颜色 | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-color-dropdown`).flag) { | ||
| return false; | ||
| } | ||
| } | ||
| defineTableRender(VxeUI); | ||
| defineFormRender(VxeUI); | ||
| defineFormDesignRender(VxeUI); | ||
| VxeUI.interceptor.add('event.clearFilter', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearEdit', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearAreas', handleClearEvent); | ||
| // 兼容老版本 | ||
| VxeUI.interceptor.add('event.clearActived', handleClearEvent); | ||
| } | ||
| }; | ||
| if (typeof window !== 'undefined') { | ||
| if (window.VxeUI && window.VxeUI.use) { | ||
| window.VxeUI.use(VxeUIPluginRenderElement); | ||
| } | ||
| if (window.ElementPlus) { | ||
| globalConfig.ElementPlus = window.ElementPlus; | ||
| } | ||
| } | ||
| export default VxeUIPluginRenderElement; |
+111
| import { defineTableRender } from './table'; | ||
| import { defineFormRender } from './form'; | ||
| import { defineFormDesignRender } from './form-design'; | ||
| import { globalConfig, componentMaps } from './store'; | ||
| import XEUtils from 'xe-utils'; | ||
| // eslint-disable-next-line no-unused-vars | ||
| let ElementPlus; | ||
| function getEventTarget(evnt) { | ||
| const target = evnt.target; | ||
| if (target && target.shadowRoot && evnt.composed) { | ||
| return evnt.composedPath()[0] || target; | ||
| } | ||
| return target; | ||
| } | ||
| /** | ||
| * 检查触发源是否属于目标节点 | ||
| */ | ||
| function getEventTargetNode(evnt, container, className) { | ||
| let targetElem; | ||
| let target = getEventTarget(evnt); | ||
| const rootEl = document.documentElement || document.querySelector('html'); | ||
| while (target && target.nodeType && target !== rootEl) { | ||
| if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) { | ||
| targetElem = target; | ||
| } | ||
| else if (target === container) { | ||
| return { flag: className ? !!targetElem : true, container, targetElem: targetElem }; | ||
| } | ||
| target = target.parentElement; | ||
| } | ||
| return { flag: false }; | ||
| } | ||
| function toComponentName(name) { | ||
| if (name) { | ||
| return name.slice(0, 1).toUpperCase() + name.slice(1); | ||
| } | ||
| return name; | ||
| } | ||
| export const VxeUIPluginRenderElement = { | ||
| component(comp) { | ||
| if (comp && comp.name) { | ||
| const kcName = XEUtils.kebabCase(comp.name); | ||
| const ccName = toComponentName(XEUtils.camelCase(comp.name)); | ||
| componentMaps[kcName] = comp; | ||
| componentMaps[ccName] = comp; | ||
| } | ||
| else { | ||
| console.error('[@vxe-ui/plugin-render-element 4.3.0] error component.', comp); | ||
| } | ||
| }, | ||
| install(VxeUI, options) { | ||
| const pluginOpts = Object.assign({}, options); | ||
| if (options) { | ||
| ElementPlus = options.ElementPlus; | ||
| Object.assign(globalConfig, options); | ||
| } | ||
| // 检查版本 | ||
| if (VxeUI.checkVersion) { | ||
| const pVersion = 4; | ||
| const sVersion = 11; | ||
| if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) { | ||
| console.error(`[@vxe-ui/plugin-render-element 4.3.0] ${VxeUI.getI18n('vxe.error.errorVersion', [`vxe-table@${VxeUI.tableVersion || '?'}`, `vxe-table v${pVersion}.${sVersion}+`])} https://vxeui.com/other4/#/plugin-render-element/install`); | ||
| } | ||
| } | ||
| else { | ||
| if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) { | ||
| console.error('[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install'); | ||
| } | ||
| } | ||
| /** | ||
| * 事件兼容性处理 | ||
| */ | ||
| function handleClearEvent(params) { | ||
| const { $event } = params; | ||
| const bodyElem = document.body; | ||
| const prefixCls = `${pluginOpts.prefixCls || 'el'}`.replace(/-$/, ''); | ||
| if ( | ||
| // 远程搜索 | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-autocomplete-suggestion`).flag || | ||
| // 下拉框 | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-select-dropdown`).flag || | ||
| // 级联 | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-cascader__dropdown`).flag || | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-cascader-menus`).flag || | ||
| // 日期 | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-time-panel`).flag || | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-picker-panel`).flag || | ||
| // 颜色 | ||
| getEventTargetNode($event, bodyElem, `${prefixCls}-color-dropdown`).flag) { | ||
| return false; | ||
| } | ||
| } | ||
| defineTableRender(VxeUI); | ||
| defineFormRender(VxeUI); | ||
| defineFormDesignRender(VxeUI); | ||
| VxeUI.interceptor.add('event.clearFilter', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearEdit', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearAreas', handleClearEvent); | ||
| // 兼容老版本 | ||
| VxeUI.interceptor.add('event.clearActived', handleClearEvent); | ||
| } | ||
| }; | ||
| if (typeof window !== 'undefined') { | ||
| if (window.VxeUI && window.VxeUI.use) { | ||
| window.VxeUI.use(VxeUIPluginRenderElement); | ||
| } | ||
| if (window.ElementPlus) { | ||
| globalConfig.ElementPlus = window.ElementPlus; | ||
| } | ||
| } | ||
| export default VxeUIPluginRenderElement; |
| export const globalConfig = {}; | ||
| export const componentMaps = {}; |
+38
| .vxe-table.cell--highlight > .vxe-cell > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input-number__decrease, | ||
| .vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input-number__decrease, | ||
| .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input-number__decrease, | ||
| .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__inner { | ||
| border: 0; | ||
| } | ||
| .vxe-table .vxe-cell--wrapper > .el-slider .el-slider__runway, .vxe-table > .vxe-cell > .el-slider .el-slider__runway, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider .el-slider__runway, .vxe-table--filter-element-wrapper > .el-slider .el-slider__runway { | ||
| margin: 8px 0; | ||
| } | ||
| .vxe-table .vxe-cell--wrapper > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table > .vxe-cell > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table--filter-element-wrapper > .el-slider .el-slider__runway .el-slider__button-wrapper { | ||
| z-index: auto; | ||
| } | ||
| .vxe-table .vxe-cell--wrapper > .el-input, .vxe-table > .vxe-cell > .el-input, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input, .vxe-form .vxe-form--item-inner > .el-input, .vxe-form .vxe-form--item-content > .el-input, .vxe-table .vxe-cell--wrapper > .el-autocomplete, .vxe-table > .vxe-cell > .el-autocomplete, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete, .vxe-form .vxe-form--item-inner > .el-autocomplete, .vxe-form .vxe-form--item-content > .el-autocomplete, .vxe-table .vxe-cell--wrapper > .el-input-number, .vxe-table > .vxe-cell > .el-input-number, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number, .vxe-form .vxe-form--item-inner > .el-input-number, .vxe-form .vxe-form--item-content > .el-input-number, .vxe-table .vxe-cell--wrapper > .el-select, .vxe-table > .vxe-cell > .el-select, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select, .vxe-form .vxe-form--item-inner > .el-select, .vxe-form .vxe-form--item-content > .el-select, .vxe-table .vxe-cell--wrapper > .el-cascader, .vxe-table > .vxe-cell > .el-cascader, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader, .vxe-form .vxe-form--item-inner > .el-cascader, .vxe-form .vxe-form--item-content > .el-cascader, .vxe-table .vxe-cell--wrapper > .el-date-editor, .vxe-table > .vxe-cell > .el-date-editor, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-editor, .vxe-form .vxe-form--item-inner > .el-date-editor, .vxe-form .vxe-form--item-content > .el-date-editor, .vxe-table .vxe-cell--wrapper > .el-slider, .vxe-table > .vxe-cell > .el-slider, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider, .vxe-form .vxe-form--item-inner > .el-slider, .vxe-form .vxe-form--item-content > .el-slider { | ||
| width: 100%; | ||
| } | ||
| .vxe-table .vxe-cell--wrapper > .el-color-picker, .vxe-table > .vxe-cell > .el-color-picker, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-color-picker, .vxe-form .vxe-form--item-inner > .el-color-picker, .vxe-form .vxe-form--item-content > .el-color-picker { | ||
| vertical-align: middle; | ||
| } | ||
| .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-input .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-autocomplete .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-input-number .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-select .el-select__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-cascader .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-date-picker .el-input__wrapper { | ||
| box-shadow: 0 0 0 1px var(--vxe-ui-form-validate-error-color, #f56c6c) inset; | ||
| } | ||
| .vxe-table--filter-element-wrapper { | ||
| padding: 0.8em 1em; | ||
| } | ||
| .vxe-table--filter-element-wrapper > .el-input, .vxe-table--filter-element-wrapper > .el-input-number, .vxe-table--filter-element-wrapper > .el-autocomplete, .vxe-table--filter-element-wrapper > .el-select, .vxe-table--filter-element-wrapper > .el-rate, .vxe-table--filter-element-wrapper > .el-slider { | ||
| width: 180px; | ||
| } | ||
| .col--valid-error > .vxe-cell > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .el-date-picker .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-date-picker .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-picker .el-input__wrapper { | ||
| box-shadow: 0 0 0 1px var(--vxe-ui-table-validate-error-color, #f56c6c) inset; | ||
| } | ||
| .vxe-table.cell--highlight > .vxe-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__inner { | ||
| padding: 0; | ||
| } |
| .vxe-table.cell--highlight>.vxe-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-input__inner{border:0}.vxe-table .vxe-cell--wrapper>.el-slider .el-slider__runway,.vxe-table--filter-element-wrapper>.el-slider .el-slider__runway,.vxe-table>.vxe-cell>.el-slider .el-slider__runway,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider .el-slider__runway{margin:8px 0}.vxe-table .vxe-cell--wrapper>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table--filter-element-wrapper>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table>.vxe-cell>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider .el-slider__runway .el-slider__button-wrapper{z-index:auto}.vxe-form .vxe-form--item-content>.el-autocomplete,.vxe-form .vxe-form--item-content>.el-cascader,.vxe-form .vxe-form--item-content>.el-date-editor,.vxe-form .vxe-form--item-content>.el-input,.vxe-form .vxe-form--item-content>.el-input-number,.vxe-form .vxe-form--item-content>.el-select,.vxe-form .vxe-form--item-content>.el-slider,.vxe-form .vxe-form--item-inner>.el-autocomplete,.vxe-form .vxe-form--item-inner>.el-cascader,.vxe-form .vxe-form--item-inner>.el-date-editor,.vxe-form .vxe-form--item-inner>.el-input,.vxe-form .vxe-form--item-inner>.el-input-number,.vxe-form .vxe-form--item-inner>.el-select,.vxe-form .vxe-form--item-inner>.el-slider,.vxe-table .vxe-cell--wrapper>.el-autocomplete,.vxe-table .vxe-cell--wrapper>.el-cascader,.vxe-table .vxe-cell--wrapper>.el-date-editor,.vxe-table .vxe-cell--wrapper>.el-input,.vxe-table .vxe-cell--wrapper>.el-input-number,.vxe-table .vxe-cell--wrapper>.el-select,.vxe-table .vxe-cell--wrapper>.el-slider,.vxe-table>.vxe-cell>.el-autocomplete,.vxe-table>.vxe-cell>.el-cascader,.vxe-table>.vxe-cell>.el-date-editor,.vxe-table>.vxe-cell>.el-input,.vxe-table>.vxe-cell>.el-input-number,.vxe-table>.vxe-cell>.el-select,.vxe-table>.vxe-cell>.el-slider,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-editor,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider{width:100%}.vxe-form .vxe-form--item-content>.el-color-picker,.vxe-form .vxe-form--item-inner>.el-color-picker,.vxe-table .vxe-cell--wrapper>.el-color-picker,.vxe-table>.vxe-cell>.el-color-picker,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-color-picker{vertical-align:middle}.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-autocomplete .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-cascader .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-date-picker .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-input .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-input-number .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-select .el-select__wrapper{box-shadow:0 0 0 1px var(--vxe-ui-form-validate-error-color,#f56c6c) inset}.vxe-table--filter-element-wrapper{padding:.8em 1em}.vxe-table--filter-element-wrapper>.el-autocomplete,.vxe-table--filter-element-wrapper>.el-input,.vxe-table--filter-element-wrapper>.el-input-number,.vxe-table--filter-element-wrapper>.el-rate,.vxe-table--filter-element-wrapper>.el-select,.vxe-table--filter-element-wrapper>.el-slider{width:180px}.col--valid-error>.vxe-cell>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.el-select .el-select__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-select .el-select__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-select__wrapper{box-shadow:0 0 0 1px var(--vxe-ui-table-validate-error-color,#f56c6c) inset}.vxe-table.cell--highlight>.vxe-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-input__inner{padding:0} |
| import { h } from 'vue'; | ||
| import { getCurrComponent, hasInputType } from '../util/comp'; | ||
| import XEUtils from 'xe-utils'; | ||
| import dayjs from 'dayjs'; | ||
| /** | ||
| * 表格 - 渲染器 | ||
| */ | ||
| export function defineTableRender(VxeUI) { | ||
| function isEmptyValue(cellValue) { | ||
| return cellValue === null || cellValue === undefined || cellValue === ''; | ||
| } | ||
| function getOnName(type) { | ||
| return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1); | ||
| } | ||
| function getModelProp(renderOpts) { | ||
| return 'modelValue'; | ||
| } | ||
| function getModelEvent(renderOpts) { | ||
| return 'update:modelValue'; | ||
| } | ||
| function getChangeEvent(renderOpts) { | ||
| let type = 'change'; | ||
| switch (renderOpts.name) { | ||
| case 'ElAutocomplete': | ||
| type = 'select'; | ||
| break; | ||
| case 'ElInput': | ||
| case 'ElInputNumber': | ||
| type = 'input'; | ||
| break; | ||
| } | ||
| return type; | ||
| } | ||
| function toDayStringDate(value, format) { | ||
| return dayjs(value, format).toDate(); | ||
| } | ||
| function toDayDateString(date, format) { | ||
| return dayjs(date).format(format); | ||
| } | ||
| function parseDate(value, props) { | ||
| return value && props.valueFormat ? toDayStringDate(value, props.valueFormat) : value; | ||
| } | ||
| function getFormatDate(value, props, defaultFormat) { | ||
| return value ? toDayDateString(parseDate(value, props), props.format || props.valueFormat || defaultFormat) : value; | ||
| } | ||
| function getFormatDates(values, props, separator, defaultFormat) { | ||
| return XEUtils.map(values, (date) => getFormatDate(date, props, defaultFormat)).join(separator); | ||
| } | ||
| function equalDateRange(cellValue, data, props, defaultFormat) { | ||
| cellValue = getFormatDate(cellValue, props, defaultFormat); | ||
| return cellValue >= getFormatDate(data[0], props, defaultFormat) && cellValue <= getFormatDate(data[1], props, defaultFormat); | ||
| } | ||
| function getCellEditFilterProps(renderOpts, params, value, defaultProps) { | ||
| return XEUtils.assign({}, defaultProps, renderOpts.props, { [getModelProp(renderOpts)]: value }); | ||
| } | ||
| function formatText(cellValue) { | ||
| return '' + (isEmptyValue(cellValue) ? '' : cellValue); | ||
| } | ||
| function updateFilterChangeOption(params, checked, option) { | ||
| const { $table } = params; | ||
| $table.updateFilterOptionStatus(option, checked); | ||
| } | ||
| function saveFilterEvent(params) { | ||
| const { $table, column } = params; | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| } | ||
| function getCellLabelVNs(renderOpts, params, cellLabel) { | ||
| const { placeholder } = renderOpts; | ||
| return [ | ||
| h('span', { | ||
| class: 'vxe-cell--label' | ||
| }, placeholder && isEmptyValue(cellLabel) | ||
| ? [ | ||
| h('span', { | ||
| class: 'vxe-cell--placeholder' | ||
| }, formatText(VxeUI.getI18n(placeholder))) | ||
| ] | ||
| : formatText(cellLabel)) | ||
| ]; | ||
| } | ||
| const blurEvent = 'blur'; | ||
| const clearEvent = 'clear'; | ||
| /** | ||
| * 组件事件处理 | ||
| * @param renderOpts | ||
| * @param params | ||
| * @param modelFunc | ||
| * @param changeFunc | ||
| */ | ||
| function getComponentOns(renderOpts, params, eFns, eventOns) { | ||
| const { events } = renderOpts; | ||
| const modelEvent = getModelEvent(renderOpts); | ||
| const changeEvent = getChangeEvent(renderOpts); | ||
| const { model: modelFunc, change: changeFunc, blur: blurFunc, clear: clearFunc } = eFns || {}; | ||
| const ons = {}; | ||
| XEUtils.objectEach(events, (func, key) => { | ||
| ons[getOnName(key)] = function (...args) { | ||
| if (!XEUtils.isFunction(func)) { | ||
| console.error(`Parameter "${func}" is not a method`); | ||
| } | ||
| func(params, ...args); | ||
| }; | ||
| }); | ||
| if (modelFunc) { | ||
| ons[getOnName(modelEvent)] = function (targetEvnt) { | ||
| modelFunc(targetEvnt); | ||
| if (events && events[modelEvent]) { | ||
| events[modelEvent](params, targetEvnt); | ||
| } | ||
| }; | ||
| } | ||
| if (changeFunc) { | ||
| ons[getOnName(changeEvent)] = function (...args) { | ||
| changeFunc(...args); | ||
| if (events && events[changeEvent]) { | ||
| events[changeEvent](params, ...args); | ||
| } | ||
| }; | ||
| } | ||
| if (blurFunc) { | ||
| ons[getOnName(blurEvent)] = function (...args) { | ||
| blurFunc(...args); | ||
| if (events && events[blurEvent]) { | ||
| events[blurEvent](params, ...args); | ||
| } | ||
| }; | ||
| } | ||
| if (clearFunc) { | ||
| ons[getOnName(clearEvent)] = function (...args) { | ||
| clearFunc(...args); | ||
| if (events && events[clearEvent]) { | ||
| events[clearEvent](params, ...args); | ||
| } | ||
| }; | ||
| } | ||
| return eventOns ? Object.assign(ons, eventOns) : ons; | ||
| } | ||
| function getEditOns(renderOpts, params) { | ||
| const { $table, row, column } = params; | ||
| return getComponentOns(renderOpts, params, { | ||
| model(value) { | ||
| // 处理 model 值双向绑定 | ||
| XEUtils.set(row, column.field, value); | ||
| }, | ||
| change() { | ||
| // 处理 change 事件相关逻辑 | ||
| $table.updateStatus(params); | ||
| } | ||
| }); | ||
| } | ||
| function getFilterOns(renderOpts, params, option, changeFunc) { | ||
| return getComponentOns(renderOpts, params, { | ||
| model(value) { | ||
| // 处理 model 值双向绑定 | ||
| option.data = value; | ||
| }, | ||
| change: changeFunc | ||
| }); | ||
| } | ||
| function getFloatingFilterOns(renderOpts, params, option) { | ||
| const { $table, column } = params; | ||
| if (hasInputType(renderOpts)) { | ||
| return getComponentOns(renderOpts, params, { | ||
| model(value) { | ||
| // 处理 model 值双向绑定 | ||
| option.data = value; | ||
| }, | ||
| change() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| }, | ||
| clear() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| saveFilterEvent(params); | ||
| }, | ||
| blur() { | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| } | ||
| }); | ||
| } | ||
| return getComponentOns(renderOpts, params, { | ||
| model(value) { | ||
| // 处理 model 值双向绑定 | ||
| option.data = value; | ||
| }, | ||
| clear() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| }, | ||
| change() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| } | ||
| }); | ||
| } | ||
| function matchCascaderData(index, list, values, labels) { | ||
| const val = values[index]; | ||
| if (list && values.length > index) { | ||
| XEUtils.each(list, (item) => { | ||
| if (item.value === val) { | ||
| labels.push(item.label); | ||
| matchCascaderData(++index, item.children, values, labels); | ||
| } | ||
| }); | ||
| } | ||
| } | ||
| function getSelectCellValue(renderOpts, params) { | ||
| const { options = [], optionGroups, props = {}, optionProps = {}, optionGroupProps = {} } = renderOpts; | ||
| const { $table, rowid, row, column } = params; | ||
| const { filterable, multiple } = props; | ||
| const labelProp = optionProps.label || 'label'; | ||
| const valueProp = optionProps.value || 'value'; | ||
| const groupOptions = optionGroupProps.options || 'options'; | ||
| const cellValue = XEUtils.get(row, column.field); | ||
| const colid = column.id; | ||
| let cellData; | ||
| if (filterable) { | ||
| const { internalData } = $table; | ||
| const { fullAllDataRowIdData } = internalData; | ||
| const rest = fullAllDataRowIdData[rowid]; | ||
| if (rest) { | ||
| cellData = rest.cellData; | ||
| if (!cellData) { | ||
| cellData = rest.cellData = {}; | ||
| } | ||
| } | ||
| if (rest && cellData[colid] && cellData[colid].value === cellValue) { | ||
| return cellData[colid].label; | ||
| } | ||
| } | ||
| if (!isEmptyValue(cellValue)) { | ||
| const selectlabel = XEUtils.map(multiple ? cellValue : [cellValue], optionGroups | ||
| ? (value) => { | ||
| let selectItem; | ||
| for (let index = 0; index < optionGroups.length; index++) { | ||
| selectItem = XEUtils.find(optionGroups[index][groupOptions], (item) => item[valueProp] === value); | ||
| if (selectItem) { | ||
| break; | ||
| } | ||
| } | ||
| return selectItem ? selectItem[labelProp] : value; | ||
| } | ||
| : (value) => { | ||
| const selectItem = XEUtils.find(options, (item) => item[valueProp] === value); | ||
| return selectItem ? selectItem[labelProp] : value; | ||
| }).join(', '); | ||
| if (cellData && options && options.length) { | ||
| cellData[colid] = { value: cellValue, label: selectlabel }; | ||
| } | ||
| return selectlabel; | ||
| } | ||
| return ''; | ||
| } | ||
| function getCascaderCellValue(renderOpts, params) { | ||
| const { props = {} } = renderOpts; | ||
| const { row, column } = params; | ||
| const cellValue = XEUtils.get(row, column.field); | ||
| const values = cellValue || []; | ||
| const labels = []; | ||
| matchCascaderData(0, props.options, values, labels); | ||
| return (props.showAllLevels === false ? labels.slice(labels.length - 1, labels.length) : labels).join(` ${props.separator || '/'} `); | ||
| } | ||
| function getDatePickerCellValue(renderOpts, params) { | ||
| const { props = {} } = renderOpts; | ||
| const { row, column } = params; | ||
| const { rangeSeparator = '-' } = props; | ||
| let cellValue = XEUtils.get(row, column.field); | ||
| switch (props.type) { | ||
| case 'week': | ||
| cellValue = getFormatDate(cellValue, props, 'YYYYwWW'); | ||
| break; | ||
| case 'month': | ||
| cellValue = getFormatDate(cellValue, props, 'YYYY-MM'); | ||
| break; | ||
| case 'year': | ||
| cellValue = getFormatDate(cellValue, props, 'YYYY'); | ||
| break; | ||
| case 'dates': | ||
| cellValue = getFormatDates(cellValue, props, ', ', 'YYYY-MM-DD'); | ||
| break; | ||
| case 'daterange': | ||
| cellValue = getFormatDates(cellValue, props, ` ${rangeSeparator} `, 'YYYY-MM-DD'); | ||
| break; | ||
| case 'datetimerange': | ||
| cellValue = getFormatDates(cellValue, props, ` ${rangeSeparator} `, 'YYYY-MM-DD HH:ss:mm'); | ||
| break; | ||
| case 'monthrange': | ||
| cellValue = getFormatDates(cellValue, props, ` ${rangeSeparator} `, 'YYYY-MM'); | ||
| break; | ||
| default: | ||
| cellValue = getFormatDate(cellValue, props, 'YYYY-MM-DD'); | ||
| } | ||
| return cellValue; | ||
| } | ||
| function getTimePickerCellValue(renderOpts, params) { | ||
| const { props = {} } = renderOpts; | ||
| const { row, column } = params; | ||
| const { isRange, format = 'HH:mm:ss', rangeSeparator = '-' } = props; | ||
| let cellValue = XEUtils.get(row, column.field); | ||
| if (cellValue && isRange) { | ||
| cellValue = XEUtils.map(cellValue, (date) => toDayDateString(parseDate(date, props), format)).join(` ${rangeSeparator} `); | ||
| } | ||
| return toDayDateString(parseDate(cellValue, props), format); | ||
| } | ||
| function createEditRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| const { row, column } = params; | ||
| const { name, attrs, props } = renderOpts; | ||
| const cellValue = XEUtils.get(row, column.field); | ||
| return [ | ||
| h(getCurrComponent(name), Object.assign(Object.assign(Object.assign(Object.assign({}, attrs), props), getCellEditFilterProps(renderOpts, params, cellValue, defaultProps)), getEditOns(renderOpts, params))) | ||
| ]; | ||
| }; | ||
| } | ||
| function defaultButtonEditRender(renderOpts, params) { | ||
| const { attrs, props } = renderOpts; | ||
| return [ | ||
| h(getCurrComponent('el-button'), Object.assign(Object.assign(Object.assign(Object.assign({}, attrs), props), getCellEditFilterProps(renderOpts, params, null)), getComponentOns(renderOpts, params)), cellText(renderOpts.content)) | ||
| ]; | ||
| } | ||
| function defaultButtonsEditRender(renderOpts, params) { | ||
| const { children } = renderOpts; | ||
| if (children) { | ||
| return children.map((childRenderOpts) => defaultButtonEditRender(childRenderOpts, params)[0]); | ||
| } | ||
| return []; | ||
| } | ||
| function createFilterRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| const { column } = params; | ||
| const { name, attrs, props } = renderOpts; | ||
| return [ | ||
| h('div', { | ||
| class: 'vxe-table--filter-element-wrapper' | ||
| }, column.filters.map((option, oIndex) => { | ||
| const optionValue = option.data; | ||
| return h(getCurrComponent(name), Object.assign(Object.assign(Object.assign(Object.assign({ key: oIndex }, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFilterOns(renderOpts, params, option, () => { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, !!option.data, option); | ||
| }))); | ||
| })) | ||
| ]; | ||
| }; | ||
| } | ||
| function createFloatingFilterRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| const { option } = params; | ||
| const { name, attrs, props } = renderOpts; | ||
| const optionValue = option.data; | ||
| return [ | ||
| h(getCurrComponent(name), Object.assign(Object.assign(Object.assign(Object.assign({}, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFloatingFilterOns(renderOpts, params, option))) | ||
| ]; | ||
| }; | ||
| } | ||
| function handleConfirmFilter(params, checked, option) { | ||
| const { $panel } = params; | ||
| $panel.changeOption(null, checked, option); | ||
| } | ||
| /** | ||
| * 模糊匹配 | ||
| * @param params | ||
| */ | ||
| function defaultFuzzyFilterMethod(params) { | ||
| const { option, row, column } = params; | ||
| const { data } = option; | ||
| const cellValue = XEUtils.get(row, column.field); | ||
| return XEUtils.toValueString(cellValue).indexOf(data) > -1; | ||
| } | ||
| /** | ||
| * 精确匹配 | ||
| * @param params | ||
| */ | ||
| function defaultExactFilterMethod(params) { | ||
| const { option, row, column } = params; | ||
| const { data } = option; | ||
| const cellValue = XEUtils.get(row, column.field); | ||
| /* eslint-disable eqeqeq */ | ||
| return cellValue === data; | ||
| } | ||
| function renderOptions(options, optionProps) { | ||
| const labelProp = optionProps.label || 'label'; | ||
| const valueProp = optionProps.value || 'value'; | ||
| return XEUtils.map(options, (item, oIndex) => { | ||
| return h(getCurrComponent('el-option'), { | ||
| key: oIndex, | ||
| value: item[valueProp], | ||
| label: item[labelProp], | ||
| disabled: item.disabled | ||
| }); | ||
| }); | ||
| } | ||
| function cellText(cellValue) { | ||
| return [formatText(cellValue)]; | ||
| } | ||
| function createExportMethod(getExportCellValue) { | ||
| return function (params) { | ||
| const { row, column, options } = params; | ||
| return options && options.original ? XEUtils.get(row, column.field) : getExportCellValue(column.editRender || column.cellRender, params); | ||
| }; | ||
| } | ||
| function defaultFilterOptions() { | ||
| return [ | ||
| { data: null } | ||
| ]; | ||
| } | ||
| VxeUI.renderer.mixin({ | ||
| ElAutocomplete: { | ||
| tableAutoFocus: 'input', | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElInput: { | ||
| tableAutoFocus: 'input', | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| renderTableFloatingFilter: createFloatingFilterRender(), | ||
| tableFilterDefaultMethod: defaultFuzzyFilterMethod | ||
| }, | ||
| ElInputNumber: { | ||
| tableAutoFocus: 'input', | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| renderTableFloatingFilter: createFloatingFilterRender(), | ||
| tableFilterDefaultMethod: defaultFuzzyFilterMethod | ||
| }, | ||
| ElSelect: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit(renderOpts, params) { | ||
| const { options = [], optionGroups, optionProps = {}, optionGroupProps = {} } = renderOpts; | ||
| const { row, column } = params; | ||
| const { attrs } = renderOpts; | ||
| const cellValue = XEUtils.get(row, column.field); | ||
| const props = getCellEditFilterProps(renderOpts, params, cellValue); | ||
| const ons = getEditOns(renderOpts, params); | ||
| if (optionGroups) { | ||
| const groupOptions = optionGroupProps.options || 'options'; | ||
| const groupLabel = optionGroupProps.label || 'label'; | ||
| return [ | ||
| h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({}, attrs), props), ons), { | ||
| default: () => { | ||
| return XEUtils.map(optionGroups, (group, gIndex) => { | ||
| return h(getCurrComponent('el-option-group'), { | ||
| key: gIndex, | ||
| label: group[groupLabel] | ||
| }, { | ||
| default: () => renderOptions(group[groupOptions], optionProps) | ||
| }); | ||
| }); | ||
| } | ||
| }) | ||
| ]; | ||
| } | ||
| return [ | ||
| h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({}, props), attrs), ons), { | ||
| default: () => renderOptions(options, optionProps) | ||
| }) | ||
| ]; | ||
| }, | ||
| renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params)); | ||
| }, | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter(renderOpts, params) { | ||
| const { options = [], optionGroups, optionProps = {}, optionGroupProps = {} } = renderOpts; | ||
| const groupOptions = optionGroupProps.options || 'options'; | ||
| const groupLabel = optionGroupProps.label || 'label'; | ||
| const { column } = params; | ||
| const { attrs } = renderOpts; | ||
| return [ | ||
| h('div', { | ||
| class: 'vxe-table--filter-element-wrapper' | ||
| }, optionGroups | ||
| ? column.filters.map((option, oIndex) => { | ||
| const optionValue = option.data; | ||
| const props = getCellEditFilterProps(renderOpts, params, optionValue); | ||
| return h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({ key: oIndex }, attrs), props), getFilterOns(renderOpts, params, option, () => { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, props.multiple ? (option.data && option.data.length > 0) : !XEUtils.eqNull(option.data), option); | ||
| })), { | ||
| default: () => { | ||
| return XEUtils.map(optionGroups, (group, gIndex) => { | ||
| return h(getCurrComponent('el-option-group'), { | ||
| key: gIndex, | ||
| label: group[groupLabel] | ||
| }, { | ||
| default: () => renderOptions(group[groupOptions], optionProps) | ||
| }); | ||
| }); | ||
| } | ||
| }); | ||
| }) | ||
| : column.filters.map((option, oIndex) => { | ||
| const optionValue = option.data; | ||
| const props = getCellEditFilterProps(renderOpts, params, optionValue); | ||
| return h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({ key: oIndex }, attrs), props), getFilterOns(renderOpts, params, option, () => { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, props.multiple ? (option.data && option.data.length > 0) : !XEUtils.eqNull(option.data), option); | ||
| })), { | ||
| default: () => renderOptions(options, optionProps) | ||
| }); | ||
| })) | ||
| ]; | ||
| }, | ||
| tableFilterDefaultMethod(params) { | ||
| const { option, row, column } = params; | ||
| const { data } = option; | ||
| const { field, filterRender: renderOpts } = column; | ||
| const { props = {} } = renderOpts; | ||
| const cellValue = XEUtils.get(row, field); | ||
| if (props.multiple) { | ||
| if (XEUtils.isArray(cellValue)) { | ||
| return XEUtils.includeArrays(cellValue, data); | ||
| } | ||
| return data.indexOf(cellValue) > -1; | ||
| } | ||
| /* eslint-disable eqeqeq */ | ||
| return cellValue == data; | ||
| }, | ||
| tableExportMethod: createExportMethod(getSelectCellValue) | ||
| }, | ||
| ElCascader: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender(), | ||
| renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getCascaderCellValue(renderOpts, params)); | ||
| }, | ||
| tableExportMethod: createExportMethod(getCascaderCellValue) | ||
| }, | ||
| ElDatePicker: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender(), | ||
| renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getDatePickerCellValue(renderOpts, params)); | ||
| }, | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter(renderOpts, params) { | ||
| const { column } = params; | ||
| const { name, attrs } = renderOpts; | ||
| return [ | ||
| h('div', { | ||
| class: 'vxe-table--filter-element-wrapper' | ||
| }, column.filters.map((option, oIndex) => { | ||
| const optionValue = option.data; | ||
| return h(getCurrComponent(name), Object.assign(Object.assign(Object.assign({ key: oIndex }, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, () => { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, !!option.data, option); | ||
| }))); | ||
| })) | ||
| ]; | ||
| }, | ||
| renderTableFloatingFilter: createFloatingFilterRender(), | ||
| tableFilterDefaultMethod(params) { | ||
| const { option, row, column } = params; | ||
| const { data } = option; | ||
| const { filterRender: renderOpts } = column; | ||
| const { props = {} } = renderOpts; | ||
| const cellValue = XEUtils.get(row, column.field); | ||
| if (data) { | ||
| switch (props.type) { | ||
| case 'daterange': | ||
| return equalDateRange(cellValue, data, props, 'YYYY-MM-DD'); | ||
| case 'datetimerange': | ||
| return equalDateRange(cellValue, data, props, 'YYYY-MM-DD HH:ss:mm'); | ||
| case 'monthrange': | ||
| return equalDateRange(cellValue, data, props, 'YYYY-MM'); | ||
| default: | ||
| return cellValue === data; | ||
| } | ||
| } | ||
| return false; | ||
| }, | ||
| tableExportMethod: createExportMethod(getDatePickerCellValue) | ||
| }, | ||
| ElTimePicker: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender(), | ||
| renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getTimePickerCellValue(renderOpts, params)); | ||
| }, | ||
| tableExportMethod: createExportMethod(getTimePickerCellValue) | ||
| }, | ||
| ElTimeSelect: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender() | ||
| }, | ||
| ElRate: { | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElSwitch: { | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| renderTableFilter(renderOpts, params) { | ||
| const { column } = params; | ||
| const { name, attrs } = renderOpts; | ||
| return [ | ||
| h('div', { | ||
| class: 'vxe-table--filter-element-wrapper' | ||
| }, column.filters.map((option, oIndex) => { | ||
| const optionValue = option.data; | ||
| return h(getCurrComponent(name), Object.assign(Object.assign(Object.assign({ key: oIndex }, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, () => { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, XEUtils.isBoolean(option.data), option); | ||
| }))); | ||
| })) | ||
| ]; | ||
| }, | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElSlider: { | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElButton: { | ||
| renderTableDefault: defaultButtonEditRender | ||
| }, | ||
| ElButtons: { | ||
| renderTableDefault: defaultButtonsEditRender | ||
| } | ||
| }); | ||
| } |
| import { resolveComponent } from 'vue'; | ||
| import { globalConfig, componentMaps } from '../store'; | ||
| export function getCurrComponent(name) { | ||
| const comp = componentMaps[name] || (globalConfig.ElementPlus ? globalConfig.ElementPlus[name] : null); | ||
| if (comp) { | ||
| return comp; | ||
| } | ||
| return resolveComponent(name); | ||
| } | ||
| export function hasInputType(renderOpts) { | ||
| switch (renderOpts.name) { | ||
| case 'ElInput': | ||
| case 'ElInputNumber': | ||
| case 'ElTextarea': | ||
| return true; | ||
| } | ||
| return false; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElCheckbox = createWidgetElCheckbox; | ||
| var _vue = require("vue"); | ||
| var _use = require("./use"); | ||
| var _comp = require("../util/comp"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| function createWidgetElCheckbox(VxeUI) { | ||
| var getWidgetElCheckboxConfig = function getWidgetElCheckboxConfig(params) { | ||
| return { | ||
| title: '复选框', | ||
| icon: 'vxe-icon-checkbox-checked', | ||
| options: { | ||
| options: _xeUtils["default"].range(0, 3).map(function (v, i) { | ||
| return { | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1]) | ||
| }; | ||
| }) | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElCheckboxFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false), | ||
| renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }), renderDataSourceFormItem()]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElCheckboxViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox-group'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }, { | ||
| "default": function _default() { | ||
| return options.options ? options.options.map(function (item, index) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox'), { | ||
| key: index, | ||
| value: item.value | ||
| }, { | ||
| "default": function _default() { | ||
| return "".concat(item.value); | ||
| } | ||
| }); | ||
| }) : []; | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElCheckboxConfig: getWidgetElCheckboxConfig, | ||
| WidgetElCheckboxFormComponent: WidgetElCheckboxFormComponent, | ||
| WidgetElCheckboxViewComponent: WidgetElCheckboxViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElDatePicker = createWidgetElDatePicker; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| function createWidgetElDatePicker(VxeUI) { | ||
| var getWidgetElDatePickerConfig = function getWidgetElDatePickerConfig(params) { | ||
| return { | ||
| title: '日期', | ||
| icon: 'vxe-icon-input', | ||
| options: { | ||
| placeholder: '请选择' | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElDatePickerFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElDatePicker' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElDatePickerViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-date-picker'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElDatePickerConfig: getWidgetElDatePickerConfig, | ||
| WidgetElDatePickerFormComponent: WidgetElDatePickerFormComponent, | ||
| WidgetElDatePickerViewComponent: WidgetElDatePickerViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.defineFormDesignRender = defineFormDesignRender; | ||
| var _vue = require("vue"); | ||
| var _inputWidget = require("./input-widget"); | ||
| var _textareaWidget = require("./textarea-widget"); | ||
| var _numberInputWidget = require("./number-input-widget"); | ||
| var _datePickerWidget = require("./date-picker-widget"); | ||
| var _selectWidget = require("./select-widget"); | ||
| var _radioWidget = require("./radio-widget"); | ||
| var _checkboxWidget = require("./checkbox-widget"); | ||
| var _switchWidget = require("./switch-widget"); | ||
| /** | ||
| * 表单设计器 - 渲染器 | ||
| */ | ||
| function defineFormDesignRender(VxeUI) { | ||
| var _createWidgetElInput = (0, _inputWidget.createWidgetElInput)(VxeUI), | ||
| getWidgetElInputConfig = _createWidgetElInput.getWidgetElInputConfig, | ||
| WidgetElInputViewComponent = _createWidgetElInput.WidgetElInputViewComponent, | ||
| WidgetElInputFormComponent = _createWidgetElInput.WidgetElInputFormComponent; | ||
| var _createWidgetElTextar = (0, _textareaWidget.createWidgetElTextarea)(VxeUI), | ||
| getWidgetElTextareaConfig = _createWidgetElTextar.getWidgetElTextareaConfig, | ||
| WidgetElTextareaViewComponent = _createWidgetElTextar.WidgetElTextareaViewComponent, | ||
| WidgetElTextareaFormComponent = _createWidgetElTextar.WidgetElTextareaFormComponent; | ||
| var _createWidgetElInputN = (0, _numberInputWidget.createWidgetElInputNumber)(VxeUI), | ||
| getWidgetElInputNumberConfig = _createWidgetElInputN.getWidgetElInputNumberConfig, | ||
| WidgetElInputNumberViewComponent = _createWidgetElInputN.WidgetElInputNumberViewComponent, | ||
| WidgetElInputNumberFormComponent = _createWidgetElInputN.WidgetElInputNumberFormComponent; | ||
| var _createWidgetElDatePi = (0, _datePickerWidget.createWidgetElDatePicker)(VxeUI), | ||
| getWidgetElDatePickerConfig = _createWidgetElDatePi.getWidgetElDatePickerConfig, | ||
| WidgetElDatePickerViewComponent = _createWidgetElDatePi.WidgetElDatePickerViewComponent, | ||
| WidgetElDatePickerFormComponent = _createWidgetElDatePi.WidgetElDatePickerFormComponent; | ||
| var _createWidgetElSelect = (0, _selectWidget.createWidgetElSelect)(VxeUI), | ||
| getWidgetElSelectConfig = _createWidgetElSelect.getWidgetElSelectConfig, | ||
| WidgetElSelectViewComponent = _createWidgetElSelect.WidgetElSelectViewComponent, | ||
| WidgetElSelectFormComponent = _createWidgetElSelect.WidgetElSelectFormComponent; | ||
| var _createWidgetElRadio = (0, _radioWidget.createWidgetElRadio)(VxeUI), | ||
| getWidgetElRadioConfig = _createWidgetElRadio.getWidgetElRadioConfig, | ||
| WidgetElRadioViewComponent = _createWidgetElRadio.WidgetElRadioViewComponent, | ||
| WidgetElRadioFormComponent = _createWidgetElRadio.WidgetElRadioFormComponent; | ||
| var _createWidgetElCheckb = (0, _checkboxWidget.createWidgetElCheckbox)(VxeUI), | ||
| getWidgetElCheckboxConfig = _createWidgetElCheckb.getWidgetElCheckboxConfig, | ||
| WidgetElCheckboxViewComponent = _createWidgetElCheckb.WidgetElCheckboxViewComponent, | ||
| WidgetElCheckboxFormComponent = _createWidgetElCheckb.WidgetElCheckboxFormComponent; | ||
| var _createWidgetElSwitch = (0, _switchWidget.createWidgetElSwitch)(VxeUI), | ||
| getWidgetElSwitchConfig = _createWidgetElSwitch.getWidgetElSwitchConfig, | ||
| WidgetElSwitchViewComponent = _createWidgetElSwitch.WidgetElSwitchViewComponent, | ||
| WidgetElSwitchFormComponent = _createWidgetElSwitch.WidgetElSwitchFormComponent; | ||
| VxeUI.renderer.mixin({ | ||
| ElInputWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElInputConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElInputViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElInputFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElTextareaWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElTextareaConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElTextareaViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElTextareaFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElNumberInputWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElInputNumberConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElInputNumberViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElInputNumberFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElDatePickerWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElDatePickerConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElDatePickerViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElDatePickerFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElSelectWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElSelectConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElSelectViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElSelectFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElRadioWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElRadioConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElRadioViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElRadioFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElCheckboxWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElCheckboxConfig, | ||
| createFormDesignWidgetFieldValue: function createFormDesignWidgetFieldValue() { | ||
| return []; | ||
| }, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElCheckboxViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElCheckboxFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElSwitchWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElSwitchConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElSwitchViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElSwitchFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| } | ||
| }); | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElInput = createWidgetElInput; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| function createWidgetElInput(VxeUI) { | ||
| var getWidgetElInputConfig = function getWidgetElInputConfig(params) { | ||
| return { | ||
| title: '输入框', | ||
| icon: 'vxe-icon-input', | ||
| options: { | ||
| placeholder: '请输入' | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElInputFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElInputViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElInputConfig: getWidgetElInputConfig, | ||
| WidgetElInputFormComponent: WidgetElInputFormComponent, | ||
| WidgetElInputViewComponent: WidgetElInputViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElInputNumber = createWidgetElInputNumber; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| function createWidgetElInputNumber(VxeUI) { | ||
| var getWidgetElInputNumberConfig = function getWidgetElInputNumberConfig(params) { | ||
| return { | ||
| title: '数字', | ||
| icon: 'vxe-icon-number', | ||
| options: { | ||
| placeholder: '请输入' | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElInputNumberFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElInputNumberViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input-number'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElInputNumberConfig: getWidgetElInputNumberConfig, | ||
| WidgetElInputNumberFormComponent: WidgetElInputNumberFormComponent, | ||
| WidgetElInputNumberViewComponent: WidgetElInputNumberViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElRadio = createWidgetElRadio; | ||
| var _vue = require("vue"); | ||
| var _use = require("./use"); | ||
| var _comp = require("../util/comp"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| function createWidgetElRadio(VxeUI) { | ||
| var getWidgetElRadioConfig = function getWidgetElRadioConfig(params) { | ||
| return { | ||
| title: '单选框', | ||
| icon: 'vxe-icon-radio-checked', | ||
| options: { | ||
| options: _xeUtils["default"].range(0, 3).map(function (v, i) { | ||
| return { | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1]) | ||
| }; | ||
| }) | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElRadioFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false), | ||
| renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }), renderDataSourceFormItem()]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElRadioViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio-group'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }, { | ||
| "default": function _default() { | ||
| return options.options ? options.options.map(function (item, index) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio'), { | ||
| key: index, | ||
| value: item.value | ||
| }, { | ||
| "default": function _default() { | ||
| return "".concat(item.value || ''); | ||
| } | ||
| }); | ||
| }) : []; | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElRadioConfig: getWidgetElRadioConfig, | ||
| WidgetElRadioFormComponent: WidgetElRadioFormComponent, | ||
| WidgetElRadioViewComponent: WidgetElRadioViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElSelect = createWidgetElSelect; | ||
| var _vue = require("vue"); | ||
| var _use = require("./use"); | ||
| var _comp = require("../util/comp"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| function createWidgetElSelect(VxeUI) { | ||
| var getWidgetElSelectConfig = function getWidgetElSelectConfig(params) { | ||
| return { | ||
| title: '下拉框', | ||
| icon: 'vxe-icon-select', | ||
| options: { | ||
| placeholder: '请选择', | ||
| options: _xeUtils["default"].range(0, 3).map(function (v, i) { | ||
| return { | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1]) | ||
| }; | ||
| }) | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElSelectFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false), | ||
| renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }), renderDataSourceFormItem()]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElSelectViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }, { | ||
| "default": function _default() { | ||
| return options.options ? options.options.map(function (item) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), { | ||
| label: item.value, | ||
| value: item.value | ||
| }); | ||
| }) : []; | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElSelectConfig: getWidgetElSelectConfig, | ||
| WidgetElSelectFormComponent: WidgetElSelectFormComponent, | ||
| WidgetElSelectViewComponent: WidgetElSelectViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElSwitch = createWidgetElSwitch; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| function createWidgetElSwitch(VxeUI) { | ||
| var getWidgetElSwitchConfig = function getWidgetElSwitchConfig(params) { | ||
| return { | ||
| title: '是/否', | ||
| icon: 'vxe-icon-switch', | ||
| options: {} | ||
| }; | ||
| }; | ||
| var WidgetElSwitchFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElSwitchViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-switch'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElSwitchConfig: getWidgetElSwitchConfig, | ||
| WidgetElSwitchFormComponent: WidgetElSwitchFormComponent, | ||
| WidgetElSwitchViewComponent: WidgetElSwitchViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElTextarea = createWidgetElTextarea; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| function createWidgetElTextarea(VxeUI) { | ||
| var getWidgetElTextareaConfig = function getWidgetElTextareaConfig(params) { | ||
| return { | ||
| title: '文本域', | ||
| icon: 'vxe-icon-textarea', | ||
| options: { | ||
| placeholder: '请输入' | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElTextareaFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElTextareaViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| type: 'textarea', | ||
| autosize: { | ||
| minRows: 2, | ||
| maxRows: 4 | ||
| }, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElTextareaConfig: getWidgetElTextareaConfig, | ||
| WidgetElTextareaFormComponent: WidgetElTextareaFormComponent, | ||
| WidgetElTextareaViewComponent: WidgetElTextareaViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.useWidgetPropDataSource = useWidgetPropDataSource; | ||
| var _vue = require("vue"); | ||
| function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } | ||
| function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } | ||
| function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } | ||
| function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } | ||
| function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } | ||
| function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } | ||
| function useWidgetPropDataSource(VxeUI, props, isSubOption) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUIButtonComponent = VxeUI.getComponent('VxeButton'); | ||
| var VxeUITextareaComponent = VxeUI.getComponent('VxeTextarea'); | ||
| var VxeUITipComponent = VxeUI.getComponent('VxeTip'); | ||
| var optionsContent = (0, _vue.ref)(''); | ||
| var expandIndexList = (0, _vue.ref)([]); | ||
| var addOptionEvent = function addOptionEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var options = widget.options.options || []; | ||
| options.push({ | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [options.length + 1]) | ||
| }); | ||
| widget.options.options = _toConsumableArray(options); | ||
| }; | ||
| var subRE = /^(\s|\t)+/; | ||
| var hasSubOption = function hasSubOption(str) { | ||
| return subRE.test(str); | ||
| }; | ||
| var expandAllOption = function expandAllOption() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var options = widget.options.options || []; | ||
| var indexList = []; | ||
| options.forEach(function (group, gIndex) { | ||
| var options = group.options; | ||
| if (options && options.length) { | ||
| indexList.push(gIndex); | ||
| } | ||
| }); | ||
| expandIndexList.value = indexList; | ||
| }; | ||
| var toggleExpandOption = function toggleExpandOption(item, gIndex) { | ||
| if (expandIndexList.value.includes(gIndex)) { | ||
| expandIndexList.value = expandIndexList.value.filter(function (num) { | ||
| return num !== gIndex; | ||
| }); | ||
| } else { | ||
| expandIndexList.value.push(gIndex); | ||
| } | ||
| }; | ||
| var confirmBatchAddOptionEvent = function confirmBatchAddOptionEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var optList = []; | ||
| var rowList = optionsContent.value.split('\n'); | ||
| var prevGroup = null; | ||
| if (isSubOption) { | ||
| rowList.forEach(function (str, index) { | ||
| var nextStr = rowList[index + 1]; | ||
| var value = str.trim(); | ||
| if (!value) { | ||
| return; | ||
| } | ||
| var item = { | ||
| value: value | ||
| }; | ||
| if (prevGroup) { | ||
| if (hasSubOption(str)) { | ||
| prevGroup.options.push(item); | ||
| return; | ||
| } | ||
| prevGroup = null; | ||
| optList.push(item); | ||
| } else { | ||
| optList.push(item); | ||
| } | ||
| if (nextStr) { | ||
| if (hasSubOption(nextStr)) { | ||
| prevGroup = Object.assign(item, { | ||
| options: [] | ||
| }); | ||
| } | ||
| } | ||
| }); | ||
| } else { | ||
| rowList.forEach(function (str) { | ||
| optList.push({ | ||
| value: str.trim() | ||
| }); | ||
| }); | ||
| } | ||
| widget.options.options = optList; | ||
| expandAllOption(); | ||
| }; | ||
| var openPopupEditEvent = function openPopupEditEvent() { | ||
| var _widget$options$optio; | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var contList = []; | ||
| (_widget$options$optio = widget.options.options) === null || _widget$options$optio === void 0 || _widget$options$optio.forEach(function (group) { | ||
| var _group$options; | ||
| contList.push(group.value); | ||
| (_group$options = group.options) === null || _group$options === void 0 || _group$options.forEach(function (item) { | ||
| contList.push("\t".concat(item.value)); | ||
| }); | ||
| }); | ||
| optionsContent.value = contList.join('\n'); | ||
| VxeUI.modal.open({ | ||
| title: "".concat(widget.title, " - ").concat(VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption')), | ||
| width: 500, | ||
| height: '50vh ', | ||
| resize: true, | ||
| showFooter: true, | ||
| showCancelButton: true, | ||
| showConfirmButton: true, | ||
| confirmButtonText: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.buildOption'), | ||
| onConfirm: confirmBatchAddOptionEvent, | ||
| slots: { | ||
| "default": function _default() { | ||
| return (0, _vue.h)('div', { | ||
| "class": 'vxe-form-design--widget-form-item-data-source-popup' | ||
| }, [(0, _vue.h)(VxeUITipComponent, { | ||
| status: 'primary', | ||
| title: '', | ||
| content: VxeUI.getI18n("vxe.formDesign.widgetProp.dataSource.".concat(isSubOption ? 'batchEditSubTip' : 'batchEditTip')) | ||
| }), (0, _vue.h)(VxeUITextareaComponent, { | ||
| resize: 'none', | ||
| modelValue: optionsContent.value, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| optionsContent.value = val; | ||
| } | ||
| })]); | ||
| } | ||
| } | ||
| }); | ||
| }; | ||
| var renderOption = function renderOption(item, hasFirstLevel, isExpand, gIndex, hasSub, isFirst, isLast) { | ||
| return (0, _vue.h)('div', { | ||
| "class": ['vxe-form-design--widget-form-item-data-source-option', { | ||
| 'is--first': isFirst, | ||
| 'is--last': isLast | ||
| }] | ||
| }, [(0, _vue.h)('div', { | ||
| "class": 'vxe-form-design--widget-expand-btn' | ||
| }, hasFirstLevel && hasSub ? [(0, _vue.h)('i', { | ||
| "class": isExpand ? VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE : VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN, | ||
| onClick: function onClick() { | ||
| toggleExpandOption(item, gIndex); | ||
| } | ||
| })] : []), (0, _vue.h)('input', { | ||
| "class": 'vxe-default-input', | ||
| value: item.value, | ||
| onInput: function onInput(evnt) { | ||
| item.value = evnt.currentTarget.value; | ||
| } | ||
| }), (0, _vue.h)(VxeUIButtonComponent, { | ||
| status: 'danger', | ||
| mode: 'text', | ||
| icon: VxeUI.getIcon().FORM_DESIGN_WIDGET_DELETE | ||
| })]); | ||
| }; | ||
| var renderOptions = function renderOptions() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var options = widget.options; | ||
| var groups = options.options; | ||
| var optVNs = []; | ||
| if (groups) { | ||
| groups.forEach(function (group, gIndex) { | ||
| var options = group.options; | ||
| var isExpand = expandIndexList.value.includes(gIndex); | ||
| if (options && options.length) { | ||
| optVNs.push(renderOption(group, true, isExpand, gIndex, true, gIndex === 0, gIndex === groups.length - 1)); | ||
| if (isExpand) { | ||
| optVNs.push((0, _vue.h)('div', { | ||
| "class": 'vxe-form-design--widget-form-item-data-source-sub-option' | ||
| }, options.map(function (item) { | ||
| return renderOption(item, false, isExpand, 0, false, false, false); | ||
| }))); | ||
| } | ||
| } else { | ||
| optVNs.push(renderOption(group, true, isExpand, gIndex, false, gIndex === 0, gIndex === groups.length - 1)); | ||
| } | ||
| }); | ||
| } | ||
| return optVNs; | ||
| }; | ||
| (0, _vue.watch)(function () { | ||
| return props.renderParams.widget; | ||
| }, function () { | ||
| expandAllOption(); | ||
| }); | ||
| (0, _vue.onMounted)(function () { | ||
| expandAllOption(); | ||
| }); | ||
| return { | ||
| renderDataSourceFormItem: function renderDataSourceFormItem() { | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.name'), | ||
| field: 'options' | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)('div', {}, [(0, _vue.h)(VxeUIButtonComponent, { | ||
| status: 'primary', | ||
| mode: 'text', | ||
| content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.addOption'), | ||
| onClick: addOptionEvent | ||
| }), (0, _vue.h)(VxeUIButtonComponent, { | ||
| status: 'primary', | ||
| mode: 'text', | ||
| content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption'), | ||
| onClick: openPopupEditEvent | ||
| })]), (0, _vue.h)('div', { | ||
| "class": 'vxe-form-design--widget-form-item-data-source' | ||
| }, renderOptions())]; | ||
| } | ||
| }); | ||
| } | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.defineFormRender = defineFormRender; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } | ||
| function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } | ||
| function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } | ||
| function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } | ||
| function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } | ||
| function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } | ||
| /** | ||
| * 表单 - 渲染器 | ||
| */ | ||
| function defineFormRender(VxeUI) { | ||
| function isEmptyValue(cellValue) { | ||
| return cellValue === null || cellValue === undefined || cellValue === ''; | ||
| } | ||
| function getOnName(type) { | ||
| return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1); | ||
| } | ||
| function getModelProp(renderOpts) { | ||
| return 'modelValue'; | ||
| } | ||
| function getModelEvent(renderOpts) { | ||
| return 'update:modelValue'; | ||
| } | ||
| function getChangeEvent(renderOpts) { | ||
| var type = 'change'; | ||
| switch (renderOpts.name) { | ||
| case 'ElAutocomplete': | ||
| type = 'select'; | ||
| break; | ||
| case 'ElInput': | ||
| case 'ElInputNumber': | ||
| type = 'input'; | ||
| break; | ||
| } | ||
| return type; | ||
| } | ||
| function getItemProps(renderOpts, params, value, defaultProps) { | ||
| return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value)); | ||
| } | ||
| function formatText(cellValue) { | ||
| return '' + (isEmptyValue(cellValue) ? '' : cellValue); | ||
| } | ||
| function getOns(renderOpts, params, inputFunc, changeFunc) { | ||
| var events = renderOpts.events; | ||
| var modelEvent = getModelEvent(renderOpts); | ||
| var changeEvent = getChangeEvent(renderOpts); | ||
| var isSameEvent = changeEvent === modelEvent; | ||
| var ons = {}; | ||
| _xeUtils["default"].objectEach(events, function (func, key) { | ||
| ons[getOnName(key)] = function () { | ||
| for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
| args[_key] = arguments[_key]; | ||
| } | ||
| func.apply(void 0, [params].concat(args)); | ||
| }; | ||
| }); | ||
| if (inputFunc) { | ||
| ons[getOnName(modelEvent)] = function (targetEvnt) { | ||
| inputFunc(targetEvnt); | ||
| if (events && events[modelEvent]) { | ||
| events[modelEvent](params, targetEvnt); | ||
| } | ||
| if (isSameEvent && changeFunc) { | ||
| changeFunc(targetEvnt); | ||
| } | ||
| }; | ||
| } | ||
| if (!isSameEvent && changeFunc) { | ||
| ons[getOnName(changeEvent)] = function () { | ||
| for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
| args[_key2] = arguments[_key2]; | ||
| } | ||
| changeFunc.apply(void 0, args); | ||
| if (events && events[changeEvent]) { | ||
| events[changeEvent].apply(events, [params].concat(args)); | ||
| } | ||
| }; | ||
| } | ||
| return ons; | ||
| } | ||
| function getItemOns(renderOpts, params) { | ||
| var $form = params.$form, | ||
| data = params.data, | ||
| field = params.field; | ||
| return getOns(renderOpts, params, function (value) { | ||
| // 处理 model 值双向绑定 | ||
| _xeUtils["default"].set(data, field, value); | ||
| }, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| $form.updateStatus(params); | ||
| if (renderOpts.changeToSubmit) { | ||
| $form.handleSubmitEvent(new Event('change')); | ||
| } | ||
| }); | ||
| } | ||
| function renderOptions(options, optionProps) { | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| return _xeUtils["default"].map(options, function (item, oIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), { | ||
| key: oIndex, | ||
| value: item[valueProp], | ||
| label: item[labelProp], | ||
| disabled: item.disabled | ||
| }); | ||
| }); | ||
| } | ||
| function cellText(cellValue) { | ||
| return [formatText(cellValue)]; | ||
| } | ||
| function createFormItemRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| var data = params.data, | ||
| field = params.field; | ||
| var name = renderOpts.name; | ||
| var attrs = renderOpts.attrs; | ||
| var itemValue = _xeUtils["default"].get(data, field); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue, defaultProps)), getItemOns(renderOpts, params)))]; | ||
| }; | ||
| } | ||
| function defaultButtonItemRender(renderOpts, params) { | ||
| var attrs = renderOpts.attrs; | ||
| var props = getItemProps(renderOpts, params, null); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-button'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), getOns(renderOpts, params)), { | ||
| "default": function _default() { | ||
| return cellText(renderOpts.content || props.content); | ||
| } | ||
| })]; | ||
| } | ||
| function defaultButtonsItemRender(renderOpts, params) { | ||
| var children = renderOpts.children; | ||
| if (children) { | ||
| return children.map(function (childRenderOpts) { | ||
| return defaultButtonItemRender(childRenderOpts, params)[0]; | ||
| }); | ||
| } | ||
| return []; | ||
| } | ||
| /** | ||
| * 已废弃 | ||
| * @deprecated | ||
| */ | ||
| function createOldFormItemRadioAndCheckboxRender() { | ||
| return function (renderOpts, params) { | ||
| var name = renderOpts.name, | ||
| _renderOpts$options = renderOpts.options, | ||
| options = _renderOpts$options === void 0 ? [] : _renderOpts$options, | ||
| _renderOpts$optionPro = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro, | ||
| attrs = renderOpts.attrs; | ||
| var data = params.data, | ||
| field = params.field; | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| var itemValue = _xeUtils["default"].get(data, field); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)("".concat(name, "Group")), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), { | ||
| "default": function _default() { | ||
| return options.map(function (option, oIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)(name), { | ||
| key: oIndex, | ||
| label: option[valueProp], | ||
| disabled: option.disabled | ||
| }, { | ||
| "default": function _default() { | ||
| return cellText(option[labelProp]); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| })]; | ||
| }; | ||
| } | ||
| VxeUI.renderer.mixin({ | ||
| ElAutocomplete: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElInput: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElInputNumber: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElSelect: { | ||
| renderFormItemContent: function renderFormItemContent(renderOpts, params) { | ||
| var _renderOpts$options2 = renderOpts.options, | ||
| options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2, | ||
| optionGroups = renderOpts.optionGroups, | ||
| _renderOpts$optionPro2 = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2, | ||
| _renderOpts$optionGro = renderOpts.optionGroupProps, | ||
| optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro; | ||
| var data = params.data, | ||
| field = params.field; | ||
| var attrs = renderOpts.attrs; | ||
| var itemValue = _xeUtils["default"].get(data, field); | ||
| var props = getItemProps(renderOpts, params, itemValue); | ||
| var ons = getItemOns(renderOpts, params); | ||
| if (optionGroups) { | ||
| var groupOptions = optionGroupProps.options || 'options'; | ||
| var groupLabel = optionGroupProps.label || 'label'; | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), { | ||
| "default": function _default() { | ||
| return _xeUtils["default"].map(optionGroups, function (group, gIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), { | ||
| label: group[groupLabel], | ||
| key: gIndex | ||
| }, { | ||
| "default": function _default() { | ||
| return renderOptions(group[groupOptions], optionProps); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), { | ||
| "default": function _default() { | ||
| return renderOptions(options, optionProps); | ||
| } | ||
| })]; | ||
| } | ||
| }, | ||
| ElCascader: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElDatePicker: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElTimePicker: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElTimeSelect: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElRate: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElSwitch: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElSlider: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElRadioGroup: { | ||
| renderFormItemContent: function renderFormItemContent(renderOpts, params) { | ||
| var _renderOpts$options3 = renderOpts.options, | ||
| options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3, | ||
| _renderOpts$optionPro3 = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3, | ||
| attrs = renderOpts.attrs; | ||
| var data = params.data, | ||
| field = params.field; | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| var itemValue = _xeUtils["default"].get(data, field); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-radio-group'), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), { | ||
| "default": function _default() { | ||
| return options.map(function (option, oIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio'), { | ||
| key: oIndex, | ||
| value: option[valueProp], | ||
| disabled: option.disabled | ||
| }, { | ||
| "default": function _default() { | ||
| return cellText(option[labelProp]); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }, | ||
| ElCheckboxGroup: { | ||
| renderFormItemContent: function renderFormItemContent(renderOpts, params) { | ||
| var _renderOpts$options4 = renderOpts.options, | ||
| options = _renderOpts$options4 === void 0 ? [] : _renderOpts$options4, | ||
| _renderOpts$optionPro4 = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro4 === void 0 ? {} : _renderOpts$optionPro4, | ||
| attrs = renderOpts.attrs; | ||
| var data = params.data, | ||
| field = params.field; | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| var itemValue = _xeUtils["default"].get(data, field); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox-group'), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), { | ||
| "default": function _default() { | ||
| return options.map(function (option, oIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox'), { | ||
| key: oIndex, | ||
| value: option[valueProp], | ||
| label: option[labelProp], | ||
| disabled: option.disabled | ||
| }); | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }, | ||
| ElButton: { | ||
| renderFormItemContent: defaultButtonItemRender | ||
| }, | ||
| // 已废弃 | ||
| ElRadio: { | ||
| renderFormItemContent: createOldFormItemRadioAndCheckboxRender() | ||
| }, | ||
| ElCheckbox: { | ||
| renderFormItemContent: createOldFormItemRadioAndCheckboxRender() | ||
| }, | ||
| ElButtons: { | ||
| renderFormItemContent: defaultButtonsItemRender | ||
| } | ||
| }); | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports["default"] = exports.VxeUIPluginRenderElement = void 0; | ||
| var _table = require("./table"); | ||
| var _form = require("./form"); | ||
| var _formDesign = require("./form-design"); | ||
| var _store = require("./store"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| // eslint-disable-next-line no-unused-vars | ||
| var ElementPlus; | ||
| function getEventTarget(evnt) { | ||
| var target = evnt.target; | ||
| if (target && target.shadowRoot && evnt.composed) { | ||
| return evnt.composedPath()[0] || target; | ||
| } | ||
| return target; | ||
| } | ||
| /** | ||
| * 检查触发源是否属于目标节点 | ||
| */ | ||
| function getEventTargetNode(evnt, container, className) { | ||
| var targetElem; | ||
| var target = getEventTarget(evnt); | ||
| var rootEl = document.documentElement || document.querySelector('html'); | ||
| while (target && target.nodeType && target !== rootEl) { | ||
| if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) { | ||
| targetElem = target; | ||
| } else if (target === container) { | ||
| return { | ||
| flag: className ? !!targetElem : true, | ||
| container: container, | ||
| targetElem: targetElem | ||
| }; | ||
| } | ||
| target = target.parentElement; | ||
| } | ||
| return { | ||
| flag: false | ||
| }; | ||
| } | ||
| function toComponentName(name) { | ||
| if (name) { | ||
| return name.slice(0, 1).toUpperCase() + name.slice(1); | ||
| } | ||
| return name; | ||
| } | ||
| var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = { | ||
| component: function component(comp) { | ||
| if (comp && comp.name) { | ||
| var kcName = _xeUtils["default"].kebabCase(comp.name); | ||
| var ccName = toComponentName(_xeUtils["default"].camelCase(comp.name)); | ||
| _store.componentMaps[kcName] = comp; | ||
| _store.componentMaps[ccName] = comp; | ||
| } else { | ||
| console.error('[@vxe-ui/plugin-render-element 4.3.0] error component.', comp); | ||
| } | ||
| }, | ||
| install: function install(VxeUI, options) { | ||
| var pluginOpts = Object.assign({}, options); | ||
| if (options) { | ||
| ElementPlus = options.ElementPlus; | ||
| Object.assign(_store.globalConfig, options); | ||
| } | ||
| // 检查版本 | ||
| if (VxeUI.checkVersion) { | ||
| var pVersion = 4; | ||
| var sVersion = 11; | ||
| if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) { | ||
| console.error("[@vxe-ui/plugin-render-element 4.3.0] ".concat(VxeUI.getI18n('vxe.error.errorVersion', ["vxe-table@".concat(VxeUI.tableVersion || '?'), "vxe-table v".concat(pVersion, ".").concat(sVersion, "+")]), " https://vxeui.com/other4/#/plugin-render-element/install")); | ||
| } | ||
| } else { | ||
| if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) { | ||
| console.error('[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install'); | ||
| } | ||
| } | ||
| /** | ||
| * 事件兼容性处理 | ||
| */ | ||
| function handleClearEvent(params) { | ||
| var $event = params.$event; | ||
| var bodyElem = document.body; | ||
| var prefixCls = "".concat(pluginOpts.prefixCls || 'el').replace(/-$/, ''); | ||
| if ( | ||
| // 远程搜索 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-autocomplete-suggestion")).flag || | ||
| // 下拉框 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-select-dropdown")).flag || | ||
| // 级联 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader__dropdown")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader-menus")).flag || | ||
| // 日期 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-time-panel")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-picker-panel")).flag || | ||
| // 颜色 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-color-dropdown")).flag) { | ||
| return false; | ||
| } | ||
| } | ||
| (0, _table.defineTableRender)(VxeUI); | ||
| (0, _form.defineFormRender)(VxeUI); | ||
| (0, _formDesign.defineFormDesignRender)(VxeUI); | ||
| VxeUI.interceptor.add('event.clearFilter', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearEdit', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearAreas', handleClearEvent); | ||
| // 兼容老版本 | ||
| VxeUI.interceptor.add('event.clearActived', handleClearEvent); | ||
| } | ||
| }; | ||
| if (typeof window !== 'undefined') { | ||
| if (window.VxeUI && window.VxeUI.use) { | ||
| window.VxeUI.use(VxeUIPluginRenderElement); | ||
| } | ||
| if (window.ElementPlus) { | ||
| _store.globalConfig.ElementPlus = window.ElementPlus; | ||
| } | ||
| } | ||
| var _default = exports["default"] = VxeUIPluginRenderElement; |
+119
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports["default"] = exports.VxeUIPluginRenderElement = void 0; | ||
| var _table = require("./table"); | ||
| var _form = require("./form"); | ||
| var _formDesign = require("./form-design"); | ||
| var _store = require("./store"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| // eslint-disable-next-line no-unused-vars | ||
| var ElementPlus; | ||
| function getEventTarget(evnt) { | ||
| var target = evnt.target; | ||
| if (target && target.shadowRoot && evnt.composed) { | ||
| return evnt.composedPath()[0] || target; | ||
| } | ||
| return target; | ||
| } | ||
| /** | ||
| * 检查触发源是否属于目标节点 | ||
| */ | ||
| function getEventTargetNode(evnt, container, className) { | ||
| var targetElem; | ||
| var target = getEventTarget(evnt); | ||
| var rootEl = document.documentElement || document.querySelector('html'); | ||
| while (target && target.nodeType && target !== rootEl) { | ||
| if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) { | ||
| targetElem = target; | ||
| } else if (target === container) { | ||
| return { | ||
| flag: className ? !!targetElem : true, | ||
| container: container, | ||
| targetElem: targetElem | ||
| }; | ||
| } | ||
| target = target.parentElement; | ||
| } | ||
| return { | ||
| flag: false | ||
| }; | ||
| } | ||
| function toComponentName(name) { | ||
| if (name) { | ||
| return name.slice(0, 1).toUpperCase() + name.slice(1); | ||
| } | ||
| return name; | ||
| } | ||
| var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = { | ||
| component: function component(comp) { | ||
| if (comp && comp.name) { | ||
| var kcName = _xeUtils["default"].kebabCase(comp.name); | ||
| var ccName = toComponentName(_xeUtils["default"].camelCase(comp.name)); | ||
| _store.componentMaps[kcName] = comp; | ||
| _store.componentMaps[ccName] = comp; | ||
| } else { | ||
| console.error('[@vxe-ui/plugin-render-element 4.3.0] error component.', comp); | ||
| } | ||
| }, | ||
| install: function install(VxeUI, options) { | ||
| var pluginOpts = Object.assign({}, options); | ||
| if (options) { | ||
| ElementPlus = options.ElementPlus; | ||
| Object.assign(_store.globalConfig, options); | ||
| } | ||
| // 检查版本 | ||
| if (VxeUI.checkVersion) { | ||
| var pVersion = 4; | ||
| var sVersion = 11; | ||
| if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) { | ||
| console.error("[@vxe-ui/plugin-render-element 4.3.0] ".concat(VxeUI.getI18n('vxe.error.errorVersion', ["vxe-table@".concat(VxeUI.tableVersion || '?'), "vxe-table v".concat(pVersion, ".").concat(sVersion, "+")]), " https://vxeui.com/other4/#/plugin-render-element/install")); | ||
| } | ||
| } else { | ||
| if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) { | ||
| console.error('[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install'); | ||
| } | ||
| } | ||
| /** | ||
| * 事件兼容性处理 | ||
| */ | ||
| function handleClearEvent(params) { | ||
| var $event = params.$event; | ||
| var bodyElem = document.body; | ||
| var prefixCls = "".concat(pluginOpts.prefixCls || 'el').replace(/-$/, ''); | ||
| if ( | ||
| // 远程搜索 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-autocomplete-suggestion")).flag || | ||
| // 下拉框 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-select-dropdown")).flag || | ||
| // 级联 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader__dropdown")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader-menus")).flag || | ||
| // 日期 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-time-panel")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-picker-panel")).flag || | ||
| // 颜色 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-color-dropdown")).flag) { | ||
| return false; | ||
| } | ||
| } | ||
| (0, _table.defineTableRender)(VxeUI); | ||
| (0, _form.defineFormRender)(VxeUI); | ||
| (0, _formDesign.defineFormDesignRender)(VxeUI); | ||
| VxeUI.interceptor.add('event.clearFilter', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearEdit', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearAreas', handleClearEvent); | ||
| // 兼容老版本 | ||
| VxeUI.interceptor.add('event.clearActived', handleClearEvent); | ||
| } | ||
| }; | ||
| if (typeof window !== 'undefined') { | ||
| if (window.VxeUI && window.VxeUI.use) { | ||
| window.VxeUI.use(VxeUIPluginRenderElement); | ||
| } | ||
| if (window.ElementPlus) { | ||
| _store.globalConfig.ElementPlus = window.ElementPlus; | ||
| } | ||
| } | ||
| var _default = exports["default"] = VxeUIPluginRenderElement; |
Sorry, the diff of this file is too big to display
| ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("xe-utils"),require("dayjs")):"function"==typeof define&&define.amd?define(["vue","xe-utils","dayjs"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VxeUIPluginRenderElement=t(e.Vue,e.XEUtils,e.dayjs)})(this,function(t,i,R){function _(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var e,o,n,r={},a={},u={},l={};function d(){return e||(e=1,Object.defineProperty(l,"__esModule",{value:!0}),l.globalConfig=l.componentMaps=void 0,l.globalConfig={},l.componentMaps={}),l}function c(){var n,r;return o||(o=1,Object.defineProperty(u,"__esModule",{value:!0}),u.getCurrComponent=function(e){var t=r.componentMaps[e]||(r.globalConfig.ElementPlus?r.globalConfig.ElementPlus[e]:null);if(t)return t;return(0,n.resolveComponent)(e)},u.hasInputType=function(e){switch(e.name){case"ElInput":case"ElInputNumber":case"ElTextarea":return!0}return!1},n=t,r=d()),u}function Y(){var j,T,k,M;return n||(n=1,Object.defineProperty(a,"__esModule",{value:!0}),a.defineTableRender=function(r){function s(e){return null==e||""===e}function f(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function a(e,t){return(0,M.default)(e).format(t)}function u(e,t){return e&&t.valueFormat?(t=t.valueFormat,(0,M.default)(e,t).toDate()):e}function l(e,t,n){return e&&a(u(e,t),t.format||t.valueFormat||n)}function d(e,t,n,r){return k.default.map(e,function(e){return l(e,t,r)}).join(n)}function c(e,t,n,r){return(e=l(e,n,r))>=l(t[0],n,r)&&e<=l(t[1],n,r)}function p(e,t,n,r){return k.default.assign({},r,e.props,Y({},"modelValue",n))}function o(e){return""+(s(e)?"":e)}function i(e,t,n){e.$table.updateFilterOptionStatus(n,t)}function n(e,t,n){e=e.placeholder;return[(0,j.h)("span",{class:"vxe-cell--label"},e&&s(n)?[(0,j.h)("span",{class:"vxe-cell--placeholder"},o(r.getI18n(e)))]:o(n))]}var m="blur",g="clear";function v(e,o,t){var r=e.events,n="update:modelValue",i=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),e=t||{},a=e.model,u=e.change,l=e.blur,d=e.clear,c={};return k.default.objectEach(r,function(r,e){c[f(e)]=function(){k.default.isFunction(r)||console.error('Parameter "'.concat(r,'" is not a method'));for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),a&&(c[f(n)]=function(e){a(e),r&&r[n]&&r[n](o,e)}),u&&(c[f(i)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];u.apply(void 0,t),r&&r[i]&&r[i].apply(r,[o].concat(t))}),l&&(c[f(m)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];l.apply(void 0,t),r&&r[m]&&r[m].apply(r,[o].concat(t))}),d&&(c[f(g)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];d.apply(void 0,t),r&&r[g]&&r[g].apply(r,[o].concat(t))}),c}function h(e,t){var n=t.$table,r=t.row,o=t.column;return v(e,t,{model:function(e){k.default.set(r,o.field,e)},change:function(){n.updateStatus(t)}})}function b(e,t,n,r){return v(e,t,{model:function(e){n.data=e},change:r})}function C(e,n,r){var t=n.$table,o=n.column;return(0,T.hasInputType)(e)?v(e,n,{model:function(e){r.data=e},change:function(){i(n,!s(r.data),r)},clear:function(){var e,t;i(n,!s(r.data),r),t=(e=n).$table,e=n.column,t.saveFilterByEvent(new Event("change"),e)},blur:function(){t.saveFilterByEvent(new Event("change"),o)}}):v(e,n,{model:function(e){r.data=e},clear:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)},change:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)}})}function w(e,t){var n,r=e.options,o=void 0===r?[]:r,i=e.optionGroups,r=e.props,r=void 0===r?{}:r,a=e.optionProps,a=void 0===a?{}:a,e=e.optionGroupProps,u=t.$table,l=t.rowid,d=t.column,c=r.filterable,r=r.multiple,f=a.label||"label",p=a.value||"value",m=(void 0===e?{}:e).options||"options",a=k.default.get(t.row,d.field),e=d.id;if(c){t=u.internalData.fullAllDataRowIdData[l];if(t&&(n=(n=t.cellData)||(t.cellData={})),t&&n[e]&&n[e].value===a)return n[e].label}return s(a)?"":(d=k.default.map(r?a:[a],i?function(t){for(var e,n=0;n<i.length&&!(e=k.default.find(i[n][m],function(e){return e[p]===t}));n++);return e?e[f]:t}:function(t){var e=k.default.find(o,function(e){return e[p]===t});return e?e[f]:t}).join(", "),n&&o&&o.length&&(n[e]={value:a,label:d}),d)}function E(e,t){var e=e.props,e=void 0===e?{}:e,n=t.row,n=k.default.get(n,t.column.field),t=[];return function t(n,e,r,o){var i=r[n];e&&r.length>n&&k.default.each(e,function(e){e.value===i&&(o.push(e.label),t(++n,e.children,r,o))})}(0,e.options,n||[],t),(!1===e.showAllLevels?t.slice(t.length-1,t.length):t).join(" ".concat(e.separator||"/"," "))}function V(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.rangeSeparator,o=void 0===r?"-":r,i=k.default.get(e,t.column.field);switch(n.type){case"week":i=l(i,n,"YYYYwWW");break;case"month":i=l(i,n,"YYYY-MM");break;case"year":i=l(i,n,"YYYY");break;case"dates":i=d(i,n,", ","YYYY-MM-DD");break;case"daterange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD");break;case"datetimerange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD HH:ss:mm");break;case"monthrange":i=d(i,n," ".concat(o," "),"YYYY-MM");break;default:i=l(i,n,"YYYY-MM-DD")}return i}function P(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.isRange,o=n.format,i=void 0===o?"HH:mm:ss":o,o=n.rangeSeparator,o=void 0===o?"-":o,e=k.default.get(e,t.column.field);return e&&r&&(e=k.default.map(e,function(e){return a(u(e,n),i)}).join(" ".concat(o," "))),a(u(e,n),i)}function e(a){return function(e,t){var n=t.row,r=e.name,o=e.attrs,i=e.props,n=k.default.get(n,t.column.field);return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,n,a)),h(e,t)))]}}function y(e,t){var n=e.attrs,r=e.props;return[(0,j.h)((0,T.getCurrComponent)("el-button"),_(_(_(_({},n),r),p(e,0,null)),v(e,t)),[o(e.content)])]}function t(l){return function(r,o){var e=o.column,i=r.name,a=r.attrs,u=r.props;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_(_({key:t},a),u),p(r,0,n,l)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]}}function x(u){return function(e,t){var n=t.option,r=e.name,o=e.attrs,i=e.props,a=n.data;return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,a,u)),C(e,t,n)))]}}function I(e,t,n){e.$panel.changeOption(null,t,n)}function O(e){var t=e.option.data,e=k.default.get(e.row,e.column.field);return-1<k.default.toValueString(e).indexOf(t)}function F(e){var t=e.option.data;return k.default.get(e.row,e.column.field)===t}function D(e,t){var n=t.label||"label",r=t.value||"value";return k.default.map(e,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function W(o){return function(e){var t=e.row,n=e.column,r=e.options;return r&&r.original?k.default.get(t,n.field):o(n.editRender||n.cellRender,e)}}function S(){return[{data:null}]}r.renderer.mixin({ElAutocomplete:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElInput:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElInputNumber:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElSelect:{tableAutoFocus:"input",renderTableEdit:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.row,d=e.attrs,l=p(e,0,k.default.get(l,t.column.field)),e=h(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},d),l),e),{default:function(){return k.default.map(a,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[r]},{default:function(){return D(e[n],u)}})})}})]):[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},l),d),e),{default:function(){return D(i,u)}})]},renderTableCell:function(e,t){return n(e,0,w(e,t))},createTableFilterOptions:S,renderTableFilter:function(o,i){var e=o.options,a=void 0===e?[]:e,u=o.optionGroups,e=o.optionProps,l=void 0===e?{}:e,e=o.optionGroupProps,e=void 0===e?{}:e,d=e.options||"options",c=e.label||"label",e=i.column,f=o.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},u?e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return k.default.map(u,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[c]},{default:function(){return D(e[d],l)}})})}})}):e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return D(a,l)}})}))]},tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,t=t.data,r=n.field,n=n.filterRender.props,n=void 0===n?{}:n,e=k.default.get(e.row,r);return n.multiple?k.default.isArray(e)?k.default.includeArrays(e,t):-1<t.indexOf(e):e==t},tableExportMethod:W(w)},ElCascader:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,E(e,t))},tableExportMethod:W(E)},ElDatePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,V(e,t))},createTableFilterOptions:S,renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]},renderTableFloatingFilter:x(),tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,r=t.data,t=n.filterRender.props,o=void 0===t?{}:t,i=k.default.get(e.row,n.field);if(r)switch(o.type){case"daterange":return c(i,r,o,"YYYY-MM-DD");case"datetimerange":return c(i,r,o,"YYYY-MM-DD HH:ss:mm");case"monthrange":return c(i,r,o,"YYYY-MM");default:return i===r}return!1},tableExportMethod:W(V)},ElTimePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,P(e,t))},tableExportMethod:W(P)},ElTimeSelect:{tableAutoFocus:"input",renderTableEdit:e()},ElRate:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElSwitch:{renderTableDefault:e(),renderTableEdit:e(),renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,k.default.isBoolean(e.data),e)})))}))]},tableFilterDefaultMethod:F},ElSlider:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElButton:{renderTableDefault:y},ElButtons:{renderTableDefault:function(e,t){return(e=e.children)?e.map(function(e){return y(e,t)[0]}):[]}}})},j=t,T=c(),k=e(i),M=e(R)),a;function e(e){return e&&e.__esModule?e:{default:e}}function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function _(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){Y(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Y(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var f,p={};function U(){var s,g,v,e;return f||(f=1,Object.defineProperty(p,"__esModule",{value:!0}),p.defineFormRender=function(e){function d(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function c(e,t,n,r){return v.default.assign({},r,e.props,a({},"modelValue",n))}function i(e,o,t,r){var i=e.events,n="update:modelValue",a=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),u=a===n,l={};return v.default.objectEach(i,function(r,e){l[d(e)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),t&&(l[d(n)]=function(e){t(e),i&&i[n]&&i[n](o,e),u&&r&&r(e)}),!u&&r&&(l[d(a)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,t),i&&i[a]&&i[a].apply(i,[o].concat(t))}),l}function f(e,t){var n=t.$form,r=t.data,o=t.field;return i(e,t,function(e){v.default.set(r,o,e)},function(){n.updateStatus(t),e.changeToSubmit&&n.handleSubmitEvent(new Event("change"))})}function p(e,t){var n=t.label||"label",r=t.value||"value";return v.default.map(e,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function m(e){return[""+(null==(t=e=e)||""===t?"":e)];var t}function t(i){return function(e,t){var n=t.data,r=e.name,o=e.attrs,n=v.default.get(n,t.field);return[(0,s.h)((0,g.getCurrComponent)(r),h(h(h({},o),c(e,0,n,i)),f(e,t)))]}}function n(e,t){var n=e.attrs,r=c(e,0,null);return[(0,s.h)((0,g.getCurrComponent)("el-button"),h(h(h({},n),r),i(e,t)),{default:function(){return m(e.content||r.content)}})]}function r(){return function(e,t){var n=e.name,r=e.options,o=void 0===r?[]:r,r=e.optionProps,r=void 0===r?{}:r,i=e.attrs,a=t.data,u=r.label||"label",l=r.value||"value",r=v.default.get(a,t.field);return[(0,s.h)((0,g.getCurrComponent)("".concat(n,"Group")),h(h(h({},i),c(e,0,r)),f(e,t)),{default:function(){return o.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)(n),{key:t,label:e[l],disabled:e.disabled},{default:function(){return m(e[u])}})})}})]}}e.renderer.mixin({ElAutocomplete:{renderFormItemContent:t()},ElInput:{renderFormItemContent:t()},ElInputNumber:{renderFormItemContent:t()},ElSelect:{renderFormItemContent:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.data,d=e.attrs,l=c(e,0,v.default.get(l,t.field)),e=f(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return v.default.map(a,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option-group"),{label:e[r],key:t},{default:function(){return p(e[n],u)}})})}})]):[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return p(i,u)}})]}},ElCascader:{renderFormItemContent:t()},ElDatePicker:{renderFormItemContent:t()},ElTimePicker:{renderFormItemContent:t()},ElTimeSelect:{renderFormItemContent:t()},ElRate:{renderFormItemContent:t()},ElSwitch:{renderFormItemContent:t()},ElSlider:{renderFormItemContent:t()},ElRadioGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-radio-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-radio"),{key:t,value:e[u],disabled:e.disabled},{default:function(){return m(e[a])}})})}})]}},ElCheckboxGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-checkbox-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-checkbox"),{key:t,value:e[u],label:e[a],disabled:e.disabled})})}})]}},ElButton:{renderFormItemContent:n},ElRadio:{renderFormItemContent:r()},ElCheckbox:{renderFormItemContent:r()},ElButtons:{renderFormItemContent:function(e,t){return(e=e.children)?e.map(function(e){return n(e,t)[0]}):[]}}})},s=t,g=c(),v=(e=i)&&e.__esModule?e:{default:e}),p;function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function h(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){a(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function a(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var m,s={},g={};function A(){var l,d;return m||(m=1,Object.defineProperty(g,"__esModule",{value:!0}),g.createWidgetElInput=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(n){var r=u.getComponent("VxeForm"),o=u.getComponent("VxeFormItem"),i=u.getComponent("VxeSwitch");return function(){var t=n.renderParams.widget,e=t.options;return(0,l.h)(r,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:e},{default:function(){return[(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(i,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputConfig:function(e){return{title:"输入框",icon:"vxe-icon-input",options:{placeholder:"请输入"}}},WidgetElInputFormComponent:e,WidgetElInputViewComponent:t}},l=t,d=c()),g}var v,h={};function q(){var l,d;return v||(v=1,Object.defineProperty(h,"__esModule",{value:!0}),h.createWidgetElTextarea=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,type:"textarea",autosize:{minRows:2,maxRows:4},onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElTextareaConfig:function(e){return{title:"文本域",icon:"vxe-icon-textarea",options:{placeholder:"请输入"}}},WidgetElTextareaFormComponent:e,WidgetElTextareaViewComponent:t}},l=t,d=c()),h}var b,C={};function N(){var l,d;return b||(b=1,Object.defineProperty(C,"__esModule",{value:!0}),C.createWidgetElInputNumber=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input-number"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputNumberConfig:function(e){return{title:"数字",icon:"vxe-icon-number",options:{placeholder:"请输入"}}},WidgetElInputNumberFormComponent:e,WidgetElInputNumberViewComponent:t}},l=t,d=c()),C}var w,E={};function $(){var l,d;return w||(w=1,Object.defineProperty(E,"__esModule",{value:!0}),E.createWidgetElDatePicker=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElDatePicker"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-date-picker"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElDatePickerConfig:function(e){return{title:"日期",icon:"vxe-icon-input",options:{placeholder:"请选择"}}},WidgetElDatePickerFormComponent:e,WidgetElDatePickerViewComponent:t}},l=t,d=c()),E}var V,P,y={},x={};function I(){var h;return V||(V=1,Object.defineProperty(x,"__esModule",{value:!0}),x.useWidgetPropDataSource=function(u,a,l){function e(){var e=a.renderParams.widget,t=e.options.options||[];t.push({value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t.length+1])}),e.options.options=(e=>{if(Array.isArray(e))return b(e)})(e=t)||(e=>{if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||((e,t)=>{var n;if(e)return"string"==typeof e?b(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0})(e)||(()=>{throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(){var e=a.renderParams.widget,r=[],o=f.value.split("\n"),i=null;l?o.forEach(function(e,t){var t=o[t+1],n=e.trim();if(n){n={value:n};if(i){if(s(e))return void i.options.push(n);i=null}r.push(n),t&&s(t)&&(i=Object.assign(n,{options:[]}))}}):o.forEach(function(e){r.push({value:e.trim()})}),e.options.options=r,g()}function t(){var e,t=a.renderParams.widget,n=[];null!=(e=t.options.options)&&e.forEach(function(e){n.push(e.value),null!=(e=e.options)&&e.forEach(function(e){n.push("\t".concat(e.value))})}),f.value=n.join("\n"),u.modal.open({title:"".concat(t.title," - ").concat(u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption")),width:500,height:"50vh ",resize:!0,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:u.getI18n("vxe.formDesign.widgetProp.dataSource.buildOption"),onConfirm:r,slots:{default:function(){return(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-popup"},[(0,h.h)(i,{status:"primary",title:"",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.".concat(l?"batchEditSubTip":"batchEditTip"))}),(0,h.h)(o,{resize:"none",modelValue:f.value,"onUpdate:modelValue":function(e){f.value=e}})])}}})}function d(t,e,n,r,o,i,a){return(0,h.h)("div",{class:["vxe-form-design--widget-form-item-data-source-option",{"is--first":i,"is--last":a}]},[(0,h.h)("div",{class:"vxe-form-design--widget-expand-btn"},e&&o?[(0,h.h)("i",{class:n?u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,onClick:function(){v(t,r)}})]:[]),(0,h.h)("input",{class:"vxe-default-input",value:t.value,onInput:function(e){t.value=e.currentTarget.value}}),(0,h.h)(c,{status:"danger",mode:"text",icon:u.getIcon().FORM_DESIGN_WIDGET_DELETE})])}var n=u.getComponent("VxeFormItem"),c=u.getComponent("VxeButton"),o=u.getComponent("VxeTextarea"),i=u.getComponent("VxeTip"),f=(0,h.ref)(""),p=(0,h.ref)([]),m=/^(\s|\t)+/,s=function(e){return m.test(e)},g=function(){var e=a.renderParams.widget.options.options||[],n=[];e.forEach(function(e,t){e=e.options;e&&e.length&&n.push(t)}),p.value=n},v=function(e,t){p.value.includes(t)?p.value=p.value.filter(function(e){return e!==t}):p.value.push(t)};return(0,h.watch)(function(){return a.renderParams.widget},function(){g()}),(0,h.onMounted)(function(){g()}),{renderDataSourceFormItem:function(){return(0,h.h)(n,{title:u.getI18n("vxe.formDesign.widgetProp.dataSource.name"),field:"options"},{default:function(){return[(0,h.h)("div",{},[(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.addOption"),onClick:e}),(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption"),onClick:t})]),(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source"},(o=a.renderParams.widget.options.options,i=[],o&&o.forEach(function(e,t){var n=e.options,r=p.value.includes(t);n&&n.length?(i.push(d(e,!0,r,t,!0,0===t,t===o.length-1)),r&&i.push((0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-sub-option"},n.map(function(e){return d(e,!1,r,0,!1,!1,!1)})))):i.push(d(e,!0,r,t,!1,0===t,t===o.length-1))}),i))];var o,i}})}}},h=t),x;function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}}function B(){var l,a,d,n,e;return P||(P=1,Object.defineProperty(y,"__esModule",{value:!0}),y.createWidgetElSelect=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-select"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e){return(0,l.h)((0,d.getCurrComponent)("el-option"),{label:e.value,value:e.value})}):[]}})}})}}});return{getWidgetElSelectConfig:function(e){return{title:"下拉框",icon:"vxe-icon-select",options:{placeholder:"请选择",options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElSelectFormComponent:e,WidgetElSelectViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),y}var O,F={};function G(){var l,a,d,n,e;return O||(O=1,Object.defineProperty(F,"__esModule",{value:!0}),F.createWidgetElRadio=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-radio-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-radio"),{key:t,value:e.value},{default:function(){return"".concat(e.value||"")}})}):[]}})}})}}});return{getWidgetElRadioConfig:function(e){return{title:"单选框",icon:"vxe-icon-radio-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElRadioFormComponent:e,WidgetElRadioViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),F}var H,D={};function L(){var l,a,d,n,e;return H||(H=1,Object.defineProperty(D,"__esModule",{value:!0}),D.createWidgetElCheckbox=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-checkbox-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-checkbox"),{key:t,value:e.value},{default:function(){return"".concat(e.value)}})}):[]}})}})}}});return{getWidgetElCheckboxConfig:function(e){return{title:"复选框",icon:"vxe-icon-checkbox-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElCheckboxFormComponent:e,WidgetElCheckboxViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),D}var z,X,W,J,K,Q,S,j,T,k={};function Z(){var u,l;return z||(z=1,Object.defineProperty(k,"__esModule",{value:!0}),k.createWidgetElSwitch=function(a){var e=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=a.getComponent("VxeForm"),r=a.getComponent("VxeFormItem"),o=a.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,u.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,u.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(r){function o(){var e,t=r.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var i=a.getComponent("VxeFormItem");return function(){var e=r.renderParams,t=e.widget,n=e.$formView;return(0,u.h)(i,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-switch"),{modelValue:n?n.getItemValue(t):null,onChange:o,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElSwitchConfig:function(e){return{title:"是/否",icon:"vxe-icon-switch",options:{}}},WidgetElSwitchFormComponent:e,WidgetElSwitchViewComponent:t}},u=t,l=c()),k}function ee(){var I,O,F,D,W,S,j,T,k;return X||(X=1,Object.defineProperty(s,"__esModule",{value:!0}),s.defineFormDesignRender=function(e){var t=(0,O.createWidgetElInput)(e),n=t.getWidgetElInputConfig,r=t.WidgetElInputViewComponent,o=t.WidgetElInputFormComponent,t=(0,F.createWidgetElTextarea)(e),i=t.getWidgetElTextareaConfig,a=t.WidgetElTextareaViewComponent,u=t.WidgetElTextareaFormComponent,t=(0,D.createWidgetElInputNumber)(e),l=t.getWidgetElInputNumberConfig,d=t.WidgetElInputNumberViewComponent,c=t.WidgetElInputNumberFormComponent,t=(0,W.createWidgetElDatePicker)(e),f=t.getWidgetElDatePickerConfig,p=t.WidgetElDatePickerViewComponent,m=t.WidgetElDatePickerFormComponent,t=(0,S.createWidgetElSelect)(e),s=t.getWidgetElSelectConfig,g=t.WidgetElSelectViewComponent,v=t.WidgetElSelectFormComponent,t=(0,j.createWidgetElRadio)(e),h=t.getWidgetElRadioConfig,b=t.WidgetElRadioViewComponent,C=t.WidgetElRadioFormComponent,t=(0,T.createWidgetElCheckbox)(e),w=t.getWidgetElCheckboxConfig,E=t.WidgetElCheckboxViewComponent,V=t.WidgetElCheckboxFormComponent,t=(0,k.createWidgetElSwitch)(e),P=t.getWidgetElSwitchConfig,y=t.WidgetElSwitchViewComponent,x=t.WidgetElSwitchFormComponent;e.renderer.mixin({ElInputWidget:{createFormDesignWidgetConfig:n,renderFormDesignWidgetView:function(e,t){return(0,I.h)(r,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(o,{renderOpts:e,renderParams:t})}},ElTextareaWidget:{createFormDesignWidgetConfig:i,renderFormDesignWidgetView:function(e,t){return(0,I.h)(a,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(u,{renderOpts:e,renderParams:t})}},ElNumberInputWidget:{createFormDesignWidgetConfig:l,renderFormDesignWidgetView:function(e,t){return(0,I.h)(d,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(c,{renderOpts:e,renderParams:t})}},ElDatePickerWidget:{createFormDesignWidgetConfig:f,renderFormDesignWidgetView:function(e,t){return(0,I.h)(p,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(m,{renderOpts:e,renderParams:t})}},ElSelectWidget:{createFormDesignWidgetConfig:s,renderFormDesignWidgetView:function(e,t){return(0,I.h)(g,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(v,{renderOpts:e,renderParams:t})}},ElRadioWidget:{createFormDesignWidgetConfig:h,renderFormDesignWidgetView:function(e,t){return(0,I.h)(b,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(C,{renderOpts:e,renderParams:t})}},ElCheckboxWidget:{createFormDesignWidgetConfig:w,createFormDesignWidgetFieldValue:function(){return[]},renderFormDesignWidgetView:function(e,t){return(0,I.h)(E,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(V,{renderOpts:e,renderParams:t})}},ElSwitchWidget:{createFormDesignWidgetConfig:P,renderFormDesignWidgetView:function(e,t){return(0,I.h)(y,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(x,{renderOpts:e,renderParams:t})}}})},I=t,O=A(),F=q(),D=N(),W=$(),S=B(),j=G(),T=L(),k=Z()),s}function M(e,t,n){for(var r,o,i=(o=(e=e).target)&&o.shadowRoot&&e.composed&&e.composedPath()[0]||o,a=document.documentElement||document.querySelector("html");i&&i.nodeType&&i!==a;){if(n&&i.className&&i.className.split&&-1<i.className.split(" ").indexOf(n))r=i;else if(i===t)return{flag:!n||!!r,container:t,targetElem:r};i=i.parentElement}return{flag:!1}}return W||(W=1,W=r,Object.defineProperty(W,"__esModule",{value:!0}),W.default=W.VxeUIPluginRenderElement=void 0,J=Y(),K=U(),Q=ee(),S=d(),j=(T=i)&&T.__esModule?T:{default:T},T=W.VxeUIPluginRenderElement={component:function(e){var t,n;e&&e.name?(t=j.default.kebabCase(e.name),n=(n=j.default.camelCase(e.name))&&n.slice(0,1).toUpperCase()+n.slice(1),S.componentMaps[t]=e,S.componentMaps[n]=e):console.error("[@vxe-ui/plugin-render-element 4.3.0] error component.",e)},install:function(e,t){var r=Object.assign({},t);function n(e){var e=e.$event,t=document.body,n="".concat(r.prefixCls||"el").replace(/-$/,"");if(M(e,t,"".concat(n,"-autocomplete-suggestion")).flag||M(e,t,"".concat(n,"-select-dropdown")).flag||M(e,t,"".concat(n,"-cascader__dropdown")).flag||M(e,t,"".concat(n,"-cascader-menus")).flag||M(e,t,"".concat(n,"-time-panel")).flag||M(e,t,"".concat(n,"-picker-panel")).flag||M(e,t,"".concat(n,"-color-dropdown")).flag)return!1}t&&(t.ElementPlus,Object.assign(S.globalConfig,t)),e.checkVersion?e.checkVersion(e.tableVersion,4,11)||console.error("[@vxe-ui/plugin-render-element 4.3.0] ".concat(e.getI18n("vxe.error.errorVersion",["vxe-table@".concat(e.tableVersion||"?"),"vxe-table v".concat(4,".").concat(11,"+")])," https://vxeui.com/other4/#/plugin-render-element/install")):/^(4)\./.test(e.uiVersion||e.tableVersion)||console.error("[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install"),(0,J.defineTableRender)(e),(0,K.defineFormRender)(e),(0,Q.defineFormDesignRender)(e),e.interceptor.add("event.clearFilter",n),e.interceptor.add("event.clearEdit",n),e.interceptor.add("event.clearAreas",n),e.interceptor.add("event.clearActived",n)}},"undefined"!=typeof window&&(window.VxeUI&&window.VxeUI.use&&window.VxeUI.use(T),window.ElementPlus)&&(S.globalConfig.ElementPlus=window.ElementPlus),W.default=T),_(r)}); |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.globalConfig = exports.componentMaps = void 0; | ||
| var globalConfig = exports.globalConfig = {}; | ||
| var componentMaps = exports.componentMaps = {}; |
| .vxe-table.cell--highlight > .vxe-cell > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input-number__decrease, | ||
| .vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input-number__decrease, | ||
| .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input-number__decrease, | ||
| .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__inner { | ||
| border: 0; | ||
| } | ||
| .vxe-table .vxe-cell--wrapper > .el-slider .el-slider__runway, .vxe-table > .vxe-cell > .el-slider .el-slider__runway, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider .el-slider__runway, .vxe-table--filter-element-wrapper > .el-slider .el-slider__runway { | ||
| margin: 8px 0; | ||
| } | ||
| .vxe-table .vxe-cell--wrapper > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table > .vxe-cell > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table--filter-element-wrapper > .el-slider .el-slider__runway .el-slider__button-wrapper { | ||
| z-index: auto; | ||
| } | ||
| .vxe-table .vxe-cell--wrapper > .el-input, .vxe-table > .vxe-cell > .el-input, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input, .vxe-form .vxe-form--item-inner > .el-input, .vxe-form .vxe-form--item-content > .el-input, .vxe-table .vxe-cell--wrapper > .el-autocomplete, .vxe-table > .vxe-cell > .el-autocomplete, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete, .vxe-form .vxe-form--item-inner > .el-autocomplete, .vxe-form .vxe-form--item-content > .el-autocomplete, .vxe-table .vxe-cell--wrapper > .el-input-number, .vxe-table > .vxe-cell > .el-input-number, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number, .vxe-form .vxe-form--item-inner > .el-input-number, .vxe-form .vxe-form--item-content > .el-input-number, .vxe-table .vxe-cell--wrapper > .el-select, .vxe-table > .vxe-cell > .el-select, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select, .vxe-form .vxe-form--item-inner > .el-select, .vxe-form .vxe-form--item-content > .el-select, .vxe-table .vxe-cell--wrapper > .el-cascader, .vxe-table > .vxe-cell > .el-cascader, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader, .vxe-form .vxe-form--item-inner > .el-cascader, .vxe-form .vxe-form--item-content > .el-cascader, .vxe-table .vxe-cell--wrapper > .el-date-editor, .vxe-table > .vxe-cell > .el-date-editor, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-editor, .vxe-form .vxe-form--item-inner > .el-date-editor, .vxe-form .vxe-form--item-content > .el-date-editor, .vxe-table .vxe-cell--wrapper > .el-slider, .vxe-table > .vxe-cell > .el-slider, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider, .vxe-form .vxe-form--item-inner > .el-slider, .vxe-form .vxe-form--item-content > .el-slider { | ||
| width: 100%; | ||
| } | ||
| .vxe-table .vxe-cell--wrapper > .el-color-picker, .vxe-table > .vxe-cell > .el-color-picker, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-color-picker, .vxe-form .vxe-form--item-inner > .el-color-picker, .vxe-form .vxe-form--item-content > .el-color-picker { | ||
| vertical-align: middle; | ||
| } | ||
| .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-input .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-autocomplete .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-input-number .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-select .el-select__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-cascader .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-date-picker .el-input__wrapper { | ||
| box-shadow: 0 0 0 1px var(--vxe-ui-form-validate-error-color, #f56c6c) inset; | ||
| } | ||
| .vxe-table--filter-element-wrapper { | ||
| padding: 0.8em 1em; | ||
| } | ||
| .vxe-table--filter-element-wrapper > .el-input, .vxe-table--filter-element-wrapper > .el-input-number, .vxe-table--filter-element-wrapper > .el-autocomplete, .vxe-table--filter-element-wrapper > .el-select, .vxe-table--filter-element-wrapper > .el-rate, .vxe-table--filter-element-wrapper > .el-slider { | ||
| width: 180px; | ||
| } | ||
| .col--valid-error > .vxe-cell > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .el-date-picker .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-date-picker .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-picker .el-input__wrapper { | ||
| box-shadow: 0 0 0 1px var(--vxe-ui-table-validate-error-color, #f56c6c) inset; | ||
| } | ||
| .vxe-table.cell--highlight > .vxe-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__inner { | ||
| padding: 0; | ||
| } |
| .vxe-table.cell--highlight>.vxe-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-input__inner{border:0}.vxe-table .vxe-cell--wrapper>.el-slider .el-slider__runway,.vxe-table--filter-element-wrapper>.el-slider .el-slider__runway,.vxe-table>.vxe-cell>.el-slider .el-slider__runway,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider .el-slider__runway{margin:8px 0}.vxe-table .vxe-cell--wrapper>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table--filter-element-wrapper>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table>.vxe-cell>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider .el-slider__runway .el-slider__button-wrapper{z-index:auto}.vxe-form .vxe-form--item-content>.el-autocomplete,.vxe-form .vxe-form--item-content>.el-cascader,.vxe-form .vxe-form--item-content>.el-date-editor,.vxe-form .vxe-form--item-content>.el-input,.vxe-form .vxe-form--item-content>.el-input-number,.vxe-form .vxe-form--item-content>.el-select,.vxe-form .vxe-form--item-content>.el-slider,.vxe-form .vxe-form--item-inner>.el-autocomplete,.vxe-form .vxe-form--item-inner>.el-cascader,.vxe-form .vxe-form--item-inner>.el-date-editor,.vxe-form .vxe-form--item-inner>.el-input,.vxe-form .vxe-form--item-inner>.el-input-number,.vxe-form .vxe-form--item-inner>.el-select,.vxe-form .vxe-form--item-inner>.el-slider,.vxe-table .vxe-cell--wrapper>.el-autocomplete,.vxe-table .vxe-cell--wrapper>.el-cascader,.vxe-table .vxe-cell--wrapper>.el-date-editor,.vxe-table .vxe-cell--wrapper>.el-input,.vxe-table .vxe-cell--wrapper>.el-input-number,.vxe-table .vxe-cell--wrapper>.el-select,.vxe-table .vxe-cell--wrapper>.el-slider,.vxe-table>.vxe-cell>.el-autocomplete,.vxe-table>.vxe-cell>.el-cascader,.vxe-table>.vxe-cell>.el-date-editor,.vxe-table>.vxe-cell>.el-input,.vxe-table>.vxe-cell>.el-input-number,.vxe-table>.vxe-cell>.el-select,.vxe-table>.vxe-cell>.el-slider,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-editor,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider{width:100%}.vxe-form .vxe-form--item-content>.el-color-picker,.vxe-form .vxe-form--item-inner>.el-color-picker,.vxe-table .vxe-cell--wrapper>.el-color-picker,.vxe-table>.vxe-cell>.el-color-picker,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-color-picker{vertical-align:middle}.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-autocomplete .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-cascader .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-date-picker .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-input .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-input-number .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-select .el-select__wrapper{box-shadow:0 0 0 1px var(--vxe-ui-form-validate-error-color,#f56c6c) inset}.vxe-table--filter-element-wrapper{padding:.8em 1em}.vxe-table--filter-element-wrapper>.el-autocomplete,.vxe-table--filter-element-wrapper>.el-input,.vxe-table--filter-element-wrapper>.el-input-number,.vxe-table--filter-element-wrapper>.el-rate,.vxe-table--filter-element-wrapper>.el-select,.vxe-table--filter-element-wrapper>.el-slider{width:180px}.col--valid-error>.vxe-cell>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.el-select .el-select__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-select .el-select__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-select__wrapper{box-shadow:0 0 0 1px var(--vxe-ui-table-validate-error-color,#f56c6c) inset}.vxe-table.cell--highlight>.vxe-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-input__inner{padding:0} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.defineTableRender = defineTableRender; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| var _dayjs = _interopRequireDefault(require("dayjs")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } | ||
| function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } | ||
| function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } | ||
| function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } | ||
| function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } | ||
| function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } | ||
| /** | ||
| * 表格 - 渲染器 | ||
| */ | ||
| function defineTableRender(VxeUI) { | ||
| function isEmptyValue(cellValue) { | ||
| return cellValue === null || cellValue === undefined || cellValue === ''; | ||
| } | ||
| function getOnName(type) { | ||
| return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1); | ||
| } | ||
| function getModelProp(renderOpts) { | ||
| return 'modelValue'; | ||
| } | ||
| function getModelEvent(renderOpts) { | ||
| return 'update:modelValue'; | ||
| } | ||
| function getChangeEvent(renderOpts) { | ||
| var type = 'change'; | ||
| switch (renderOpts.name) { | ||
| case 'ElAutocomplete': | ||
| type = 'select'; | ||
| break; | ||
| case 'ElInput': | ||
| case 'ElInputNumber': | ||
| type = 'input'; | ||
| break; | ||
| } | ||
| return type; | ||
| } | ||
| function toDayStringDate(value, format) { | ||
| return (0, _dayjs["default"])(value, format).toDate(); | ||
| } | ||
| function toDayDateString(date, format) { | ||
| return (0, _dayjs["default"])(date).format(format); | ||
| } | ||
| function parseDate(value, props) { | ||
| return value && props.valueFormat ? toDayStringDate(value, props.valueFormat) : value; | ||
| } | ||
| function getFormatDate(value, props, defaultFormat) { | ||
| return value ? toDayDateString(parseDate(value, props), props.format || props.valueFormat || defaultFormat) : value; | ||
| } | ||
| function getFormatDates(values, props, separator, defaultFormat) { | ||
| return _xeUtils["default"].map(values, function (date) { | ||
| return getFormatDate(date, props, defaultFormat); | ||
| }).join(separator); | ||
| } | ||
| function equalDateRange(cellValue, data, props, defaultFormat) { | ||
| cellValue = getFormatDate(cellValue, props, defaultFormat); | ||
| return cellValue >= getFormatDate(data[0], props, defaultFormat) && cellValue <= getFormatDate(data[1], props, defaultFormat); | ||
| } | ||
| function getCellEditFilterProps(renderOpts, params, value, defaultProps) { | ||
| return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value)); | ||
| } | ||
| function formatText(cellValue) { | ||
| return '' + (isEmptyValue(cellValue) ? '' : cellValue); | ||
| } | ||
| function updateFilterChangeOption(params, checked, option) { | ||
| var $table = params.$table; | ||
| $table.updateFilterOptionStatus(option, checked); | ||
| } | ||
| function saveFilterEvent(params) { | ||
| var $table = params.$table, | ||
| column = params.column; | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| } | ||
| function getCellLabelVNs(renderOpts, params, cellLabel) { | ||
| var placeholder = renderOpts.placeholder; | ||
| return [(0, _vue.h)('span', { | ||
| "class": 'vxe-cell--label' | ||
| }, placeholder && isEmptyValue(cellLabel) ? [(0, _vue.h)('span', { | ||
| "class": 'vxe-cell--placeholder' | ||
| }, formatText(VxeUI.getI18n(placeholder)))] : formatText(cellLabel))]; | ||
| } | ||
| var blurEvent = 'blur'; | ||
| var clearEvent = 'clear'; | ||
| /** | ||
| * 组件事件处理 | ||
| * @param renderOpts | ||
| * @param params | ||
| * @param modelFunc | ||
| * @param changeFunc | ||
| */ | ||
| function getComponentOns(renderOpts, params, eFns, eventOns) { | ||
| var events = renderOpts.events; | ||
| var modelEvent = getModelEvent(renderOpts); | ||
| var changeEvent = getChangeEvent(renderOpts); | ||
| var _ref = eFns || {}, | ||
| modelFunc = _ref.model, | ||
| changeFunc = _ref.change, | ||
| blurFunc = _ref.blur, | ||
| clearFunc = _ref.clear; | ||
| var ons = {}; | ||
| _xeUtils["default"].objectEach(events, function (func, key) { | ||
| ons[getOnName(key)] = function () { | ||
| if (!_xeUtils["default"].isFunction(func)) { | ||
| console.error("Parameter \"".concat(func, "\" is not a method")); | ||
| } | ||
| for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
| args[_key] = arguments[_key]; | ||
| } | ||
| func.apply(void 0, [params].concat(args)); | ||
| }; | ||
| }); | ||
| if (modelFunc) { | ||
| ons[getOnName(modelEvent)] = function (targetEvnt) { | ||
| modelFunc(targetEvnt); | ||
| if (events && events[modelEvent]) { | ||
| events[modelEvent](params, targetEvnt); | ||
| } | ||
| }; | ||
| } | ||
| if (changeFunc) { | ||
| ons[getOnName(changeEvent)] = function () { | ||
| for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
| args[_key2] = arguments[_key2]; | ||
| } | ||
| changeFunc.apply(void 0, args); | ||
| if (events && events[changeEvent]) { | ||
| events[changeEvent].apply(events, [params].concat(args)); | ||
| } | ||
| }; | ||
| } | ||
| if (blurFunc) { | ||
| ons[getOnName(blurEvent)] = function () { | ||
| for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
| args[_key3] = arguments[_key3]; | ||
| } | ||
| blurFunc.apply(void 0, args); | ||
| if (events && events[blurEvent]) { | ||
| events[blurEvent].apply(events, [params].concat(args)); | ||
| } | ||
| }; | ||
| } | ||
| if (clearFunc) { | ||
| ons[getOnName(clearEvent)] = function () { | ||
| for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { | ||
| args[_key4] = arguments[_key4]; | ||
| } | ||
| clearFunc.apply(void 0, args); | ||
| if (events && events[clearEvent]) { | ||
| events[clearEvent].apply(events, [params].concat(args)); | ||
| } | ||
| }; | ||
| } | ||
| return eventOns ? Object.assign(ons, eventOns) : ons; | ||
| } | ||
| function getEditOns(renderOpts, params) { | ||
| var $table = params.$table, | ||
| row = params.row, | ||
| column = params.column; | ||
| return getComponentOns(renderOpts, params, { | ||
| model: function model(value) { | ||
| // 处理 model 值双向绑定 | ||
| _xeUtils["default"].set(row, column.field, value); | ||
| }, | ||
| change: function change() { | ||
| // 处理 change 事件相关逻辑 | ||
| $table.updateStatus(params); | ||
| } | ||
| }); | ||
| } | ||
| function getFilterOns(renderOpts, params, option, changeFunc) { | ||
| return getComponentOns(renderOpts, params, { | ||
| model: function model(value) { | ||
| // 处理 model 值双向绑定 | ||
| option.data = value; | ||
| }, | ||
| change: changeFunc | ||
| }); | ||
| } | ||
| function getFloatingFilterOns(renderOpts, params, option) { | ||
| var $table = params.$table, | ||
| column = params.column; | ||
| if ((0, _comp.hasInputType)(renderOpts)) { | ||
| return getComponentOns(renderOpts, params, { | ||
| model: function model(value) { | ||
| // 处理 model 值双向绑定 | ||
| option.data = value; | ||
| }, | ||
| change: function change() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| }, | ||
| clear: function clear() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| saveFilterEvent(params); | ||
| }, | ||
| blur: function blur() { | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| } | ||
| }); | ||
| } | ||
| return getComponentOns(renderOpts, params, { | ||
| model: function model(value) { | ||
| // 处理 model 值双向绑定 | ||
| option.data = value; | ||
| }, | ||
| clear: function clear() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| }, | ||
| change: function change() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| } | ||
| }); | ||
| } | ||
| function matchCascaderData(index, list, values, labels) { | ||
| var val = values[index]; | ||
| if (list && values.length > index) { | ||
| _xeUtils["default"].each(list, function (item) { | ||
| if (item.value === val) { | ||
| labels.push(item.label); | ||
| matchCascaderData(++index, item.children, values, labels); | ||
| } | ||
| }); | ||
| } | ||
| } | ||
| function getSelectCellValue(renderOpts, params) { | ||
| var _renderOpts$options = renderOpts.options, | ||
| options = _renderOpts$options === void 0 ? [] : _renderOpts$options, | ||
| optionGroups = renderOpts.optionGroups, | ||
| _renderOpts$props = renderOpts.props, | ||
| props = _renderOpts$props === void 0 ? {} : _renderOpts$props, | ||
| _renderOpts$optionPro = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro, | ||
| _renderOpts$optionGro = renderOpts.optionGroupProps, | ||
| optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro; | ||
| var $table = params.$table, | ||
| rowid = params.rowid, | ||
| row = params.row, | ||
| column = params.column; | ||
| var filterable = props.filterable, | ||
| multiple = props.multiple; | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| var groupOptions = optionGroupProps.options || 'options'; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| var colid = column.id; | ||
| var cellData; | ||
| if (filterable) { | ||
| var internalData = $table.internalData; | ||
| var fullAllDataRowIdData = internalData.fullAllDataRowIdData; | ||
| var rest = fullAllDataRowIdData[rowid]; | ||
| if (rest) { | ||
| cellData = rest.cellData; | ||
| if (!cellData) { | ||
| cellData = rest.cellData = {}; | ||
| } | ||
| } | ||
| if (rest && cellData[colid] && cellData[colid].value === cellValue) { | ||
| return cellData[colid].label; | ||
| } | ||
| } | ||
| if (!isEmptyValue(cellValue)) { | ||
| var selectlabel = _xeUtils["default"].map(multiple ? cellValue : [cellValue], optionGroups ? function (value) { | ||
| var selectItem; | ||
| for (var index = 0; index < optionGroups.length; index++) { | ||
| selectItem = _xeUtils["default"].find(optionGroups[index][groupOptions], function (item) { | ||
| return item[valueProp] === value; | ||
| }); | ||
| if (selectItem) { | ||
| break; | ||
| } | ||
| } | ||
| return selectItem ? selectItem[labelProp] : value; | ||
| } : function (value) { | ||
| var selectItem = _xeUtils["default"].find(options, function (item) { | ||
| return item[valueProp] === value; | ||
| }); | ||
| return selectItem ? selectItem[labelProp] : value; | ||
| }).join(', '); | ||
| if (cellData && options && options.length) { | ||
| cellData[colid] = { | ||
| value: cellValue, | ||
| label: selectlabel | ||
| }; | ||
| } | ||
| return selectlabel; | ||
| } | ||
| return ''; | ||
| } | ||
| function getCascaderCellValue(renderOpts, params) { | ||
| var _renderOpts$props2 = renderOpts.props, | ||
| props = _renderOpts$props2 === void 0 ? {} : _renderOpts$props2; | ||
| var row = params.row, | ||
| column = params.column; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| var values = cellValue || []; | ||
| var labels = []; | ||
| matchCascaderData(0, props.options, values, labels); | ||
| return (props.showAllLevels === false ? labels.slice(labels.length - 1, labels.length) : labels).join(" ".concat(props.separator || '/', " ")); | ||
| } | ||
| function getDatePickerCellValue(renderOpts, params) { | ||
| var _renderOpts$props3 = renderOpts.props, | ||
| props = _renderOpts$props3 === void 0 ? {} : _renderOpts$props3; | ||
| var row = params.row, | ||
| column = params.column; | ||
| var _props$rangeSeparator = props.rangeSeparator, | ||
| rangeSeparator = _props$rangeSeparator === void 0 ? '-' : _props$rangeSeparator; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| switch (props.type) { | ||
| case 'week': | ||
| cellValue = getFormatDate(cellValue, props, 'YYYYwWW'); | ||
| break; | ||
| case 'month': | ||
| cellValue = getFormatDate(cellValue, props, 'YYYY-MM'); | ||
| break; | ||
| case 'year': | ||
| cellValue = getFormatDate(cellValue, props, 'YYYY'); | ||
| break; | ||
| case 'dates': | ||
| cellValue = getFormatDates(cellValue, props, ', ', 'YYYY-MM-DD'); | ||
| break; | ||
| case 'daterange': | ||
| cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM-DD'); | ||
| break; | ||
| case 'datetimerange': | ||
| cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM-DD HH:ss:mm'); | ||
| break; | ||
| case 'monthrange': | ||
| cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM'); | ||
| break; | ||
| default: | ||
| cellValue = getFormatDate(cellValue, props, 'YYYY-MM-DD'); | ||
| } | ||
| return cellValue; | ||
| } | ||
| function getTimePickerCellValue(renderOpts, params) { | ||
| var _renderOpts$props4 = renderOpts.props, | ||
| props = _renderOpts$props4 === void 0 ? {} : _renderOpts$props4; | ||
| var row = params.row, | ||
| column = params.column; | ||
| var isRange = props.isRange, | ||
| _props$format = props.format, | ||
| format = _props$format === void 0 ? 'HH:mm:ss' : _props$format, | ||
| _props$rangeSeparator2 = props.rangeSeparator, | ||
| rangeSeparator = _props$rangeSeparator2 === void 0 ? '-' : _props$rangeSeparator2; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| if (cellValue && isRange) { | ||
| cellValue = _xeUtils["default"].map(cellValue, function (date) { | ||
| return toDayDateString(parseDate(date, props), format); | ||
| }).join(" ".concat(rangeSeparator, " ")); | ||
| } | ||
| return toDayDateString(parseDate(cellValue, props), format); | ||
| } | ||
| function createEditRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| var row = params.row, | ||
| column = params.column; | ||
| var name = renderOpts.name, | ||
| attrs = renderOpts.attrs, | ||
| props = renderOpts.props; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, cellValue, defaultProps)), getEditOns(renderOpts, params)))]; | ||
| }; | ||
| } | ||
| function defaultButtonEditRender(renderOpts, params) { | ||
| var attrs = renderOpts.attrs, | ||
| props = renderOpts.props; | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-button'), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, null)), getComponentOns(renderOpts, params)), cellText(renderOpts.content))]; | ||
| } | ||
| function defaultButtonsEditRender(renderOpts, params) { | ||
| var children = renderOpts.children; | ||
| if (children) { | ||
| return children.map(function (childRenderOpts) { | ||
| return defaultButtonEditRender(childRenderOpts, params)[0]; | ||
| }); | ||
| } | ||
| return []; | ||
| } | ||
| function createFilterRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| var column = params.column; | ||
| var name = renderOpts.name, | ||
| attrs = renderOpts.attrs, | ||
| props = renderOpts.props; | ||
| return [(0, _vue.h)('div', { | ||
| "class": 'vxe-table--filter-element-wrapper' | ||
| }, column.filters.map(function (option, oIndex) { | ||
| var optionValue = option.data; | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({ | ||
| key: oIndex | ||
| }, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFilterOns(renderOpts, params, option, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, !!option.data, option); | ||
| }))); | ||
| }))]; | ||
| }; | ||
| } | ||
| function createFloatingFilterRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| var option = params.option; | ||
| var name = renderOpts.name, | ||
| attrs = renderOpts.attrs, | ||
| props = renderOpts.props; | ||
| var optionValue = option.data; | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFloatingFilterOns(renderOpts, params, option)))]; | ||
| }; | ||
| } | ||
| function handleConfirmFilter(params, checked, option) { | ||
| var $panel = params.$panel; | ||
| $panel.changeOption(null, checked, option); | ||
| } | ||
| /** | ||
| * 模糊匹配 | ||
| * @param params | ||
| */ | ||
| function defaultFuzzyFilterMethod(params) { | ||
| var option = params.option, | ||
| row = params.row, | ||
| column = params.column; | ||
| var data = option.data; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| return _xeUtils["default"].toValueString(cellValue).indexOf(data) > -1; | ||
| } | ||
| /** | ||
| * 精确匹配 | ||
| * @param params | ||
| */ | ||
| function defaultExactFilterMethod(params) { | ||
| var option = params.option, | ||
| row = params.row, | ||
| column = params.column; | ||
| var data = option.data; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| /* eslint-disable eqeqeq */ | ||
| return cellValue === data; | ||
| } | ||
| function renderOptions(options, optionProps) { | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| return _xeUtils["default"].map(options, function (item, oIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), { | ||
| key: oIndex, | ||
| value: item[valueProp], | ||
| label: item[labelProp], | ||
| disabled: item.disabled | ||
| }); | ||
| }); | ||
| } | ||
| function cellText(cellValue) { | ||
| return [formatText(cellValue)]; | ||
| } | ||
| function createExportMethod(getExportCellValue) { | ||
| return function (params) { | ||
| var row = params.row, | ||
| column = params.column, | ||
| options = params.options; | ||
| return options && options.original ? _xeUtils["default"].get(row, column.field) : getExportCellValue(column.editRender || column.cellRender, params); | ||
| }; | ||
| } | ||
| function defaultFilterOptions() { | ||
| return [{ | ||
| data: null | ||
| }]; | ||
| } | ||
| VxeUI.renderer.mixin({ | ||
| ElAutocomplete: { | ||
| tableAutoFocus: 'input', | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElInput: { | ||
| tableAutoFocus: 'input', | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| renderTableFloatingFilter: createFloatingFilterRender(), | ||
| tableFilterDefaultMethod: defaultFuzzyFilterMethod | ||
| }, | ||
| ElInputNumber: { | ||
| tableAutoFocus: 'input', | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| renderTableFloatingFilter: createFloatingFilterRender(), | ||
| tableFilterDefaultMethod: defaultFuzzyFilterMethod | ||
| }, | ||
| ElSelect: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: function renderTableEdit(renderOpts, params) { | ||
| var _renderOpts$options2 = renderOpts.options, | ||
| options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2, | ||
| optionGroups = renderOpts.optionGroups, | ||
| _renderOpts$optionPro2 = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2, | ||
| _renderOpts$optionGro2 = renderOpts.optionGroupProps, | ||
| optionGroupProps = _renderOpts$optionGro2 === void 0 ? {} : _renderOpts$optionGro2; | ||
| var row = params.row, | ||
| column = params.column; | ||
| var attrs = renderOpts.attrs; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| var props = getCellEditFilterProps(renderOpts, params, cellValue); | ||
| var ons = getEditOns(renderOpts, params); | ||
| if (optionGroups) { | ||
| var groupOptions = optionGroupProps.options || 'options'; | ||
| var groupLabel = optionGroupProps.label || 'label'; | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), { | ||
| "default": function _default() { | ||
| return _xeUtils["default"].map(optionGroups, function (group, gIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), { | ||
| key: gIndex, | ||
| label: group[groupLabel] | ||
| }, { | ||
| "default": function _default() { | ||
| return renderOptions(group[groupOptions], optionProps); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, props), attrs), ons), { | ||
| "default": function _default() { | ||
| return renderOptions(options, optionProps); | ||
| } | ||
| })]; | ||
| }, | ||
| renderTableCell: function renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params)); | ||
| }, | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: function renderTableFilter(renderOpts, params) { | ||
| var _renderOpts$options3 = renderOpts.options, | ||
| options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3, | ||
| optionGroups = renderOpts.optionGroups, | ||
| _renderOpts$optionPro3 = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3, | ||
| _renderOpts$optionGro3 = renderOpts.optionGroupProps, | ||
| optionGroupProps = _renderOpts$optionGro3 === void 0 ? {} : _renderOpts$optionGro3; | ||
| var groupOptions = optionGroupProps.options || 'options'; | ||
| var groupLabel = optionGroupProps.label || 'label'; | ||
| var column = params.column; | ||
| var attrs = renderOpts.attrs; | ||
| return [(0, _vue.h)('div', { | ||
| "class": 'vxe-table--filter-element-wrapper' | ||
| }, optionGroups ? column.filters.map(function (option, oIndex) { | ||
| var optionValue = option.data; | ||
| var props = getCellEditFilterProps(renderOpts, params, optionValue); | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({ | ||
| key: oIndex | ||
| }, attrs), props), getFilterOns(renderOpts, params, option, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, props.multiple ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option); | ||
| })), { | ||
| "default": function _default() { | ||
| return _xeUtils["default"].map(optionGroups, function (group, gIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), { | ||
| key: gIndex, | ||
| label: group[groupLabel] | ||
| }, { | ||
| "default": function _default() { | ||
| return renderOptions(group[groupOptions], optionProps); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| }); | ||
| }) : column.filters.map(function (option, oIndex) { | ||
| var optionValue = option.data; | ||
| var props = getCellEditFilterProps(renderOpts, params, optionValue); | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({ | ||
| key: oIndex | ||
| }, attrs), props), getFilterOns(renderOpts, params, option, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, props.multiple ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option); | ||
| })), { | ||
| "default": function _default() { | ||
| return renderOptions(options, optionProps); | ||
| } | ||
| }); | ||
| }))]; | ||
| }, | ||
| tableFilterDefaultMethod: function tableFilterDefaultMethod(params) { | ||
| var option = params.option, | ||
| row = params.row, | ||
| column = params.column; | ||
| var data = option.data; | ||
| var field = column.field, | ||
| renderOpts = column.filterRender; | ||
| var _renderOpts$props5 = renderOpts.props, | ||
| props = _renderOpts$props5 === void 0 ? {} : _renderOpts$props5; | ||
| var cellValue = _xeUtils["default"].get(row, field); | ||
| if (props.multiple) { | ||
| if (_xeUtils["default"].isArray(cellValue)) { | ||
| return _xeUtils["default"].includeArrays(cellValue, data); | ||
| } | ||
| return data.indexOf(cellValue) > -1; | ||
| } | ||
| /* eslint-disable eqeqeq */ | ||
| return cellValue == data; | ||
| }, | ||
| tableExportMethod: createExportMethod(getSelectCellValue) | ||
| }, | ||
| ElCascader: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender(), | ||
| renderTableCell: function renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getCascaderCellValue(renderOpts, params)); | ||
| }, | ||
| tableExportMethod: createExportMethod(getCascaderCellValue) | ||
| }, | ||
| ElDatePicker: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender(), | ||
| renderTableCell: function renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getDatePickerCellValue(renderOpts, params)); | ||
| }, | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: function renderTableFilter(renderOpts, params) { | ||
| var column = params.column; | ||
| var name = renderOpts.name, | ||
| attrs = renderOpts.attrs; | ||
| return [(0, _vue.h)('div', { | ||
| "class": 'vxe-table--filter-element-wrapper' | ||
| }, column.filters.map(function (option, oIndex) { | ||
| var optionValue = option.data; | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({ | ||
| key: oIndex | ||
| }, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, !!option.data, option); | ||
| }))); | ||
| }))]; | ||
| }, | ||
| renderTableFloatingFilter: createFloatingFilterRender(), | ||
| tableFilterDefaultMethod: function tableFilterDefaultMethod(params) { | ||
| var option = params.option, | ||
| row = params.row, | ||
| column = params.column; | ||
| var data = option.data; | ||
| var renderOpts = column.filterRender; | ||
| var _renderOpts$props6 = renderOpts.props, | ||
| props = _renderOpts$props6 === void 0 ? {} : _renderOpts$props6; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| if (data) { | ||
| switch (props.type) { | ||
| case 'daterange': | ||
| return equalDateRange(cellValue, data, props, 'YYYY-MM-DD'); | ||
| case 'datetimerange': | ||
| return equalDateRange(cellValue, data, props, 'YYYY-MM-DD HH:ss:mm'); | ||
| case 'monthrange': | ||
| return equalDateRange(cellValue, data, props, 'YYYY-MM'); | ||
| default: | ||
| return cellValue === data; | ||
| } | ||
| } | ||
| return false; | ||
| }, | ||
| tableExportMethod: createExportMethod(getDatePickerCellValue) | ||
| }, | ||
| ElTimePicker: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender(), | ||
| renderTableCell: function renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getTimePickerCellValue(renderOpts, params)); | ||
| }, | ||
| tableExportMethod: createExportMethod(getTimePickerCellValue) | ||
| }, | ||
| ElTimeSelect: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender() | ||
| }, | ||
| ElRate: { | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElSwitch: { | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| renderTableFilter: function renderTableFilter(renderOpts, params) { | ||
| var column = params.column; | ||
| var name = renderOpts.name, | ||
| attrs = renderOpts.attrs; | ||
| return [(0, _vue.h)('div', { | ||
| "class": 'vxe-table--filter-element-wrapper' | ||
| }, column.filters.map(function (option, oIndex) { | ||
| var optionValue = option.data; | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({ | ||
| key: oIndex | ||
| }, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, _xeUtils["default"].isBoolean(option.data), option); | ||
| }))); | ||
| }))]; | ||
| }, | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElSlider: { | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElButton: { | ||
| renderTableDefault: defaultButtonEditRender | ||
| }, | ||
| ElButtons: { | ||
| renderTableDefault: defaultButtonsEditRender | ||
| } | ||
| }); | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.getCurrComponent = getCurrComponent; | ||
| exports.hasInputType = hasInputType; | ||
| var _vue = require("vue"); | ||
| var _store = require("../store"); | ||
| function getCurrComponent(name) { | ||
| var comp = _store.componentMaps[name] || (_store.globalConfig.ElementPlus ? _store.globalConfig.ElementPlus[name] : null); | ||
| if (comp) { | ||
| return comp; | ||
| } | ||
| return (0, _vue.resolveComponent)(name); | ||
| } | ||
| function hasInputType(renderOpts) { | ||
| switch (renderOpts.name) { | ||
| case 'ElInput': | ||
| case 'ElInputNumber': | ||
| case 'ElTextarea': | ||
| return true; | ||
| } | ||
| return false; | ||
| } |
@@ -1,1 +0,1 @@ | ||
| ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("xe-utils"),require("dayjs")):"function"==typeof define&&define.amd?define(["vue","xe-utils","dayjs"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VxeUIPluginRenderElement=t(e.Vue,e.XEUtils,e.dayjs)})(this,function(t,i,R){function _(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var e,o,n,r={},a={},u={},l={};function d(){return e||(e=1,Object.defineProperty(l,"__esModule",{value:!0}),l.globalConfig=l.componentMaps=void 0,l.globalConfig={},l.componentMaps={}),l}function c(){var n,r;return o||(o=1,Object.defineProperty(u,"__esModule",{value:!0}),u.getCurrComponent=function(e){var t=r.componentMaps[e]||(r.globalConfig.ElementPlus?r.globalConfig.ElementPlus[e]:null);if(t)return t;return(0,n.resolveComponent)(e)},u.hasInputType=function(e){switch(e.name){case"ElInput":case"ElInputNumber":case"ElTextarea":return!0}return!1},n=t,r=d()),u}function Y(){var j,T,k,M;return n||(n=1,Object.defineProperty(a,"__esModule",{value:!0}),a.defineTableRender=function(r){function s(e){return null==e||""===e}function f(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function a(e,t){return(0,M.default)(e).format(t)}function u(e,t){return e&&t.valueFormat?(t=t.valueFormat,(0,M.default)(e,t).toDate()):e}function l(e,t,n){return e&&a(u(e,t),t.format||t.valueFormat||n)}function d(e,t,n,r){return k.default.map(e,function(e){return l(e,t,r)}).join(n)}function c(e,t,n,r){return(e=l(e,n,r))>=l(t[0],n,r)&&e<=l(t[1],n,r)}function p(e,t,n,r){return k.default.assign({},r,e.props,Y({},"modelValue",n))}function o(e){return""+(s(e)?"":e)}function i(e,t,n){e.$table.updateFilterOptionStatus(n,t)}function n(e,t,n){e=e.placeholder;return[(0,j.h)("span",{class:"vxe-cell--label"},e&&s(n)?[(0,j.h)("span",{class:"vxe-cell--placeholder"},o(r.getI18n(e)))]:o(n))]}var m="blur",g="clear";function v(e,o,t){var r=e.events,n="update:modelValue",i=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),e=t||{},a=e.model,u=e.change,l=e.blur,d=e.clear,c={};return k.default.objectEach(r,function(r,e){c[f(e)]=function(){k.default.isFunction(r)||console.error('Parameter "'.concat(r,'" is not a method'));for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),a&&(c[f(n)]=function(e){a(e),r&&r[n]&&r[n](o,e)}),u&&(c[f(i)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];u.apply(void 0,t),r&&r[i]&&r[i].apply(r,[o].concat(t))}),l&&(c[f(m)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];l.apply(void 0,t),r&&r[m]&&r[m].apply(r,[o].concat(t))}),d&&(c[f(g)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];d.apply(void 0,t),r&&r[g]&&r[g].apply(r,[o].concat(t))}),c}function h(e,t){var n=t.$table,r=t.row,o=t.column;return v(e,t,{model:function(e){k.default.set(r,o.field,e)},change:function(){n.updateStatus(t)}})}function b(e,t,n,r){return v(e,t,{model:function(e){n.data=e},change:r})}function C(e,n,r){var t=n.$table,o=n.column;return(0,T.hasInputType)(e)?v(e,n,{model:function(e){r.data=e},change:function(){i(n,!s(r.data),r)},clear:function(){var e,t;i(n,!s(r.data),r),t=(e=n).$table,e=n.column,t.saveFilterByEvent(new Event("change"),e)},blur:function(){t.saveFilterByEvent(new Event("change"),o)}}):v(e,n,{model:function(e){r.data=e},clear:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)},change:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)}})}function w(e,t){var n,r=e.options,o=void 0===r?[]:r,i=e.optionGroups,r=e.props,r=void 0===r?{}:r,a=e.optionProps,a=void 0===a?{}:a,e=e.optionGroupProps,u=t.$table,l=t.rowid,d=t.column,c=r.filterable,r=r.multiple,f=a.label||"label",p=a.value||"value",m=(void 0===e?{}:e).options||"options",a=k.default.get(t.row,d.field),e=d.id;if(c){t=u.internalData.fullAllDataRowIdData[l];if(t&&(n=(n=t.cellData)||(t.cellData={})),t&&n[e]&&n[e].value===a)return n[e].label}return s(a)?"":(d=k.default.map(r?a:[a],i?function(t){for(var e,n=0;n<i.length&&!(e=k.default.find(i[n][m],function(e){return e[p]===t}));n++);return e?e[f]:t}:function(t){var e=k.default.find(o,function(e){return e[p]===t});return e?e[f]:t}).join(", "),n&&o&&o.length&&(n[e]={value:a,label:d}),d)}function E(e,t){var e=e.props,e=void 0===e?{}:e,n=t.row,n=k.default.get(n,t.column.field),t=[];return function t(n,e,r,o){var i=r[n];e&&r.length>n&&k.default.each(e,function(e){e.value===i&&(o.push(e.label),t(++n,e.children,r,o))})}(0,e.options,n||[],t),(!1===e.showAllLevels?t.slice(t.length-1,t.length):t).join(" ".concat(e.separator||"/"," "))}function V(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.rangeSeparator,o=void 0===r?"-":r,i=k.default.get(e,t.column.field);switch(n.type){case"week":i=l(i,n,"YYYYwWW");break;case"month":i=l(i,n,"YYYY-MM");break;case"year":i=l(i,n,"YYYY");break;case"dates":i=d(i,n,", ","YYYY-MM-DD");break;case"daterange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD");break;case"datetimerange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD HH:ss:mm");break;case"monthrange":i=d(i,n," ".concat(o," "),"YYYY-MM");break;default:i=l(i,n,"YYYY-MM-DD")}return i}function P(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.isRange,o=n.format,i=void 0===o?"HH:mm:ss":o,o=n.rangeSeparator,o=void 0===o?"-":o,e=k.default.get(e,t.column.field);return e&&r&&(e=k.default.map(e,function(e){return a(u(e,n),i)}).join(" ".concat(o," "))),a(u(e,n),i)}function e(a){return function(e,t){var n=t.row,r=e.name,o=e.attrs,i=e.props,n=k.default.get(n,t.column.field);return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,n,a)),h(e,t)))]}}function y(e,t){var n=e.attrs,r=e.props;return[(0,j.h)((0,T.getCurrComponent)("el-button"),_(_(_(_({},n),r),p(e,0,null)),v(e,t)),[o(e.content)])]}function t(l){return function(r,o){var e=o.column,i=r.name,a=r.attrs,u=r.props;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_(_({key:t},a),u),p(r,0,n,l)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]}}function x(u){return function(e,t){var n=t.option,r=e.name,o=e.attrs,i=e.props,a=n.data;return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,a,u)),C(e,t,n)))]}}function I(e,t,n){e.$panel.changeOption(null,t,n)}function O(e){var t=e.option.data,e=k.default.get(e.row,e.column.field);return-1<k.default.toValueString(e).indexOf(t)}function F(e){var t=e.option.data;return k.default.get(e.row,e.column.field)===t}function D(e,t){var n=t.label||"label",r=t.value||"value";return k.default.map(e,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function W(o){return function(e){var t=e.row,n=e.column,r=e.options;return r&&r.original?k.default.get(t,n.field):o(n.editRender||n.cellRender,e)}}function S(){return[{data:null}]}r.renderer.mixin({ElAutocomplete:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElInput:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElInputNumber:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElSelect:{tableAutoFocus:"input",renderTableEdit:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.row,d=e.attrs,l=p(e,0,k.default.get(l,t.column.field)),e=h(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},d),l),e),{default:function(){return k.default.map(a,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[r]},{default:function(){return D(e[n],u)}})})}})]):[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},l),d),e),{default:function(){return D(i,u)}})]},renderTableCell:function(e,t){return n(e,0,w(e,t))},createTableFilterOptions:S,renderTableFilter:function(o,i){var e=o.options,a=void 0===e?[]:e,u=o.optionGroups,e=o.optionProps,l=void 0===e?{}:e,e=o.optionGroupProps,e=void 0===e?{}:e,d=e.options||"options",c=e.label||"label",e=i.column,f=o.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},u?e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return k.default.map(u,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[c]},{default:function(){return D(e[d],l)}})})}})}):e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return D(a,l)}})}))]},tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,t=t.data,r=n.field,n=n.filterRender.props,n=void 0===n?{}:n,e=k.default.get(e.row,r);return n.multiple?k.default.isArray(e)?k.default.includeArrays(e,t):-1<t.indexOf(e):e==t},tableExportMethod:W(w)},ElCascader:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,E(e,t))},tableExportMethod:W(E)},ElDatePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,V(e,t))},createTableFilterOptions:S,renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]},renderTableFloatingFilter:x(),tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,r=t.data,t=n.filterRender.props,o=void 0===t?{}:t,i=k.default.get(e.row,n.field);if(r)switch(o.type){case"daterange":return c(i,r,o,"YYYY-MM-DD");case"datetimerange":return c(i,r,o,"YYYY-MM-DD HH:ss:mm");case"monthrange":return c(i,r,o,"YYYY-MM");default:return i===r}return!1},tableExportMethod:W(V)},ElTimePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,P(e,t))},tableExportMethod:W(P)},ElTimeSelect:{tableAutoFocus:"input",renderTableEdit:e()},ElRate:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElSwitch:{renderTableDefault:e(),renderTableEdit:e(),renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,k.default.isBoolean(e.data),e)})))}))]},tableFilterDefaultMethod:F},ElSlider:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElButton:{renderTableDefault:y},ElButtons:{renderTableDefault:function(e,t){return(e=e.children)?e.map(function(e){return y(e,t)[0]}):[]}}})},j=t,T=c(),k=e(i),M=e(R)),a;function e(e){return e&&e.__esModule?e:{default:e}}function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function _(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){Y(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Y(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var f,p={};function U(){var s,g,v,e;return f||(f=1,Object.defineProperty(p,"__esModule",{value:!0}),p.defineFormRender=function(e){function d(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function c(e,t,n,r){return v.default.assign({},r,e.props,a({},"modelValue",n))}function i(e,o,t,r){var i=e.events,n="update:modelValue",a=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),u=a===n,l={};return v.default.objectEach(i,function(r,e){l[d(e)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),t&&(l[d(n)]=function(e){t(e),i&&i[n]&&i[n](o,e),u&&r&&r(e)}),!u&&r&&(l[d(a)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,t),i&&i[a]&&i[a].apply(i,[o].concat(t))}),l}function f(e,t){var n=t.$form,r=t.data,o=t.field;return i(e,t,function(e){v.default.set(r,o,e)},function(){n.updateStatus(t)})}function p(e,t){var n=t.label||"label",r=t.value||"value";return v.default.map(e,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function m(e){return[""+(null==(t=e=e)||""===t?"":e)];var t}function t(i){return function(e,t){var n=t.data,r=e.name,o=e.attrs,n=v.default.get(n,t.field);return[(0,s.h)((0,g.getCurrComponent)(r),h(h(h({},o),c(e,0,n,i)),f(e,t)))]}}function n(e,t){var n=e.attrs,r=c(e,0,null);return[(0,s.h)((0,g.getCurrComponent)("el-button"),h(h(h({},n),r),i(e,t)),{default:function(){return m(e.content||r.content)}})]}function r(){return function(e,t){var n=e.name,r=e.options,o=void 0===r?[]:r,r=e.optionProps,r=void 0===r?{}:r,i=e.attrs,a=t.data,u=r.label||"label",l=r.value||"value",r=v.default.get(a,t.field);return[(0,s.h)((0,g.getCurrComponent)("".concat(n,"Group")),h(h(h({},i),c(e,0,r)),f(e,t)),{default:function(){return o.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)(n),{key:t,label:e[l],disabled:e.disabled},{default:function(){return m(e[u])}})})}})]}}e.renderer.mixin({ElAutocomplete:{renderFormItemContent:t()},ElInput:{renderFormItemContent:t()},ElInputNumber:{renderFormItemContent:t()},ElSelect:{renderFormItemContent:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.data,d=e.attrs,l=c(e,0,v.default.get(l,t.field)),e=f(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return v.default.map(a,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option-group"),{label:e[r],key:t},{default:function(){return p(e[n],u)}})})}})]):[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return p(i,u)}})]}},ElCascader:{renderFormItemContent:t()},ElDatePicker:{renderFormItemContent:t()},ElTimePicker:{renderFormItemContent:t()},ElTimeSelect:{renderFormItemContent:t()},ElRate:{renderFormItemContent:t()},ElSwitch:{renderFormItemContent:t()},ElSlider:{renderFormItemContent:t()},ElRadioGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-radio-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-radio"),{key:t,value:e[u],disabled:e.disabled},{default:function(){return m(e[a])}})})}})]}},ElCheckboxGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-checkbox-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-checkbox"),{key:t,value:e[u],label:e[a],disabled:e.disabled})})}})]}},ElButton:{renderFormItemContent:n},ElRadio:{renderFormItemContent:r()},ElCheckbox:{renderFormItemContent:r()},ElButtons:{renderFormItemContent:function(e,t){return(e=e.children)?e.map(function(e){return n(e,t)[0]}):[]}}})},s=t,g=c(),v=(e=i)&&e.__esModule?e:{default:e}),p;function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function h(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){a(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function a(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var m,s={},g={};function A(){var l,d;return m||(m=1,Object.defineProperty(g,"__esModule",{value:!0}),g.createWidgetElInput=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(n){var r=u.getComponent("VxeForm"),o=u.getComponent("VxeFormItem"),i=u.getComponent("VxeSwitch");return function(){var t=n.renderParams.widget,e=t.options;return(0,l.h)(r,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:e},{default:function(){return[(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(i,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputConfig:function(e){return{title:"输入框",icon:"vxe-icon-input",options:{placeholder:"请输入"}}},WidgetElInputFormComponent:e,WidgetElInputViewComponent:t}},l=t,d=c()),g}var v,h={};function q(){var l,d;return v||(v=1,Object.defineProperty(h,"__esModule",{value:!0}),h.createWidgetElTextarea=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,type:"textarea",autosize:{minRows:2,maxRows:4},onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElTextareaConfig:function(e){return{title:"文本域",icon:"vxe-icon-textarea",options:{placeholder:"请输入"}}},WidgetElTextareaFormComponent:e,WidgetElTextareaViewComponent:t}},l=t,d=c()),h}var b,C={};function N(){var l,d;return b||(b=1,Object.defineProperty(C,"__esModule",{value:!0}),C.createWidgetElInputNumber=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input-number"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputNumberConfig:function(e){return{title:"数字",icon:"vxe-icon-number",options:{placeholder:"请输入"}}},WidgetElInputNumberFormComponent:e,WidgetElInputNumberViewComponent:t}},l=t,d=c()),C}var w,E={};function $(){var l,d;return w||(w=1,Object.defineProperty(E,"__esModule",{value:!0}),E.createWidgetElDatePicker=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElDatePicker"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-date-picker"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElDatePickerConfig:function(e){return{title:"日期",icon:"vxe-icon-input",options:{placeholder:"请选择"}}},WidgetElDatePickerFormComponent:e,WidgetElDatePickerViewComponent:t}},l=t,d=c()),E}var V,P,y={},x={};function I(){var h;return V||(V=1,Object.defineProperty(x,"__esModule",{value:!0}),x.useWidgetPropDataSource=function(u,a,l){function e(){var e=a.renderParams.widget,t=e.options.options||[];t.push({value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t.length+1])}),e.options.options=(e=>{if(Array.isArray(e))return b(e)})(e=t)||(e=>{if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||((e,t)=>{var n;if(e)return"string"==typeof e?b(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0})(e)||(()=>{throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(){var e=a.renderParams.widget,r=[],o=f.value.split("\n"),i=null;l?o.forEach(function(e,t){var t=o[t+1],n=e.trim();if(n){n={value:n};if(i){if(s(e))return void i.options.push(n);i=null}r.push(n),t&&s(t)&&(i=Object.assign(n,{options:[]}))}}):o.forEach(function(e){r.push({value:e.trim()})}),e.options.options=r,g()}function t(){var e,t=a.renderParams.widget,n=[];null!=(e=t.options.options)&&e.forEach(function(e){n.push(e.value),null!=(e=e.options)&&e.forEach(function(e){n.push("\t".concat(e.value))})}),f.value=n.join("\n"),u.modal.open({title:"".concat(t.title," - ").concat(u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption")),width:500,height:"50vh ",resize:!0,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:u.getI18n("vxe.formDesign.widgetProp.dataSource.buildOption"),onConfirm:r,slots:{default:function(){return(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-popup"},[(0,h.h)(i,{status:"primary",title:"",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.".concat(l?"batchEditSubTip":"batchEditTip"))}),(0,h.h)(o,{resize:"none",modelValue:f.value,"onUpdate:modelValue":function(e){f.value=e}})])}}})}function d(t,e,n,r,o,i,a){return(0,h.h)("div",{class:["vxe-form-design--widget-form-item-data-source-option",{"is--first":i,"is--last":a}]},[(0,h.h)("div",{class:"vxe-form-design--widget-expand-btn"},e&&o?[(0,h.h)("i",{class:n?u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,onClick:function(){v(t,r)}})]:[]),(0,h.h)("input",{class:"vxe-default-input",value:t.value,onInput:function(e){t.value=e.currentTarget.value}}),(0,h.h)(c,{status:"danger",mode:"text",icon:u.getIcon().FORM_DESIGN_WIDGET_DELETE})])}var n=u.getComponent("VxeFormItem"),c=u.getComponent("VxeButton"),o=u.getComponent("VxeTextarea"),i=u.getComponent("VxeTip"),f=(0,h.ref)(""),p=(0,h.ref)([]),m=/^(\s|\t)+/,s=function(e){return m.test(e)},g=function(){var e=a.renderParams.widget.options.options||[],n=[];e.forEach(function(e,t){e=e.options;e&&e.length&&n.push(t)}),p.value=n},v=function(e,t){p.value.includes(t)?p.value=p.value.filter(function(e){return e!==t}):p.value.push(t)};return(0,h.watch)(function(){return a.renderParams.widget},function(){g()}),(0,h.onMounted)(function(){g()}),{renderDataSourceFormItem:function(){return(0,h.h)(n,{title:u.getI18n("vxe.formDesign.widgetProp.dataSource.name"),field:"options"},{default:function(){return[(0,h.h)("div",{},[(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.addOption"),onClick:e}),(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption"),onClick:t})]),(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source"},(o=a.renderParams.widget.options.options,i=[],o&&o.forEach(function(e,t){var n=e.options,r=p.value.includes(t);n&&n.length?(i.push(d(e,!0,r,t,!0,0===t,t===o.length-1)),r&&i.push((0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-sub-option"},n.map(function(e){return d(e,!1,r,0,!1,!1,!1)})))):i.push(d(e,!0,r,t,!1,0===t,t===o.length-1))}),i))];var o,i}})}}},h=t),x;function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}}function B(){var l,a,d,n,e;return P||(P=1,Object.defineProperty(y,"__esModule",{value:!0}),y.createWidgetElSelect=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-select"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e){return(0,l.h)((0,d.getCurrComponent)("el-option"),{label:e.value,value:e.value})}):[]}})}})}}});return{getWidgetElSelectConfig:function(e){return{title:"下拉框",icon:"vxe-icon-select",options:{placeholder:"请选择",options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElSelectFormComponent:e,WidgetElSelectViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),y}var O,F={};function G(){var l,a,d,n,e;return O||(O=1,Object.defineProperty(F,"__esModule",{value:!0}),F.createWidgetElRadio=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-radio-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-radio"),{key:t,value:e.value},{default:function(){return"".concat(e.value||"")}})}):[]}})}})}}});return{getWidgetElRadioConfig:function(e){return{title:"单选框",icon:"vxe-icon-radio-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElRadioFormComponent:e,WidgetElRadioViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),F}var H,D={};function L(){var l,a,d,n,e;return H||(H=1,Object.defineProperty(D,"__esModule",{value:!0}),D.createWidgetElCheckbox=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-checkbox-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-checkbox"),{key:t,value:e.value},{default:function(){return"".concat(e.value)}})}):[]}})}})}}});return{getWidgetElCheckboxConfig:function(e){return{title:"复选框",icon:"vxe-icon-checkbox-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElCheckboxFormComponent:e,WidgetElCheckboxViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),D}var z,X,W,J,K,Q,S,j,T,k={};function Z(){var u,l;return z||(z=1,Object.defineProperty(k,"__esModule",{value:!0}),k.createWidgetElSwitch=function(a){var e=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=a.getComponent("VxeForm"),r=a.getComponent("VxeFormItem"),o=a.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,u.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,u.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(r){function o(){var e,t=r.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var i=a.getComponent("VxeFormItem");return function(){var e=r.renderParams,t=e.widget,n=e.$formView;return(0,u.h)(i,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-switch"),{modelValue:n?n.getItemValue(t):null,onChange:o,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElSwitchConfig:function(e){return{title:"是/否",icon:"vxe-icon-switch",options:{}}},WidgetElSwitchFormComponent:e,WidgetElSwitchViewComponent:t}},u=t,l=c()),k}function ee(){var I,O,F,D,W,S,j,T,k;return X||(X=1,Object.defineProperty(s,"__esModule",{value:!0}),s.defineFormDesignRender=function(e){var t=(0,O.createWidgetElInput)(e),n=t.getWidgetElInputConfig,r=t.WidgetElInputViewComponent,o=t.WidgetElInputFormComponent,t=(0,F.createWidgetElTextarea)(e),i=t.getWidgetElTextareaConfig,a=t.WidgetElTextareaViewComponent,u=t.WidgetElTextareaFormComponent,t=(0,D.createWidgetElInputNumber)(e),l=t.getWidgetElInputNumberConfig,d=t.WidgetElInputNumberViewComponent,c=t.WidgetElInputNumberFormComponent,t=(0,W.createWidgetElDatePicker)(e),f=t.getWidgetElDatePickerConfig,p=t.WidgetElDatePickerViewComponent,m=t.WidgetElDatePickerFormComponent,t=(0,S.createWidgetElSelect)(e),s=t.getWidgetElSelectConfig,g=t.WidgetElSelectViewComponent,v=t.WidgetElSelectFormComponent,t=(0,j.createWidgetElRadio)(e),h=t.getWidgetElRadioConfig,b=t.WidgetElRadioViewComponent,C=t.WidgetElRadioFormComponent,t=(0,T.createWidgetElCheckbox)(e),w=t.getWidgetElCheckboxConfig,E=t.WidgetElCheckboxViewComponent,V=t.WidgetElCheckboxFormComponent,t=(0,k.createWidgetElSwitch)(e),P=t.getWidgetElSwitchConfig,y=t.WidgetElSwitchViewComponent,x=t.WidgetElSwitchFormComponent;e.renderer.mixin({ElInputWidget:{createFormDesignWidgetConfig:n,renderFormDesignWidgetView:function(e,t){return(0,I.h)(r,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(o,{renderOpts:e,renderParams:t})}},ElTextareaWidget:{createFormDesignWidgetConfig:i,renderFormDesignWidgetView:function(e,t){return(0,I.h)(a,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(u,{renderOpts:e,renderParams:t})}},ElNumberInputWidget:{createFormDesignWidgetConfig:l,renderFormDesignWidgetView:function(e,t){return(0,I.h)(d,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(c,{renderOpts:e,renderParams:t})}},ElDatePickerWidget:{createFormDesignWidgetConfig:f,renderFormDesignWidgetView:function(e,t){return(0,I.h)(p,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(m,{renderOpts:e,renderParams:t})}},ElSelectWidget:{createFormDesignWidgetConfig:s,renderFormDesignWidgetView:function(e,t){return(0,I.h)(g,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(v,{renderOpts:e,renderParams:t})}},ElRadioWidget:{createFormDesignWidgetConfig:h,renderFormDesignWidgetView:function(e,t){return(0,I.h)(b,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(C,{renderOpts:e,renderParams:t})}},ElCheckboxWidget:{createFormDesignWidgetConfig:w,createFormDesignWidgetFieldValue:function(){return[]},renderFormDesignWidgetView:function(e,t){return(0,I.h)(E,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(V,{renderOpts:e,renderParams:t})}},ElSwitchWidget:{createFormDesignWidgetConfig:P,renderFormDesignWidgetView:function(e,t){return(0,I.h)(y,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(x,{renderOpts:e,renderParams:t})}}})},I=t,O=A(),F=q(),D=N(),W=$(),S=B(),j=G(),T=L(),k=Z()),s}function M(e,t,n){for(var r,o,i=(o=(e=e).target)&&o.shadowRoot&&e.composed&&e.composedPath()[0]||o,a=document.documentElement||document.querySelector("html");i&&i.nodeType&&i!==a;){if(n&&i.className&&i.className.split&&-1<i.className.split(" ").indexOf(n))r=i;else if(i===t)return{flag:!n||!!r,container:t,targetElem:r};i=i.parentElement}return{flag:!1}}return W||(W=1,W=r,Object.defineProperty(W,"__esModule",{value:!0}),W.default=W.VxeUIPluginRenderElement=void 0,J=Y(),K=U(),Q=ee(),S=d(),j=(T=i)&&T.__esModule?T:{default:T},T=W.VxeUIPluginRenderElement={component:function(e){var t,n;e&&e.name?(t=j.default.kebabCase(e.name),n=(n=j.default.camelCase(e.name))&&n.slice(0,1).toUpperCase()+n.slice(1),S.componentMaps[t]=e,S.componentMaps[n]=e):console.error("[@vxe-ui/plugin-render-element 4.2.4] error component.",e)},install:function(e,t){var r=Object.assign({},t);function n(e){var e=e.$event,t=document.body,n="".concat(r.prefixCls||"el").replace(/-$/,"");if(M(e,t,"".concat(n,"-autocomplete-suggestion")).flag||M(e,t,"".concat(n,"-select-dropdown")).flag||M(e,t,"".concat(n,"-cascader__dropdown")).flag||M(e,t,"".concat(n,"-cascader-menus")).flag||M(e,t,"".concat(n,"-time-panel")).flag||M(e,t,"".concat(n,"-picker-panel")).flag||M(e,t,"".concat(n,"-color-dropdown")).flag)return!1}t&&(t.ElementPlus,Object.assign(S.globalConfig,t)),e.checkVersion?e.checkVersion(e.tableVersion,4,11)||console.error("[@vxe-ui/plugin-render-element 4.2.4] ".concat(e.getI18n("vxe.error.errorVersion",["vxe-table@".concat(e.tableVersion||"?"),"vxe-table v".concat(4,".").concat(11,"+")])," https://vxeui.com/other4/#/plugin-render-element/install")):/^(4)\./.test(e.uiVersion||e.tableVersion)||console.error("[@vxe-ui/plugin-render-element 4.2.4] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install"),(0,J.defineTableRender)(e),(0,K.defineFormRender)(e),(0,Q.defineFormDesignRender)(e),e.interceptor.add("event.clearFilter",n),e.interceptor.add("event.clearEdit",n),e.interceptor.add("event.clearAreas",n),e.interceptor.add("event.clearActived",n)}},"undefined"!=typeof window&&(window.VxeUI&&window.VxeUI.use&&window.VxeUI.use(T),window.ElementPlus)&&(S.globalConfig.ElementPlus=window.ElementPlus),W.default=T),_(r)}); | ||
| ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("xe-utils"),require("dayjs")):"function"==typeof define&&define.amd?define(["vue","xe-utils","dayjs"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VxeUIPluginRenderElement=t(e.Vue,e.XEUtils,e.dayjs)})(this,function(t,i,R){function _(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var e,o,n,r={},a={},u={},l={};function d(){return e||(e=1,Object.defineProperty(l,"__esModule",{value:!0}),l.globalConfig=l.componentMaps=void 0,l.globalConfig={},l.componentMaps={}),l}function c(){var n,r;return o||(o=1,Object.defineProperty(u,"__esModule",{value:!0}),u.getCurrComponent=function(e){var t=r.componentMaps[e]||(r.globalConfig.ElementPlus?r.globalConfig.ElementPlus[e]:null);if(t)return t;return(0,n.resolveComponent)(e)},u.hasInputType=function(e){switch(e.name){case"ElInput":case"ElInputNumber":case"ElTextarea":return!0}return!1},n=t,r=d()),u}function Y(){var j,T,k,M;return n||(n=1,Object.defineProperty(a,"__esModule",{value:!0}),a.defineTableRender=function(r){function s(e){return null==e||""===e}function f(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function a(e,t){return(0,M.default)(e).format(t)}function u(e,t){return e&&t.valueFormat?(t=t.valueFormat,(0,M.default)(e,t).toDate()):e}function l(e,t,n){return e&&a(u(e,t),t.format||t.valueFormat||n)}function d(e,t,n,r){return k.default.map(e,function(e){return l(e,t,r)}).join(n)}function c(e,t,n,r){return(e=l(e,n,r))>=l(t[0],n,r)&&e<=l(t[1],n,r)}function p(e,t,n,r){return k.default.assign({},r,e.props,Y({},"modelValue",n))}function o(e){return""+(s(e)?"":e)}function i(e,t,n){e.$table.updateFilterOptionStatus(n,t)}function n(e,t,n){e=e.placeholder;return[(0,j.h)("span",{class:"vxe-cell--label"},e&&s(n)?[(0,j.h)("span",{class:"vxe-cell--placeholder"},o(r.getI18n(e)))]:o(n))]}var m="blur",g="clear";function v(e,o,t){var r=e.events,n="update:modelValue",i=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),e=t||{},a=e.model,u=e.change,l=e.blur,d=e.clear,c={};return k.default.objectEach(r,function(r,e){c[f(e)]=function(){k.default.isFunction(r)||console.error('Parameter "'.concat(r,'" is not a method'));for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),a&&(c[f(n)]=function(e){a(e),r&&r[n]&&r[n](o,e)}),u&&(c[f(i)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];u.apply(void 0,t),r&&r[i]&&r[i].apply(r,[o].concat(t))}),l&&(c[f(m)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];l.apply(void 0,t),r&&r[m]&&r[m].apply(r,[o].concat(t))}),d&&(c[f(g)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];d.apply(void 0,t),r&&r[g]&&r[g].apply(r,[o].concat(t))}),c}function h(e,t){var n=t.$table,r=t.row,o=t.column;return v(e,t,{model:function(e){k.default.set(r,o.field,e)},change:function(){n.updateStatus(t)}})}function b(e,t,n,r){return v(e,t,{model:function(e){n.data=e},change:r})}function C(e,n,r){var t=n.$table,o=n.column;return(0,T.hasInputType)(e)?v(e,n,{model:function(e){r.data=e},change:function(){i(n,!s(r.data),r)},clear:function(){var e,t;i(n,!s(r.data),r),t=(e=n).$table,e=n.column,t.saveFilterByEvent(new Event("change"),e)},blur:function(){t.saveFilterByEvent(new Event("change"),o)}}):v(e,n,{model:function(e){r.data=e},clear:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)},change:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)}})}function w(e,t){var n,r=e.options,o=void 0===r?[]:r,i=e.optionGroups,r=e.props,r=void 0===r?{}:r,a=e.optionProps,a=void 0===a?{}:a,e=e.optionGroupProps,u=t.$table,l=t.rowid,d=t.column,c=r.filterable,r=r.multiple,f=a.label||"label",p=a.value||"value",m=(void 0===e?{}:e).options||"options",a=k.default.get(t.row,d.field),e=d.id;if(c){t=u.internalData.fullAllDataRowIdData[l];if(t&&(n=(n=t.cellData)||(t.cellData={})),t&&n[e]&&n[e].value===a)return n[e].label}return s(a)?"":(d=k.default.map(r?a:[a],i?function(t){for(var e,n=0;n<i.length&&!(e=k.default.find(i[n][m],function(e){return e[p]===t}));n++);return e?e[f]:t}:function(t){var e=k.default.find(o,function(e){return e[p]===t});return e?e[f]:t}).join(", "),n&&o&&o.length&&(n[e]={value:a,label:d}),d)}function E(e,t){var e=e.props,e=void 0===e?{}:e,n=t.row,n=k.default.get(n,t.column.field),t=[];return function t(n,e,r,o){var i=r[n];e&&r.length>n&&k.default.each(e,function(e){e.value===i&&(o.push(e.label),t(++n,e.children,r,o))})}(0,e.options,n||[],t),(!1===e.showAllLevels?t.slice(t.length-1,t.length):t).join(" ".concat(e.separator||"/"," "))}function V(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.rangeSeparator,o=void 0===r?"-":r,i=k.default.get(e,t.column.field);switch(n.type){case"week":i=l(i,n,"YYYYwWW");break;case"month":i=l(i,n,"YYYY-MM");break;case"year":i=l(i,n,"YYYY");break;case"dates":i=d(i,n,", ","YYYY-MM-DD");break;case"daterange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD");break;case"datetimerange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD HH:ss:mm");break;case"monthrange":i=d(i,n," ".concat(o," "),"YYYY-MM");break;default:i=l(i,n,"YYYY-MM-DD")}return i}function P(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.isRange,o=n.format,i=void 0===o?"HH:mm:ss":o,o=n.rangeSeparator,o=void 0===o?"-":o,e=k.default.get(e,t.column.field);return e&&r&&(e=k.default.map(e,function(e){return a(u(e,n),i)}).join(" ".concat(o," "))),a(u(e,n),i)}function e(a){return function(e,t){var n=t.row,r=e.name,o=e.attrs,i=e.props,n=k.default.get(n,t.column.field);return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,n,a)),h(e,t)))]}}function y(e,t){var n=e.attrs,r=e.props;return[(0,j.h)((0,T.getCurrComponent)("el-button"),_(_(_(_({},n),r),p(e,0,null)),v(e,t)),[o(e.content)])]}function t(l){return function(r,o){var e=o.column,i=r.name,a=r.attrs,u=r.props;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_(_({key:t},a),u),p(r,0,n,l)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]}}function x(u){return function(e,t){var n=t.option,r=e.name,o=e.attrs,i=e.props,a=n.data;return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,a,u)),C(e,t,n)))]}}function I(e,t,n){e.$panel.changeOption(null,t,n)}function O(e){var t=e.option.data,e=k.default.get(e.row,e.column.field);return-1<k.default.toValueString(e).indexOf(t)}function F(e){var t=e.option.data;return k.default.get(e.row,e.column.field)===t}function D(e,t){var n=t.label||"label",r=t.value||"value";return k.default.map(e,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function W(o){return function(e){var t=e.row,n=e.column,r=e.options;return r&&r.original?k.default.get(t,n.field):o(n.editRender||n.cellRender,e)}}function S(){return[{data:null}]}r.renderer.mixin({ElAutocomplete:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElInput:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElInputNumber:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElSelect:{tableAutoFocus:"input",renderTableEdit:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.row,d=e.attrs,l=p(e,0,k.default.get(l,t.column.field)),e=h(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},d),l),e),{default:function(){return k.default.map(a,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[r]},{default:function(){return D(e[n],u)}})})}})]):[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},l),d),e),{default:function(){return D(i,u)}})]},renderTableCell:function(e,t){return n(e,0,w(e,t))},createTableFilterOptions:S,renderTableFilter:function(o,i){var e=o.options,a=void 0===e?[]:e,u=o.optionGroups,e=o.optionProps,l=void 0===e?{}:e,e=o.optionGroupProps,e=void 0===e?{}:e,d=e.options||"options",c=e.label||"label",e=i.column,f=o.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},u?e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return k.default.map(u,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[c]},{default:function(){return D(e[d],l)}})})}})}):e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return D(a,l)}})}))]},tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,t=t.data,r=n.field,n=n.filterRender.props,n=void 0===n?{}:n,e=k.default.get(e.row,r);return n.multiple?k.default.isArray(e)?k.default.includeArrays(e,t):-1<t.indexOf(e):e==t},tableExportMethod:W(w)},ElCascader:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,E(e,t))},tableExportMethod:W(E)},ElDatePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,V(e,t))},createTableFilterOptions:S,renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]},renderTableFloatingFilter:x(),tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,r=t.data,t=n.filterRender.props,o=void 0===t?{}:t,i=k.default.get(e.row,n.field);if(r)switch(o.type){case"daterange":return c(i,r,o,"YYYY-MM-DD");case"datetimerange":return c(i,r,o,"YYYY-MM-DD HH:ss:mm");case"monthrange":return c(i,r,o,"YYYY-MM");default:return i===r}return!1},tableExportMethod:W(V)},ElTimePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,P(e,t))},tableExportMethod:W(P)},ElTimeSelect:{tableAutoFocus:"input",renderTableEdit:e()},ElRate:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElSwitch:{renderTableDefault:e(),renderTableEdit:e(),renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,k.default.isBoolean(e.data),e)})))}))]},tableFilterDefaultMethod:F},ElSlider:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElButton:{renderTableDefault:y},ElButtons:{renderTableDefault:function(e,t){return(e=e.children)?e.map(function(e){return y(e,t)[0]}):[]}}})},j=t,T=c(),k=e(i),M=e(R)),a;function e(e){return e&&e.__esModule?e:{default:e}}function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function _(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){Y(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Y(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var f,p={};function U(){var s,g,v,e;return f||(f=1,Object.defineProperty(p,"__esModule",{value:!0}),p.defineFormRender=function(e){function d(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function c(e,t,n,r){return v.default.assign({},r,e.props,a({},"modelValue",n))}function i(e,o,t,r){var i=e.events,n="update:modelValue",a=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),u=a===n,l={};return v.default.objectEach(i,function(r,e){l[d(e)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),t&&(l[d(n)]=function(e){t(e),i&&i[n]&&i[n](o,e),u&&r&&r(e)}),!u&&r&&(l[d(a)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,t),i&&i[a]&&i[a].apply(i,[o].concat(t))}),l}function f(e,t){var n=t.$form,r=t.data,o=t.field;return i(e,t,function(e){v.default.set(r,o,e)},function(){n.updateStatus(t),e.changeToSubmit&&n.handleSubmitEvent(new Event("change"))})}function p(e,t){var n=t.label||"label",r=t.value||"value";return v.default.map(e,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function m(e){return[""+(null==(t=e=e)||""===t?"":e)];var t}function t(i){return function(e,t){var n=t.data,r=e.name,o=e.attrs,n=v.default.get(n,t.field);return[(0,s.h)((0,g.getCurrComponent)(r),h(h(h({},o),c(e,0,n,i)),f(e,t)))]}}function n(e,t){var n=e.attrs,r=c(e,0,null);return[(0,s.h)((0,g.getCurrComponent)("el-button"),h(h(h({},n),r),i(e,t)),{default:function(){return m(e.content||r.content)}})]}function r(){return function(e,t){var n=e.name,r=e.options,o=void 0===r?[]:r,r=e.optionProps,r=void 0===r?{}:r,i=e.attrs,a=t.data,u=r.label||"label",l=r.value||"value",r=v.default.get(a,t.field);return[(0,s.h)((0,g.getCurrComponent)("".concat(n,"Group")),h(h(h({},i),c(e,0,r)),f(e,t)),{default:function(){return o.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)(n),{key:t,label:e[l],disabled:e.disabled},{default:function(){return m(e[u])}})})}})]}}e.renderer.mixin({ElAutocomplete:{renderFormItemContent:t()},ElInput:{renderFormItemContent:t()},ElInputNumber:{renderFormItemContent:t()},ElSelect:{renderFormItemContent:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.data,d=e.attrs,l=c(e,0,v.default.get(l,t.field)),e=f(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return v.default.map(a,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option-group"),{label:e[r],key:t},{default:function(){return p(e[n],u)}})})}})]):[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return p(i,u)}})]}},ElCascader:{renderFormItemContent:t()},ElDatePicker:{renderFormItemContent:t()},ElTimePicker:{renderFormItemContent:t()},ElTimeSelect:{renderFormItemContent:t()},ElRate:{renderFormItemContent:t()},ElSwitch:{renderFormItemContent:t()},ElSlider:{renderFormItemContent:t()},ElRadioGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-radio-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-radio"),{key:t,value:e[u],disabled:e.disabled},{default:function(){return m(e[a])}})})}})]}},ElCheckboxGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-checkbox-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-checkbox"),{key:t,value:e[u],label:e[a],disabled:e.disabled})})}})]}},ElButton:{renderFormItemContent:n},ElRadio:{renderFormItemContent:r()},ElCheckbox:{renderFormItemContent:r()},ElButtons:{renderFormItemContent:function(e,t){return(e=e.children)?e.map(function(e){return n(e,t)[0]}):[]}}})},s=t,g=c(),v=(e=i)&&e.__esModule?e:{default:e}),p;function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function h(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){a(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function a(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var m,s={},g={};function A(){var l,d;return m||(m=1,Object.defineProperty(g,"__esModule",{value:!0}),g.createWidgetElInput=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(n){var r=u.getComponent("VxeForm"),o=u.getComponent("VxeFormItem"),i=u.getComponent("VxeSwitch");return function(){var t=n.renderParams.widget,e=t.options;return(0,l.h)(r,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:e},{default:function(){return[(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(i,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputConfig:function(e){return{title:"输入框",icon:"vxe-icon-input",options:{placeholder:"请输入"}}},WidgetElInputFormComponent:e,WidgetElInputViewComponent:t}},l=t,d=c()),g}var v,h={};function q(){var l,d;return v||(v=1,Object.defineProperty(h,"__esModule",{value:!0}),h.createWidgetElTextarea=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,type:"textarea",autosize:{minRows:2,maxRows:4},onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElTextareaConfig:function(e){return{title:"文本域",icon:"vxe-icon-textarea",options:{placeholder:"请输入"}}},WidgetElTextareaFormComponent:e,WidgetElTextareaViewComponent:t}},l=t,d=c()),h}var b,C={};function N(){var l,d;return b||(b=1,Object.defineProperty(C,"__esModule",{value:!0}),C.createWidgetElInputNumber=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input-number"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputNumberConfig:function(e){return{title:"数字",icon:"vxe-icon-number",options:{placeholder:"请输入"}}},WidgetElInputNumberFormComponent:e,WidgetElInputNumberViewComponent:t}},l=t,d=c()),C}var w,E={};function $(){var l,d;return w||(w=1,Object.defineProperty(E,"__esModule",{value:!0}),E.createWidgetElDatePicker=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElDatePicker"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-date-picker"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElDatePickerConfig:function(e){return{title:"日期",icon:"vxe-icon-input",options:{placeholder:"请选择"}}},WidgetElDatePickerFormComponent:e,WidgetElDatePickerViewComponent:t}},l=t,d=c()),E}var V,P,y={},x={};function I(){var h;return V||(V=1,Object.defineProperty(x,"__esModule",{value:!0}),x.useWidgetPropDataSource=function(u,a,l){function e(){var e=a.renderParams.widget,t=e.options.options||[];t.push({value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t.length+1])}),e.options.options=(e=>{if(Array.isArray(e))return b(e)})(e=t)||(e=>{if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||((e,t)=>{var n;if(e)return"string"==typeof e?b(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0})(e)||(()=>{throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(){var e=a.renderParams.widget,r=[],o=f.value.split("\n"),i=null;l?o.forEach(function(e,t){var t=o[t+1],n=e.trim();if(n){n={value:n};if(i){if(s(e))return void i.options.push(n);i=null}r.push(n),t&&s(t)&&(i=Object.assign(n,{options:[]}))}}):o.forEach(function(e){r.push({value:e.trim()})}),e.options.options=r,g()}function t(){var e,t=a.renderParams.widget,n=[];null!=(e=t.options.options)&&e.forEach(function(e){n.push(e.value),null!=(e=e.options)&&e.forEach(function(e){n.push("\t".concat(e.value))})}),f.value=n.join("\n"),u.modal.open({title:"".concat(t.title," - ").concat(u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption")),width:500,height:"50vh ",resize:!0,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:u.getI18n("vxe.formDesign.widgetProp.dataSource.buildOption"),onConfirm:r,slots:{default:function(){return(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-popup"},[(0,h.h)(i,{status:"primary",title:"",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.".concat(l?"batchEditSubTip":"batchEditTip"))}),(0,h.h)(o,{resize:"none",modelValue:f.value,"onUpdate:modelValue":function(e){f.value=e}})])}}})}function d(t,e,n,r,o,i,a){return(0,h.h)("div",{class:["vxe-form-design--widget-form-item-data-source-option",{"is--first":i,"is--last":a}]},[(0,h.h)("div",{class:"vxe-form-design--widget-expand-btn"},e&&o?[(0,h.h)("i",{class:n?u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,onClick:function(){v(t,r)}})]:[]),(0,h.h)("input",{class:"vxe-default-input",value:t.value,onInput:function(e){t.value=e.currentTarget.value}}),(0,h.h)(c,{status:"danger",mode:"text",icon:u.getIcon().FORM_DESIGN_WIDGET_DELETE})])}var n=u.getComponent("VxeFormItem"),c=u.getComponent("VxeButton"),o=u.getComponent("VxeTextarea"),i=u.getComponent("VxeTip"),f=(0,h.ref)(""),p=(0,h.ref)([]),m=/^(\s|\t)+/,s=function(e){return m.test(e)},g=function(){var e=a.renderParams.widget.options.options||[],n=[];e.forEach(function(e,t){e=e.options;e&&e.length&&n.push(t)}),p.value=n},v=function(e,t){p.value.includes(t)?p.value=p.value.filter(function(e){return e!==t}):p.value.push(t)};return(0,h.watch)(function(){return a.renderParams.widget},function(){g()}),(0,h.onMounted)(function(){g()}),{renderDataSourceFormItem:function(){return(0,h.h)(n,{title:u.getI18n("vxe.formDesign.widgetProp.dataSource.name"),field:"options"},{default:function(){return[(0,h.h)("div",{},[(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.addOption"),onClick:e}),(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption"),onClick:t})]),(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source"},(o=a.renderParams.widget.options.options,i=[],o&&o.forEach(function(e,t){var n=e.options,r=p.value.includes(t);n&&n.length?(i.push(d(e,!0,r,t,!0,0===t,t===o.length-1)),r&&i.push((0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-sub-option"},n.map(function(e){return d(e,!1,r,0,!1,!1,!1)})))):i.push(d(e,!0,r,t,!1,0===t,t===o.length-1))}),i))];var o,i}})}}},h=t),x;function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}}function B(){var l,a,d,n,e;return P||(P=1,Object.defineProperty(y,"__esModule",{value:!0}),y.createWidgetElSelect=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-select"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e){return(0,l.h)((0,d.getCurrComponent)("el-option"),{label:e.value,value:e.value})}):[]}})}})}}});return{getWidgetElSelectConfig:function(e){return{title:"下拉框",icon:"vxe-icon-select",options:{placeholder:"请选择",options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElSelectFormComponent:e,WidgetElSelectViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),y}var O,F={};function G(){var l,a,d,n,e;return O||(O=1,Object.defineProperty(F,"__esModule",{value:!0}),F.createWidgetElRadio=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-radio-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-radio"),{key:t,value:e.value},{default:function(){return"".concat(e.value||"")}})}):[]}})}})}}});return{getWidgetElRadioConfig:function(e){return{title:"单选框",icon:"vxe-icon-radio-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElRadioFormComponent:e,WidgetElRadioViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),F}var H,D={};function L(){var l,a,d,n,e;return H||(H=1,Object.defineProperty(D,"__esModule",{value:!0}),D.createWidgetElCheckbox=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-checkbox-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-checkbox"),{key:t,value:e.value},{default:function(){return"".concat(e.value)}})}):[]}})}})}}});return{getWidgetElCheckboxConfig:function(e){return{title:"复选框",icon:"vxe-icon-checkbox-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElCheckboxFormComponent:e,WidgetElCheckboxViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),D}var z,X,W,J,K,Q,S,j,T,k={};function Z(){var u,l;return z||(z=1,Object.defineProperty(k,"__esModule",{value:!0}),k.createWidgetElSwitch=function(a){var e=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=a.getComponent("VxeForm"),r=a.getComponent("VxeFormItem"),o=a.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,u.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,u.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(r){function o(){var e,t=r.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var i=a.getComponent("VxeFormItem");return function(){var e=r.renderParams,t=e.widget,n=e.$formView;return(0,u.h)(i,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-switch"),{modelValue:n?n.getItemValue(t):null,onChange:o,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElSwitchConfig:function(e){return{title:"是/否",icon:"vxe-icon-switch",options:{}}},WidgetElSwitchFormComponent:e,WidgetElSwitchViewComponent:t}},u=t,l=c()),k}function ee(){var I,O,F,D,W,S,j,T,k;return X||(X=1,Object.defineProperty(s,"__esModule",{value:!0}),s.defineFormDesignRender=function(e){var t=(0,O.createWidgetElInput)(e),n=t.getWidgetElInputConfig,r=t.WidgetElInputViewComponent,o=t.WidgetElInputFormComponent,t=(0,F.createWidgetElTextarea)(e),i=t.getWidgetElTextareaConfig,a=t.WidgetElTextareaViewComponent,u=t.WidgetElTextareaFormComponent,t=(0,D.createWidgetElInputNumber)(e),l=t.getWidgetElInputNumberConfig,d=t.WidgetElInputNumberViewComponent,c=t.WidgetElInputNumberFormComponent,t=(0,W.createWidgetElDatePicker)(e),f=t.getWidgetElDatePickerConfig,p=t.WidgetElDatePickerViewComponent,m=t.WidgetElDatePickerFormComponent,t=(0,S.createWidgetElSelect)(e),s=t.getWidgetElSelectConfig,g=t.WidgetElSelectViewComponent,v=t.WidgetElSelectFormComponent,t=(0,j.createWidgetElRadio)(e),h=t.getWidgetElRadioConfig,b=t.WidgetElRadioViewComponent,C=t.WidgetElRadioFormComponent,t=(0,T.createWidgetElCheckbox)(e),w=t.getWidgetElCheckboxConfig,E=t.WidgetElCheckboxViewComponent,V=t.WidgetElCheckboxFormComponent,t=(0,k.createWidgetElSwitch)(e),P=t.getWidgetElSwitchConfig,y=t.WidgetElSwitchViewComponent,x=t.WidgetElSwitchFormComponent;e.renderer.mixin({ElInputWidget:{createFormDesignWidgetConfig:n,renderFormDesignWidgetView:function(e,t){return(0,I.h)(r,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(o,{renderOpts:e,renderParams:t})}},ElTextareaWidget:{createFormDesignWidgetConfig:i,renderFormDesignWidgetView:function(e,t){return(0,I.h)(a,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(u,{renderOpts:e,renderParams:t})}},ElNumberInputWidget:{createFormDesignWidgetConfig:l,renderFormDesignWidgetView:function(e,t){return(0,I.h)(d,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(c,{renderOpts:e,renderParams:t})}},ElDatePickerWidget:{createFormDesignWidgetConfig:f,renderFormDesignWidgetView:function(e,t){return(0,I.h)(p,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(m,{renderOpts:e,renderParams:t})}},ElSelectWidget:{createFormDesignWidgetConfig:s,renderFormDesignWidgetView:function(e,t){return(0,I.h)(g,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(v,{renderOpts:e,renderParams:t})}},ElRadioWidget:{createFormDesignWidgetConfig:h,renderFormDesignWidgetView:function(e,t){return(0,I.h)(b,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(C,{renderOpts:e,renderParams:t})}},ElCheckboxWidget:{createFormDesignWidgetConfig:w,createFormDesignWidgetFieldValue:function(){return[]},renderFormDesignWidgetView:function(e,t){return(0,I.h)(E,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(V,{renderOpts:e,renderParams:t})}},ElSwitchWidget:{createFormDesignWidgetConfig:P,renderFormDesignWidgetView:function(e,t){return(0,I.h)(y,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(x,{renderOpts:e,renderParams:t})}}})},I=t,O=A(),F=q(),D=N(),W=$(),S=B(),j=G(),T=L(),k=Z()),s}function M(e,t,n){for(var r,o,i=(o=(e=e).target)&&o.shadowRoot&&e.composed&&e.composedPath()[0]||o,a=document.documentElement||document.querySelector("html");i&&i.nodeType&&i!==a;){if(n&&i.className&&i.className.split&&-1<i.className.split(" ").indexOf(n))r=i;else if(i===t)return{flag:!n||!!r,container:t,targetElem:r};i=i.parentElement}return{flag:!1}}return W||(W=1,W=r,Object.defineProperty(W,"__esModule",{value:!0}),W.default=W.VxeUIPluginRenderElement=void 0,J=Y(),K=U(),Q=ee(),S=d(),j=(T=i)&&T.__esModule?T:{default:T},T=W.VxeUIPluginRenderElement={component:function(e){var t,n;e&&e.name?(t=j.default.kebabCase(e.name),n=(n=j.default.camelCase(e.name))&&n.slice(0,1).toUpperCase()+n.slice(1),S.componentMaps[t]=e,S.componentMaps[n]=e):console.error("[@vxe-ui/plugin-render-element 4.3.0] error component.",e)},install:function(e,t){var r=Object.assign({},t);function n(e){var e=e.$event,t=document.body,n="".concat(r.prefixCls||"el").replace(/-$/,"");if(M(e,t,"".concat(n,"-autocomplete-suggestion")).flag||M(e,t,"".concat(n,"-select-dropdown")).flag||M(e,t,"".concat(n,"-cascader__dropdown")).flag||M(e,t,"".concat(n,"-cascader-menus")).flag||M(e,t,"".concat(n,"-time-panel")).flag||M(e,t,"".concat(n,"-picker-panel")).flag||M(e,t,"".concat(n,"-color-dropdown")).flag)return!1}t&&(t.ElementPlus,Object.assign(S.globalConfig,t)),e.checkVersion?e.checkVersion(e.tableVersion,4,11)||console.error("[@vxe-ui/plugin-render-element 4.3.0] ".concat(e.getI18n("vxe.error.errorVersion",["vxe-table@".concat(e.tableVersion||"?"),"vxe-table v".concat(4,".").concat(11,"+")])," https://vxeui.com/other4/#/plugin-render-element/install")):/^(4)\./.test(e.uiVersion||e.tableVersion)||console.error("[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install"),(0,J.defineTableRender)(e),(0,K.defineFormRender)(e),(0,Q.defineFormDesignRender)(e),e.interceptor.add("event.clearFilter",n),e.interceptor.add("event.clearEdit",n),e.interceptor.add("event.clearAreas",n),e.interceptor.add("event.clearActived",n)}},"undefined"!=typeof window&&(window.VxeUI&&window.VxeUI.use&&window.VxeUI.use(T),window.ElementPlus)&&(S.globalConfig.ElementPlus=window.ElementPlus),W.default=T),_(r)}); |
+14
-17
| { | ||
| "name": "@vxe-ui/plugin-render-element", | ||
| "version": "4.2.4", | ||
| "version": "4.3.0", | ||
| "description": "Vxe UI plug-in for compatibility with the element-plus component.", | ||
@@ -11,15 +11,17 @@ "scripts": { | ||
| "dist", | ||
| "es", | ||
| "lib", | ||
| "src" | ||
| ], | ||
| "main": "dist/index.common.js", | ||
| "unpkg": "dist/index.umd.js", | ||
| "jsdelivr": "dist/index.umd.js", | ||
| "style": "dist/style.css", | ||
| "main": "lib/index.common.js", | ||
| "module": "es/index.esm.js", | ||
| "unpkg": "lib/index.umd.js", | ||
| "jsdelivr": "lib/index.umd.js", | ||
| "style": "lib/style.css", | ||
| "typings": "types/index.d.ts", | ||
| "devDependencies": { | ||
| "@types/node": "20.10.0", | ||
| "@babel/core": "^7.12.3", | ||
| "@babel/plugin-transform-runtime": "^7.12.1", | ||
| "@babel/preset-env": "^7.12.1", | ||
| "@babel/runtime": "^7.12.5", | ||
| "@types/node": "20.14.8", | ||
| "@babel/core": "~7.28.6", | ||
| "@babel/preset-env": "~7.28.6", | ||
| "@babel/runtime": "~7.28.6", | ||
| "@rollup/plugin-commonjs": "^29.0.0", | ||
@@ -58,10 +60,5 @@ "@typescript-eslint/eslint-plugin": "^4.6.1", | ||
| "vue": "3.4.27", | ||
| "vxe-pc-ui": "^4.11.0", | ||
| "vxe-table": "^4.17.0" | ||
| "vxe-pc-ui": "^4.12.0", | ||
| "vxe-table": "^4.17.42" | ||
| }, | ||
| "browserify-shim": { | ||
| "vue": "global:Vue", | ||
| "xe-utils": "global:XEUtils", | ||
| "dayjs": "global:dayjs" | ||
| }, | ||
| "repository": { | ||
@@ -68,0 +65,0 @@ "type": "git", |
@@ -5,3 +5,3 @@ import { h, ComponentOptions } from 'vue' | ||
| import type { VxeUIExport, VxeGlobalRendererHandles } from 'vxe-pc-ui' | ||
| import type { VxeUIExport, VxeGlobalRendererHandles, VxeFormConstructor, VxeFormPrivateMethods } from 'vxe-pc-ui' | ||
@@ -83,3 +83,3 @@ /** | ||
| function getItemOns (renderOpts: VxeGlobalRendererHandles.RenderOptions, params: any) { | ||
| function getItemOns (renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions, params: any) { | ||
| const { $form, data, field } = params | ||
@@ -92,2 +92,5 @@ return getOns(renderOpts, params, (value: any) => { | ||
| $form.updateStatus(params) | ||
| if (renderOpts.changeToSubmit) { | ||
| ($form as VxeFormConstructor & VxeFormPrivateMethods).handleSubmitEvent(new Event('change')) | ||
| } | ||
| }) | ||
@@ -94,0 +97,0 @@ } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElCheckbox = createWidgetElCheckbox; | ||
| var _vue = require("vue"); | ||
| var _use = require("./use"); | ||
| var _comp = require("../util/comp"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| function createWidgetElCheckbox(VxeUI) { | ||
| var getWidgetElCheckboxConfig = function getWidgetElCheckboxConfig(params) { | ||
| return { | ||
| title: '复选框', | ||
| icon: 'vxe-icon-checkbox-checked', | ||
| options: { | ||
| options: _xeUtils["default"].range(0, 3).map(function (v, i) { | ||
| return { | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1]) | ||
| }; | ||
| }) | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElCheckboxFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false), | ||
| renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }), renderDataSourceFormItem()]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElCheckboxViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox-group'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }, { | ||
| "default": function _default() { | ||
| return options.options ? options.options.map(function (item, index) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox'), { | ||
| key: index, | ||
| value: item.value | ||
| }, { | ||
| "default": function _default() { | ||
| return "".concat(item.value); | ||
| } | ||
| }); | ||
| }) : []; | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElCheckboxConfig: getWidgetElCheckboxConfig, | ||
| WidgetElCheckboxFormComponent: WidgetElCheckboxFormComponent, | ||
| WidgetElCheckboxViewComponent: WidgetElCheckboxViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElDatePicker = createWidgetElDatePicker; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| function createWidgetElDatePicker(VxeUI) { | ||
| var getWidgetElDatePickerConfig = function getWidgetElDatePickerConfig(params) { | ||
| return { | ||
| title: '日期', | ||
| icon: 'vxe-icon-input', | ||
| options: { | ||
| placeholder: '请选择' | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElDatePickerFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElDatePicker' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElDatePickerViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-date-picker'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElDatePickerConfig: getWidgetElDatePickerConfig, | ||
| WidgetElDatePickerFormComponent: WidgetElDatePickerFormComponent, | ||
| WidgetElDatePickerViewComponent: WidgetElDatePickerViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.defineFormDesignRender = defineFormDesignRender; | ||
| var _vue = require("vue"); | ||
| var _inputWidget = require("./input-widget"); | ||
| var _textareaWidget = require("./textarea-widget"); | ||
| var _numberInputWidget = require("./number-input-widget"); | ||
| var _datePickerWidget = require("./date-picker-widget"); | ||
| var _selectWidget = require("./select-widget"); | ||
| var _radioWidget = require("./radio-widget"); | ||
| var _checkboxWidget = require("./checkbox-widget"); | ||
| var _switchWidget = require("./switch-widget"); | ||
| /** | ||
| * 表单设计器 - 渲染器 | ||
| */ | ||
| function defineFormDesignRender(VxeUI) { | ||
| var _createWidgetElInput = (0, _inputWidget.createWidgetElInput)(VxeUI), | ||
| getWidgetElInputConfig = _createWidgetElInput.getWidgetElInputConfig, | ||
| WidgetElInputViewComponent = _createWidgetElInput.WidgetElInputViewComponent, | ||
| WidgetElInputFormComponent = _createWidgetElInput.WidgetElInputFormComponent; | ||
| var _createWidgetElTextar = (0, _textareaWidget.createWidgetElTextarea)(VxeUI), | ||
| getWidgetElTextareaConfig = _createWidgetElTextar.getWidgetElTextareaConfig, | ||
| WidgetElTextareaViewComponent = _createWidgetElTextar.WidgetElTextareaViewComponent, | ||
| WidgetElTextareaFormComponent = _createWidgetElTextar.WidgetElTextareaFormComponent; | ||
| var _createWidgetElInputN = (0, _numberInputWidget.createWidgetElInputNumber)(VxeUI), | ||
| getWidgetElInputNumberConfig = _createWidgetElInputN.getWidgetElInputNumberConfig, | ||
| WidgetElInputNumberViewComponent = _createWidgetElInputN.WidgetElInputNumberViewComponent, | ||
| WidgetElInputNumberFormComponent = _createWidgetElInputN.WidgetElInputNumberFormComponent; | ||
| var _createWidgetElDatePi = (0, _datePickerWidget.createWidgetElDatePicker)(VxeUI), | ||
| getWidgetElDatePickerConfig = _createWidgetElDatePi.getWidgetElDatePickerConfig, | ||
| WidgetElDatePickerViewComponent = _createWidgetElDatePi.WidgetElDatePickerViewComponent, | ||
| WidgetElDatePickerFormComponent = _createWidgetElDatePi.WidgetElDatePickerFormComponent; | ||
| var _createWidgetElSelect = (0, _selectWidget.createWidgetElSelect)(VxeUI), | ||
| getWidgetElSelectConfig = _createWidgetElSelect.getWidgetElSelectConfig, | ||
| WidgetElSelectViewComponent = _createWidgetElSelect.WidgetElSelectViewComponent, | ||
| WidgetElSelectFormComponent = _createWidgetElSelect.WidgetElSelectFormComponent; | ||
| var _createWidgetElRadio = (0, _radioWidget.createWidgetElRadio)(VxeUI), | ||
| getWidgetElRadioConfig = _createWidgetElRadio.getWidgetElRadioConfig, | ||
| WidgetElRadioViewComponent = _createWidgetElRadio.WidgetElRadioViewComponent, | ||
| WidgetElRadioFormComponent = _createWidgetElRadio.WidgetElRadioFormComponent; | ||
| var _createWidgetElCheckb = (0, _checkboxWidget.createWidgetElCheckbox)(VxeUI), | ||
| getWidgetElCheckboxConfig = _createWidgetElCheckb.getWidgetElCheckboxConfig, | ||
| WidgetElCheckboxViewComponent = _createWidgetElCheckb.WidgetElCheckboxViewComponent, | ||
| WidgetElCheckboxFormComponent = _createWidgetElCheckb.WidgetElCheckboxFormComponent; | ||
| var _createWidgetElSwitch = (0, _switchWidget.createWidgetElSwitch)(VxeUI), | ||
| getWidgetElSwitchConfig = _createWidgetElSwitch.getWidgetElSwitchConfig, | ||
| WidgetElSwitchViewComponent = _createWidgetElSwitch.WidgetElSwitchViewComponent, | ||
| WidgetElSwitchFormComponent = _createWidgetElSwitch.WidgetElSwitchFormComponent; | ||
| VxeUI.renderer.mixin({ | ||
| ElInputWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElInputConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElInputViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElInputFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElTextareaWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElTextareaConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElTextareaViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElTextareaFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElNumberInputWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElInputNumberConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElInputNumberViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElInputNumberFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElDatePickerWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElDatePickerConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElDatePickerViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElDatePickerFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElSelectWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElSelectConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElSelectViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElSelectFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElRadioWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElRadioConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElRadioViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElRadioFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElCheckboxWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElCheckboxConfig, | ||
| createFormDesignWidgetFieldValue: function createFormDesignWidgetFieldValue() { | ||
| return []; | ||
| }, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElCheckboxViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElCheckboxFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| }, | ||
| ElSwitchWidget: { | ||
| createFormDesignWidgetConfig: getWidgetElSwitchConfig, | ||
| renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElSwitchViewComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| }, | ||
| renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) { | ||
| return (0, _vue.h)(WidgetElSwitchFormComponent, { | ||
| renderOpts: renderOpts, | ||
| renderParams: renderParams | ||
| }); | ||
| } | ||
| } | ||
| }); | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElInput = createWidgetElInput; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| function createWidgetElInput(VxeUI) { | ||
| var getWidgetElInputConfig = function getWidgetElInputConfig(params) { | ||
| return { | ||
| title: '输入框', | ||
| icon: 'vxe-icon-input', | ||
| options: { | ||
| placeholder: '请输入' | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElInputFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElInputViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElInputConfig: getWidgetElInputConfig, | ||
| WidgetElInputFormComponent: WidgetElInputFormComponent, | ||
| WidgetElInputViewComponent: WidgetElInputViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElInputNumber = createWidgetElInputNumber; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| function createWidgetElInputNumber(VxeUI) { | ||
| var getWidgetElInputNumberConfig = function getWidgetElInputNumberConfig(params) { | ||
| return { | ||
| title: '数字', | ||
| icon: 'vxe-icon-number', | ||
| options: { | ||
| placeholder: '请输入' | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElInputNumberFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElInputNumberViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input-number'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElInputNumberConfig: getWidgetElInputNumberConfig, | ||
| WidgetElInputNumberFormComponent: WidgetElInputNumberFormComponent, | ||
| WidgetElInputNumberViewComponent: WidgetElInputNumberViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElRadio = createWidgetElRadio; | ||
| var _vue = require("vue"); | ||
| var _use = require("./use"); | ||
| var _comp = require("../util/comp"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| function createWidgetElRadio(VxeUI) { | ||
| var getWidgetElRadioConfig = function getWidgetElRadioConfig(params) { | ||
| return { | ||
| title: '单选框', | ||
| icon: 'vxe-icon-radio-checked', | ||
| options: { | ||
| options: _xeUtils["default"].range(0, 3).map(function (v, i) { | ||
| return { | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1]) | ||
| }; | ||
| }) | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElRadioFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false), | ||
| renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }), renderDataSourceFormItem()]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElRadioViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio-group'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }, { | ||
| "default": function _default() { | ||
| return options.options ? options.options.map(function (item, index) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio'), { | ||
| key: index, | ||
| value: item.value | ||
| }, { | ||
| "default": function _default() { | ||
| return "".concat(item.value || ''); | ||
| } | ||
| }); | ||
| }) : []; | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElRadioConfig: getWidgetElRadioConfig, | ||
| WidgetElRadioFormComponent: WidgetElRadioFormComponent, | ||
| WidgetElRadioViewComponent: WidgetElRadioViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElSelect = createWidgetElSelect; | ||
| var _vue = require("vue"); | ||
| var _use = require("./use"); | ||
| var _comp = require("../util/comp"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| function createWidgetElSelect(VxeUI) { | ||
| var getWidgetElSelectConfig = function getWidgetElSelectConfig(params) { | ||
| return { | ||
| title: '下拉框', | ||
| icon: 'vxe-icon-select', | ||
| options: { | ||
| placeholder: '请选择', | ||
| options: _xeUtils["default"].range(0, 3).map(function (v, i) { | ||
| return { | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1]) | ||
| }; | ||
| }) | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElSelectFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false), | ||
| renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| }), renderDataSourceFormItem()]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElSelectViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }, { | ||
| "default": function _default() { | ||
| return options.options ? options.options.map(function (item) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), { | ||
| label: item.value, | ||
| value: item.value | ||
| }); | ||
| }) : []; | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElSelectConfig: getWidgetElSelectConfig, | ||
| WidgetElSelectFormComponent: WidgetElSelectFormComponent, | ||
| WidgetElSelectViewComponent: WidgetElSelectViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElSwitch = createWidgetElSwitch; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| function createWidgetElSwitch(VxeUI) { | ||
| var getWidgetElSwitchConfig = function getWidgetElSwitchConfig(params) { | ||
| return { | ||
| title: '是/否', | ||
| icon: 'vxe-icon-switch', | ||
| options: {} | ||
| }; | ||
| }; | ||
| var WidgetElSwitchFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElSwitchViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-switch'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElSwitchConfig: getWidgetElSwitchConfig, | ||
| WidgetElSwitchFormComponent: WidgetElSwitchFormComponent, | ||
| WidgetElSwitchViewComponent: WidgetElSwitchViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createWidgetElTextarea = createWidgetElTextarea; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| function createWidgetElTextarea(VxeUI) { | ||
| var getWidgetElTextareaConfig = function getWidgetElTextareaConfig(params) { | ||
| return { | ||
| title: '文本域', | ||
| icon: 'vxe-icon-textarea', | ||
| options: { | ||
| placeholder: '请输入' | ||
| } | ||
| }; | ||
| }; | ||
| var WidgetElTextareaFormComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormComponent = VxeUI.getComponent('VxeForm'); | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch'); | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| return (0, _vue.h)(VxeUIFormComponent, { | ||
| "class": 'vxe-form-design--widget-render-form-wrapper', | ||
| vertical: true, | ||
| span: 24, | ||
| titleBold: true, | ||
| titleOverflow: true, | ||
| data: widget.options | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.name') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: widget.title, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.title = val; | ||
| } | ||
| }); | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'), | ||
| field: 'placeholder', | ||
| itemRender: { | ||
| name: 'ElInput' | ||
| } | ||
| }), (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.required') | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)(VxeUISwitchComponent, { | ||
| modelValue: widget.required, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| widget.required = val; | ||
| } | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| var WidgetElTextareaViewComponent = (0, _vue.defineComponent)({ | ||
| props: { | ||
| renderOpts: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| }, | ||
| renderParams: { | ||
| type: Object, | ||
| "default": function _default() { | ||
| return {}; | ||
| } | ||
| } | ||
| }, | ||
| emits: [], | ||
| setup: function setup(props) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var changeEvent = function changeEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| if ($formView) { | ||
| var itemValue = $formView ? $formView.getItemValue(widget) : null; | ||
| $formView.updateWidgetStatus(widget, itemValue); | ||
| } | ||
| }; | ||
| return function () { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget, | ||
| $formView = renderParams.$formView; | ||
| var options = widget.options; | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| "class": ['vxe-form-design--widget-render-form-item'], | ||
| field: widget.field, | ||
| title: widget.title | ||
| }, { | ||
| "default": function _default() { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), { | ||
| modelValue: $formView ? $formView.getItemValue(widget) : null, | ||
| placeholder: options.placeholder, | ||
| type: 'textarea', | ||
| autosize: { | ||
| minRows: 2, | ||
| maxRows: 4 | ||
| }, | ||
| onChange: changeEvent, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| if ($formView) { | ||
| $formView.setItemValue(widget, val); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| }); | ||
| }; | ||
| } | ||
| }); | ||
| return { | ||
| getWidgetElTextareaConfig: getWidgetElTextareaConfig, | ||
| WidgetElTextareaFormComponent: WidgetElTextareaFormComponent, | ||
| WidgetElTextareaViewComponent: WidgetElTextareaViewComponent | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.useWidgetPropDataSource = useWidgetPropDataSource; | ||
| var _vue = require("vue"); | ||
| function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } | ||
| function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } | ||
| function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } | ||
| function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } | ||
| function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } | ||
| function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } | ||
| function useWidgetPropDataSource(VxeUI, props, isSubOption) { | ||
| var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem'); | ||
| var VxeUIButtonComponent = VxeUI.getComponent('VxeButton'); | ||
| var VxeUITextareaComponent = VxeUI.getComponent('VxeTextarea'); | ||
| var VxeUITipComponent = VxeUI.getComponent('VxeTip'); | ||
| var optionsContent = (0, _vue.ref)(''); | ||
| var expandIndexList = (0, _vue.ref)([]); | ||
| var addOptionEvent = function addOptionEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var options = widget.options.options || []; | ||
| options.push({ | ||
| value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [options.length + 1]) | ||
| }); | ||
| widget.options.options = _toConsumableArray(options); | ||
| }; | ||
| var subRE = /^(\s|\t)+/; | ||
| var hasSubOption = function hasSubOption(str) { | ||
| return subRE.test(str); | ||
| }; | ||
| var expandAllOption = function expandAllOption() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var options = widget.options.options || []; | ||
| var indexList = []; | ||
| options.forEach(function (group, gIndex) { | ||
| var options = group.options; | ||
| if (options && options.length) { | ||
| indexList.push(gIndex); | ||
| } | ||
| }); | ||
| expandIndexList.value = indexList; | ||
| }; | ||
| var toggleExpandOption = function toggleExpandOption(item, gIndex) { | ||
| if (expandIndexList.value.includes(gIndex)) { | ||
| expandIndexList.value = expandIndexList.value.filter(function (num) { | ||
| return num !== gIndex; | ||
| }); | ||
| } else { | ||
| expandIndexList.value.push(gIndex); | ||
| } | ||
| }; | ||
| var confirmBatchAddOptionEvent = function confirmBatchAddOptionEvent() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var optList = []; | ||
| var rowList = optionsContent.value.split('\n'); | ||
| var prevGroup = null; | ||
| if (isSubOption) { | ||
| rowList.forEach(function (str, index) { | ||
| var nextStr = rowList[index + 1]; | ||
| var value = str.trim(); | ||
| if (!value) { | ||
| return; | ||
| } | ||
| var item = { | ||
| value: value | ||
| }; | ||
| if (prevGroup) { | ||
| if (hasSubOption(str)) { | ||
| prevGroup.options.push(item); | ||
| return; | ||
| } | ||
| prevGroup = null; | ||
| optList.push(item); | ||
| } else { | ||
| optList.push(item); | ||
| } | ||
| if (nextStr) { | ||
| if (hasSubOption(nextStr)) { | ||
| prevGroup = Object.assign(item, { | ||
| options: [] | ||
| }); | ||
| } | ||
| } | ||
| }); | ||
| } else { | ||
| rowList.forEach(function (str) { | ||
| optList.push({ | ||
| value: str.trim() | ||
| }); | ||
| }); | ||
| } | ||
| widget.options.options = optList; | ||
| expandAllOption(); | ||
| }; | ||
| var openPopupEditEvent = function openPopupEditEvent() { | ||
| var _widget$options$optio; | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var contList = []; | ||
| (_widget$options$optio = widget.options.options) === null || _widget$options$optio === void 0 || _widget$options$optio.forEach(function (group) { | ||
| var _group$options; | ||
| contList.push(group.value); | ||
| (_group$options = group.options) === null || _group$options === void 0 || _group$options.forEach(function (item) { | ||
| contList.push("\t".concat(item.value)); | ||
| }); | ||
| }); | ||
| optionsContent.value = contList.join('\n'); | ||
| VxeUI.modal.open({ | ||
| title: "".concat(widget.title, " - ").concat(VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption')), | ||
| width: 500, | ||
| height: '50vh ', | ||
| resize: true, | ||
| showFooter: true, | ||
| showCancelButton: true, | ||
| showConfirmButton: true, | ||
| confirmButtonText: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.buildOption'), | ||
| onConfirm: confirmBatchAddOptionEvent, | ||
| slots: { | ||
| "default": function _default() { | ||
| return (0, _vue.h)('div', { | ||
| "class": 'vxe-form-design--widget-form-item-data-source-popup' | ||
| }, [(0, _vue.h)(VxeUITipComponent, { | ||
| status: 'primary', | ||
| title: '', | ||
| content: VxeUI.getI18n("vxe.formDesign.widgetProp.dataSource.".concat(isSubOption ? 'batchEditSubTip' : 'batchEditTip')) | ||
| }), (0, _vue.h)(VxeUITextareaComponent, { | ||
| resize: 'none', | ||
| modelValue: optionsContent.value, | ||
| 'onUpdate:modelValue': function onUpdateModelValue(val) { | ||
| optionsContent.value = val; | ||
| } | ||
| })]); | ||
| } | ||
| } | ||
| }); | ||
| }; | ||
| var renderOption = function renderOption(item, hasFirstLevel, isExpand, gIndex, hasSub, isFirst, isLast) { | ||
| return (0, _vue.h)('div', { | ||
| "class": ['vxe-form-design--widget-form-item-data-source-option', { | ||
| 'is--first': isFirst, | ||
| 'is--last': isLast | ||
| }] | ||
| }, [(0, _vue.h)('div', { | ||
| "class": 'vxe-form-design--widget-expand-btn' | ||
| }, hasFirstLevel && hasSub ? [(0, _vue.h)('i', { | ||
| "class": isExpand ? VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE : VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN, | ||
| onClick: function onClick() { | ||
| toggleExpandOption(item, gIndex); | ||
| } | ||
| })] : []), (0, _vue.h)('input', { | ||
| "class": 'vxe-default-input', | ||
| value: item.value, | ||
| onInput: function onInput(evnt) { | ||
| item.value = evnt.currentTarget.value; | ||
| } | ||
| }), (0, _vue.h)(VxeUIButtonComponent, { | ||
| status: 'danger', | ||
| mode: 'text', | ||
| icon: VxeUI.getIcon().FORM_DESIGN_WIDGET_DELETE | ||
| })]); | ||
| }; | ||
| var renderOptions = function renderOptions() { | ||
| var renderParams = props.renderParams; | ||
| var widget = renderParams.widget; | ||
| var options = widget.options; | ||
| var groups = options.options; | ||
| var optVNs = []; | ||
| if (groups) { | ||
| groups.forEach(function (group, gIndex) { | ||
| var options = group.options; | ||
| var isExpand = expandIndexList.value.includes(gIndex); | ||
| if (options && options.length) { | ||
| optVNs.push(renderOption(group, true, isExpand, gIndex, true, gIndex === 0, gIndex === groups.length - 1)); | ||
| if (isExpand) { | ||
| optVNs.push((0, _vue.h)('div', { | ||
| "class": 'vxe-form-design--widget-form-item-data-source-sub-option' | ||
| }, options.map(function (item) { | ||
| return renderOption(item, false, isExpand, 0, false, false, false); | ||
| }))); | ||
| } | ||
| } else { | ||
| optVNs.push(renderOption(group, true, isExpand, gIndex, false, gIndex === 0, gIndex === groups.length - 1)); | ||
| } | ||
| }); | ||
| } | ||
| return optVNs; | ||
| }; | ||
| (0, _vue.watch)(function () { | ||
| return props.renderParams.widget; | ||
| }, function () { | ||
| expandAllOption(); | ||
| }); | ||
| (0, _vue.onMounted)(function () { | ||
| expandAllOption(); | ||
| }); | ||
| return { | ||
| renderDataSourceFormItem: function renderDataSourceFormItem() { | ||
| return (0, _vue.h)(VxeUIFormItemComponent, { | ||
| title: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.name'), | ||
| field: 'options' | ||
| }, { | ||
| "default": function _default() { | ||
| return [(0, _vue.h)('div', {}, [(0, _vue.h)(VxeUIButtonComponent, { | ||
| status: 'primary', | ||
| mode: 'text', | ||
| content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.addOption'), | ||
| onClick: addOptionEvent | ||
| }), (0, _vue.h)(VxeUIButtonComponent, { | ||
| status: 'primary', | ||
| mode: 'text', | ||
| content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption'), | ||
| onClick: openPopupEditEvent | ||
| })]), (0, _vue.h)('div', { | ||
| "class": 'vxe-form-design--widget-form-item-data-source' | ||
| }, renderOptions())]; | ||
| } | ||
| }); | ||
| } | ||
| }; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.defineFormRender = defineFormRender; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } | ||
| function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } | ||
| function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } | ||
| function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } | ||
| function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } | ||
| function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } | ||
| /** | ||
| * 表单 - 渲染器 | ||
| */ | ||
| function defineFormRender(VxeUI) { | ||
| function isEmptyValue(cellValue) { | ||
| return cellValue === null || cellValue === undefined || cellValue === ''; | ||
| } | ||
| function getOnName(type) { | ||
| return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1); | ||
| } | ||
| function getModelProp(renderOpts) { | ||
| return 'modelValue'; | ||
| } | ||
| function getModelEvent(renderOpts) { | ||
| return 'update:modelValue'; | ||
| } | ||
| function getChangeEvent(renderOpts) { | ||
| var type = 'change'; | ||
| switch (renderOpts.name) { | ||
| case 'ElAutocomplete': | ||
| type = 'select'; | ||
| break; | ||
| case 'ElInput': | ||
| case 'ElInputNumber': | ||
| type = 'input'; | ||
| break; | ||
| } | ||
| return type; | ||
| } | ||
| function getItemProps(renderOpts, params, value, defaultProps) { | ||
| return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value)); | ||
| } | ||
| function formatText(cellValue) { | ||
| return '' + (isEmptyValue(cellValue) ? '' : cellValue); | ||
| } | ||
| function getOns(renderOpts, params, inputFunc, changeFunc) { | ||
| var events = renderOpts.events; | ||
| var modelEvent = getModelEvent(renderOpts); | ||
| var changeEvent = getChangeEvent(renderOpts); | ||
| var isSameEvent = changeEvent === modelEvent; | ||
| var ons = {}; | ||
| _xeUtils["default"].objectEach(events, function (func, key) { | ||
| ons[getOnName(key)] = function () { | ||
| for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
| args[_key] = arguments[_key]; | ||
| } | ||
| func.apply(void 0, [params].concat(args)); | ||
| }; | ||
| }); | ||
| if (inputFunc) { | ||
| ons[getOnName(modelEvent)] = function (targetEvnt) { | ||
| inputFunc(targetEvnt); | ||
| if (events && events[modelEvent]) { | ||
| events[modelEvent](params, targetEvnt); | ||
| } | ||
| if (isSameEvent && changeFunc) { | ||
| changeFunc(targetEvnt); | ||
| } | ||
| }; | ||
| } | ||
| if (!isSameEvent && changeFunc) { | ||
| ons[getOnName(changeEvent)] = function () { | ||
| for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
| args[_key2] = arguments[_key2]; | ||
| } | ||
| changeFunc.apply(void 0, args); | ||
| if (events && events[changeEvent]) { | ||
| events[changeEvent].apply(events, [params].concat(args)); | ||
| } | ||
| }; | ||
| } | ||
| return ons; | ||
| } | ||
| function getItemOns(renderOpts, params) { | ||
| var $form = params.$form, | ||
| data = params.data, | ||
| field = params.field; | ||
| return getOns(renderOpts, params, function (value) { | ||
| // 处理 model 值双向绑定 | ||
| _xeUtils["default"].set(data, field, value); | ||
| }, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| $form.updateStatus(params); | ||
| }); | ||
| } | ||
| function renderOptions(options, optionProps) { | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| return _xeUtils["default"].map(options, function (item, oIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), { | ||
| key: oIndex, | ||
| value: item[valueProp], | ||
| label: item[labelProp], | ||
| disabled: item.disabled | ||
| }); | ||
| }); | ||
| } | ||
| function cellText(cellValue) { | ||
| return [formatText(cellValue)]; | ||
| } | ||
| function createFormItemRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| var data = params.data, | ||
| field = params.field; | ||
| var name = renderOpts.name; | ||
| var attrs = renderOpts.attrs; | ||
| var itemValue = _xeUtils["default"].get(data, field); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue, defaultProps)), getItemOns(renderOpts, params)))]; | ||
| }; | ||
| } | ||
| function defaultButtonItemRender(renderOpts, params) { | ||
| var attrs = renderOpts.attrs; | ||
| var props = getItemProps(renderOpts, params, null); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-button'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), getOns(renderOpts, params)), { | ||
| "default": function _default() { | ||
| return cellText(renderOpts.content || props.content); | ||
| } | ||
| })]; | ||
| } | ||
| function defaultButtonsItemRender(renderOpts, params) { | ||
| var children = renderOpts.children; | ||
| if (children) { | ||
| return children.map(function (childRenderOpts) { | ||
| return defaultButtonItemRender(childRenderOpts, params)[0]; | ||
| }); | ||
| } | ||
| return []; | ||
| } | ||
| /** | ||
| * 已废弃 | ||
| * @deprecated | ||
| */ | ||
| function createOldFormItemRadioAndCheckboxRender() { | ||
| return function (renderOpts, params) { | ||
| var name = renderOpts.name, | ||
| _renderOpts$options = renderOpts.options, | ||
| options = _renderOpts$options === void 0 ? [] : _renderOpts$options, | ||
| _renderOpts$optionPro = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro, | ||
| attrs = renderOpts.attrs; | ||
| var data = params.data, | ||
| field = params.field; | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| var itemValue = _xeUtils["default"].get(data, field); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)("".concat(name, "Group")), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), { | ||
| "default": function _default() { | ||
| return options.map(function (option, oIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)(name), { | ||
| key: oIndex, | ||
| label: option[valueProp], | ||
| disabled: option.disabled | ||
| }, { | ||
| "default": function _default() { | ||
| return cellText(option[labelProp]); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| })]; | ||
| }; | ||
| } | ||
| VxeUI.renderer.mixin({ | ||
| ElAutocomplete: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElInput: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElInputNumber: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElSelect: { | ||
| renderFormItemContent: function renderFormItemContent(renderOpts, params) { | ||
| var _renderOpts$options2 = renderOpts.options, | ||
| options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2, | ||
| optionGroups = renderOpts.optionGroups, | ||
| _renderOpts$optionPro2 = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2, | ||
| _renderOpts$optionGro = renderOpts.optionGroupProps, | ||
| optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro; | ||
| var data = params.data, | ||
| field = params.field; | ||
| var attrs = renderOpts.attrs; | ||
| var itemValue = _xeUtils["default"].get(data, field); | ||
| var props = getItemProps(renderOpts, params, itemValue); | ||
| var ons = getItemOns(renderOpts, params); | ||
| if (optionGroups) { | ||
| var groupOptions = optionGroupProps.options || 'options'; | ||
| var groupLabel = optionGroupProps.label || 'label'; | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), { | ||
| "default": function _default() { | ||
| return _xeUtils["default"].map(optionGroups, function (group, gIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), { | ||
| label: group[groupLabel], | ||
| key: gIndex | ||
| }, { | ||
| "default": function _default() { | ||
| return renderOptions(group[groupOptions], optionProps); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), { | ||
| "default": function _default() { | ||
| return renderOptions(options, optionProps); | ||
| } | ||
| })]; | ||
| } | ||
| }, | ||
| ElCascader: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElDatePicker: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElTimePicker: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElTimeSelect: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElRate: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElSwitch: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElSlider: { | ||
| renderFormItemContent: createFormItemRender() | ||
| }, | ||
| ElRadioGroup: { | ||
| renderFormItemContent: function renderFormItemContent(renderOpts, params) { | ||
| var _renderOpts$options3 = renderOpts.options, | ||
| options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3, | ||
| _renderOpts$optionPro3 = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3, | ||
| attrs = renderOpts.attrs; | ||
| var data = params.data, | ||
| field = params.field; | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| var itemValue = _xeUtils["default"].get(data, field); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-radio-group'), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), { | ||
| "default": function _default() { | ||
| return options.map(function (option, oIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio'), { | ||
| key: oIndex, | ||
| value: option[valueProp], | ||
| disabled: option.disabled | ||
| }, { | ||
| "default": function _default() { | ||
| return cellText(option[labelProp]); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }, | ||
| ElCheckboxGroup: { | ||
| renderFormItemContent: function renderFormItemContent(renderOpts, params) { | ||
| var _renderOpts$options4 = renderOpts.options, | ||
| options = _renderOpts$options4 === void 0 ? [] : _renderOpts$options4, | ||
| _renderOpts$optionPro4 = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro4 === void 0 ? {} : _renderOpts$optionPro4, | ||
| attrs = renderOpts.attrs; | ||
| var data = params.data, | ||
| field = params.field; | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| var itemValue = _xeUtils["default"].get(data, field); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox-group'), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), { | ||
| "default": function _default() { | ||
| return options.map(function (option, oIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox'), { | ||
| key: oIndex, | ||
| value: option[valueProp], | ||
| label: option[labelProp], | ||
| disabled: option.disabled | ||
| }); | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| }, | ||
| ElButton: { | ||
| renderFormItemContent: defaultButtonItemRender | ||
| }, | ||
| // 已废弃 | ||
| ElRadio: { | ||
| renderFormItemContent: createOldFormItemRadioAndCheckboxRender() | ||
| }, | ||
| ElCheckbox: { | ||
| renderFormItemContent: createOldFormItemRadioAndCheckboxRender() | ||
| }, | ||
| ElButtons: { | ||
| renderFormItemContent: defaultButtonsItemRender | ||
| } | ||
| }); | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports["default"] = exports.VxeUIPluginRenderElement = void 0; | ||
| var _table = require("./table"); | ||
| var _form = require("./form"); | ||
| var _formDesign = require("./form-design"); | ||
| var _store = require("./store"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| // eslint-disable-next-line no-unused-vars | ||
| var ElementPlus; | ||
| function getEventTarget(evnt) { | ||
| var target = evnt.target; | ||
| if (target && target.shadowRoot && evnt.composed) { | ||
| return evnt.composedPath()[0] || target; | ||
| } | ||
| return target; | ||
| } | ||
| /** | ||
| * 检查触发源是否属于目标节点 | ||
| */ | ||
| function getEventTargetNode(evnt, container, className) { | ||
| var targetElem; | ||
| var target = getEventTarget(evnt); | ||
| var rootEl = document.documentElement || document.querySelector('html'); | ||
| while (target && target.nodeType && target !== rootEl) { | ||
| if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) { | ||
| targetElem = target; | ||
| } else if (target === container) { | ||
| return { | ||
| flag: className ? !!targetElem : true, | ||
| container: container, | ||
| targetElem: targetElem | ||
| }; | ||
| } | ||
| target = target.parentElement; | ||
| } | ||
| return { | ||
| flag: false | ||
| }; | ||
| } | ||
| function toComponentName(name) { | ||
| if (name) { | ||
| return name.slice(0, 1).toUpperCase() + name.slice(1); | ||
| } | ||
| return name; | ||
| } | ||
| var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = { | ||
| component: function component(comp) { | ||
| if (comp && comp.name) { | ||
| var kcName = _xeUtils["default"].kebabCase(comp.name); | ||
| var ccName = toComponentName(_xeUtils["default"].camelCase(comp.name)); | ||
| _store.componentMaps[kcName] = comp; | ||
| _store.componentMaps[ccName] = comp; | ||
| } else { | ||
| console.error('[@vxe-ui/plugin-render-element 4.2.4] error component.', comp); | ||
| } | ||
| }, | ||
| install: function install(VxeUI, options) { | ||
| var pluginOpts = Object.assign({}, options); | ||
| if (options) { | ||
| ElementPlus = options.ElementPlus; | ||
| Object.assign(_store.globalConfig, options); | ||
| } | ||
| // 检查版本 | ||
| if (VxeUI.checkVersion) { | ||
| var pVersion = 4; | ||
| var sVersion = 11; | ||
| if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) { | ||
| console.error("[@vxe-ui/plugin-render-element 4.2.4] ".concat(VxeUI.getI18n('vxe.error.errorVersion', ["vxe-table@".concat(VxeUI.tableVersion || '?'), "vxe-table v".concat(pVersion, ".").concat(sVersion, "+")]), " https://vxeui.com/other4/#/plugin-render-element/install")); | ||
| } | ||
| } else { | ||
| if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) { | ||
| console.error('[@vxe-ui/plugin-render-element 4.2.4] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install'); | ||
| } | ||
| } | ||
| /** | ||
| * 事件兼容性处理 | ||
| */ | ||
| function handleClearEvent(params) { | ||
| var $event = params.$event; | ||
| var bodyElem = document.body; | ||
| var prefixCls = "".concat(pluginOpts.prefixCls || 'el').replace(/-$/, ''); | ||
| if ( | ||
| // 远程搜索 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-autocomplete-suggestion")).flag || | ||
| // 下拉框 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-select-dropdown")).flag || | ||
| // 级联 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader__dropdown")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader-menus")).flag || | ||
| // 日期 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-time-panel")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-picker-panel")).flag || | ||
| // 颜色 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-color-dropdown")).flag) { | ||
| return false; | ||
| } | ||
| } | ||
| (0, _table.defineTableRender)(VxeUI); | ||
| (0, _form.defineFormRender)(VxeUI); | ||
| (0, _formDesign.defineFormDesignRender)(VxeUI); | ||
| VxeUI.interceptor.add('event.clearFilter', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearEdit', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearAreas', handleClearEvent); | ||
| // 兼容老版本 | ||
| VxeUI.interceptor.add('event.clearActived', handleClearEvent); | ||
| } | ||
| }; | ||
| if (typeof window !== 'undefined') { | ||
| if (window.VxeUI && window.VxeUI.use) { | ||
| window.VxeUI.use(VxeUIPluginRenderElement); | ||
| } | ||
| if (window.ElementPlus) { | ||
| _store.globalConfig.ElementPlus = window.ElementPlus; | ||
| } | ||
| } | ||
| var _default = exports["default"] = VxeUIPluginRenderElement; |
-119
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports["default"] = exports.VxeUIPluginRenderElement = void 0; | ||
| var _table = require("./table"); | ||
| var _form = require("./form"); | ||
| var _formDesign = require("./form-design"); | ||
| var _store = require("./store"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| // eslint-disable-next-line no-unused-vars | ||
| var ElementPlus; | ||
| function getEventTarget(evnt) { | ||
| var target = evnt.target; | ||
| if (target && target.shadowRoot && evnt.composed) { | ||
| return evnt.composedPath()[0] || target; | ||
| } | ||
| return target; | ||
| } | ||
| /** | ||
| * 检查触发源是否属于目标节点 | ||
| */ | ||
| function getEventTargetNode(evnt, container, className) { | ||
| var targetElem; | ||
| var target = getEventTarget(evnt); | ||
| var rootEl = document.documentElement || document.querySelector('html'); | ||
| while (target && target.nodeType && target !== rootEl) { | ||
| if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) { | ||
| targetElem = target; | ||
| } else if (target === container) { | ||
| return { | ||
| flag: className ? !!targetElem : true, | ||
| container: container, | ||
| targetElem: targetElem | ||
| }; | ||
| } | ||
| target = target.parentElement; | ||
| } | ||
| return { | ||
| flag: false | ||
| }; | ||
| } | ||
| function toComponentName(name) { | ||
| if (name) { | ||
| return name.slice(0, 1).toUpperCase() + name.slice(1); | ||
| } | ||
| return name; | ||
| } | ||
| var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = { | ||
| component: function component(comp) { | ||
| if (comp && comp.name) { | ||
| var kcName = _xeUtils["default"].kebabCase(comp.name); | ||
| var ccName = toComponentName(_xeUtils["default"].camelCase(comp.name)); | ||
| _store.componentMaps[kcName] = comp; | ||
| _store.componentMaps[ccName] = comp; | ||
| } else { | ||
| console.error('[@vxe-ui/plugin-render-element 4.2.4] error component.', comp); | ||
| } | ||
| }, | ||
| install: function install(VxeUI, options) { | ||
| var pluginOpts = Object.assign({}, options); | ||
| if (options) { | ||
| ElementPlus = options.ElementPlus; | ||
| Object.assign(_store.globalConfig, options); | ||
| } | ||
| // 检查版本 | ||
| if (VxeUI.checkVersion) { | ||
| var pVersion = 4; | ||
| var sVersion = 11; | ||
| if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) { | ||
| console.error("[@vxe-ui/plugin-render-element 4.2.4] ".concat(VxeUI.getI18n('vxe.error.errorVersion', ["vxe-table@".concat(VxeUI.tableVersion || '?'), "vxe-table v".concat(pVersion, ".").concat(sVersion, "+")]), " https://vxeui.com/other4/#/plugin-render-element/install")); | ||
| } | ||
| } else { | ||
| if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) { | ||
| console.error('[@vxe-ui/plugin-render-element 4.2.4] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install'); | ||
| } | ||
| } | ||
| /** | ||
| * 事件兼容性处理 | ||
| */ | ||
| function handleClearEvent(params) { | ||
| var $event = params.$event; | ||
| var bodyElem = document.body; | ||
| var prefixCls = "".concat(pluginOpts.prefixCls || 'el').replace(/-$/, ''); | ||
| if ( | ||
| // 远程搜索 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-autocomplete-suggestion")).flag || | ||
| // 下拉框 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-select-dropdown")).flag || | ||
| // 级联 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader__dropdown")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader-menus")).flag || | ||
| // 日期 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-time-panel")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-picker-panel")).flag || | ||
| // 颜色 | ||
| getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-color-dropdown")).flag) { | ||
| return false; | ||
| } | ||
| } | ||
| (0, _table.defineTableRender)(VxeUI); | ||
| (0, _form.defineFormRender)(VxeUI); | ||
| (0, _formDesign.defineFormDesignRender)(VxeUI); | ||
| VxeUI.interceptor.add('event.clearFilter', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearEdit', handleClearEvent); | ||
| VxeUI.interceptor.add('event.clearAreas', handleClearEvent); | ||
| // 兼容老版本 | ||
| VxeUI.interceptor.add('event.clearActived', handleClearEvent); | ||
| } | ||
| }; | ||
| if (typeof window !== 'undefined') { | ||
| if (window.VxeUI && window.VxeUI.use) { | ||
| window.VxeUI.use(VxeUIPluginRenderElement); | ||
| } | ||
| if (window.ElementPlus) { | ||
| _store.globalConfig.ElementPlus = window.ElementPlus; | ||
| } | ||
| } | ||
| var _default = exports["default"] = VxeUIPluginRenderElement; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.globalConfig = exports.componentMaps = void 0; | ||
| var globalConfig = exports.globalConfig = {}; | ||
| var componentMaps = exports.componentMaps = {}; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.defineTableRender = defineTableRender; | ||
| var _vue = require("vue"); | ||
| var _comp = require("../util/comp"); | ||
| var _xeUtils = _interopRequireDefault(require("xe-utils")); | ||
| var _dayjs = _interopRequireDefault(require("dayjs")); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } | ||
| function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } | ||
| function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } | ||
| function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } | ||
| function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } | ||
| function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } | ||
| function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } | ||
| /** | ||
| * 表格 - 渲染器 | ||
| */ | ||
| function defineTableRender(VxeUI) { | ||
| function isEmptyValue(cellValue) { | ||
| return cellValue === null || cellValue === undefined || cellValue === ''; | ||
| } | ||
| function getOnName(type) { | ||
| return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1); | ||
| } | ||
| function getModelProp(renderOpts) { | ||
| return 'modelValue'; | ||
| } | ||
| function getModelEvent(renderOpts) { | ||
| return 'update:modelValue'; | ||
| } | ||
| function getChangeEvent(renderOpts) { | ||
| var type = 'change'; | ||
| switch (renderOpts.name) { | ||
| case 'ElAutocomplete': | ||
| type = 'select'; | ||
| break; | ||
| case 'ElInput': | ||
| case 'ElInputNumber': | ||
| type = 'input'; | ||
| break; | ||
| } | ||
| return type; | ||
| } | ||
| function toDayStringDate(value, format) { | ||
| return (0, _dayjs["default"])(value, format).toDate(); | ||
| } | ||
| function toDayDateString(date, format) { | ||
| return (0, _dayjs["default"])(date).format(format); | ||
| } | ||
| function parseDate(value, props) { | ||
| return value && props.valueFormat ? toDayStringDate(value, props.valueFormat) : value; | ||
| } | ||
| function getFormatDate(value, props, defaultFormat) { | ||
| return value ? toDayDateString(parseDate(value, props), props.format || props.valueFormat || defaultFormat) : value; | ||
| } | ||
| function getFormatDates(values, props, separator, defaultFormat) { | ||
| return _xeUtils["default"].map(values, function (date) { | ||
| return getFormatDate(date, props, defaultFormat); | ||
| }).join(separator); | ||
| } | ||
| function equalDateRange(cellValue, data, props, defaultFormat) { | ||
| cellValue = getFormatDate(cellValue, props, defaultFormat); | ||
| return cellValue >= getFormatDate(data[0], props, defaultFormat) && cellValue <= getFormatDate(data[1], props, defaultFormat); | ||
| } | ||
| function getCellEditFilterProps(renderOpts, params, value, defaultProps) { | ||
| return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value)); | ||
| } | ||
| function formatText(cellValue) { | ||
| return '' + (isEmptyValue(cellValue) ? '' : cellValue); | ||
| } | ||
| function updateFilterChangeOption(params, checked, option) { | ||
| var $table = params.$table; | ||
| $table.updateFilterOptionStatus(option, checked); | ||
| } | ||
| function saveFilterEvent(params) { | ||
| var $table = params.$table, | ||
| column = params.column; | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| } | ||
| function getCellLabelVNs(renderOpts, params, cellLabel) { | ||
| var placeholder = renderOpts.placeholder; | ||
| return [(0, _vue.h)('span', { | ||
| "class": 'vxe-cell--label' | ||
| }, placeholder && isEmptyValue(cellLabel) ? [(0, _vue.h)('span', { | ||
| "class": 'vxe-cell--placeholder' | ||
| }, formatText(VxeUI.getI18n(placeholder)))] : formatText(cellLabel))]; | ||
| } | ||
| var blurEvent = 'blur'; | ||
| var clearEvent = 'clear'; | ||
| /** | ||
| * 组件事件处理 | ||
| * @param renderOpts | ||
| * @param params | ||
| * @param modelFunc | ||
| * @param changeFunc | ||
| */ | ||
| function getComponentOns(renderOpts, params, eFns, eventOns) { | ||
| var events = renderOpts.events; | ||
| var modelEvent = getModelEvent(renderOpts); | ||
| var changeEvent = getChangeEvent(renderOpts); | ||
| var _ref = eFns || {}, | ||
| modelFunc = _ref.model, | ||
| changeFunc = _ref.change, | ||
| blurFunc = _ref.blur, | ||
| clearFunc = _ref.clear; | ||
| var ons = {}; | ||
| _xeUtils["default"].objectEach(events, function (func, key) { | ||
| ons[getOnName(key)] = function () { | ||
| if (!_xeUtils["default"].isFunction(func)) { | ||
| console.error("Parameter \"".concat(func, "\" is not a method")); | ||
| } | ||
| for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
| args[_key] = arguments[_key]; | ||
| } | ||
| func.apply(void 0, [params].concat(args)); | ||
| }; | ||
| }); | ||
| if (modelFunc) { | ||
| ons[getOnName(modelEvent)] = function (targetEvnt) { | ||
| modelFunc(targetEvnt); | ||
| if (events && events[modelEvent]) { | ||
| events[modelEvent](params, targetEvnt); | ||
| } | ||
| }; | ||
| } | ||
| if (changeFunc) { | ||
| ons[getOnName(changeEvent)] = function () { | ||
| for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
| args[_key2] = arguments[_key2]; | ||
| } | ||
| changeFunc.apply(void 0, args); | ||
| if (events && events[changeEvent]) { | ||
| events[changeEvent].apply(events, [params].concat(args)); | ||
| } | ||
| }; | ||
| } | ||
| if (blurFunc) { | ||
| ons[getOnName(blurEvent)] = function () { | ||
| for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
| args[_key3] = arguments[_key3]; | ||
| } | ||
| blurFunc.apply(void 0, args); | ||
| if (events && events[blurEvent]) { | ||
| events[blurEvent].apply(events, [params].concat(args)); | ||
| } | ||
| }; | ||
| } | ||
| if (clearFunc) { | ||
| ons[getOnName(clearEvent)] = function () { | ||
| for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { | ||
| args[_key4] = arguments[_key4]; | ||
| } | ||
| clearFunc.apply(void 0, args); | ||
| if (events && events[clearEvent]) { | ||
| events[clearEvent].apply(events, [params].concat(args)); | ||
| } | ||
| }; | ||
| } | ||
| return eventOns ? Object.assign(ons, eventOns) : ons; | ||
| } | ||
| function getEditOns(renderOpts, params) { | ||
| var $table = params.$table, | ||
| row = params.row, | ||
| column = params.column; | ||
| return getComponentOns(renderOpts, params, { | ||
| model: function model(value) { | ||
| // 处理 model 值双向绑定 | ||
| _xeUtils["default"].set(row, column.field, value); | ||
| }, | ||
| change: function change() { | ||
| // 处理 change 事件相关逻辑 | ||
| $table.updateStatus(params); | ||
| } | ||
| }); | ||
| } | ||
| function getFilterOns(renderOpts, params, option, changeFunc) { | ||
| return getComponentOns(renderOpts, params, { | ||
| model: function model(value) { | ||
| // 处理 model 值双向绑定 | ||
| option.data = value; | ||
| }, | ||
| change: changeFunc | ||
| }); | ||
| } | ||
| function getFloatingFilterOns(renderOpts, params, option) { | ||
| var $table = params.$table, | ||
| column = params.column; | ||
| if ((0, _comp.hasInputType)(renderOpts)) { | ||
| return getComponentOns(renderOpts, params, { | ||
| model: function model(value) { | ||
| // 处理 model 值双向绑定 | ||
| option.data = value; | ||
| }, | ||
| change: function change() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| }, | ||
| clear: function clear() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| saveFilterEvent(params); | ||
| }, | ||
| blur: function blur() { | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| } | ||
| }); | ||
| } | ||
| return getComponentOns(renderOpts, params, { | ||
| model: function model(value) { | ||
| // 处理 model 值双向绑定 | ||
| option.data = value; | ||
| }, | ||
| clear: function clear() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| }, | ||
| change: function change() { | ||
| updateFilterChangeOption(params, !isEmptyValue(option.data), option); | ||
| $table.saveFilterByEvent(new Event('change'), column); | ||
| } | ||
| }); | ||
| } | ||
| function matchCascaderData(index, list, values, labels) { | ||
| var val = values[index]; | ||
| if (list && values.length > index) { | ||
| _xeUtils["default"].each(list, function (item) { | ||
| if (item.value === val) { | ||
| labels.push(item.label); | ||
| matchCascaderData(++index, item.children, values, labels); | ||
| } | ||
| }); | ||
| } | ||
| } | ||
| function getSelectCellValue(renderOpts, params) { | ||
| var _renderOpts$options = renderOpts.options, | ||
| options = _renderOpts$options === void 0 ? [] : _renderOpts$options, | ||
| optionGroups = renderOpts.optionGroups, | ||
| _renderOpts$props = renderOpts.props, | ||
| props = _renderOpts$props === void 0 ? {} : _renderOpts$props, | ||
| _renderOpts$optionPro = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro, | ||
| _renderOpts$optionGro = renderOpts.optionGroupProps, | ||
| optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro; | ||
| var $table = params.$table, | ||
| rowid = params.rowid, | ||
| row = params.row, | ||
| column = params.column; | ||
| var filterable = props.filterable, | ||
| multiple = props.multiple; | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| var groupOptions = optionGroupProps.options || 'options'; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| var colid = column.id; | ||
| var cellData; | ||
| if (filterable) { | ||
| var internalData = $table.internalData; | ||
| var fullAllDataRowIdData = internalData.fullAllDataRowIdData; | ||
| var rest = fullAllDataRowIdData[rowid]; | ||
| if (rest) { | ||
| cellData = rest.cellData; | ||
| if (!cellData) { | ||
| cellData = rest.cellData = {}; | ||
| } | ||
| } | ||
| if (rest && cellData[colid] && cellData[colid].value === cellValue) { | ||
| return cellData[colid].label; | ||
| } | ||
| } | ||
| if (!isEmptyValue(cellValue)) { | ||
| var selectlabel = _xeUtils["default"].map(multiple ? cellValue : [cellValue], optionGroups ? function (value) { | ||
| var selectItem; | ||
| for (var index = 0; index < optionGroups.length; index++) { | ||
| selectItem = _xeUtils["default"].find(optionGroups[index][groupOptions], function (item) { | ||
| return item[valueProp] === value; | ||
| }); | ||
| if (selectItem) { | ||
| break; | ||
| } | ||
| } | ||
| return selectItem ? selectItem[labelProp] : value; | ||
| } : function (value) { | ||
| var selectItem = _xeUtils["default"].find(options, function (item) { | ||
| return item[valueProp] === value; | ||
| }); | ||
| return selectItem ? selectItem[labelProp] : value; | ||
| }).join(', '); | ||
| if (cellData && options && options.length) { | ||
| cellData[colid] = { | ||
| value: cellValue, | ||
| label: selectlabel | ||
| }; | ||
| } | ||
| return selectlabel; | ||
| } | ||
| return ''; | ||
| } | ||
| function getCascaderCellValue(renderOpts, params) { | ||
| var _renderOpts$props2 = renderOpts.props, | ||
| props = _renderOpts$props2 === void 0 ? {} : _renderOpts$props2; | ||
| var row = params.row, | ||
| column = params.column; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| var values = cellValue || []; | ||
| var labels = []; | ||
| matchCascaderData(0, props.options, values, labels); | ||
| return (props.showAllLevels === false ? labels.slice(labels.length - 1, labels.length) : labels).join(" ".concat(props.separator || '/', " ")); | ||
| } | ||
| function getDatePickerCellValue(renderOpts, params) { | ||
| var _renderOpts$props3 = renderOpts.props, | ||
| props = _renderOpts$props3 === void 0 ? {} : _renderOpts$props3; | ||
| var row = params.row, | ||
| column = params.column; | ||
| var _props$rangeSeparator = props.rangeSeparator, | ||
| rangeSeparator = _props$rangeSeparator === void 0 ? '-' : _props$rangeSeparator; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| switch (props.type) { | ||
| case 'week': | ||
| cellValue = getFormatDate(cellValue, props, 'YYYYwWW'); | ||
| break; | ||
| case 'month': | ||
| cellValue = getFormatDate(cellValue, props, 'YYYY-MM'); | ||
| break; | ||
| case 'year': | ||
| cellValue = getFormatDate(cellValue, props, 'YYYY'); | ||
| break; | ||
| case 'dates': | ||
| cellValue = getFormatDates(cellValue, props, ', ', 'YYYY-MM-DD'); | ||
| break; | ||
| case 'daterange': | ||
| cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM-DD'); | ||
| break; | ||
| case 'datetimerange': | ||
| cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM-DD HH:ss:mm'); | ||
| break; | ||
| case 'monthrange': | ||
| cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM'); | ||
| break; | ||
| default: | ||
| cellValue = getFormatDate(cellValue, props, 'YYYY-MM-DD'); | ||
| } | ||
| return cellValue; | ||
| } | ||
| function getTimePickerCellValue(renderOpts, params) { | ||
| var _renderOpts$props4 = renderOpts.props, | ||
| props = _renderOpts$props4 === void 0 ? {} : _renderOpts$props4; | ||
| var row = params.row, | ||
| column = params.column; | ||
| var isRange = props.isRange, | ||
| _props$format = props.format, | ||
| format = _props$format === void 0 ? 'HH:mm:ss' : _props$format, | ||
| _props$rangeSeparator2 = props.rangeSeparator, | ||
| rangeSeparator = _props$rangeSeparator2 === void 0 ? '-' : _props$rangeSeparator2; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| if (cellValue && isRange) { | ||
| cellValue = _xeUtils["default"].map(cellValue, function (date) { | ||
| return toDayDateString(parseDate(date, props), format); | ||
| }).join(" ".concat(rangeSeparator, " ")); | ||
| } | ||
| return toDayDateString(parseDate(cellValue, props), format); | ||
| } | ||
| function createEditRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| var row = params.row, | ||
| column = params.column; | ||
| var name = renderOpts.name, | ||
| attrs = renderOpts.attrs, | ||
| props = renderOpts.props; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, cellValue, defaultProps)), getEditOns(renderOpts, params)))]; | ||
| }; | ||
| } | ||
| function defaultButtonEditRender(renderOpts, params) { | ||
| var attrs = renderOpts.attrs, | ||
| props = renderOpts.props; | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-button'), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, null)), getComponentOns(renderOpts, params)), cellText(renderOpts.content))]; | ||
| } | ||
| function defaultButtonsEditRender(renderOpts, params) { | ||
| var children = renderOpts.children; | ||
| if (children) { | ||
| return children.map(function (childRenderOpts) { | ||
| return defaultButtonEditRender(childRenderOpts, params)[0]; | ||
| }); | ||
| } | ||
| return []; | ||
| } | ||
| function createFilterRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| var column = params.column; | ||
| var name = renderOpts.name, | ||
| attrs = renderOpts.attrs, | ||
| props = renderOpts.props; | ||
| return [(0, _vue.h)('div', { | ||
| "class": 'vxe-table--filter-element-wrapper' | ||
| }, column.filters.map(function (option, oIndex) { | ||
| var optionValue = option.data; | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({ | ||
| key: oIndex | ||
| }, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFilterOns(renderOpts, params, option, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, !!option.data, option); | ||
| }))); | ||
| }))]; | ||
| }; | ||
| } | ||
| function createFloatingFilterRender(defaultProps) { | ||
| return function (renderOpts, params) { | ||
| var option = params.option; | ||
| var name = renderOpts.name, | ||
| attrs = renderOpts.attrs, | ||
| props = renderOpts.props; | ||
| var optionValue = option.data; | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFloatingFilterOns(renderOpts, params, option)))]; | ||
| }; | ||
| } | ||
| function handleConfirmFilter(params, checked, option) { | ||
| var $panel = params.$panel; | ||
| $panel.changeOption(null, checked, option); | ||
| } | ||
| /** | ||
| * 模糊匹配 | ||
| * @param params | ||
| */ | ||
| function defaultFuzzyFilterMethod(params) { | ||
| var option = params.option, | ||
| row = params.row, | ||
| column = params.column; | ||
| var data = option.data; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| return _xeUtils["default"].toValueString(cellValue).indexOf(data) > -1; | ||
| } | ||
| /** | ||
| * 精确匹配 | ||
| * @param params | ||
| */ | ||
| function defaultExactFilterMethod(params) { | ||
| var option = params.option, | ||
| row = params.row, | ||
| column = params.column; | ||
| var data = option.data; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| /* eslint-disable eqeqeq */ | ||
| return cellValue === data; | ||
| } | ||
| function renderOptions(options, optionProps) { | ||
| var labelProp = optionProps.label || 'label'; | ||
| var valueProp = optionProps.value || 'value'; | ||
| return _xeUtils["default"].map(options, function (item, oIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), { | ||
| key: oIndex, | ||
| value: item[valueProp], | ||
| label: item[labelProp], | ||
| disabled: item.disabled | ||
| }); | ||
| }); | ||
| } | ||
| function cellText(cellValue) { | ||
| return [formatText(cellValue)]; | ||
| } | ||
| function createExportMethod(getExportCellValue) { | ||
| return function (params) { | ||
| var row = params.row, | ||
| column = params.column, | ||
| options = params.options; | ||
| return options && options.original ? _xeUtils["default"].get(row, column.field) : getExportCellValue(column.editRender || column.cellRender, params); | ||
| }; | ||
| } | ||
| function defaultFilterOptions() { | ||
| return [{ | ||
| data: null | ||
| }]; | ||
| } | ||
| VxeUI.renderer.mixin({ | ||
| ElAutocomplete: { | ||
| tableAutoFocus: 'input', | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElInput: { | ||
| tableAutoFocus: 'input', | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| renderTableFloatingFilter: createFloatingFilterRender(), | ||
| tableFilterDefaultMethod: defaultFuzzyFilterMethod | ||
| }, | ||
| ElInputNumber: { | ||
| tableAutoFocus: 'input', | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| renderTableFloatingFilter: createFloatingFilterRender(), | ||
| tableFilterDefaultMethod: defaultFuzzyFilterMethod | ||
| }, | ||
| ElSelect: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: function renderTableEdit(renderOpts, params) { | ||
| var _renderOpts$options2 = renderOpts.options, | ||
| options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2, | ||
| optionGroups = renderOpts.optionGroups, | ||
| _renderOpts$optionPro2 = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2, | ||
| _renderOpts$optionGro2 = renderOpts.optionGroupProps, | ||
| optionGroupProps = _renderOpts$optionGro2 === void 0 ? {} : _renderOpts$optionGro2; | ||
| var row = params.row, | ||
| column = params.column; | ||
| var attrs = renderOpts.attrs; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| var props = getCellEditFilterProps(renderOpts, params, cellValue); | ||
| var ons = getEditOns(renderOpts, params); | ||
| if (optionGroups) { | ||
| var groupOptions = optionGroupProps.options || 'options'; | ||
| var groupLabel = optionGroupProps.label || 'label'; | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), { | ||
| "default": function _default() { | ||
| return _xeUtils["default"].map(optionGroups, function (group, gIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), { | ||
| key: gIndex, | ||
| label: group[groupLabel] | ||
| }, { | ||
| "default": function _default() { | ||
| return renderOptions(group[groupOptions], optionProps); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| })]; | ||
| } | ||
| return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, props), attrs), ons), { | ||
| "default": function _default() { | ||
| return renderOptions(options, optionProps); | ||
| } | ||
| })]; | ||
| }, | ||
| renderTableCell: function renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params)); | ||
| }, | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: function renderTableFilter(renderOpts, params) { | ||
| var _renderOpts$options3 = renderOpts.options, | ||
| options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3, | ||
| optionGroups = renderOpts.optionGroups, | ||
| _renderOpts$optionPro3 = renderOpts.optionProps, | ||
| optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3, | ||
| _renderOpts$optionGro3 = renderOpts.optionGroupProps, | ||
| optionGroupProps = _renderOpts$optionGro3 === void 0 ? {} : _renderOpts$optionGro3; | ||
| var groupOptions = optionGroupProps.options || 'options'; | ||
| var groupLabel = optionGroupProps.label || 'label'; | ||
| var column = params.column; | ||
| var attrs = renderOpts.attrs; | ||
| return [(0, _vue.h)('div', { | ||
| "class": 'vxe-table--filter-element-wrapper' | ||
| }, optionGroups ? column.filters.map(function (option, oIndex) { | ||
| var optionValue = option.data; | ||
| var props = getCellEditFilterProps(renderOpts, params, optionValue); | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({ | ||
| key: oIndex | ||
| }, attrs), props), getFilterOns(renderOpts, params, option, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, props.multiple ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option); | ||
| })), { | ||
| "default": function _default() { | ||
| return _xeUtils["default"].map(optionGroups, function (group, gIndex) { | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), { | ||
| key: gIndex, | ||
| label: group[groupLabel] | ||
| }, { | ||
| "default": function _default() { | ||
| return renderOptions(group[groupOptions], optionProps); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| }); | ||
| }) : column.filters.map(function (option, oIndex) { | ||
| var optionValue = option.data; | ||
| var props = getCellEditFilterProps(renderOpts, params, optionValue); | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({ | ||
| key: oIndex | ||
| }, attrs), props), getFilterOns(renderOpts, params, option, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, props.multiple ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option); | ||
| })), { | ||
| "default": function _default() { | ||
| return renderOptions(options, optionProps); | ||
| } | ||
| }); | ||
| }))]; | ||
| }, | ||
| tableFilterDefaultMethod: function tableFilterDefaultMethod(params) { | ||
| var option = params.option, | ||
| row = params.row, | ||
| column = params.column; | ||
| var data = option.data; | ||
| var field = column.field, | ||
| renderOpts = column.filterRender; | ||
| var _renderOpts$props5 = renderOpts.props, | ||
| props = _renderOpts$props5 === void 0 ? {} : _renderOpts$props5; | ||
| var cellValue = _xeUtils["default"].get(row, field); | ||
| if (props.multiple) { | ||
| if (_xeUtils["default"].isArray(cellValue)) { | ||
| return _xeUtils["default"].includeArrays(cellValue, data); | ||
| } | ||
| return data.indexOf(cellValue) > -1; | ||
| } | ||
| /* eslint-disable eqeqeq */ | ||
| return cellValue == data; | ||
| }, | ||
| tableExportMethod: createExportMethod(getSelectCellValue) | ||
| }, | ||
| ElCascader: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender(), | ||
| renderTableCell: function renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getCascaderCellValue(renderOpts, params)); | ||
| }, | ||
| tableExportMethod: createExportMethod(getCascaderCellValue) | ||
| }, | ||
| ElDatePicker: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender(), | ||
| renderTableCell: function renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getDatePickerCellValue(renderOpts, params)); | ||
| }, | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: function renderTableFilter(renderOpts, params) { | ||
| var column = params.column; | ||
| var name = renderOpts.name, | ||
| attrs = renderOpts.attrs; | ||
| return [(0, _vue.h)('div', { | ||
| "class": 'vxe-table--filter-element-wrapper' | ||
| }, column.filters.map(function (option, oIndex) { | ||
| var optionValue = option.data; | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({ | ||
| key: oIndex | ||
| }, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, !!option.data, option); | ||
| }))); | ||
| }))]; | ||
| }, | ||
| renderTableFloatingFilter: createFloatingFilterRender(), | ||
| tableFilterDefaultMethod: function tableFilterDefaultMethod(params) { | ||
| var option = params.option, | ||
| row = params.row, | ||
| column = params.column; | ||
| var data = option.data; | ||
| var renderOpts = column.filterRender; | ||
| var _renderOpts$props6 = renderOpts.props, | ||
| props = _renderOpts$props6 === void 0 ? {} : _renderOpts$props6; | ||
| var cellValue = _xeUtils["default"].get(row, column.field); | ||
| if (data) { | ||
| switch (props.type) { | ||
| case 'daterange': | ||
| return equalDateRange(cellValue, data, props, 'YYYY-MM-DD'); | ||
| case 'datetimerange': | ||
| return equalDateRange(cellValue, data, props, 'YYYY-MM-DD HH:ss:mm'); | ||
| case 'monthrange': | ||
| return equalDateRange(cellValue, data, props, 'YYYY-MM'); | ||
| default: | ||
| return cellValue === data; | ||
| } | ||
| } | ||
| return false; | ||
| }, | ||
| tableExportMethod: createExportMethod(getDatePickerCellValue) | ||
| }, | ||
| ElTimePicker: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender(), | ||
| renderTableCell: function renderTableCell(renderOpts, params) { | ||
| return getCellLabelVNs(renderOpts, params, getTimePickerCellValue(renderOpts, params)); | ||
| }, | ||
| tableExportMethod: createExportMethod(getTimePickerCellValue) | ||
| }, | ||
| ElTimeSelect: { | ||
| tableAutoFocus: 'input', | ||
| renderTableEdit: createEditRender() | ||
| }, | ||
| ElRate: { | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElSwitch: { | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| renderTableFilter: function renderTableFilter(renderOpts, params) { | ||
| var column = params.column; | ||
| var name = renderOpts.name, | ||
| attrs = renderOpts.attrs; | ||
| return [(0, _vue.h)('div', { | ||
| "class": 'vxe-table--filter-element-wrapper' | ||
| }, column.filters.map(function (option, oIndex) { | ||
| var optionValue = option.data; | ||
| return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({ | ||
| key: oIndex | ||
| }, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, function () { | ||
| // 处理 change 事件相关逻辑 | ||
| handleConfirmFilter(params, _xeUtils["default"].isBoolean(option.data), option); | ||
| }))); | ||
| }))]; | ||
| }, | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElSlider: { | ||
| renderTableDefault: createEditRender(), | ||
| renderTableEdit: createEditRender(), | ||
| createTableFilterOptions: defaultFilterOptions, | ||
| renderTableFilter: createFilterRender(), | ||
| tableFilterDefaultMethod: defaultExactFilterMethod | ||
| }, | ||
| ElButton: { | ||
| renderTableDefault: defaultButtonEditRender | ||
| }, | ||
| ElButtons: { | ||
| renderTableDefault: defaultButtonsEditRender | ||
| } | ||
| }); | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.getCurrComponent = getCurrComponent; | ||
| exports.hasInputType = hasInputType; | ||
| var _vue = require("vue"); | ||
| var _store = require("../store"); | ||
| function getCurrComponent(name) { | ||
| var comp = _store.componentMaps[name] || (_store.globalConfig.ElementPlus ? _store.globalConfig.ElementPlus[name] : null); | ||
| if (comp) { | ||
| return comp; | ||
| } | ||
| return (0, _vue.resolveComponent)(name); | ||
| } | ||
| function hasInputType(renderOpts) { | ||
| switch (renderOpts.name) { | ||
| case 'ElInput': | ||
| case 'ElInputNumber': | ||
| case 'ElTextarea': | ||
| return true; | ||
| } | ||
| return false; | ||
| } |
Sorry, the diff of this file is too big to display
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
707657
77.01%39
-2.5%61
56.41%14084
66.2%2
100%1
Infinity%