@feedmepos/mf-order-setting 0.0.90 → 0.0.91
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/DisplaySystemView-n7Kqdw-h.js +6564 -0
- package/dist/{KioskDevicesView-WuOTJ9Fi.js → KioskDevicesView-Bz6seroM.js} +1 -1
- package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-DdHfATyN.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-I39sE8Pe.js} +3 -3
- package/dist/{KioskSettingView-Bsja2OqT.js → KioskSettingView-Cajjh4Zm.js} +3 -3
- package/dist/{KioskView-BH5qGTM_.js → KioskView-BPSbsMi5.js} +93 -89
- package/dist/{OrderSettingsView-D6V1ztiS.js → OrderSettingsView-jPxZ3JDM.js} +5 -5
- package/dist/{app-DsMk7W2h.js → app-DIhv5ssA.js} +266 -254
- package/dist/app.js +1 -1
- package/dist/frontend/mf-order/src/app.d.ts +18 -6
- package/dist/frontend/mf-order/src/main.d.ts +18 -6
- package/dist/frontend/mf-order/src/modules/display-system/interface.d.ts +6 -3
- package/dist/frontend/mf-order/src/modules/kiosk/bindDeviceError.d.ts +20 -0
- package/dist/frontend/mf-order/src/views/display-system/CanvasArea.vue.d.ts +48 -0
- package/dist/frontend/mf-order/src/views/display-system/DisplayLayoutCanvas.vue.d.ts +17 -14
- package/dist/frontend/mf-order/src/views/display-system/DisplayModulePickerDialog.vue.d.ts +2 -0
- package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{index-DGDiI0fr.js → index-Clp_YRJ2.js} +1 -1
- package/dist/{index-BUDM0Rqn.js → index-CmqNrkNl.js} +1 -1
- package/dist/{index-C2n1MV_1.js → index-vaSLX6r3.js} +2 -2
- package/dist/{order.dto-BRDWWgMV.js → order.dto-DV1qL3Q_.js} +21 -1
- package/dist/package/entity/alert/investigation.dto.d.ts +26 -0
- package/dist/package/entity/alert/lark-callback.dto.d.ts +19 -0
- package/dist/package/entity/alert/record-resolution.dto.d.ts +35 -0
- package/dist/package/entity/index.d.ts +1 -0
- package/dist/package/entity/kiosk/kiosk.do.d.ts +105 -0
- package/dist/package/entity/kiosk/kiosk.dto.d.ts +76 -0
- package/dist/style.css +1 -1
- package/package.json +3 -1
- package/src/locales/en-US.json +11 -4
- package/src/locales/zh-CN.json +9 -4
- package/src/modules/display-system/interface.spec.ts +90 -5
- package/src/modules/display-system/interface.ts +31 -21
- package/src/modules/kiosk/bindDeviceError.spec.ts +42 -0
- package/src/modules/kiosk/bindDeviceError.ts +40 -0
- package/src/views/display-system/CanvasArea.vue +355 -0
- package/src/views/display-system/DisplayLayoutCanvas.spec.ts +57 -0
- package/src/views/display-system/DisplayLayoutCanvas.vue +173 -298
- package/src/views/display-system/DisplayModulePickerDialog.spec.ts +71 -0
- package/src/views/display-system/DisplayModulePickerDialog.vue +107 -0
- package/src/views/display-system/DisplayTemplateEditor.spec.ts +151 -0
- package/src/views/display-system/DisplayTemplateEditor.vue +233 -193
- package/src/views/kiosk/KioskView.vue +2 -4
- package/vitest.config.ts +2 -0
- package/dist/DisplaySystemView-tosCa7Ej.js +0 -6485
- package/dist/frontend/mf-order/src/views/display-system/DisplayModulePalette.vue.d.ts +0 -13
- package/src/views/display-system/DisplayModulePalette.vue +0 -140
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
type __VLS_Props = {
|
|
2
|
-
canAdd: boolean;
|
|
3
|
-
};
|
|
4
|
-
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
5
|
-
add: (type: string) => any;
|
|
6
|
-
dragend: () => any;
|
|
7
|
-
dragstart: (type: string) => any;
|
|
8
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
9
|
-
onAdd?: ((type: string) => any) | undefined;
|
|
10
|
-
onDragend?: (() => any) | undefined;
|
|
11
|
-
onDragstart?: ((type: string) => any) | undefined;
|
|
12
|
-
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
-
export default _default;
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { computed } from 'vue'
|
|
3
|
-
import { useI18n } from '@feedmepos/mf-common'
|
|
4
|
-
import { DISPLAY_BLOCK_DEFINITIONS } from '@entity'
|
|
5
|
-
|
|
6
|
-
defineProps<{ canAdd: boolean }>()
|
|
7
|
-
|
|
8
|
-
// Authoring is deliberately ungated: templates are business-level while
|
|
9
|
-
// capabilities are bought per outlet, so the palette must not change shape with
|
|
10
|
-
// the outlet picker. A per-module "not licensed here" badge needs per-outlet
|
|
11
|
-
// capabilities for the template's own targets (a business-level endpoint that
|
|
12
|
-
// does not exist yet), so nothing is marked until that lands — a badge derived
|
|
13
|
-
// from the page's outlet selector would be wrong more often than right.
|
|
14
|
-
|
|
15
|
-
const emit = defineEmits<{
|
|
16
|
-
(event: 'add', type: string): void
|
|
17
|
-
(event: 'dragstart', type: string): void
|
|
18
|
-
(event: 'dragend'): void
|
|
19
|
-
}>()
|
|
20
|
-
|
|
21
|
-
const { t } = useI18n()
|
|
22
|
-
|
|
23
|
-
const GROUP_ORDER = ['pickup', 'queue', 'media', 'info'] as const
|
|
24
|
-
|
|
25
|
-
const groups = computed(() =>
|
|
26
|
-
GROUP_ORDER.map((group) => ({
|
|
27
|
-
group,
|
|
28
|
-
label: t(`order.displaySystem.editor.ui.group${group.charAt(0).toUpperCase()}${group.slice(1)}`),
|
|
29
|
-
items: DISPLAY_BLOCK_DEFINITIONS.filter((definition) => definition.editor.group === group)
|
|
30
|
-
})).filter((entry) => entry.items.length)
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
function onDragStart(event: DragEvent, type: string): void {
|
|
34
|
-
event.dataTransfer?.setData('application/x-display-block-type', type)
|
|
35
|
-
if (event.dataTransfer) event.dataTransfer.effectAllowed = 'copy'
|
|
36
|
-
emit('dragstart', type)
|
|
37
|
-
}
|
|
38
|
-
</script>
|
|
39
|
-
|
|
40
|
-
<template>
|
|
41
|
-
<div class="palette">
|
|
42
|
-
<div class="palette-head">
|
|
43
|
-
<h3 class="palette-title">{{ t('order.displaySystem.editor.ui.paletteTitle') }}</h3>
|
|
44
|
-
<p class="palette-hint">{{ t('order.displaySystem.editor.ui.paletteHint') }}</p>
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
<section v-for="entry in groups" :key="entry.group" class="palette-group">
|
|
48
|
-
<h4 class="palette-group-label">{{ entry.label }}</h4>
|
|
49
|
-
<button
|
|
50
|
-
v-for="definition in entry.items"
|
|
51
|
-
:key="definition.type"
|
|
52
|
-
type="button"
|
|
53
|
-
class="palette-card"
|
|
54
|
-
draggable="true"
|
|
55
|
-
:disabled="!canAdd"
|
|
56
|
-
@dragstart="onDragStart($event, definition.type)"
|
|
57
|
-
@dragend="emit('dragend')"
|
|
58
|
-
@click="emit('add', definition.type)"
|
|
59
|
-
>
|
|
60
|
-
<span class="palette-icon"><FmIcon :name="definition.editor.icon" size="sm" /></span>
|
|
61
|
-
<span class="palette-label">{{ t(definition.editor.labelKey) }}</span>
|
|
62
|
-
</button>
|
|
63
|
-
</section>
|
|
64
|
-
</div>
|
|
65
|
-
</template>
|
|
66
|
-
|
|
67
|
-
<style scoped>
|
|
68
|
-
.palette {
|
|
69
|
-
display: flex;
|
|
70
|
-
flex-direction: column;
|
|
71
|
-
gap: 16px;
|
|
72
|
-
}
|
|
73
|
-
.palette-head {
|
|
74
|
-
display: flex;
|
|
75
|
-
flex-direction: column;
|
|
76
|
-
gap: 4px;
|
|
77
|
-
}
|
|
78
|
-
.palette-title {
|
|
79
|
-
color: #111827;
|
|
80
|
-
font-size: 13px;
|
|
81
|
-
font-weight: 600;
|
|
82
|
-
}
|
|
83
|
-
.palette-hint {
|
|
84
|
-
color: #6b7280;
|
|
85
|
-
font-size: 11px;
|
|
86
|
-
line-height: 1.4;
|
|
87
|
-
}
|
|
88
|
-
.palette-group {
|
|
89
|
-
display: flex;
|
|
90
|
-
flex-direction: column;
|
|
91
|
-
gap: 6px;
|
|
92
|
-
}
|
|
93
|
-
.palette-group-label {
|
|
94
|
-
color: #9ca3af;
|
|
95
|
-
font-size: 10px;
|
|
96
|
-
font-weight: 700;
|
|
97
|
-
letter-spacing: 0.06em;
|
|
98
|
-
text-transform: uppercase;
|
|
99
|
-
}
|
|
100
|
-
.palette-card {
|
|
101
|
-
display: flex;
|
|
102
|
-
align-items: center;
|
|
103
|
-
gap: 8px;
|
|
104
|
-
border: 1px solid #e5e7eb;
|
|
105
|
-
border-radius: 8px;
|
|
106
|
-
padding: 8px 10px;
|
|
107
|
-
background: white;
|
|
108
|
-
color: #374151;
|
|
109
|
-
font-size: 13px;
|
|
110
|
-
text-align: left;
|
|
111
|
-
cursor: grab;
|
|
112
|
-
}
|
|
113
|
-
.palette-card:hover:not(:disabled) {
|
|
114
|
-
border-color: #f97316;
|
|
115
|
-
background: #fffbf5;
|
|
116
|
-
}
|
|
117
|
-
.palette-card:disabled {
|
|
118
|
-
cursor: not-allowed;
|
|
119
|
-
opacity: 0.5;
|
|
120
|
-
}
|
|
121
|
-
.palette-card:active {
|
|
122
|
-
cursor: grabbing;
|
|
123
|
-
}
|
|
124
|
-
.palette-icon {
|
|
125
|
-
display: grid;
|
|
126
|
-
height: 24px;
|
|
127
|
-
width: 24px;
|
|
128
|
-
flex: 0 0 auto;
|
|
129
|
-
place-items: center;
|
|
130
|
-
border-radius: 6px;
|
|
131
|
-
background: #f3f4f6;
|
|
132
|
-
color: #4b5563;
|
|
133
|
-
}
|
|
134
|
-
.palette-label {
|
|
135
|
-
min-width: 0;
|
|
136
|
-
flex: 1;
|
|
137
|
-
line-height: 1.25;
|
|
138
|
-
overflow-wrap: anywhere;
|
|
139
|
-
}
|
|
140
|
-
</style>
|