@dt-frames/ui 2.0.3 → 2.0.4
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/assets/locales/en.ts +1 -1
- package/es/components/curd/index.js +279 -269
- package/es/components/drawer/index.d.ts +1 -1
- package/es/components/drawer/index.js +27 -27
- package/es/components/drawer/src/index.d.ts +2 -3
- package/es/components/form/index.d.ts +20 -20
- package/es/components/form/index.js +91 -45
- package/es/components/form/index.less +206 -8
- package/es/components/form/src/components/FormItem.d.ts +3 -7
- package/es/components/form/src/components/formIcon.d.ts +14 -14
- package/es/components/form/src/components/formInputUseDialog.d.ts +8 -8
- package/es/components/form/src/enums/index.d.ts +1 -1
- package/es/components/form/src/index.d.ts +16 -16
- package/es/components/form/src/props.d.ts +2 -6
- package/es/components/form/src/types/form.type.d.ts +1 -1
- package/es/components/icons/index.less +5 -0
- package/es/components/modal/index.js +35 -34
- package/es/components/modal/index.less +10 -0
- package/es/components/modal/src/components/ModalFooter.d.ts +3 -3
- package/es/components/modal/src/index.d.ts +9 -9
- package/es/components/source/hooks/useSource.d.ts +14 -0
- package/es/components/source/index.js +66 -28
- package/es/components/source/types/source.type.d.ts +4 -8
- package/es/components/table/index.js +278 -215
- package/es/components/table/index.less +41 -14
- package/es/components/table/src/index.d.ts +20 -10
- package/es/components/table/src/props.d.ts +8 -4
- package/es/components/table/src/types/table.type.d.ts +4 -5
- package/es/theme/index.js +342 -120
- package/es/theme/index.less +150 -0
- package/es/theme/src/components/header/components/size.d.ts +5 -5
- package/es/theme/src/components/header/helper/menu-tree.d.ts +1 -0
- package/es/theme/src/components/header/index.d.ts +5 -5
- package/es/theme/src/components/header/multiple-header.d.ts +6 -7
- package/es/theme/src/components/sider/components/drag-bar.d.ts +1 -1
- package/es/theme/src/components/sider/components/sider-trigger.d.ts +0 -1
- package/es/theme/src/components/sider/index.d.ts +147 -3
- package/es/theme/src/components/sider/mix-sider.d.ts +146 -0
- package/es/theme/src/enums/theme.enum.d.ts +2 -1
- package/es/theme/src/hooks/useMenu.d.ts +5 -3
- package/es/theme/src/index.d.ts +159 -15
- package/es/theme/src/stores/theme.store.d.ts +3 -0
- package/es/theme/src/types/theme.type.d.ts +1 -0
- package/package.json +1 -3
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import { RadioButton, RadioGroup, Button, FormItem as FormItem$1, Col as Col$1, Row, Form as Form$1 } from "ant-design-vue/es";
|
|
2
2
|
import "ant-design-vue/es/form/style";
|
|
3
3
|
import "ant-design-vue/es/row/style";
|
|
4
|
-
import { toRaw
|
|
4
|
+
import { toRaw, unref, computed, getCurrentInstance, reactive, readonly, watchEffect, nextTick, defineComponent, useAttrs, openBlock, createBlock, mergeProps, isRef, withCtx, createElementBlock, Fragment, renderList, createTextVNode, toDisplayString, createElementVNode, createVNode, normalizeProps, guardReactiveProps, createCommentVNode, toRefs, isVNode, ref, watch, resolveDirective, normalizeStyle, withDirectives, normalizeClass, onMounted, withKeys, createSlots, renderSlot } from "vue";
|
|
5
5
|
import { DtCache, CacheKey, deepMerge, Pages, useGo, useRedo, Language, useAppStore, isNumber, useI18n, isString, isFunction, error, useSlots, isArray, isBoolean, isNull, dispatchResize, isObject, isNullAndUnDef, isEmpty, useTimeoutFn } from "@dt-frames/core";
|
|
6
6
|
import { isEqual, omit, cloneDeep, upperFirst, uniqBy, set } from "lodash-es";
|
|
7
7
|
import { Input, Select, TreeSelect, Radio, Checkbox, AutoComplete, Cascader, DatePicker, InputNumber, Switch, TimePicker, Slider, Rate, Divider, Col, Tooltip, Form, FormItem } from "ant-design-vue";
|
|
8
8
|
import { defineStore } from "pinia";
|
|
9
9
|
import "ant-design-vue/es/radio/style";
|
|
10
|
+
import "ant-design-vue/es/cascader/style";
|
|
11
|
+
import "ant-design-vue/es/input-number/style";
|
|
12
|
+
import "ant-design-vue/es/switch/style";
|
|
13
|
+
import "ant-design-vue/es/tree-select/style";
|
|
14
|
+
import "ant-design-vue/es/slider/style";
|
|
15
|
+
import "ant-design-vue/es/rate/style";
|
|
16
|
+
import "ant-design-vue/es/date-picker/style";
|
|
10
17
|
import "ant-design-vue/es/col/style";
|
|
11
18
|
import "ant-design-vue/es/button/style";
|
|
12
19
|
import dayjs from "dayjs";
|
|
@@ -19,6 +26,7 @@ var MenuType = /* @__PURE__ */ ((MenuType2) => {
|
|
|
19
26
|
MenuType2["SIDE"] = "sidebar";
|
|
20
27
|
MenuType2["TOP_MENU"] = "top-menu";
|
|
21
28
|
MenuType2["MIX"] = "mix";
|
|
29
|
+
MenuType2["MIX_SIDEBAR"] = "mix-sidebar";
|
|
22
30
|
return MenuType2;
|
|
23
31
|
})(MenuType || {});
|
|
24
32
|
var MenuMode = /* @__PURE__ */ ((MenuMode2) => {
|
|
@@ -70,7 +78,8 @@ const defaultThemeConf = {
|
|
|
70
78
|
menuWidth: 240,
|
|
71
79
|
trigger: true,
|
|
72
80
|
type: MenuType.SIDE,
|
|
73
|
-
mode: MenuMode.INLINE
|
|
81
|
+
mode: MenuMode.INLINE,
|
|
82
|
+
mixSideTrigger: "hover"
|
|
74
83
|
},
|
|
75
84
|
footerOptions: {
|
|
76
85
|
show: false,
|
|
@@ -91,7 +100,8 @@ const useThemeStore = defineStore({
|
|
|
91
100
|
id: "dt-theme",
|
|
92
101
|
state: () => ({
|
|
93
102
|
themeConf: DtCache.getLocal(CacheKey.THEME) ?? defaultThemeConf,
|
|
94
|
-
pageLoading: false
|
|
103
|
+
pageLoading: false,
|
|
104
|
+
mixSiderHasSubMenu: false
|
|
95
105
|
}),
|
|
96
106
|
getters: {
|
|
97
107
|
getThemeConf() {
|
|
@@ -111,6 +121,9 @@ const useThemeStore = defineStore({
|
|
|
111
121
|
},
|
|
112
122
|
getPageLoading() {
|
|
113
123
|
return this.pageLoading;
|
|
124
|
+
},
|
|
125
|
+
getMixSiderIsHasMenu() {
|
|
126
|
+
return this.mixSiderHasSubMenu;
|
|
114
127
|
}
|
|
115
128
|
},
|
|
116
129
|
actions: {
|
|
@@ -118,6 +131,9 @@ const useThemeStore = defineStore({
|
|
|
118
131
|
let newThemeConf = deepMerge(this.themeConf, options);
|
|
119
132
|
this.themeConf = deepMerge(defaultThemeConf, newThemeConf);
|
|
120
133
|
DtCache.setLocal(CacheKey.THEME, this.themeConf);
|
|
134
|
+
},
|
|
135
|
+
setMixSiderIsHasMenu(val) {
|
|
136
|
+
this.mixSiderHasSubMenu = val;
|
|
121
137
|
}
|
|
122
138
|
}
|
|
123
139
|
});
|
|
@@ -151,7 +167,7 @@ defineStore({
|
|
|
151
167
|
return (tab.fullPath || tab.path) === (fullPath || path);
|
|
152
168
|
});
|
|
153
169
|
if (tabHasExits) {
|
|
154
|
-
const curTab = toRaw
|
|
170
|
+
const curTab = toRaw(this.tabList)[updateIndex];
|
|
155
171
|
curTab.params = params || curTab.params;
|
|
156
172
|
curTab.query = query || curTab.query;
|
|
157
173
|
curTab.fullPath = fullPath || curTab.fullPath;
|
|
@@ -273,8 +289,18 @@ function useMenu() {
|
|
|
273
289
|
const getIsMixMode = computed(() => {
|
|
274
290
|
return unref(getMenuMode) === MenuMode.INLINE && unref(getMenuType) === MenuType.MIX;
|
|
275
291
|
});
|
|
276
|
-
const
|
|
277
|
-
const
|
|
292
|
+
const getIsMixSidebar = computed(() => unref(getMenuType) === MenuType.MIX_SIDEBAR);
|
|
293
|
+
const getMenuWidth = computed(() => {
|
|
294
|
+
if (unref(getIsMixMode)) {
|
|
295
|
+
return Number(getMenuConf.menuWidth) - 40;
|
|
296
|
+
} else if (unref(getIsMixSidebar)) {
|
|
297
|
+
return Number(getMenuConf.menuWidth) - 10;
|
|
298
|
+
} else {
|
|
299
|
+
return Number(getMenuConf.menuWidth);
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
const getMixSideTrigger = computed(() => getMenuConf.mixSideTrigger);
|
|
303
|
+
const getLogoWidth = computed(() => unref(getIsMixSidebar) ? "80px" : getMenuConf.menuWidth);
|
|
278
304
|
const getMenuType = computed(() => getMenuConf.type);
|
|
279
305
|
const getIsTopMenu = computed(() => unref(getMenuType) === MenuType.TOP_MENU);
|
|
280
306
|
const getMenuMode = computed(() => getMenuConf.mode);
|
|
@@ -316,7 +342,9 @@ function useMenu() {
|
|
|
316
342
|
getRealWidth,
|
|
317
343
|
getCalcContentWidth,
|
|
318
344
|
getIsMixMode,
|
|
345
|
+
getIsMixSidebar,
|
|
319
346
|
getCanDrag,
|
|
347
|
+
getMixSideTrigger,
|
|
320
348
|
toggleCollapsed,
|
|
321
349
|
setThemeStore
|
|
322
350
|
};
|
|
@@ -349,12 +377,12 @@ function useHeader() {
|
|
|
349
377
|
getMenuMode,
|
|
350
378
|
getSplit,
|
|
351
379
|
getIsTopMenu,
|
|
352
|
-
|
|
380
|
+
getIsMixSidebar
|
|
353
381
|
} = useMenu();
|
|
354
382
|
const { getShowMultipleTab } = useMultipleTab();
|
|
355
383
|
const getHeaderTheme = computed(() => getHeaderConf.theme);
|
|
356
384
|
const getFixed = computed(() => getHeaderConf.fixed);
|
|
357
|
-
const getShowHeaderLogo = computed(() => unref(getShowLogo) && !unref(getIsSidebarType));
|
|
385
|
+
const getShowHeaderLogo = computed(() => unref(getShowLogo) && !unref(getIsSidebarType) && !unref(getIsMixSidebar));
|
|
358
386
|
const getShowSearch = computed(() => getHeaderConf.showSearch);
|
|
359
387
|
const getShowHeaderTrigger = computed(() => {
|
|
360
388
|
if (unref(getMenuType) === MenuType.TOP_MENU || !unref(getShowMenu) || unref(getMenuHidden)) {
|
|
@@ -372,7 +400,7 @@ function useHeader() {
|
|
|
372
400
|
const getShowLocale = computed(() => getHeaderConf.showLocaleSwitch);
|
|
373
401
|
const getShowSettingTheme = computed(() => getHeaderConf.showSettingTheme);
|
|
374
402
|
const getShowFullHeaderRef = computed(() => {
|
|
375
|
-
return !unref(getIsSidebarType) && !unref(getIsTopMenu);
|
|
403
|
+
return !unref(getIsSidebarType) && !unref(getIsMixSidebar) && !unref(getIsTopMenu);
|
|
376
404
|
});
|
|
377
405
|
const getHeaderHeight = computed(() => {
|
|
378
406
|
let height = 0;
|
|
@@ -384,7 +412,7 @@ function useHeader() {
|
|
|
384
412
|
});
|
|
385
413
|
const getTabsHeight = computed(() => TABS_HEIGHT);
|
|
386
414
|
const getShowInsetHeaderRef = computed(() => {
|
|
387
|
-
return unref(getIsSidebarType) || unref(getIsTopMenu);
|
|
415
|
+
return unref(getIsSidebarType) || unref(getIsTopMenu) || unref(getIsMixSidebar);
|
|
388
416
|
});
|
|
389
417
|
const getShowBackToTop = computed(() => getHeaderConf.showBackToTop);
|
|
390
418
|
const getIsZH = computed(() => {
|
|
@@ -499,7 +527,7 @@ function useFormValue(props, key = "value", changeEvent = "change", emitData) {
|
|
|
499
527
|
const setState = (val) => {
|
|
500
528
|
innerState.value = val;
|
|
501
529
|
nextTick(() => {
|
|
502
|
-
emit?.(changeEvent, val, ...toRaw
|
|
530
|
+
emit?.(changeEvent, val, ...toRaw(unref(emitData)) || []);
|
|
503
531
|
});
|
|
504
532
|
};
|
|
505
533
|
watchEffect(() => {
|
|
@@ -514,7 +542,7 @@ function useFormValue(props, key = "value", changeEvent = "change", emitData) {
|
|
|
514
542
|
return;
|
|
515
543
|
innerState.value = value;
|
|
516
544
|
nextTick(() => {
|
|
517
|
-
emit?.(changeEvent, value, ...toRaw
|
|
545
|
+
emit?.(changeEvent, value, ...toRaw(unref(emitData)) || []);
|
|
518
546
|
});
|
|
519
547
|
}
|
|
520
548
|
});
|
|
@@ -571,6 +599,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
571
599
|
};
|
|
572
600
|
}
|
|
573
601
|
});
|
|
602
|
+
const _export_sfc = (sfc, props) => {
|
|
603
|
+
const target = sfc.__vccOpts || sfc;
|
|
604
|
+
for (const [key, val] of props) {
|
|
605
|
+
target[key] = val;
|
|
606
|
+
}
|
|
607
|
+
return target;
|
|
608
|
+
};
|
|
609
|
+
const RadioButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__file", "D:/dt/dt-frame-front/dt-frames/frames/packages/ui/src/components/form/src/components/radioButton.vue"]]);
|
|
574
610
|
const _hoisted_1$1 = { class: "input-with-dialog" };
|
|
575
611
|
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
576
612
|
__name: "formInputUseDialog",
|
|
@@ -606,14 +642,15 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
606
642
|
key: 0,
|
|
607
643
|
class: "i mdi:close-circle",
|
|
608
644
|
onClick: clearProps
|
|
609
|
-
})) : createCommentVNode("", true)
|
|
645
|
+
})) : createCommentVNode("v-if", true)
|
|
610
646
|
]);
|
|
611
647
|
};
|
|
612
648
|
}
|
|
613
649
|
});
|
|
650
|
+
const DtFormInputDialog = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__file", "D:/dt/dt-frame-front/dt-frames/frames/packages/ui/src/components/form/src/components/formInputUseDialog.vue"]]);
|
|
614
651
|
const components = {
|
|
615
652
|
Input,
|
|
616
|
-
InputWithDialog:
|
|
653
|
+
InputWithDialog: DtFormInputDialog,
|
|
617
654
|
InputTextArea: Input.TextArea,
|
|
618
655
|
InputSearch: Input.Search,
|
|
619
656
|
InputGroup: Input.Group,
|
|
@@ -622,7 +659,7 @@ const components = {
|
|
|
622
659
|
TreeSelect,
|
|
623
660
|
Radio,
|
|
624
661
|
RadioGroup: Radio.Group,
|
|
625
|
-
RadioButtonGroup
|
|
662
|
+
RadioButtonGroup,
|
|
626
663
|
Checkbox,
|
|
627
664
|
CheckboxGroup: Checkbox.Group,
|
|
628
665
|
AutoComplete,
|
|
@@ -1007,6 +1044,7 @@ const _sfc_main$2 = {
|
|
|
1007
1044
|
};
|
|
1008
1045
|
}
|
|
1009
1046
|
};
|
|
1047
|
+
const DtFormItem = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "D:/dt/dt-frame-front/dt-frames/frames/packages/ui/src/components/form/src/components/FormItem.vue"]]);
|
|
1010
1048
|
const _hoisted_1 = {
|
|
1011
1049
|
key: 0,
|
|
1012
1050
|
className: "preIcon pr-1"
|
|
@@ -1119,9 +1157,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1119
1157
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.buttonList, (button) => {
|
|
1120
1158
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
1121
1159
|
(button.show === void 0 ? true : button.show) ? withDirectives((openBlock(), createBlock(_component_AButton, {
|
|
1160
|
+
class: normalizeClass(["items-center", button.class]),
|
|
1122
1161
|
type: button.type,
|
|
1123
|
-
|
|
1124
|
-
loading: button.loading?.value,
|
|
1162
|
+
loading: button.loading,
|
|
1125
1163
|
disabled: button.disabled,
|
|
1126
1164
|
key: unref(key),
|
|
1127
1165
|
onClick: ($event) => handleBtnClick(button)
|
|
@@ -1129,18 +1167,18 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1129
1167
|
icon: withCtx(() => [
|
|
1130
1168
|
button.preIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_1, null, 512)), [
|
|
1131
1169
|
[_directive_icon, button.preIcon]
|
|
1132
|
-
]) : createCommentVNode("", true)
|
|
1170
|
+
]) : createCommentVNode("v-if", true)
|
|
1133
1171
|
]),
|
|
1134
1172
|
default: withCtx(() => [
|
|
1135
|
-
createTextVNode(" " + toDisplayString(unref(t)(button.
|
|
1173
|
+
createTextVNode(" " + toDisplayString(unref(t)(button.label)) + " ", 1),
|
|
1136
1174
|
button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2, null, 512)), [
|
|
1137
1175
|
[_directive_icon, button.postIcon]
|
|
1138
|
-
]) : createCommentVNode("", true)
|
|
1176
|
+
]) : createCommentVNode("v-if", true)
|
|
1139
1177
|
]),
|
|
1140
1178
|
_: 2
|
|
1141
1179
|
}, 1032, ["type", "class", "loading", "disabled", "onClick"])), [
|
|
1142
1180
|
[_directive_auth, button.auth]
|
|
1143
|
-
]) : createCommentVNode("", true)
|
|
1181
|
+
]) : createCommentVNode("v-if", true)
|
|
1144
1182
|
], 64);
|
|
1145
1183
|
}), 256)),
|
|
1146
1184
|
unref(showAdvanceRef) ? (openBlock(), createBlock(_component_AButton, {
|
|
@@ -1150,27 +1188,29 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1150
1188
|
onClick: toggleAdvanced
|
|
1151
1189
|
}, {
|
|
1152
1190
|
default: withCtx(() => [
|
|
1191
|
+
createCommentVNode(" \u6536\u8D77 | \u5C55\u5F00 "),
|
|
1153
1192
|
createElementVNode("span", _hoisted_3, toDisplayString(advancedRef.value ? unref(t)("UI.ADVANCED") : unref(t)("UI.EXPAND")), 1),
|
|
1154
1193
|
createElementVNode("span", {
|
|
1155
1194
|
class: normalizeClass(unref(getAdvanceClass))
|
|
1156
1195
|
}, _hoisted_5, 2)
|
|
1157
1196
|
]),
|
|
1158
1197
|
_: 1
|
|
1159
|
-
})) : createCommentVNode("", true)
|
|
1198
|
+
})) : createCommentVNode("v-if", true)
|
|
1160
1199
|
]),
|
|
1161
1200
|
_: 1
|
|
1162
1201
|
}, 8, ["style"])
|
|
1163
1202
|
]),
|
|
1164
1203
|
_: 1
|
|
1165
|
-
}, 16)) : createCommentVNode("", true);
|
|
1204
|
+
}, 16)) : createCommentVNode("v-if", true);
|
|
1166
1205
|
};
|
|
1167
1206
|
}
|
|
1168
1207
|
});
|
|
1208
|
+
const DtFormButtons = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "D:/dt/dt-frame-front/dt-frames/frames/packages/ui/src/components/form/src/components/FormButtons.vue"]]);
|
|
1169
1209
|
const SEARCH_BTN_NAME = "UI.SEARCH";
|
|
1170
1210
|
const RESET_BTN_NAME = "UI.RESET";
|
|
1171
1211
|
const SEARCH_BTNS = [
|
|
1172
|
-
{
|
|
1173
|
-
{
|
|
1212
|
+
{ label: SEARCH_BTN_NAME, preIcon: "mdi:magnify", type: "primary" },
|
|
1213
|
+
{ label: RESET_BTN_NAME, preIcon: "mdi:refresh", type: "default" }
|
|
1174
1214
|
];
|
|
1175
1215
|
function useFormEvents({
|
|
1176
1216
|
emits,
|
|
@@ -1186,7 +1226,7 @@ function useFormEvents({
|
|
|
1186
1226
|
const formEl = unref(formElRef);
|
|
1187
1227
|
if (!formEl)
|
|
1188
1228
|
return {};
|
|
1189
|
-
return handleFormValues(toRaw
|
|
1229
|
+
return handleFormValues(toRaw(unref(formModel)));
|
|
1190
1230
|
}
|
|
1191
1231
|
function updateSchema(data) {
|
|
1192
1232
|
let updateItems = [];
|
|
@@ -1224,7 +1264,7 @@ function useFormEvents({
|
|
|
1224
1264
|
obj[name] = null;
|
|
1225
1265
|
if (!isNullAndUnDef(it.defaultValue))
|
|
1226
1266
|
return obj[name] = it.defaultValue;
|
|
1227
|
-
let props = isFunction(it.props) ? it.props(toRaw
|
|
1267
|
+
let props = isFunction(it.props) ? it.props(toRaw(unref(formModel))) : it.props;
|
|
1228
1268
|
if (!isNullAndUnDef(props?.defaultValue))
|
|
1229
1269
|
obj[name] = props.defaultValue;
|
|
1230
1270
|
});
|
|
@@ -1253,7 +1293,7 @@ function useFormEvents({
|
|
|
1253
1293
|
formModel[key] = isInput ? defaultValue.value[key] || "" : defaultValue.value[key];
|
|
1254
1294
|
});
|
|
1255
1295
|
nextTick(() => clearValidate());
|
|
1256
|
-
emits("reset", toRaw
|
|
1296
|
+
emits("reset", toRaw(formModel));
|
|
1257
1297
|
}
|
|
1258
1298
|
function removeFormByName(names) {
|
|
1259
1299
|
if (!names)
|
|
@@ -1456,23 +1496,29 @@ function useFormActions(opt) {
|
|
|
1456
1496
|
const { getProps, defaultValue, updateSchema, getFormValues, setFormValues } = opt;
|
|
1457
1497
|
const { appConf } = useAppStore();
|
|
1458
1498
|
function handleAdvanced(isAdvanced) {
|
|
1459
|
-
const {
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1499
|
+
const {
|
|
1500
|
+
schemas,
|
|
1501
|
+
minShowColumn = appConf.ui.form?.minShowColumn || 2,
|
|
1502
|
+
showAdvancedButton = appConf.ui.form?.showAdvancedButton || true
|
|
1503
|
+
} = unref(getProps);
|
|
1504
|
+
let schema = [...schemas];
|
|
1505
|
+
if (showAdvancedButton) {
|
|
1506
|
+
schema = schemas.reduce((t, it, index) => {
|
|
1507
|
+
if (index > minShowColumn - 1)
|
|
1508
|
+
it.isAdvanced = isAdvanced;
|
|
1509
|
+
t.push(it);
|
|
1510
|
+
return t;
|
|
1511
|
+
}, []);
|
|
1512
|
+
}
|
|
1466
1513
|
updateSchema(schema);
|
|
1467
1514
|
}
|
|
1468
1515
|
function handleMethod(params) {
|
|
1469
1516
|
const { onSearch, onReset } = unref(getProps);
|
|
1470
1517
|
if (isBoolean(params)) {
|
|
1471
1518
|
handleAdvanced(params);
|
|
1472
|
-
} else if (params.
|
|
1473
|
-
console.log(getProps);
|
|
1519
|
+
} else if (params.label === SEARCH_BTN_NAME) {
|
|
1474
1520
|
onSearch(getFormValues());
|
|
1475
|
-
} else if (params.
|
|
1521
|
+
} else if (params.label === RESET_BTN_NAME) {
|
|
1476
1522
|
setFormValues(toRaw(defaultValue.value));
|
|
1477
1523
|
onReset(getFormValues());
|
|
1478
1524
|
} else {
|
|
@@ -1546,10 +1592,6 @@ const BasicProps = {
|
|
|
1546
1592
|
type: Boolean,
|
|
1547
1593
|
default: true
|
|
1548
1594
|
},
|
|
1549
|
-
alwaysShowLines: {
|
|
1550
|
-
type: Boolean,
|
|
1551
|
-
default: false
|
|
1552
|
-
},
|
|
1553
1595
|
minShowColumn: {
|
|
1554
1596
|
type: Number,
|
|
1555
1597
|
default: 2
|
|
@@ -1742,6 +1784,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1742
1784
|
setFormValues(null);
|
|
1743
1785
|
emits("register", formActionMethods);
|
|
1744
1786
|
initDefault();
|
|
1787
|
+
if (unref(getProps)?.registerInstance) {
|
|
1788
|
+
unref(getProps)?.registerInstance(formActionMethods);
|
|
1789
|
+
}
|
|
1745
1790
|
});
|
|
1746
1791
|
watch(
|
|
1747
1792
|
() => unref(getProps).onSearch,
|
|
@@ -1784,7 +1829,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1784
1829
|
} }), {
|
|
1785
1830
|
default: withCtx(() => [
|
|
1786
1831
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getSchema), (schema) => {
|
|
1787
|
-
return openBlock(), createBlock(unref(
|
|
1832
|
+
return openBlock(), createBlock(unref(DtFormItem), {
|
|
1788
1833
|
key: schema.name,
|
|
1789
1834
|
schema,
|
|
1790
1835
|
formProps: unref(getProps),
|
|
@@ -1803,7 +1848,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1803
1848
|
})
|
|
1804
1849
|
]), 1032, ["schema", "formProps", "formModel", "defaultValues"]);
|
|
1805
1850
|
}), 128)),
|
|
1806
|
-
unref(getActionsProps).buttonList?.length ? (openBlock(), createBlock(unref(
|
|
1851
|
+
unref(getActionsProps).buttonList?.length ? (openBlock(), createBlock(unref(DtFormButtons), mergeProps({ key: 0 }, unref(getActionsProps), { onHandleMethod: unref(handleMethod) }), null, 16, ["onHandleMethod"])) : createCommentVNode("v-if", true)
|
|
1807
1852
|
]),
|
|
1808
1853
|
_: 3
|
|
1809
1854
|
}, 16)
|
|
@@ -1813,6 +1858,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1813
1858
|
};
|
|
1814
1859
|
}
|
|
1815
1860
|
});
|
|
1861
|
+
const Forms = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:/dt/dt-frame-front/dt-frames/frames/packages/ui/src/components/form/src/index.vue"]]);
|
|
1816
1862
|
function useForm(props) {
|
|
1817
1863
|
const formRef = ref(null);
|
|
1818
1864
|
const loadedRef = ref(false);
|
|
@@ -1889,7 +1935,7 @@ const withInstall = (comp) => {
|
|
|
1889
1935
|
};
|
|
1890
1936
|
return comp;
|
|
1891
1937
|
};
|
|
1892
|
-
const DtForm = withInstall(
|
|
1938
|
+
const DtForm = withInstall(Forms);
|
|
1893
1939
|
export {
|
|
1894
1940
|
DtForm,
|
|
1895
1941
|
useForm
|
|
@@ -26,6 +26,52 @@
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
.ant-input{
|
|
30
|
+
font-size: 13px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.ant-btn{
|
|
34
|
+
display: flex;
|
|
35
|
+
align-items: center;
|
|
36
|
+
font-size: 13px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.ant-btn.ant-btn-sm{
|
|
40
|
+
font-size: 12px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.ant-btn.ant-btn-lg {
|
|
44
|
+
font-size: 14px;
|
|
45
|
+
height: 34px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.ant-input-sm{
|
|
49
|
+
font-size: 12px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.ant-input-lg{
|
|
53
|
+
font-size: 14px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.ant-form-item{
|
|
57
|
+
// align-items: center;
|
|
58
|
+
.prefix, .suffix {
|
|
59
|
+
display: flex;
|
|
60
|
+
align-items: center;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.ant-input-affix-wrapper{
|
|
65
|
+
display: flex;
|
|
66
|
+
align-items: center;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.ant-picker{
|
|
70
|
+
width: 100%;
|
|
71
|
+
height: 100%;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
|
|
29
75
|
.ant-form-item.small {
|
|
30
76
|
line-height: 30px;
|
|
31
77
|
font-size: 12px;
|
|
@@ -36,7 +82,6 @@
|
|
|
36
82
|
}
|
|
37
83
|
|
|
38
84
|
.ant-input-affix-wrapper-sm{
|
|
39
|
-
line-height: 30px;
|
|
40
85
|
height: 30px;
|
|
41
86
|
|
|
42
87
|
.ant-input-sm{
|
|
@@ -49,10 +94,6 @@
|
|
|
49
94
|
font-size: 12px;
|
|
50
95
|
}
|
|
51
96
|
|
|
52
|
-
.prefix, .suffix {
|
|
53
|
-
height: 30px;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
97
|
.ant-form-item-explain{
|
|
57
98
|
height: 16px;
|
|
58
99
|
min-height: 16px;
|
|
@@ -100,14 +141,154 @@
|
|
|
100
141
|
}
|
|
101
142
|
|
|
102
143
|
.ant-picker{
|
|
103
|
-
width: 100%;
|
|
104
|
-
height: 100%;
|
|
105
144
|
&-input input{
|
|
106
145
|
font-size: 12px;
|
|
107
146
|
}
|
|
108
147
|
}
|
|
109
148
|
}
|
|
110
149
|
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
.ant-form-item.middle{
|
|
153
|
+
font-size: 13px;
|
|
154
|
+
.ant-form-item-label label{
|
|
155
|
+
height: 32px;
|
|
156
|
+
font-size: 13px;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.ant-input-prefix, .ant-input-suffix{
|
|
160
|
+
font-size: 13px;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.ant-input-affix-wrapper{
|
|
164
|
+
height: 32px;
|
|
165
|
+
|
|
166
|
+
.ant-input{
|
|
167
|
+
height: 26px;
|
|
168
|
+
font-size: 13px;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.ant-select-single:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input,
|
|
173
|
+
.ant-select-multiple:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input {
|
|
174
|
+
height: 32px;
|
|
175
|
+
line-height: 30px;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{
|
|
179
|
+
height: 32px;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector::after,
|
|
183
|
+
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,
|
|
184
|
+
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder{
|
|
185
|
+
line-height: 30px;
|
|
186
|
+
font-size: 13px;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.ant-select-multiple {
|
|
190
|
+
font-size: 13px;
|
|
191
|
+
.ant-select-selector{
|
|
192
|
+
min-height: 32px;
|
|
193
|
+
input{
|
|
194
|
+
height: 28px !important;
|
|
195
|
+
line-height: 28px !important;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
.anticon {
|
|
199
|
+
display: flex;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.ant-radio-group-default label, .ant-checkbox-group-item {
|
|
204
|
+
font-size: 12px;
|
|
205
|
+
line-height: 30px;
|
|
206
|
+
height: 30px;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.ant-picker{
|
|
210
|
+
&-input input{
|
|
211
|
+
font-size: 13px;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.ant-form-item.large{
|
|
217
|
+
font-size: 14px;
|
|
218
|
+
.ant-form-item-label label{
|
|
219
|
+
height: 34px;
|
|
220
|
+
font-size: 14px;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.ant-input-prefix, .ant-input-suffix{
|
|
224
|
+
font-size: 14px;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.ant-input-affix-wrapper-lg{
|
|
228
|
+
height: 34px;
|
|
229
|
+
|
|
230
|
+
.ant-input{
|
|
231
|
+
font-size: 14px;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.ant-select-single.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input,
|
|
236
|
+
.ant-select-multiple.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input {
|
|
237
|
+
height: 34px;
|
|
238
|
+
line-height: 32px;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{
|
|
242
|
+
height: 34px;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector::after,
|
|
246
|
+
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,
|
|
247
|
+
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder{
|
|
248
|
+
line-height: 32px;
|
|
249
|
+
font-size: 14px;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.ant-select-multiple.ant-select-lg {
|
|
253
|
+
font-size: 14px;
|
|
254
|
+
.ant-select-selector{
|
|
255
|
+
min-height: 34px;
|
|
256
|
+
input{
|
|
257
|
+
height: 16px !important;
|
|
258
|
+
line-height: 16px !important;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.ant-select-selector::after{
|
|
263
|
+
margin: 0;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
.ant-select-selection-overflow-item{
|
|
267
|
+
height: 26px;
|
|
268
|
+
.ant-select-selection-item{
|
|
269
|
+
height: 24px;
|
|
270
|
+
line-height: 24px;
|
|
271
|
+
font-size: 13px;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
.anticon {
|
|
275
|
+
display: flex;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.ant-radio-group-large label, .ant-checkbox-group-item {
|
|
280
|
+
font-size: 14px;
|
|
281
|
+
line-height: 32px;
|
|
282
|
+
height: 32px;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.ant-picker{
|
|
286
|
+
&-input input{
|
|
287
|
+
font-size: 14px;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
111
292
|
.ant-input-number {
|
|
112
293
|
width: 100%;
|
|
113
294
|
height: 100%;
|
|
@@ -115,6 +296,14 @@
|
|
|
115
296
|
line-height: 28px;
|
|
116
297
|
font-size: 12px;
|
|
117
298
|
}
|
|
299
|
+
|
|
300
|
+
&.ant-input-number-lg{
|
|
301
|
+
line-height: 28px;
|
|
302
|
+
font-size: 14px;
|
|
303
|
+
input{
|
|
304
|
+
height: 32px;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
118
307
|
}
|
|
119
308
|
|
|
120
309
|
.anticon-swap-right{
|
|
@@ -128,14 +317,23 @@
|
|
|
128
317
|
min-height: 30px;
|
|
129
318
|
}
|
|
130
319
|
|
|
320
|
+
.ant-select-dropdown.middle .ant-select-item.ant-select-item-option {
|
|
321
|
+
font-size: 13px;
|
|
322
|
+
line-height: 24px;
|
|
323
|
+
min-height: 32px;
|
|
324
|
+
}
|
|
325
|
+
|
|
131
326
|
.ant-picker-dropdown.small {
|
|
132
327
|
font-size: 12px;
|
|
133
328
|
}
|
|
134
329
|
|
|
330
|
+
.ant-picker-dropdown.middle {
|
|
331
|
+
font-size: 13px;
|
|
332
|
+
}
|
|
333
|
+
|
|
135
334
|
.dt-form-btns {
|
|
136
335
|
.ant-form-item-control-input-content{
|
|
137
336
|
display: flex;
|
|
138
337
|
gap: 12px;
|
|
139
338
|
}
|
|
140
339
|
}
|
|
141
|
-
|
|
@@ -50,8 +50,8 @@ declare const _sfc_main: {
|
|
|
50
50
|
};
|
|
51
51
|
rowProps: {
|
|
52
52
|
type: PropType<Partial<import("vue").ExtractPropTypes<{
|
|
53
|
-
align: PropType<"
|
|
54
|
-
justify: PropType<"
|
|
53
|
+
align: PropType<"middle" | "top" | "bottom" | "stretch">;
|
|
54
|
+
justify: PropType<"center" | "start" | "space-around" | "space-between" | "end">;
|
|
55
55
|
prefixCls: StringConstructor;
|
|
56
56
|
gutter: {
|
|
57
57
|
type: PropType<import("ant-design-vue/lib/grid/Row").Gutter | [import("ant-design-vue/lib/grid/Row").Gutter, import("ant-design-vue/lib/grid/Row").Gutter]>;
|
|
@@ -69,7 +69,7 @@ declare const _sfc_main: {
|
|
|
69
69
|
default: () => {};
|
|
70
70
|
};
|
|
71
71
|
size: {
|
|
72
|
-
type: PropType<"small" | "
|
|
72
|
+
type: PropType<"small" | "large" | "middle">;
|
|
73
73
|
default: string;
|
|
74
74
|
};
|
|
75
75
|
disabled: {
|
|
@@ -88,10 +88,6 @@ declare const _sfc_main: {
|
|
|
88
88
|
type: BooleanConstructor;
|
|
89
89
|
default: boolean;
|
|
90
90
|
};
|
|
91
|
-
alwaysShowLines: {
|
|
92
|
-
type: BooleanConstructor;
|
|
93
|
-
default: boolean;
|
|
94
|
-
};
|
|
95
91
|
minShowColumn: {
|
|
96
92
|
type: NumberConstructor;
|
|
97
93
|
default: number;
|