ll-plus 2.7.14 → 2.7.16
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/index.d.ts +4 -4
- package/es/components/advanced-filtering/src/advanced-filtering.d.ts +1 -2
- package/es/components/advanced-filtering/src/advanced-filtering.vue.d.ts +2 -2
- package/es/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +3 -3
- package/es/components/key-value/index.d.ts +45 -19
- package/es/components/key-value/src/components/key-value-item.vue.d.ts +15 -5
- package/es/components/key-value/src/config/key-value-item.d.ts +5 -1
- package/es/components/key-value/src/config/key-value.d.ts +2 -2
- package/es/components/key-value/src/key-value.vue.d.ts +45 -19
- package/es/index.mjs +3 -2
- package/es/index.mjs.map +1 -1
- package/es/packages/components/advanced-filtering/index.mjs +1 -1
- package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs +3 -5
- package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs.map +1 -1
- package/es/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.mjs +2 -1
- package/es/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.mjs.map +1 -1
- package/es/packages/components/form/src/form.vue2.mjs +4 -2
- package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
- package/es/packages/components/index.mjs +1 -1
- package/es/packages/components/key-value/src/components/key-value-item.vue2.mjs +51 -59
- package/es/packages/components/key-value/src/components/key-value-item.vue2.mjs.map +1 -1
- package/es/packages/components/key-value/src/config/key-value-item.mjs +11 -2
- package/es/packages/components/key-value/src/config/key-value-item.mjs.map +1 -1
- package/es/packages/components/key-value/src/config/key-value.mjs +1 -1
- package/es/packages/components/key-value/src/config/key-value.mjs.map +1 -1
- package/es/packages/components/key-value/src/key-value.vue2.mjs +42 -18
- package/es/packages/components/key-value/src/key-value.vue2.mjs.map +1 -1
- package/es/packages/components/select-group/src/select-group.vue2.mjs +1 -2
- package/es/packages/components/select-group/src/select-group.vue2.mjs.map +1 -1
- package/es/packages/utils/data.mjs +35 -0
- package/es/packages/utils/data.mjs.map +1 -0
- package/es/packages/utils/{deepUnref.mjs → deep-unref.mjs} +1 -1
- package/es/packages/utils/deep-unref.mjs.map +1 -0
- package/es/packages/utils/index.mjs +2 -1
- package/es/packages/utils/index.mjs.map +1 -1
- package/es/utils/data.d.ts +2 -0
- package/es/utils/index.d.ts +2 -1
- package/index.full.js +137 -83
- package/index.full.min.js +20 -20
- package/index.full.min.js.map +1 -1
- package/index.full.min.mjs +20 -20
- package/index.full.min.mjs.map +1 -1
- package/index.full.mjs +137 -84
- package/lib/components/advanced-filtering/index.d.ts +4 -4
- package/lib/components/advanced-filtering/src/advanced-filtering.d.ts +1 -2
- package/lib/components/advanced-filtering/src/advanced-filtering.vue.d.ts +2 -2
- package/lib/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +3 -3
- package/lib/components/key-value/index.d.ts +45 -19
- package/lib/components/key-value/src/components/key-value-item.vue.d.ts +15 -5
- package/lib/components/key-value/src/config/key-value-item.d.ts +5 -1
- package/lib/components/key-value/src/config/key-value.d.ts +2 -2
- package/lib/components/key-value/src/key-value.vue.d.ts +45 -19
- package/lib/index.js +4 -2
- package/lib/index.js.map +1 -1
- package/lib/packages/components/advanced-filtering/index.js +0 -1
- package/lib/packages/components/advanced-filtering/index.js.map +1 -1
- package/lib/packages/components/advanced-filtering/src/advanced-filtering.js +5 -8
- package/lib/packages/components/advanced-filtering/src/advanced-filtering.js.map +1 -1
- package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.js +2 -1
- package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.js.map +1 -1
- package/lib/packages/components/form/src/form.vue2.js +4 -2
- package/lib/packages/components/form/src/form.vue2.js.map +1 -1
- package/lib/packages/components/index.js +0 -1
- package/lib/packages/components/index.js.map +1 -1
- package/lib/packages/components/key-value/src/components/key-value-item.vue2.js +50 -58
- package/lib/packages/components/key-value/src/components/key-value-item.vue2.js.map +1 -1
- package/lib/packages/components/key-value/src/config/key-value-item.js +11 -2
- package/lib/packages/components/key-value/src/config/key-value-item.js.map +1 -1
- package/lib/packages/components/key-value/src/config/key-value.js +1 -1
- package/lib/packages/components/key-value/src/config/key-value.js.map +1 -1
- package/lib/packages/components/key-value/src/key-value.vue2.js +42 -18
- package/lib/packages/components/key-value/src/key-value.vue2.js.map +1 -1
- package/lib/packages/components/select-group/src/select-group.vue2.js +2 -3
- package/lib/packages/components/select-group/src/select-group.vue2.js.map +1 -1
- package/lib/packages/utils/data.js +38 -0
- package/lib/packages/utils/data.js.map +1 -0
- package/lib/packages/utils/{deepUnref.js → deep-unref.js} +1 -1
- package/lib/packages/utils/deep-unref.js.map +1 -0
- package/lib/packages/utils/index.js +4 -1
- package/lib/packages/utils/index.js.map +1 -1
- package/lib/utils/data.d.ts +2 -0
- package/lib/utils/index.d.ts +2 -1
- package/package.json +1 -1
- package/theme-chalk/css/advanced-filtering.css +1 -1
- package/theme-chalk/css/api-component.css +1 -1
- package/theme-chalk/css/cascader.css +1 -1
- package/theme-chalk/css/checkbox.css +1 -1
- package/theme-chalk/css/code-editor.css +1 -1
- package/theme-chalk/css/color-picker.css +1 -1
- package/theme-chalk/css/cropper.css +1 -1
- package/theme-chalk/css/descriptions.css +1 -1
- package/theme-chalk/css/drawer.css +1 -1
- package/theme-chalk/css/dropdown-button-simple.css +1 -1
- package/theme-chalk/css/dropdown.css +1 -1
- package/theme-chalk/css/easy-cron.css +1 -1
- package/theme-chalk/css/form.css +1 -1
- package/theme-chalk/css/index.css +2 -2
- package/theme-chalk/css/input-number.css +1 -1
- package/theme-chalk/css/input.css +1 -1
- package/theme-chalk/css/key-value.css +1 -1
- package/theme-chalk/css/markdown-editor.css +1 -1
- package/theme-chalk/css/modal.css +1 -1
- package/theme-chalk/css/new-drawer.css +1 -1
- package/theme-chalk/css/new-modal.css +1 -1
- package/theme-chalk/css/number-range.css +1 -1
- package/theme-chalk/css/rich-text-editor.css +1 -1
- package/theme-chalk/css/segmented.css +1 -1
- package/theme-chalk/css/switch.css +1 -1
- package/theme-chalk/css/table.css +1 -1
- package/theme-chalk/css/tabs-simple.css +1 -1
- package/theme-chalk/css/tag-group.css +1 -1
- package/types/packages/components/advanced-filtering/index.d.ts +4 -4
- package/types/packages/components/advanced-filtering/src/advanced-filtering.d.ts +1 -2
- package/types/packages/components/advanced-filtering/src/advanced-filtering.vue.d.ts +2 -2
- package/types/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +3 -3
- package/types/packages/components/key-value/index.d.ts +45 -19
- package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +15 -5
- package/types/packages/components/key-value/src/config/key-value-item.d.ts +5 -1
- package/types/packages/components/key-value/src/config/key-value.d.ts +2 -2
- package/types/packages/components/key-value/src/key-value.vue.d.ts +45 -19
- package/types/packages/utils/data.d.ts +2 -0
- package/types/packages/utils/index.d.ts +2 -1
- package/es/packages/utils/deepUnref.mjs.map +0 -1
- package/lib/packages/utils/deepUnref.js.map +0 -1
- /package/es/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
- /package/lib/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
- /package/types/packages/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('../../../utils/index.js');
|
|
4
4
|
var lodashEs = require('lodash-es');
|
|
5
|
+
var data = require('../../../utils/data.js');
|
|
5
6
|
var runtime = require('../../../utils/props/runtime.js');
|
|
6
7
|
|
|
7
8
|
"use strict";
|
|
@@ -13,9 +14,9 @@ const initValue = (columns, values) => {
|
|
|
13
14
|
let value = lodashEs.has(values, column.key) ? values[column.key] : null;
|
|
14
15
|
if (lodashEs.has(column, "options") && !column.unUseDefaultOption) {
|
|
15
16
|
if (column.type === "checkbox-group" || lodashEs.has(column, "mode")) {
|
|
16
|
-
value = !hasValue(value) || Array.isArray(value) && value.length === 0 ? [ALL_VALUE] : value;
|
|
17
|
+
value = !data.hasValue(value) || Array.isArray(value) && value.length === 0 ? [ALL_VALUE] : value;
|
|
17
18
|
} else {
|
|
18
|
-
value = !hasValue(value) ? ALL_VALUE : value;
|
|
19
|
+
value = !data.hasValue(value) ? ALL_VALUE : value;
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
copyValues[column.key] = value;
|
|
@@ -26,12 +27,12 @@ const initValue = (columns, values) => {
|
|
|
26
27
|
const filterAllValue = (values, column) => {
|
|
27
28
|
let value = null;
|
|
28
29
|
if (Array.isArray(values)) {
|
|
29
|
-
value = values.filter((item) => item !== ALL_VALUE || !hasValue(values));
|
|
30
|
+
value = values.filter((item) => item !== ALL_VALUE || !data.hasValue(values));
|
|
30
31
|
if (column && column.type === "number-range") {
|
|
31
32
|
value = values ? values.every((e) => !lodashEs.isNull(e)) ? values : null : null;
|
|
32
33
|
}
|
|
33
34
|
} else {
|
|
34
|
-
value = values === ALL_VALUE || !hasValue(values) ? null : values;
|
|
35
|
+
value = values === ALL_VALUE || !data.hasValue(values) ? null : values;
|
|
35
36
|
}
|
|
36
37
|
return value;
|
|
37
38
|
};
|
|
@@ -70,9 +71,6 @@ const findLabelByValue = (tree, value) => {
|
|
|
70
71
|
}
|
|
71
72
|
return _findLabel(tree).join(",");
|
|
72
73
|
};
|
|
73
|
-
const hasValue = (value) => {
|
|
74
|
-
return Array.isArray(value) ? value.length > 0 : !lodashEs.isNull(value) && !lodashEs.isUndefined(value) && value !== "";
|
|
75
|
-
};
|
|
76
74
|
const advancedFilteringProps = runtime.buildProps({
|
|
77
75
|
filterColumns: {
|
|
78
76
|
type: runtime.definePropType(Array),
|
|
@@ -134,7 +132,6 @@ exports.advancedFilteringProps = advancedFilteringProps;
|
|
|
134
132
|
exports.advancedFilteringTagsEmits = advancedFilteringTagsEmits;
|
|
135
133
|
exports.filterAllValue = filterAllValue;
|
|
136
134
|
exports.findLabelByValue = findLabelByValue;
|
|
137
|
-
exports.hasValue = hasValue;
|
|
138
135
|
exports.initValue = initValue;
|
|
139
136
|
exports.treeDataFormat = treeDataFormat;
|
|
140
137
|
//# sourceMappingURL=advanced-filtering.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced-filtering.js","sources":["../../../../../../packages/components/advanced-filtering/src/advanced-filtering.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport { has, isNull, isUndefined, isEqual } from 'lodash-es'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormProps as AntFormProps, TooltipProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type advancedFiltering from './advanced-filtering.vue'\nimport type advancedFilteringParams from './components/advanced-filtering-params.vue'\nimport type advancedFilteringTags from './components/advanced-filtering-tags.vue'\n\nexport interface IAvancedFilteringTag {\n label: string\n key: string\n value: string | string[]\n showValue: string | string[]\n}\n\nexport const ALL_VALUE: string = '_ALL'\n\nexport type FilterColumn = FormColumn<{\n unUseDefaultOption?: boolean\n defaultOptionLabel?: string\n}>\n\nexport const initValue = (columns: FilterColumn[], values: any) => {\n const copyValues = {}\n if (columns.length) {\n columns.forEach(column => {\n let value: any = has(values, column.key) ? values[column.key] : null\n if (has(column, 'options') && !column.unUseDefaultOption) {\n if (column.type === 'checkbox-group' || has(column, 'mode')) {\n value =\n !hasValue(value) || (Array.isArray(value) && value.length === 0)\n ? [ALL_VALUE]\n : value\n } else {\n value = !hasValue(value) ? ALL_VALUE : value\n }\n }\n copyValues[column.key] = value\n })\n }\n\n return copyValues\n}\n\nexport const filterAllValue = (\n values: string | string[],\n column: FilterColumn\n): any => {\n let value: any = null\n if (Array.isArray(values)) {\n value = values.filter(item => item !== ALL_VALUE || !hasValue(values))\n if (column && column.type === 'number-range') {\n value = values ? (values.every(e => !isNull(e)) ? values : null) : null\n }\n } else {\n value = values === ALL_VALUE || !hasValue(values) ? null : values\n }\n\n return value\n}\n\nexport const treeDataFormat = (\n arr = [] as any[],\n fieldNames: { [key: string]: string }\n) => {\n let options = [] as any[]\n if (!arr) return []\n options = arr.map((e: any) => {\n const obj: any = {}\n obj.label = e[fieldNames.label]\n obj.value = e[fieldNames.value]\n if (e[fieldNames.children] && e[fieldNames.children].length) {\n obj.children = treeDataFormat(e[fieldNames.children], fieldNames)\n }\n\n return obj\n })\n return options\n}\n\n// const isEqual = (val1,val2)=>{\n\n// }\n\nexport const findLabelByValue = (\n tree: FilterColumn['options'],\n value: any\n): string => {\n // 递归函数,用于遍历 Tree 数据\n function _findLabel(nodes: FilterColumn['options']): string[] {\n const labels: string[] = []\n if (!nodes) return []\n for (const node of nodes) {\n if (isEqual(node.value, value)) {\n labels.push(node.label)\n }\n if (node.children && node.children.length > 0) {\n const childLabels = _findLabel(node.children)\n if (childLabels) {\n labels.push(...childLabels)\n }\n }\n }\n return labels.length > 0 ? labels : []\n }\n // 开始递归查找\n return _findLabel(tree).join(',')\n}\n\nexport const hasValue = (value: any) => {\n return Array.isArray(value)\n ? value.length > 0\n : !isNull(value) && !isUndefined(value) && value !== ''\n}\n\nexport const advancedFilteringProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n overlayStyle: {\n type: definePropType<TooltipProps['overlayStyle']>(Object),\n default: () => ({\n width: '500px'\n })\n }\n} as const)\n\nexport const advancedFilteringParamsProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n showFooter: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport const advancedFilteringEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringParamsEmits = {\n close: () => true,\n confirm: () => true,\n changeValue: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringTagsEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\n// props\nexport type AdvancedFilteringProps = ExtractPropTypes<\n typeof advancedFilteringProps\n>\n\nexport type AdvancedFilteringParamsProps = ExtractPropTypes<\n typeof advancedFilteringParamsProps\n>\n\n// emits\nexport type AdvancedFilteringEmits = typeof advancedFilteringEmits\n\nexport type AdvancedFilteringParamsEmits = typeof advancedFilteringParamsEmits\n\nexport type AdvancedFilteringTagsEmits = typeof advancedFilteringTagsEmits\n\n// instance\nexport type AdvancedFilteringInstance = InstanceType<typeof advancedFiltering>\n\nexport type AdvancedFilteringParamsInstance = InstanceType<\n typeof advancedFilteringParams\n>\n\nexport type AdvancedFilteringTagsInstance = InstanceType<\n typeof advancedFilteringTags\n>\n"],"names":["has","isNull","isEqual","isUndefined","buildProps","definePropType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"advanced-filtering.js","sources":["../../../../../../packages/components/advanced-filtering/src/advanced-filtering.ts"],"sourcesContent":["import { buildProps, definePropType, hasValue } from '@ll-plus/utils'\nimport { has, isNull, isEqual } from 'lodash-es'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormProps as AntFormProps, TooltipProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type advancedFiltering from './advanced-filtering.vue'\nimport type advancedFilteringParams from './components/advanced-filtering-params.vue'\nimport type advancedFilteringTags from './components/advanced-filtering-tags.vue'\n\nexport interface IAdvancedFilteringTag {\n label: string\n key: string\n value: string | string[]\n showValue: string | string[]\n}\n\nexport const ALL_VALUE: string = '_ALL'\n\nexport type FilterColumn = FormColumn<{\n unUseDefaultOption?: boolean\n defaultOptionLabel?: string\n}>\n\nexport const initValue = (columns: FilterColumn[], values: any) => {\n const copyValues = {}\n if (columns.length) {\n columns.forEach(column => {\n let value: any = has(values, column.key) ? values[column.key] : null\n if (has(column, 'options') && !column.unUseDefaultOption) {\n if (column.type === 'checkbox-group' || has(column, 'mode')) {\n value =\n !hasValue(value) || (Array.isArray(value) && value.length === 0)\n ? [ALL_VALUE]\n : value\n } else {\n value = !hasValue(value) ? ALL_VALUE : value\n }\n }\n copyValues[column.key] = value\n })\n }\n\n return copyValues\n}\n\nexport const filterAllValue = (\n values: string | string[],\n column: FilterColumn\n): any => {\n let value: any = null\n if (Array.isArray(values)) {\n value = values.filter(item => item !== ALL_VALUE || !hasValue(values))\n if (column && column.type === 'number-range') {\n value = values ? (values.every(e => !isNull(e)) ? values : null) : null\n }\n } else {\n value = values === ALL_VALUE || !hasValue(values) ? null : values\n }\n\n return value\n}\n\nexport const treeDataFormat = (\n arr = [] as any[],\n fieldNames: { [key: string]: string }\n) => {\n let options = [] as any[]\n if (!arr) return []\n options = arr.map((e: any) => {\n const obj: any = {}\n obj.label = e[fieldNames.label]\n obj.value = e[fieldNames.value]\n if (e[fieldNames.children] && e[fieldNames.children].length) {\n obj.children = treeDataFormat(e[fieldNames.children], fieldNames)\n }\n\n return obj\n })\n return options\n}\n\n// const isEqual = (val1,val2)=>{\n\n// }\n\nexport const findLabelByValue = (\n tree: FilterColumn['options'],\n value: any\n): string => {\n // 递归函数,用于遍历 Tree 数据\n function _findLabel(nodes: FilterColumn['options']): string[] {\n const labels: string[] = []\n if (!nodes) return []\n for (const node of nodes) {\n if (isEqual(node.value, value)) {\n labels.push(node.label)\n }\n if (node.children && node.children.length > 0) {\n const childLabels = _findLabel(node.children)\n if (childLabels) {\n labels.push(...childLabels)\n }\n }\n }\n return labels.length > 0 ? labels : []\n }\n // 开始递归查找\n return _findLabel(tree).join(',')\n}\n\n// export const hasValue = (value: any) => {\n// return Array.isArray(value)\n// ? value.length > 0\n// : !isNull(value) && !isUndefined(value) && value !== ''\n// }\n\nexport const advancedFilteringProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n overlayStyle: {\n type: definePropType<TooltipProps['overlayStyle']>(Object),\n default: () => ({\n width: '500px'\n })\n }\n} as const)\n\nexport const advancedFilteringParamsProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n showFooter: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport const advancedFilteringEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringParamsEmits = {\n close: () => true,\n confirm: () => true,\n changeValue: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringTagsEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\n// props\nexport type AdvancedFilteringProps = ExtractPropTypes<\n typeof advancedFilteringProps\n>\n\nexport type AdvancedFilteringParamsProps = ExtractPropTypes<\n typeof advancedFilteringParamsProps\n>\n\n// emits\nexport type AdvancedFilteringEmits = typeof advancedFilteringEmits\n\nexport type AdvancedFilteringParamsEmits = typeof advancedFilteringParamsEmits\n\nexport type AdvancedFilteringTagsEmits = typeof advancedFilteringTagsEmits\n\n// instance\nexport type AdvancedFilteringInstance = InstanceType<typeof advancedFiltering>\n\nexport type AdvancedFilteringParamsInstance = InstanceType<\n typeof advancedFilteringParams\n>\n\nexport type AdvancedFilteringTagsInstance = InstanceType<\n typeof advancedFilteringTags\n>\n"],"names":["has","hasValue","isNull","isEqual","buildProps","definePropType"],"mappings":"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"}
|
package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.js
CHANGED
|
@@ -8,6 +8,7 @@ require('../../../../utils/index.js');
|
|
|
8
8
|
var lodashEs = require('lodash-es');
|
|
9
9
|
var advancedFiltering = require('../advanced-filtering.js');
|
|
10
10
|
var createNamespace = require('../../../../utils/create-namespace.js');
|
|
11
|
+
var data = require('../../../../utils/data.js');
|
|
11
12
|
|
|
12
13
|
"use strict";
|
|
13
14
|
const _hoisted_1 = /* @__PURE__ */ vue.createElementVNode(
|
|
@@ -58,7 +59,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
58
59
|
const arr = [];
|
|
59
60
|
filterColumns.map((item) => {
|
|
60
61
|
const value = advancedFiltering.filterAllValue(values[item.key], item);
|
|
61
|
-
if (
|
|
62
|
+
if (data.hasValue(value)) {
|
|
62
63
|
let tagValue = "";
|
|
63
64
|
if (item?.options) {
|
|
64
65
|
let options = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced-filtering-tags.vue2.js","sources":["../../../../../../../packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bem.m('title')\">\n <p>筛选结果:</p>\n <a @click=\"handleClean(null)\">清除筛选结果</a>\n </div>\n <div v-if=\"tags.length > 0\" :class=\"bem.m('box')\">\n <div v-for=\"tag in tags\" :key=\"tag.key\" :class=\"bem.m('tag')\">\n <span :class=\"bem.m('label')\">{{ tag.label }}:</span>\n <span :class=\"bem.m('value')\">{{ tag.showValue }}</span>\n <span :class=\"bem.m('close')\" @click=\"handleClean(tag)\">\n <ll-icon icon-name=\"icon-close2\" :class-name=\"bem.m('icon')\" />\n </span>\n </div>\n </div>\n <div v-else :class=\"bem.m('empty')\">\n <span>暂无数据</span>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watchEffect } from 'vue'\nimport dayjs from 'dayjs'\n\nimport { createNamespace } from '@ll-plus/utils'\nimport { has } from 'lodash-es'\nimport {\n advancedFilteringProps,\n advancedFilteringTagsEmits,\n type
|
|
1
|
+
{"version":3,"file":"advanced-filtering-tags.vue2.js","sources":["../../../../../../../packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bem.m('title')\">\n <p>筛选结果:</p>\n <a @click=\"handleClean(null)\">清除筛选结果</a>\n </div>\n <div v-if=\"tags.length > 0\" :class=\"bem.m('box')\">\n <div v-for=\"tag in tags\" :key=\"tag.key\" :class=\"bem.m('tag')\">\n <span :class=\"bem.m('label')\">{{ tag.label }}:</span>\n <span :class=\"bem.m('value')\">{{ tag.showValue }}</span>\n <span :class=\"bem.m('close')\" @click=\"handleClean(tag)\">\n <ll-icon icon-name=\"icon-close2\" :class-name=\"bem.m('icon')\" />\n </span>\n </div>\n </div>\n <div v-else :class=\"bem.m('empty')\">\n <span>暂无数据</span>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watchEffect } from 'vue'\nimport dayjs from 'dayjs'\n\nimport { createNamespace, hasValue } from '@ll-plus/utils'\nimport { has } from 'lodash-es'\nimport {\n advancedFilteringProps,\n advancedFilteringTagsEmits,\n type IAdvancedFilteringTag,\n filterAllValue,\n treeDataFormat,\n findLabelByValue\n} from '../advanced-filtering'\nimport type { FormColumn } from '@ll-plus/components'\ndefineOptions({ name: 'LlAdvancedFilteringTags' })\nconst props = defineProps(advancedFilteringProps)\nconst emits = defineEmits(advancedFilteringTagsEmits)\nconst bem = createNamespace('advanced-filtering-tags')\nconst tags = ref([] as IAdvancedFilteringTag[])\n\nconst handleClean = (tag: IAdvancedFilteringTag | null = null) => {\n const copyValue = {}\n if (tag) {\n tags.value = tags.value.filter(e => e.key !== tag.key)\n } else {\n tags.value = []\n }\n tags.value.map(e => {\n copyValue[e.key] = e.value\n })\n setData(copyValue)\n}\nconst setData = (obj: Record<string, any>) => {\n emits('update:value', obj)\n emits('change', obj)\n}\n\nconst getTags = (filterColumns: FormColumn[], values: Record<string, any>) => {\n const arr = [] as IAdvancedFilteringTag[]\n filterColumns.map(item => {\n const value = filterAllValue(values[item.key], item)\n if (hasValue(value)) {\n let tagValue = ''\n\n if (item?.options) {\n let options = [] as FormColumn['options']\n if (item.fieldNames) {\n options = treeDataFormat(options, item.fieldNames)\n } else {\n options = item.options\n }\n if (Array.isArray(value)) {\n let tagArr: any = []\n tagArr = value.map((val: string) => {\n return findLabelByValue(options, val)\n })\n\n tagValue = tagArr.join(',')\n } else {\n tagValue = findLabelByValue(options, value)\n }\n } else {\n tagValue = value\n }\n\n if (item.type === 'date-picker') {\n tagValue = dayjs(value).format(item?.format ?? 'YYYY-MM-DD')\n }\n if (item.type === 'time-picker') {\n tagValue = dayjs(value).format(item?.format ?? 'YYYY/MM/DD hh:mm:ss')\n }\n if (item.type === 'date-range') {\n tagValue = `${dayjs(value[0]).format(\n item?.format ?? 'YYYY-MM-DD'\n )} - ${dayjs(value[1]).format(item?.format ?? 'YYYY-MM-DD')}`\n }\n\n if (item.type === 'number-range') {\n tagValue = `${value[0]}${value[1] ? ` - ${value[1]}` : ''}`\n }\n\n if (item.type === 'time-range') {\n tagValue = `${dayjs(value[0]).format(\n item?.format ?? 'YYYY/MM/DD HH:mm:ss'\n )} - ${dayjs(value[1]).format(item?.format ?? 'YYYY/MM/DD HH:mm:ss')}`\n }\n\n if (item.type === 'switch') {\n if (\n has(item, 'checkedChildren') &&\n has(item, 'checkedValue') &&\n has(item, 'unCheckedChildren') &&\n has(item, 'unCheckedValue')\n ) {\n tagValue =\n value === item.checkedValue\n ? item.checkedChildren\n : item.unCheckedChildren\n }\n\n if (has(item, 'checkedChildren') && !has(item, 'checkedValue')) {\n tagValue = value ? item.checkedChildren : false\n }\n }\n if (tagValue) {\n arr.push({\n label: item.label || '',\n key: item.key,\n value: value,\n showValue: tagValue\n })\n }\n }\n })\n return arr\n}\n\nwatchEffect(() => {\n tags.value = getTags(props.filterColumns, props.value)\n})\n</script>\n"],"names":["createNamespace","ref","filterAllValue","hasValue","treeDataFormat","findLabelByValue","has","watchEffect"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ require('../../../utils/index.js');
|
|
|
9
9
|
var formComponent = require('./components/form-component.vue.js');
|
|
10
10
|
var form = require('./config/form.js');
|
|
11
11
|
var createNamespace = require('../../../utils/create-namespace.js');
|
|
12
|
-
var deepUnref = require('../../../utils/
|
|
12
|
+
var deepUnref = require('../../../utils/deep-unref.js');
|
|
13
13
|
|
|
14
14
|
"use strict";
|
|
15
15
|
var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -23,7 +23,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
23
23
|
const bem = createNamespace.createNamespace("form");
|
|
24
24
|
const formData = vue.reactive(props.formData);
|
|
25
25
|
const formRef = vue.ref();
|
|
26
|
-
const formComponents = vue.ref(
|
|
26
|
+
const formComponents = vue.ref(
|
|
27
|
+
[]
|
|
28
|
+
);
|
|
27
29
|
const computedFormColumns = vue.computed(() => {
|
|
28
30
|
const formColumns = deepUnref.deepUnref(props.formColumns);
|
|
29
31
|
return formColumns.map((e) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.vue2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"props.loading\">\n <a-form\n v-bind=\"computedFormOptions\"\n :id=\"id\"\n ref=\"formRef\"\n :model=\"props.formData\"\n >\n <a-row v-bind=\"props.rowOptions\">\n <a-col\n v-for=\"(item, index) in computedFormColumns\"\n :key=\"index\"\n v-bind=\"item?.colOptions ?? {}\"\n :span=\"item?.spanCol ?? 24\"\n >\n <slot name=\"formItem\" :item=\"item\" :index=\"index\">\n <ll-form-item\n :name=\"item?.key ?? index\"\n :class=\"getFormItemClass(item)\"\n v-bind=\"getBindValue(item)\"\n >\n <template #label>\n <slot name=\"label\" :item=\"item\" :index=\"index\">\n <span>{{ item.label }}</span>\n <span v-if=\"item?.tip\" :class=\"bem.e('tooltip-wrapper')\">\n <ll-tooltip\n style=\"margin-left: 8px\"\n :overlay-class-name=\"bem.e('tooltip')\"\n :arrow-point-at-center=\"true\"\n :max-width=\"item?.tipConfig?.maxWidth ?? 406\"\n :placement=\"item?.tipConfig?.placement ?? 'top'\"\n :tip=\"item.tip\"\n :font-size=\"'16px'\"\n v-bind=\"item?.tipConfig\"\n />\n </span>\n </slot>\n </template>\n <slot name=\"content\" :item=\"item\" :index=\"index\">\n <template v-if=\"!isEmpty(item.children)\">\n <a-row :gutter=\"5\" v-bind=\"item.rowOptions\">\n <a-col\n v-for=\"(child, childIndex) in item.children\"\n :key=\"childIndex\"\n :style=\"{\n display: 'flex',\n 'align-items': 'center'\n }\"\n v-bind=\"item?.colOptions ?? {}\"\n >\n <slot name=\"children\" :item=\"child\" :index=\"index\">\n <form-component\n :item=\"child\"\n :form-data=\"formData\"\n @change-field=\"handleChangeField\"\n />\n </slot>\n </a-col>\n </a-row>\n </template>\n <form-component\n v-else\n :ref=\"el => (formComponents[index] = el)\"\n :item=\"item\"\n :form-data=\"formData\"\n @change-field=\"handleChangeField\"\n />\n </slot>\n </ll-form-item>\n </slot>\n </a-col>\n </a-row>\n </a-form>\n </a-spin>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { reactive, ref, watch, onMounted, nextTick, computed } from 'vue'\nimport { omit, isEmpty, has } from 'lodash-es'\nimport { formProps, formEmits, type FormColumn } from './config'\n\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\nimport { createNamespace, deepUnref } from '@ll-plus/utils'\n\nimport formComponent from './components/form-component.vue'\n\n// 定义组件名称\ndefineOptions({ name: 'LlForm' })\n\n// Props\nconst props = defineProps(formProps)\n\nconst emits = defineEmits(formEmits)\n\nconst bem = createNamespace('form')\n\nconst formData = reactive(props.formData)\n\nconst formRef = ref()\n\nconst formComponents = ref<InstanceType<typeof formComponent>[]>([])\n\nconst computedFormColumns = computed(() => {\n const formColumns = deepUnref(props.formColumns) as FormColumn[]\n return formColumns.map(e => {\n e.disabled = has(e, 'disabled') ? e.disabled : props.disabled\n if (e.children && e.children.length) {\n e.children.map(a => {\n a.disabled = has(a, 'disabled') ? a.disabled : props.disabled\n return a\n })\n }\n return e\n })\n})\n\nconst validateFields = computed(() => {\n return props.formColumns\n .filter(e => e.required || (has(e, 'rules') && e.rules.length > 0))\n .map(e => {\n return e.key\n })\n})\n\nconst computedFormOptions = computed(() => {\n return {\n scrollToFirstError: !props.validateErrorStop,\n ...props.formOptions\n }\n})\n\nconst id = ref(`ll-form-${+new Date()}`)\n\nconst validate = async () => {\n if (props.validateErrorStop) {\n clearValidate()\n let bool = true\n if (!validateFields.value.length) return bool\n for (const i of validateFields.value) {\n bool = await formRef.value.validateFields([i])\n if (!bool) {\n return bool\n }\n }\n } else {\n return await formRef.value.validateFields()\n }\n}\n\nconst resetFields = async () => {\n return await formRef.value.resetFields()\n}\n\nconst clearValidate = async (nameList?: NamePath[]) => {\n return await formRef.value.clearValidate(nameList)\n}\n\nconst scrollToField = async (name: NamePath, options?: ScrollOptions) => {\n return await formRef.value.scrollToField(name, options)\n}\n\nconst getBindValue = (item: FormColumn) => {\n const obj = { ...item }\n return omit(obj, ['label'])\n}\n\nconst getFormItemClass = (item = {} as FormColumn) => {\n if (props.formOptions.layout === 'horizontal') {\n if (item?.labelCol) {\n return item.labelCol.span && item.labelCol.span >= 24\n ? bem.is('label-top')\n : bem.is('label-left')\n } else {\n return bem.is('label-left')\n }\n }\n return bem.is('label-top')\n}\n\nconst handleChangeField = (item: FormColumn) => {\n emits('change', { item, value: formData[item.key], formData })\n}\n\nwatch(\n () => props.formData,\n async val => {\n for (const i in val) {\n formData[i] = val[i]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nonMounted(async () => {\n await nextTick()\n if (props.autoFocus) {\n for (const element of formComponents.value) {\n const item = element?.getItem()\n if (['input', 'textarea', 'input-number'].includes(item.type)) {\n element?.focus()\n break\n }\n }\n }\n})\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate,\n scrollToField\n})\n</script>\n"],"names":["createNamespace","reactive","ref","computed","deepUnref","has","omit","watch","onMounted","nextTick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form.vue2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"props.loading\">\n <a-form\n v-bind=\"computedFormOptions\"\n :id=\"id\"\n ref=\"formRef\"\n :model=\"props.formData\"\n >\n <a-row v-bind=\"props.rowOptions\">\n <a-col\n v-for=\"(item, index) in computedFormColumns\"\n :key=\"index\"\n v-bind=\"item?.colOptions ?? {}\"\n :span=\"item?.spanCol ?? 24\"\n >\n <slot name=\"formItem\" :item=\"item\" :index=\"index\">\n <ll-form-item\n :name=\"item?.key ?? index\"\n :class=\"getFormItemClass(item)\"\n v-bind=\"getBindValue(item)\"\n >\n <template #label>\n <slot name=\"label\" :item=\"item\" :index=\"index\">\n <span>{{ item.label }}</span>\n <span v-if=\"item?.tip\" :class=\"bem.e('tooltip-wrapper')\">\n <ll-tooltip\n style=\"margin-left: 8px\"\n :overlay-class-name=\"bem.e('tooltip')\"\n :arrow-point-at-center=\"true\"\n :max-width=\"item?.tipConfig?.maxWidth ?? 406\"\n :placement=\"item?.tipConfig?.placement ?? 'top'\"\n :tip=\"item.tip\"\n :font-size=\"'16px'\"\n v-bind=\"item?.tipConfig\"\n />\n </span>\n </slot>\n </template>\n <slot name=\"content\" :item=\"item\" :index=\"index\">\n <template v-if=\"!isEmpty(item.children)\">\n <a-row :gutter=\"5\" v-bind=\"item.rowOptions\">\n <a-col\n v-for=\"(child, childIndex) in item.children\"\n :key=\"childIndex\"\n :style=\"{\n display: 'flex',\n 'align-items': 'center'\n }\"\n v-bind=\"item?.colOptions ?? {}\"\n >\n <slot name=\"children\" :item=\"child\" :index=\"index\">\n <form-component\n :item=\"child\"\n :form-data=\"formData\"\n @change-field=\"handleChangeField\"\n />\n </slot>\n </a-col>\n </a-row>\n </template>\n <form-component\n v-else\n :ref=\"el => (formComponents[index] = el)\"\n :item=\"item\"\n :form-data=\"formData\"\n @change-field=\"handleChangeField\"\n />\n </slot>\n </ll-form-item>\n </slot>\n </a-col>\n </a-row>\n </a-form>\n </a-spin>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { reactive, ref, watch, onMounted, nextTick, computed } from 'vue'\nimport { omit, isEmpty, has } from 'lodash-es'\nimport { formProps, formEmits, type FormColumn } from './config'\n\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\nimport { createNamespace, deepUnref } from '@ll-plus/utils'\n\nimport formComponent from './components/form-component.vue'\n\n// 定义组件名称\ndefineOptions({ name: 'LlForm' })\n\n// Props\nconst props = defineProps(formProps)\n\nconst emits = defineEmits(formEmits)\n\nconst bem = createNamespace('form')\n\nconst formData = reactive(props.formData)\n\nconst formRef = ref()\n\nconst formComponents = ref<InstanceType<typeof formComponent>[]>(\n [] as InstanceType<typeof formComponent>[]\n)\n\nconst computedFormColumns = computed(() => {\n const formColumns = deepUnref(props.formColumns) as FormColumn[]\n return formColumns.map(e => {\n e.disabled = has(e, 'disabled') ? e.disabled : props.disabled\n if (e.children && e.children.length) {\n e.children.map(a => {\n a.disabled = has(a, 'disabled') ? a.disabled : props.disabled\n return a\n })\n }\n return e\n })\n})\n\nconst validateFields = computed(() => {\n return props.formColumns\n .filter(e => e.required || (has(e, 'rules') && e.rules.length > 0))\n .map(e => {\n return e.key\n })\n})\n\nconst computedFormOptions = computed(() => {\n return {\n scrollToFirstError: !props.validateErrorStop,\n ...props.formOptions\n }\n})\n\nconst id = ref(`ll-form-${+new Date()}`)\n\nconst validate = async () => {\n if (props.validateErrorStop) {\n clearValidate()\n let bool = true\n if (!validateFields.value.length) return bool\n for (const i of validateFields.value) {\n bool = await formRef.value.validateFields([i])\n if (!bool) {\n return bool\n }\n }\n } else {\n return await formRef.value.validateFields()\n }\n}\n\nconst resetFields = async () => {\n return await formRef.value.resetFields()\n}\n\nconst clearValidate = async (nameList?: NamePath[]) => {\n return await formRef.value.clearValidate(nameList)\n}\n\nconst scrollToField = async (name: NamePath, options?: ScrollOptions) => {\n return await formRef.value.scrollToField(name, options)\n}\n\nconst getBindValue = (item: FormColumn) => {\n const obj = { ...item }\n return omit(obj, ['label'])\n}\n\nconst getFormItemClass = (item = {} as FormColumn) => {\n if (props.formOptions.layout === 'horizontal') {\n if (item?.labelCol) {\n return item.labelCol.span && item.labelCol.span >= 24\n ? bem.is('label-top')\n : bem.is('label-left')\n } else {\n return bem.is('label-left')\n }\n }\n return bem.is('label-top')\n}\n\nconst handleChangeField = (item: FormColumn) => {\n emits('change', { item, value: formData[item.key], formData })\n}\n\nwatch(\n () => props.formData,\n async val => {\n for (const i in val) {\n formData[i] = val[i]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nonMounted(async () => {\n await nextTick()\n if (props.autoFocus) {\n for (const element of formComponents.value) {\n const item = element?.getItem()\n if (['input', 'textarea', 'input-number'].includes(item.type)) {\n element?.focus()\n break\n }\n }\n }\n})\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate,\n scrollToField\n})\n</script>\n"],"names":["createNamespace","reactive","ref","computed","deepUnref","has","omit","watch","onMounted","nextTick"],"mappings":";;;;;;;;;;;;;;;;;;;;AA4FA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAM,MAAA,GAAA,GAAMA,gCAAgB,MAAM,CAAA,CAAA;AAElC,IAAM,MAAA,QAAA,GAAWC,YAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAExC,IAAA,MAAM,UAAUC,OAAI,EAAA,CAAA;AAEpB,IAAA,MAAM,cAAiB,GAAAA,OAAA;AAAA,MACrB,EAAC;AAAA,KACH,CAAA;AAEA,IAAM,MAAA,mBAAA,GAAsBC,aAAS,MAAM;AACzC,MAAM,MAAA,WAAA,GAAcC,mBAAU,CAAA,KAAA,CAAM,WAAW,CAAA,CAAA;AAC/C,MAAO,OAAA,WAAA,CAAY,IAAI,CAAK,CAAA,KAAA;AAC1B,QAAA,CAAA,CAAE,WAAWC,YAAI,CAAA,CAAA,EAAG,UAAU,CAAI,GAAA,CAAA,CAAE,WAAW,KAAM,CAAA,QAAA,CAAA;AACrD,QAAA,IAAI,CAAE,CAAA,QAAA,IAAY,CAAE,CAAA,QAAA,CAAS,MAAQ,EAAA;AACnC,UAAE,CAAA,CAAA,QAAA,CAAS,IAAI,CAAK,CAAA,KAAA;AAClB,YAAA,CAAA,CAAE,WAAWA,YAAI,CAAA,CAAA,EAAG,UAAU,CAAI,GAAA,CAAA,CAAE,WAAW,KAAM,CAAA,QAAA,CAAA;AACrD,YAAO,OAAA,CAAA,CAAA;AAAA,WACR,CAAA,CAAA;AAAA,SACH;AACA,QAAO,OAAA,CAAA,CAAA;AAAA,OACR,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAM,MAAA,cAAA,GAAiBF,aAAS,MAAM;AACpC,MAAA,OAAO,MAAM,WACV,CAAA,MAAA,CAAO,CAAK,CAAA,KAAA,CAAA,CAAE,YAAaE,YAAI,CAAA,CAAA,EAAG,OAAO,CAAA,IAAK,EAAE,KAAM,CAAA,MAAA,GAAS,CAAE,CAAA,CACjE,IAAI,CAAK,CAAA,KAAA;AACR,QAAA,OAAO,CAAE,CAAA,GAAA,CAAA;AAAA,OACV,CAAA,CAAA;AAAA,KACJ,CAAA,CAAA;AAED,IAAM,MAAA,mBAAA,GAAsBF,aAAS,MAAM;AACzC,MAAO,OAAA;AAAA,QACL,kBAAA,EAAoB,CAAC,KAAM,CAAA,iBAAA;AAAA,QAC3B,GAAG,KAAM,CAAA,WAAA;AAAA,OACX,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,KAAKD,OAAI,CAAA,CAAA,QAAA,EAAW,iBAAK,IAAA,IAAA,EAAM,CAAE,CAAA,CAAA,CAAA;AAEvC,IAAA,MAAM,WAAW,YAAY;AAC3B,MAAA,IAAI,MAAM,iBAAmB,EAAA;AAC3B,QAAc,aAAA,EAAA,CAAA;AACd,QAAA,IAAI,IAAO,GAAA,IAAA,CAAA;AACX,QAAI,IAAA,CAAC,eAAe,KAAM,CAAA,MAAA;AAAQ,UAAO,OAAA,IAAA,CAAA;AACzC,QAAW,KAAA,MAAA,CAAA,IAAK,eAAe,KAAO,EAAA;AACpC,UAAA,IAAA,GAAO,MAAM,OAAQ,CAAA,KAAA,CAAM,cAAe,CAAA,CAAC,CAAC,CAAC,CAAA,CAAA;AAC7C,UAAA,IAAI,CAAC,IAAM,EAAA;AACT,YAAO,OAAA,IAAA,CAAA;AAAA,WACT;AAAA,SACF;AAAA,OACK,MAAA;AACL,QAAO,OAAA,MAAM,OAAQ,CAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AAAA,OAC5C;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,cAAc,YAAY;AAC9B,MAAO,OAAA,MAAM,OAAQ,CAAA,KAAA,CAAM,WAAY,EAAA,CAAA;AAAA,KACzC,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,OAAO,QAA0B,KAAA;AACrD,MAAA,OAAO,MAAM,OAAA,CAAQ,KAAM,CAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AAAA,KACnD,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,OAAO,IAAA,EAAgB,OAA4B,KAAA;AACvE,MAAA,OAAO,MAAM,OAAA,CAAQ,KAAM,CAAA,aAAA,CAAc,MAAM,OAAO,CAAA,CAAA;AAAA,KACxD,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,IAAqB,KAAA;AACzC,MAAM,MAAA,GAAA,GAAM,EAAE,GAAG,IAAK,EAAA,CAAA;AACtB,MAAA,OAAOI,aAAK,CAAA,GAAA,EAAK,CAAC,OAAO,CAAC,CAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAA,MAAM,gBAAmB,GAAA,CAAC,IAAO,GAAA,EAAqB,KAAA;AACpD,MAAI,IAAA,KAAA,CAAM,WAAY,CAAA,MAAA,KAAW,YAAc,EAAA;AAC7C,QAAA,IAAI,MAAM,QAAU,EAAA;AAClB,UAAA,OAAO,IAAK,CAAA,QAAA,CAAS,IAAQ,IAAA,IAAA,CAAK,QAAS,CAAA,IAAA,IAAQ,EAC/C,GAAA,GAAA,CAAI,EAAG,CAAA,WAAW,CAClB,GAAA,GAAA,CAAI,GAAG,YAAY,CAAA,CAAA;AAAA,SAClB,MAAA;AACL,UAAO,OAAA,GAAA,CAAI,GAAG,YAAY,CAAA,CAAA;AAAA,SAC5B;AAAA,OACF;AACA,MAAO,OAAA,GAAA,CAAI,GAAG,WAAW,CAAA,CAAA;AAAA,KAC3B,CAAA;AAEA,IAAM,MAAA,iBAAA,GAAoB,CAAC,IAAqB,KAAA;AAC9C,MAAM,KAAA,CAAA,QAAA,EAAU,EAAE,IAAM,EAAA,KAAA,EAAO,SAAS,IAAK,CAAA,GAAG,CAAG,EAAA,QAAA,EAAU,CAAA,CAAA;AAAA,KAC/D,CAAA;AAEA,IAAAC,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,QAAA;AAAA,MACZ,OAAM,GAAO,KAAA;AACX,QAAA,KAAA,MAAW,KAAK,GAAK,EAAA;AACnB,UAAS,QAAA,CAAA,CAAC,CAAI,GAAA,GAAA,CAAI,CAAC,CAAA,CAAA;AAAA,SACrB;AAAA,OACF;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,QACN,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAAC,aAAA,CAAU,YAAY;AACpB,MAAA,MAAMC,YAAS,EAAA,CAAA;AACf,MAAA,IAAI,MAAM,SAAW,EAAA;AACnB,QAAW,KAAA,MAAA,OAAA,IAAW,eAAe,KAAO,EAAA;AAC1C,UAAM,MAAA,IAAA,GAAO,SAAS,OAAQ,EAAA,CAAA;AAC9B,UAAI,IAAA,CAAC,SAAS,UAAY,EAAA,cAAc,EAAE,QAAS,CAAA,IAAA,CAAK,IAAI,CAAG,EAAA;AAC7D,YAAA,OAAA,EAAS,KAAM,EAAA,CAAA;AACf,YAAA,MAAA;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX,QAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -211,7 +211,6 @@ exports.advancedFilteringProps = advancedFiltering.advancedFilteringProps;
|
|
|
211
211
|
exports.advancedFilteringTagsEmits = advancedFiltering.advancedFilteringTagsEmits;
|
|
212
212
|
exports.filterAllValue = advancedFiltering.filterAllValue;
|
|
213
213
|
exports.findLabelByValue = advancedFiltering.findLabelByValue;
|
|
214
|
-
exports.hasValue = advancedFiltering.hasValue;
|
|
215
214
|
exports.initValue = advancedFiltering.initValue;
|
|
216
215
|
exports.treeDataFormat = advancedFiltering.treeDataFormat;
|
|
217
216
|
exports.DEFAULT_METHOD = apiComponent.DEFAULT_METHOD;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -41,12 +41,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
41
41
|
const getValueDisabled = vue.computed(() => {
|
|
42
42
|
return props.disabledValue?.includes(props.idx) || props.disabled || getValueType.value?.disabled;
|
|
43
43
|
});
|
|
44
|
-
const getDeleteDisabled = vue.computed(() => {
|
|
45
|
-
return props.disabledDelete?.includes(props.idx) || props.disabled;
|
|
46
|
-
});
|
|
47
44
|
const hasValue = vue.computed(() => {
|
|
48
45
|
return innerValue.value["key"] || innerValue.value["key"] === 0 || innerValue.value["value"];
|
|
49
46
|
});
|
|
47
|
+
const getDeleteDisabled = vue.computed(() => {
|
|
48
|
+
return props.disabledDelete?.includes(props.idx) || props.disabled || props.values.length === 1 && !hasValue.value;
|
|
49
|
+
});
|
|
50
50
|
const handleDelete = () => {
|
|
51
51
|
emits("delete");
|
|
52
52
|
};
|
|
@@ -222,57 +222,21 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
222
222
|
2
|
|
223
223
|
/* CLASS */
|
|
224
224
|
),
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
onConfirm: handleDelete
|
|
239
|
-
}, {
|
|
240
|
-
default: vue.withCtx(() => [
|
|
241
|
-
vue.createElementVNode(
|
|
242
|
-
"div",
|
|
243
|
-
{
|
|
244
|
-
class: vue.normalizeClass(vue.unref(bem).m("delete")),
|
|
245
|
-
style: vue.normalizeStyle({
|
|
246
|
-
"margin-top": !!vue.unref(attrs)["key-label"] || !!vue.unref(attrs)["value-label"] ? "26px" : "0px"
|
|
247
|
-
})
|
|
248
|
-
},
|
|
249
|
-
[
|
|
250
|
-
vue.createVNode(_component_ll_button, {
|
|
251
|
-
type: "link",
|
|
252
|
-
disabled: getDeleteDisabled.value
|
|
253
|
-
}, {
|
|
254
|
-
default: vue.withCtx(() => [
|
|
255
|
-
vue.renderSlot(_ctx.$slots, "delete-icon", {}, () => [
|
|
256
|
-
vue.createVNode(_component_ll_icon, {
|
|
257
|
-
"icon-name": "icon-remove",
|
|
258
|
-
class: "delete"
|
|
259
|
-
})
|
|
260
|
-
])
|
|
261
|
-
]),
|
|
262
|
-
_: 3
|
|
263
|
-
/* FORWARDED */
|
|
264
|
-
}, 8, ["disabled"])
|
|
265
|
-
],
|
|
266
|
-
6
|
|
267
|
-
/* CLASS, STYLE */
|
|
268
|
-
)
|
|
269
|
-
]),
|
|
270
|
-
_: 3
|
|
271
|
-
/* FORWARDED */
|
|
272
|
-
}, 8, ["overlay-class-name", "get-popup-container"])) : (vue.openBlock(), vue.createElementBlock(
|
|
225
|
+
hasValue.value ? (vue.openBlock(), vue.createBlock(_component_a_popconfirm, {
|
|
226
|
+
key: 2,
|
|
227
|
+
title: "\u786E\u5B9A\u8981\u79FB\u9664\u5417?",
|
|
228
|
+
"ok-text": "\u786E\u8BA4",
|
|
229
|
+
"cancel-text": "\u53D6\u6D88",
|
|
230
|
+
placement: "topRight",
|
|
231
|
+
"overlay-class-name": vue.unref(bem).m("popconfirm"),
|
|
232
|
+
"get-popup-container": (trigger) => trigger.parentNode,
|
|
233
|
+
"destroy-tooltip-on-hide": "",
|
|
234
|
+
onConfirm: handleDelete
|
|
235
|
+
}, {
|
|
236
|
+
default: vue.withCtx(() => [
|
|
237
|
+
vue.createElementVNode(
|
|
273
238
|
"div",
|
|
274
239
|
{
|
|
275
|
-
key: 1,
|
|
276
240
|
class: vue.normalizeClass(vue.unref(bem).m("delete")),
|
|
277
241
|
style: vue.normalizeStyle({
|
|
278
242
|
"margin-top": !!vue.unref(attrs)["key-label"] || !!vue.unref(attrs)["value-label"] ? "26px" : "0px"
|
|
@@ -281,8 +245,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
281
245
|
[
|
|
282
246
|
vue.createVNode(_component_ll_button, {
|
|
283
247
|
type: "link",
|
|
284
|
-
disabled: getDeleteDisabled.value
|
|
285
|
-
onClick: handleDelete
|
|
248
|
+
disabled: getDeleteDisabled.value
|
|
286
249
|
}, {
|
|
287
250
|
default: vue.withCtx(() => [
|
|
288
251
|
vue.renderSlot(_ctx.$slots, "delete-icon", {}, () => [
|
|
@@ -298,11 +261,40 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
298
261
|
],
|
|
299
262
|
6
|
|
300
263
|
/* CLASS, STYLE */
|
|
301
|
-
)
|
|
264
|
+
)
|
|
265
|
+
]),
|
|
266
|
+
_: 3
|
|
267
|
+
/* FORWARDED */
|
|
268
|
+
}, 8, ["overlay-class-name", "get-popup-container"])) : (vue.openBlock(), vue.createElementBlock(
|
|
269
|
+
"div",
|
|
270
|
+
{
|
|
271
|
+
key: 3,
|
|
272
|
+
class: vue.normalizeClass(vue.unref(bem).m("delete")),
|
|
273
|
+
style: vue.normalizeStyle({
|
|
274
|
+
"margin-top": !!vue.unref(attrs)["key-label"] || !!vue.unref(attrs)["value-label"] ? "26px" : "0px"
|
|
275
|
+
})
|
|
276
|
+
},
|
|
277
|
+
[
|
|
278
|
+
vue.createVNode(_component_ll_button, {
|
|
279
|
+
type: "link",
|
|
280
|
+
disabled: getDeleteDisabled.value,
|
|
281
|
+
onClick: handleDelete
|
|
282
|
+
}, {
|
|
283
|
+
default: vue.withCtx(() => [
|
|
284
|
+
vue.renderSlot(_ctx.$slots, "delete-icon", {}, () => [
|
|
285
|
+
vue.createVNode(_component_ll_icon, {
|
|
286
|
+
"icon-name": "icon-remove",
|
|
287
|
+
class: "delete"
|
|
288
|
+
})
|
|
289
|
+
])
|
|
290
|
+
]),
|
|
291
|
+
_: 3
|
|
292
|
+
/* FORWARDED */
|
|
293
|
+
}, 8, ["disabled"])
|
|
302
294
|
],
|
|
303
|
-
|
|
304
|
-
/*
|
|
305
|
-
))
|
|
295
|
+
6
|
|
296
|
+
/* CLASS, STYLE */
|
|
297
|
+
))
|
|
306
298
|
],
|
|
307
299
|
2
|
|
308
300
|
/* CLASS */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value-item.vue2.js","sources":["../../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"form\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div v-if=\"props.keyValueType !== 'single'\" :class=\"bem.m('left')\">\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.rules || []\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(props.keyTypes)\"\n v-model:value=\"innerValue['key']\"\n :options=\"props.keyTypes\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"props.keyValueType !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getValueType.rules || []\"\n name=\"value\"\n >\n <slot name=\"value-warapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n <template v-if=\"props.showDelete\">\n <template v-if=\"hasValue\">\n <a-popconfirm\n title=\"确定要移除吗?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n :get-popup-container=\"(trigger: Element) => trigger.parentNode\"\n destroy-tooltip-on-hide\n @confirm=\"handleDelete\"\n >\n <div\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </template>\n <div\n v-else\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button\n type=\"link\"\n :disabled=\"getDeleteDisabled\"\n @click=\"handleDelete\"\n >\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </template>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch, nextTick } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport type { FormInstance } from '@ll-plus/components'\nimport {\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst form = ref<FormInstance | null>()\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = props.keyType\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = props.valueType\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return props.disabledDelete?.includes(props.idx) || props.disabled\n})\n\nconst hasValue = computed(() => {\n return (\n innerValue.value['key'] ||\n innerValue.value['key'] === 0 ||\n innerValue.value['value']\n )\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = async () => {\n innerValue.value['value'] = null\n await form.value?.clearValidate()\n}\n\nconst validate = async () => {\n return await form.value?.validate()\n}\n\nconst resetFields = async () => {\n return await form.value?.resetFields()\n}\nconst clearValidate = async (namePath?: NamePath[]) => {\n return await form.value?.clearValidate(namePath)\n}\n\nwatch(\n innerValue,\n async val => {\n await nextTick().then(() => {\n try {\n emits('update:value', val)\n emits('change')\n } catch (error) {\n console.error(error)\n }\n })\n },\n {\n deep: true\n }\n)\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate\n})\n</script>\n\n<style scoped></style>\n"],"names":["useAttrs","createNamespace","ref","computed","isEmpty","watch","nextTick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"key-value-item.vue2.js","sources":["../../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"form\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div v-if=\"props.keyValueType !== 'single'\" :class=\"bem.m('left')\">\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.rules || []\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(props.keyTypes)\"\n v-model:value=\"innerValue['key']\"\n :options=\"props.keyTypes\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"props.keyValueType !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getValueType.rules || []\"\n name=\"value\"\n >\n <slot name=\"value-warapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n <template v-if=\"hasValue\">\n <a-popconfirm\n title=\"确定要移除吗?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n :get-popup-container=\"(trigger: Element) => trigger.parentNode\"\n destroy-tooltip-on-hide\n @confirm=\"handleDelete\"\n >\n <div\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </template>\n <div\n v-else\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <ll-button\n type=\"link\"\n :disabled=\"getDeleteDisabled\"\n @click=\"handleDelete\"\n >\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch, nextTick } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport type { FormInstance } from '@ll-plus/components'\nimport {\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst form = ref<FormInstance | null>()\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = props.keyType\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = props.valueType\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst hasValue = computed(() => {\n return (\n innerValue.value['key'] ||\n innerValue.value['key'] === 0 ||\n innerValue.value['value']\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return (\n props.disabledDelete?.includes(props.idx) ||\n props.disabled ||\n (props.values.length === 1 && !hasValue.value)\n )\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = async () => {\n innerValue.value['value'] = null\n await form.value?.clearValidate()\n}\n\nconst validate = async () => {\n return await form.value?.validate()\n}\n\nconst resetFields = async () => {\n return await form.value?.resetFields()\n}\nconst clearValidate = async (namePath?: NamePath[]) => {\n return await form.value?.clearValidate(namePath)\n}\n\nwatch(\n innerValue,\n async val => {\n await nextTick().then(() => {\n try {\n emits('update:value', val)\n emits('change')\n } catch (error) {\n console.error(error)\n }\n })\n },\n {\n deep: true\n }\n)\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate\n})\n</script>\n\n<style scoped></style>\n"],"names":["useAttrs","createNamespace","ref","computed","isEmpty","watch","nextTick"],"mappings":"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"}
|
|
@@ -33,6 +33,15 @@ const keyValueItemProps = runtime.buildProps({
|
|
|
33
33
|
disabled: {
|
|
34
34
|
type: Boolean
|
|
35
35
|
},
|
|
36
|
+
values: {
|
|
37
|
+
type: runtime.definePropType(Array),
|
|
38
|
+
default: () => [
|
|
39
|
+
{
|
|
40
|
+
key: null,
|
|
41
|
+
value: null
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
36
45
|
disabledValue: {
|
|
37
46
|
type: runtime.definePropType(Array)
|
|
38
47
|
},
|
|
@@ -69,9 +78,9 @@ const keyValueItemProps = runtime.buildProps({
|
|
|
69
78
|
type: Object,
|
|
70
79
|
default: () => ({})
|
|
71
80
|
},
|
|
72
|
-
|
|
81
|
+
keepLast: {
|
|
73
82
|
type: Boolean,
|
|
74
|
-
default:
|
|
83
|
+
default: false
|
|
75
84
|
}
|
|
76
85
|
});
|
|
77
86
|
const keyValueItemEmits = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value-item.js","sources":["../../../../../../../packages/components/key-value/src/config/key-value-item.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport type { FormProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type { KeyType } from './'\n\nexport const typeRules = [\n {\n trigger: ['blur', 'change'],\n message: '此字段是必需的',\n validator: async (_rule: any, value: any) => {\n if (!value) {\n return Promise.reject(new Error('此字段是必需的'))\n } else {\n return Promise.resolve()\n }\n }\n }\n]\nexport const formOptions = {\n layout: 'horizontal',\n labelAlign: 'left'\n} as FormProps\n\nexport const formColumns = [\n {\n key: 'other',\n labelCol: {\n span: 24\n }\n }\n]\n\nexport interface KeyValueItem {\n key: any | null\n value: any | null\n}\n\nexport const keyValueItemProps = buildProps({\n disabled: {\n type: Boolean\n },\n disabledValue: {\n type: definePropType<number[]>(Array)\n },\n disabledKey: {\n type: definePropType<number[]>(Array)\n },\n disabledDelete: {\n type: definePropType<number[]>(Array)\n },\n keyValueType: {\n type: definePropType<'single' | 'doubt'>(String)\n },\n keyType: {\n type: definePropType<FormColumn>(Object)\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array)\n },\n valueType: {\n type: definePropType<FormColumn>(Object)\n },\n value: {\n type: definePropType<KeyValueItem>(Object),\n default: () => ({\n key: '',\n value: ''\n })\n },\n idx: {\n type: Number,\n required: true\n },\n keyValueTypeDict: {\n type: Object,\n default: () => ({})\n },\n
|
|
1
|
+
{"version":3,"file":"key-value-item.js","sources":["../../../../../../../packages/components/key-value/src/config/key-value-item.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport type { FormProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type { KeyType } from './'\n\nexport const typeRules = [\n {\n trigger: ['blur', 'change'],\n message: '此字段是必需的',\n validator: async (_rule: any, value: any) => {\n if (!value) {\n return Promise.reject(new Error('此字段是必需的'))\n } else {\n return Promise.resolve()\n }\n }\n }\n]\nexport const formOptions = {\n layout: 'horizontal',\n labelAlign: 'left'\n} as FormProps\n\nexport const formColumns = [\n {\n key: 'other',\n labelCol: {\n span: 24\n }\n }\n]\n\nexport interface KeyValueItem {\n key: any | null\n value: any | null\n}\n\nexport const keyValueItemProps = buildProps({\n disabled: {\n type: Boolean\n },\n values: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [\n {\n key: null,\n value: null\n }\n ]\n },\n disabledValue: {\n type: definePropType<number[]>(Array)\n },\n disabledKey: {\n type: definePropType<number[]>(Array)\n },\n disabledDelete: {\n type: definePropType<number[]>(Array)\n },\n keyValueType: {\n type: definePropType<'single' | 'doubt'>(String)\n },\n keyType: {\n type: definePropType<FormColumn>(Object)\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array)\n },\n valueType: {\n type: definePropType<FormColumn>(Object)\n },\n value: {\n type: definePropType<KeyValueItem>(Object),\n default: () => ({\n key: '',\n value: ''\n })\n },\n idx: {\n type: Number,\n required: true\n },\n keyValueTypeDict: {\n type: Object,\n default: () => ({})\n },\n keepLast: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport const keyValueItemEmits = {\n delete: () => true,\n change: () => true,\n 'update:value': (value: KeyValueItem) => !!value\n}\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAKO,MAAM,SAAY,GAAA;AAAA,EACvB;AAAA,IACE,OAAA,EAAS,CAAC,MAAA,EAAQ,QAAQ,CAAA;AAAA,IAC1B,OAAS,EAAA,4CAAA;AAAA,IACT,SAAA,EAAW,OAAO,KAAA,EAAY,KAAe,KAAA;AAC3C,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAA,OAAO,OAAQ,CAAA,MAAA,CAAO,IAAI,KAAA,CAAM,4CAAS,CAAC,CAAA,CAAA;AAAA,OACrC,MAAA;AACL,QAAA,OAAO,QAAQ,OAAQ,EAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,GACF;AACF,EAAA;AACO,MAAM,WAAc,GAAA;AAAA,EACzB,MAAQ,EAAA,YAAA;AAAA,EACR,UAAY,EAAA,MAAA;AACd,EAAA;AAEO,MAAM,WAAc,GAAA;AAAA,EACzB;AAAA,IACE,GAAK,EAAA,OAAA;AAAA,IACL,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,EAAA;AAAA,KACR;AAAA,GACF;AACF,EAAA;AAOO,MAAM,oBAAoBA,kBAAW,CAAA;AAAA,EAC1C,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAA,EAAMC,uBAA+B,KAAK,CAAA;AAAA,IAC1C,SAAS,MAAM;AAAA,MACb;AAAA,QACE,GAAK,EAAA,IAAA;AAAA,QACL,KAAO,EAAA,IAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAAmC,MAAM,CAAA;AAAA,GACjD;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,GACzC;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAMA,uBAA0B,KAAK,CAAA;AAAA,GACvC;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,GACzC;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAA,EAAMA,uBAA6B,MAAM,CAAA;AAAA,IACzC,SAAS,OAAO;AAAA,MACd,GAAK,EAAA,EAAA;AAAA,MACL,KAAO,EAAA,EAAA;AAAA,KACT,CAAA;AAAA,GACF;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,iBAAoB,GAAA;AAAA,EAC/B,QAAQ,MAAM,IAAA;AAAA,EACd,QAAQ,MAAM,IAAA;AAAA,EACd,cAAgB,EAAA,CAAC,KAAwB,KAAA,CAAC,CAAC,KAAA;AAC7C;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value.js","sources":["../../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { KeyValueItem } from './key-value-item'\nimport type KeyValue from '../key-value.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype KeyValueType = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: null,\n value: null\n})\n\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [{ key:
|
|
1
|
+
{"version":3,"file":"key-value.js","sources":["../../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { KeyValueItem } from './key-value-item'\nimport type KeyValue from '../key-value.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype KeyValueType = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: null,\n value: null\n})\n\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [{ key: null, value: null }]\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n keyLabel: {\n type: String,\n default: ''\n },\n valueLabel: {\n type: String,\n default: ''\n },\n addText: {\n type: String,\n default: '添加'\n },\n keyValueType: {\n type: definePropType<KeyValueType>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Key'\n })\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array),\n default: () => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Value'\n })\n },\n disabledValue: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledKey: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledDelete: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledAdd: {\n type: Boolean,\n default: false\n },\n validate: {\n type: Boolean,\n default: false\n },\n keepLast: {\n type: Boolean,\n default: true\n }\n} as const)\n\nexport interface KeyValueAddEmits {\n index: number\n item: KeyValueItem\n value: KeyValueItem[]\n}\n\nexport const keyValueEmits = {\n change: (value: KeyValueItem[]) => !!value,\n add: (params: KeyValueAddEmits) => !!params,\n delete: (index: number) => typeof index === 'number',\n 'update:value': (value: KeyValueItem[]) => !!value\n}\n\n// props\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\n// emits\nexport type KeyValueEmits = typeof keyValueEmits\n// instance\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAeO,MAAM,kBAAkB,OAAO;AAAA,EACpC,GAAK,EAAA,IAAA;AAAA,EACL,KAAO,EAAA,IAAA;AACT,CAAA,EAAA;AAEO,MAAM,gBAAgBA,kBAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAMC,uBAA+B,KAAK,CAAA;AAAA,IAC1C,OAAA,EAAS,MAAM,CAAC,EAAE,KAAK,IAAM,EAAA,KAAA,EAAO,MAAM,CAAA;AAAA,GAC5C;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAA6B,MAAM,CAAA;AAAA,IACzC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAMA,uBAA0B,KAAK,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,yBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAQH,MAAM,aAAgB,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAAA,EACrC,GAAK,EAAA,CAAC,MAA6B,KAAA,CAAC,CAAC,MAAA;AAAA,EACrC,MAAQ,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAAA,EAC5C,cAAgB,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAC/C;;;;;;"}
|