@jnrs/lingshu-smart 2.2.38 → 2.2.40
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/AGENTS.md +27 -25
- package/README.md +10 -10
- package/dist/components/debug/ScriptRunner/StressPanel.vue.d.ts +63 -0
- package/dist/components/debug/WsProxy/ConfigEditor.vue.d.ts +5 -3
- package/dist/components/debug/WsProxy/ConnPanel.vue.d.ts +10 -0
- package/dist/components/debug/WsProxy/MappingGrid.vue.d.ts +2 -0
- package/dist/components/debug/WsProxy/index.vue.d.ts +33 -4
- package/dist/components/debug/WsProxy/proxy.d.ts +65 -19
- package/dist/components/editor/ControlBar/CaseTitleEdit.vue.d.ts +16 -16
- package/dist/components/editor/OptionCard/Equipment/stationSlot/StationSlotGroupDialog.vue.d.ts +1 -1
- package/dist/components/index.js +5610 -4080
- package/dist/components/preview/index.vue.d.ts +439 -30
- package/dist/controller/AppController.d.ts +12 -0
- package/dist/index-DKL_kTJG.js +11441 -0
- package/dist/index.js +42 -38
- package/dist/lingshu-smart/cases.json +12818 -211
- package/dist/lingshu-smart/wsProxyConfig.json +1026 -520
- package/dist/locales/en.d.ts +2 -0
- package/dist/locales/i18next.d.ts +4 -0
- package/dist/locales/index.js +12 -8
- package/dist/locales/zhCn.d.ts +2 -0
- package/dist/playground/ViewPageDemo.vue.d.ts +1025 -159
- package/dist/stores/index.js +1 -1
- package/dist/stores/useAppStore.d.ts +1491 -264
- package/dist/stores/useDataStore.d.ts +2143 -262
- package/dist/stores/useDebugStore.d.ts +38 -557
- package/dist/types/components/config.types.d.ts +3 -1
- package/dist/types/enums.d.ts +3 -1
- package/dist/types/models/config.types.d.ts +34 -2
- package/dist/types/models/operating.types.d.ts +36 -4
- package/dist/ui/abstract/ModelAbs.d.ts +6 -0
- package/dist/ui/components/StationSlot.d.ts +15 -0
- package/dist/ui/components/StationSlotGroup.d.ts +6 -0
- package/dist/ui/models/MaterialTrack.d.ts +29 -0
- package/dist/ui/models/ResourceOperationWindow.d.ts +39 -0
- package/dist/ui/models/ShuttleStation.d.ts +3 -3
- package/dist/useAppStore-DlxnXCZs.js +15737 -0
- package/dist/utils/caseCompact.d.ts +17 -0
- package/dist/utils/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/index-YxSpi9Af.js +0 -131
- package/dist/useAppStore-CIFewItb.js +0 -26105
- /package/dist/components/debug/{DebugPanel.vue.d.ts → GlobalSetting.vue.d.ts} +0 -0
package/AGENTS.md
CHANGED
|
@@ -489,19 +489,19 @@ type ILayerOperating =
|
|
|
489
489
|
|
|
490
490
|
### 子类型一览
|
|
491
491
|
|
|
492
|
-
| 类型 | className | 特有属性
|
|
493
|
-
| ---------------------------- | -------------------- |
|
|
494
|
-
| `IMachineToolOperating` | `MACHINE_TOOL` | `light?`, `progress?`, `entrance?`, `stationRotatable?`
|
|
495
|
-
| `ILoadingStationOperating` | `LOADING_STATION` | `light?`, `progress?`, `entrance?`, `stationRotatable?`
|
|
496
|
-
| `IShuttleStationOperating` | `SHUTTLE_STATION` | `light?`, `
|
|
497
|
-
| `IMarkingMachineOperating` | `MARKING_MACHINE` | `light?`, `progress?`, `entrance?`, `laserSiteNumberArray?`
|
|
498
|
-
| `ICleaningMachineOperating` | `CLEANING_MACHINE` | `light?`, `progress?`, `entrance?`
|
|
499
|
-
| `ISingleJointRobotOperating` | `SINGLE_JOINT_ROBOT` | `light?`, `x?`, `y?`, `j1?`, `currentFixture?`, `resource?`
|
|
500
|
-
| `IDoubleJointRobotOperating` | `DOUBLE_JOINT_ROBOT` | `light?`, `x?`, `y?`, `j1?`, `j2?`, `currentFixture?`, `resource?`
|
|
501
|
-
| `IRGVOperating` | `RGV` | `light?`, `x?`, `j1?`, `forkXY?`, `forkZ?`, `resource?`
|
|
502
|
-
| `IRailOperating` | `RAIL` | `x?`, `botId?`
|
|
503
|
-
| `IResourceStoreOperating` | `RESOURCE_STORE` | `light?`, `x?`, `resource?`
|
|
504
|
-
| `IPalletOperating` | `PALLET` | `light?`, `x?`, `y?`, `resource?`
|
|
492
|
+
| 类型 | className | 特有属性 | 子组件能力 | 典型 payload.type |
|
|
493
|
+
| ---------------------------- | -------------------- | -------------------------------------------------------------------- | -------------------------------------------------- | ------------------ |
|
|
494
|
+
| `IMachineToolOperating` | `MACHINE_TOOL` | `light?`, `progress?`, `entrance?`, `stationRotatable?` | 状态灯(含旋转)、进度条、出入口、工位槽 | `MachineTool` |
|
|
495
|
+
| `ILoadingStationOperating` | `LOADING_STATION` | `light?`, `progress?`, `entrance?`, `stationRotatable?` | 状态灯(无旋转)、进度条、出入口、工位槽 | `LoadingStation` |
|
|
496
|
+
| `IShuttleStationOperating` | `SHUTTLE_STATION` | `light?`, `layerLightColor?`, `layerLightBlinking?`, `layerVisible?` | 状态灯、多工位层状态灯/显隐 | `ShuttleStation` |
|
|
497
|
+
| `IMarkingMachineOperating` | `MARKING_MACHINE` | `light?`, `progress?`, `entrance?`, `laserSiteNumberArray?` | 状态灯、进度条、出入口、工位槽、激光工位指示 | `MarkingMachine` |
|
|
498
|
+
| `ICleaningMachineOperating` | `CLEANING_MACHINE` | `light?`, `progress?`, `entrance?` | 状态灯、进度条、出入口、工位槽 | `CleaningMachine` |
|
|
499
|
+
| `ISingleJointRobotOperating` | `SINGLE_JOINT_ROBOT` | `light?`, `x?`, `y?`, `j1?`, `currentFixture?`, `resource?` | 双状态灯、轨道位移、关节旋转、夹具切换、双工位槽 | `SingleJointRobot` |
|
|
500
|
+
| `IDoubleJointRobotOperating` | `DOUBLE_JOINT_ROBOT` | `light?`, `x?`, `y?`, `j1?`, `j2?`, `currentFixture?`, `resource?` | 双状态灯、轨道位移、双关节旋转、夹具切换、双工位槽 | `DoubleJointRobot` |
|
|
501
|
+
| `IRGVOperating` | `RGV` | `light?`, `x?`, `j1?`, `forkXY?`, `forkZ?`, `resource?` | 双状态灯、轨道位移、旋转、货叉 XY/Z、双工位槽 | `Rgv` |
|
|
502
|
+
| `IRailOperating` | `RAIL` | `x?`, `botId?` | 拖链动画(关联 botId 的设备移动时拖链跟随) | `Rail` |
|
|
503
|
+
| `IResourceStoreOperating` | `RESOURCE_STORE` | `light?`, `x?`, `resource?` | 状态灯、轨道位移、托盘/刀具工位槽 | `ResourceStore` |
|
|
504
|
+
| `IPalletOperating` | `PALLET` | `light?`, `x?`, `y?`, `resource?` | 状态灯、X/Y 位移、托盘/刀具工位槽 | `Pallet` |
|
|
505
505
|
|
|
506
506
|
### 子类型字段详情
|
|
507
507
|
|
|
@@ -527,12 +527,14 @@ type ILayerOperating =
|
|
|
527
527
|
|
|
528
528
|
#### IShuttleStationOperating
|
|
529
529
|
|
|
530
|
-
| 属性
|
|
531
|
-
|
|
|
532
|
-
| `light`
|
|
533
|
-
| `
|
|
530
|
+
| 属性 | 类型 | 说明 |
|
|
531
|
+
| -------------------- | ----------------------------------- | ------------------------------------------------------------------- |
|
|
532
|
+
| `light` | `Omit<ILightOperating, 'rotating'>` | 状态灯(不支持旋转灯效) |
|
|
533
|
+
| `layerLightColor` | `Record<number, number \| string>` | 各层工位组状态灯颜色:键为层索引(1-based),值为状态码或颜色字符串 |
|
|
534
|
+
| `layerLightBlinking` | `Record<number, boolean>` | 各层工位组状态灯闪烁:键为层索引(1-based),值为是否闪烁 |
|
|
535
|
+
| `layerVisible` | `Record<number, boolean>` | 各层工位组显示状态:键为层索引(1-based),值为是否可见 |
|
|
534
536
|
|
|
535
|
-
> `
|
|
537
|
+
> `layerLightColor` 在代理器中通过 `dictColorMap` / `objDict` 转换后值为颜色字符串;未转换时值为状态数字码。
|
|
536
538
|
|
|
537
539
|
#### IMarkingMachineOperating
|
|
538
540
|
|
|
@@ -633,12 +635,12 @@ type ILayerOperating =
|
|
|
633
635
|
|
|
634
636
|
## 📦 模块总览
|
|
635
637
|
|
|
636
|
-
| 模块路径 | 说明
|
|
637
|
-
| -------------------------------- |
|
|
638
|
-
| `@jnrs/lingshu-smart` | 主模块,包含类型定义和工具函数
|
|
639
|
-
| `@jnrs/lingshu-smart/components` | Vue 组件库(编辑器、预览器)
|
|
638
|
+
| 模块路径 | 说明 |
|
|
639
|
+
| -------------------------------- | ------------------------------------- |
|
|
640
|
+
| `@jnrs/lingshu-smart` | 主模块,包含类型定义和工具函数 |
|
|
641
|
+
| `@jnrs/lingshu-smart/components` | Vue 组件库(编辑器、预览器) |
|
|
640
642
|
| `@jnrs/lingshu-smart/stores` | Pinia stores(data/editor/app/debug) |
|
|
641
|
-
| `@jnrs/lingshu-smart/locales` | 国际化配置
|
|
643
|
+
| `@jnrs/lingshu-smart/locales` | 国际化配置 |
|
|
642
644
|
|
|
643
645
|
---
|
|
644
646
|
|
|
@@ -727,9 +729,9 @@ type ILayerOperating =
|
|
|
727
729
|
| `utils/logger.ts` | 统一日志工具,支持 tag 着色、LogLevel 过滤、`operating` 追踪级别 |
|
|
728
730
|
| `utils/debug-flags.ts` | 模块级动画标志位,供 UI 组件直接导入控制循环动画 |
|
|
729
731
|
| `utils/performance-stats.ts` | 性能统计工具,记录运行时长和 WebSocket 数据接收量 |
|
|
730
|
-
| `stores/useDebugStore.ts` |
|
|
732
|
+
| `stores/useDebugStore.ts` | 全局设置 Pinia store(facade):响应式读写 `useDataStore.globalSetting` / `scriptRunner`,持久化统一在 `@jnrs/lingshu-smart` |
|
|
731
733
|
| `composables/useDebugEasterEgg.ts` | 调试触发检测:500ms 内 10 次点击打开面板 |
|
|
732
|
-
| `components/debug/
|
|
734
|
+
| `components/debug/GlobalSetting.vue` | 全局设置对话框 UI(原 DebugPanel,含语言/日志等级/FPS/阴影/动画等开关) |
|
|
733
735
|
| `components/debug/ScriptRunner/` | Socket 脚本模拟器:脚本步骤编排、断点调试、消息结构配置(code/msg、payload 字段名、type)、日志查看 |
|
|
734
736
|
| `components/debug/WsProxy/` | WebSocket 代理器:声明式字段映射将后端 socket 结构桥接为 operating,支持连接/断开/重连、日志、配置导出/导入、场景像素换算(percentToPixel 百分比/ runtimeToPixel 运行时坐标)、standalone 独立标签页模式 / remote 远程接收模式(BroadcastChannel 跨标签页流转数据) |
|
|
735
737
|
| `components/debug/WsProxy/WsProxyPage.vue` | `WsProxy` 独立路由页面组件:以独立 URL/标签页运行代理器配置,将 operating/raw/状态广播给预览页驱动图形运转 |
|
package/README.md
CHANGED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
### 核心功能
|
|
8
8
|
|
|
9
|
-
| 功能 | 说明
|
|
10
|
-
| ---------------- |
|
|
11
|
-
| 编辑器模式 | `LingshuSmartEditor` — 方案可视化编辑,支持拖拽布局、设备配置、图层管理、方案保存/预览
|
|
12
|
-
| 运行看板 | `LingshuSmartPreview` — 方案运行看板,支持 WebSocket 实时驱动设备动画、交互事件(点击/拖拽/右键菜单)
|
|
13
|
-
| 设备模型 | 机床、机器人(单关节/双关节)、RGV、装载站、打标机、清洗机、轨道拖链、资源库、托盘等
|
|
14
|
-
| 设备运转 | 灯光、进度条、入口动画、工位槽资源增删、坐标/角度/货叉控制
|
|
15
|
-
| 坐标转换 | `transRuntimeToPixel` / `transPercentToPixel` — 物理坐标与像素坐标互转
|
|
16
|
-
| WebSocket 代理器 | `WsProxy` — 声明式字段映射将后端 socket 数据桥接为 operating 驱动设备动画;支持内置请求器/外接注入两种数据源、direct/proxy 请求模式、自动连接开关、按 type
|
|
9
|
+
| 功能 | 说明 |
|
|
10
|
+
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
11
|
+
| 编辑器模式 | `LingshuSmartEditor` — 方案可视化编辑,支持拖拽布局、设备配置、图层管理、方案保存/预览 |
|
|
12
|
+
| 运行看板 | `LingshuSmartPreview` — 方案运行看板,支持 WebSocket 实时驱动设备动画、交互事件(点击/拖拽/右键菜单) |
|
|
13
|
+
| 设备模型 | 机床、机器人(单关节/双关节)、RGV、装载站、打标机、清洗机、轨道拖链、资源库、托盘等 |
|
|
14
|
+
| 设备运转 | 灯光、进度条、入口动画、工位槽资源增删、坐标/角度/货叉控制 |
|
|
15
|
+
| 坐标转换 | `transRuntimeToPixel` / `transPercentToPixel` — 物理坐标与像素坐标互转 |
|
|
16
|
+
| WebSocket 代理器 | `WsProxy` — 声明式字段映射将后端 socket 数据桥接为 operating 驱动设备动画;支持内置请求器/外接注入两种数据源、direct/proxy 请求模式、自动连接开关、按 type 分类代理配置及配置导出/导入;特殊处理支持固定值、像素转换、字典转换、对象值映射、模型映射表、条件判断,「始终记录」可关闭显示仍持续收集日志 |
|
|
17
17
|
|
|
18
18
|
## 💻 技术栈
|
|
19
19
|
|
|
@@ -112,7 +112,7 @@ ws.onmessage = (event) => {
|
|
|
112
112
|
|
|
113
113
|
### 配置持久化
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
所有配置通过 `localStorage` 统一持久化到单一 key `@jnrs/lingshu-smart`(`cases` / `wsProxyConfig` / `globalSetting` / `scriptRunner` 四个字段平级),旧版独立 key(`@jnrs/lingshu-smart/debug`、`@jnrs/lingshu-smart/script-steps`、`@jnrs/lingshu-smart/ws-proxy-config`)首次访问时自动迁移合并后删除。全局设置存放于 `globalSetting` 字段:
|
|
116
116
|
|
|
117
117
|
```json
|
|
118
118
|
{
|
|
@@ -125,7 +125,7 @@ ws.onmessage = (event) => {
|
|
|
125
125
|
}
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
页面刷新后自动恢复上次配置。如需重置,点击全局设置面板中的"恢复默认"按钮。
|
|
129
129
|
|
|
130
130
|
## 🌐 国际化
|
|
131
131
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/** 设备下拉选项(与 index.vue 的 DeviceOption 同构) */
|
|
2
|
+
interface StressDeviceOption {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
className: string;
|
|
6
|
+
nameplate: string;
|
|
7
|
+
}
|
|
8
|
+
type __VLS_Props = {
|
|
9
|
+
/** 测试模式:move 位移压测 / resource 资源流转 */
|
|
10
|
+
mode: 'move' | 'resource';
|
|
11
|
+
deviceOptions: StressDeviceOption[];
|
|
12
|
+
deviceValue: StressDeviceOption | null;
|
|
13
|
+
frequency: number;
|
|
14
|
+
amplitude: number;
|
|
15
|
+
period: number;
|
|
16
|
+
/** 资源流转:搬运设备(机器人/RGV) */
|
|
17
|
+
carrierOptions: StressDeviceOption[];
|
|
18
|
+
carrierValue: StressDeviceOption | null;
|
|
19
|
+
/** 资源流转:库设备(资源库/托盘) */
|
|
20
|
+
storeOptions: StressDeviceOption[];
|
|
21
|
+
storeValue: StressDeviceOption | null;
|
|
22
|
+
/** 资源流转:资源类型 Pallet/Tool */
|
|
23
|
+
resourceType: string;
|
|
24
|
+
/** 资源流转:同时搬运的资源数量 */
|
|
25
|
+
resourceCount: number;
|
|
26
|
+
/** 资源流转:每步间隔(ms) */
|
|
27
|
+
resourceInterval: number;
|
|
28
|
+
running: boolean;
|
|
29
|
+
sentCount: number;
|
|
30
|
+
actualHz: number;
|
|
31
|
+
elapsed: number;
|
|
32
|
+
sampleLog: boolean;
|
|
33
|
+
};
|
|
34
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
35
|
+
start: () => any;
|
|
36
|
+
stop: () => any;
|
|
37
|
+
"update:mode": (value: "resource" | "move") => any;
|
|
38
|
+
"update:deviceValue": (value: "" | StressDeviceOption) => any;
|
|
39
|
+
"update:frequency": (value: number) => any;
|
|
40
|
+
"update:amplitude": (value: number) => any;
|
|
41
|
+
"update:period": (value: number) => any;
|
|
42
|
+
"update:carrierValue": (value: "" | StressDeviceOption) => any;
|
|
43
|
+
"update:storeValue": (value: "" | StressDeviceOption) => any;
|
|
44
|
+
"update:resourceType": (value: string) => any;
|
|
45
|
+
"update:resourceCount": (value: number) => any;
|
|
46
|
+
"update:resourceInterval": (value: number) => any;
|
|
47
|
+
"update:sampleLog": (value: boolean) => any;
|
|
48
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
49
|
+
onStart?: (() => any) | undefined;
|
|
50
|
+
onStop?: (() => any) | undefined;
|
|
51
|
+
"onUpdate:mode"?: ((value: "resource" | "move") => any) | undefined;
|
|
52
|
+
"onUpdate:deviceValue"?: ((value: "" | StressDeviceOption) => any) | undefined;
|
|
53
|
+
"onUpdate:frequency"?: ((value: number) => any) | undefined;
|
|
54
|
+
"onUpdate:amplitude"?: ((value: number) => any) | undefined;
|
|
55
|
+
"onUpdate:period"?: ((value: number) => any) | undefined;
|
|
56
|
+
"onUpdate:carrierValue"?: ((value: "" | StressDeviceOption) => any) | undefined;
|
|
57
|
+
"onUpdate:storeValue"?: ((value: "" | StressDeviceOption) => any) | undefined;
|
|
58
|
+
"onUpdate:resourceType"?: ((value: string) => any) | undefined;
|
|
59
|
+
"onUpdate:resourceCount"?: ((value: number) => any) | undefined;
|
|
60
|
+
"onUpdate:resourceInterval"?: ((value: number) => any) | undefined;
|
|
61
|
+
"onUpdate:sampleLog"?: ((value: boolean) => any) | undefined;
|
|
62
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
63
|
+
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WsProxyConfig } from './proxy';
|
|
1
|
+
import { WsProxyConfig, WsProxyCaseConfig } from './proxy';
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
config: WsProxyConfig;
|
|
4
4
|
/** 配置来源:localFile 本地文件 / store 持久化配置(含用户手动修改场景) */
|
|
@@ -9,10 +9,12 @@ type __VLS_Props = {
|
|
|
9
9
|
hasDictFn?: boolean;
|
|
10
10
|
};
|
|
11
11
|
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
12
|
-
reset: (value:
|
|
12
|
+
reset: (value: WsProxyCaseConfig[]) => any;
|
|
13
13
|
"update:config": (value: WsProxyConfig) => any;
|
|
14
|
+
"exported-all": () => any;
|
|
14
15
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
|
-
onReset?: ((value:
|
|
16
|
+
onReset?: ((value: WsProxyCaseConfig[]) => any) | undefined;
|
|
16
17
|
"onUpdate:config"?: ((value: WsProxyConfig) => any) | undefined;
|
|
18
|
+
"onExported-all"?: (() => any) | undefined;
|
|
17
19
|
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
18
20
|
export default _default;
|
|
@@ -10,6 +10,12 @@ type __VLS_Props = {
|
|
|
10
10
|
stateInfo: string;
|
|
11
11
|
/** 心跳检测间隔(秒):0=关闭 */
|
|
12
12
|
heartbeatInterval: number;
|
|
13
|
+
/** 是否在请求时携带 Token */
|
|
14
|
+
carryToken: boolean;
|
|
15
|
+
/** 认证 Token 值(输入框自动回填) */
|
|
16
|
+
token: string;
|
|
17
|
+
/** 父组件是否传入了 token(未传入时输入框下方显示红色提示) */
|
|
18
|
+
tokenProvided: boolean;
|
|
13
19
|
};
|
|
14
20
|
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
15
21
|
disconnect: () => any;
|
|
@@ -18,6 +24,8 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
18
24
|
"update:requestMode": (value: WsProxyRequestMode) => any;
|
|
19
25
|
"update:autoConnect": (value: boolean) => any;
|
|
20
26
|
"update:heartbeatInterval": (value: number) => any;
|
|
27
|
+
"update:carryToken": (value: boolean) => any;
|
|
28
|
+
"update:token": (value: string) => any;
|
|
21
29
|
connect: () => any;
|
|
22
30
|
reconnect: () => any;
|
|
23
31
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
@@ -27,6 +35,8 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
27
35
|
"onUpdate:requestMode"?: ((value: WsProxyRequestMode) => any) | undefined;
|
|
28
36
|
"onUpdate:autoConnect"?: ((value: boolean) => any) | undefined;
|
|
29
37
|
"onUpdate:heartbeatInterval"?: ((value: number) => any) | undefined;
|
|
38
|
+
"onUpdate:carryToken"?: ((value: boolean) => any) | undefined;
|
|
39
|
+
"onUpdate:token"?: ((value: string) => any) | undefined;
|
|
30
40
|
onConnect?: (() => any) | undefined;
|
|
31
41
|
onReconnect?: (() => any) | undefined;
|
|
32
42
|
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
@@ -17,12 +17,14 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
17
17
|
update: () => any;
|
|
18
18
|
"update:targetFieldEditable": (value: boolean) => any;
|
|
19
19
|
"open-condition": (mapper: FieldMapper) => any;
|
|
20
|
+
"open-valuemap": (mapper: FieldMapper) => any;
|
|
20
21
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
21
22
|
onAdd?: (() => any) | undefined;
|
|
22
23
|
onRemove?: ((idx: number) => any) | undefined;
|
|
23
24
|
onUpdate?: (() => any) | undefined;
|
|
24
25
|
"onUpdate:targetFieldEditable"?: ((value: boolean) => any) | undefined;
|
|
25
26
|
"onOpen-condition"?: ((mapper: FieldMapper) => any) | undefined;
|
|
27
|
+
"onOpen-valuemap"?: ((mapper: FieldMapper) => any) | undefined;
|
|
26
28
|
}>, {
|
|
27
29
|
targetFieldEditable: boolean;
|
|
28
30
|
hasDictFn: boolean;
|
|
@@ -3,10 +3,27 @@ import { WsProxyConfig, ProxyRule, DictFn } from './proxy';
|
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
/** 是否自动应用注入的消息(父组件调用 expose 的 feedMessage 时) */
|
|
5
5
|
autoApply?: boolean;
|
|
6
|
-
/**
|
|
6
|
+
/** 初始配置(单套,可省略;多方案模式下由当前方案自动匹配/新建) */
|
|
7
7
|
config?: WsProxyConfig;
|
|
8
|
-
/** 场景信息:用于字段映射中 percentToPixel 换算(如 currentCase.scene)
|
|
8
|
+
/** 场景信息:用于字段映射中 percentToPixel 换算(如 currentCase.scene)
|
|
9
|
+
* 兼容旧用法:new 用法下由 currentCase.scene 派生,仅当 currentCase 缺失时回退此 prop */
|
|
9
10
|
scene?: IScene | null;
|
|
11
|
+
/** 当前方案 uuid:按方案自动匹配代理配置,未匹配则新建并绑定
|
|
12
|
+
* 兼容旧用法:new 用法下由 currentCase.uuid 派生,仅当 currentCase 缺失时回退此 prop */
|
|
13
|
+
currentCaseId?: string;
|
|
14
|
+
/** 当前方案(含 uuid/scene/title/layers):作为唯一权威来源,
|
|
15
|
+
* 内部派生 caseId 与 scene,并据此动态生成「画布模型类」列表 */
|
|
16
|
+
currentCase?: {
|
|
17
|
+
uuid?: string;
|
|
18
|
+
title?: string;
|
|
19
|
+
scene?: IScene | null;
|
|
20
|
+
layers?: Array<{
|
|
21
|
+
className?: string;
|
|
22
|
+
children?: Array<{
|
|
23
|
+
className?: string;
|
|
24
|
+
}>;
|
|
25
|
+
}>;
|
|
26
|
+
} | null;
|
|
10
27
|
/** 字典转换函数:用于「字典 Label / 字典 Color」特殊处理
|
|
11
28
|
* 入参 (name: string, value?: string|number, type: 'label'|'color'),返回 string 赋给画布字段 */
|
|
12
29
|
dictFn?: DictFn;
|
|
@@ -28,9 +45,21 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
|
|
|
28
45
|
onRaw?: ((data: unknown) => any) | undefined;
|
|
29
46
|
"onStatus-change"?: ((connected: boolean) => any) | undefined;
|
|
30
47
|
}>, {
|
|
31
|
-
scene: IScene | null;
|
|
32
48
|
config: WsProxyConfig;
|
|
33
|
-
|
|
49
|
+
scene: IScene | null;
|
|
50
|
+
currentCase: {
|
|
51
|
+
uuid?: string;
|
|
52
|
+
title?: string;
|
|
53
|
+
scene?: IScene | null;
|
|
54
|
+
layers?: Array<{
|
|
55
|
+
className?: string;
|
|
56
|
+
children?: Array<{
|
|
57
|
+
className?: string;
|
|
58
|
+
}>;
|
|
59
|
+
}>;
|
|
60
|
+
} | null;
|
|
34
61
|
token: string;
|
|
62
|
+
autoApply: boolean;
|
|
63
|
+
currentCaseId: string;
|
|
35
64
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
36
65
|
export default _default;
|
|
@@ -14,7 +14,7 @@ export interface FieldMapper {
|
|
|
14
14
|
target: string;
|
|
15
15
|
/** payload 源字段路径(支持点号嵌套,如 displayColor) */
|
|
16
16
|
source?: string;
|
|
17
|
-
/** 常量值(与 source
|
|
17
|
+
/** 常量值(与 source 互斥,优先级最高;「固定值」特殊处理时由输入框写入,直接赋给画布字段) */
|
|
18
18
|
constant?: boolean | number | string;
|
|
19
19
|
/** 值映射:把源字段的取值映射为指定值(键为源值字符串,如 { '1': true }) */
|
|
20
20
|
valueMap?: Record<string, boolean | number | string>;
|
|
@@ -22,15 +22,17 @@ export interface FieldMapper {
|
|
|
22
22
|
defaultValue?: boolean | number | string | Record<string, unknown>;
|
|
23
23
|
/** 是否启用该映射(默认 true) */
|
|
24
24
|
enabled?: boolean;
|
|
25
|
-
/** 特殊处理:'percentToPixel' 百分比转像素 / 'runtimeToPixel' 运行时坐标转像素 / 'dictLabel' 字典Label / 'dictColor' 字典Color / 'dictColorMap' 对象值批量字典Color / 'condition' 条件判断;为空表示不处理 */
|
|
26
|
-
transform?: 'percentToPixel' | 'runtimeToPixel' | 'dictLabel' | 'dictColor' | 'dictColorMap' | 'condition';
|
|
25
|
+
/** 特殊处理:'constant' 固定值 / 'percentToPixel' 百分比转像素 / 'runtimeToPixel' 运行时坐标转像素 / 'dictLabel' 字典Label / 'dictColor' 字典Color / 'dictColorMap' 对象值批量字典Color / 'objDict' 对象值批量映射 / 'modelMap' 模型映射表 / 'condition' 条件判断;为空表示不处理 */
|
|
26
|
+
transform?: 'constant' | 'percentToPixel' | 'runtimeToPixel' | 'dictLabel' | 'dictColor' | 'dictColorMap' | 'objDict' | 'modelMap' | 'condition';
|
|
27
27
|
/** 换算维度(transform 为 percentToPixel / runtimeToPixel 时必填):'width' 横向 / 'height' 纵向 */
|
|
28
28
|
transformType?: 'width' | 'height';
|
|
29
29
|
/** 换算精度(transform 为 percentToPixel 时生效,默认 2) */
|
|
30
30
|
transformPrecision?: number;
|
|
31
|
-
/** 字典名称(transform 为 dictLabel / dictColor 时生效,传给 dictFn 的 name 入参) */
|
|
31
|
+
/** 字典名称(transform 为 dictLabel / dictColor / dictColorMap / objDict 时生效,传给 dictFn 的 name 入参) */
|
|
32
32
|
dictName?: string;
|
|
33
|
-
/**
|
|
33
|
+
/** 输出目标类型(transform 为 'objDict' 时生效):'string' 默认 / 'number' 转数字 / 'boolean' 布尔标准化;未命中映射保持原值 */
|
|
34
|
+
transformTargetType?: 'string' | 'number' | 'boolean';
|
|
35
|
+
/** 条件判断列表(transform 为 'condition' 时生效,按顺序匹配首个为 true 的条件,赋其 value 给画布字段;无匹配时回退 defaultValue,未配置则保持源值) */
|
|
34
36
|
conditions?: ConditionRule[];
|
|
35
37
|
}
|
|
36
38
|
/** 字典转换函数:将「源业务数据」字段值按字典名称转换为「画布字段」值
|
|
@@ -71,6 +73,8 @@ export interface ProxyRule {
|
|
|
71
73
|
resourceMappings?: ResourceFieldMap;
|
|
72
74
|
/** 全局操作字段映射(operate: 'global' 时生效) */
|
|
73
75
|
globalFields?: GlobalFieldConfig;
|
|
76
|
+
/** 手动新增标记:「+ 新增」手动添加的规则不随方案设备类型自动移除 */
|
|
77
|
+
custom?: boolean;
|
|
74
78
|
}
|
|
75
79
|
/** 请求模式:direct 直接请求(完整 ws/wss 地址);proxy 代理请求(仅 path,通过 vite/nginx 代理转发) */
|
|
76
80
|
export type WsProxyRequestMode = 'direct' | 'proxy';
|
|
@@ -78,10 +82,10 @@ export type WsProxyRequestMode = 'direct' | 'proxy';
|
|
|
78
82
|
export type WsProxyDataSource = 'builtin' | 'external';
|
|
79
83
|
/** WsProxy 代理配置(可导出为 JSON) */
|
|
80
84
|
export interface WsProxyConfig {
|
|
81
|
-
/**
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
version:
|
|
85
|
+
/** 配置文件完整路径(public 起始,含 .json),用于定位与加载本地配置文件 */
|
|
86
|
+
fileUrl?: string;
|
|
87
|
+
/** 配置版本(字符串,如 '1' / '1.0.0') */
|
|
88
|
+
version: string;
|
|
85
89
|
/** 数据源:builtin 内置模式(组件内置 WebSocket 请求器);external 外接模式(feedMessage 注入);默认 builtin */
|
|
86
90
|
dataSource?: WsProxyDataSource;
|
|
87
91
|
/** 默认 WebSocket 地址(可选)
|
|
@@ -98,22 +102,40 @@ export interface WsProxyConfig {
|
|
|
98
102
|
sourceTypeField?: string;
|
|
99
103
|
/** 心跳检测间隔(秒):0=关闭;>0=开启,定期发送心跳消息检测连接活性 */
|
|
100
104
|
heartbeatInterval?: number;
|
|
105
|
+
/** 是否在连接请求时携带 Token(作为 WebSocket 子协议);默认 false */
|
|
106
|
+
carryToken?: boolean;
|
|
107
|
+
/** 模型映射表:源业务数据值 → 画布模型 className(如 { '1': 'MachineTool' })
|
|
108
|
+
* 供字段映射的「模型映射表」特殊处理引用,将源值转换为对应模型的 className */
|
|
109
|
+
modelMap?: Record<string, string>;
|
|
101
110
|
/** 各消息类型的代理规则 */
|
|
102
111
|
rules: ProxyRule[];
|
|
103
112
|
}
|
|
113
|
+
/** 绑定到某一方案的代理器配置:在 WsProxyConfig 基础上增加方案绑定标识 */
|
|
114
|
+
export interface WsProxyCaseConfig extends WsProxyConfig {
|
|
115
|
+
/** 绑定的方案 uuid(currentCase.uuid),用于按方案自动匹配 */
|
|
116
|
+
caseId: string;
|
|
117
|
+
/** 方案名称(currentCase.title),用于方案切换下拉左侧展示;可缺省,缺省时回退 uuid */
|
|
118
|
+
caseName?: string;
|
|
119
|
+
}
|
|
120
|
+
/** 默认本地配置文件完整路径(public 起始,含 .json,用于定位/加载/导出的固定 fileUrl) */
|
|
121
|
+
export declare const DEFAULT_CONFIG_FILE_URL = "public/lingshu-smart/wsProxyConfig.json";
|
|
122
|
+
/** 由 fileUrl 推导实际 fetch 路径:去掉开头多余 / 与 public/ 前缀,补全 .json 扩展名,
|
|
123
|
+
* 并追加时间戳参数以禁用浏览器缓存(保证「重新应用此配置」始终读取最新文件内容) */
|
|
124
|
+
export declare function resolveConfigFetchPath(fileUrl?: string): string;
|
|
104
125
|
/** 按点号路径从对象取值 */
|
|
105
126
|
export declare function getPath(obj: unknown, path: string): unknown;
|
|
106
127
|
/** 按点号路径在对象上设值(自动创建中间对象) */
|
|
107
128
|
export declare function setPath(obj: Record<string, unknown>, path: string, value: unknown): void;
|
|
108
129
|
/** 解析单个字段映射:常量 > 值映射 > 源字段 > 默认值
|
|
109
|
-
* @param dictFn 字典转换函数(可选,未传入时按默认规则:label 原样返回 value,color 返回 '#fff')
|
|
110
|
-
|
|
130
|
+
* @param dictFn 字典转换函数(可选,未传入时按默认规则:label 原样返回 value,color 返回 '#fff')
|
|
131
|
+
* @param modelMap 模型映射表(可选,transform 为 'modelMap' 时引用,将源值转换为画布模型 className) */
|
|
132
|
+
export declare function resolveMapper(payload: Record<string, unknown>, mapper: FieldMapper, scene?: IScene | null, dictFn?: DictFn, modelMap?: Record<string, string>): unknown;
|
|
111
133
|
/** 根据单条规则构建 operating 对象(operate: 'single') */
|
|
112
|
-
export declare function buildOperating(payload: Record<string, unknown>, rule: ProxyRule, scene?: IScene | null, dictFn?: DictFn): ILayerOperating | null;
|
|
134
|
+
export declare function buildOperating(payload: Record<string, unknown>, rule: ProxyRule, scene?: IScene | null, dictFn?: DictFn, modelMap?: Record<string, string>): ILayerOperating | null;
|
|
113
135
|
/** 根据 Resource 规则构建资源增删 operating 列表(operate: 'resource')
|
|
114
136
|
* 字段来源由 rule.resourceMappings.add / remove 动态映射配置,未配置时使用内置默认映射。
|
|
115
137
|
* target 支持点号嵌套:className / id 为目标设备匹配字段,resource.* 为资源对象字段。 */
|
|
116
|
-
export declare function buildResourceOperating(payload: Record<string, unknown>, rule: ProxyRule, scene?: IScene | null, dictFn?: DictFn): ILayerOperating[];
|
|
138
|
+
export declare function buildResourceOperating(payload: Record<string, unknown>, rule: ProxyRule, scene?: IScene | null, dictFn?: DictFn, modelMap?: Record<string, string>): ILayerOperating[];
|
|
117
139
|
/** 根据全局操作规则构建 operating(operate: 'global')
|
|
118
140
|
* resourceIds 从源消息中按 globalFields.resourceIds 路径提取,为空时使用 payloadKey */
|
|
119
141
|
export declare function buildGlobalOperating(msg: Record<string, unknown>, rule: ProxyRule, payloadKey: string): ILayerOperating[];
|
|
@@ -126,19 +148,40 @@ export declare function buildGlobalOperating(msg: Record<string, unknown>, rule:
|
|
|
126
148
|
* @param payloadKey 业务数据字段名:源消息下该字段的数据作为画布运行 payload(默认 data,回退到 payload)
|
|
127
149
|
* @param sourceTypeField 源类型字段名:从源消息中提取设备类型的字段路径(默认 type)
|
|
128
150
|
* @param dictFn 字典转换函数(可选,用于 dictLabel / dictColor 特殊处理)
|
|
151
|
+
* @param modelMap 模型映射表(可选,用于 modelMap 特殊处理:源业务数据值 → 画布模型 className)
|
|
129
152
|
* @returns operating 列表(可能为空数组;非标准数组数据返回空数组由 @raw 处理)
|
|
130
153
|
*/
|
|
131
|
-
export declare function applyProxy(rawMessage: unknown, rules: ProxyRule[], scene?: IScene | null, payloadKey?: string, sourceTypeField?: string, dictFn?: DictFn): ILayerOperating[];
|
|
154
|
+
export declare function applyProxy(rawMessage: unknown, rules: ProxyRule[], scene?: IScene | null, payloadKey?: string, sourceTypeField?: string, dictFn?: DictFn, modelMap?: Record<string, string>): ILayerOperating[];
|
|
132
155
|
/** 资源新增字段默认映射(target 取自 IModelOperating + IResourceOperating,源字段名取自 ViewPageDemo.vue 中 Resource 操作的标准 payload 字段) */
|
|
133
156
|
export declare const DEFAULT_RESOURCE_ADD_MAPPERS: FieldMapper[];
|
|
134
157
|
/** 资源移除字段默认映射 */
|
|
135
158
|
export declare const DEFAULT_RESOURCE_REMOVE_MAPPERS: FieldMapper[];
|
|
136
|
-
/**
|
|
159
|
+
/** 默认代理配置(含全部已知设备类型) */
|
|
137
160
|
export declare function createDefaultConfig(): WsProxyConfig;
|
|
138
|
-
/**
|
|
161
|
+
/** 返回某设备类型的默认代理规则;未知类型返回 null(供「画布模型类」按 currentCase 缺型兜底) */
|
|
162
|
+
export declare function getDefaultDeviceRule(className: string): ProxyRule | null;
|
|
163
|
+
/**
|
|
164
|
+
* 为指定方案构建代理配置:仅包含该方案当前存在的设备类型(deviceClassNames)的默认映射,
|
|
165
|
+
* 外加始终保留的 Resource / BatchRemove 操作规则。供「画布模型类」按 currentCase 动态生成使用。
|
|
166
|
+
* @param caseId 绑定的方案 uuid
|
|
167
|
+
* @param deviceClassNames 方案中实际存在的设备类型 className 列表(去重后)
|
|
168
|
+
*/
|
|
169
|
+
export declare function createDefaultConfigForCase(caseId: string, deviceClassNames: string[]): WsProxyCaseConfig;
|
|
170
|
+
/** 校验导入的配置结构是否合法(单个配置对象)
|
|
171
|
+
* 兼容旧配置:仅有 name(相对路径,如 lingshu-smart/wsProxyConfig)时,自动推导为 fileUrl 并删除 name */
|
|
139
172
|
export declare function validateConfig(raw: unknown): WsProxyConfig | null;
|
|
140
|
-
/**
|
|
173
|
+
/** 校验代理器配置数组是否合法 */
|
|
174
|
+
export declare function validateCaseConfigArray(raw: unknown): WsProxyCaseConfig[] | null;
|
|
175
|
+
/** 将配置序列化为 JSON 字符串
|
|
176
|
+
* 字段顺序:caseId / caseName(方案绑定,置于最前)→ fileUrl → 其余配置 */
|
|
141
177
|
export declare function serializeConfig(config: WsProxyConfig): string;
|
|
178
|
+
/** 将代理器配置数组序列化为 JSON 字符串 */
|
|
179
|
+
export declare function serializeCaseConfigArray(configs: WsProxyCaseConfig[]): string;
|
|
180
|
+
/**
|
|
181
|
+
* 兼容旧版单配置:若读取到的数据是单个配置对象(含 name + rules 数组),
|
|
182
|
+
* 则包装为数组并赋予空 caseId(由调用方按需绑定方案)。
|
|
183
|
+
*/
|
|
184
|
+
export declare function normalizeToCaseConfigArray(raw: unknown): WsProxyCaseConfig[];
|
|
142
185
|
/** 触发浏览器下载 JSON 配置文件(文件名:wsProxyConfig_ + 年月日时分秒) */
|
|
143
186
|
export declare function downloadConfig(config: WsProxyConfig): void;
|
|
144
187
|
/** 生成导出文件名:wsProxyConfig_yyyy_MM_dd_HH_mm_ss */
|
|
@@ -147,6 +190,7 @@ export declare function timestampName(): string;
|
|
|
147
190
|
export type LocalFileConfigResult = {
|
|
148
191
|
status: 'ok';
|
|
149
192
|
config: WsProxyConfig;
|
|
193
|
+
configs: WsProxyCaseConfig[];
|
|
150
194
|
} | {
|
|
151
195
|
status: 'missing';
|
|
152
196
|
reason: string;
|
|
@@ -157,5 +201,7 @@ export type LocalFileConfigResult = {
|
|
|
157
201
|
status: 'unknown';
|
|
158
202
|
reason: string;
|
|
159
203
|
};
|
|
160
|
-
/** 从业务工程 public 目录读取配置文件(
|
|
161
|
-
|
|
204
|
+
/** 从业务工程 public 目录读取配置文件(fileUrl 为完整路径,如 public/lingshu-smart/wsProxyConfig.json)
|
|
205
|
+
* 支持数组格式(每套配置绑定一个方案 caseId);非数组为旧版单配置(无 uuid 匹配概念,直接返回)。
|
|
206
|
+
* 传入 caseId 且为数组格式时,必须匹配到该 uuid 才算加载成功,否则返回 invalid(未匹配到 uuid)。 */
|
|
207
|
+
export declare function loadLocalFileConfig(fileUrl: string, caseId?: string): Promise<LocalFileConfigResult>;
|
|
@@ -27,8 +27,8 @@ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import
|
|
|
27
27
|
readonly name?: string | undefined;
|
|
28
28
|
readonly disabled?: boolean | undefined;
|
|
29
29
|
readonly id?: string | undefined;
|
|
30
|
-
readonly placeholder?: string | undefined;
|
|
31
30
|
readonly form?: string | undefined;
|
|
31
|
+
readonly placeholder?: string | undefined;
|
|
32
32
|
readonly size?: import('element-plus').ComponentSize | undefined;
|
|
33
33
|
readonly resize?: "none" | "both" | "horizontal" | "vertical" | undefined;
|
|
34
34
|
readonly ariaLabel?: string | undefined;
|
|
@@ -37,7 +37,7 @@ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import
|
|
|
37
37
|
readonly suffixIcon?: import('element-plus/es/utils/index.mjs').IconPropType | undefined;
|
|
38
38
|
readonly autofocus?: boolean | undefined;
|
|
39
39
|
readonly readonly?: boolean | undefined;
|
|
40
|
-
readonly inputmode?: "none" | "
|
|
40
|
+
readonly inputmode?: "none" | "text" | "search" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined;
|
|
41
41
|
readonly maxlength?: string | number | undefined;
|
|
42
42
|
readonly minlength?: string | number | undefined;
|
|
43
43
|
readonly autosize?: import('element-plus').InputAutoSize | undefined;
|
|
@@ -72,7 +72,7 @@ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import
|
|
|
72
72
|
$root: import('vue').ComponentPublicInstance | null;
|
|
73
73
|
$parent: import('vue').ComponentPublicInstance | null;
|
|
74
74
|
$host: Element | null;
|
|
75
|
-
$emit: ((event: "blur", evt: FocusEvent) => void) & ((event: "
|
|
75
|
+
$emit: ((event: "blur", evt: FocusEvent) => void) & ((event: "input", value: string) => void) & ((event: "focus", evt: FocusEvent) => void) & ((event: "clear") => void) & ((event: "change", value: string, evt?: Event | undefined) => void) & ((event: "compositionend", evt: CompositionEvent) => void) & ((event: "compositionstart", evt: CompositionEvent) => void) & ((event: "compositionupdate", evt: CompositionEvent) => void) & ((event: "keydown", evt: Event | KeyboardEvent) => void) & ((event: "mouseenter", evt: MouseEvent) => void) & ((event: "mouseleave", evt: MouseEvent) => void) & ((event: "update:modelValue", value: string) => void);
|
|
76
76
|
$el: any;
|
|
77
77
|
$options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
|
|
78
78
|
name: {
|
|
@@ -82,21 +82,21 @@ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import
|
|
|
82
82
|
type: import('vue').PropType<boolean>;
|
|
83
83
|
default: undefined;
|
|
84
84
|
};
|
|
85
|
+
id: {
|
|
86
|
+
type: import('vue').PropType<string>;
|
|
87
|
+
};
|
|
85
88
|
type: {
|
|
86
89
|
type: import('vue').PropType<import('element-plus').InputType>;
|
|
87
90
|
default: import('element-plus').InputType;
|
|
88
91
|
};
|
|
89
|
-
|
|
92
|
+
form: {
|
|
90
93
|
type: import('vue').PropType<string>;
|
|
91
94
|
};
|
|
92
95
|
placeholder: {
|
|
93
96
|
type: import('vue').PropType<string>;
|
|
94
97
|
};
|
|
95
|
-
form: {
|
|
96
|
-
type: import('vue').PropType<string>;
|
|
97
|
-
};
|
|
98
98
|
size: {
|
|
99
|
-
type: import('vue').PropType<"" | "
|
|
99
|
+
type: import('vue').PropType<"" | "default" | "small" | "large">;
|
|
100
100
|
};
|
|
101
101
|
resize: {
|
|
102
102
|
type: import('vue').PropType<"horizontal" | "vertical" | "none" | "both">;
|
|
@@ -141,7 +141,7 @@ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import
|
|
|
141
141
|
type: import('vue').PropType<boolean>;
|
|
142
142
|
};
|
|
143
143
|
inputmode: {
|
|
144
|
-
type: import('vue').PropType<"none" | "
|
|
144
|
+
type: import('vue').PropType<"none" | "text" | "search" | "url" | "email" | "tel" | "numeric" | "decimal">;
|
|
145
145
|
};
|
|
146
146
|
modelModifiers: {
|
|
147
147
|
type: import('vue').PropType<import('element-plus').InputModelModifiers>;
|
|
@@ -272,21 +272,21 @@ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import
|
|
|
272
272
|
type: import('vue').PropType<boolean>;
|
|
273
273
|
default: undefined;
|
|
274
274
|
};
|
|
275
|
+
id: {
|
|
276
|
+
type: import('vue').PropType<string>;
|
|
277
|
+
};
|
|
275
278
|
type: {
|
|
276
279
|
type: import('vue').PropType<import('element-plus').InputType>;
|
|
277
280
|
default: import('element-plus').InputType;
|
|
278
281
|
};
|
|
279
|
-
|
|
282
|
+
form: {
|
|
280
283
|
type: import('vue').PropType<string>;
|
|
281
284
|
};
|
|
282
285
|
placeholder: {
|
|
283
286
|
type: import('vue').PropType<string>;
|
|
284
287
|
};
|
|
285
|
-
form: {
|
|
286
|
-
type: import('vue').PropType<string>;
|
|
287
|
-
};
|
|
288
288
|
size: {
|
|
289
|
-
type: import('vue').PropType<"" | "
|
|
289
|
+
type: import('vue').PropType<"" | "default" | "small" | "large">;
|
|
290
290
|
};
|
|
291
291
|
resize: {
|
|
292
292
|
type: import('vue').PropType<"horizontal" | "vertical" | "none" | "both">;
|
|
@@ -331,7 +331,7 @@ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import
|
|
|
331
331
|
type: import('vue').PropType<boolean>;
|
|
332
332
|
};
|
|
333
333
|
inputmode: {
|
|
334
|
-
type: import('vue').PropType<"none" | "
|
|
334
|
+
type: import('vue').PropType<"none" | "text" | "search" | "url" | "email" | "tel" | "numeric" | "decimal">;
|
|
335
335
|
};
|
|
336
336
|
modelModifiers: {
|
|
337
337
|
type: import('vue').PropType<import('element-plus').InputModelModifiers>;
|
|
@@ -385,7 +385,7 @@ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import
|
|
|
385
385
|
onMouseenter?: ((evt: MouseEvent) => any) | undefined;
|
|
386
386
|
onMouseleave?: ((evt: MouseEvent) => any) | undefined;
|
|
387
387
|
onClear?: (() => any) | undefined;
|
|
388
|
-
}, "disabled" | "
|
|
388
|
+
}, "disabled" | "blur" | "type" | "input" | "select" | "textarea" | "focus" | "clear" | "modelValue" | "autocomplete" | "clearIcon" | "validateEvent" | "tabindex" | "inputStyle" | "ref" | "modelModifiers" | "autosize" | "wordLimitPosition" | "rows" | "textareaStyle" | "isComposing" | "resizeTextarea"> & import('vue').ShallowUnwrapRef<{
|
|
389
389
|
input: import('vue').ShallowRef<HTMLInputElement | undefined>;
|
|
390
390
|
textarea: import('vue').ShallowRef<HTMLTextAreaElement | undefined>;
|
|
391
391
|
ref: import('vue').ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
|
package/dist/components/editor/OptionCard/Equipment/stationSlot/StationSlotGroupDialog.vue.d.ts
CHANGED
|
@@ -27,9 +27,9 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
27
27
|
visible: boolean | 0;
|
|
28
28
|
}) => any) | undefined;
|
|
29
29
|
}>, {
|
|
30
|
-
hideBounds: boolean;
|
|
31
30
|
stationSlots: IStationSlotConfig[];
|
|
32
31
|
flowOptions: IFlowConfig;
|
|
32
|
+
hideBounds: boolean;
|
|
33
33
|
visible: boolean | 0;
|
|
34
34
|
containerWidth: number;
|
|
35
35
|
containerHeight: number;
|