@jnrs/lingshu-smart 2.2.40 → 2.2.42

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.
@@ -14,10 +14,10 @@ const Ql = {
14
14
  operating: "OPERATING"
15
15
  };
16
16
  let Nr = "warn";
17
- function bT(e) {
17
+ function TT(e) {
18
18
  Nr = e;
19
19
  }
20
- function ST() {
20
+ function kT() {
21
21
  return Nr;
22
22
  }
23
23
  const td = {
@@ -51,7 +51,7 @@ function Sl(e = "") {
51
51
  operating: (...t) => Us("operating", e, ...t)
52
52
  };
53
53
  }
54
- const ET = Sl("LingshuSmart");
54
+ const BT = Sl("LingshuSmart");
55
55
  var dg = typeof global == "object" && global && global.Object === Object && global, If = typeof self == "object" && self && self.Object === Object && self, Ye = dg || If || Function("return this")(), $s = Ye.Symbol, cg = Object.prototype, Wf = cg.hasOwnProperty, zf = cg.toString, Vs = $s ? $s.toStringTag : void 0;
56
56
  function jf(e) {
57
57
  var t = Wf.call(e, Vs), i = e[Vs];
@@ -10889,7 +10889,18 @@ function Of(e) {
10889
10889
  // 强制断词
10890
10890
  });
10891
10891
  }
10892
- class gT extends Rf {
10892
+ const gT = "#fff";
10893
+ function fT(e) {
10894
+ if (typeof e != "string") return !1;
10895
+ const t = e.trim();
10896
+ if (!t) return !1;
10897
+ const i = t.toLowerCase();
10898
+ return !(i === "none" || i === "transparent" || i === "undefined" || i === "null");
10899
+ }
10900
+ function _T(e) {
10901
+ return fT(e) ? e : gT;
10902
+ }
10903
+ class mT extends Rf {
10893
10904
  constructor(t) {
10894
10905
  const i = {
10895
10906
  className: bl.RESOURCE,
@@ -10914,7 +10925,7 @@ class gT extends Rf {
10914
10925
  y: i,
10915
10926
  width: s,
10916
10927
  height: r,
10917
- fill: n,
10928
+ fill: _T(n),
10918
10929
  cornerRadius: this.autoCornerRadius,
10919
10930
  around: "center",
10920
10931
  zIndex: 10,
@@ -10948,7 +10959,7 @@ class gT extends Rf {
10948
10959
  return t === Vr.TOOL ? i : (i || 0) * 0.1;
10949
10960
  }
10950
10961
  }
10951
- function fT(e) {
10962
+ function yT(e) {
10952
10963
  const t = {
10953
10964
  width: e.width * 0.1,
10954
10965
  // 阴影宽度为元素宽度的 10%
@@ -10993,7 +11004,7 @@ function fT(e) {
10993
11004
  innerShadow: o ?? void 0
10994
11005
  }), h.roundRect(0, 0, i, s, r), a.draw(h), a;
10995
11006
  }
10996
- function _T(e, t, i = "shadow") {
11007
+ function vT(e, t, i = "shadow") {
10997
11008
  if (t.hittable && t.hitSelf && (t.clickable || t.menuClickable || t.draggable)) {
10998
11009
  let s = "default";
10999
11010
  const r = "#806EF7";
@@ -11015,7 +11026,7 @@ function _T(e, t, i = "shadow") {
11015
11026
  });
11016
11027
  }
11017
11028
  }
11018
- function Hk(e, t = "rgba(66,66,66,0.9)") {
11029
+ function Gk(e, t = "rgba(66,66,66,0.9)") {
11019
11030
  e.set({
11020
11031
  shadow: {
11021
11032
  x: 2,
@@ -11047,7 +11058,7 @@ const Ro = "#BFC0C3", Cf = {
11047
11058
  disabled: !1,
11048
11059
  visible: !0
11049
11060
  };
11050
- class Uk extends Rf {
11061
+ class qk extends Rf {
11051
11062
  children = [];
11052
11063
  // 缓存 destroyUI 后等待资源退场动画的清理任务,防止重复销毁
11053
11064
  pendingDestroy = null;
@@ -11095,7 +11106,7 @@ class Uk extends Rf {
11095
11106
  inFlow: _,
11096
11107
  data: this.config
11097
11108
  });
11098
- if (_T(w, { hittable: this.config.hittable, hitSelf: !0, clickable: !0 }, "border"), f) {
11109
+ if (vT(w, { hittable: this.config.hittable, hitSelf: !0, clickable: !0 }, "border"), f) {
11099
11110
  const b = Of({
11100
11111
  name: s,
11101
11112
  width: r,
@@ -11105,7 +11116,7 @@ class Uk extends Rf {
11105
11116
  w.add(b);
11106
11117
  }
11107
11118
  if (g) {
11108
- const b = fT({
11119
+ const b = yT({
11109
11120
  width: r,
11110
11121
  height: n,
11111
11122
  cornerRadius: this.autoCornerRadius,
@@ -11160,7 +11171,7 @@ class Uk extends Rf {
11160
11171
  * @param d
11161
11172
  */
11162
11173
  addPallet(t) {
11163
- const { width: i, height: s, resourceType: r } = this.config, n = new gT({
11174
+ const { width: i, height: s, resourceType: r } = this.config, n = new mT({
11164
11175
  x: this.width_05,
11165
11176
  y: this.height_05,
11166
11177
  width: i - 5,
@@ -11265,12 +11276,12 @@ class Uk extends Rf {
11265
11276
  this.removeAllPallet(), this.pendingDestroy && (this.pendingDestroy(), this.pendingDestroy = null), this.ui?.destroy();
11266
11277
  }
11267
11278
  }
11268
- const mT = /* @__PURE__ */ new Set(["index", "resourceType", "name", "className"]), Pf = Cf, yT = (e) => {
11279
+ const wT = /* @__PURE__ */ new Set(["index", "resourceType", "name", "className"]), Pf = Cf, xT = (e) => {
11269
11280
  const t = {};
11270
11281
  for (const [i, s] of Object.entries(e))
11271
- s !== void 0 && (!mT.has(i) && Pf[i] === s || (t[i] = s));
11282
+ s !== void 0 && (!wT.has(i) && Pf[i] === s || (t[i] = s));
11272
11283
  return t;
11273
- }, vT = (e) => ({ ...Pf, ...e }), Wo = (e, t) => {
11284
+ }, bT = (e) => ({ ...Pf, ...e }), Wo = (e, t) => {
11274
11285
  if (Array.isArray(e)) {
11275
11286
  e.forEach((s) => Wo(s, t));
11276
11287
  return;
@@ -11278,14 +11289,14 @@ const mT = /* @__PURE__ */ new Set(["index", "resourceType", "name", "className"
11278
11289
  if (!e || typeof e != "object") return;
11279
11290
  const i = e;
11280
11291
  Array.isArray(i.stationSlots) && (i.stationSlots = i.stationSlots.map(t)), Object.values(i).forEach((s) => Wo(s, t));
11281
- }, wT = (e) => {
11292
+ }, ST = (e) => {
11282
11293
  const t = Bl(e);
11283
- return Wo(t, yT), t;
11284
- }, Vk = (e) => e.map(wT), xT = (e) => {
11294
+ return Wo(t, xT), t;
11295
+ }, Kk = (e) => e.map(ST), ET = (e) => {
11285
11296
  const t = Bl(e);
11286
- return Wo(t, vT), t;
11287
- }, Gk = (e) => e.map(xT);
11288
- function* qk(e, t, i = !1) {
11297
+ return Wo(t, bT), t;
11298
+ }, Zk = (e) => e.map(ET);
11299
+ function* Jk(e, t, i = !1) {
11289
11300
  let s = e;
11290
11301
  for (; ; ) {
11291
11302
  if (s > t)
@@ -11296,7 +11307,7 @@ function* qk(e, t, i = !1) {
11296
11307
  yield s++;
11297
11308
  }
11298
11309
  }
11299
- const Kk = (e = 0, t = 100, i = 3, s = 300, r) => r ? new Promise((n) => {
11310
+ const Qk = (e = 0, t = 100, i = 3, s = 300, r) => r ? new Promise((n) => {
11300
11311
  const o = e, a = t, h = i * 1e3, l = performance.now();
11301
11312
  let c = 0;
11302
11313
  const d = (u) => {
@@ -11309,13 +11320,13 @@ const Kk = (e = 0, t = 100, i = 3, s = 300, r) => r ? new Promise((n) => {
11309
11320
  };
11310
11321
  c = requestAnimationFrame(d);
11311
11322
  }) : !1;
11312
- function Zk(e, t, i = 3, s) {
11323
+ function tB(e, t, i = 3, s) {
11313
11324
  return e === void 0 || t === void 0 ? 0 : s ? t > 0 ? Number((e / t).toFixed(3)) : 0 : Number((t * e).toFixed(i));
11314
11325
  }
11315
- function Jk(e, t) {
11326
+ function eB(e, t) {
11316
11327
  return e === void 0 || t === void 0 ? 0 : t > 0 ? Number((e / t).toFixed(3)) : e;
11317
11328
  }
11318
- function Qk(e, t, i, s) {
11329
+ function iB(e, t, i, s) {
11319
11330
  if (e === void 0) return NaN;
11320
11331
  let r = 0;
11321
11332
  if (s === "width") {
@@ -11330,7 +11341,7 @@ function Qk(e, t, i, s) {
11330
11341
  }
11331
11342
  return Number((e * r).toFixed(i));
11332
11343
  }
11333
- function tB(e, t, i, s) {
11344
+ function sB(e, t, i, s) {
11334
11345
  if (e === void 0) return NaN;
11335
11346
  let r = 0;
11336
11347
  if (s === "width") {
@@ -11365,7 +11376,7 @@ export {
11365
11376
  Yh as P,
11366
11377
  li as Q,
11367
11378
  C as R,
11368
- Uk as S,
11379
+ qk as S,
11369
11380
  K as T,
11370
11381
  be as U,
11371
11382
  Z as V,
@@ -11385,8 +11396,8 @@ export {
11385
11396
  ct as a7,
11386
11397
  Te as a8,
11387
11398
  Dt as a9,
11388
- Kk as aA,
11389
- Jk as aB,
11399
+ Qk as aA,
11400
+ eB as aB,
11390
11401
  Oe as aa,
11391
11402
  Ne as ab,
11392
11403
  Ol as ac,
@@ -11405,36 +11416,36 @@ export {
11405
11416
  Os as ap,
11406
11417
  te as aq,
11407
11418
  Rs as ar,
11408
- bT as as,
11409
- Zk as at,
11419
+ TT as as,
11420
+ tB as at,
11410
11421
  Cf as au,
11411
- wT as av,
11412
- xT as aw,
11422
+ ST as av,
11423
+ ET as aw,
11413
11424
  Lf as ax,
11414
11425
  bl as ay,
11415
- qk as az,
11426
+ Jk as az,
11416
11427
  Qr as b,
11417
11428
  Af as c,
11418
11429
  $f as d,
11419
- Qk as e,
11430
+ iB as e,
11420
11431
  Bl as f,
11421
- Gk as g,
11422
- ST as h,
11432
+ Zk as g,
11433
+ kT as h,
11423
11434
  tn as i,
11424
- Vk as j,
11435
+ Kk as j,
11425
11436
  Sl as k,
11426
- ET as l,
11437
+ BT as l,
11427
11438
  P as m,
11428
11439
  N as n,
11429
11440
  Qn as o,
11430
11441
  lr as p,
11431
11442
  q,
11432
11443
  Ye as r,
11433
- _T as s,
11434
- tB as t,
11435
- Hk as u,
11444
+ vT as s,
11445
+ sB as t,
11446
+ Gk as u,
11436
11447
  ks as v,
11437
- fT as w,
11448
+ yT as w,
11438
11449
  je as x,
11439
11450
  Rt as y,
11440
11451
  et as z
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { d as s } from "./index-DKL_kTJG.js";
2
- import { ay as i, E, ax as l, c as L, av as I, j as A, k as S, aw as _, g as R, h as p, aA as C, l as f, az as g, as as x, aB as G, at as P, t as h, e as B } from "./index-DKL_kTJG.js";
1
+ import { d as s } from "./index-Cz1A_VVJ.js";
2
+ import { ay as i, E, ax as l, c as L, av as I, j as A, k as S, aw as _, g as R, h as p, aA as C, l as f, az as g, as as x, aB as G, at as P, t as h, e as B } from "./index-Cz1A_VVJ.js";
3
3
  function t(a) {
4
4
  return a?.className === s.MACHINE_TOOL;
5
5
  }
@@ -323,6 +323,11 @@
323
323
  "transform": "percentToPixel",
324
324
  "transformType": "width",
325
325
  "transformPrecision": 2
326
+ },
327
+ {
328
+ "target": "stationColor",
329
+ "source": "stationColor",
330
+ "defaultValue": {}
326
331
  }
327
332
  ]
328
333
  },
@@ -595,6 +600,7 @@
595
600
  "version": "0.0.1",
596
601
  "dataSource": "builtin",
597
602
  "wsUrl": "ws://192.168.1.43:5001/ws/monitor?page=ctsMonitor",
603
+ "carryToken": true,
598
604
  "requestMode": "direct",
599
605
  "autoConnect": true,
600
606
  "payloadKey": "data",
@@ -790,6 +796,11 @@
790
796
  {
791
797
  "target": "x",
792
798
  "source": ""
799
+ },
800
+ {
801
+ "target": "stationColor",
802
+ "source": "stationColor",
803
+ "defaultValue": {}
793
804
  }
794
805
  ]
795
806
  },
@@ -835,6 +846,11 @@
835
846
  {
836
847
  "target": "y",
837
848
  "source": ""
849
+ },
850
+ {
851
+ "target": "stationColor",
852
+ "source": "stationColor",
853
+ "defaultValue": {}
838
854
  }
839
855
  ]
840
856
  },
@@ -1016,7 +1032,7 @@
1016
1032
  "defaultValue": false
1017
1033
  },
1018
1034
  {
1019
- "target": "stationStatus",
1035
+ "target": "stationColor",
1020
1036
  "source": "stationStatus",
1021
1037
  "defaultValue": {},
1022
1038
  "transform": "objDict",
@@ -1,4 +1,4 @@
1
- import { b as a, u as o, c as r, a as t } from "../useAppStore-DlxnXCZs.js";
1
+ import { b as a, u as o, c as r, a as t } from "../useAppStore-BED53e2b.js";
2
2
  export {
3
3
  a as useAppStore,
4
4
  o as useDataStore,
@@ -17,6 +17,8 @@ export interface GlobalSetting {
17
17
  theme: 'dark' | 'light';
18
18
  wsProxyManualModified: boolean;
19
19
  wsProxyActiveCaseId?: string;
20
+ /** 性能统计面板是否折叠(persist 到 globalSetting) */
21
+ perfStatsCollapsed: boolean;
20
22
  }
21
23
  /** globalSetting 默认值 */
22
24
  export declare const DEFAULT_GLOBAL_SETTING: GlobalSetting;
@@ -2797,12 +2799,12 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
2797
2799
  version: string;
2798
2800
  dataSource?: import('../components/debug/WsProxy/proxy').WsProxyDataSource | undefined;
2799
2801
  wsUrl?: string | undefined;
2802
+ carryToken?: boolean | undefined;
2800
2803
  requestMode?: import('../components/debug/WsProxy/proxy').WsProxyRequestMode | undefined;
2801
2804
  autoConnect?: boolean | undefined;
2802
2805
  payloadKey?: string | undefined;
2803
2806
  sourceTypeField?: string | undefined;
2804
2807
  heartbeatInterval?: number | undefined;
2805
- carryToken?: boolean | undefined;
2806
2808
  modelMap?: Record<string, string> | undefined;
2807
2809
  rules: {
2808
2810
  sourceType?: string | undefined;
@@ -2878,12 +2880,12 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
2878
2880
  version: string;
2879
2881
  dataSource?: import('../components/debug/WsProxy/proxy').WsProxyDataSource | undefined;
2880
2882
  wsUrl?: string | undefined;
2883
+ carryToken?: boolean | undefined;
2881
2884
  requestMode?: import('../components/debug/WsProxy/proxy').WsProxyRequestMode | undefined;
2882
2885
  autoConnect?: boolean | undefined;
2883
2886
  payloadKey?: string | undefined;
2884
2887
  sourceTypeField?: string | undefined;
2885
2888
  heartbeatInterval?: number | undefined;
2886
- carryToken?: boolean | undefined;
2887
2889
  modelMap?: Record<string, string> | undefined;
2888
2890
  rules: {
2889
2891
  sourceType?: string | undefined;
@@ -2962,7 +2964,10 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
2962
2964
  locale: Locale;
2963
2965
  theme: "dark" | "light";
2964
2966
  wsProxyManualModified: boolean;
2965
- wsProxyActiveCaseId?: string | undefined;
2967
+ wsProxyActiveCaseId?: string
2968
+ /** 性能统计面板是否折叠(persist 到 globalSetting) */
2969
+ | undefined;
2970
+ perfStatsCollapsed: boolean;
2966
2971
  }, GlobalSetting | {
2967
2972
  logLevel: LogLevel;
2968
2973
  shadowsEnabled: boolean;
@@ -2972,7 +2977,10 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
2972
2977
  locale: Locale;
2973
2978
  theme: "dark" | "light";
2974
2979
  wsProxyManualModified: boolean;
2975
- wsProxyActiveCaseId?: string | undefined;
2980
+ wsProxyActiveCaseId?: string
2981
+ /** 性能统计面板是否折叠(persist 到 globalSetting) */
2982
+ | undefined;
2983
+ perfStatsCollapsed: boolean;
2976
2984
  }>;
2977
2985
  scriptRunner: import('vue').Ref<{
2978
2986
  uid: string;
@@ -5784,12 +5792,12 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
5784
5792
  version: string;
5785
5793
  dataSource?: import('../components/debug/WsProxy/proxy').WsProxyDataSource | undefined;
5786
5794
  wsUrl?: string | undefined;
5795
+ carryToken?: boolean | undefined;
5787
5796
  requestMode?: import('../components/debug/WsProxy/proxy').WsProxyRequestMode | undefined;
5788
5797
  autoConnect?: boolean | undefined;
5789
5798
  payloadKey?: string | undefined;
5790
5799
  sourceTypeField?: string | undefined;
5791
5800
  heartbeatInterval?: number | undefined;
5792
- carryToken?: boolean | undefined;
5793
5801
  modelMap?: Record<string, string> | undefined;
5794
5802
  rules: {
5795
5803
  sourceType?: string | undefined;
@@ -5865,12 +5873,12 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
5865
5873
  version: string;
5866
5874
  dataSource?: import('../components/debug/WsProxy/proxy').WsProxyDataSource | undefined;
5867
5875
  wsUrl?: string | undefined;
5876
+ carryToken?: boolean | undefined;
5868
5877
  requestMode?: import('../components/debug/WsProxy/proxy').WsProxyRequestMode | undefined;
5869
5878
  autoConnect?: boolean | undefined;
5870
5879
  payloadKey?: string | undefined;
5871
5880
  sourceTypeField?: string | undefined;
5872
5881
  heartbeatInterval?: number | undefined;
5873
- carryToken?: boolean | undefined;
5874
5882
  modelMap?: Record<string, string> | undefined;
5875
5883
  rules: {
5876
5884
  sourceType?: string | undefined;
@@ -5949,7 +5957,10 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
5949
5957
  locale: Locale;
5950
5958
  theme: "dark" | "light";
5951
5959
  wsProxyManualModified: boolean;
5952
- wsProxyActiveCaseId?: string | undefined;
5960
+ wsProxyActiveCaseId?: string
5961
+ /** 性能统计面板是否折叠(persist 到 globalSetting) */
5962
+ | undefined;
5963
+ perfStatsCollapsed: boolean;
5953
5964
  }, GlobalSetting | {
5954
5965
  logLevel: LogLevel;
5955
5966
  shadowsEnabled: boolean;
@@ -5959,7 +5970,10 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
5959
5970
  locale: Locale;
5960
5971
  theme: "dark" | "light";
5961
5972
  wsProxyManualModified: boolean;
5962
- wsProxyActiveCaseId?: string | undefined;
5973
+ wsProxyActiveCaseId?: string
5974
+ /** 性能统计面板是否折叠(persist 到 globalSetting) */
5975
+ | undefined;
5976
+ perfStatsCollapsed: boolean;
5963
5977
  }>;
5964
5978
  scriptRunner: import('vue').Ref<{
5965
5979
  uid: string;
@@ -8771,12 +8785,12 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
8771
8785
  version: string;
8772
8786
  dataSource?: import('../components/debug/WsProxy/proxy').WsProxyDataSource | undefined;
8773
8787
  wsUrl?: string | undefined;
8788
+ carryToken?: boolean | undefined;
8774
8789
  requestMode?: import('../components/debug/WsProxy/proxy').WsProxyRequestMode | undefined;
8775
8790
  autoConnect?: boolean | undefined;
8776
8791
  payloadKey?: string | undefined;
8777
8792
  sourceTypeField?: string | undefined;
8778
8793
  heartbeatInterval?: number | undefined;
8779
- carryToken?: boolean | undefined;
8780
8794
  modelMap?: Record<string, string> | undefined;
8781
8795
  rules: {
8782
8796
  sourceType?: string | undefined;
@@ -8852,12 +8866,12 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
8852
8866
  version: string;
8853
8867
  dataSource?: import('../components/debug/WsProxy/proxy').WsProxyDataSource | undefined;
8854
8868
  wsUrl?: string | undefined;
8869
+ carryToken?: boolean | undefined;
8855
8870
  requestMode?: import('../components/debug/WsProxy/proxy').WsProxyRequestMode | undefined;
8856
8871
  autoConnect?: boolean | undefined;
8857
8872
  payloadKey?: string | undefined;
8858
8873
  sourceTypeField?: string | undefined;
8859
8874
  heartbeatInterval?: number | undefined;
8860
- carryToken?: boolean | undefined;
8861
8875
  modelMap?: Record<string, string> | undefined;
8862
8876
  rules: {
8863
8877
  sourceType?: string | undefined;
@@ -8936,7 +8950,10 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
8936
8950
  locale: Locale;
8937
8951
  theme: "dark" | "light";
8938
8952
  wsProxyManualModified: boolean;
8939
- wsProxyActiveCaseId?: string | undefined;
8953
+ wsProxyActiveCaseId?: string
8954
+ /** 性能统计面板是否折叠(persist 到 globalSetting) */
8955
+ | undefined;
8956
+ perfStatsCollapsed: boolean;
8940
8957
  }, GlobalSetting | {
8941
8958
  logLevel: LogLevel;
8942
8959
  shadowsEnabled: boolean;
@@ -8946,7 +8963,10 @@ export declare const useDataStore: import('pinia').StoreDefinition<"@jnrs/lingsh
8946
8963
  locale: Locale;
8947
8964
  theme: "dark" | "light";
8948
8965
  wsProxyManualModified: boolean;
8949
- wsProxyActiveCaseId?: string | undefined;
8966
+ wsProxyActiveCaseId?: string
8967
+ /** 性能统计面板是否折叠(persist 到 globalSetting) */
8968
+ | undefined;
8969
+ perfStatsCollapsed: boolean;
8950
8970
  }>;
8951
8971
  scriptRunner: import('vue').Ref<{
8952
8972
  uid: string;
@@ -17,6 +17,8 @@ export declare const useDebugStore: import('pinia').StoreDefinition<"@jnrs/lings
17
17
  setWsProxyActiveCaseId: (caseId: string) => void;
18
18
  wsProxyManualModified: import('vue').WritableComputedRef<boolean, boolean>;
19
19
  setWsProxyManualModified: (modified: boolean) => void;
20
+ perfStatsCollapsed: import('vue').WritableComputedRef<boolean, boolean>;
21
+ setPerfStatsCollapsed: (v: boolean) => void;
20
22
  setLogLevel: (level: LogLevel) => void;
21
23
  setShadowsEnabled: (enabled: boolean) => void;
22
24
  setAnimationsEnabled: (enabled: boolean) => void;
@@ -42,6 +44,8 @@ export declare const useDebugStore: import('pinia').StoreDefinition<"@jnrs/lings
42
44
  setWsProxyActiveCaseId: (caseId: string) => void;
43
45
  wsProxyManualModified: import('vue').WritableComputedRef<boolean, boolean>;
44
46
  setWsProxyManualModified: (modified: boolean) => void;
47
+ perfStatsCollapsed: import('vue').WritableComputedRef<boolean, boolean>;
48
+ setPerfStatsCollapsed: (v: boolean) => void;
45
49
  setLogLevel: (level: LogLevel) => void;
46
50
  setShadowsEnabled: (enabled: boolean) => void;
47
51
  setAnimationsEnabled: (enabled: boolean) => void;
@@ -52,7 +56,7 @@ export declare const useDebugStore: import('pinia').StoreDefinition<"@jnrs/lings
52
56
  toggleTheme: () => void;
53
57
  showDebugPanel: () => void;
54
58
  hideDebugPanel: () => void;
55
- }, "logLevel" | "shadowsEnabled" | "animationsEnabled" | "fpsMode" | "interactionsDisabled" | "locale" | "theme" | "wsProxyManualModified" | "scriptSteps" | "activeCaseId">, Pick<{
59
+ }, "logLevel" | "shadowsEnabled" | "animationsEnabled" | "fpsMode" | "interactionsDisabled" | "locale" | "theme" | "wsProxyManualModified" | "perfStatsCollapsed" | "scriptSteps" | "activeCaseId">, Pick<{
56
60
  logLevel: import('vue').WritableComputedRef<LogLevel, LogLevel>;
57
61
  shadowsEnabled: import('vue').WritableComputedRef<boolean, boolean>;
58
62
  animationsEnabled: import('vue').WritableComputedRef<boolean, boolean>;
@@ -67,6 +71,8 @@ export declare const useDebugStore: import('pinia').StoreDefinition<"@jnrs/lings
67
71
  setWsProxyActiveCaseId: (caseId: string) => void;
68
72
  wsProxyManualModified: import('vue').WritableComputedRef<boolean, boolean>;
69
73
  setWsProxyManualModified: (modified: boolean) => void;
74
+ perfStatsCollapsed: import('vue').WritableComputedRef<boolean, boolean>;
75
+ setPerfStatsCollapsed: (v: boolean) => void;
70
76
  setLogLevel: (level: LogLevel) => void;
71
77
  setShadowsEnabled: (enabled: boolean) => void;
72
78
  setAnimationsEnabled: (enabled: boolean) => void;
@@ -77,4 +83,4 @@ export declare const useDebugStore: import('pinia').StoreDefinition<"@jnrs/lings
77
83
  toggleTheme: () => void;
78
84
  showDebugPanel: () => void;
79
85
  hideDebugPanel: () => void;
80
- }, "setScriptSteps" | "setWsProxyActiveCaseId" | "setWsProxyManualModified" | "setLogLevel" | "setShadowsEnabled" | "setAnimationsEnabled" | "setFpsMode" | "setInteractionsDisabled" | "setLocale" | "setTheme" | "toggleTheme" | "showDebugPanel" | "hideDebugPanel">>;
86
+ }, "setScriptSteps" | "setWsProxyActiveCaseId" | "setWsProxyManualModified" | "setPerfStatsCollapsed" | "setLogLevel" | "setShadowsEnabled" | "setAnimationsEnabled" | "setFpsMode" | "setInteractionsDisabled" | "setLocale" | "setTheme" | "toggleTheme" | "showDebugPanel" | "hideDebugPanel">>;
@@ -163,7 +163,7 @@ export interface IPalletConfig extends IModel {
163
163
  /**
164
164
  * 资源操作窗口(独立设备)
165
165
  * 参考托盘/料道:窗口框造型,框内为单个工位组(其中的托盘可 Pallet 或 Tool);
166
- * 部件可有状态灯与铭牌;operating 支持 light / resource / stationStatus(按工位序号改色)。
166
+ * 部件可有状态灯与铭牌;operating 支持 light / resource / stationColor(按工位序号改色)。
167
167
  */
168
168
  export interface IResourceOperationWindowConfig extends IModel {
169
169
  className: EnumModel.RESOURCE_OPERATION_WINDOW;
@@ -150,6 +150,10 @@ export interface IResourceStoreOperating extends IModelOperating {
150
150
  light?: ILightOperating;
151
151
  x?: number;
152
152
  resource?: IResourceOperating;
153
+ /** 各工位背景颜色,键为工位序号 index(1-based),值为状态码或颜色字符串
154
+ * 代理器转换后值为颜色字符串;未转换时值为状态数字码(内部映射为颜色)
155
+ * 如 { 1: 'red', 2: 100, 3: '#66DC7A' } */
156
+ stationColor?: Record<number, number | string>;
153
157
  }
154
158
  /**
155
159
  * 托盘运转状态
@@ -160,6 +164,10 @@ export interface IPalletOperating extends IModelOperating {
160
164
  x?: number;
161
165
  y?: number;
162
166
  resource?: IResourceOperating;
167
+ /** 各工位背景颜色,键为工位序号 index(1-based),值为状态码或颜色字符串
168
+ * 代理器转换后值为颜色字符串;未转换时值为状态数字码(内部映射为颜色)
169
+ * 如 { 1: 'red', 2: 100, 3: '#66DC7A' } */
170
+ stationColor?: Record<number, number | string>;
163
171
  }
164
172
  /**
165
173
  * 资源操作窗口运转状态
@@ -168,10 +176,10 @@ export interface IResourceOperationWindowOperating extends IModelOperating {
168
176
  className: EnumModel.RESOURCE_OPERATION_WINDOW;
169
177
  light?: Omit<ILightOperating, 'rotating'>;
170
178
  resource?: IResourceOperating;
171
- /** 各工位状态(颜色),键为工位序号 index(1-based),值为状态码或颜色字符串
179
+ /** 各工位背景颜色,键为工位序号 index(1-based),值为状态码或颜色字符串
172
180
  * 代理器转换后值为颜色字符串;未转换时值为状态数字码(内部映射为颜色)
173
181
  * 如 { 1: 'red', 2: 100, 3: '#66DC7A' } */
174
- stationStatus?: Record<number, number | string>;
182
+ stationColor?: Record<number, number | string>;
175
183
  }
176
184
  /**
177
185
  * 设备层运转状态的联合类型
@@ -27,9 +27,13 @@ export declare class StationSlotGroup extends ComponentAbs<IStationSlotGroupConf
27
27
  */
28
28
  removeResourceById(resourceId: string): boolean;
29
29
  /**
30
- * 按工位序号修改工位填充颜色(未传 color 时恢复默认背景色)
30
+ * 按工位序号修改工位填充颜色
31
31
  * @param index 工位序号(IStationSlotConfig.index)
32
- * @param color 目标颜色;缺省时使用工位默认背景色
32
+ * @param color 目标颜色:颜色字符串直接使用,数字状态码内部映射为颜色;缺省时使用工位默认背景色
33
33
  */
34
- setSiteWorkingColor(index: number, color?: string): void;
34
+ setSiteWorkingColor(index: number, color?: string | number): void;
35
+ /**
36
+ * 判断本组是否包含指定工位序号
37
+ */
38
+ hasStationIndex(index: number): boolean;
35
39
  }
@@ -6,6 +6,7 @@ import { StationSlotGroup } from '../components/StationSlotGroup';
6
6
  * 托盘(独立设备)
7
7
  * 参考 ResourceStore:带铭牌、状态灯、托盘/刀具双工位组;
8
8
  * 主体样式参考 ShuttleStation 的 layerContainer(内嵌纹理、溢出隐藏),支持修改背景色。
9
+ * operating 支持:light / x / y / resource / stationColor(按工位序号修改工位背景颜色)
9
10
  */
10
11
  export declare class Pallet extends ModelAbs<IPalletConfig> {
11
12
  private static readonly CORNER_RADIUS;
@@ -16,6 +17,8 @@ export declare class Pallet extends ModelAbs<IPalletConfig> {
16
17
  private moveX;
17
18
  private moveY;
18
19
  protected operating(data: IPalletOperating): void;
20
+ /** 按工位序号修改工位背景颜色:在托盘/刀具工位组中查找包含该序号的工位槽并改色 */
21
+ private applyStationColor;
19
22
  /**
20
23
  * 判断本托盘是否包含指定工位号
21
24
  * 用于同一 id 的 Pallet 被拆分为多个 UI 时的三级匹配
@@ -9,7 +9,7 @@ import { StationSlotGroup } from '../components/StationSlotGroup';
9
9
  * operating 支持:
10
10
  * - light:主体状态灯
11
11
  * - resource:向框内工位组添加 / 移除托盘资源
12
- * - stationStatus:按工位序号 index 修改工位颜色(值可为颜色字符串或状态码)
12
+ * - stationColor:按工位序号 index 修改工位背景颜色(值可为颜色字符串或状态码)
13
13
  */
14
14
  export declare class ResourceOperationWindow extends ModelAbs<IResourceOperationWindowConfig> {
15
15
  private static readonly DEFAULT_RING_THICKNESS;
@@ -28,9 +28,7 @@ export declare class ResourceOperationWindow extends ModelAbs<IResourceOperation
28
28
  private buildOutlinePath;
29
29
  protected createUi(): Box;
30
30
  protected operating(data: IResourceOperationWindowOperating): void;
31
- private applyStationStatus;
32
- private resolveColor;
33
- private statusToColor;
31
+ private applyStationColor;
34
32
  /**
35
33
  * 判断本窗口是否包含指定工位号
36
34
  */
@@ -4,6 +4,7 @@ import { ModelAbs } from '../abstract/ModelAbs';
4
4
  import { StationSlotGroup } from '../components/StationSlotGroup';
5
5
  /**
6
6
  * 资源库
7
+ * operating 支持:light / x / resource(托盘、刀具增删)/ stationColor(按工位序号修改工位背景颜色)
7
8
  */
8
9
  export declare class ResourceStore extends ModelAbs<IResourceStoreConfig> {
9
10
  private static readonly CORNER_RADIUS;
@@ -18,5 +19,7 @@ export declare class ResourceStore extends ModelAbs<IResourceStoreConfig> {
18
19
  containsStationIndex(index: number): boolean;
19
20
  private moveX;
20
21
  protected operating(data: IResourceStoreOperating): void;
22
+ /** 按工位序号修改工位背景颜色:在托盘/刀具工位组中查找包含该序号的工位槽并改色 */
23
+ private applyStationColor;
21
24
  protected collectStationSlotGroups(): StationSlotGroup[];
22
25
  }