vome-core 0.3.65 → 0.3.67
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/dist/admin/api/client.js +7 -2
- package/dist/admin/components/ui/avatar/Avatar.vue +18 -18
- package/dist/admin/components/ui/avatar/AvatarFallback.vue +21 -21
- package/dist/admin/components/ui/avatar/AvatarImage.vue +16 -16
- package/dist/admin/components/ui/avatar/index.js +1 -1
- package/dist/admin/components/ui/badge/Badge.vue +26 -26
- package/dist/admin/components/ui/button/Button.vue +31 -31
- package/dist/admin/components/ui/checkbox/Checkbox.vue +35 -35
- package/dist/admin/components/ui/checkbox/index.js +1 -1
- package/dist/admin/components/ui/dialog/Dialog.vue +19 -19
- package/dist/admin/components/ui/dialog/DialogClose.vue +15 -15
- package/dist/admin/components/ui/dialog/DialogContent.vue +267 -267
- package/dist/admin/components/ui/dialog/DialogDescription.vue +23 -23
- package/dist/admin/components/ui/dialog/DialogFooter.vue +27 -27
- package/dist/admin/components/ui/dialog/DialogHeader.vue +17 -17
- package/dist/admin/components/ui/dialog/DialogOverlay.vue +21 -21
- package/dist/admin/components/ui/dialog/DialogScrollContent.vue +60 -60
- package/dist/admin/components/ui/dialog/DialogTitle.vue +23 -23
- package/dist/admin/components/ui/dialog/DialogTrigger.vue +15 -15
- package/dist/admin/components/ui/dialog/index.js +1 -1
- package/dist/admin/components/ui/dropdown-menu/DropdownMenu.vue +19 -19
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -39
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuContent.vue +39 -39
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuGroup.vue +15 -15
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuItem.vue +31 -31
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuLabel.vue +23 -23
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -21
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -40
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -23
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -17
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSub.vue +18 -18
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -27
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -31
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -17
- package/dist/admin/components/ui/dropdown-menu/index.js +1 -1
- package/dist/admin/components/ui/input/Input.vue +183 -183
- package/dist/admin/components/ui/input/index.js +1 -1
- package/dist/admin/components/ui/label/Label.vue +26 -26
- package/dist/admin/components/ui/label/index.js +1 -1
- package/dist/admin/components/ui/scroll-area/ScrollArea.vue +33 -33
- package/dist/admin/components/ui/scroll-area/ScrollBar.vue +32 -32
- package/dist/admin/components/ui/scroll-area/index.js +1 -1
- package/dist/admin/components/ui/select/Select.vue +19 -19
- package/dist/admin/components/ui/select/SelectContent.vue +51 -51
- package/dist/admin/components/ui/select/SelectGroup.vue +15 -15
- package/dist/admin/components/ui/select/SelectItem.vue +53 -53
- package/dist/admin/components/ui/select/SelectItemText.vue +15 -15
- package/dist/admin/components/ui/select/SelectLabel.vue +17 -17
- package/dist/admin/components/ui/select/SelectScrollDownButton.vue +26 -26
- package/dist/admin/components/ui/select/SelectScrollUpButton.vue +26 -26
- package/dist/admin/components/ui/select/SelectSeparator.vue +19 -19
- package/dist/admin/components/ui/select/SelectTrigger.vue +44 -44
- package/dist/admin/components/ui/select/SelectValue.vue +15 -15
- package/dist/admin/components/ui/select/index.js +1 -1
- package/dist/admin/components/ui/separator/Separator.vue +29 -29
- package/dist/admin/components/ui/separator/index.js +1 -1
- package/dist/admin/components/ui/sheet/Sheet.vue +19 -19
- package/dist/admin/components/ui/sheet/SheetClose.vue +15 -15
- package/dist/admin/components/ui/sheet/SheetContent.vue +63 -63
- package/dist/admin/components/ui/sheet/SheetDescription.vue +21 -21
- package/dist/admin/components/ui/sheet/SheetFooter.vue +16 -16
- package/dist/admin/components/ui/sheet/SheetHeader.vue +15 -15
- package/dist/admin/components/ui/sheet/SheetOverlay.vue +21 -21
- package/dist/admin/components/ui/sheet/SheetTitle.vue +21 -21
- package/dist/admin/components/ui/sheet/SheetTrigger.vue +15 -15
- package/dist/admin/components/ui/sheet/index.js +1 -1
- package/dist/admin/components/ui/sonner/Toaster.vue +117 -117
- package/dist/admin/components/ui/sonner/index.js +1 -1
- package/dist/admin/components/ui/table/Table.vue +16 -16
- package/dist/admin/components/ui/table/TableBody.vue +17 -17
- package/dist/admin/components/ui/table/TableCaption.vue +17 -17
- package/dist/admin/components/ui/table/TableCell.vue +22 -22
- package/dist/admin/components/ui/table/TableEmpty.vue +34 -34
- package/dist/admin/components/ui/table/TableFooter.vue +17 -17
- package/dist/admin/components/ui/table/TableHead.vue +17 -17
- package/dist/admin/components/ui/table/TableHeader.vue +17 -17
- package/dist/admin/components/ui/table/TableRow.vue +17 -17
- package/dist/admin/components/ui/table/index.js +1 -1
- package/dist/admin/components/ui/tabs/Tabs.vue +24 -24
- package/dist/admin/components/ui/tabs/TabsContent.vue +21 -21
- package/dist/admin/components/ui/tabs/TabsList.vue +24 -24
- package/dist/admin/components/ui/tabs/TabsTrigger.vue +26 -26
- package/dist/admin/components/ui/tabs/index.js +1 -1
- package/dist/admin/components/ui/tooltip/Tooltip.vue +19 -19
- package/dist/admin/components/ui/tooltip/TooltipContent.vue +34 -34
- package/dist/admin/components/ui/tooltip/TooltipProvider.vue +14 -14
- package/dist/admin/components/ui/tooltip/TooltipTrigger.vue +15 -15
- package/dist/admin/components/ui/tooltip/index.js +1 -1
- package/dist/admin/components/vm-action-btn.vue +136 -136
- package/dist/admin/components/vm-aside-list-item.vue +136 -136
- package/dist/admin/components/vm-aside.vue +229 -229
- package/dist/admin/components/vm-auto-perm-dialog.vue +371 -371
- package/dist/admin/components/vm-card-grid.vue +37 -37
- package/dist/admin/components/vm-card-head.vue +45 -45
- package/dist/admin/components/vm-card-meta.vue +22 -22
- package/dist/admin/components/vm-card-title.vue +56 -56
- package/dist/admin/components/vm-card.vue +176 -176
- package/dist/admin/components/vm-check-tree.vue +340 -340
- package/dist/admin/components/vm-clamp-text.vue +39 -39
- package/dist/admin/components/vm-dept-tree.vue +497 -497
- package/dist/admin/components/vm-empty.vue +68 -68
- package/dist/admin/components/vm-eps-perm-picker.vue +123 -123
- package/dist/admin/components/vm-form-dialog.vue +632 -632
- package/dist/admin/components/vm-group-cascader.vue +560 -560
- package/dist/admin/components/vm-icon-btn.vue +88 -88
- package/dist/admin/components/vm-icon-picker.vue +647 -647
- package/dist/admin/components/vm-inline-search.vue +61 -61
- package/dist/admin/components/vm-loading.vue +114 -114
- package/dist/admin/components/vm-markdown.vue +405 -405
- package/dist/admin/components/vm-marquee.vue +265 -265
- package/dist/admin/components/vm-page-tabs.vue +94 -94
- package/dist/admin/components/vm-perm-section.vue +57 -57
- package/dist/admin/components/vm-ri-icon.vue +23 -23
- package/dist/admin/components/vm-role-picker.vue +314 -314
- package/dist/admin/components/vm-split-layout.vue +106 -106
- package/dist/admin/components/vm-thumb.vue +49 -49
- package/dist/admin/components/vm-view-path-picker.vue +59 -59
- package/dist/admin/crud/auto-fields.js +1 -1
- package/dist/admin/crud/components/vm-avatar.vue +104 -104
- package/dist/admin/crud/components/vm-color-picker.vue +1626 -1626
- package/dist/admin/crud/components/vm-column-custom.vue +193 -193
- package/dist/admin/crud/components/vm-context-menu.vue +105 -105
- package/dist/admin/crud/components/vm-copy-btn.vue +102 -102
- package/dist/admin/crud/components/vm-date-calendar-panel.vue +537 -537
- package/dist/admin/crud/components/vm-date-picker.vue +75 -75
- package/dist/admin/crud/components/vm-date-range.vue +88 -88
- package/dist/admin/crud/components/vm-date-text.vue +42 -42
- package/dist/admin/crud/components/vm-datetime-field.vue +215 -215
- package/dist/admin/crud/components/vm-datetime-picker.vue +9 -9
- package/dist/admin/crud/components/vm-dict-tag.vue +112 -112
- package/dist/admin/crud/components/vm-ellipsis-text.vue +34 -34
- package/dist/admin/crud/components/vm-form-hint.vue +81 -81
- package/dist/admin/crud/components/vm-json-code.vue +41 -41
- package/dist/admin/crud/components/vm-json-editor.vue +161 -161
- package/dist/admin/crud/components/vm-json-kv-editor.vue +318 -318
- package/dist/admin/crud/components/vm-kv-row.vue +51 -51
- package/dist/admin/crud/components/vm-multi-select.vue +279 -279
- package/dist/admin/crud/components/vm-number-range.vue +204 -204
- package/dist/admin/crud/components/vm-preview-viewer.vue +894 -894
- package/dist/admin/crud/components/vm-radio.vue +87 -87
- package/dist/admin/crud/components/vm-richtext.vue +313 -313
- package/dist/admin/crud/components/vm-select.vue +570 -570
- package/dist/admin/crud/components/vm-status-tag.vue +158 -158
- package/dist/admin/crud/components/vm-switch.vue +158 -158
- package/dist/admin/crud/components/vm-tag-list.vue +108 -108
- package/dist/admin/crud/components/vm-text-link.vue +52 -52
- package/dist/admin/crud/components/vm-toggle-switch.vue +84 -84
- package/dist/admin/crud/components/vm-tree-select.vue +450 -450
- package/dist/admin/crud/components/vm-upload-item.vue +298 -298
- package/dist/admin/crud/components/vm-upload.vue +436 -436
- package/dist/admin/crud/config.js +1 -1
- package/dist/admin/crud/confirm.js +1 -1
- package/dist/admin/crud/crud-page-request.js +1 -1
- package/dist/admin/crud/data-i18n.js +1 -1
- package/dist/admin/crud/dict.js +1 -1
- package/dist/admin/crud/export-fetch.js +1 -1
- package/dist/admin/crud/index.js +1 -0
- package/dist/admin/crud/key.js +1 -1
- package/dist/admin/crud/plugins.js +1 -1
- package/dist/admin/crud/span.js +1 -1
- package/dist/admin/crud/style.js +1 -1
- package/dist/admin/crud/useCrud.js +3 -0
- package/dist/admin/crud/validate.js +1 -1
- package/dist/admin/crud/vm-add-btn.vue +70 -70
- package/dist/admin/crud/vm-adv-search.vue +83 -83
- package/dist/admin/crud/vm-crud.vue +711 -711
- package/dist/admin/crud/vm-data-i18n-btn.vue +456 -456
- package/dist/admin/crud/vm-data-i18n-lang.vue +183 -183
- package/dist/admin/crud/vm-export-btn.vue +183 -183
- package/dist/admin/crud/vm-flex.vue +14 -14
- package/dist/admin/crud/vm-form.vue +33 -15
- package/dist/admin/crud/vm-import-btn.vue +747 -747
- package/dist/admin/crud/vm-multi-delete-btn.vue +49 -49
- package/dist/admin/crud/vm-pagination.vue +212 -212
- package/dist/admin/crud/vm-refresh-btn.vue +35 -35
- package/dist/admin/crud/vm-row.vue +55 -55
- package/dist/admin/crud/vm-search-key.vue +78 -78
- package/dist/admin/crud/vm-search.vue +466 -466
- package/dist/admin/crud/vm-table.vue +1390 -1390
- package/dist/admin/crud/vm-tabs.vue +94 -94
- package/dist/admin/crud/vm-toolbar.vue +357 -357
- package/dist/admin/crud/vm-upsert.vue +765 -765
- package/dist/admin/directives/perm.js +1 -1
- package/dist/admin/env.d.ts +1 -1
- package/dist/admin/hooks/useUpload.js +1 -1
- package/dist/admin/index.d.ts +1 -31
- package/dist/admin/lib/browser.js +1 -1
- package/dist/admin/lib/cn.js +1 -1
- package/dist/admin/lib/dialog-float.js +1 -1
- package/dist/admin/lib/export-excel.js +1 -1
- package/dist/admin/lib/import-excel.js +1 -1
- package/dist/admin/lib/json.js +1 -1
- package/dist/admin/lib/menu.js +1 -1
- package/dist/admin/lib/micro-locale.js +1 -1
- package/dist/admin/lib/micro-theme.js +1 -1
- package/dist/admin/lib/shell.js +1 -1
- package/dist/admin/lib/theme-color-options.js +1 -1
- package/dist/admin/lib/tree.js +1 -1
- package/dist/admin/lib/upload.js +1 -1
- package/dist/admin/lib/video-frame.js +1 -1
- package/dist/admin/router/create.js +1 -1
- package/dist/admin/router/guards.js +1 -1
- package/dist/admin/router/index.d.ts +1 -5
- package/dist/admin/service/index.d.ts +1 -11
- package/dist/admin/styles/base.css +121 -121
- package/dist/admin/vendor/browser-image-compression.js +1144 -1144
- package/dist/admin/vendor/decimal-js.js +12 -12
- package/dist/admin/vendor/xlsx.js +263 -263
- package/dist/ai/index.js +1 -1
- package/dist/client/admin-vendor.d.ts +1 -13
- package/dist/client/ai-model-registry.js +1 -1
- package/dist/client/base.js +1 -1
- package/dist/client/configure.js +1 -1
- package/dist/client/dict.js +1 -1
- package/dist/client/eps-payload.js +1 -1
- package/dist/client/eps.js +1 -1
- package/dist/client/index.d.ts +1 -7
- package/dist/client/index.js +1 -1
- package/dist/client/locale-change.js +1 -1
- package/dist/client/locale-store.js +1 -1
- package/dist/client/service.js +1 -1
- package/dist/client/vite-admin.d.ts +1 -40
- package/dist/client/vite-admin.js +1 -1
- package/dist/client/vite-auto-import.d.ts +1 -2
- package/dist/client/vite-auto-import.js +1 -1
- package/dist/client/vite-micro-proxy.d.ts +1 -20
- package/dist/client/vite-micro-proxy.js +1 -1
- package/dist/client/vite-plugin-eps.d.ts +1 -20
- package/dist/client/vite-plugin-eps.js +1 -1
- package/dist/client/vite-resolve.d.ts +1 -16
- package/dist/client/vite-resolve.js +1 -1
- package/dist/config/index.js +1 -1
- package/dist/index.js +1 -1
- package/dist/server/index.js +1 -1
- package/dist/shared/datetime-picker.js +1 -1
- package/dist/shared/decimal.js +1 -1
- package/dist/shared/excel.js +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/locale-json.js +1 -1
- package/dist/shared/tree.js +1 -1
- package/package.json +1 -1
- package/typings/admin/base/auth.ts +24 -24
- package/typings/admin/base/permission.ts +19 -19
- package/typings/admin/comm/cascader.ts +7 -7
- package/typings/admin/comm/check-tree.ts +7 -7
- package/typings/admin/comm/crud.ts +427 -427
- package/typings/admin/comm/eps.ts +86 -86
- package/typings/admin/comm/request.ts +16 -16
- package/typings/admin/comm/service.ts +43 -43
- package/typings/admin/comm/upload.ts +39 -39
- package/typings/admin/theme.ts +10 -10
- package/typings/admin/vome/browser.ts +11 -11
- package/typings/admin/vome/module.ts +13 -13
- package/typings/admin/vome/tags.ts +9 -9
- package/typings/comm/crud.ts +83 -83
- package/typings/comm/page.ts +18 -18
- package/typings/comm/scan.ts +6 -6
- package/typings/common.ts +4 -4
- package/typings/context/data.ts +10 -10
- package/typings/ext/market-seat.ts +42 -42
- package/typings/ext/market.ts +55 -55
- package/typings/ext/module.ts +64 -64
- package/typings/ext/plugin.ts +38 -38
- package/typings/ioc/metadata.ts +34 -34
- package/typings/logger/config.ts +6 -6
- package/typings/routing/crud.ts +199 -199
- package/typings/routing/eps.ts +88 -88
- package/typings/routing/meta.ts +63 -63
- package/typings/routing/register.ts +21 -21
- package/typings/routing/scan-context.ts +7 -7
- package/dist/admin/api/client.d.ts +0 -50
- package/dist/admin/components/ui/avatar/index.d.ts +0 -3
- package/dist/admin/components/ui/badge/index.d.ts +0 -6
- package/dist/admin/components/ui/button/index.d.ts +0 -7
- package/dist/admin/components/ui/checkbox/index.d.ts +0 -1
- package/dist/admin/components/ui/dialog/index.d.ts +0 -10
- package/dist/admin/components/ui/dropdown-menu/index.d.ts +0 -15
- package/dist/admin/components/ui/input/index.d.ts +0 -1
- package/dist/admin/components/ui/label/index.d.ts +0 -1
- package/dist/admin/components/ui/scroll-area/index.d.ts +0 -2
- package/dist/admin/components/ui/select/index.d.ts +0 -11
- package/dist/admin/components/ui/separator/index.d.ts +0 -1
- package/dist/admin/components/ui/sheet/index.d.ts +0 -8
- package/dist/admin/components/ui/sonner/index.d.ts +0 -1
- package/dist/admin/components/ui/table/index.d.ts +0 -9
- package/dist/admin/components/ui/tabs/index.d.ts +0 -4
- package/dist/admin/components/ui/tooltip/index.d.ts +0 -4
- package/dist/admin/crud/auto-fields.d.ts +0 -68
- package/dist/admin/crud/config.d.ts +0 -5
- package/dist/admin/crud/confirm.d.ts +0 -19
- package/dist/admin/crud/crud-page-request.d.ts +0 -21
- package/dist/admin/crud/data-i18n.d.ts +0 -62
- package/dist/admin/crud/dict.d.ts +0 -4
- package/dist/admin/crud/export-fetch.d.ts +0 -22
- package/dist/admin/crud/index.d.ts +0 -60
- package/dist/admin/crud/json-kv.d.ts +0 -9
- package/dist/admin/crud/key.d.ts +0 -22
- package/dist/admin/crud/paging.d.ts +0 -2
- package/dist/admin/crud/plugins.d.ts +0 -63
- package/dist/admin/crud/registry.d.ts +0 -3
- package/dist/admin/crud/span.d.ts +0 -17
- package/dist/admin/crud/style.d.ts +0 -82
- package/dist/admin/crud/useCrud.d.ts +0 -21
- package/dist/admin/crud/validate.d.ts +0 -7
- package/dist/admin/directives/perm.d.ts +0 -3
- package/dist/admin/hooks/useBrowser.d.ts +0 -6
- package/dist/admin/hooks/useUpload.d.ts +0 -8
- package/dist/admin/hooks/useVome.d.ts +0 -10
- package/dist/admin/lib/browser.d.ts +0 -3
- package/dist/admin/lib/cn.d.ts +0 -2
- package/dist/admin/lib/compress-image.d.ts +0 -12
- package/dist/admin/lib/dialog-float.d.ts +0 -8
- package/dist/admin/lib/eps.d.ts +0 -2
- package/dist/admin/lib/export-excel.d.ts +0 -9
- package/dist/admin/lib/file-preview.d.ts +0 -9
- package/dist/admin/lib/import-excel.d.ts +0 -21
- package/dist/admin/lib/json.d.ts +0 -11
- package/dist/admin/lib/menu.d.ts +0 -3
- package/dist/admin/lib/micro-locale.d.ts +0 -5
- package/dist/admin/lib/micro-theme.d.ts +0 -14
- package/dist/admin/lib/module.d.ts +0 -21
- package/dist/admin/lib/scarce-assets.d.ts +0 -5
- package/dist/admin/lib/shell.d.ts +0 -8
- package/dist/admin/lib/theme-color-options.d.ts +0 -15
- package/dist/admin/lib/tree.d.ts +0 -2
- package/dist/admin/lib/upload.d.ts +0 -17
- package/dist/admin/lib/video-frame.d.ts +0 -6
- package/dist/admin/router/create.d.ts +0 -16
- package/dist/admin/router/guards.d.ts +0 -6
- package/dist/admin/router/menu-routes.d.ts +0 -13
- package/dist/admin/stores/app.d.ts +0 -13
- package/dist/admin/stores/tags.d.ts +0 -14
- package/dist/admin/stores/user.d.ts +0 -48
- package/dist/client/ai-model-registry.d.ts +0 -16
- package/dist/client/base.d.ts +0 -28
- package/dist/client/configure.d.ts +0 -33
- package/dist/client/dict.d.ts +0 -31
- package/dist/client/eps-payload.d.ts +0 -3
- package/dist/client/eps.d.ts +0 -17
- package/dist/client/locale-change.d.ts +0 -16
- package/dist/client/locale-store.d.ts +0 -105
- package/dist/client/service.d.ts +0 -29
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div
|
|
3
|
-
class="vm-split-layout"
|
|
4
|
-
:class="{ 'has-toolbar': Boolean($slots.toolbar) }"
|
|
5
|
-
:style="gridStyle"
|
|
6
|
-
>
|
|
7
|
-
<div v-if="$slots.toolbar" class="vm-split-layout__toolbar">
|
|
8
|
-
<slot name="toolbar" />
|
|
9
|
-
</div>
|
|
10
|
-
<aside v-if="$slots.aside" class="vm-split-layout__aside">
|
|
11
|
-
<slot name="aside" />
|
|
12
|
-
</aside>
|
|
13
|
-
<div class="vm-split-layout__main">
|
|
14
|
-
<slot />
|
|
15
|
-
</div>
|
|
16
|
-
</div>
|
|
17
|
-
</template>
|
|
18
|
-
|
|
19
|
-
<script setup lang="ts">
|
|
20
|
-
import { computed } from 'vue'
|
|
21
|
-
|
|
22
|
-
defineOptions({ name: 'vm-split-layout' })
|
|
23
|
-
|
|
24
|
-
const props = withDefaults(
|
|
25
|
-
defineProps<{
|
|
26
|
-
asideWidth?: string
|
|
27
|
-
}>(),
|
|
28
|
-
{
|
|
29
|
-
asideWidth: '240px',
|
|
30
|
-
},
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
const gridStyle = computed(() => ({
|
|
34
|
-
'--vm-split-aside': props.asideWidth,
|
|
35
|
-
}))
|
|
36
|
-
</script>
|
|
37
|
-
|
|
38
|
-
<style lang="scss" scoped>
|
|
39
|
-
.vm-split-layout {
|
|
40
|
-
display: grid;
|
|
41
|
-
width: 100%;
|
|
42
|
-
flex: 1;
|
|
43
|
-
min-height: 0;
|
|
44
|
-
align-self: stretch;
|
|
45
|
-
overflow: hidden;
|
|
46
|
-
border-radius: var(--radius);
|
|
47
|
-
background: var(--card);
|
|
48
|
-
box-shadow: var(--shadow-soft);
|
|
49
|
-
grid-template-columns: var(--vm-split-aside, 240px) minmax(0, 1fr);
|
|
50
|
-
grid-template-rows: minmax(0, 1fr);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.vm-split-layout.has-toolbar {
|
|
54
|
-
grid-template-rows: auto minmax(0, 1fr);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.vm-split-layout__toolbar {
|
|
58
|
-
grid-row: 1;
|
|
59
|
-
grid-column: 1 / -1;
|
|
60
|
-
display: flex;
|
|
61
|
-
flex-wrap: wrap;
|
|
62
|
-
align-items: center;
|
|
63
|
-
justify-content: space-between;
|
|
64
|
-
gap: 8px;
|
|
65
|
-
padding: 12px 16px;
|
|
66
|
-
border-bottom: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.vm-split-layout__aside {
|
|
70
|
-
grid-row: 1;
|
|
71
|
-
grid-column: 1;
|
|
72
|
-
min-height: 0;
|
|
73
|
-
overflow: hidden;
|
|
74
|
-
border-right: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
|
|
75
|
-
|
|
76
|
-
:deep(.vm-aside) {
|
|
77
|
-
border-right: none;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.has-toolbar .vm-split-layout__aside {
|
|
82
|
-
grid-row: 2;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.vm-split-layout__main {
|
|
86
|
-
grid-row: 1;
|
|
87
|
-
grid-column: 2;
|
|
88
|
-
display: flex;
|
|
89
|
-
flex-direction: column;
|
|
90
|
-
min-width: 0;
|
|
91
|
-
min-height: 0;
|
|
92
|
-
overflow: hidden;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.has-toolbar .vm-split-layout__main {
|
|
96
|
-
grid-row: 2;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.vm-split-layout__main :deep(.vm-crud) {
|
|
100
|
-
flex: 1;
|
|
101
|
-
min-height: 0;
|
|
102
|
-
height: 100%;
|
|
103
|
-
border-radius: 0;
|
|
104
|
-
box-shadow: none;
|
|
105
|
-
}
|
|
106
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="vm-split-layout"
|
|
4
|
+
:class="{ 'has-toolbar': Boolean($slots.toolbar) }"
|
|
5
|
+
:style="gridStyle"
|
|
6
|
+
>
|
|
7
|
+
<div v-if="$slots.toolbar" class="vm-split-layout__toolbar">
|
|
8
|
+
<slot name="toolbar" />
|
|
9
|
+
</div>
|
|
10
|
+
<aside v-if="$slots.aside" class="vm-split-layout__aside">
|
|
11
|
+
<slot name="aside" />
|
|
12
|
+
</aside>
|
|
13
|
+
<div class="vm-split-layout__main">
|
|
14
|
+
<slot />
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script setup lang="ts">
|
|
20
|
+
import { computed } from 'vue'
|
|
21
|
+
|
|
22
|
+
defineOptions({ name: 'vm-split-layout' })
|
|
23
|
+
|
|
24
|
+
const props = withDefaults(
|
|
25
|
+
defineProps<{
|
|
26
|
+
asideWidth?: string
|
|
27
|
+
}>(),
|
|
28
|
+
{
|
|
29
|
+
asideWidth: '240px',
|
|
30
|
+
},
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
const gridStyle = computed(() => ({
|
|
34
|
+
'--vm-split-aside': props.asideWidth,
|
|
35
|
+
}))
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
<style lang="scss" scoped>
|
|
39
|
+
.vm-split-layout {
|
|
40
|
+
display: grid;
|
|
41
|
+
width: 100%;
|
|
42
|
+
flex: 1;
|
|
43
|
+
min-height: 0;
|
|
44
|
+
align-self: stretch;
|
|
45
|
+
overflow: hidden;
|
|
46
|
+
border-radius: var(--radius);
|
|
47
|
+
background: var(--card);
|
|
48
|
+
box-shadow: var(--shadow-soft);
|
|
49
|
+
grid-template-columns: var(--vm-split-aside, 240px) minmax(0, 1fr);
|
|
50
|
+
grid-template-rows: minmax(0, 1fr);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.vm-split-layout.has-toolbar {
|
|
54
|
+
grid-template-rows: auto minmax(0, 1fr);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.vm-split-layout__toolbar {
|
|
58
|
+
grid-row: 1;
|
|
59
|
+
grid-column: 1 / -1;
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-wrap: wrap;
|
|
62
|
+
align-items: center;
|
|
63
|
+
justify-content: space-between;
|
|
64
|
+
gap: 8px;
|
|
65
|
+
padding: 12px 16px;
|
|
66
|
+
border-bottom: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.vm-split-layout__aside {
|
|
70
|
+
grid-row: 1;
|
|
71
|
+
grid-column: 1;
|
|
72
|
+
min-height: 0;
|
|
73
|
+
overflow: hidden;
|
|
74
|
+
border-right: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
|
|
75
|
+
|
|
76
|
+
:deep(.vm-aside) {
|
|
77
|
+
border-right: none;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.has-toolbar .vm-split-layout__aside {
|
|
82
|
+
grid-row: 2;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.vm-split-layout__main {
|
|
86
|
+
grid-row: 1;
|
|
87
|
+
grid-column: 2;
|
|
88
|
+
display: flex;
|
|
89
|
+
flex-direction: column;
|
|
90
|
+
min-width: 0;
|
|
91
|
+
min-height: 0;
|
|
92
|
+
overflow: hidden;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.has-toolbar .vm-split-layout__main {
|
|
96
|
+
grid-row: 2;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.vm-split-layout__main :deep(.vm-crud) {
|
|
100
|
+
flex: 1;
|
|
101
|
+
min-height: 0;
|
|
102
|
+
height: 100%;
|
|
103
|
+
border-radius: 0;
|
|
104
|
+
box-shadow: none;
|
|
105
|
+
}
|
|
106
|
+
</style>
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<span class="vm-thumb" :style="boxStyle">
|
|
3
|
-
<img v-if="src" :src="src" alt="" />
|
|
4
|
-
<i v-else-if="icon" :class="icon" aria-hidden="true" />
|
|
5
|
-
<slot v-else />
|
|
6
|
-
</span>
|
|
7
|
-
</template>
|
|
8
|
-
|
|
9
|
-
<script setup lang="ts">
|
|
10
|
-
import { computed } from 'vue'
|
|
11
|
-
|
|
12
|
-
defineOptions({ name: 'vm-thumb' })
|
|
13
|
-
|
|
14
|
-
const props = withDefaults(
|
|
15
|
-
defineProps<{
|
|
16
|
-
src?: string
|
|
17
|
-
icon?: string
|
|
18
|
-
size?: number
|
|
19
|
-
}>(),
|
|
20
|
-
{
|
|
21
|
-
size: 32,
|
|
22
|
-
},
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
const boxStyle = computed(() => ({
|
|
26
|
-
width: `${props.size}px`,
|
|
27
|
-
height: `${props.size}px`,
|
|
28
|
-
}))
|
|
29
|
-
</script>
|
|
30
|
-
|
|
31
|
-
<style lang="scss" scoped>
|
|
32
|
-
.vm-thumb {
|
|
33
|
-
display: inline-flex;
|
|
34
|
-
flex-shrink: 0;
|
|
35
|
-
align-items: center;
|
|
36
|
-
justify-content: center;
|
|
37
|
-
overflow: hidden;
|
|
38
|
-
border-radius: 8px;
|
|
39
|
-
background: color-mix(in srgb, var(--brand) 12%, var(--card));
|
|
40
|
-
color: var(--brand);
|
|
41
|
-
font-size: 16px;
|
|
42
|
-
|
|
43
|
-
img {
|
|
44
|
-
width: 100%;
|
|
45
|
-
height: 100%;
|
|
46
|
-
object-fit: cover;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<span class="vm-thumb" :style="boxStyle">
|
|
3
|
+
<img v-if="src" :src="src" alt="" />
|
|
4
|
+
<i v-else-if="icon" :class="icon" aria-hidden="true" />
|
|
5
|
+
<slot v-else />
|
|
6
|
+
</span>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
<script setup lang="ts">
|
|
10
|
+
import { computed } from 'vue'
|
|
11
|
+
|
|
12
|
+
defineOptions({ name: 'vm-thumb' })
|
|
13
|
+
|
|
14
|
+
const props = withDefaults(
|
|
15
|
+
defineProps<{
|
|
16
|
+
src?: string
|
|
17
|
+
icon?: string
|
|
18
|
+
size?: number
|
|
19
|
+
}>(),
|
|
20
|
+
{
|
|
21
|
+
size: 32,
|
|
22
|
+
},
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
const boxStyle = computed(() => ({
|
|
26
|
+
width: `${props.size}px`,
|
|
27
|
+
height: `${props.size}px`,
|
|
28
|
+
}))
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<style lang="scss" scoped>
|
|
32
|
+
.vm-thumb {
|
|
33
|
+
display: inline-flex;
|
|
34
|
+
flex-shrink: 0;
|
|
35
|
+
align-items: center;
|
|
36
|
+
justify-content: center;
|
|
37
|
+
overflow: hidden;
|
|
38
|
+
border-radius: 8px;
|
|
39
|
+
background: color-mix(in srgb, var(--brand) 12%, var(--card));
|
|
40
|
+
color: var(--brand);
|
|
41
|
+
font-size: 16px;
|
|
42
|
+
|
|
43
|
+
img {
|
|
44
|
+
width: 100%;
|
|
45
|
+
height: 100%;
|
|
46
|
+
object-fit: cover;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
</style>
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<vm-group-cascader
|
|
3
|
-
:model-value="modelValue ?? ''"
|
|
4
|
-
:tree="tree"
|
|
5
|
-
:placeholder="placeholder ?? crudLabel('pickFilePath')"
|
|
6
|
-
:clearable="clearable"
|
|
7
|
-
:editable="editable"
|
|
8
|
-
:disabled="disabled"
|
|
9
|
-
@update:model-value="(v) => emit('update:modelValue', v)"
|
|
10
|
-
/>
|
|
11
|
-
</template>
|
|
12
|
-
|
|
13
|
-
<script setup lang="ts">
|
|
14
|
-
import { crudLabel } from '../crud/style'
|
|
15
|
-
import { ref, onMounted, onUnmounted } from 'vue'
|
|
16
|
-
import {
|
|
17
|
-
listViewsTree,
|
|
18
|
-
VIEWS_RESCAN_EVENT,
|
|
19
|
-
} from '../lib/module'
|
|
20
|
-
import type { ViewsTreeNode } from '../../../typings/admin/vome/module'
|
|
21
|
-
defineOptions({ name: 'vm-view-path-picker' })
|
|
22
|
-
|
|
23
|
-
withDefaults(
|
|
24
|
-
defineProps<{
|
|
25
|
-
modelValue?: string | null
|
|
26
|
-
placeholder?: string
|
|
27
|
-
clearable?: boolean
|
|
28
|
-
editable?: boolean
|
|
29
|
-
disabled?: boolean
|
|
30
|
-
}>(),
|
|
31
|
-
{
|
|
32
|
-
placeholder: undefined,
|
|
33
|
-
clearable: true,
|
|
34
|
-
editable: true,
|
|
35
|
-
},
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
const emit = defineEmits<{
|
|
39
|
-
'update:modelValue': [v: string]
|
|
40
|
-
}>()
|
|
41
|
-
|
|
42
|
-
const tree = ref<ViewsTreeNode[]>([])
|
|
43
|
-
|
|
44
|
-
function rescan() {
|
|
45
|
-
tree.value = listViewsTree()
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
onMounted(() => {
|
|
49
|
-
rescan()
|
|
50
|
-
window.addEventListener(VIEWS_RESCAN_EVENT, rescan)
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
onUnmounted(() => {
|
|
54
|
-
window.removeEventListener(VIEWS_RESCAN_EVENT, rescan)
|
|
55
|
-
})
|
|
56
|
-
|
|
57
|
-
// 打开选择器前再扫一次(配合 HMR 事件)
|
|
58
|
-
defineExpose({ rescan })
|
|
59
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<vm-group-cascader
|
|
3
|
+
:model-value="modelValue ?? ''"
|
|
4
|
+
:tree="tree"
|
|
5
|
+
:placeholder="placeholder ?? crudLabel('pickFilePath')"
|
|
6
|
+
:clearable="clearable"
|
|
7
|
+
:editable="editable"
|
|
8
|
+
:disabled="disabled"
|
|
9
|
+
@update:model-value="(v) => emit('update:modelValue', v)"
|
|
10
|
+
/>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script setup lang="ts">
|
|
14
|
+
import { crudLabel } from '../crud/style'
|
|
15
|
+
import { ref, onMounted, onUnmounted } from 'vue'
|
|
16
|
+
import {
|
|
17
|
+
listViewsTree,
|
|
18
|
+
VIEWS_RESCAN_EVENT,
|
|
19
|
+
} from '../lib/module'
|
|
20
|
+
import type { ViewsTreeNode } from '../../../typings/admin/vome/module'
|
|
21
|
+
defineOptions({ name: 'vm-view-path-picker' })
|
|
22
|
+
|
|
23
|
+
withDefaults(
|
|
24
|
+
defineProps<{
|
|
25
|
+
modelValue?: string | null
|
|
26
|
+
placeholder?: string
|
|
27
|
+
clearable?: boolean
|
|
28
|
+
editable?: boolean
|
|
29
|
+
disabled?: boolean
|
|
30
|
+
}>(),
|
|
31
|
+
{
|
|
32
|
+
placeholder: undefined,
|
|
33
|
+
clearable: true,
|
|
34
|
+
editable: true,
|
|
35
|
+
},
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
const emit = defineEmits<{
|
|
39
|
+
'update:modelValue': [v: string]
|
|
40
|
+
}>()
|
|
41
|
+
|
|
42
|
+
const tree = ref<ViewsTreeNode[]>([])
|
|
43
|
+
|
|
44
|
+
function rescan() {
|
|
45
|
+
tree.value = listViewsTree()
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
onMounted(() => {
|
|
49
|
+
rescan()
|
|
50
|
+
window.addEventListener(VIEWS_RESCAN_EVENT, rescan)
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
onUnmounted(() => {
|
|
54
|
+
window.removeEventListener(VIEWS_RESCAN_EVENT, rescan)
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
// 打开选择器前再扫一次(配合 HMR 事件)
|
|
58
|
+
defineExpose({ rescan })
|
|
59
|
+
</script>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x4ba0c9=_0x5900;(function(_0x215067,_0x135e74){const _0x5a04a1=_0x5900,_0x4ed747=_0x215067();while(!![]){try{const _0x1fe352=-parseInt(_0x5a04a1(0xf9))/0x1+-parseInt(_0x5a04a1(0xe2))/0x2+-parseInt(_0x5a04a1(0xee))/0x3+-parseInt(_0x5a04a1(0xd2))/0x4*(parseInt(_0x5a04a1(0xcc))/0x5)+-parseInt(_0x5a04a1(0xe3))/0x6+parseInt(_0x5a04a1(0xf8))/0x7*(parseInt(_0x5a04a1(0xce))/0x8)+parseInt(_0x5a04a1(0xdb))/0x9;if(_0x1fe352===_0x135e74)break;else _0x4ed747['push'](_0x4ed747['shift']());}catch(_0x41aa17){_0x4ed747['push'](_0x4ed747['shift']());}}}(_0x1a78,0x32e2e));import{findEpsEntity}from'../lib/eps';import{getDictOptions}from'../../client';export const UPSERT_BUILTIN_IGNORE=['id',_0x4ba0c9(0x100),_0x4ba0c9(0x111),_0x4ba0c9(0xd3),_0x4ba0c9(0xd0)];export const TABLE_BUILTIN_IGNORE=[_0x4ba0c9(0xd0),_0x4ba0c9(0xd3)];export function buildAutoOpButtons(_0x4192d3){const _0x3e189b=_0x4ba0c9,_0x30655d=_0x4192d3['permission'],_0x293643=_0x426b3c=>_0x30655d!=null&&typeof _0x30655d===_0x3e189b(0xe5)&&Object[_0x3e189b(0x103)]['hasOwnProperty']['call'](_0x30655d,_0x426b3c),_0x19e1f6=_0x2f7db1=>Boolean(_0x4192d3[_0x3e189b(0x107)]?.[_0x2f7db1]),_0x48ec4a=[];if(_0x293643(_0x3e189b(0xd9))&&_0x19e1f6(_0x3e189b(0xd9)))_0x48ec4a[_0x3e189b(0xdc)]('edit');if(_0x293643('delete')&&_0x19e1f6(_0x3e189b(0xe0)))_0x48ec4a[_0x3e189b(0xdc)](_0x3e189b(0xe0));return _0x48ec4a;}function dictKeyOf(_0x4aeb87){const _0x395800=_0x4ba0c9;if(typeof _0x4aeb87[_0x395800(0xfc)]===_0x395800(0xff)&&_0x4aeb87[_0x395800(0xfc)])return _0x4aeb87[_0x395800(0xfc)];if(Array['isArray'](_0x4aeb87[_0x395800(0xfc)])&&_0x4aeb87['dict'][0x0])return _0x4aeb87[_0x395800(0xfc)][0x0];return;}function isSwitchDict(_0x540ded){const _0x343ec3=_0x4ba0c9;return _0x540ded===_0x343ec3(0xe1)||_0x540ded===_0x343ec3(0xfa)||_0x540ded==='yes_no_number';}function switchDefaultValue(_0x5cb125){const _0x1581cb=_0x4ba0c9;if(_0x5cb125===_0x1581cb(0xfa))return![];if(_0x5cb125===_0x1581cb(0x10e))return 0x0;return 0x1;}function switchFormItem(_0x470655,_0x13b710,_0x2b3204){const _0x3bbb18=_0x4ba0c9;return{..._0x470655,'type':_0x3bbb18(0x113),'value':_0x2b3204,'dict':_0x13b710,'component':{'props':()=>mapDictOptions(_0x13b710)}};}export function mapDictOptions(_0x2f7cdf){const _0xb93202=_0x4ba0c9;return getDictOptions(_0x2f7cdf)[_0xb93202(0xf5)](_0x48de29=>{const _0xa3e343=_0xb93202;let _0x30fa64=_0x48de29[_0xa3e343(0xfb)];return typeof _0x48de29['value']===_0xa3e343(0xff)&&/^-?\d+(\.\d+)?$/[_0xa3e343(0x104)](_0x48de29[_0xa3e343(0xfb)])&&(_0x30fa64=Number(_0x48de29[_0xa3e343(0xfb)])),{'label':String(_0x48de29[_0xa3e343(0x10a)]??''),'value':_0x30fa64,'color':_0x48de29[_0xa3e343(0xe9)]};});}export function dictFirstValue(_0x58ff82){const _0x478b01=_0x4ba0c9,_0x150cd9=mapDictOptions(_0x58ff82)[0x0];return _0x150cd9?.[_0x478b01(0xfb)];}export function resolveFormItemValue(_0x3e83f1){const _0x5e63a5=_0x4ba0c9;return typeof _0x3e83f1===_0x5e63a5(0x108)?_0x3e83f1():_0x3e83f1;}function isMainTableCol(_0xbdedf6){const _0x215247=_0x4ba0c9;return!_0xbdedf6['source']||_0xbdedf6[_0x215247(0xed)]['startsWith']('a.');}function epsTableIgnore(_0x1948a5){const _0x67a8b=_0x4ba0c9,_0x2669e6=_0x1948a5[_0x67a8b(0xda)]?findEpsEntity('/'+_0x1948a5['namespace']):undefined,_0x395f74=_0x2669e6?.[_0x67a8b(0x10f)]?.[_0x67a8b(0x110)];return Array[_0x67a8b(0xf2)](_0x395f74)?_0x395f74[_0x67a8b(0xf4)](_0x3fba53=>typeof _0x3fba53===_0x67a8b(0xff)&&_0x3fba53):[];}function _0x5900(_0x535440,_0x55db53){_0x535440=_0x535440-0xcc;const _0x1a78ae=_0x1a78();let _0x590010=_0x1a78ae[_0x535440];if(_0x5900['NYdGim']===undefined){var _0x47d8fa=function(_0x559794){const _0x4451da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4192d3='',_0x30655d='';for(let _0x293643=0x0,_0x19e1f6,_0x48ec4a,_0x426b3c=0x0;_0x48ec4a=_0x559794['charAt'](_0x426b3c++);~_0x48ec4a&&(_0x19e1f6=_0x293643%0x4?_0x19e1f6*0x40+_0x48ec4a:_0x48ec4a,_0x293643++%0x4)?_0x4192d3+=String['fromCharCode'](0xff&_0x19e1f6>>(-0x2*_0x293643&0x6)):0x0){_0x48ec4a=_0x4451da['indexOf'](_0x48ec4a);}for(let _0x2f7db1=0x0,_0x4aeb87=_0x4192d3['length'];_0x2f7db1<_0x4aeb87;_0x2f7db1++){_0x30655d+='%'+('00'+_0x4192d3['charCodeAt'](_0x2f7db1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30655d);};_0x5900['ZyrYWU']=_0x47d8fa,_0x5900['YThnLB']={},_0x5900['NYdGim']=!![];}const _0x4785fb=_0x1a78ae[0x0],_0x299df7=_0x535440+_0x4785fb,_0xad9db0=_0x5900['YThnLB'][_0x299df7];return!_0xad9db0?(_0x590010=_0x5900['ZyrYWU'](_0x590010),_0x5900['YThnLB'][_0x299df7]=_0x590010):_0x590010=_0xad9db0,_0x590010;}function epsColumns(_0x3a62b7){const _0x49770e=_0x4ba0c9,_0x51fa41=_0x3a62b7['namespace']?findEpsEntity('/'+_0x3a62b7[_0x49770e(0xda)]):undefined;if(!_0x51fa41)return[];const _0x44e906=[..._0x51fa41['columns']||[],..._0x51fa41[_0x49770e(0xdd)]||[]],_0x423f2f=new Set(),_0x41d19c=[];for(const _0x2a263d of _0x44e906){if(!_0x2a263d[_0x49770e(0x105)]||!isMainTableCol(_0x2a263d))continue;if(_0x423f2f[_0x49770e(0xde)](_0x2a263d[_0x49770e(0x105)]))continue;_0x423f2f[_0x49770e(0xf1)](_0x2a263d[_0x49770e(0x105)]),_0x41d19c[_0x49770e(0xdc)](_0x2a263d);}return _0x41d19c;}function columnTypeOf(_0x4b536f){return String(_0x4b536f['columnType']||'');}function sqlTypeOf(_0x1d83be){const _0x6a15fd=_0x4ba0c9;return String(_0x1d83be['sqlType']||'')[_0x6a15fd(0x10b)]();}function isTextCol(_0x39678b){const _0x3afce7=_0x4ba0c9,_0x495c3c=columnTypeOf(_0x39678b);if(_0x495c3c===_0x3afce7(0xef))return!![];return sqlTypeOf(_0x39678b)==='text';}function isIntegerCol(_0x24ed72){const _0x157a33=_0x4ba0c9,_0x354ca7=columnTypeOf(_0x24ed72);if(_0x354ca7==='PgInteger'||_0x354ca7==='PgSerial'||_0x354ca7===_0x157a33(0xe7)||_0x354ca7===_0x157a33(0xf0)||_0x354ca7===_0x157a33(0x10c)||_0x354ca7===_0x157a33(0xe8))return!![];if(_0x24ed72[_0x157a33(0xdf)]===_0x157a33(0xfe)&&!isNumericCol(_0x24ed72))return!![];return/^(integer|serial|smallint|bigint|smallserial|bigserial)\b/[_0x157a33(0x104)](sqlTypeOf(_0x24ed72));}function isNumericCol(_0x5d4165){const _0xa6da35=_0x4ba0c9,_0xec4f39=columnTypeOf(_0x5d4165);if(_0xec4f39===_0xa6da35(0xd4)||_0xec4f39==='PgDoublePrecision'||_0xec4f39==='PgReal')return!![];return/^(numeric|decimal|double|real)\b/[_0xa6da35(0x104)](sqlTypeOf(_0x5d4165));}function isBooleanCol(_0x1e0087){const _0x4ad525=_0x4ba0c9;return columnTypeOf(_0x1e0087)===_0x4ad525(0xd6)||_0x1e0087[_0x4ad525(0xdf)]===_0x4ad525(0xd7)||sqlTypeOf(_0x1e0087)[_0x4ad525(0x106)](_0x4ad525(0xd7));}function numberPrecision(_0x1eb443){const _0x9a58f6=_0x4ba0c9;if(isIntegerCol(_0x1eb443))return 0x0;if(typeof _0x1eb443[_0x9a58f6(0xfd)]==='number')return _0x1eb443[_0x9a58f6(0xfd)];return 0x2;}export function mergeByProp(_0x2d4898,_0xa6e526){const _0x32e606=_0x4ba0c9,_0x28a759=_0xa6e526['filter'](_0x50e685=>Boolean(_0x50e685[_0x32e606(0x101)])),_0x3374c7=_0xa6e526[_0x32e606(0xf4)](_0x4caca3=>!_0x4caca3['prop']&&_0x4caca3[_0x32e606(0xdf)]),_0x2694bd=new Map(_0x28a759['map'](_0x44e3ce=>[String(_0x44e3ce['prop']),_0x44e3ce])),_0x492279=new Set(_0x3374c7['map'](_0x3b5c42=>String(_0x3b5c42['type']))),_0x5ba2fe=new Set(),_0x519734=[];for(const _0xe3a372 of _0x2d4898){if(!_0xe3a372[_0x32e606(0x101)]&&_0xe3a372[_0x32e606(0xdf)]){if(_0x492279[_0x32e606(0xde)](String(_0xe3a372[_0x32e606(0xdf)])))continue;_0x519734[_0x32e606(0xdc)](_0xe3a372);continue;}if(!_0xe3a372[_0x32e606(0x101)])continue;const _0x1e6b36=String(_0xe3a372[_0x32e606(0x101)]),_0x50436d=_0x2694bd[_0x32e606(0xe4)](_0x1e6b36);_0x50436d?(_0x519734[_0x32e606(0xdc)]({..._0xe3a372,..._0x50436d}),_0x5ba2fe[_0x32e606(0xf1)](_0x1e6b36)):_0x519734['push'](_0xe3a372);}for(const _0x3a77bd of _0x28a759){const _0x31b491=String(_0x3a77bd[_0x32e606(0x101)]);if(!_0x5ba2fe[_0x32e606(0xde)](_0x31b491))_0x519734[_0x32e606(0xdc)](_0x3a77bd);}return _0x519734[_0x32e606(0xdc)](..._0x3374c7),_0x519734;}export function resolveMergedTableColumns(_0x989996){const _0x190597=_0x4ba0c9,_0x290af6=_0x989996[_0x190597(0xea)]?.[_0x190597(0xd1)]?_0x989996['manual']:_0x989996[_0x190597(0xeb)]?.[_0x190597(0xd8)]||[],_0x4f2820=(_0x989996['tablePlugins']||[])['find'](_0x163566=>_0x163566?.[_0x190597(0x112)]===_0x190597(0x114)),_0xe147d7=_0x989996[_0x190597(0xeb)]?.[_0x190597(0x10d)]!==![]&&Boolean(_0x4f2820);if(!_0xe147d7)return pinOpColumnsLast(_0x290af6);const _0x3e4ea4=_0x4f2820?.[_0x190597(0x110)]||[],_0x2fb1bf=_0x989996[_0x190597(0xeb)]?.[_0x190597(0x110)]||[],_0x16ab96=buildAutoTableColumns(_0x989996[_0x190597(0xec)],{'ignoreFields':[..._0x3e4ea4,..._0x2fb1bf]});return pinOpColumnsLast(mergeByProp(_0x16ab96,_0x290af6));}export function pinOpColumnsLast(_0x294b07){const _0x9251e6=_0x4ba0c9,_0x7e2188=[],_0x578352=[];for(const _0xd71074 of _0x294b07){_0xd71074[_0x9251e6(0xdf)]==='op'?_0x7e2188[_0x9251e6(0xdc)]({..._0xd71074,'fixed':_0x9251e6(0xcf)}):_0x578352[_0x9251e6(0xdc)](_0xd71074);}if(!_0x7e2188[_0x9251e6(0xd1)])return _0x294b07;return[..._0x578352,..._0x7e2188];}function _0x1a78(){const _0x2aa943=['C2vYDMLJzq','C291CMnL','mtaWmtu4nLPeB3zAEa','ugDuzxH0','ugDcAwDjBNq','ywrK','AxnbCNjHEq','BNvSBgfIBgu','zMLSDgvY','BwfW','y29TBwvUDa','Aw5WDxq','n01Su3LeDG','mZaYmZe4tLPWzLry','EwvZx25Vx2jVB2XLyw4','DMfSDwu','zgLJDa','C2nHBgu','BNvTyMvY','C3rYAw5N','DgvUyw50swq','ChjVCa','AgfZrgvMyxvSDa','ChjVDg90ExbL','DgvZDa','ChjVCgvYDhLoyw1L','C3rHCNrZv2L0Aa','x3bLCM1PC3nPB24','zNvUy3rPB24','Dgv4DgfYzwe','BgfIzwW','Dg9mB3DLCKnHC2u','ugDtBwfSBfnLCMLHBa','yxv0BW','EwvZx25Vx251BwjLCG','CgfNzvf1zxj5t3a','AwDUB3jLrMLLBgrZ','y3jLyxrLvgLTzq','x19WBhvNAw4','C3DPDgnO','C2v0qxv0BW','ntGZmdq1rgLtEgrT','DM0TC3DPDgnO','mtu1mJC2ogTVz09SAa','CMLNAhq','zgvSzxrLvgLTzq','BgvUz3rO','oeH0rePMDa','DxbKyxrLvgLTzq','ugDoDw1LCMLJ','CMvXDwLYzwq','ugDcB29SzwfU','yM9VBgvHBG','y29SDw1UCW','DxbKyxrL','BMfTzxnWywnL','mteWnda5mtj4t2zQy1O','ChvZAa','CgfNzunVBhvTBNm','AgfZ','DhLWzq','zgvSzxrL','C3rHDhvZ','mZyXnZbMzwHcEu0','mtK0otCWnK1HtgLotq','z2v0','B2jQzwn0','C2vSzwn0Aw9U','ugDtBwfSBeLUDa','ugDcAwDtzxjPywW','y29SB3i','BwfUDwfS','DgfIBgvpChrZ'];_0x1a78=function(){return _0x2aa943;};return _0x1a78();}export function sortRequiredFirst(_0x522556){const _0x171a7a=_0x4ba0c9,_0x1e98fd=[],_0x299ee2=[];for(const _0x3f5bfc of _0x522556){_0x3f5bfc[_0x171a7a(0xd5)]===!![]||typeof _0x3f5bfc[_0x171a7a(0xd5)]===_0x171a7a(0x108)?_0x1e98fd[_0x171a7a(0xdc)](_0x3f5bfc):_0x299ee2[_0x171a7a(0xdc)](_0x3f5bfc);}return[..._0x1e98fd,..._0x299ee2];}export function buildAutoUpsertItems(_0x336f23,_0x13b8e7={}){const _0x4a4209=_0x4ba0c9,_0x314ea9=new Set([...UPSERT_BUILTIN_IGNORE,..._0x13b8e7[_0x4a4209(0x110)]||[]]),_0x2e188b=[];for(const _0x35b2a5 of epsColumns(_0x336f23)){const _0xe70a79=_0x35b2a5['propertyName'];if(_0x314ea9['has'](_0xe70a79))continue;const _0x3d4db9=_0x35b2a5[_0x4a4209(0xf6)]||_0xe70a79,_0x1e2fbb=dictKeyOf(_0x35b2a5),_0x3d8ed7=_0x35b2a5[_0x4a4209(0xf3)]===![]&&_0x35b2a5[_0x4a4209(0x102)]!==!![],_0x376f5e={'prop':_0xe70a79,'label':_0x3d4db9,'span':0xc,..._0x3d8ed7?{'required':!![]}:{}};if(_0xe70a79===_0x4a4209(0xe1)){const _0x16e83a=_0x1e2fbb||_0x4a4209(0xe1);isSwitchDict(_0x16e83a)?_0x2e188b[_0x4a4209(0xdc)](switchFormItem(_0x376f5e,_0x16e83a,switchDefaultValue(_0x16e83a))):_0x2e188b[_0x4a4209(0xdc)]({..._0x376f5e,'type':'select','dict':_0x16e83a,'value':()=>dictFirstValue(_0x16e83a)});continue;}if(_0x1e2fbb){isSwitchDict(_0x1e2fbb)?_0x2e188b['push'](switchFormItem(_0x376f5e,_0x1e2fbb,switchDefaultValue(_0x1e2fbb))):_0x2e188b[_0x4a4209(0xdc)]({..._0x376f5e,'type':'select','dict':_0x1e2fbb,'value':()=>dictFirstValue(_0x1e2fbb)});continue;}if(isTextCol(_0x35b2a5)){_0x2e188b['push']({..._0x376f5e,'type':_0x4a4209(0x109),'span':0xc});continue;}if(isBooleanCol(_0x35b2a5)){_0x2e188b[_0x4a4209(0xdc)]({..._0x376f5e,'type':_0x4a4209(0x113),'value':![],'component':{'props':()=>mapDictOptions('yes_no_boolean')},'dict':_0x4a4209(0xfa)});continue;}if(isIntegerCol(_0x35b2a5)||isNumericCol(_0x35b2a5)){const _0x3645de=numberPrecision(_0x35b2a5);_0x2e188b[_0x4a4209(0xdc)]({..._0x376f5e,'type':_0x4a4209(0xfe),'component':{'props':{'type':_0x4a4209(0xfe),'precision':_0x3645de,'controls':![]}}});continue;}_0x2e188b[_0x4a4209(0xdc)]({..._0x376f5e,'type':_0x4a4209(0xf7)});}return _0x2e188b;}export function buildAutoTableColumns(_0x1c2e9e,_0x15585e={}){const _0x4e324d=_0x4ba0c9,_0x441b5f=new Set([...TABLE_BUILTIN_IGNORE,...epsTableIgnore(_0x1c2e9e),..._0x15585e[_0x4e324d(0x110)]||[]]),_0x4ff34b=[];!_0x441b5f[_0x4e324d(0xde)]('selection')&&_0x4ff34b[_0x4e324d(0xdc)]({'type':_0x4e324d(0xe6),'width':0x32});for(const _0x4d07c7 of epsColumns(_0x1c2e9e)){const _0xe16f6e=_0x4d07c7['propertyName'];if(_0x441b5f[_0x4e324d(0xde)](_0xe16f6e))continue;const _0x28a65c=_0x4d07c7['comment']||_0xe16f6e,_0x2ab00a=dictKeyOf(_0x4d07c7);if(_0xe16f6e===_0x4e324d(0xe1)){const _0xa04c87=_0x2ab00a||_0x4e324d(0xe1);isSwitchDict(_0xa04c87)?_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'width':0x50,'component':{'name':'vm-switch','props':()=>mapDictOptions(_0xa04c87)}}):_0x4ff34b['push']({'prop':_0xe16f6e,'label':_0x28a65c,'width':0x64,'dict':()=>mapDictOptions(_0xa04c87)});continue;}if(_0x2ab00a&&isSwitchDict(_0x2ab00a)){_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'width':0x50,'component':{'name':_0x4e324d(0xcd),'props':()=>mapDictOptions(_0x2ab00a)}});continue;}if(_0xe16f6e==='id'){_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'width':0x50});continue;}if(_0xe16f6e==='createTime'){_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'width':0xa0});continue;}if(_0x2ab00a){_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'minWidth':0x78,'dict':()=>mapDictOptions(_0x2ab00a)});continue;}if(isTextCol(_0x4d07c7)){_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'minWidth':0xa0,'showOverflowTooltip':!![]});continue;}_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'minWidth':0x78});}if(!_0x441b5f[_0x4e324d(0xde)]('op')){const _0x5a926a=buildAutoOpButtons(_0x1c2e9e);_0x5a926a[_0x4e324d(0xd1)]&&_0x4ff34b[_0x4e324d(0xdc)]({'type':'op','buttons':_0x5a926a,'fixed':'right'});}return _0x4ff34b;}
|
|
1
|
+
const _0x1004e9=_0x19aa;(function(_0x38f34e,_0x3f8660){const _0x212f92=_0x19aa,_0x2608e2=_0x38f34e();while(!![]){try{const _0x1c9661=parseInt(_0x212f92(0xf7))/0x1*(-parseInt(_0x212f92(0x120))/0x2)+-parseInt(_0x212f92(0x10e))/0x3*(-parseInt(_0x212f92(0xec))/0x4)+parseInt(_0x212f92(0x107))/0x5*(-parseInt(_0x212f92(0x106))/0x6)+parseInt(_0x212f92(0x10a))/0x7*(-parseInt(_0x212f92(0x113))/0x8)+parseInt(_0x212f92(0xe9))/0x9+-parseInt(_0x212f92(0xe5))/0xa*(-parseInt(_0x212f92(0xf1))/0xb)+parseInt(_0x212f92(0xe7))/0xc;if(_0x1c9661===_0x3f8660)break;else _0x2608e2['push'](_0x2608e2['shift']());}catch(_0x2c765d){_0x2608e2['push'](_0x2608e2['shift']());}}}(_0x48ff,0xc8e9d));import{findEpsEntity}from'../lib/eps';import{getDictOptions}from'../../client';export const UPSERT_BUILTIN_IGNORE=['id','tenantId','createTime',_0x1004e9(0x117),_0x1004e9(0xea)];export const TABLE_BUILTIN_IGNORE=[_0x1004e9(0xea),_0x1004e9(0x117)];export function buildAutoOpButtons(_0x2dbc4d){const _0x3ec5e3=_0x1004e9,_0x51553f=_0x2dbc4d[_0x3ec5e3(0x118)],_0x514239=_0x242ddb=>_0x51553f!=null&&typeof _0x51553f==='object'&&Object[_0x3ec5e3(0xfd)][_0x3ec5e3(0xe6)][_0x3ec5e3(0xf5)](_0x51553f,_0x242ddb),_0x24ad1b=_0x190d0c=>Boolean(_0x2dbc4d[_0x3ec5e3(0xe1)]?.[_0x190d0c]),_0x4d29d8=[];if(_0x514239('update')&&_0x24ad1b(_0x3ec5e3(0x11d)))_0x4d29d8[_0x3ec5e3(0x105)](_0x3ec5e3(0xd9));if(_0x514239(_0x3ec5e3(0xe3))&&_0x24ad1b(_0x3ec5e3(0xe3)))_0x4d29d8[_0x3ec5e3(0x105)](_0x3ec5e3(0xe3));return _0x4d29d8;}function dictKeyOf(_0x5be491){const _0x5008c1=_0x1004e9;if(typeof _0x5be491[_0x5008c1(0xdf)]===_0x5008c1(0xf8)&&_0x5be491['dict'])return _0x5be491[_0x5008c1(0xdf)];if(Array[_0x5008c1(0x103)](_0x5be491[_0x5008c1(0xdf)])&&_0x5be491[_0x5008c1(0xdf)][0x0])return _0x5be491['dict'][0x0];return;}function isSwitchDict(_0x121de3){const _0x450da7=_0x1004e9;return _0x121de3===_0x450da7(0xf6)||_0x121de3===_0x450da7(0x101)||_0x121de3===_0x450da7(0xf3);}function switchDefaultValue(_0x464d5c){const _0x4b1b34=_0x1004e9;if(_0x464d5c==='yes_no_boolean')return![];if(_0x464d5c===_0x4b1b34(0xf3))return 0x0;return 0x1;}function switchFormItem(_0x3d8515,_0x339bb4,_0x7e1a7b){const _0x802551=_0x1004e9;return{..._0x3d8515,'type':_0x802551(0xf2),'value':_0x7e1a7b,'dict':_0x339bb4,'component':{'props':()=>mapDictOptions(_0x339bb4)}};}export function mapDictOptions(_0x4ebb4d){const _0x4fdc3b=_0x1004e9;return getDictOptions(_0x4ebb4d)[_0x4fdc3b(0x123)](_0x42b7a7=>{const _0x192681=_0x4fdc3b;let _0x2b1f5b=_0x42b7a7[_0x192681(0xe4)];return typeof _0x42b7a7[_0x192681(0xe4)]==='string'&&/^-?\d+(\.\d+)?$/['test'](_0x42b7a7['value'])&&(_0x2b1f5b=Number(_0x42b7a7[_0x192681(0xe4)])),{'label':String(_0x42b7a7[_0x192681(0xf0)]??''),'value':_0x2b1f5b,'color':_0x42b7a7['color']};});}export function dictFirstValue(_0x2e882d){const _0x547853=_0x1004e9,_0x358d2f=mapDictOptions(_0x2e882d)[0x0];return _0x358d2f?.[_0x547853(0xe4)];}export function resolveFormItemValue(_0x3454c6){const _0x1a69b6=_0x1004e9;return typeof _0x3454c6===_0x1a69b6(0xe8)?_0x3454c6():_0x3454c6;}function isMainTableCol(_0x10a22f){const _0x3b81ab=_0x1004e9;return!_0x10a22f[_0x3b81ab(0xee)]||_0x10a22f[_0x3b81ab(0xee)]['startsWith']('a.');}function _0x48ff(){const _0x22dc54=['mtKWBNHbs3Ld','AgfZt3DUuhjVCgvYDhK','mJKZotq2mfndAwnmsa','zNvUy3rPB24','ndy1nJKXnu1uqNnxwG','zgvSzxrLvgLTzq','yxv0BW','nJi3mZa3nMnusvftEq','x19WBhvNAw4','C291CMnL','ugDoDw1LCMLJ','BgfIzwW','mZq4odiXy3L0Aw1P','C3DPDgnO','EwvZx25Vx251BwjLCG','zMLUza','y2fSBa','C3rHDhvZ','mJq0odjvyKHfCw8','C3rYAw5N','AgfZrgvMyxvSDa','ChjVCgvYDhLoyw1L','C2vYDMLJzq','BgvUz3rO','ChjVDg90ExbL','CgfNzvf1zxj5t3a','y29SDw1UCW','y29SDw1UvhLWzq','EwvZx25Vx2jVB2XLyw4','y29TBwvUDa','AxnbCNjHEq','CMvXDwLYzwq','ChvZAa','nJu5ntK4mg5pELHKCW','nvDRDxH5qq','C3fSvhLWzq','yM9VBgvHBG','n1LLtNLZBq','AgfZ','BMfTzxnWywnL','C2v0qxv0BW','m0rgtfbcta','C2vSzwn0','zMLSDgvY','ugDszwfS','CMLNAhq','ntKZmJC2mfPxtgjKzG','Aw5WDxq','C2vSzwn0Aw9U','AwDUB3jLrMLLBgrZ','DxbKyxrLvgLTzq','CgvYBwLZC2LVBG','ugDcAwDjBNq','ugDtBwfSBeLUDa','DgvZDa','DM0TC3DPDgnO','DxbKyxrL','DgfIBgvpChrZ','DhLWzq','mJjtBK5su0O','ugDeB3vIBgvqCMvJAxnPB24','ChjVCa','BwfW','ywrK','CgfNzunVBhvTBNm','Dgv4DgfYzwe','C2nHBgu','BwfUDwfS','zwrPDa','BNvTyMvY','ugDcAwDtzxjPywW','BNvSBgfIBgu','y3jLyxrLvgLTzq','C3rHCNrZv2L0Aa','zgLJDa','Dg9mB3DLCKnHC2u','x3bLCM1PC3nPB24','ugDtBwfSBfnLCMLHBa','zgvSzxrL','DMfSDwu'];_0x48ff=function(){return _0x22dc54;};return _0x48ff();}function epsTableIgnore(_0xa886ed){const _0x34d069=_0x1004e9,_0x1d4024=_0xa886ed[_0x34d069(0x10c)]?findEpsEntity('/'+_0xa886ed[_0x34d069(0x10c)]):undefined,_0x1550ee=_0x1d4024?.[_0x34d069(0xfe)]?.[_0x34d069(0x116)];return Array[_0x34d069(0x103)](_0x1550ee)?_0x1550ee[_0x34d069(0x110)](_0x59307a=>typeof _0x59307a===_0x34d069(0xf8)&&_0x59307a):[];}function epsColumns(_0x50cf23){const _0x5bea93=_0x1004e9,_0x4c8b8f=_0x50cf23[_0x5bea93(0x10c)]?findEpsEntity('/'+_0x50cf23[_0x5bea93(0x10c)]):undefined;if(!_0x4c8b8f)return[];const _0x2745cd=[..._0x4c8b8f[_0x5bea93(0xff)]||[],..._0x4c8b8f[_0x5bea93(0xd5)]||[]],_0x324c89=new Set(),_0x4adeb3=[];for(const _0x282356 of _0x2745cd){if(!_0x282356[_0x5bea93(0xfa)]||!isMainTableCol(_0x282356))continue;if(_0x324c89[_0x5bea93(0x10b)](_0x282356[_0x5bea93(0xfa)]))continue;_0x324c89[_0x5bea93(0xd4)](_0x282356[_0x5bea93(0xfa)]),_0x4adeb3['push'](_0x282356);}return _0x4adeb3;}function _0x19aa(_0x4c134c,_0x1f6e0e){_0x4c134c=_0x4c134c-0xd4;const _0x48ffdc=_0x48ff();let _0x19aa5c=_0x48ffdc[_0x4c134c];if(_0x19aa['WoVkkr']===undefined){var _0x54a4aa=function(_0x3a8202){const _0x3616b6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2dbc4d='',_0x51553f='';for(let _0x514239=0x0,_0x24ad1b,_0x4d29d8,_0x242ddb=0x0;_0x4d29d8=_0x3a8202['charAt'](_0x242ddb++);~_0x4d29d8&&(_0x24ad1b=_0x514239%0x4?_0x24ad1b*0x40+_0x4d29d8:_0x4d29d8,_0x514239++%0x4)?_0x2dbc4d+=String['fromCharCode'](0xff&_0x24ad1b>>(-0x2*_0x514239&0x6)):0x0){_0x4d29d8=_0x3616b6['indexOf'](_0x4d29d8);}for(let _0x190d0c=0x0,_0x5be491=_0x2dbc4d['length'];_0x190d0c<_0x5be491;_0x190d0c++){_0x51553f+='%'+('00'+_0x2dbc4d['charCodeAt'](_0x190d0c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51553f);};_0x19aa['qVshNv']=_0x54a4aa,_0x19aa['vlFIxm']={},_0x19aa['WoVkkr']=!![];}const _0x5540e5=_0x48ffdc[0x0],_0x1569a3=_0x4c134c+_0x5540e5,_0x2d5a2e=_0x19aa['vlFIxm'][_0x1569a3];return!_0x2d5a2e?(_0x19aa5c=_0x19aa['qVshNv'](_0x19aa5c),_0x19aa['vlFIxm'][_0x1569a3]=_0x19aa5c):_0x19aa5c=_0x2d5a2e,_0x19aa5c;}function columnTypeOf(_0xe7a277){const _0x1dde0d=_0x1004e9;return String(_0xe7a277[_0x1dde0d(0x100)]||'');}function sqlTypeOf(_0x28d77d){const _0x22e840=_0x1004e9;return String(_0x28d77d[_0x22e840(0x108)]||'')[_0x22e840(0xe0)]();}function isTextCol(_0xc8f74b){const _0x59dc77=columnTypeOf(_0xc8f74b);if(_0x59dc77==='PgText')return!![];return sqlTypeOf(_0xc8f74b)==='text';}function isIntegerCol(_0x366b72){const _0x2edba7=_0x1004e9,_0x36b570=columnTypeOf(_0x366b72);if(_0x36b570==='PgInteger'||_0x36b570==='PgSerial'||_0x36b570===_0x2edba7(0x11a)||_0x36b570===_0x2edba7(0x119)||_0x36b570===_0x2edba7(0xe2)||_0x36b570===_0x2edba7(0xdb))return!![];if(_0x366b72[_0x2edba7(0x11f)]===_0x2edba7(0xda)&&!isNumericCol(_0x366b72))return!![];return/^(integer|serial|smallint|bigint|smallserial|bigserial)\b/[_0x2edba7(0x11b)](sqlTypeOf(_0x366b72));}function isNumericCol(_0x212671){const _0x47cc28=_0x1004e9,_0xcb3074=columnTypeOf(_0x212671);if(_0xcb3074===_0x47cc28(0xef)||_0xcb3074===_0x47cc28(0x121)||_0xcb3074===_0x47cc28(0x111))return!![];return/^(numeric|decimal|double|real)\b/[_0x47cc28(0x11b)](sqlTypeOf(_0x212671));}function isBooleanCol(_0x50fde0){const _0x177f79=_0x1004e9;return columnTypeOf(_0x50fde0)==='PgBoolean'||_0x50fde0[_0x177f79(0x11f)]==='boolean'||sqlTypeOf(_0x50fde0)[_0x177f79(0xde)](_0x177f79(0x109));}function numberPrecision(_0x3a5eef){const _0x47f196=_0x1004e9;if(isIntegerCol(_0x3a5eef))return 0x0;if(typeof _0x3a5eef[_0x47f196(0xd7)]==='number')return _0x3a5eef[_0x47f196(0xd7)];return 0x2;}export function mergeByProp(_0x1cbf09,_0x2106ae){const _0x5dbe77=_0x1004e9,_0x105d1f=_0x2106ae[_0x5dbe77(0x110)](_0x538916=>Boolean(_0x538916[_0x5dbe77(0x122)])),_0x4c6a4c=_0x2106ae[_0x5dbe77(0x110)](_0x48444e=>!_0x48444e[_0x5dbe77(0x122)]&&_0x48444e['type']),_0x1dfd78=new Map(_0x105d1f[_0x5dbe77(0x123)](_0xda82ea=>[String(_0xda82ea['prop']),_0xda82ea])),_0x366d07=new Set(_0x4c6a4c[_0x5dbe77(0x123)](_0x1677c2=>String(_0x1677c2[_0x5dbe77(0x11f)]))),_0x56b81c=new Set(),_0x378d4d=[];for(const _0x2148a5 of _0x1cbf09){if(!_0x2148a5[_0x5dbe77(0x122)]&&_0x2148a5[_0x5dbe77(0x11f)]){if(_0x366d07['has'](String(_0x2148a5[_0x5dbe77(0x11f)])))continue;_0x378d4d[_0x5dbe77(0x105)](_0x2148a5);continue;}if(!_0x2148a5[_0x5dbe77(0x122)])continue;const _0x3ca31d=String(_0x2148a5['prop']),_0x4e5cef=_0x1dfd78['get'](_0x3ca31d);_0x4e5cef?(_0x378d4d['push']({..._0x2148a5,..._0x4e5cef}),_0x56b81c[_0x5dbe77(0xd4)](_0x3ca31d)):_0x378d4d['push'](_0x2148a5);}for(const _0x1ad36f of _0x105d1f){const _0x23ecad=String(_0x1ad36f[_0x5dbe77(0x122)]);if(!_0x56b81c['has'](_0x23ecad))_0x378d4d['push'](_0x1ad36f);}return _0x378d4d['push'](..._0x4c6a4c),_0x378d4d;}export function resolveMergedTableColumns(_0xfbc937){const _0x367b86=_0x1004e9,_0x1fc754=_0xfbc937[_0x367b86(0xd8)]?.['length']?_0xfbc937[_0x367b86(0xd8)]:_0xfbc937['tableOpts']?.[_0x367b86(0xff)]||[],_0x217e8d=(_0xfbc937['tablePlugins']||[])[_0x367b86(0xf4)](_0x559772=>_0x559772?.[_0x367b86(0xed)]===_0x367b86(0x10d)),_0x125826=_0xfbc937[_0x367b86(0x11e)]?.[_0x367b86(0xeb)]!==![]&&Boolean(_0x217e8d);if(!_0x125826)return pinOpColumnsLast(_0x1fc754);const _0x29ff43=_0x217e8d?.[_0x367b86(0x116)]||[],_0x508490=_0xfbc937[_0x367b86(0x11e)]?.[_0x367b86(0x116)]||[],_0x24e9c7=buildAutoTableColumns(_0xfbc937[_0x367b86(0xfb)],{'ignoreFields':[..._0x29ff43,..._0x508490]});return pinOpColumnsLast(mergeByProp(_0x24e9c7,_0x1fc754));}export function pinOpColumnsLast(_0x1571a8){const _0x415b61=_0x1004e9,_0x7658b=[],_0x2f2d6a=[];for(const _0x4e5a03 of _0x1571a8){_0x4e5a03['type']==='op'?_0x7658b[_0x415b61(0x105)]({..._0x4e5a03,'fixed':_0x415b61(0x112)}):_0x2f2d6a[_0x415b61(0x105)](_0x4e5a03);}if(!_0x7658b[_0x415b61(0xfc)])return _0x1571a8;return[..._0x2f2d6a,..._0x7658b];}export function sortRequiredFirst(_0x5b994a){const _0x6bf180=_0x1004e9,_0x1e4f78=[],_0x566eef=[];for(const _0x2fd682 of _0x5b994a){_0x2fd682[_0x6bf180(0x104)]===!![]||typeof _0x2fd682[_0x6bf180(0x104)]==='function'?_0x1e4f78['push'](_0x2fd682):_0x566eef[_0x6bf180(0x105)](_0x2fd682);}return[..._0x1e4f78,..._0x566eef];}export function buildAutoUpsertItems(_0x44d2fd,_0x5b412e={}){const _0x535785=_0x1004e9,_0x3aa91b=new Set([...UPSERT_BUILTIN_IGNORE,..._0x5b412e[_0x535785(0x116)]||[]]),_0x1efc97=[];for(const _0x2e4cc4 of epsColumns(_0x44d2fd)){const _0x285728=_0x2e4cc4[_0x535785(0xfa)];if(_0x3aa91b[_0x535785(0x10b)](_0x285728))continue;const _0x4fb29c=_0x2e4cc4[_0x535785(0x102)]||_0x285728,_0x53df35=dictKeyOf(_0x2e4cc4),_0x5f2f12=_0x2e4cc4[_0x535785(0xdc)]===![]&&_0x2e4cc4[_0x535785(0xf9)]!==!![],_0x5ce3d6={'prop':_0x285728,'label':_0x4fb29c,'span':0xc,..._0x5f2f12?{'required':!![]}:{}};if(_0x285728===_0x535785(0xf6)){const _0x1b95bc=_0x53df35||_0x535785(0xf6);isSwitchDict(_0x1b95bc)?_0x1efc97['push'](switchFormItem(_0x5ce3d6,_0x1b95bc,switchDefaultValue(_0x1b95bc))):_0x1efc97['push']({..._0x5ce3d6,'type':'select','dict':_0x1b95bc,'value':()=>dictFirstValue(_0x1b95bc)});continue;}if(_0x53df35){isSwitchDict(_0x53df35)?_0x1efc97['push'](switchFormItem(_0x5ce3d6,_0x53df35,switchDefaultValue(_0x53df35))):_0x1efc97[_0x535785(0x105)]({..._0x5ce3d6,'type':_0x535785(0x10f),'dict':_0x53df35,'value':()=>dictFirstValue(_0x53df35)});continue;}if(isTextCol(_0x2e4cc4)){_0x1efc97[_0x535785(0x105)]({..._0x5ce3d6,'type':_0x535785(0xd6),'span':0xc});continue;}if(isBooleanCol(_0x2e4cc4)){_0x1efc97[_0x535785(0x105)]({..._0x5ce3d6,'type':_0x535785(0xf2),'value':![],'component':{'props':()=>mapDictOptions(_0x535785(0x101))},'dict':'yes_no_boolean'});continue;}if(isIntegerCol(_0x2e4cc4)||isNumericCol(_0x2e4cc4)){const _0x4b72b2=numberPrecision(_0x2e4cc4);_0x1efc97[_0x535785(0x105)]({..._0x5ce3d6,'type':'number','component':{'props':{'type':'number','precision':_0x4b72b2,'controls':![]}}});continue;}_0x1efc97['push']({..._0x5ce3d6,'type':_0x535785(0x114)});}return _0x1efc97;}export function buildAutoTableColumns(_0x2f7b33,_0x5cfa4d={}){const _0x21f96d=_0x1004e9,_0x52af97=new Set([...TABLE_BUILTIN_IGNORE,...epsTableIgnore(_0x2f7b33),..._0x5cfa4d['ignoreFields']||[]]),_0x142fd6=[];!_0x52af97[_0x21f96d(0x10b)](_0x21f96d(0x115))&&_0x142fd6[_0x21f96d(0x105)]({'type':_0x21f96d(0x115),'width':0x32});for(const _0x49a1cf of epsColumns(_0x2f7b33)){const _0x4a208f=_0x49a1cf[_0x21f96d(0xfa)];if(_0x52af97[_0x21f96d(0x10b)](_0x4a208f))continue;const _0x28f525=_0x49a1cf[_0x21f96d(0x102)]||_0x4a208f,_0x1078d8=dictKeyOf(_0x49a1cf);if(_0x4a208f===_0x21f96d(0xf6)){const _0xc7a027=_0x1078d8||_0x21f96d(0xf6);isSwitchDict(_0xc7a027)?_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'width':0x50,'component':{'name':_0x21f96d(0x11c),'props':()=>mapDictOptions(_0xc7a027)}}):_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'width':0x64,'dict':()=>mapDictOptions(_0xc7a027)});continue;}if(_0x1078d8&&isSwitchDict(_0x1078d8)){_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'width':0x50,'component':{'name':'vm-switch','props':()=>mapDictOptions(_0x1078d8)}});continue;}if(_0x4a208f==='id'){_0x142fd6['push']({'prop':_0x4a208f,'label':_0x28f525,'width':0x50});continue;}if(_0x4a208f===_0x21f96d(0xdd)){_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'width':0xa0});continue;}if(_0x1078d8){_0x142fd6['push']({'prop':_0x4a208f,'label':_0x28f525,'minWidth':0x78,'dict':()=>mapDictOptions(_0x1078d8)});continue;}if(isTextCol(_0x49a1cf)){_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'minWidth':0xa0,'showOverflowTooltip':!![]});continue;}_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'minWidth':0x78});}if(!_0x52af97[_0x21f96d(0x10b)]('op')){const _0x47f52d=buildAutoOpButtons(_0x2f7b33);_0x47f52d['length']&&_0x142fd6[_0x21f96d(0x105)]({'type':'op','buttons':_0x47f52d,'fixed':_0x21f96d(0x112)});}return _0x142fd6;}
|