@ctzy-web-client/plugin-component-vue 1.0.0 → 1.0.2
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/_virtual/_plugin-vue_export-helper.mjs +9 -0
- package/es/advance-select/advance-operation.mjs +43 -0
- package/es/advance-select/advance-option.mjs +125 -0
- package/es/advance-select/advance-select.mjs +359 -0
- package/es/advance-select/events-helpers.mjs +29 -0
- package/es/advance-select/index.mjs +13 -0
- package/es/advance-select/use-advance-option.mjs +43 -0
- package/es/advance-select/use-advance-select.mjs +117 -0
- package/es/application-slot/application-slot.mjs +51 -0
- package/es/application-slot/breadcrumb-item.mjs +23 -0
- package/es/application-slot/header-tools-item.mjs +23 -0
- package/es/application-slot/index.mjs +16 -0
- package/es/breadcrumb-select/breadcrumb-select.mjs +155 -0
- package/es/breadcrumb-select/index.mjs +6 -0
- package/es/components.mjs +22 -0
- package/es/contextmenu/contextmenu-item.mjs +21 -0
- package/es/contextmenu/contextmenu.mjs +64 -0
- package/es/contextmenu/index.mjs +10 -0
- package/es/contextmenu/use-contextmenu.mjs +85 -0
- package/es/data-form/data-form-item.mjs +53 -0
- package/es/data-form/data-form.mjs +175 -0
- package/es/data-form/dynamic-component.mjs +23 -0
- package/es/data-form/form-components/Blots/AtBlot.mjs +25 -0
- package/es/data-form/form-components/bwa-date-picker.mjs +45 -0
- package/es/data-form/form-components/bwa-date-time-picker.mjs +50 -0
- package/es/data-form/form-components/bwa-input-float.mjs +43 -0
- package/es/data-form/form-components/bwa-input-integer.mjs +56 -0
- package/es/data-form/form-components/bwa-input.mjs +38 -0
- package/es/data-form/form-components/bwa-multi-select.mjs +35 -0
- package/es/data-form/form-components/bwa-rich-text-tinymce.mjs +234 -0
- package/es/data-form/form-components/bwa-rich-text.mjs +325 -0
- package/es/data-form/form-components/bwa-select.mjs +76 -0
- package/es/data-form/form-components/bwa-textarea.mjs +33 -0
- package/es/data-form/form-components/bwa-upload.mjs +159 -0
- package/es/data-form/form-components/bwa-user-multi-select.mjs +30 -0
- package/es/data-form/form-components/bwa-user-select.mjs +69 -0
- package/es/data-form/index.mjs +34 -0
- package/es/data-table/data-column-view.mjs +131 -0
- package/es/data-table/data-table-card.mjs +118 -0
- package/es/data-table/data-table-column.mjs +56 -0
- package/es/data-table/data-table.mjs +369 -0
- package/es/data-table/dynamic-component.mjs +48 -0
- package/es/data-table/index.mjs +13 -0
- package/es/data-table/use-datatable-drag.mjs +110 -0
- package/es/datatable-settings/datatable-settings.mjs +309 -0
- package/es/datatable-settings/index.mjs +6 -0
- package/es/date-range/date-picker.mjs +128 -0
- package/es/date-range/date-range.mjs +181 -0
- package/es/date-range/index.mjs +6 -0
- package/es/drag-list/constants.mjs +3 -0
- package/es/drag-list/drag-item.mjs +49 -0
- package/es/drag-list/drag-list.mjs +56 -0
- package/es/drag-list/index.mjs +6 -0
- package/es/drag-list/use-drag-list.mjs +154 -0
- package/es/dragable/constants.mjs +4 -0
- package/es/dragable/dragable-item.mjs +25 -0
- package/es/dragable/dragable-operation.mjs +32 -0
- package/es/dragable/dragable.mjs +31 -0
- package/es/dragable/index.mjs +15 -0
- package/es/dragable/use-dragable.mjs +134 -0
- package/es/filter-panel/conditions/condition.mjs +30 -0
- package/es/filter-panel/conditions/date-range-condition.mjs +46 -0
- package/es/filter-panel/conditions/department-condition/department-condition.mjs +81 -0
- package/es/filter-panel/conditions/department-condition/department-node.mjs +74 -0
- package/es/filter-panel/conditions/index.mjs +21 -0
- package/es/filter-panel/conditions/input-condition.mjs +83 -0
- package/es/filter-panel/conditions/multi-user-condition.mjs +64 -0
- package/es/filter-panel/conditions/multiple-menu-condition.mjs +41 -0
- package/es/filter-panel/conditions/single-menu-condition.mjs +68 -0
- package/es/filter-panel/conditions/single-user-condition.mjs +64 -0
- package/es/filter-panel/filter-panel-item.mjs +47 -0
- package/es/filter-panel/filter-panel.mjs +180 -0
- package/es/filter-panel/index.mjs +15 -0
- package/es/filter-panel/use-filter-panel-item.mjs +52 -0
- package/es/filter-panel/use-filter-panel.mjs +135 -0
- package/es/hooks/use-data/index.mjs +152 -0
- package/es/index.mjs +27 -0
- package/es/layout/index.mjs +6 -0
- package/es/layout/layout.mjs +86 -0
- package/es/make-installer.mjs +34 -0
- package/es/math/Rectangle.mjs +25 -0
- package/es/menu/index.mjs +6 -0
- package/es/menu/menu-item.mjs +75 -0
- package/es/menu/menu.mjs +60 -0
- package/es/node_modules/.pnpm/@vueuse_core@9.6.0_vue@3.2.41/node_modules/@vueuse/core/index.mjs +6372 -0
- package/es/node_modules/.pnpm/@vueuse_shared@9.6.0_vue@3.2.41/node_modules/@vueuse/shared/index.mjs +1517 -0
- package/es/panel/index.mjs +6 -0
- package/es/panel/panel.mjs +55 -0
- package/es/panel-tabs/index.mjs +6 -0
- package/es/panel-tabs/panel-tabs.mjs +66 -0
- package/es/pct-filter-panel/index.mjs +10 -0
- package/es/pct-filter-panel/pct-compents/index.mjs +10 -0
- package/es/pct-filter-panel/pct-compents/pct-Input-condition.mjs +71 -0
- package/es/pct-filter-panel/pct-compents/pct-date-range-condition.mjs +74 -0
- package/es/pct-filter-panel/pct-compents/pct-multiple-menu-condition.mjs +186 -0
- package/es/pct-filter-panel/pct-compents/pct-multiple-menu-condition2.mjs +147 -0
- package/es/pct-filter-panel/pct-filter-panel-item.mjs +48 -0
- package/es/pct-filter-panel/pct-filter-panel.mjs +251 -0
- package/es/pct-filter-panel/use-filter-panel-item.mjs +56 -0
- package/es/pct-filter-panel/use-filter-panel.mjs +127 -0
- package/es/plugins.mjs +5 -0
- package/es/progress/index.mjs +10 -0
- package/es/progress/progress-item.mjs +68 -0
- package/es/progress/progress.mjs +74 -0
- package/es/progress/use-progress.mjs +46 -0
- package/es/utils/db.mjs +9 -0
- package/es/utils.mjs +99 -0
- package/es/where-filter-panel/index.mjs +1 -0
- package/es/where-filter-panel/use-where-filter-panel.mjs +18 -0
- package/es/where-filter-panel/where-filter-panel.mjs +17 -0
- package/lib/_virtual/_plugin-vue_export-helper.js +13 -0
- package/lib/advance-select/advance-operation.js +47 -0
- package/lib/advance-select/advance-option.js +129 -0
- package/lib/advance-select/advance-select.js +363 -0
- package/lib/advance-select/events-helpers.js +33 -0
- package/lib/advance-select/index.js +20 -0
- package/lib/advance-select/use-advance-option.js +47 -0
- package/lib/advance-select/use-advance-select.js +122 -0
- package/lib/application-slot/application-slot.js +55 -0
- package/lib/application-slot/breadcrumb-item.js +27 -0
- package/lib/application-slot/header-tools-item.js +27 -0
- package/lib/application-slot/index.js +23 -0
- package/lib/breadcrumb-select/breadcrumb-select.js +159 -0
- package/lib/breadcrumb-select/index.js +11 -0
- package/lib/components.js +26 -0
- package/lib/contextmenu/contextmenu-item.js +25 -0
- package/lib/contextmenu/contextmenu.js +68 -0
- package/lib/contextmenu/index.js +16 -0
- package/lib/contextmenu/use-contextmenu.js +89 -0
- package/lib/data-form/data-form-item.js +57 -0
- package/lib/data-form/data-form.js +179 -0
- package/lib/data-form/dynamic-component.js +27 -0
- package/lib/data-form/form-components/Blots/AtBlot.js +31 -0
- package/lib/data-form/form-components/bwa-date-picker.js +49 -0
- package/lib/data-form/form-components/bwa-date-time-picker.js +54 -0
- package/lib/data-form/form-components/bwa-input-float.js +47 -0
- package/lib/data-form/form-components/bwa-input-integer.js +60 -0
- package/lib/data-form/form-components/bwa-input.js +42 -0
- package/lib/data-form/form-components/bwa-multi-select.js +39 -0
- package/lib/data-form/form-components/bwa-rich-text-tinymce.js +242 -0
- package/lib/data-form/form-components/bwa-rich-text.js +333 -0
- package/lib/data-form/form-components/bwa-select.js +80 -0
- package/lib/data-form/form-components/bwa-textarea.js +37 -0
- package/lib/data-form/form-components/bwa-upload.js +163 -0
- package/lib/data-form/form-components/bwa-user-multi-select.js +34 -0
- package/lib/data-form/form-components/bwa-user-select.js +73 -0
- package/lib/data-form/index.js +40 -0
- package/lib/data-table/data-column-view.js +135 -0
- package/lib/data-table/data-table-card.js +122 -0
- package/lib/data-table/data-table-column.js +60 -0
- package/lib/data-table/data-table.js +373 -0
- package/lib/data-table/dynamic-component.js +56 -0
- package/lib/data-table/index.js +20 -0
- package/lib/data-table/use-datatable-drag.js +114 -0
- package/lib/datatable-settings/datatable-settings.js +313 -0
- package/lib/datatable-settings/index.js +11 -0
- package/lib/date-range/date-picker.js +136 -0
- package/lib/date-range/date-range.js +189 -0
- package/lib/date-range/index.js +11 -0
- package/lib/drag-list/constants.js +7 -0
- package/lib/drag-list/drag-item.js +53 -0
- package/lib/drag-list/drag-list.js +60 -0
- package/lib/drag-list/index.js +11 -0
- package/lib/drag-list/use-drag-list.js +158 -0
- package/lib/dragable/constants.js +9 -0
- package/lib/dragable/dragable-item.js +29 -0
- package/lib/dragable/dragable-operation.js +36 -0
- package/lib/dragable/dragable.js +35 -0
- package/lib/dragable/index.js +22 -0
- package/lib/dragable/use-dragable.js +138 -0
- package/lib/filter-panel/conditions/condition.js +34 -0
- package/lib/filter-panel/conditions/date-range-condition.js +50 -0
- package/lib/filter-panel/conditions/department-condition/department-condition.js +85 -0
- package/lib/filter-panel/conditions/department-condition/department-node.js +78 -0
- package/lib/filter-panel/conditions/index.js +26 -0
- package/lib/filter-panel/conditions/input-condition.js +87 -0
- package/lib/filter-panel/conditions/multi-user-condition.js +68 -0
- package/lib/filter-panel/conditions/multiple-menu-condition.js +45 -0
- package/lib/filter-panel/conditions/single-menu-condition.js +72 -0
- package/lib/filter-panel/conditions/single-user-condition.js +68 -0
- package/lib/filter-panel/filter-panel-item.js +51 -0
- package/lib/filter-panel/filter-panel.js +184 -0
- package/lib/filter-panel/index.js +20 -0
- package/lib/filter-panel/use-filter-panel-item.js +56 -0
- package/lib/filter-panel/use-filter-panel.js +139 -0
- package/lib/hooks/use-data/index.js +157 -0
- package/lib/index.js +60 -0
- package/lib/layout/index.js +11 -0
- package/lib/layout/layout.js +90 -0
- package/lib/make-installer.js +62 -0
- package/lib/math/Rectangle.js +29 -0
- package/lib/menu/index.js +11 -0
- package/lib/menu/menu-item.js +79 -0
- package/lib/menu/menu.js +64 -0
- package/lib/node_modules/.pnpm/@vueuse_core@9.6.0_vue@3.2.41/node_modules/@vueuse/core/index.js +6635 -0
- package/lib/node_modules/.pnpm/@vueuse_shared@9.6.0_vue@3.2.41/node_modules/@vueuse/shared/index.js +1628 -0
- package/lib/panel/index.js +11 -0
- package/lib/panel/panel.js +59 -0
- package/lib/panel-tabs/index.js +11 -0
- package/lib/panel-tabs/panel-tabs.js +70 -0
- package/lib/pct-filter-panel/index.js +14 -0
- package/lib/pct-filter-panel/pct-compents/index.js +16 -0
- package/lib/pct-filter-panel/pct-compents/pct-Input-condition.js +75 -0
- package/lib/pct-filter-panel/pct-compents/pct-date-range-condition.js +78 -0
- package/lib/pct-filter-panel/pct-compents/pct-multiple-menu-condition.js +190 -0
- package/lib/pct-filter-panel/pct-compents/pct-multiple-menu-condition2.js +151 -0
- package/lib/pct-filter-panel/pct-filter-panel-item.js +52 -0
- package/lib/pct-filter-panel/pct-filter-panel.js +255 -0
- package/lib/pct-filter-panel/use-filter-panel-item.js +60 -0
- package/lib/pct-filter-panel/use-filter-panel.js +131 -0
- package/lib/plugins.js +9 -0
- package/lib/progress/index.js +16 -0
- package/lib/progress/progress-item.js +72 -0
- package/lib/progress/progress.js +78 -0
- package/lib/progress/use-progress.js +51 -0
- package/lib/utils/db.js +17 -0
- package/lib/utils.js +110 -0
- package/lib/where-filter-panel/index.js +2 -0
- package/lib/where-filter-panel/use-where-filter-panel.js +22 -0
- package/lib/where-filter-panel/where-filter-panel.js +21 -0
- package/package.json +1 -1
- package/style/advance-select.css +1 -0
- package/style/breadcrumb-select.css +1 -0
- package/style/common.css +1 -0
- package/style/contextmenu.css +1 -0
- package/style/data-form.css +1 -0
- package/style/data-table.css +1 -0
- package/style/datatable-settings.css +1 -0
- package/style/date-range.css +1 -0
- package/style/department-condition.css +1 -0
- package/style/drag-list.css +1 -0
- package/style/dragable.css +1 -0
- package/style/filter-panel.css +1 -0
- package/style/index.css +1 -0
- package/style/input-condition.css +1 -0
- package/style/layout.css +1 -0
- package/style/menu.css +1 -0
- package/style/panel-tabs.css +1 -0
- package/style/panel.css +1 -0
- package/style/pct-filter-panel.css +1 -0
- package/style/progress.css +1 -0
- package/style/rich-text.css +1 -0
- package/style/{common → src/common}/var.scss +16 -16
- package/style/var.css +1 -0
- /package/style/{advance-select.scss → src/advance-select.scss} +0 -0
- /package/style/{breadcrumb-select.scss → src/breadcrumb-select.scss} +0 -0
- /package/style/{common.scss → src/common.scss} +0 -0
- /package/style/{contextmenu.scss → src/contextmenu.scss} +0 -0
- /package/style/{data-form.scss → src/data-form.scss} +0 -0
- /package/style/{data-table.scss → src/data-table.scss} +0 -0
- /package/style/{datatable-settings.scss → src/datatable-settings.scss} +0 -0
- /package/style/{date-range.scss → src/date-range.scss} +0 -0
- /package/style/{department-condition.scss → src/department-condition.scss} +0 -0
- /package/style/{drag-list.scss → src/drag-list.scss} +0 -0
- /package/style/{dragable.scss → src/dragable.scss} +0 -0
- /package/style/{filter-panel.scss → src/filter-panel.scss} +0 -0
- /package/style/{index.scss → src/index.scss} +0 -0
- /package/style/{input-condition.scss → src/input-condition.scss} +0 -0
- /package/style/{layout.scss → src/layout.scss} +0 -0
- /package/style/{menu.scss → src/menu.scss} +0 -0
- /package/style/{mixins → src/mixins}/_var.scss +0 -0
- /package/style/{mixins → src/mixins}/config.scss +0 -0
- /package/style/{mixins → src/mixins}/function.scss +0 -0
- /package/style/{mixins → src/mixins}/mixins.scss +0 -0
- /package/style/{panel-tabs.scss → src/panel-tabs.scss} +0 -0
- /package/style/{panel.scss → src/panel.scss} +0 -0
- /package/style/{pct-filter-panel.scss → src/pct-filter-panel.scss} +0 -0
- /package/style/{progress.scss → src/progress.scss} +0 -0
- /package/style/{rich-text.scss → src/rich-text.scss} +0 -0
- /package/style/{theme → src/theme}/theme.scss +0 -0
- /package/style/{theme → src/theme}/var.scss +0 -0
- /package/style/{var.scss → src/var.scss} +0 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { defineComponent, watch, computed, useAttrs, unref, resolveComponent, openBlock, createBlock, mergeProps, withCtx, createVNode, createTextVNode, createElementVNode, normalizeClass, toDisplayString } from 'vue';
|
|
2
|
+
import { Download, Delete } from '@element-plus/icons';
|
|
3
|
+
import { ElMessage, ElUpload, ElButton, ElIcon } from 'element-plus';
|
|
4
|
+
import { useNamespace, useService } from 'web-base-client-vue';
|
|
5
|
+
import _export_sfc from '../../_virtual/_plugin-vue_export-helper.mjs';
|
|
6
|
+
|
|
7
|
+
const __default__ = defineComponent({
|
|
8
|
+
name: "BwaUpload"
|
|
9
|
+
});
|
|
10
|
+
const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
11
|
+
props: {
|
|
12
|
+
modelValue: { type: Array, default: () => [] }
|
|
13
|
+
},
|
|
14
|
+
emits: ["update:modelValue"],
|
|
15
|
+
setup(__props, { emit }) {
|
|
16
|
+
const props = __props;
|
|
17
|
+
watch(
|
|
18
|
+
computed(() => props.modelValue),
|
|
19
|
+
(modelValue) => {
|
|
20
|
+
if (!Array.isArray(modelValue)) {
|
|
21
|
+
emit("update:modelValue", []);
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{ immediate: true }
|
|
25
|
+
);
|
|
26
|
+
const fileList = computed(
|
|
27
|
+
() => (Array.isArray(props.modelValue) ? props.modelValue : []).map((fileInfo) => {
|
|
28
|
+
return {
|
|
29
|
+
name: fileInfo.fileName,
|
|
30
|
+
response: fileInfo
|
|
31
|
+
};
|
|
32
|
+
})
|
|
33
|
+
);
|
|
34
|
+
const attrs = useAttrs();
|
|
35
|
+
const ns = useNamespace("upload");
|
|
36
|
+
const fileService = useService("FileService");
|
|
37
|
+
const handleHttpRequest = ({ file, onProgress, onSuccess, onError }) => {
|
|
38
|
+
if (!unref(fileService)) {
|
|
39
|
+
ElMessage.error("\u65E0\u6CD5\u4E0A\u4F20\u6587\u4EF6\u3002");
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
unref(fileService).uploadFile(file, {
|
|
43
|
+
onUploadProgress: (event) => {
|
|
44
|
+
onProgress({ ...event, percent: event.progress });
|
|
45
|
+
}
|
|
46
|
+
}).then((res) => {
|
|
47
|
+
if (res.code != 0) {
|
|
48
|
+
onError(res.msg);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
onSuccess(res.data);
|
|
52
|
+
}, onError);
|
|
53
|
+
};
|
|
54
|
+
const handleSuccess = (fileInfo) => {
|
|
55
|
+
const value = Array.isArray(props.modelValue) ? props.modelValue : [];
|
|
56
|
+
emit("update:modelValue", value.concat(fileInfo));
|
|
57
|
+
};
|
|
58
|
+
const handleError = (error) => {
|
|
59
|
+
console.error(error);
|
|
60
|
+
ElMessage.error("\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\u3002");
|
|
61
|
+
};
|
|
62
|
+
const handleDelete = (file) => {
|
|
63
|
+
emit(
|
|
64
|
+
"update:modelValue",
|
|
65
|
+
props.modelValue.filter((fileInfo) => fileInfo !== file.response)
|
|
66
|
+
);
|
|
67
|
+
};
|
|
68
|
+
const handleDownload = async (file) => {
|
|
69
|
+
if (!unref(fileService)) {
|
|
70
|
+
ElMessage.error("\u65E0\u6CD5\u4E0B\u8F7D\u6587\u4EF6\u3002");
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
const downloadFileResult = await unref(fileService).downloadFile(
|
|
75
|
+
file.response
|
|
76
|
+
);
|
|
77
|
+
if (downloadFileResult.code != 0) {
|
|
78
|
+
ElMessage.error(downloadFileResult.msg);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
} catch (e) {
|
|
82
|
+
console.error(e);
|
|
83
|
+
ElMessage.error("\u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25\u3002");
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
return (_ctx, _cache) => {
|
|
87
|
+
const _component_Plus = resolveComponent("Plus");
|
|
88
|
+
const _component_ElTooltip = resolveComponent("ElTooltip");
|
|
89
|
+
return openBlock(), createBlock(unref(ElUpload), mergeProps(unref(attrs), {
|
|
90
|
+
"file-list": unref(fileList),
|
|
91
|
+
"http-request": handleHttpRequest,
|
|
92
|
+
class: unref(ns).b(),
|
|
93
|
+
"on-success": handleSuccess,
|
|
94
|
+
"on-error": handleError
|
|
95
|
+
}), {
|
|
96
|
+
trigger: withCtx(() => [
|
|
97
|
+
createVNode(unref(ElButton), null, {
|
|
98
|
+
default: withCtx(() => [
|
|
99
|
+
createVNode(unref(ElIcon), null, {
|
|
100
|
+
default: withCtx(() => [
|
|
101
|
+
createVNode(_component_Plus)
|
|
102
|
+
]),
|
|
103
|
+
_: 1
|
|
104
|
+
}),
|
|
105
|
+
createTextVNode(" \u4E0A\u4F20\u6587\u4EF6 ")
|
|
106
|
+
]),
|
|
107
|
+
_: 1
|
|
108
|
+
})
|
|
109
|
+
]),
|
|
110
|
+
file: withCtx(({ file }) => [
|
|
111
|
+
createElementVNode("div", {
|
|
112
|
+
class: normalizeClass(unref(ns).b("item"))
|
|
113
|
+
}, [
|
|
114
|
+
createElementVNode("div", {
|
|
115
|
+
class: normalizeClass(unref(ns).be("item", "info"))
|
|
116
|
+
}, [
|
|
117
|
+
createVNode(_component_ElTooltip, {
|
|
118
|
+
content: file.name
|
|
119
|
+
}, {
|
|
120
|
+
default: withCtx(() => [
|
|
121
|
+
createElementVNode("div", {
|
|
122
|
+
class: normalizeClass(unref(ns).be("item", "file-name"))
|
|
123
|
+
}, toDisplayString(file.name), 3)
|
|
124
|
+
]),
|
|
125
|
+
_: 2
|
|
126
|
+
}, 1032, ["content"])
|
|
127
|
+
], 2),
|
|
128
|
+
createElementVNode("div", {
|
|
129
|
+
class: normalizeClass(unref(ns).be("item", "tools"))
|
|
130
|
+
}, [
|
|
131
|
+
createVNode(unref(ElIcon), {
|
|
132
|
+
class: normalizeClass(unref(ns).be("item", "tools-item")),
|
|
133
|
+
onClick: ($event) => handleDownload(file)
|
|
134
|
+
}, {
|
|
135
|
+
default: withCtx(() => [
|
|
136
|
+
createVNode(unref(Download))
|
|
137
|
+
]),
|
|
138
|
+
_: 2
|
|
139
|
+
}, 1032, ["class", "onClick"]),
|
|
140
|
+
createVNode(unref(ElIcon), {
|
|
141
|
+
class: normalizeClass(unref(ns).be("item", "tools-item")),
|
|
142
|
+
onClick: ($event) => handleDelete(file)
|
|
143
|
+
}, {
|
|
144
|
+
default: withCtx(() => [
|
|
145
|
+
createVNode(unref(Delete))
|
|
146
|
+
]),
|
|
147
|
+
_: 2
|
|
148
|
+
}, 1032, ["class", "onClick"])
|
|
149
|
+
], 2)
|
|
150
|
+
], 2)
|
|
151
|
+
]),
|
|
152
|
+
_: 1
|
|
153
|
+
}, 16, ["file-list", "class"]);
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
var Upload = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "bwa-upload.vue"]]);
|
|
158
|
+
|
|
159
|
+
export { Upload as default };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineComponent, computed, useAttrs, openBlock, createBlock, mergeProps, unref, isRef } from 'vue';
|
|
2
|
+
import UserSelect from './bwa-user-select.mjs';
|
|
3
|
+
import _export_sfc from '../../_virtual/_plugin-vue_export-helper.mjs';
|
|
4
|
+
|
|
5
|
+
const __default__ = defineComponent({
|
|
6
|
+
name: "BwaUserMultiSelect"
|
|
7
|
+
});
|
|
8
|
+
const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
9
|
+
props: {
|
|
10
|
+
modelValue: null
|
|
11
|
+
},
|
|
12
|
+
emits: ["update:model-value"],
|
|
13
|
+
setup(__props, { emit }) {
|
|
14
|
+
const props = __props;
|
|
15
|
+
const modelValue = computed({
|
|
16
|
+
get: () => props.modelValue,
|
|
17
|
+
set: (v) => emit("update:model-value", v)
|
|
18
|
+
});
|
|
19
|
+
const attrs = useAttrs();
|
|
20
|
+
return (_ctx, _cache) => {
|
|
21
|
+
return openBlock(), createBlock(UserSelect, mergeProps({
|
|
22
|
+
modelValue: unref(modelValue),
|
|
23
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue) ? modelValue.value = $event : null)
|
|
24
|
+
}, unref(attrs), { multiple: "" }), null, 16, ["modelValue"]);
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
var UserMultiSelect = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "bwa-user-multi-select.vue"]]);
|
|
29
|
+
|
|
30
|
+
export { UserMultiSelect as default };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { defineComponent, useAttrs, ref, computed, unref, openBlock, createBlock, mergeProps, isRef } from 'vue';
|
|
2
|
+
import { useService } from 'web-base-client-vue';
|
|
3
|
+
import Select from './bwa-select.mjs';
|
|
4
|
+
import { ElMessage } from 'element-plus';
|
|
5
|
+
import _export_sfc from '../../_virtual/_plugin-vue_export-helper.mjs';
|
|
6
|
+
|
|
7
|
+
const __default__ = defineComponent({
|
|
8
|
+
name: "BwaUserSelect",
|
|
9
|
+
inheritAttrs: false
|
|
10
|
+
});
|
|
11
|
+
const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
12
|
+
props: {
|
|
13
|
+
modelValue: null
|
|
14
|
+
},
|
|
15
|
+
emits: ["update:modelValue"],
|
|
16
|
+
setup(__props, { emit }) {
|
|
17
|
+
const props = __props;
|
|
18
|
+
const attrs = useAttrs();
|
|
19
|
+
const userService = useService("UserService");
|
|
20
|
+
const loading = ref(false);
|
|
21
|
+
const modelValue = computed({
|
|
22
|
+
get: () => props.modelValue,
|
|
23
|
+
set: (v) => {
|
|
24
|
+
emit("update:modelValue", v);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
const options = ref([]);
|
|
28
|
+
const loadOptions = async (query, userIds = []) => {
|
|
29
|
+
const _userService = unref(userService);
|
|
30
|
+
if (!_userService) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
loading.value = true;
|
|
35
|
+
const userListResult = await _userService.getUserList({
|
|
36
|
+
name: query,
|
|
37
|
+
userIds
|
|
38
|
+
});
|
|
39
|
+
if (userListResult.code != 0) {
|
|
40
|
+
ElMessage.error(userListResult.msg);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
options.value = userListResult.data;
|
|
44
|
+
} finally {
|
|
45
|
+
loading.value = false;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const handleRemote = loadOptions;
|
|
49
|
+
loadOptions(
|
|
50
|
+
"",
|
|
51
|
+
Array.isArray(unref(modelValue)) ? unref(modelValue) : unref(modelValue) ? [unref(modelValue)] : []
|
|
52
|
+
);
|
|
53
|
+
return (_ctx, _cache) => {
|
|
54
|
+
return openBlock(), createBlock(Select, mergeProps(unref(attrs), {
|
|
55
|
+
modelValue: unref(modelValue),
|
|
56
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue) ? modelValue.value = $event : null),
|
|
57
|
+
loading: loading.value,
|
|
58
|
+
remote: "",
|
|
59
|
+
filterable: "",
|
|
60
|
+
clearable: "",
|
|
61
|
+
"remote-method": unref(handleRemote),
|
|
62
|
+
options: options.value
|
|
63
|
+
}), null, 16, ["modelValue", "loading", "remote-method", "options"]);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
var UserSelect = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "bwa-user-select.vue"]]);
|
|
68
|
+
|
|
69
|
+
export { UserSelect as default };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { withInstall } from 'element-plus/es/utils/vue/install';
|
|
2
|
+
import DataForm from './data-form.mjs';
|
|
3
|
+
import DataFormItem from './data-form-item.mjs';
|
|
4
|
+
import DatePicker from './form-components/bwa-date-picker.mjs';
|
|
5
|
+
import DateTimePicker from './form-components/bwa-date-time-picker.mjs';
|
|
6
|
+
import InputInteger from './form-components/bwa-input-integer.mjs';
|
|
7
|
+
import InputFloat from './form-components/bwa-input-float.mjs';
|
|
8
|
+
import Input from './form-components/bwa-input.mjs';
|
|
9
|
+
import Select from './form-components/bwa-select.mjs';
|
|
10
|
+
import MultiSelect from './form-components/bwa-multi-select.mjs';
|
|
11
|
+
import Textarea from './form-components/bwa-textarea.mjs';
|
|
12
|
+
import UserSelect from './form-components/bwa-user-select.mjs';
|
|
13
|
+
import UserMultiSelect from './form-components/bwa-user-multi-select.mjs';
|
|
14
|
+
import Upload from './form-components/bwa-upload.mjs';
|
|
15
|
+
import RichText from './form-components/bwa-rich-text.mjs';
|
|
16
|
+
|
|
17
|
+
const BwaDataForm = withInstall(DataForm, {
|
|
18
|
+
DataFormItem,
|
|
19
|
+
DatePicker,
|
|
20
|
+
DateTimePicker,
|
|
21
|
+
InputInteger,
|
|
22
|
+
InputFloat,
|
|
23
|
+
Input,
|
|
24
|
+
Select,
|
|
25
|
+
MultiSelect,
|
|
26
|
+
Textarea,
|
|
27
|
+
UserSelect,
|
|
28
|
+
UserMultiSelect,
|
|
29
|
+
Upload,
|
|
30
|
+
RichText
|
|
31
|
+
});
|
|
32
|
+
const BwaDataFormItem = withInstall(DataFormItem);
|
|
33
|
+
|
|
34
|
+
export { BwaDataForm, BwaDataFormItem, BwaDataForm as default };
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { computed, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, withCtx, createVNode, Fragment, createTextVNode, toDisplayString, createCommentVNode } from 'vue';
|
|
2
|
+
import { useNamespace, str, func } from 'web-base-client-vue';
|
|
3
|
+
import { PictureFilled } from '@element-plus/icons';
|
|
4
|
+
import { ElMessage } from 'element-plus';
|
|
5
|
+
import _export_sfc from '../_virtual/_plugin-vue_export-helper.mjs';
|
|
6
|
+
|
|
7
|
+
const _sfc_main = {
|
|
8
|
+
name: "BwaDataColumnView",
|
|
9
|
+
props: {
|
|
10
|
+
value: [String, Boolean, Number, Object, Array],
|
|
11
|
+
type: {
|
|
12
|
+
type: String,
|
|
13
|
+
default: "string"
|
|
14
|
+
},
|
|
15
|
+
template: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: ""
|
|
18
|
+
},
|
|
19
|
+
rule: {
|
|
20
|
+
type: String,
|
|
21
|
+
default: ""
|
|
22
|
+
},
|
|
23
|
+
align: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: ""
|
|
26
|
+
},
|
|
27
|
+
nowrap: {
|
|
28
|
+
type: [Boolean, String],
|
|
29
|
+
default: true
|
|
30
|
+
},
|
|
31
|
+
copy: {
|
|
32
|
+
type: [Boolean, String],
|
|
33
|
+
default: false
|
|
34
|
+
},
|
|
35
|
+
defaultValue: {
|
|
36
|
+
type: String,
|
|
37
|
+
default: "-"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
emits: ["update:modelValue"],
|
|
41
|
+
components: { PictureFilled },
|
|
42
|
+
setup(props) {
|
|
43
|
+
const ns = useNamespace("column-view");
|
|
44
|
+
const viewType = computed(() => props.type.toLocaleLowerCase());
|
|
45
|
+
const viewValue = computed(() => {
|
|
46
|
+
let value = props.value === 0 ? "0" : props.value ? props.value + "" : "";
|
|
47
|
+
let type = viewType.value;
|
|
48
|
+
if (["number", "string"].includes(type)) {
|
|
49
|
+
let isAppendChar = false;
|
|
50
|
+
if (type === "string" && props.rule && value) {
|
|
51
|
+
isAppendChar = value.length > props.rule.replace("s:", "") * 1;
|
|
52
|
+
}
|
|
53
|
+
value = props.rule ? str.formatByRule(value, props.rule) : value;
|
|
54
|
+
value = value || props.defaultValue;
|
|
55
|
+
if (isAppendChar) {
|
|
56
|
+
value += "...";
|
|
57
|
+
}
|
|
58
|
+
} else if (type === "date") {
|
|
59
|
+
value = value ? func.formatDate(new Date(value), props.rule || "yyyy-MM-dd") : props.defaultValue;
|
|
60
|
+
} else if (type === "html") {
|
|
61
|
+
value = value ? value.replace(/[\r\n|\r|\n]/g, "<br/>") : props.defaultValue;
|
|
62
|
+
}
|
|
63
|
+
if (props.template) {
|
|
64
|
+
value = props.template.replace("${value}", value);
|
|
65
|
+
}
|
|
66
|
+
return value;
|
|
67
|
+
});
|
|
68
|
+
const copyHandle = (text) => {
|
|
69
|
+
let input = document.createElement("input");
|
|
70
|
+
input.value = text;
|
|
71
|
+
document.body.appendChild(input);
|
|
72
|
+
input.select();
|
|
73
|
+
input.setSelectionRange(0, input.value.length), document.execCommand("Copy");
|
|
74
|
+
document.body.removeChild(input);
|
|
75
|
+
ElMessage.info("\u590D\u5236\u6210\u529F!");
|
|
76
|
+
};
|
|
77
|
+
return { ns, viewType, viewValue, copyHandle };
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
const _hoisted_1 = ["innerHTML"];
|
|
81
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
82
|
+
const _component_PictureFilled = resolveComponent("PictureFilled");
|
|
83
|
+
const _component_el_icon = resolveComponent("el-icon");
|
|
84
|
+
const _component_el_image = resolveComponent("el-image");
|
|
85
|
+
return openBlock(), createElementBlock("span", {
|
|
86
|
+
class: normalizeClass([$setup.ns.b(), { nowrap: $props.nowrap }, $props.align])
|
|
87
|
+
}, [
|
|
88
|
+
$setup.viewType == "html" ? (openBlock(), createElementBlock("span", {
|
|
89
|
+
key: 0,
|
|
90
|
+
innerHTML: $setup.viewValue
|
|
91
|
+
}, null, 8, _hoisted_1)) : $setup.viewType == "image" ? (openBlock(), createBlock(_component_el_image, {
|
|
92
|
+
key: 1,
|
|
93
|
+
class: "image",
|
|
94
|
+
style: { width: "100%", minHeight: "50px" },
|
|
95
|
+
"z-index": 999,
|
|
96
|
+
"preview-teleported": true,
|
|
97
|
+
"preview-src-list": [$setup.viewValue],
|
|
98
|
+
fit: "cover",
|
|
99
|
+
src: $setup.viewValue,
|
|
100
|
+
"hide-on-click-modal": true
|
|
101
|
+
}, {
|
|
102
|
+
placeholder: withCtx(() => [
|
|
103
|
+
createVNode(_component_el_icon, { size: 50 }, {
|
|
104
|
+
default: withCtx(() => [
|
|
105
|
+
createVNode(_component_PictureFilled)
|
|
106
|
+
]),
|
|
107
|
+
_: 1
|
|
108
|
+
})
|
|
109
|
+
]),
|
|
110
|
+
error: withCtx(() => [
|
|
111
|
+
createVNode(_component_el_icon, { size: 50 }, {
|
|
112
|
+
default: withCtx(() => [
|
|
113
|
+
createVNode(_component_PictureFilled)
|
|
114
|
+
]),
|
|
115
|
+
_: 1
|
|
116
|
+
})
|
|
117
|
+
]),
|
|
118
|
+
_: 1
|
|
119
|
+
}, 8, ["preview-src-list", "src"])) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
|
|
120
|
+
createTextVNode(toDisplayString($setup.viewValue), 1)
|
|
121
|
+
], 64)),
|
|
122
|
+
$props.copy ? (openBlock(), createElementBlock("div", {
|
|
123
|
+
key: 3,
|
|
124
|
+
class: "copy-btn",
|
|
125
|
+
onClick: _cache[0] || (_cache[0] = ($event) => $setup.copyHandle($setup.viewValue))
|
|
126
|
+
}, "\u590D\u5236")) : createCommentVNode("v-if", true)
|
|
127
|
+
], 2);
|
|
128
|
+
}
|
|
129
|
+
var DataColumnView = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "data-column-view.vue"]]);
|
|
130
|
+
|
|
131
|
+
export { DataColumnView as default };
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { inject, resolveComponent, resolveDirective, withDirectives, openBlock, createBlock, normalizeClass, createSlots, withCtx, createVNode, renderSlot, createElementBlock, Fragment, renderList, createElementVNode, createTextVNode, toDisplayString } from 'vue';
|
|
2
|
+
import { dataTableKey, useNamespace } from 'web-base-client-vue';
|
|
3
|
+
import DynamicComponent from './dynamic-component.mjs';
|
|
4
|
+
import _export_sfc from '../_virtual/_plugin-vue_export-helper.mjs';
|
|
5
|
+
|
|
6
|
+
const _sfc_main = {
|
|
7
|
+
name: "BwaDataTableCard",
|
|
8
|
+
components: { DynamicComponent },
|
|
9
|
+
setup() {
|
|
10
|
+
const dataTable = inject(dataTableKey);
|
|
11
|
+
const ns = useNamespace("datatable");
|
|
12
|
+
return { dataTable, ns };
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const _hoisted_1 = { class: "left" };
|
|
16
|
+
const _hoisted_2 = { class: "pagination-info" };
|
|
17
|
+
const _hoisted_3 = { class: "right" };
|
|
18
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
19
|
+
const _component_el_table_column = resolveComponent("el-table-column");
|
|
20
|
+
const _component_DynamicComponent = resolveComponent("DynamicComponent");
|
|
21
|
+
const _component_el_table = resolveComponent("el-table");
|
|
22
|
+
const _component_el_pagination = resolveComponent("el-pagination");
|
|
23
|
+
const _component_el_card = resolveComponent("el-card");
|
|
24
|
+
const _directive_loading = resolveDirective("loading");
|
|
25
|
+
return withDirectives((openBlock(), createBlock(_component_el_card, {
|
|
26
|
+
class: normalizeClass($setup.ns.b("card"))
|
|
27
|
+
}, createSlots({
|
|
28
|
+
default: withCtx(() => [
|
|
29
|
+
createVNode(_component_el_table, {
|
|
30
|
+
class: "content",
|
|
31
|
+
height: "100%",
|
|
32
|
+
ref: "elTable",
|
|
33
|
+
data: $setup.dataTable.data,
|
|
34
|
+
"row-key": $setup.dataTable.primaryKey,
|
|
35
|
+
"show-header": "",
|
|
36
|
+
stripe: ""
|
|
37
|
+
}, {
|
|
38
|
+
append: withCtx(() => [
|
|
39
|
+
renderSlot(_ctx.$slots, "table-append", { dataTable: $setup.dataTable })
|
|
40
|
+
]),
|
|
41
|
+
default: withCtx(() => [
|
|
42
|
+
createVNode(_component_el_table_column, {
|
|
43
|
+
type: "index",
|
|
44
|
+
width: "60",
|
|
45
|
+
align: "center",
|
|
46
|
+
label: "\u7F16\u53F7"
|
|
47
|
+
}),
|
|
48
|
+
renderSlot(_ctx.$slots, "table-columns", { dataTable: $setup.dataTable }, () => [
|
|
49
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($setup.dataTable.getDisplayColumns(), (item) => {
|
|
50
|
+
return openBlock(), createBlock(_component_el_table_column, {
|
|
51
|
+
"column-key": item.attrName,
|
|
52
|
+
key: item.attrName,
|
|
53
|
+
label: item.title,
|
|
54
|
+
prop: item.attrName,
|
|
55
|
+
"min-width": item.width,
|
|
56
|
+
align: item.align
|
|
57
|
+
}, {
|
|
58
|
+
default: withCtx(({ row, $index }) => [
|
|
59
|
+
renderSlot(_ctx.$slots, "table-col-" + item.attrName, {
|
|
60
|
+
row,
|
|
61
|
+
index: $index,
|
|
62
|
+
column: item,
|
|
63
|
+
dataTable: $setup.dataTable
|
|
64
|
+
}, () => [
|
|
65
|
+
createVNode(_component_DynamicComponent, {
|
|
66
|
+
column: item,
|
|
67
|
+
record: row
|
|
68
|
+
}, null, 8, ["column", "record"])
|
|
69
|
+
])
|
|
70
|
+
]),
|
|
71
|
+
_: 2
|
|
72
|
+
}, 1032, ["column-key", "label", "prop", "min-width", "align"]);
|
|
73
|
+
}), 128))
|
|
74
|
+
])
|
|
75
|
+
]),
|
|
76
|
+
_: 3
|
|
77
|
+
}, 8, ["data", "row-key"]),
|
|
78
|
+
createElementVNode("div", {
|
|
79
|
+
class: normalizeClass($setup.ns.be("card", "footer"))
|
|
80
|
+
}, [
|
|
81
|
+
createElementVNode("div", _hoisted_1, [
|
|
82
|
+
createElementVNode("div", _hoisted_2, [
|
|
83
|
+
createTextVNode(" \u5171"),
|
|
84
|
+
createElementVNode("b", null, toDisplayString($setup.dataTable.totalRecCount), 1),
|
|
85
|
+
createTextVNode("\u6761\u8BB0\u5F55 | \u5F53\u524D\u7B2C"),
|
|
86
|
+
createElementVNode("b", null, toDisplayString($setup.dataTable.pageNum), 1),
|
|
87
|
+
createTextVNode("\u9875 ")
|
|
88
|
+
])
|
|
89
|
+
]),
|
|
90
|
+
createElementVNode("div", _hoisted_3, [
|
|
91
|
+
createVNode(_component_el_pagination, {
|
|
92
|
+
"hide-on-single-page": true,
|
|
93
|
+
currentPage: $setup.dataTable.pageNum,
|
|
94
|
+
onCurrentChange: _cache[0] || (_cache[0] = ($event) => $setup.dataTable.pageTo($event)),
|
|
95
|
+
"page-size": $setup.dataTable.pageSize,
|
|
96
|
+
background: "",
|
|
97
|
+
layout: "prev, pager, next, jumper",
|
|
98
|
+
total: $setup.dataTable.totalRecCount
|
|
99
|
+
}, null, 8, ["currentPage", "page-size", "total"])
|
|
100
|
+
])
|
|
101
|
+
], 2)
|
|
102
|
+
]),
|
|
103
|
+
_: 2
|
|
104
|
+
}, [
|
|
105
|
+
_ctx.$slots.header ? {
|
|
106
|
+
name: "header",
|
|
107
|
+
fn: withCtx(() => [
|
|
108
|
+
renderSlot(_ctx.$slots, "header", { dataTable: $setup.dataTable })
|
|
109
|
+
]),
|
|
110
|
+
key: "0"
|
|
111
|
+
} : void 0
|
|
112
|
+
]), 1032, ["class"])), [
|
|
113
|
+
[_directive_loading, !$setup.dataTable.ready]
|
|
114
|
+
]);
|
|
115
|
+
}
|
|
116
|
+
var dataTableCard = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "data-table-card.vue"]]);
|
|
117
|
+
|
|
118
|
+
export { dataTableCard as default };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { defineComponent, useAttrs, inject, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString, createCommentVNode } from 'vue';
|
|
2
|
+
import { ElTableColumn } from 'element-plus';
|
|
3
|
+
import { dataTableKey } from 'web-base-client-vue';
|
|
4
|
+
import _export_sfc from '../_virtual/_plugin-vue_export-helper.mjs';
|
|
5
|
+
|
|
6
|
+
const __default__ = defineComponent({ name: "BwaDataTableColumn" });
|
|
7
|
+
const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
8
|
+
props: {
|
|
9
|
+
name: {
|
|
10
|
+
type: String
|
|
11
|
+
},
|
|
12
|
+
align: {
|
|
13
|
+
type: String,
|
|
14
|
+
default: "center"
|
|
15
|
+
},
|
|
16
|
+
showOverflowTooltip: {
|
|
17
|
+
type: Boolean,
|
|
18
|
+
default: true
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
setup(__props) {
|
|
22
|
+
var _a;
|
|
23
|
+
const props = __props;
|
|
24
|
+
const attrs = useAttrs();
|
|
25
|
+
const dataTable = inject(dataTableKey);
|
|
26
|
+
const column = (_a = dataTable.displayColumns.find((column2) => column2.attrName === props.name)) != null ? _a : null;
|
|
27
|
+
return (_ctx, _cache) => {
|
|
28
|
+
return openBlock(), createBlock(unref(ElTableColumn), mergeProps({
|
|
29
|
+
align: __props.align,
|
|
30
|
+
"show-overflow-tooltip": __props.showOverflowTooltip
|
|
31
|
+
}, unref(attrs)), {
|
|
32
|
+
header: withCtx(({ column: column2, $index }) => [
|
|
33
|
+
renderSlot(_ctx.$slots, "header", {
|
|
34
|
+
column: column2,
|
|
35
|
+
$index
|
|
36
|
+
}, () => [
|
|
37
|
+
createTextVNode(toDisplayString(column2.label), 1)
|
|
38
|
+
])
|
|
39
|
+
]),
|
|
40
|
+
default: withCtx(({ row, $index }) => [
|
|
41
|
+
$index !== -1 ? renderSlot(_ctx.$slots, "default", {
|
|
42
|
+
key: 0,
|
|
43
|
+
row,
|
|
44
|
+
index: $index,
|
|
45
|
+
column: unref(column),
|
|
46
|
+
dataTable: unref(dataTable)
|
|
47
|
+
}) : createCommentVNode("v-if", true)
|
|
48
|
+
]),
|
|
49
|
+
_: 3
|
|
50
|
+
}, 16, ["align", "show-overflow-tooltip"]);
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
var DataTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "data-table-column.vue"]]);
|
|
55
|
+
|
|
56
|
+
export { DataTableColumn as default };
|