vxe-pc-ui 4.0.23 → 4.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/button/src/button.js +23 -4
- package/es/date-picker/src/date-picker.js +33 -14
- package/es/form-design/src/form-view.js +17 -7
- package/es/form-design/src/layout-preview.js +1 -1
- package/es/form-design/src/layout-setting.js +1 -1
- package/es/form-design/src/layout-widget.js +3 -3
- package/es/form-design/style.css +1 -1
- package/es/form-design/style.min.css +1 -1
- package/es/form-design/widget-row/row-view.js +3 -2
- package/es/form-design/widget-subtable/subtable-view.js +55 -4
- package/es/icon/style.css +1 -1
- package/es/input/src/input.js +22 -3
- package/es/number-input/src/number-input.js +6 -6
- package/es/password-input/src/password-input.js +3 -3
- package/es/pulldown/src/pulldown.js +23 -4
- package/es/select/src/select.js +22 -3
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +19 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-form-design/style.css +1 -1
- package/es/vxe-form-design/style.min.css +1 -1
- package/lib/button/src/button.js +20 -4
- package/lib/button/src/button.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +31 -15
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/form-design/src/form-view.js +20 -8
- package/lib/form-design/src/form-view.min.js +1 -1
- package/lib/form-design/src/layout-preview.js +3 -1
- package/lib/form-design/src/layout-preview.min.js +1 -1
- package/lib/form-design/src/layout-setting.js +2 -1
- package/lib/form-design/src/layout-setting.min.js +1 -1
- package/lib/form-design/src/layout-widget.js +4 -2
- package/lib/form-design/src/layout-widget.min.js +1 -1
- package/lib/form-design/style/style.css +1 -1
- package/lib/form-design/style/style.min.css +1 -1
- package/lib/form-design/widget-row/row-view.js +7 -2
- package/lib/form-design/widget-row/row-view.min.js +1 -1
- package/lib/form-design/widget-subtable/subtable-view.js +65 -3
- package/lib/form-design/widget-subtable/subtable-view.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +244 -60
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +20 -4
- package/lib/input/src/input.min.js +1 -1
- package/lib/number-input/src/number-input.js +6 -6
- package/lib/number-input/src/number-input.min.js +1 -1
- package/lib/password-input/src/password-input.js +3 -3
- package/lib/password-input/src/password-input.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +22 -3
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/select/src/select.js +19 -3
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +19 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-form-design/style/style.css +1 -1
- package/lib/vxe-form-design/style/style.min.css +1 -1
- package/package.json +3 -3
- package/packages/button/src/button.ts +26 -6
- package/packages/date-picker/src/date-picker.ts +36 -15
- package/packages/form-design/src/form-view.ts +19 -7
- package/packages/form-design/src/layout-preview.ts +1 -1
- package/packages/form-design/src/layout-setting.ts +1 -1
- package/packages/form-design/src/layout-widget.ts +3 -3
- package/packages/form-design/widget-row/row-view.ts +4 -2
- package/packages/form-design/widget-subtable/subtable-view.ts +61 -5
- package/packages/input/src/input.ts +25 -4
- package/packages/number-input/src/number-input.ts +6 -6
- package/packages/password-input/src/password-input.ts +3 -3
- package/packages/pulldown/src/pulldown.ts +26 -5
- package/packages/select/src/select.ts +25 -4
- package/packages/ui/index.ts +18 -1
- package/styles/components/widget-item/prop-list.scss +1 -1
- package/types/components/form-view.d.ts +1 -1
- package/types/components/table.d.ts +18 -2
- package/types/ui/renderer.d.ts +11 -3
- /package/es/icon/style/{iconfont.1718715852220.ttf → iconfont.1718869230552.ttf} +0 -0
- /package/es/icon/style/{iconfont.1718715852220.woff → iconfont.1718869230552.woff} +0 -0
- /package/es/icon/style/{iconfont.1718715852220.woff2 → iconfont.1718869230552.woff2} +0 -0
- /package/es/{iconfont.1718715852220.ttf → iconfont.1718869230552.ttf} +0 -0
- /package/es/{iconfont.1718715852220.woff → iconfont.1718869230552.woff} +0 -0
- /package/es/{iconfont.1718715852220.woff2 → iconfont.1718869230552.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1718715852220.ttf → iconfont.1718869230552.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1718715852220.woff → iconfont.1718869230552.woff} +0 -0
- /package/lib/icon/style/{iconfont.1718715852220.woff2 → iconfont.1718869230552.woff2} +0 -0
- /package/lib/{iconfont.1718715852220.ttf → iconfont.1718869230552.ttf} +0 -0
- /package/lib/{iconfont.1718715852220.woff → iconfont.1718869230552.woff} +0 -0
- /package/lib/{iconfont.1718715852220.woff2 → iconfont.1718869230552.woff2} +0 -0
package/es/button/src/button.js
CHANGED
|
@@ -65,7 +65,10 @@ export default defineComponent({
|
|
|
65
65
|
/**
|
|
66
66
|
* 是否将弹框容器插入于 body 内
|
|
67
67
|
*/
|
|
68
|
-
transfer: {
|
|
68
|
+
transfer: {
|
|
69
|
+
type: Boolean,
|
|
70
|
+
default: null
|
|
71
|
+
}
|
|
69
72
|
},
|
|
70
73
|
emits: [
|
|
71
74
|
'click',
|
|
@@ -75,6 +78,8 @@ export default defineComponent({
|
|
|
75
78
|
],
|
|
76
79
|
setup(props, context) {
|
|
77
80
|
const { slots, emit } = context;
|
|
81
|
+
const $xeTable = inject('$xeTable', null);
|
|
82
|
+
const $xeButtonGroup = inject('$xeButtonGroup', null);
|
|
78
83
|
const xID = XEUtils.uniqueId();
|
|
79
84
|
const { computeSize } = useSize(props);
|
|
80
85
|
const reactData = reactive({
|
|
@@ -102,8 +107,20 @@ export default defineComponent({
|
|
|
102
107
|
internalData,
|
|
103
108
|
getRefMaps: () => refMaps
|
|
104
109
|
};
|
|
105
|
-
const $xeButtonGroup = inject('$xeButtonGroup', null);
|
|
106
110
|
let buttonMethods = {};
|
|
111
|
+
const compTransfer = computed(() => {
|
|
112
|
+
const { transfer } = props;
|
|
113
|
+
if (transfer === null) {
|
|
114
|
+
const globalTransfer = getConfig().button.transfer;
|
|
115
|
+
if (XEUtils.isBoolean(globalTransfer)) {
|
|
116
|
+
return globalTransfer;
|
|
117
|
+
}
|
|
118
|
+
if ($xeTable) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return transfer;
|
|
123
|
+
});
|
|
107
124
|
const computeIsFormBtn = computed(() => {
|
|
108
125
|
const { type } = props;
|
|
109
126
|
if (type) {
|
|
@@ -155,10 +172,11 @@ export default defineComponent({
|
|
|
155
172
|
};
|
|
156
173
|
const updatePlacement = () => {
|
|
157
174
|
return nextTick().then(() => {
|
|
158
|
-
const {
|
|
175
|
+
const { placement } = props;
|
|
159
176
|
const { panelIndex } = reactData;
|
|
160
177
|
const targetElem = refButton.value;
|
|
161
178
|
const panelElem = refBtnPanel.value;
|
|
179
|
+
const transfer = compTransfer.value;
|
|
162
180
|
if (panelElem && targetElem) {
|
|
163
181
|
const targetHeight = targetElem.offsetHeight;
|
|
164
182
|
const targetWidth = targetElem.offsetWidth;
|
|
@@ -391,13 +409,14 @@ export default defineComponent({
|
|
|
391
409
|
globalEvents.off($xeButton, 'mousewheel');
|
|
392
410
|
});
|
|
393
411
|
const renderVN = () => {
|
|
394
|
-
const { className, popupClassName,
|
|
412
|
+
const { className, popupClassName, title, type, destroyOnClose, name, disabled, loading } = props;
|
|
395
413
|
const { inited, showPanel } = reactData;
|
|
396
414
|
const isFormBtn = computeIsFormBtn.value;
|
|
397
415
|
const btnMode = computeBtnMode.value;
|
|
398
416
|
const btnStatus = computeBtnStatus.value;
|
|
399
417
|
const btnRound = computeBtnRound.value;
|
|
400
418
|
const btnCircle = computeBtnCircle.value;
|
|
419
|
+
const transfer = compTransfer.value;
|
|
401
420
|
const vSize = computeSize.value;
|
|
402
421
|
if (slots.dropdowns) {
|
|
403
422
|
return h('div', {
|
|
@@ -54,39 +54,42 @@ export default defineComponent({
|
|
|
54
54
|
immediate: { type: Boolean, default: true },
|
|
55
55
|
name: String,
|
|
56
56
|
type: { type: String, default: 'text' },
|
|
57
|
-
clearable: { type: Boolean, default: () => getConfig().
|
|
57
|
+
clearable: { type: Boolean, default: () => getConfig().datePicker.clearable },
|
|
58
58
|
readonly: Boolean,
|
|
59
59
|
disabled: Boolean,
|
|
60
60
|
placeholder: {
|
|
61
61
|
type: String,
|
|
62
|
-
default: () => XEUtils.eqNull(getConfig().
|
|
62
|
+
default: () => XEUtils.eqNull(getConfig().datePicker.placeholder) ? getI18n('vxe.base.pleaseSelect') : getConfig().datePicker.placeholder
|
|
63
63
|
},
|
|
64
64
|
maxlength: [String, Number],
|
|
65
65
|
autocomplete: { type: String, default: 'off' },
|
|
66
66
|
align: String,
|
|
67
67
|
form: String,
|
|
68
68
|
className: String,
|
|
69
|
-
size: { type: String, default: () => getConfig().
|
|
69
|
+
size: { type: String, default: () => getConfig().datePicker.size || getConfig().size },
|
|
70
70
|
multiple: Boolean,
|
|
71
71
|
// date、week、month、quarter、year
|
|
72
|
-
startDate: { type: [String, Number, Date], default: () => getConfig().
|
|
73
|
-
endDate: { type: [String, Number, Date], default: () => getConfig().
|
|
72
|
+
startDate: { type: [String, Number, Date], default: () => getConfig().datePicker.startDate },
|
|
73
|
+
endDate: { type: [String, Number, Date], default: () => getConfig().datePicker.endDate },
|
|
74
74
|
minDate: [String, Number, Date],
|
|
75
75
|
maxDate: [String, Number, Date],
|
|
76
76
|
// 已废弃 startWeek,被 startDay 替换
|
|
77
77
|
startWeek: Number,
|
|
78
|
-
startDay: { type: [String, Number], default: () => getConfig().
|
|
79
|
-
labelFormat: { type: String, default: () => getConfig().
|
|
80
|
-
valueFormat: { type: String, default: () => getConfig().
|
|
78
|
+
startDay: { type: [String, Number], default: () => getConfig().datePicker.startDay },
|
|
79
|
+
labelFormat: { type: String, default: () => getConfig().datePicker.labelFormat },
|
|
80
|
+
valueFormat: { type: String, default: () => getConfig().datePicker.valueFormat },
|
|
81
81
|
editable: { type: Boolean, default: true },
|
|
82
|
-
festivalMethod: { type: Function, default: () => getConfig().
|
|
83
|
-
disabledMethod: { type: Function, default: () => getConfig().
|
|
82
|
+
festivalMethod: { type: Function, default: () => getConfig().datePicker.festivalMethod },
|
|
83
|
+
disabledMethod: { type: Function, default: () => getConfig().datePicker.disabledMethod },
|
|
84
84
|
// week
|
|
85
|
-
selectDay: { type: [String, Number], default: () => getConfig().
|
|
85
|
+
selectDay: { type: [String, Number], default: () => getConfig().datePicker.selectDay },
|
|
86
86
|
prefixIcon: String,
|
|
87
87
|
suffixIcon: String,
|
|
88
88
|
placement: String,
|
|
89
|
-
transfer: {
|
|
89
|
+
transfer: {
|
|
90
|
+
type: Boolean,
|
|
91
|
+
default: null
|
|
92
|
+
}
|
|
90
93
|
},
|
|
91
94
|
emits: [
|
|
92
95
|
'update:modelValue',
|
|
@@ -107,6 +110,7 @@ export default defineComponent({
|
|
|
107
110
|
],
|
|
108
111
|
setup(props, context) {
|
|
109
112
|
const { slots, emit } = context;
|
|
113
|
+
const $xeTable = inject('$xeTable', null);
|
|
110
114
|
const $xeForm = inject('$xeForm', null);
|
|
111
115
|
const formItemInfo = inject('xeFormItemInfo', null);
|
|
112
116
|
const xID = XEUtils.uniqueId();
|
|
@@ -151,6 +155,19 @@ export default defineComponent({
|
|
|
151
155
|
}
|
|
152
156
|
return XEUtils.toStringDate(value, format);
|
|
153
157
|
};
|
|
158
|
+
const compTransfer = computed(() => {
|
|
159
|
+
const { transfer } = props;
|
|
160
|
+
if (transfer === null) {
|
|
161
|
+
const globalTransfer = getConfig().datePicker.transfer;
|
|
162
|
+
if (XEUtils.isBoolean(globalTransfer)) {
|
|
163
|
+
return globalTransfer;
|
|
164
|
+
}
|
|
165
|
+
if ($xeTable) {
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return transfer;
|
|
170
|
+
});
|
|
154
171
|
const computeIsDateTimeType = computed(() => {
|
|
155
172
|
const { type } = props;
|
|
156
173
|
return type === 'time' || type === 'datetime';
|
|
@@ -1151,10 +1168,11 @@ export default defineComponent({
|
|
|
1151
1168
|
};
|
|
1152
1169
|
const updatePlacement = () => {
|
|
1153
1170
|
return nextTick().then(() => {
|
|
1154
|
-
const {
|
|
1171
|
+
const { placement } = props;
|
|
1155
1172
|
const { panelIndex } = reactData;
|
|
1156
1173
|
const targetElem = refInputTarget.value;
|
|
1157
1174
|
const panelElem = refDatePickerPanel.value;
|
|
1175
|
+
const transfer = compTransfer.value;
|
|
1158
1176
|
if (targetElem && panelElem) {
|
|
1159
1177
|
const targetHeight = targetElem.offsetHeight;
|
|
1160
1178
|
const targetWidth = targetElem.offsetWidth;
|
|
@@ -1746,10 +1764,11 @@ export default defineComponent({
|
|
|
1746
1764
|
];
|
|
1747
1765
|
};
|
|
1748
1766
|
const renderPanel = () => {
|
|
1749
|
-
const { type
|
|
1767
|
+
const { type } = props;
|
|
1750
1768
|
const { inited, animatVisible, visiblePanel, panelPlacement, panelStyle } = reactData;
|
|
1751
1769
|
const vSize = computeSize.value;
|
|
1752
1770
|
const isDatePickerType = computeIsDatePickerType.value;
|
|
1771
|
+
const transfer = compTransfer.value;
|
|
1753
1772
|
const renders = [];
|
|
1754
1773
|
if (isDatePickerType) {
|
|
1755
1774
|
if (type === 'datetime') {
|
|
@@ -74,14 +74,26 @@ export default defineComponent({
|
|
|
74
74
|
updateWidgetInfo();
|
|
75
75
|
return nextTick();
|
|
76
76
|
};
|
|
77
|
+
const getWidgetDefaultValue = (widget) => {
|
|
78
|
+
switch (widget.name) {
|
|
79
|
+
case 'subtable':
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
};
|
|
84
|
+
const getWidgetDefaultRule = () => {
|
|
85
|
+
return [
|
|
86
|
+
{ required: true, content: '该填写该字段!' }
|
|
87
|
+
];
|
|
88
|
+
};
|
|
77
89
|
const updateWidgetInfo = () => {
|
|
78
|
-
const formData =
|
|
90
|
+
const formData = {};
|
|
79
91
|
const formRules = {};
|
|
80
92
|
XEUtils.eachTree(reactData.widgetObjList, widget => {
|
|
81
93
|
const { name, field, required } = widget;
|
|
82
94
|
const compConf = renderer.get(name) || {};
|
|
83
95
|
const createWidgetViewRules = compConf.createFormDesignWidgetRules;
|
|
84
|
-
formData[field] =
|
|
96
|
+
formData[field] = getWidgetDefaultValue(widget);
|
|
85
97
|
if (createWidgetViewRules) {
|
|
86
98
|
const rules = createWidgetViewRules({ widget });
|
|
87
99
|
if (rules && rules.length) {
|
|
@@ -89,13 +101,11 @@ export default defineComponent({
|
|
|
89
101
|
}
|
|
90
102
|
}
|
|
91
103
|
else if (required) {
|
|
92
|
-
formRules[field] =
|
|
93
|
-
{ required: true, content: '该填写该字段!' }
|
|
94
|
-
];
|
|
104
|
+
formRules[field] = getWidgetDefaultRule();
|
|
95
105
|
}
|
|
96
106
|
}, { children: 'children' });
|
|
97
107
|
reactData.formRules = formRules;
|
|
98
|
-
emit('update:modelValue', formData);
|
|
108
|
+
emit('update:modelValue', Object.assign(formData, props.modelValue));
|
|
99
109
|
};
|
|
100
110
|
const updateItemStatus = (widget, value) => {
|
|
101
111
|
const { field } = widget;
|
|
@@ -183,7 +193,7 @@ export default defineComponent({
|
|
|
183
193
|
const renderWidgetDesignPreview = compConf.renderFormDesignWidgetPreview;
|
|
184
194
|
const renderWidgetDesignMobilePreview = compConf.renderFormDesignWidgetMobilePreview;
|
|
185
195
|
const renderOpts = widget;
|
|
186
|
-
const params = { widget, isEditMode: false, isViewMode: true };
|
|
196
|
+
const params = { widget, isEditMode: false, isViewMode: true, $formDesign: null, $formView: $xeFormView };
|
|
187
197
|
return h(VxeFormGatherComponent, {
|
|
188
198
|
key: widget.id
|
|
189
199
|
}, {
|
|
@@ -58,7 +58,7 @@ export default defineComponent({
|
|
|
58
58
|
const compConf = renderer.get(name) || {};
|
|
59
59
|
const renderWidgetDesignView = compConf.renderFormDesignWidgetEdit || compConf.renderFormDesignWidgetView;
|
|
60
60
|
const renderOpts = widget;
|
|
61
|
-
const params = { widget, isEditMode: true, isViewMode: false };
|
|
61
|
+
const params = { widget, isEditMode: true, isViewMode: false, $formDesign: $xeFormDesign, $formView: null };
|
|
62
62
|
return renderWidgetDesignView ? getSlotVNs(renderWidgetDesignView(renderOpts, params)) : [];
|
|
63
63
|
}
|
|
64
64
|
});
|
|
@@ -23,7 +23,7 @@ export default defineComponent({
|
|
|
23
23
|
if (renderWidgetFormView) {
|
|
24
24
|
return h('div', {
|
|
25
25
|
class: 'vxe-form-design--custom-widget-form-view'
|
|
26
|
-
}, getSlotVNs(renderWidgetFormView(activeWidget, { widget: activeWidget })));
|
|
26
|
+
}, getSlotVNs(renderWidgetFormView(activeWidget, { widget: activeWidget, $formDesign: $xeFormDesign })));
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
return createCommentVNode();
|
|
@@ -58,7 +58,7 @@ export default defineComponent({
|
|
|
58
58
|
const { name } = widget;
|
|
59
59
|
const configTitle = getWidgetConfigTitle(name, $xeFormDesign);
|
|
60
60
|
const compConf = renderer.get(name) || {};
|
|
61
|
-
const
|
|
61
|
+
const renderWidgetItem = compConf.renderFormDesignWidgetItem;
|
|
62
62
|
widgetVNs.push(h('div', {
|
|
63
63
|
key: index,
|
|
64
64
|
class: 'vxe-form-design--widget-item'
|
|
@@ -72,8 +72,8 @@ export default defineComponent({
|
|
|
72
72
|
onDblclick(evnt) {
|
|
73
73
|
addNewWidget(evnt, name);
|
|
74
74
|
}
|
|
75
|
-
},
|
|
76
|
-
? getSlotVNs(
|
|
75
|
+
}, renderWidgetItem
|
|
76
|
+
? getSlotVNs(renderWidgetItem({}, { $formDesign: $xeFormDesign }))
|
|
77
77
|
: [
|
|
78
78
|
h('i', {
|
|
79
79
|
class: ['vxe-form-design--widget-item-icon', getWidgetConfigIcon(name)]
|
package/es/form-design/style.css
CHANGED
|
@@ -467,7 +467,7 @@
|
|
|
467
467
|
.vxe-form-design .vxe-form-design--widget-form-item-prop-list > span:first-child,
|
|
468
468
|
.vxe-form-design .vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-width,
|
|
469
469
|
.vxe-form-design .vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-unit {
|
|
470
|
-
display: inline-
|
|
470
|
+
display: inline-flex;
|
|
471
471
|
vertical-align: middle;
|
|
472
472
|
}
|
|
473
473
|
.vxe-form-design .vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-width {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-form-design--widget-form-empty-data,.vxe-list-design--widget-form-empty-data{text-align:center;color:var(--vxe-ui-input-placeholder-color);border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);padding:var(--vxe-ui-layout-padding-double)}.vxe-form-design--widget-row-form-row{border:1px solid var(--vxe-ui-input-border-color);margin-bottom:var(--vxe-ui-layout-padding-default);border-radius:var(--vxe-ui-base-border-radius);cursor:pointer}.vxe-form-design--widget-row-form-row:hover{border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-row-form-row.is--active{border-color:var(--vxe-ui-font-primary-color);color:var(--vxe-ui-layout-background-color)}.vxe-form-design--widget-row-form-row.is--active .vxe-form-design--widget-row-form-col div{background:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-row-form-col{padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-row-form-col>div{line-height:24px;background:var(--vxe-ui-font-tinge-color);text-align:center;border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-row-view{position:relative;min-height:100%;padding:var(--vxe-ui-layout-padding-default);border:1px solid transparent;cursor:grabbing}.vxe-form-design--widget-row-view::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-row-view:hover{background-color:var(--vxe-ui-form-design-sub-widget-hover-background-color)}.vxe-form-design--widget-row-view:hover .vxe-form-design--widget-row-view-empty{background-color:transparent}.vxe-form-design--widget-row-view.is--active{border:1px dashed var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-row-view.is--drag,.vxe-form-design--widget-row-view.is--sort{background-color:var(--vxe-ui-base-drag-background-color)}.vxe-form-design--widget-row-view-empty{display:flex;flex-direction:row;align-items:center;justify-content:center;height:78px;padding:var(--vxe-ui-layout-padding-default);color:var(--vxe-ui-font-placeholder-color);border:2px dashed var(--vxe-ui-input-border-color);font-size:.95em;background-color:var(--vxe-ui-layout-background-color)}.vxe-form-design--preview-item.widget-row::after,.vxe-form-design--preview-item.widget-subtable::after{display:none}.vxe-form-design--preview-item.widget-row{padding:var(--vxe-ui-layout-padding-default) 0}.vxe-form-design--widget-subtable-view{display:flex;flex-direction:row;max-width:100%;border-radius:var(--vxe-ui-base-border-radius);overflow-y:hidden;overflow-x:auto}.vxe-form-design--widget-subtable-view-box{border:1px solid var(--vxe-ui-input-border-color);border-width:1px 1px 1px 0;display:inline-flex;flex-direction:row;flex-wrap:nowrap}.vxe-form-design--widget-subtable-view-left{position:sticky;left:0;top:0;display:flex;flex-shrink:0;padding-top:var(--vxe-ui-layout-padding-default);box-shadow:8px 0 10px -5px rgba(0,0,0,.12);border-radius:var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius);z-index:5}.vxe-form-design--widget-subtable-view-right{flex-grow:1;padding-top:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-col{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;min-width:54px;text-align:center;border-top:1px solid var(--vxe-ui-input-border-color);border-right:1px solid var(--vxe-ui-input-border-color);border-bottom:1px solid var(--vxe-ui-input-border-color);background-color:var(--vxe-ui-layout-background-color)}.vxe-form-design--widget-subtable-col:first-child{border-left:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-subtable-col::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-subtable-head{flex-shrink:0;height:2.8em;line-height:2.8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--vxe-ui-layout-padding-default);border-bottom:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-subtable-body{flex-grow:1;padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-body,.vxe-form-design--widget-subtable-head{width:100%}.vxe-form-design--widget-subtable-body,.vxe-form-design--widget-subtable-view-empty{display:flex;flex-direction:row;align-items:center;justify-content:center}.vxe-form-design--widget-subtable-view-wrapper{display:flex;flex-direction:row;border:1px solid var(--vxe-ui-input-border-color);border-left:0;background-color:var(--vxe-ui-layout-background-color);border-radius:0 var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0}.vxe-form-design--widget-subtable-view-list{display:flex;flex-direction:row;flex-wrap:nowrap}.vxe-form-design--widget-subtable-view-list>.vxe-form-design--widget-subtable-view-item{border-right:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-subtable-view-list-move{transition:transform .35s ease-in-out}.vxe-form-design--widget-subtable-view-item{position:relative;min-width:200px;cursor:grabbing}.vxe-form-design--widget-subtable-view-item:hover{background:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-subtable-view-item.is--active{background:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-subtable-view-item.is--active::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:1px dashed var(--vxe-ui-font-primary-color);pointer-events:none;z-index:2}.vxe-form-design--widget-subtable-view-item-box{height:100%}.vxe-form-design--widget-subtable-view-item-box::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-subtable-view-empty{flex-grow:1;color:var(--vxe-ui-font-placeholder-color);padding:0 var(--vxe-ui-layout-padding-threefold);min-height:78px;min-width:260px;cursor:default}.vxe-form-design--widget-subtable-form-item{overflow:hidden}.vxe-form-design--widget-subtable-form-item>.vxe-form--item-inner{overflow:hidden}.vxe-form-design--widget-subtable-form-item>.vxe-form--item-inner>.vxe-form--item-content{overflow:hidden}.vxe-form-design--widget-subtable-view-item-wrapper{height:100%}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical{padding:0}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical .vxe-form--item-title{height:2.8em;line-height:2.8em;padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical .vxe-form--item-content{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item-title{border-bottom:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design .vxe-form-design--widget-form-item-devices{display:flex;flex-direction:column}.vxe-form-design .vxe-form-design--widget-form-item-layout{display:flex;flex-direction:row}.vxe-form-design .vxe-form-design--widget-form-item-option{width:50%;text-align:center;padding:var(--vxe-ui-layout-padding-default);margin:0 var(--vxe-ui-layout-padding-default);border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);cursor:pointer}.vxe-form-design .vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row{display:flex;flex-direction:column}.vxe-form-design .vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row:nth-child(1)::before{content:"";display:block;width:30%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design .vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{content:"";display:block;width:100%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design .vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row{display:flex;flex-direction:row}.vxe-form-design .vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(1)::before,.vxe-form-design .vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{content:"";display:block;width:30%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design .vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(1)::after,.vxe-form-design .vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(2)::after{content:"";display:block;width:70%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design .vxe-form-design--widget-form-item-option:hover{border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design .vxe-form-design--widget-form-item-option.is--active{color:var(--vxe-ui-font-primary-color);border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design .vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(1)::after,.vxe-form-design .vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(1)::before,.vxe-form-design .vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(2)::after,.vxe-form-design .vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{background-color:var(--vxe-ui-font-primary-color)}.vxe-form-design .vxe-form-design--widget-form-item-option-row{margin-bottom:.2em}.vxe-form-design--widget-form-item-data-source{max-height:30vh;min-height:140px;overflow:auto}.vxe-form-design--widget-form-item-data-source-option{position:relative;display:flex;flex-direction:row;padding:var(--vxe-ui-layout-padding-half) 0}.vxe-form-design--widget-form-item-data-source-option::before{content:"";position:absolute;top:0;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:100%;border:1px dotted var(--vxe-ui-base-popup-border-color);border-width:0 0 0 1px}.vxe-form-design--widget-form-item-data-source-option::after{content:"";position:absolute;top:50%;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:0;border-top:1px dotted var(--vxe-ui-base-popup-border-color)}.vxe-form-design--widget-form-item-data-source-option.is--first::before{top:50%;height:50%}.vxe-form-design--widget-form-item-data-source-option.is--last::before{height:50%}.vxe-form-design--widget-form-item-data-source-option .vxe-button{flex-shrink:0}.vxe-form-design--widget-form-item-data-source-option .vxe-form-design--widget-expand-btn{display:flex;flex-direction:row;align-items:center;width:2em}.vxe-form-design--widget-form-item-data-source-option .vxe-form-design--widget-expand-btn i{cursor:pointer;background-color:var(--vxe-ui-layout-background-color);transition:transform .1s ease-in-out;z-index:2}.vxe-form-design--widget-form-item-data-source-sub-option{position:relative}.vxe-form-design--widget-form-item-data-source-sub-option::before{content:"";position:absolute;top:0;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:100%;border:1px dotted var(--vxe-ui-base-popup-border-color);border-width:0 0 0 1px}.vxe-form-design--widget-form-item-data-source-sub-option:last-child::before{display:none}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option{padding-left:var(--vxe-ui-layout-padding-double)}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option:first-child::before{top:0;height:50%}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option::before{top:-50%;left:calc(var(--vxe-ui-layout-padding-double) + .5em);width:var(--vxe-ui-layout-padding-default);height:100%}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option::after{left:calc(var(--vxe-ui-layout-padding-double) + .5em)}.vxe-form-design--widget-form-item-data-source-popup{height:100%;display:flex;flex-direction:column;overflow:auto}.vxe-form-design--widget-form-item-data-source-popup>.vxe-textarea{flex-grow:1}.vxe-form-design--widget-form-item-data-source-popup>.vxe-textarea .vxe-textarea--inner{height:100%}.vxe-form-design .vxe-form-design--widget-form-item-prop-list{margin-bottom:var(--vxe-ui-layout-padding-double);padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design .vxe-form-design--widget-form-item-prop-list:first-child{margin-top:var(--vxe-ui-layout-padding-default)}.vxe-form-design .vxe-form-design--widget-form-item-prop-list>span{padding:0 .5em}.vxe-form-design .vxe-form-design--widget-form-item-prop-list>span:first-child{padding:0;padding-right:var(--vxe-ui-layout-padding-default)}.vxe-form-design .vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-unit,.vxe-form-design .vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-width,.vxe-form-design .vxe-form-design--widget-form-item-prop-list>span:first-child{display:inline-block;vertical-align:middle}.vxe-form-design .vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-width{width:90px}.vxe-form-design .vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-unit{width:90px}.vxe-list-design .vxe-list-design--widget-form-item-prop-list{margin-bottom:var(--vxe-ui-layout-padding-double);padding:0 var(--vxe-ui-layout-padding-default)}.vxe-list-design .vxe-list-design--widget-form-item-prop-list:first-child{margin-top:var(--vxe-ui-layout-padding-default)}.vxe-list-design .vxe-list-design--widget-form-item-prop-list:last-child{margin-bottom:0}.vxe-list-design .vxe-list-design--widget-form-item-prop-list>span{padding:0 .5em}.vxe-list-design .vxe-list-design--widget-form-item-prop-list>span:first-child{padding:0;padding-right:var(--vxe-ui-layout-padding-default)}.vxe-form-design{display:flex;flex-direction:column;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family)}.vxe-form-design{font-size:var(--vxe-ui-font-size-default)}.vxe-form-design.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-form-design.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-form-design.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-form-design--body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-form-design--header{flex-shrink:0;padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design--header-wrapper{display:flex;flex-direction:row;align-items:center;width:100%;min-height:3em;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--header-left,.vxe-form-design--header-right{flex-shrink:0}.vxe-form-design--header-middle{flex-grow:1}.vxe-form-design--layout-style{display:flex;flex-direction:row;height:100%;overflow:hidden}.vxe-form-design--layout-style-preview{flex-grow:1;padding-right:var(--vxe-ui-layout-padding-default);overflow:hidden}.vxe-form-design--layout-style-preview>.vxe-form-view{height:100%;width:100%;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);overflow:auto}.vxe-form-design--layout-style-preview.is--mobile>.vxe-form-view{width:400px;margin:0 auto}.vxe-form-design--layout-style-setting{flex-shrink:0;width:300px;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-layout-background-color);z-index:1;overflow:auto}.vxe-form-design--widget{width:280px;flex-shrink:0;overflow:auto}.vxe-form-design--setting,.vxe-form-design--widget{padding:var(--vxe-ui-layout-padding-default);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--setting{width:300px;flex-shrink:0;overflow:auto}.vxe-form-design--preview{flex-grow:1;overflow:auto;padding:var(--vxe-ui-layout-padding-default) var(--vxe-ui-layout-padding-half);-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-form-design--preview-wrapper{width:100%;height:100%;overflow:auto;padding:var(--vxe-ui-layout-padding-default) 0;background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-list{display:flex;flex-direction:row;flex-wrap:wrap}.vxe-form-design--widget-title{font-weight:700;padding:var(--vxe-ui-layout-padding-half) 0 var(--vxe-ui-layout-padding-half) var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-group{border-radius:var(--vxe-ui-base-border-radius);padding:var(--vxe-ui-layout-padding-default);margin-bottom:var(--vxe-ui-layout-padding-default);background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-item{width:50%;padding:var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-box{position:relative;height:32px;line-height:32px;font-size:var(--vxe-ui-form-design-widget-item-font-size);padding:0 var(--vxe-ui-layout-padding-half);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-input-border-color);background-color:var(--vxe-ui-layout-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-form-design--widget-box:hover{border-color:var(--vxe-ui-font-primary-lighten-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-box:hover .vxe-form-design--widget-item-add{display:block}.vxe-form-design--widget-item-icon{padding:0 .2em}.vxe-form-design--widget-item-name{padding-left:var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-item-add{display:none;position:absolute;top:0;right:var(--vxe-ui-layout-padding-default);width:1em;height:100%;cursor:pointer}.vxe-form-design--widget-item-add:hover{color:var(--vxe-ui-font-primary-color)}.vxe-form-design--preview-list{width:100%}.vxe-form-design--preview-list-move{transition:transform .35s ease-in-out}.vxe-form-design--preview-item{position:relative;display:block;padding:var(--vxe-ui-layout-padding-default);border:1px solid transparent;cursor:grabbing}.vxe-form-design--preview-item::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--preview-item:hover{background-color:var(--vxe-ui-form-design-widget-hover-background-color)}.vxe-form-design--preview-item.is--active{border:1px dashed var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--preview-item.is--drag,.vxe-form-design--preview-item.is--sort{background-color:var(--vxe-ui-base-drag-background-color)}.vxe-form-design--preview-item-view{width:100%}.vxe-form-design--preview-item-operate{position:absolute;top:calc(var(--vxe-ui-layout-padding-default) * -1);right:var(--vxe-ui-layout-padding-default);z-index:3}.vxe-form-design--setting-form{height:100%;background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--setting-form-tabs{height:100%}
|
|
1
|
+
.vxe-form-design--widget-form-empty-data,.vxe-list-design--widget-form-empty-data{text-align:center;color:var(--vxe-ui-input-placeholder-color);border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);padding:var(--vxe-ui-layout-padding-double)}.vxe-form-design--widget-row-form-row{border:1px solid var(--vxe-ui-input-border-color);margin-bottom:var(--vxe-ui-layout-padding-default);border-radius:var(--vxe-ui-base-border-radius);cursor:pointer}.vxe-form-design--widget-row-form-row:hover{border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-row-form-row.is--active{border-color:var(--vxe-ui-font-primary-color);color:var(--vxe-ui-layout-background-color)}.vxe-form-design--widget-row-form-row.is--active .vxe-form-design--widget-row-form-col div{background:var(--vxe-ui-font-primary-color)}.vxe-form-design--widget-row-form-col{padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-row-form-col>div{line-height:24px;background:var(--vxe-ui-font-tinge-color);text-align:center;border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-row-view{position:relative;min-height:100%;padding:var(--vxe-ui-layout-padding-default);border:1px solid transparent;cursor:grabbing}.vxe-form-design--widget-row-view::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-row-view:hover{background-color:var(--vxe-ui-form-design-sub-widget-hover-background-color)}.vxe-form-design--widget-row-view:hover .vxe-form-design--widget-row-view-empty{background-color:transparent}.vxe-form-design--widget-row-view.is--active{border:1px dashed var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-row-view.is--drag,.vxe-form-design--widget-row-view.is--sort{background-color:var(--vxe-ui-base-drag-background-color)}.vxe-form-design--widget-row-view-empty{display:flex;flex-direction:row;align-items:center;justify-content:center;height:78px;padding:var(--vxe-ui-layout-padding-default);color:var(--vxe-ui-font-placeholder-color);border:2px dashed var(--vxe-ui-input-border-color);font-size:.95em;background-color:var(--vxe-ui-layout-background-color)}.vxe-form-design--preview-item.widget-row::after,.vxe-form-design--preview-item.widget-subtable::after{display:none}.vxe-form-design--preview-item.widget-row{padding:var(--vxe-ui-layout-padding-default) 0}.vxe-form-design--widget-subtable-view{display:flex;flex-direction:row;max-width:100%;border-radius:var(--vxe-ui-base-border-radius);overflow-y:hidden;overflow-x:auto}.vxe-form-design--widget-subtable-view-box{border:1px solid var(--vxe-ui-input-border-color);border-width:1px 1px 1px 0;display:inline-flex;flex-direction:row;flex-wrap:nowrap}.vxe-form-design--widget-subtable-view-left{position:sticky;left:0;top:0;display:flex;flex-shrink:0;padding-top:var(--vxe-ui-layout-padding-default);box-shadow:8px 0 10px -5px rgba(0,0,0,.12);border-radius:var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius);z-index:5}.vxe-form-design--widget-subtable-view-right{flex-grow:1;padding-top:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-col{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;min-width:54px;text-align:center;border-top:1px solid var(--vxe-ui-input-border-color);border-right:1px solid var(--vxe-ui-input-border-color);border-bottom:1px solid var(--vxe-ui-input-border-color);background-color:var(--vxe-ui-layout-background-color)}.vxe-form-design--widget-subtable-col:first-child{border-left:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius)}.vxe-form-design--widget-subtable-col::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-subtable-head{flex-shrink:0;height:2.8em;line-height:2.8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--vxe-ui-layout-padding-default);border-bottom:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-subtable-body{flex-grow:1;padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-body,.vxe-form-design--widget-subtable-head{width:100%}.vxe-form-design--widget-subtable-body,.vxe-form-design--widget-subtable-view-empty{display:flex;flex-direction:row;align-items:center;justify-content:center}.vxe-form-design--widget-subtable-view-wrapper{display:flex;flex-direction:row;border:1px solid var(--vxe-ui-input-border-color);border-left:0;background-color:var(--vxe-ui-layout-background-color);border-radius:0 var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0}.vxe-form-design--widget-subtable-view-list{display:flex;flex-direction:row;flex-wrap:nowrap}.vxe-form-design--widget-subtable-view-list>.vxe-form-design--widget-subtable-view-item{border-right:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-subtable-view-list-move{transition:transform .35s ease-in-out}.vxe-form-design--widget-subtable-view-item{position:relative;min-width:200px;cursor:grabbing}.vxe-form-design--widget-subtable-view-item:hover{background:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-subtable-view-item.is--active{background:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-subtable-view-item.is--active::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:1px dashed var(--vxe-ui-font-primary-color);pointer-events:none;z-index:2}.vxe-form-design--widget-subtable-view-item-box{height:100%}.vxe-form-design--widget-subtable-view-item-box::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--widget-subtable-view-empty{flex-grow:1;color:var(--vxe-ui-font-placeholder-color);padding:0 var(--vxe-ui-layout-padding-threefold);min-height:78px;min-width:260px;cursor:default}.vxe-form-design--widget-subtable-form-item{overflow:hidden}.vxe-form-design--widget-subtable-form-item>.vxe-form--item-inner{overflow:hidden}.vxe-form-design--widget-subtable-form-item>.vxe-form--item-inner>.vxe-form--item-content{overflow:hidden}.vxe-form-design--widget-subtable-view-item-wrapper{height:100%}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical{padding:0}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical .vxe-form--item-title{height:2.8em;line-height:2.8em;padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item.is--vertical .vxe-form--item-content{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:var(--vxe-ui-layout-padding-default)}.vxe-form-design--widget-subtable-view-item-wrapper .vxe-form--item-title{border-bottom:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design .vxe-form-design--widget-form-item-devices{display:flex;flex-direction:column}.vxe-form-design .vxe-form-design--widget-form-item-layout{display:flex;flex-direction:row}.vxe-form-design .vxe-form-design--widget-form-item-option{width:50%;text-align:center;padding:var(--vxe-ui-layout-padding-default);margin:0 var(--vxe-ui-layout-padding-default);border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);cursor:pointer}.vxe-form-design .vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row{display:flex;flex-direction:column}.vxe-form-design .vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row:nth-child(1)::before{content:"";display:block;width:30%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design .vxe-form-design--widget-form-item-option.is--vertical .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{content:"";display:block;width:100%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design .vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row{display:flex;flex-direction:row}.vxe-form-design .vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(1)::before,.vxe-form-design .vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{content:"";display:block;width:30%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design .vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(1)::after,.vxe-form-design .vxe-form-design--widget-form-item-option.is--horizontal .vxe-form-design--widget-form-item-option-row:nth-child(2)::after{content:"";display:block;width:70%;height:1.2em;margin:2px;background-color:var(--vxe-ui-font-tinge-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design .vxe-form-design--widget-form-item-option:hover{border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design .vxe-form-design--widget-form-item-option.is--active{color:var(--vxe-ui-font-primary-color);border-color:var(--vxe-ui-font-primary-color)}.vxe-form-design .vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(1)::after,.vxe-form-design .vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(1)::before,.vxe-form-design .vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(2)::after,.vxe-form-design .vxe-form-design--widget-form-item-option.is--active .vxe-form-design--widget-form-item-option-row:nth-child(2)::before{background-color:var(--vxe-ui-font-primary-color)}.vxe-form-design .vxe-form-design--widget-form-item-option-row{margin-bottom:.2em}.vxe-form-design--widget-form-item-data-source{max-height:30vh;min-height:140px;overflow:auto}.vxe-form-design--widget-form-item-data-source-option{position:relative;display:flex;flex-direction:row;padding:var(--vxe-ui-layout-padding-half) 0}.vxe-form-design--widget-form-item-data-source-option::before{content:"";position:absolute;top:0;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:100%;border:1px dotted var(--vxe-ui-base-popup-border-color);border-width:0 0 0 1px}.vxe-form-design--widget-form-item-data-source-option::after{content:"";position:absolute;top:50%;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:0;border-top:1px dotted var(--vxe-ui-base-popup-border-color)}.vxe-form-design--widget-form-item-data-source-option.is--first::before{top:50%;height:50%}.vxe-form-design--widget-form-item-data-source-option.is--last::before{height:50%}.vxe-form-design--widget-form-item-data-source-option .vxe-button{flex-shrink:0}.vxe-form-design--widget-form-item-data-source-option .vxe-form-design--widget-expand-btn{display:flex;flex-direction:row;align-items:center;width:2em}.vxe-form-design--widget-form-item-data-source-option .vxe-form-design--widget-expand-btn i{cursor:pointer;background-color:var(--vxe-ui-layout-background-color);transition:transform .1s ease-in-out;z-index:2}.vxe-form-design--widget-form-item-data-source-sub-option{position:relative}.vxe-form-design--widget-form-item-data-source-sub-option::before{content:"";position:absolute;top:0;left:var(--vxe-ui-layout-padding-half);width:var(--vxe-ui-layout-padding-default);height:100%;border:1px dotted var(--vxe-ui-base-popup-border-color);border-width:0 0 0 1px}.vxe-form-design--widget-form-item-data-source-sub-option:last-child::before{display:none}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option{padding-left:var(--vxe-ui-layout-padding-double)}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option:first-child::before{top:0;height:50%}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option::before{top:-50%;left:calc(var(--vxe-ui-layout-padding-double) + .5em);width:var(--vxe-ui-layout-padding-default);height:100%}.vxe-form-design--widget-form-item-data-source-sub-option .vxe-form-design--widget-form-item-data-source-option::after{left:calc(var(--vxe-ui-layout-padding-double) + .5em)}.vxe-form-design--widget-form-item-data-source-popup{height:100%;display:flex;flex-direction:column;overflow:auto}.vxe-form-design--widget-form-item-data-source-popup>.vxe-textarea{flex-grow:1}.vxe-form-design--widget-form-item-data-source-popup>.vxe-textarea .vxe-textarea--inner{height:100%}.vxe-form-design .vxe-form-design--widget-form-item-prop-list{margin-bottom:var(--vxe-ui-layout-padding-double);padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design .vxe-form-design--widget-form-item-prop-list:first-child{margin-top:var(--vxe-ui-layout-padding-default)}.vxe-form-design .vxe-form-design--widget-form-item-prop-list>span{padding:0 .5em}.vxe-form-design .vxe-form-design--widget-form-item-prop-list>span:first-child{padding:0;padding-right:var(--vxe-ui-layout-padding-default)}.vxe-form-design .vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-unit,.vxe-form-design .vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-width,.vxe-form-design .vxe-form-design--widget-form-item-prop-list>span:first-child{display:inline-flex;vertical-align:middle}.vxe-form-design .vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-width{width:90px}.vxe-form-design .vxe-form-design--widget-form-item-prop-list .vxe-form-design--widget-form-item-prop-unit{width:90px}.vxe-list-design .vxe-list-design--widget-form-item-prop-list{margin-bottom:var(--vxe-ui-layout-padding-double);padding:0 var(--vxe-ui-layout-padding-default)}.vxe-list-design .vxe-list-design--widget-form-item-prop-list:first-child{margin-top:var(--vxe-ui-layout-padding-default)}.vxe-list-design .vxe-list-design--widget-form-item-prop-list:last-child{margin-bottom:0}.vxe-list-design .vxe-list-design--widget-form-item-prop-list>span{padding:0 .5em}.vxe-list-design .vxe-list-design--widget-form-item-prop-list>span:first-child{padding:0;padding-right:var(--vxe-ui-layout-padding-default)}.vxe-form-design{display:flex;flex-direction:column;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family)}.vxe-form-design{font-size:var(--vxe-ui-font-size-default)}.vxe-form-design.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-form-design.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-form-design.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-form-design--body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-form-design--header{flex-shrink:0;padding:0 var(--vxe-ui-layout-padding-default)}.vxe-form-design--header-wrapper{display:flex;flex-direction:row;align-items:center;width:100%;min-height:3em;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--header-left,.vxe-form-design--header-right{flex-shrink:0}.vxe-form-design--header-middle{flex-grow:1}.vxe-form-design--layout-style{display:flex;flex-direction:row;height:100%;overflow:hidden}.vxe-form-design--layout-style-preview{flex-grow:1;padding-right:var(--vxe-ui-layout-padding-default);overflow:hidden}.vxe-form-design--layout-style-preview>.vxe-form-view{height:100%;width:100%;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);overflow:auto}.vxe-form-design--layout-style-preview.is--mobile>.vxe-form-view{width:400px;margin:0 auto}.vxe-form-design--layout-style-setting{flex-shrink:0;width:300px;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-layout-background-color);z-index:1;overflow:auto}.vxe-form-design--widget{width:280px;flex-shrink:0;overflow:auto}.vxe-form-design--setting,.vxe-form-design--widget{padding:var(--vxe-ui-layout-padding-default);border-radius:var(--vxe-ui-base-border-radius)}.vxe-form-design--setting{width:300px;flex-shrink:0;overflow:auto}.vxe-form-design--preview{flex-grow:1;overflow:auto;padding:var(--vxe-ui-layout-padding-default) var(--vxe-ui-layout-padding-half);-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-form-design--preview-wrapper{width:100%;height:100%;overflow:auto;padding:var(--vxe-ui-layout-padding-default) 0;background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-list{display:flex;flex-direction:row;flex-wrap:wrap}.vxe-form-design--widget-title{font-weight:700;padding:var(--vxe-ui-layout-padding-half) 0 var(--vxe-ui-layout-padding-half) var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-group{border-radius:var(--vxe-ui-base-border-radius);padding:var(--vxe-ui-layout-padding-default);margin-bottom:var(--vxe-ui-layout-padding-default);background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--widget-item{width:50%;padding:var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-box{position:relative;height:32px;line-height:32px;font-size:var(--vxe-ui-form-design-widget-item-font-size);padding:0 var(--vxe-ui-layout-padding-half);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-input-border-color);background-color:var(--vxe-ui-layout-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-form-design--widget-box:hover{border-color:var(--vxe-ui-font-primary-lighten-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--widget-box:hover .vxe-form-design--widget-item-add{display:block}.vxe-form-design--widget-item-icon{padding:0 .2em}.vxe-form-design--widget-item-name{padding-left:var(--vxe-ui-layout-padding-half)}.vxe-form-design--widget-item-add{display:none;position:absolute;top:0;right:var(--vxe-ui-layout-padding-default);width:1em;height:100%;cursor:pointer}.vxe-form-design--widget-item-add:hover{color:var(--vxe-ui-font-primary-color)}.vxe-form-design--preview-list{width:100%}.vxe-form-design--preview-list-move{transition:transform .35s ease-in-out}.vxe-form-design--preview-item{position:relative;display:block;padding:var(--vxe-ui-layout-padding-default);border:1px solid transparent;cursor:grabbing}.vxe-form-design--preview-item::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vxe-form-design--preview-item:hover{background-color:var(--vxe-ui-form-design-widget-hover-background-color)}.vxe-form-design--preview-item.is--active{border:1px dashed var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-base-active-background-color)}.vxe-form-design--preview-item.is--drag,.vxe-form-design--preview-item.is--sort{background-color:var(--vxe-ui-base-drag-background-color)}.vxe-form-design--preview-item-view{width:100%}.vxe-form-design--preview-item-operate{position:absolute;top:calc(var(--vxe-ui-layout-padding-default) * -1);right:var(--vxe-ui-layout-padding-default);z-index:3}.vxe-form-design--setting-form{height:100%;background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-form-design--setting-form-tabs{height:100%}
|
|
@@ -67,7 +67,7 @@ const ViewColItemComponent = defineComponent({
|
|
|
67
67
|
const compConf = renderer.get(name) || {};
|
|
68
68
|
const renderWidgetDesignView = compConf.renderFormDesignWidgetEdit || compConf.renderFormDesignWidgetView;
|
|
69
69
|
const renderOpts = widget || { name };
|
|
70
|
-
const params = { widget, isEditMode: true, isViewMode: false };
|
|
70
|
+
const params = { widget, isEditMode: true, isViewMode: false, $formDesign: $xeFormDesign, $formView: null };
|
|
71
71
|
const isActive = activeWidget && widget && activeWidget.id === widget.id;
|
|
72
72
|
return h('div', {
|
|
73
73
|
class: ['vxe-form-design--widget-row-view', {
|
|
@@ -179,6 +179,7 @@ export const WidgetRowViewComponent = defineComponent({
|
|
|
179
179
|
},
|
|
180
180
|
emits: [],
|
|
181
181
|
setup(props) {
|
|
182
|
+
const $xeFormDesign = inject('$xeFormDesign', null);
|
|
182
183
|
const computedColObjList = computed(() => {
|
|
183
184
|
const { renderParams } = props;
|
|
184
185
|
const { widget } = renderParams;
|
|
@@ -209,7 +210,7 @@ export const WidgetRowViewComponent = defineComponent({
|
|
|
209
210
|
const compConf = renderer.get(name) || {};
|
|
210
211
|
const renderWidgetDesignView = compConf.renderFormDesignWidgetView;
|
|
211
212
|
const renderOpts = subWidget;
|
|
212
|
-
const params = { widget: subWidget, isEditMode: false, isViewMode: true };
|
|
213
|
+
const params = { widget: subWidget, isEditMode: false, isViewMode: true, $formDesign: $xeFormDesign, $formView: null };
|
|
213
214
|
if (renderWidgetDesignView) {
|
|
214
215
|
return getSlotVNs(renderWidgetDesignView(renderOpts, params));
|
|
215
216
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { defineComponent, inject, h, createCommentVNode, TransitionGroup } from 'vue';
|
|
1
|
+
import { defineComponent, inject, h, createCommentVNode, TransitionGroup, computed } from 'vue';
|
|
2
2
|
import { VxeUI, renderer, getIcon, getI18n } from '@vxe-ui/core';
|
|
3
3
|
import XEUtils from 'xe-utils';
|
|
4
4
|
import { hasFormDesignLayoutType } from '../src/util';
|
|
5
5
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
6
|
+
import { useKebabCaseName } from '../render/hooks';
|
|
6
7
|
import VxeFormItemComponent from '../../form/src/form-item';
|
|
7
8
|
import VxeButtonComponent from '../../button/src/button';
|
|
8
9
|
import VxeCheckboxComponent from '../../checkbox/src/checkbox';
|
|
@@ -96,7 +97,7 @@ const ViewSubItemComponent = defineComponent({
|
|
|
96
97
|
const compConf = renderer.get(name) || {};
|
|
97
98
|
const renderWidgetDesignView = compConf.renderFormDesignWidgetEdit || compConf.renderFormDesignWidgetView;
|
|
98
99
|
const renderOpts = widget || { name };
|
|
99
|
-
const params = { widget, isEditMode: true, isViewMode: false };
|
|
100
|
+
const params = { widget, isEditMode: true, isViewMode: false, $formDesign: $xeFormDesign, $formView: null };
|
|
100
101
|
const isActive = activeWidget && widget && activeWidget.id === widget.id;
|
|
101
102
|
return h('div', {
|
|
102
103
|
class: ['vxe-form-design--widget-subtable-view-item', {
|
|
@@ -284,9 +285,59 @@ export const WidgetSubtableViewComponent = defineComponent({
|
|
|
284
285
|
}
|
|
285
286
|
},
|
|
286
287
|
emits: [],
|
|
287
|
-
setup() {
|
|
288
|
+
setup(props) {
|
|
289
|
+
const VxeTableGridComponent = VxeUI.getComponent('VxeGrid');
|
|
290
|
+
const $xeFormView = inject('$xeFormView', null);
|
|
291
|
+
const computeKebabCaseName = useKebabCaseName(props);
|
|
292
|
+
const computeSubtableColumns = computed(() => {
|
|
293
|
+
const { renderParams } = props;
|
|
294
|
+
const { widget } = renderParams;
|
|
295
|
+
const { children, options } = widget;
|
|
296
|
+
const columns = [];
|
|
297
|
+
if (options.showCheckbox) {
|
|
298
|
+
columns.push({
|
|
299
|
+
type: 'checkbox',
|
|
300
|
+
width: 60
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
columns.push({
|
|
304
|
+
type: 'seq',
|
|
305
|
+
width: 60
|
|
306
|
+
});
|
|
307
|
+
if (children) {
|
|
308
|
+
children.forEach(childWidget => {
|
|
309
|
+
columns.push({
|
|
310
|
+
field: childWidget.field,
|
|
311
|
+
title: childWidget.title
|
|
312
|
+
});
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
return columns;
|
|
316
|
+
});
|
|
288
317
|
return () => {
|
|
289
|
-
|
|
318
|
+
const { renderParams } = props;
|
|
319
|
+
const { widget } = renderParams;
|
|
320
|
+
const kebabCaseName = computeKebabCaseName.value;
|
|
321
|
+
const subtableColumns = computeSubtableColumns.value;
|
|
322
|
+
return h(VxeFormItemComponent, {
|
|
323
|
+
class: ['vxe-form-design--widget-render-form-item', `widget-${kebabCaseName}`],
|
|
324
|
+
title: widget.title,
|
|
325
|
+
field: widget.field,
|
|
326
|
+
span: 24
|
|
327
|
+
}, {
|
|
328
|
+
default() {
|
|
329
|
+
return VxeTableGridComponent
|
|
330
|
+
? h(VxeTableGridComponent, {
|
|
331
|
+
border: true,
|
|
332
|
+
columnConfig: {
|
|
333
|
+
resizable: true
|
|
334
|
+
},
|
|
335
|
+
data: $xeFormView ? $xeFormView.getItemValue(widget) : null,
|
|
336
|
+
columns: subtableColumns
|
|
337
|
+
})
|
|
338
|
+
: createCommentVNode();
|
|
339
|
+
}
|
|
340
|
+
});
|
|
290
341
|
};
|
|
291
342
|
}
|
|
292
343
|
});
|