ll-plus 2.5.20 → 2.5.22
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/components/select-group/index.d.ts +15 -2
- package/es/components/select-group/src/select-group.vue.d.ts +15 -2
- package/es/packages/components/icon-base/src/icon-base.vue2.mjs +1 -1
- package/es/packages/components/icon-base/src/icon-base.vue2.mjs.map +1 -1
- package/es/packages/components/number-range/src/number-range.vue2.mjs +23 -15
- package/es/packages/components/number-range/src/number-range.vue2.mjs.map +1 -1
- package/es/packages/components/select-group/src/select-group.vue2.mjs +12 -11
- package/es/packages/components/select-group/src/select-group.vue2.mjs.map +1 -1
- package/index.full.js +35 -26
- package/index.full.min.js +16 -16
- package/index.full.min.js.map +1 -1
- package/index.full.min.mjs +16 -16
- package/index.full.min.mjs.map +1 -1
- package/index.full.mjs +35 -26
- package/lib/components/select-group/index.d.ts +15 -2
- package/lib/components/select-group/src/select-group.vue.d.ts +15 -2
- package/lib/packages/components/icon-base/src/icon-base.vue2.js +1 -1
- package/lib/packages/components/icon-base/src/icon-base.vue2.js.map +1 -1
- package/lib/packages/components/number-range/src/number-range.vue2.js +22 -14
- package/lib/packages/components/number-range/src/number-range.vue2.js.map +1 -1
- package/lib/packages/components/select-group/src/select-group.vue2.js +12 -11
- package/lib/packages/components/select-group/src/select-group.vue2.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/css/form.css +1 -1
- package/theme-chalk/css/icon-base.css +1 -1
- package/theme-chalk/css/index.css +1 -1
- package/theme-chalk/css/number-range.css +1 -1
- package/types/packages/components/select-group/index.d.ts +15 -2
- package/types/packages/components/select-group/src/select-group.vue.d.ts +15 -2
|
@@ -17,9 +17,8 @@ export declare const LlSelectGroup: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
17
17
|
readonly onOnSelectChange?: ((selectV: string, item: import("./src/select-group").SelectGroupData) => any) | undefined;
|
|
18
18
|
} & {}>;
|
|
19
19
|
emits: ((event: "change", selectV: string, value?: any) => void) & ((event: "onSelectChange", selectV: string, item: import("./src/select-group").SelectGroupData) => void);
|
|
20
|
-
|
|
20
|
+
selectType: import("vue").Ref<any>;
|
|
21
21
|
value: import("vue").Ref<any>;
|
|
22
|
-
selectItem: import("vue").Ref<import("./src/select-group").SelectGroupData | undefined>;
|
|
23
22
|
newList: import("vue").Ref<{
|
|
24
23
|
readonly value: string;
|
|
25
24
|
readonly name: string;
|
|
@@ -54,6 +53,20 @@ export declare const LlSelectGroup: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
54
53
|
bem: (blockSuffix: string, element: string, modifier: string) => string;
|
|
55
54
|
is: (name?: string) => string;
|
|
56
55
|
};
|
|
56
|
+
selectItem: import("vue").ComputedRef<{
|
|
57
|
+
readonly value: string;
|
|
58
|
+
readonly name: string;
|
|
59
|
+
readonly placeholder?: string | undefined;
|
|
60
|
+
readonly options?: any[] | undefined;
|
|
61
|
+
readonly fieldNames?: object | undefined;
|
|
62
|
+
readonly list?: {
|
|
63
|
+
[x: string]: any;
|
|
64
|
+
name?: string | undefined;
|
|
65
|
+
value?: any;
|
|
66
|
+
}[] | undefined;
|
|
67
|
+
readonly showFormType?: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "select" | "input" | "range-picker" | "treeSelect", unknown> | undefined;
|
|
68
|
+
readonly noFirstAddAll?: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
|
69
|
+
} | undefined>;
|
|
57
70
|
leftSelectWidth: import("vue").ComputedRef<string>;
|
|
58
71
|
handleSelectChange: (_: string, options: any) => void;
|
|
59
72
|
handleChange: () => void;
|
|
@@ -17,9 +17,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
17
17
|
readonly onOnSelectChange?: ((selectV: string, item: SelectGroupData) => any) | undefined;
|
|
18
18
|
} & {}>;
|
|
19
19
|
emits: ((event: "change", selectV: string, value?: any) => void) & ((event: "onSelectChange", selectV: string, item: SelectGroupData) => void);
|
|
20
|
-
|
|
20
|
+
selectType: import("vue").Ref<any>;
|
|
21
21
|
value: import("vue").Ref<any>;
|
|
22
|
-
selectItem: import("vue").Ref<SelectGroupData | undefined>;
|
|
23
22
|
newList: import("vue").Ref<{
|
|
24
23
|
readonly value: string;
|
|
25
24
|
readonly name: string;
|
|
@@ -54,6 +53,20 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
54
53
|
bem: (blockSuffix: string, element: string, modifier: string) => string;
|
|
55
54
|
is: (name?: string) => string;
|
|
56
55
|
};
|
|
56
|
+
selectItem: import("vue").ComputedRef<{
|
|
57
|
+
readonly value: string;
|
|
58
|
+
readonly name: string;
|
|
59
|
+
readonly placeholder?: string | undefined;
|
|
60
|
+
readonly options?: any[] | undefined;
|
|
61
|
+
readonly fieldNames?: object | undefined;
|
|
62
|
+
readonly list?: {
|
|
63
|
+
[x: string]: any;
|
|
64
|
+
name?: string | undefined;
|
|
65
|
+
value?: any;
|
|
66
|
+
}[] | undefined;
|
|
67
|
+
readonly showFormType?: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "select" | "input" | "range-picker" | "treeSelect", unknown> | undefined;
|
|
68
|
+
readonly noFirstAddAll?: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
|
69
|
+
} | undefined>;
|
|
57
70
|
leftSelectWidth: import("vue").ComputedRef<string>;
|
|
58
71
|
handleSelectChange: (_: string, options: any) => void;
|
|
59
72
|
handleChange: () => void;
|
|
@@ -15,7 +15,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15
15
|
const btnClass = computed(() => {
|
|
16
16
|
const isDefault = props.iconType === "default" || !props.iconType;
|
|
17
17
|
const typeClass = isDefault ? bem.m("default") : bem.m("primary");
|
|
18
|
-
const exposedClass = props.isShowContainer ? "" : bem.m("exposed");
|
|
18
|
+
const exposedClass = props.isShowContainer ? bem.m("container") : bem.m("exposed");
|
|
19
19
|
const hasTextClass = props.isShowTitle ? bem.m("has-text") : "";
|
|
20
20
|
const disabledClass = props.disabled ? isDefault ? bem.is("default-disable") : bem.is("primary-disable") : "";
|
|
21
21
|
return `${props.class} ${bem.b()} ${typeClass} ${exposedClass} ${hasTextClass} ${disabledClass}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-base.vue2.mjs","sources":["../../../../../../packages/components/icon-base/src/icon-base.vue"],"sourcesContent":["<template>\n <!-- 有文字提示弹窗 -->\n <template v-if=\"isShowTooltip\">\n <ll-tooltip :tip=\"tooltipTitle\">\n <a-button\n type=\"text\"\n :disabled=\"disabled\"\n :class=\"`${btnClass}`\"\n @click=\"handleClickBtn\"\n >\n <ll-icon v-if=\"iconName\" :icon-name=\"iconName\" />\n <span v-if=\"isShowTitle\" :class=\"bem.e('text')\">{{\n tooltipTitle\n }}</span>\n </a-button>\n </ll-tooltip>\n </template>\n <!-- 没有文字提示弹窗 -->\n <template v-else>\n <a-button\n type=\"text\"\n :disabled=\"disabled\"\n :class=\"`${btnClass}`\"\n @click=\"handleClickBtn\"\n >\n <ll-icon v-if=\"iconName\" :icon-name=\"iconName\" />\n <span v-if=\"isShowTitle\" :class=\"bem.e('text')\">{{ tooltipTitle }}</span>\n </a-button>\n </template>\n</template>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\nimport { iconBaseProps } from './icon-base'\n\n// 1.defineOptions\ndefineOptions({\n name: 'LlIconBase'\n})\n\n// 2.props\nconst props = defineProps(iconBaseProps)\n\n// 3.computed/const\n// button的类名样式\nconst btnClass = computed(() => {\n const isDefault = props.iconType === 'default' || !props.iconType\n // 1.类型的class\n const typeClass = isDefault ? bem.m('default') : bem.m('primary')\n // 2.是否要裸露的class\n const exposedClass = props.isShowContainer
|
|
1
|
+
{"version":3,"file":"icon-base.vue2.mjs","sources":["../../../../../../packages/components/icon-base/src/icon-base.vue"],"sourcesContent":["<template>\n <!-- 有文字提示弹窗 -->\n <template v-if=\"isShowTooltip\">\n <ll-tooltip :tip=\"tooltipTitle\">\n <a-button\n type=\"text\"\n :disabled=\"disabled\"\n :class=\"`${btnClass}`\"\n @click=\"handleClickBtn\"\n >\n <ll-icon v-if=\"iconName\" :icon-name=\"iconName\" />\n <span v-if=\"isShowTitle\" :class=\"bem.e('text')\">{{\n tooltipTitle\n }}</span>\n </a-button>\n </ll-tooltip>\n </template>\n <!-- 没有文字提示弹窗 -->\n <template v-else>\n <a-button\n type=\"text\"\n :disabled=\"disabled\"\n :class=\"`${btnClass}`\"\n @click=\"handleClickBtn\"\n >\n <ll-icon v-if=\"iconName\" :icon-name=\"iconName\" />\n <span v-if=\"isShowTitle\" :class=\"bem.e('text')\">{{ tooltipTitle }}</span>\n </a-button>\n </template>\n</template>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\nimport { iconBaseProps } from './icon-base'\n\n// 1.defineOptions\ndefineOptions({\n name: 'LlIconBase'\n})\n\n// 2.props\nconst props = defineProps(iconBaseProps)\n\n// 3.computed/const\n// button的类名样式\nconst btnClass = computed(() => {\n const isDefault = props.iconType === 'default' || !props.iconType\n // 1.类型的class\n const typeClass = isDefault ? bem.m('default') : bem.m('primary')\n // 2.是否要裸露的class\n const exposedClass = props.isShowContainer\n ? bem.m('container')\n : bem.m('exposed')\n // 3.有文本的class\n const hasTextClass = props.isShowTitle ? bem.m('has-text') : ''\n // 4.禁用的class\n const disabledClass = props.disabled\n ? isDefault\n ? bem.is('default-disable')\n : bem.is('primary-disable')\n : ''\n return `${\n props.class\n } ${bem.b()} ${typeClass} ${exposedClass} ${hasTextClass} ${disabledClass}`\n})\nconst bem = createNamespace('icon-base')\n\n// 4.methods\nconst handleClickBtn = (e: Event) =>\n props.onClick && props.onClick(e, props.data)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;AA0CA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAId,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC9B,MAAA,MAAM,SAAY,GAAA,KAAA,CAAM,QAAa,KAAA,SAAA,IAAa,CAAC,KAAM,CAAA,QAAA,CAAA;AAEzD,MAAM,MAAA,SAAA,GAAY,YAAY,GAAI,CAAA,CAAA,CAAE,SAAS,CAAI,GAAA,GAAA,CAAI,EAAE,SAAS,CAAA,CAAA;AAEhE,MAAM,MAAA,YAAA,GAAe,MAAM,eACvB,GAAA,GAAA,CAAI,EAAE,WAAW,CAAA,GACjB,GAAI,CAAA,CAAA,CAAE,SAAS,CAAA,CAAA;AAEnB,MAAA,MAAM,eAAe,KAAM,CAAA,WAAA,GAAc,GAAI,CAAA,CAAA,CAAE,UAAU,CAAI,GAAA,EAAA,CAAA;AAE7D,MAAM,MAAA,aAAA,GAAgB,KAAM,CAAA,QAAA,GACxB,SACE,GAAA,GAAA,CAAI,EAAG,CAAA,iBAAiB,CACxB,GAAA,GAAA,CAAI,EAAG,CAAA,iBAAiB,CAC1B,GAAA,EAAA,CAAA;AACJ,MAAA,OAAO,CACL,EAAA,KAAA,CAAM,KACR,CAAA,CAAA,EAAI,IAAI,CAAE,EAAC,CAAI,CAAA,EAAA,SAAS,CAAI,CAAA,EAAA,YAAY,CAAI,CAAA,EAAA,YAAY,IAAI,aAAa,CAAA,CAAA,CAAA;AAAA,KAC1E,CAAA,CAAA;AACD,IAAM,MAAA,GAAA,GAAM,gBAAgB,WAAW,CAAA,CAAA;AAGvC,IAAM,MAAA,cAAA,GAAiB,CAAC,CACtB,KAAA,KAAA,CAAM,WAAW,KAAM,CAAA,OAAA,CAAQ,CAAG,EAAA,KAAA,CAAM,IAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, watch, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, createVNode, createCommentVNode, renderSlot, createTextVNode } from 'vue';
|
|
1
|
+
import { defineComponent, ref, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, createVNode, createCommentVNode, renderSlot, createTextVNode, withCtx } from 'vue';
|
|
2
2
|
import { isNil } from 'lodash-es';
|
|
3
3
|
import { numberRangeProps, numberRangeEmits } from './number-range.mjs';
|
|
4
4
|
import '../../../utils/index.mjs';
|
|
@@ -80,6 +80,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
80
80
|
}
|
|
81
81
|
);
|
|
82
82
|
return (_ctx, _cache) => {
|
|
83
|
+
const _component_a_form_item = resolveComponent("a-form-item");
|
|
83
84
|
return openBlock(), createElementBlock(
|
|
84
85
|
"div",
|
|
85
86
|
{
|
|
@@ -131,20 +132,27 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
131
132
|
class: normalizeClass(unref(bem).m("input"))
|
|
132
133
|
},
|
|
133
134
|
[
|
|
134
|
-
createVNode(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
135
|
+
createVNode(_component_a_form_item, null, {
|
|
136
|
+
default: withCtx(() => [
|
|
137
|
+
createVNode(unref(LlInputNumber), {
|
|
138
|
+
value: maxValue.value,
|
|
139
|
+
"onUpdate:value": _cache[1] || (_cache[1] = ($event) => maxValue.value = $event),
|
|
140
|
+
placeholder: _ctx.placeholder[1],
|
|
141
|
+
precision: props.precision,
|
|
142
|
+
min: props.min,
|
|
143
|
+
max: props.max,
|
|
144
|
+
disabled: props.disabled,
|
|
145
|
+
controls: false,
|
|
146
|
+
bordered: false,
|
|
147
|
+
style: { "width": "100%" },
|
|
148
|
+
name: "a",
|
|
149
|
+
onChange: handleMaxChange,
|
|
150
|
+
onBlur: handleMaxBlur
|
|
151
|
+
}, null, 8, ["value", "placeholder", "precision", "min", "max", "disabled"])
|
|
152
|
+
]),
|
|
153
|
+
_: 1
|
|
154
|
+
/* STABLE */
|
|
155
|
+
})
|
|
148
156
|
],
|
|
149
157
|
2
|
|
150
158
|
/* CLASS */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-range.vue2.mjs","sources":["../../../../../../packages/components/number-range/src/number-range.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bem.m('input')\">\n <ll-input-number\n v-model:value=\"minValue\"\n :placeholder=\"placeholder[0]\"\n :precision=\"props.precision\"\n :min=\"props.min\"\n :max=\"props.max\"\n :disabled=\"props.disabled\"\n :controls=\"false\"\n :bordered=\"false\"\n style=\"width: 100%\"\n @change=\"handleMinChange\"\n @blur=\"handleMinBlur\"\n />\n </div>\n <!-- 左边InputNumber -->\n\n <span :class=\"bem.m('separator')\">\n <slot name=\"separator\"> - </slot>\n </span>\n <!-- 右边InputNumber -->\n <div :class=\"bem.m('input')\">\n <ll-input-number\n
|
|
1
|
+
{"version":3,"file":"number-range.vue2.mjs","sources":["../../../../../../packages/components/number-range/src/number-range.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bem.m('input')\">\n <ll-input-number\n v-model:value=\"minValue\"\n :placeholder=\"placeholder[0]\"\n :precision=\"props.precision\"\n :min=\"props.min\"\n :max=\"props.max\"\n :disabled=\"props.disabled\"\n :controls=\"false\"\n :bordered=\"false\"\n style=\"width: 100%\"\n @change=\"handleMinChange\"\n @blur=\"handleMinBlur\"\n />\n </div>\n <!-- 左边InputNumber -->\n\n <span :class=\"bem.m('separator')\">\n <slot name=\"separator\"> - </slot>\n </span>\n <!-- 右边InputNumber -->\n <div :class=\"bem.m('input')\">\n <a-form-item>\n <ll-input-number\n v-model:value=\"maxValue\"\n :placeholder=\"placeholder[1]\"\n :precision=\"props.precision\"\n :min=\"props.min\"\n :max=\"props.max\"\n :disabled=\"props.disabled\"\n :controls=\"false\"\n :bordered=\"false\"\n style=\"width: 100%\"\n name=\"a\"\n @change=\"handleMaxChange\"\n @blur=\"handleMaxBlur\"\n />\n </a-form-item>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport { isNil } from 'lodash-es'\nimport { numberRangeProps, numberRangeEmits } from './number-range'\n\ndefineOptions({ name: 'LlNumberRange' })\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport { LlInputNumber } from '@ll-plus/components'\n\nimport type { InputNumberProps } from 'ant-design-vue'\n\n// 1.props/ref\nconst props = defineProps(numberRangeProps)\n// 2.emits\nconst emits = defineEmits(numberRangeEmits)\n\nconst bem = createNamespace('number-range')\n\nconst minValue = ref<InputNumberProps['value']>(undefined)\n\nconst maxValue = ref<InputNumberProps['value']>(undefined)\n\nconst setValue = () => {\n const arr = [minValue.value, maxValue.value]\n emits('update:value', arr)\n emits('change', arr)\n}\n\nconst handleMinChange = e => {\n if (!isNil(e)) {\n minValue.value = e\n } else {\n minValue.value = undefined\n }\n setValue()\n}\nconst handleMaxChange = e => {\n if (!isNil(e)) {\n maxValue.value = e\n } else {\n maxValue.value = undefined\n }\n setValue()\n}\n\nconst handleMaxBlur = () => {\n if (minValue.value || minValue.value === 0) {\n if (maxValue.value && maxValue.value < minValue.value) {\n maxValue.value = minValue.value\n }\n }\n setValue()\n}\n\nconst handleMinBlur = () => {\n if (maxValue.value || maxValue.value === 0) {\n if (minValue.value && minValue.value > maxValue.value) {\n minValue.value = maxValue.value\n }\n }\n setValue()\n}\n\nwatch(\n () => props.value,\n n => {\n if (n && n.length!) {\n if (!isNil(n[0])) {\n minValue.value = n[0]\n } else {\n minValue.value = undefined\n }\n if (!isNil(n[1])) {\n maxValue.value = n[1]\n } else {\n maxValue.value = undefined\n }\n } else {\n minValue.value = undefined\n maxValue.value = undefined\n }\n },\n {\n immediate: true,\n deep: true\n }\n)\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -15,12 +15,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15
15
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
16
16
|
const props = __props;
|
|
17
17
|
const emits = __emit;
|
|
18
|
-
const
|
|
18
|
+
const selectType = ref();
|
|
19
19
|
const value = ref("");
|
|
20
|
-
const selectItem = ref();
|
|
21
20
|
const newList = ref([]);
|
|
22
21
|
const bem = createNamespace("select-group");
|
|
23
22
|
const bemContainer = createNamespace("select-group-container");
|
|
23
|
+
const selectItem = computed(() => {
|
|
24
|
+
return newList.value.find((e) => e.value === selectType.value);
|
|
25
|
+
});
|
|
24
26
|
const leftSelectWidth = computed(() => {
|
|
25
27
|
const names = newList.value.map((item) => item.name.length);
|
|
26
28
|
const maxNameLength = Math.max(...names);
|
|
@@ -40,7 +42,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
40
42
|
} else if (formType === "select") {
|
|
41
43
|
value.value = item.noFirstAddAll ? void 0 : -1;
|
|
42
44
|
}
|
|
43
|
-
|
|
45
|
+
selectType.value = _;
|
|
44
46
|
emits("onSelectChange", _, item);
|
|
45
47
|
};
|
|
46
48
|
const handleChange = () => {
|
|
@@ -51,7 +53,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
51
53
|
);
|
|
52
54
|
};
|
|
53
55
|
const setSelectGroup = (selectValue, currentValue) => {
|
|
54
|
-
|
|
56
|
+
selectType.value = selectValue;
|
|
55
57
|
value.value = currentValue;
|
|
56
58
|
};
|
|
57
59
|
watch(
|
|
@@ -84,7 +86,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
84
86
|
});
|
|
85
87
|
newList.value = list;
|
|
86
88
|
if (newList.value.length && !props.selectValue) {
|
|
87
|
-
|
|
89
|
+
selectType.value = newList.value[0].value;
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
92
|
},
|
|
@@ -96,10 +98,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
96
98
|
watch(
|
|
97
99
|
() => [props.value, props.selectValue],
|
|
98
100
|
([currentValue, selectValue]) => {
|
|
99
|
-
|
|
100
|
-
if (
|
|
101
|
-
const find = newList.value.find((e) => e.value ===
|
|
102
|
-
selectItem.value = find;
|
|
101
|
+
selectType.value = selectValue ? selectValue : newList.value.length ? newList.value[0].value : "";
|
|
102
|
+
if (selectType.value) {
|
|
103
|
+
const find = newList.value.find((e) => e.value === selectType.value);
|
|
103
104
|
if (find && find.showFormType === "select" && !find.noFirstAddAll) {
|
|
104
105
|
value.value = !hasValue(currentValue) ? -1 : currentValue;
|
|
105
106
|
} else {
|
|
@@ -136,8 +137,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
136
137
|
default: withCtx(() => [
|
|
137
138
|
createCommentVNode(" \u5DE6\u4FA7select "),
|
|
138
139
|
createVNode(_component_a_select, {
|
|
139
|
-
value:
|
|
140
|
-
"onUpdate:value": _cache[0] || (_cache[0] = ($event) =>
|
|
140
|
+
value: selectType.value,
|
|
141
|
+
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => selectType.value = $event),
|
|
141
142
|
class: "select-group-left-select-container",
|
|
142
143
|
style: normalizeStyle({ minWidth: leftSelectWidth.value }),
|
|
143
144
|
onChange: handleSelectChange
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-group.vue2.mjs","sources":["../../../../../../packages/components/select-group/src/select-group.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bemContainer.b()\">\n <a-input-group compact>\n <!-- 左侧select -->\n <a-select\n v-model:value=\"typeSelectValue\"\n class=\"select-group-left-select-container\"\n :style=\"{ minWidth: leftSelectWidth }\"\n @change=\"handleSelectChange\"\n >\n <a-select-option\n v-for=\"item in newList\"\n :key=\"item.name\"\n :value=\"item.value\"\n :item=\"item\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n <!-- 右侧组合表单 -->\n <!-- input输入框 -->\n <template\n v-if=\"\n !selectItem?.showFormType || selectItem?.showFormType === 'input'\n \"\n >\n <a-input\n v-model:value=\"value\"\n :class=\"bem.e('right-input')\"\n :placeholder=\"selectItem?.placeholder\"\n @press-enter=\"handleChange\"\n >\n <template #suffix>\n <ll-icon :icon-name=\"`icon-search`\" @click=\"handleChange\" />\n </template>\n </a-input>\n </template>\n <!-- select下拉框 -->\n <template v-else-if=\"selectItem?.showFormType === 'select'\">\n <a-select\n v-model:value=\"value\"\n :class=\"bem.e('right-select')\"\n popup-class-name=\"select-group-right-select\"\n :options=\"selectItem?.options\"\n :placeholder=\"selectItem?.placeholder\"\n :field-names=\"selectItem?.fieldNames\"\n @change=\"handleChange\"\n >\n <a-select-option\n v-for=\"item in selectItem.list\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n </template>\n <!-- 日期选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'range-picker'\">\n <a-range-picker\n v-model:value=\"value\"\n :class=\"bem.e('right-range-picker')\"\n @change=\"handleChange\"\n />\n </template>\n <!-- 树选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'treeSelect'\">\n <a-tree-select\n v-model:value=\"value\"\n :class=\"bem.e('right-tree-select')\"\n :field-names=\"selectItem.fieldNames\"\n :placeholder=\"selectItem?.placeholder\"\n :tree-data=\"selectItem.list\"\n @select=\"handleChange\"\n ></a-tree-select>\n </template>\n <template v-else>\n <slot name=\"extra\" v-bind=\"selectItem\" />\n </template>\n </a-input-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue'\nimport { has } from 'lodash-es'\n\nimport { selectGroupProps, selectGroupEmits } from './select-group'\nimport { createNamespace } from '@ll-plus/utils'\nimport { hasValue } from '../../advanced-filtering'\nimport { LEFT_SELECT_MIN_WIDTH } from './select-group'\n\nimport type { SelectGroupData } from './select-group'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlSelectGroup' })\n\n// 1.props/emits\nconst props = defineProps(selectGroupProps)\nconst emits = defineEmits(selectGroupEmits)\n\n// 3.ref/const\nconst typeSelectValue = ref('1') // selectinput组合select的值\nconst value = ref<any>('') // 左边的value\nconst selectItem = ref<SelectGroupData>() // 选中表单的类型\nconst newList = ref<SelectGroupData[]>([]) // 处理后的数据,比如select的类型前面加个全部\nconst bem = createNamespace('select-group')\nconst bemContainer = createNamespace('select-group-container')\n\n// 动态计算左边文字最长的宽度\nconst leftSelectWidth = computed(() => {\n const names = newList.value.map(item => item.name.length)\n const maxNameLength = Math.max(...names)\n if (maxNameLength <= 3) {\n return LEFT_SELECT_MIN_WIDTH + 'px'\n }\n const width = LEFT_SELECT_MIN_WIDTH + (maxNameLength - 3) * 14\n return width + 'px'\n})\n\n// 4.methods\n// 第一个select的change\nconst handleSelectChange = (_: string, options: any) => {\n const item = options.item\n const formType = item.showFormType\n // 如果\n if (!formType || formType === 'input' || formType === 'treeSelect') {\n value.value = ''\n } else if (formType === 'range-picker') {\n value.value = [undefined, undefined]\n } else if (formType === 'select') {\n value.value = item.noFirstAddAll ? undefined : -1\n }\n selectItem.value = options.item\n emits('onSelectChange', _, item)\n}\n// 整合处理change\nconst handleChange = () => {\n // 过滤-1的下拉全部\n emits(\n 'change',\n selectItem.value?.value as string,\n value.value === -1 ? null : value.value\n )\n}\nconst setSelectGroup = (selectValue: string, currentValue: any) => {\n typeSelectValue.value = selectValue\n value.value = currentValue\n}\n\n// 5.watch\n// 已第一个为标准\nwatch(\n () => props.data as SelectGroupData[],\n newData => {\n let list: SelectGroupData[] = []\n if (newData && newData.length) {\n list = newData.map(item => {\n const newItem = { ...item }\n if (newItem.showFormType === 'select') {\n if (has(newItem, 'options') && !newItem.noFirstAddAll) {\n newItem.options = [\n {\n label: '全部',\n value: -1\n },\n ...newItem.options!\n ]\n } else if (has(newItem, 'list') && !newItem.noFirstAddAll) {\n newItem.list = [\n {\n name: '全部',\n value: -1\n },\n ...newItem.list!\n ]\n }\n }\n return newItem\n })\n\n newList.value = list\n if (newList.value.length && !props.selectValue) {\n typeSelectValue.value = newList.value[0].value\n }\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nwatch(\n () => [props.value, props.selectValue] as [any, string],\n ([currentValue, selectValue]) => {\n typeSelectValue.value =\n selectValue || newList.value.length ? newList.value[0].value : ''\n if (typeSelectValue.value) {\n const find = newList.value.find(e => e.value === typeSelectValue.value)\n selectItem.value = find\n if (find && find.showFormType === 'select' && !find.noFirstAddAll) {\n value.value = !hasValue(currentValue) ? -1 : currentValue\n } else {\n value.value = currentValue\n }\n }\n },\n {\n immediate: true\n }\n)\n\ndefineExpose({ setSelectGroup })\n</script>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select-group.vue2.mjs","sources":["../../../../../../packages/components/select-group/src/select-group.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bemContainer.b()\">\n <a-input-group compact>\n <!-- 左侧select -->\n <a-select\n v-model:value=\"selectType\"\n class=\"select-group-left-select-container\"\n :style=\"{ minWidth: leftSelectWidth }\"\n @change=\"handleSelectChange\"\n >\n <a-select-option\n v-for=\"item in newList\"\n :key=\"item.name\"\n :value=\"item.value\"\n :item=\"item\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n <!-- 右侧组合表单 -->\n <!-- input输入框 -->\n <template\n v-if=\"\n !selectItem?.showFormType || selectItem?.showFormType === 'input'\n \"\n >\n <a-input\n v-model:value=\"value\"\n :class=\"bem.e('right-input')\"\n :placeholder=\"selectItem?.placeholder\"\n @press-enter=\"handleChange\"\n >\n <template #suffix>\n <ll-icon :icon-name=\"`icon-search`\" @click=\"handleChange\" />\n </template>\n </a-input>\n </template>\n <!-- select下拉框 -->\n <template v-else-if=\"selectItem?.showFormType === 'select'\">\n <a-select\n v-model:value=\"value\"\n :class=\"bem.e('right-select')\"\n popup-class-name=\"select-group-right-select\"\n :options=\"selectItem?.options\"\n :placeholder=\"selectItem?.placeholder\"\n :field-names=\"selectItem?.fieldNames\"\n @change=\"handleChange\"\n >\n <a-select-option\n v-for=\"item in selectItem.list\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n </template>\n <!-- 日期选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'range-picker'\">\n <a-range-picker\n v-model:value=\"value\"\n :class=\"bem.e('right-range-picker')\"\n @change=\"handleChange\"\n />\n </template>\n <!-- 树选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'treeSelect'\">\n <a-tree-select\n v-model:value=\"value\"\n :class=\"bem.e('right-tree-select')\"\n :field-names=\"selectItem.fieldNames\"\n :placeholder=\"selectItem?.placeholder\"\n :tree-data=\"selectItem.list\"\n @select=\"handleChange\"\n ></a-tree-select>\n </template>\n <template v-else>\n <slot name=\"extra\" v-bind=\"selectItem\" />\n </template>\n </a-input-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue'\nimport { has } from 'lodash-es'\n\nimport { selectGroupProps, selectGroupEmits } from './select-group'\nimport { createNamespace } from '@ll-plus/utils'\nimport { hasValue } from '../../advanced-filtering'\nimport { LEFT_SELECT_MIN_WIDTH } from './select-group'\n\nimport type { SelectGroupData } from './select-group'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlSelectGroup' })\n\n// 1.props/emits\nconst props = defineProps(selectGroupProps)\nconst emits = defineEmits(selectGroupEmits)\n\n// 3.ref/const\nconst selectType = ref() // selectinput组合select的值\nconst value = ref<any>('') // 左边的value\n// const selectItem = ref<SelectGroupData>() // 选中表单的类型\nconst newList = ref<SelectGroupData[]>([]) // 处理后的数据,比如select的类型前面加个全部\nconst bem = createNamespace('select-group')\nconst bemContainer = createNamespace('select-group-container')\n\nconst selectItem = computed(() => {\n return newList.value.find(e => e.value === selectType.value)\n})\n\n// 动态计算左边文字最长的宽度\nconst leftSelectWidth = computed(() => {\n const names = newList.value.map(item => item.name.length)\n const maxNameLength = Math.max(...names)\n if (maxNameLength <= 3) {\n return LEFT_SELECT_MIN_WIDTH + 'px'\n }\n const width = LEFT_SELECT_MIN_WIDTH + (maxNameLength - 3) * 14\n return width + 'px'\n})\n\n// 4.methods\n// 第一个select的change\nconst handleSelectChange = (_: string, options: any) => {\n const item = options.item\n const formType = item.showFormType\n // 如果\n if (!formType || formType === 'input' || formType === 'treeSelect') {\n value.value = ''\n } else if (formType === 'range-picker') {\n value.value = [undefined, undefined]\n } else if (formType === 'select') {\n value.value = item.noFirstAddAll ? undefined : -1\n }\n // selectItem.value = options.item\n selectType.value = _\n // console.log({ item }, selectItem.value)\n\n emits('onSelectChange', _, item)\n}\n// 整合处理change\nconst handleChange = () => {\n // 过滤-1的下拉全部\n emits(\n 'change',\n selectItem.value?.value as string,\n value.value === -1 ? null : value.value\n )\n}\nconst setSelectGroup = (selectValue: string, currentValue: any) => {\n selectType.value = selectValue\n value.value = currentValue\n}\n\n// 5.watch\n// 已第一个为标准\nwatch(\n () => props.data as SelectGroupData[],\n newData => {\n let list: SelectGroupData[] = []\n if (newData && newData.length) {\n list = newData.map(item => {\n const newItem = { ...item }\n if (newItem.showFormType === 'select') {\n if (has(newItem, 'options') && !newItem.noFirstAddAll) {\n newItem.options = [\n {\n label: '全部',\n value: -1\n },\n ...newItem.options!\n ]\n } else if (has(newItem, 'list') && !newItem.noFirstAddAll) {\n newItem.list = [\n {\n name: '全部',\n value: -1\n },\n ...newItem.list!\n ]\n }\n }\n return newItem\n })\n\n newList.value = list\n if (newList.value.length && !props.selectValue) {\n selectType.value = newList.value[0].value\n }\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nwatch(\n () => [props.value, props.selectValue] as [any, string],\n ([currentValue, selectValue]) => {\n selectType.value = selectValue\n ? selectValue\n : newList.value.length\n ? newList.value[0].value\n : ''\n if (selectType.value) {\n const find = newList.value.find(e => e.value === selectType.value)\n // selectItem.value = find\n if (find && find.showFormType === 'select' && !find.noFirstAddAll) {\n value.value = !hasValue(currentValue) ? -1 : currentValue\n } else {\n value.value = currentValue\n }\n }\n },\n {\n immediate: true\n }\n)\n\ndefineExpose({ setSelectGroup })\n</script>\n"],"names":[],"mappings":"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"}
|
package/index.full.js
CHANGED
|
@@ -62010,7 +62010,7 @@
|
|
|
62010
62010
|
const btnClass = require$$0.computed(() => {
|
|
62011
62011
|
const isDefault = props.iconType === "default" || !props.iconType;
|
|
62012
62012
|
const typeClass = isDefault ? bem.m("default") : bem.m("primary");
|
|
62013
|
-
const exposedClass = props.isShowContainer ? "" : bem.m("exposed");
|
|
62013
|
+
const exposedClass = props.isShowContainer ? bem.m("container") : bem.m("exposed");
|
|
62014
62014
|
const hasTextClass = props.isShowTitle ? bem.m("has-text") : "";
|
|
62015
62015
|
const disabledClass = props.disabled ? isDefault ? bem.is("default-disable") : bem.is("primary-disable") : "";
|
|
62016
62016
|
return `${props.class} ${bem.b()} ${typeClass} ${exposedClass} ${hasTextClass} ${disabledClass}`;
|
|
@@ -65242,6 +65242,7 @@
|
|
|
65242
65242
|
}
|
|
65243
65243
|
);
|
|
65244
65244
|
return (_ctx, _cache) => {
|
|
65245
|
+
const _component_a_form_item = require$$0.resolveComponent("a-form-item");
|
|
65245
65246
|
return require$$0.openBlock(), require$$0.createElementBlock(
|
|
65246
65247
|
"div",
|
|
65247
65248
|
{
|
|
@@ -65293,20 +65294,27 @@
|
|
|
65293
65294
|
class: require$$0.normalizeClass(require$$0.unref(bem).m("input"))
|
|
65294
65295
|
},
|
|
65295
65296
|
[
|
|
65296
|
-
require$$0.createVNode(
|
|
65297
|
-
|
|
65298
|
-
|
|
65299
|
-
|
|
65300
|
-
|
|
65301
|
-
|
|
65302
|
-
|
|
65303
|
-
|
|
65304
|
-
|
|
65305
|
-
|
|
65306
|
-
|
|
65307
|
-
|
|
65308
|
-
|
|
65309
|
-
|
|
65297
|
+
require$$0.createVNode(_component_a_form_item, null, {
|
|
65298
|
+
default: require$$0.withCtx(() => [
|
|
65299
|
+
require$$0.createVNode(require$$0.unref(LlInputNumber), {
|
|
65300
|
+
value: maxValue.value,
|
|
65301
|
+
"onUpdate:value": _cache[1] || (_cache[1] = ($event) => maxValue.value = $event),
|
|
65302
|
+
placeholder: _ctx.placeholder[1],
|
|
65303
|
+
precision: props.precision,
|
|
65304
|
+
min: props.min,
|
|
65305
|
+
max: props.max,
|
|
65306
|
+
disabled: props.disabled,
|
|
65307
|
+
controls: false,
|
|
65308
|
+
bordered: false,
|
|
65309
|
+
style: { "width": "100%" },
|
|
65310
|
+
name: "a",
|
|
65311
|
+
onChange: handleMaxChange,
|
|
65312
|
+
onBlur: handleMaxBlur
|
|
65313
|
+
}, null, 8, ["value", "placeholder", "precision", "min", "max", "disabled"])
|
|
65314
|
+
]),
|
|
65315
|
+
_: 1
|
|
65316
|
+
/* STABLE */
|
|
65317
|
+
})
|
|
65310
65318
|
],
|
|
65311
65319
|
2
|
|
65312
65320
|
/* CLASS */
|
|
@@ -67539,12 +67547,14 @@
|
|
|
67539
67547
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
67540
67548
|
const props = __props;
|
|
67541
67549
|
const emits = __emit;
|
|
67542
|
-
const
|
|
67550
|
+
const selectType = require$$0.ref();
|
|
67543
67551
|
const value = require$$0.ref("");
|
|
67544
|
-
const selectItem = require$$0.ref();
|
|
67545
67552
|
const newList = require$$0.ref([]);
|
|
67546
67553
|
const bem = createNamespace("select-group");
|
|
67547
67554
|
const bemContainer = createNamespace("select-group-container");
|
|
67555
|
+
const selectItem = require$$0.computed(() => {
|
|
67556
|
+
return newList.value.find((e) => e.value === selectType.value);
|
|
67557
|
+
});
|
|
67548
67558
|
const leftSelectWidth = require$$0.computed(() => {
|
|
67549
67559
|
const names = newList.value.map((item) => item.name.length);
|
|
67550
67560
|
const maxNameLength = Math.max(...names);
|
|
@@ -67564,7 +67574,7 @@
|
|
|
67564
67574
|
} else if (formType === "select") {
|
|
67565
67575
|
value.value = item.noFirstAddAll ? void 0 : -1;
|
|
67566
67576
|
}
|
|
67567
|
-
|
|
67577
|
+
selectType.value = _;
|
|
67568
67578
|
emits("onSelectChange", _, item);
|
|
67569
67579
|
};
|
|
67570
67580
|
const handleChange = () => {
|
|
@@ -67575,7 +67585,7 @@
|
|
|
67575
67585
|
);
|
|
67576
67586
|
};
|
|
67577
67587
|
const setSelectGroup = (selectValue, currentValue) => {
|
|
67578
|
-
|
|
67588
|
+
selectType.value = selectValue;
|
|
67579
67589
|
value.value = currentValue;
|
|
67580
67590
|
};
|
|
67581
67591
|
require$$0.watch(
|
|
@@ -67608,7 +67618,7 @@
|
|
|
67608
67618
|
});
|
|
67609
67619
|
newList.value = list;
|
|
67610
67620
|
if (newList.value.length && !props.selectValue) {
|
|
67611
|
-
|
|
67621
|
+
selectType.value = newList.value[0].value;
|
|
67612
67622
|
}
|
|
67613
67623
|
}
|
|
67614
67624
|
},
|
|
@@ -67620,10 +67630,9 @@
|
|
|
67620
67630
|
require$$0.watch(
|
|
67621
67631
|
() => [props.value, props.selectValue],
|
|
67622
67632
|
([currentValue, selectValue]) => {
|
|
67623
|
-
|
|
67624
|
-
if (
|
|
67625
|
-
const find = newList.value.find((e) => e.value ===
|
|
67626
|
-
selectItem.value = find;
|
|
67633
|
+
selectType.value = selectValue ? selectValue : newList.value.length ? newList.value[0].value : "";
|
|
67634
|
+
if (selectType.value) {
|
|
67635
|
+
const find = newList.value.find((e) => e.value === selectType.value);
|
|
67627
67636
|
if (find && find.showFormType === "select" && !find.noFirstAddAll) {
|
|
67628
67637
|
value.value = !hasValue(currentValue) ? -1 : currentValue;
|
|
67629
67638
|
} else {
|
|
@@ -67660,8 +67669,8 @@
|
|
|
67660
67669
|
default: require$$0.withCtx(() => [
|
|
67661
67670
|
require$$0.createCommentVNode(" \u5DE6\u4FA7select "),
|
|
67662
67671
|
require$$0.createVNode(_component_a_select, {
|
|
67663
|
-
value:
|
|
67664
|
-
"onUpdate:value": _cache[0] || (_cache[0] = ($event) =>
|
|
67672
|
+
value: selectType.value,
|
|
67673
|
+
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => selectType.value = $event),
|
|
67665
67674
|
class: "select-group-left-select-container",
|
|
67666
67675
|
style: require$$0.normalizeStyle({ minWidth: leftSelectWidth.value }),
|
|
67667
67676
|
onChange: handleSelectChange
|