ll-plus 2.2.6 → 2.2.8
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/advanced-filtering/src/advanced-filtering.vue2.mjs +5 -2
- package/es/components/advanced-filtering/src/advanced-filtering.vue2.mjs.map +1 -1
- package/es/components/select-group/src/select-group.mjs +1 -1
- package/es/components/select-group/src/select-group.mjs.map +1 -1
- package/es/components/select-group/src/select-group.vue2.mjs +1 -2
- package/es/components/select-group/src/select-group.vue2.mjs.map +1 -1
- package/index.full.js +6 -4
- package/index.full.min.js +2 -2
- package/index.full.min.js.map +1 -1
- package/index.full.min.mjs +11 -11
- package/index.full.min.mjs.map +1 -1
- package/index.full.mjs +6 -4
- package/lib/components/advanced-filtering/src/advanced-filtering.vue2.js +4 -1
- package/lib/components/advanced-filtering/src/advanced-filtering.vue2.js.map +1 -1
- package/lib/components/select-group/src/select-group.js +1 -1
- package/lib/components/select-group/src/select-group.js.map +1 -1
- package/lib/components/select-group/src/select-group.vue2.js +1 -2
- package/lib/components/select-group/src/select-group.vue2.js.map +1 -1
- package/package.json +1 -1
package/index.full.mjs
CHANGED
|
@@ -2397,7 +2397,7 @@ var _sfc_main$1e = /* @__PURE__ */ defineComponent({
|
|
|
2397
2397
|
const props = __props;
|
|
2398
2398
|
const emits = __emit;
|
|
2399
2399
|
const bem = createNamespace("advanced-filtering");
|
|
2400
|
-
const filterValue = ref(
|
|
2400
|
+
const filterValue = ref({});
|
|
2401
2401
|
const showSelectBox = ref(false);
|
|
2402
2402
|
const showValueBox = ref(false);
|
|
2403
2403
|
const handleHoverChange = (visible) => {
|
|
@@ -2426,6 +2426,9 @@ var _sfc_main$1e = /* @__PURE__ */ defineComponent({
|
|
|
2426
2426
|
deep: true
|
|
2427
2427
|
}
|
|
2428
2428
|
);
|
|
2429
|
+
watchEffect(() => {
|
|
2430
|
+
filterValue.value = props.value;
|
|
2431
|
+
});
|
|
2429
2432
|
return (_ctx, _cache) => {
|
|
2430
2433
|
const _component_a_popover = resolveComponent("a-popover");
|
|
2431
2434
|
return openBlock(), createBlock(_component_a_popover, {
|
|
@@ -60801,7 +60804,7 @@ const selectGroupProps = buildProps({
|
|
|
60801
60804
|
* @description 右边表单的 value
|
|
60802
60805
|
*/
|
|
60803
60806
|
value: {
|
|
60804
|
-
type: definePropType(
|
|
60807
|
+
type: definePropType(String || Number || void 0)
|
|
60805
60808
|
},
|
|
60806
60809
|
/**
|
|
60807
60810
|
* @description select的options
|
|
@@ -60864,8 +60867,7 @@ var _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
60864
60867
|
watch(
|
|
60865
60868
|
() => props.value,
|
|
60866
60869
|
(newV) => {
|
|
60867
|
-
|
|
60868
|
-
value.value = newV;
|
|
60870
|
+
value.value = newV;
|
|
60869
60871
|
},
|
|
60870
60872
|
{
|
|
60871
60873
|
immediate: true
|
|
@@ -29,7 +29,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
29
29
|
const props = __props;
|
|
30
30
|
const emits = __emit;
|
|
31
31
|
const bem = createNamespace.createNamespace("advanced-filtering");
|
|
32
|
-
const filterValue = vue.ref(
|
|
32
|
+
const filterValue = vue.ref({});
|
|
33
33
|
const showSelectBox = vue.ref(false);
|
|
34
34
|
const showValueBox = vue.ref(false);
|
|
35
35
|
const handleHoverChange = (visible) => {
|
|
@@ -58,6 +58,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
58
58
|
deep: true
|
|
59
59
|
}
|
|
60
60
|
);
|
|
61
|
+
vue.watchEffect(() => {
|
|
62
|
+
filterValue.value = props.value;
|
|
63
|
+
});
|
|
61
64
|
return (_ctx, _cache) => {
|
|
62
65
|
const _component_a_popover = vue.resolveComponent("a-popover");
|
|
63
66
|
return vue.openBlock(), vue.createBlock(_component_a_popover, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced-filtering.vue2.js","sources":["../../../../../packages/components/advanced-filtering/src/advanced-filtering.vue"],"sourcesContent":["<template>\n <a-popover\n :overlay-class-name=\"bem.b()\"\n placement=\"bottomRight\"\n :overlay-style=\"props.overlayStyle\"\n :open=\"showSelectBox\"\n >\n <template #content>\n <advanced-filtering-params\n v-model:value=\"filterValue\"\n :filter-columns=\"props.filterColumns\"\n :form-options=\"props.formOptions\"\n @close=\"handleClose\"\n />\n </template>\n <a-popover\n :overlay-class-name=\"bem.b()\"\n trigger=\"hover\"\n placement=\"bottomRight\"\n :open=\"showValueBox\"\n :overlay-style=\"props.overlayStyle\"\n @open-change=\"handleHoverChange\"\n >\n <template #content>\n <advanced-filtering-tags\n :value=\"filterValue\"\n :filter-columns=\"props.filterColumns\"\n @change=\"handleChange\"\n />\n </template>\n <ll-button @click.stop=\"handleClickChange\">\n <ll-icon icon-name=\"icon-Screening\" style=\"margin-right: 10px\" />\n <span>高级筛选</span>\n </ll-button>\n </a-popover>\n </a-popover>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport {\n advancedFilteringProps,\n advancedFilteringEmits\n} from './advanced-filtering'\n\nimport { LlButton, LlIcon } from '@ll-plus/components'\nimport AdvancedFilteringParams from './components/advanced-filtering-params.vue'\nimport AdvancedFilteringTags from './components/advanced-filtering-tags.vue'\n\ndefineOptions({ name: 'LlAdvancedFiltering' })\nconst props = defineProps(advancedFilteringProps)\nconst emits = defineEmits(advancedFilteringEmits)\nconst bem = createNamespace('advanced-filtering')\nconst filterValue = ref<any>(
|
|
1
|
+
{"version":3,"file":"advanced-filtering.vue2.js","sources":["../../../../../packages/components/advanced-filtering/src/advanced-filtering.vue"],"sourcesContent":["<template>\n <a-popover\n :overlay-class-name=\"bem.b()\"\n placement=\"bottomRight\"\n :overlay-style=\"props.overlayStyle\"\n :open=\"showSelectBox\"\n >\n <template #content>\n <advanced-filtering-params\n v-model:value=\"filterValue\"\n :filter-columns=\"props.filterColumns\"\n :form-options=\"props.formOptions\"\n @close=\"handleClose\"\n />\n </template>\n <a-popover\n :overlay-class-name=\"bem.b()\"\n trigger=\"hover\"\n placement=\"bottomRight\"\n :open=\"showValueBox\"\n :overlay-style=\"props.overlayStyle\"\n @open-change=\"handleHoverChange\"\n >\n <template #content>\n <advanced-filtering-tags\n :value=\"filterValue\"\n :filter-columns=\"props.filterColumns\"\n @change=\"handleChange\"\n />\n </template>\n <ll-button @click.stop=\"handleClickChange\">\n <ll-icon icon-name=\"icon-Screening\" style=\"margin-right: 10px\" />\n <span>高级筛选</span>\n </ll-button>\n </a-popover>\n </a-popover>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, watchEffect } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport {\n advancedFilteringProps,\n advancedFilteringEmits\n} from './advanced-filtering'\n\nimport { LlButton, LlIcon } from '@ll-plus/components'\nimport AdvancedFilteringParams from './components/advanced-filtering-params.vue'\nimport AdvancedFilteringTags from './components/advanced-filtering-tags.vue'\n\ndefineOptions({ name: 'LlAdvancedFiltering' })\nconst props = defineProps(advancedFilteringProps)\nconst emits = defineEmits(advancedFilteringEmits)\nconst bem = createNamespace('advanced-filtering')\nconst filterValue = ref<any>({})\nconst showSelectBox = ref<boolean>(false)\nconst showValueBox = ref<boolean>(false)\n\nconst handleHoverChange = (visible: boolean) => {\n if (showSelectBox.value) return\n showValueBox.value = visible\n}\n\nconst handleClickChange = () => {\n showSelectBox.value = !showSelectBox.value\n showValueBox.value = false\n}\n\nconst handleClose = () => {\n showSelectBox.value = false\n showValueBox.value = false\n}\n\nconst handleChange = val => {\n filterValue.value = val\n}\nwatch(\n filterValue,\n n => {\n emits('update:value', n)\n emits('change', n)\n },\n {\n deep: true\n }\n)\nwatchEffect(() => {\n filterValue.value = props.value\n})\n</script>\n"],"names":["createNamespace","ref","watch","watchEffect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAM,MAAA,GAAA,GAAMA,gCAAgB,oBAAoB,CAAA,CAAA;AAChD,IAAM,MAAA,WAAA,GAAcC,OAAS,CAAA,EAAE,CAAA,CAAA;AAC/B,IAAM,MAAA,aAAA,GAAgBA,QAAa,KAAK,CAAA,CAAA;AACxC,IAAM,MAAA,YAAA,GAAeA,QAAa,KAAK,CAAA,CAAA;AAEvC,IAAM,MAAA,iBAAA,GAAoB,CAAC,OAAqB,KAAA;AAC9C,MAAA,IAAI,aAAc,CAAA,KAAA;AAAO,QAAA,OAAA;AACzB,MAAA,YAAA,CAAa,KAAQ,GAAA,OAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAA,MAAM,oBAAoB,MAAM;AAC9B,MAAc,aAAA,CAAA,KAAA,GAAQ,CAAC,aAAc,CAAA,KAAA,CAAA;AACrC,MAAA,YAAA,CAAa,KAAQ,GAAA,KAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,YAAA,CAAa,KAAQ,GAAA,KAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAA,MAAM,eAAe,CAAO,GAAA,KAAA;AAC1B,MAAA,WAAA,CAAY,KAAQ,GAAA,GAAA,CAAA;AAAA,KACtB,CAAA;AACA,IAAAC,SAAA;AAAA,MACE,WAAA;AAAA,MACA,CAAK,CAAA,KAAA;AACH,QAAA,KAAA,CAAM,gBAAgB,CAAC,CAAA,CAAA;AACvB,QAAA,KAAA,CAAM,UAAU,CAAC,CAAA,CAAA;AAAA,OACnB;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;AACA,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAA,WAAA,CAAY,QAAQ,KAAM,CAAA,KAAA,CAAA;AAAA,KAC3B,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-group.js","sources":["../../../../../packages/components/select-group/src/select-group.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nimport { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type SelectGroup from './select-group.vue'\n\nexport interface ISelectGroupItem {\n name?: string\n value?: any\n [key: string]: any\n}\n\nexport const selectGroupFormType = [\n 'input',\n 'select',\n 'range-picker',\n 'treeSelect'\n] as const\n\nexport const selectGroupData = buildProps({\n // buildProps和defineprops一样\n /**\n * @description 表单提示占位符\n */\n placeholder: {\n type: String\n },\n /**\n * @description 表单的字段 name\n */\n name: {\n type: String,\n required: true\n },\n /**\n * @description 右边表单的 value\n */\n value: {\n type: String,\n required: true\n },\n /**\n * @description SVG 图标的大小,size x size\n */\n showFormType: {\n type: String,\n values: selectGroupFormType\n },\n /**\n * @description 格式化属性例如tree/select\n */\n fieldNames: {\n type: definePropType<object>(Object)\n },\n /**\n * @description select的options\n */\n options: {\n type: definePropType<any[]>(Array)\n },\n /**\n * @description 左侧选择的options\n */\n list: {\n type: definePropType<ISelectGroupItem[]>(Array)\n }\n} as const)\nexport const selectGroupProps = buildProps({\n /**\n * @description 选中select中的某一项(和value对应)\n */\n selectValue: {\n type: String\n },\n /**\n * @description 右边表单的 value\n */\n value: {\n type: definePropType<any>(
|
|
1
|
+
{"version":3,"file":"select-group.js","sources":["../../../../../packages/components/select-group/src/select-group.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nimport { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type SelectGroup from './select-group.vue'\n\nexport interface ISelectGroupItem {\n name?: string\n value?: any\n [key: string]: any\n}\n\nexport const selectGroupFormType = [\n 'input',\n 'select',\n 'range-picker',\n 'treeSelect'\n] as const\n\nexport const selectGroupData = buildProps({\n // buildProps和defineprops一样\n /**\n * @description 表单提示占位符\n */\n placeholder: {\n type: String\n },\n /**\n * @description 表单的字段 name\n */\n name: {\n type: String,\n required: true\n },\n /**\n * @description 右边表单的 value\n */\n value: {\n type: String,\n required: true\n },\n /**\n * @description SVG 图标的大小,size x size\n */\n showFormType: {\n type: String,\n values: selectGroupFormType\n },\n /**\n * @description 格式化属性例如tree/select\n */\n fieldNames: {\n type: definePropType<object>(Object)\n },\n /**\n * @description select的options\n */\n options: {\n type: definePropType<any[]>(Array)\n },\n /**\n * @description 左侧选择的options\n */\n list: {\n type: definePropType<ISelectGroupItem[]>(Array)\n }\n} as const)\nexport const selectGroupProps = buildProps({\n /**\n * @description 选中select中的某一项(和value对应)\n */\n selectValue: {\n type: String\n },\n /**\n * @description 右边表单的 value\n */\n value: {\n type: definePropType<any>(String || Number || undefined)\n },\n /**\n * @description select的options\n */\n data: {\n type: definePropType<SelectGroupData[]>(Array),\n default: () => []\n }\n} as const)\n\nexport const selectGroupEmits = {\n change: (selectV: string, value: string) => !!selectV && !!value\n}\n\n// props\nexport type SelectGroupProps = ExtractPropTypes<typeof selectGroupProps>\nexport type SelectGroupData = ExtractPropTypes<typeof selectGroupData>\nexport type SelectGroupFormType = SelectGroupData['showFormType']\n\nexport type SelectGroupEmits = typeof selectGroupEmits\n\n// instance\nexport type SelectGroupInstance = InstanceType<typeof SelectGroup>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAYO,MAAM,mBAAsB,GAAA;AAAA,EACjC,OAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AACF,EAAA;AAEO,MAAM,kBAAkBA,kBAAW,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxC,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA;AAAA;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,mBAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAA,EAAMC,uBAAuB,MAAM,CAAA;AAAA,GACrC;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAA,EAAMA,uBAAsB,KAAK,CAAA;AAAA,GACnC;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAMA,uBAAmC,KAAK,CAAA;AAAA,GAChD;AACF,CAAU,EAAA;AACH,MAAM,mBAAmBD,kBAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAIzC,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAAC,sBAAA,CAAoB,MAAU,IAAA,MAAA,IAAU,KAAS,CAAA,CAAA;AAAA,GACzD;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAMA,uBAAkC,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AACF,CAAU,EAAA;AAEH,MAAM,gBAAmB,GAAA;AAAA,EAC9B,MAAA,EAAQ,CAAC,OAAiB,EAAA,KAAA,KAAkB,CAAC,CAAC,OAAA,IAAW,CAAC,CAAC,KAAA;AAC7D;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-group.vue2.js","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 @change=\"handleSelectChange\"\n >\n <a-select-option\n v-for=\"item in data\"\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 :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 popup-class-name=\"select-group-right-select\"\n :options=\"selectItem?.options\"\n :placeholder=\"selectItem?.placeholder\"\n style=\"width: 100%\"\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 v-model:value=\"value\" @change=\"handleChange\" />\n </template>\n <!-- 树选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'treeSelect'\">\n <a-tree-select\n v-model:value=\"value\"\n style=\"width: 100%\"\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, watch } from 'vue'\n\nimport { selectGroupProps, selectGroupEmits } from './select-group'\nimport { createNamespace } from '@ll-plus/utils'\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>('')\nconst selectItem = ref<SelectGroupData>() // 选中表单的类型\nconst bem = createNamespace('select-group')\nconst bemContainer = createNamespace('select-group-container')\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 = undefined\n }\n selectItem.value = options.item\n}\n// 整合处理change\nconst handleChange = () => {\n emits('change', selectItem.value?.value as string, value.value)\n}\n\n// 5.watch\n// 已第一个为标准\nwatch(\n () => [props.selectValue, props.data] as [string, SelectGroupData[]],\n ([selectValue, newData]) => {\n if (newData && newData.length) {\n let firstItem = newData[0]\n const findItem = newData.find(item => item.value === selectValue)\n if (findItem) {\n firstItem = findItem\n }\n selectItem.value = firstItem!\n typeSelectValue.value = selectValue ? selectValue : firstItem.value\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nwatch(\n () => props.value,\n (newV: any) => {\n
|
|
1
|
+
{"version":3,"file":"select-group.vue2.js","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 @change=\"handleSelectChange\"\n >\n <a-select-option\n v-for=\"item in data\"\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 :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 popup-class-name=\"select-group-right-select\"\n :options=\"selectItem?.options\"\n :placeholder=\"selectItem?.placeholder\"\n style=\"width: 100%\"\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 v-model:value=\"value\" @change=\"handleChange\" />\n </template>\n <!-- 树选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'treeSelect'\">\n <a-tree-select\n v-model:value=\"value\"\n style=\"width: 100%\"\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, watch } from 'vue'\n\nimport { selectGroupProps, selectGroupEmits } from './select-group'\nimport { createNamespace } from '@ll-plus/utils'\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>('')\nconst selectItem = ref<SelectGroupData>() // 选中表单的类型\nconst bem = createNamespace('select-group')\nconst bemContainer = createNamespace('select-group-container')\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 = undefined\n }\n selectItem.value = options.item\n}\n// 整合处理change\nconst handleChange = () => {\n emits('change', selectItem.value?.value as string, value.value)\n}\n\n// 5.watch\n// 已第一个为标准\nwatch(\n () => [props.selectValue, props.data] as [string, SelectGroupData[]],\n ([selectValue, newData]) => {\n if (newData && newData.length) {\n let firstItem = newData[0]\n const findItem = newData.find(item => item.value === selectValue)\n if (findItem) {\n firstItem = findItem\n }\n selectItem.value = firstItem!\n typeSelectValue.value = selectValue ? selectValue : firstItem.value\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nwatch(\n () => props.value,\n (newV: any) => {\n value.value = newV\n },\n {\n immediate: true\n }\n)\n</script>\n"],"names":["ref","createNamespace","watch"],"mappings":";;;;;;;;;;;;;;;;AA2FA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAGd,IAAM,MAAA,eAAA,GAAkBA,QAAI,GAAG,CAAA,CAAA;AAC/B,IAAM,MAAA,KAAA,GAAQA,QAAS,EAAE,CAAA,CAAA;AACzB,IAAA,MAAM,aAAaA,OAAqB,EAAA,CAAA;AACxC,IAAM,MAAA,GAAA,GAAMC,gCAAgB,cAAc,CAAA,CAAA;AAC1C,IAAM,MAAA,YAAA,GAAeA,gCAAgB,wBAAwB,CAAA,CAAA;AAI7D,IAAM,MAAA,kBAAA,GAAqB,CAAC,CAAA,EAAW,OAAiB,KAAA;AACtD,MAAA,MAAM,OAAO,OAAQ,CAAA,IAAA,CAAA;AACrB,MAAA,MAAM,WAAW,IAAK,CAAA,YAAA,CAAA;AAEtB,MAAA,IAAI,CAAC,QAAA,IAAY,QAAa,KAAA,OAAA,IAAW,aAAa,YAAc,EAAA;AAClE,QAAA,KAAA,CAAM,KAAQ,GAAA,EAAA,CAAA;AAAA,OAChB,MAAA,IAAW,aAAa,cAAgB,EAAA;AACtC,QAAM,KAAA,CAAA,KAAA,GAAQ,CAAC,KAAA,CAAA,EAAW,KAAS,CAAA,CAAA,CAAA;AAAA,OACrC,MAAA,IAAW,aAAa,QAAU,EAAA;AAChC,QAAA,KAAA,CAAM,KAAQ,GAAA,KAAA,CAAA,CAAA;AAAA,OAChB;AACA,MAAA,UAAA,CAAW,QAAQ,OAAQ,CAAA,IAAA,CAAA;AAAA,KAC7B,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,KAAA,CAAM,QAAU,EAAA,UAAA,CAAW,KAAO,EAAA,KAAA,EAAiB,MAAM,KAAK,CAAA,CAAA;AAAA,KAChE,CAAA;AAIA,IAAAC,SAAA;AAAA,MACE,MAAM,CAAC,KAAM,CAAA,WAAA,EAAa,MAAM,IAAI,CAAA;AAAA,MACpC,CAAC,CAAC,WAAa,EAAA,OAAO,CAAM,KAAA;AAC1B,QAAI,IAAA,OAAA,IAAW,QAAQ,MAAQ,EAAA;AAC7B,UAAI,IAAA,SAAA,GAAY,QAAQ,CAAC,CAAA,CAAA;AACzB,UAAA,MAAM,WAAW,OAAQ,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,UAAU,WAAW,CAAA,CAAA;AAChE,UAAA,IAAI,QAAU,EAAA;AACZ,YAAY,SAAA,GAAA,QAAA,CAAA;AAAA,WACd;AACA,UAAA,UAAA,CAAW,KAAQ,GAAA,SAAA,CAAA;AACnB,UAAgB,eAAA,CAAA,KAAA,GAAQ,WAAc,GAAA,WAAA,GAAc,SAAU,CAAA,KAAA,CAAA;AAAA,SAChE;AAAA,OACF;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,QACN,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAAA,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAC,IAAc,KAAA;AACb,QAAA,KAAA,CAAM,KAAQ,GAAA,IAAA,CAAA;AAAA,OAChB;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|