ss-component-new 1.3.699 → 1.3.700

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.
Files changed (88) hide show
  1. package/dist/JSEncrypt-B36c1iN5.js +1983 -0
  2. package/dist/MTLLoader-DzQM5Czw.js +657 -0
  3. package/dist/URDFLoader-CPXooEPU.js +2299 -0
  4. package/dist/animationData-DOIhMG9C.js +83 -0
  5. package/dist/array-lig-X3M9.js +1045 -0
  6. package/dist/clone-Dp_gc9ll.js +8 -0
  7. package/dist/config.js +1 -1
  8. package/dist/eleIcon-qStmsM1q.js +29 -0
  9. package/dist/fileUtil-UOt_otFo.js +20 -0
  10. package/dist/iconfont-DwCBmDct.js +1026 -0
  11. package/dist/icons/svg/functionList.svg +1 -0
  12. package/dist/icons/svg/method.svg +1 -0
  13. package/dist/index-11kpzK0A.js +209 -0
  14. package/dist/index-B-AFi1eL.js +873 -0
  15. package/dist/index-B0H3C7WG.js +103 -0
  16. package/dist/index-BDRDpsgF.js +25297 -0
  17. package/dist/{index-BKK_dL6t.js → index-BHtNKL1L.js} +1 -1
  18. package/dist/index-BJ3RS3n_.js +63004 -0
  19. package/dist/index-BJLCuYEK.js +84 -0
  20. package/dist/index-BbyrFzEO.js +93 -0
  21. package/dist/index-Bn1_Pbpm.js +98 -0
  22. package/dist/index-BniHrGik.js +107 -0
  23. package/dist/index-BooO2Bml.js +78 -0
  24. package/dist/index-Bw3sTXPI.js +8993 -0
  25. package/dist/index-C7sOKXGv.js +48 -0
  26. package/dist/index-CGUz8yrZ.js +20503 -0
  27. package/dist/index-CGi0g-VN.js +627 -0
  28. package/dist/index-CV_jQDcg.js +9 -0
  29. package/dist/index-CWOXvFfD.js +44 -0
  30. package/dist/{index-BKoAuSBh.js → index-ChNfRlIP.js} +18 -223
  31. package/dist/index-CjlKFGAF.js +470 -0
  32. package/dist/index-CydXQbtX.js +622 -0
  33. package/dist/index-D9XVxZlg.js +411 -0
  34. package/dist/index-DAJxL40d.js +55 -0
  35. package/dist/index-DBsEVMiM.js +201 -0
  36. package/dist/index-DG4hoOWt.js +665 -0
  37. package/dist/index-DUbk5m5P.js +99 -0
  38. package/dist/index-Ds6m_4JJ.js +28500 -0
  39. package/dist/index-DupTchhl.js +1000 -0
  40. package/dist/index-DxduRnLV.js +93 -0
  41. package/dist/index-DyCq_odP.js +331 -0
  42. package/dist/index-TDMzk3L7.js +83 -0
  43. package/dist/index-UB_oCdlo.js +62 -0
  44. package/dist/index-VV2Ao7jZ.js +119 -0
  45. package/dist/index-YjBTGOkO.js +61 -0
  46. package/dist/index-erE4kNF5.js +30 -0
  47. package/dist/index-iY5h1bpA.js +572 -0
  48. package/dist/index-jbOjjV0j.js +447 -0
  49. package/dist/index-rlStojTL.js +52 -0
  50. package/dist/index-uF-ibwG0.js +9 -0
  51. package/dist/{index-DzkvwqGK.js → index.vue_vue_type_style_index_0_scoped_05e3a1d8_lang-Mr9QL-WU.js} +113317 -105434
  52. package/dist/isString-0ZglyOfu.js +8 -0
  53. package/dist/localIcon-D5UoFBU5.js +76 -0
  54. package/dist/main-Cepry4zn.js +502 -0
  55. package/dist/menuIndex-BB0uVPRX.js +159 -0
  56. package/dist/obj/model.mtl +42 -0
  57. package/dist/obj/model.obj +26110 -0
  58. package/dist/request-1RPa2bBn.js +9048 -0
  59. package/dist/ss-component.css +8 -2
  60. package/dist/ss-component.js +64 -28
  61. package/dist/ss-component2.js +75 -15
  62. package/dist/ss-component3.js +1 -1
  63. package/dist/threeModel-DcUyC6Vh.js +1109 -0
  64. package/dist/threePreview-CbGqCMch.js +2810 -0
  65. package/dist/threeSceneView-BDyFpkq-.js +1290 -0
  66. package/dist/threeSceneViewForCPMPIP-DUSufDRq.js +539 -0
  67. package/dist/threeTrackPathView-yLEUuGXc.js +620 -0
  68. package/dist/threeViewerHost-BXdZ6Wgi.js +233 -0
  69. package/dist/urdfTree-C6mx4T9t.js +254 -0
  70. package/dist/workpieceTreePanel-DjR9f2D1.js +559 -0
  71. package/package.json +6 -8
  72. package/public/config.js +1 -1
  73. package/public/icons/svg/functionList.svg +1 -0
  74. package/public/icons/svg/method.svg +1 -0
  75. package/public/obj/model.mtl +42 -0
  76. package/public/obj/model.obj +26110 -0
  77. package/dist/index-BqyJXXmI.js +0 -213
  78. package/dist/index-CTEz1Xq6.js +0 -182
  79. package/dist/index-CrIVk8ml.js +0 -1044
  80. package/dist/index-D1ebCzlM.js +0 -50
  81. package/dist/menu-ZnhLgjWw.js +0 -5218
  82. package/dist/origin-Bs605dr-.js +0 -11468
  83. /package/dist/icons/svg/{update.svg → Update.svg} +0 -0
  84. /package/dist/icons/svg/{table-close.svg → tableClose.svg} +0 -0
  85. /package/dist/icons/svg/{table-expand.svg → tableExpand.svg} +0 -0
  86. /package/public/icons/svg/{update.svg → Update.svg} +0 -0
  87. /package/public/icons/svg/{table-close.svg → tableClose.svg} +0 -0
  88. /package/public/icons/svg/{table-expand.svg → tableExpand.svg} +0 -0
@@ -0,0 +1,559 @@
1
+ var ce = Object.defineProperty;
2
+ var de = (b, l, t) => l in b ? ce(b, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : b[l] = t;
3
+ var J = (b, l, t) => de(b, typeof l != "symbol" ? l + "" : l, t);
4
+ import { U as me } from "./URDFLoader-CPXooEPU.js";
5
+ import { S as ve, M as pe, O as fe } from "./MTLLoader-DzQM5Czw.js";
6
+ import { bb as be, bc as re, s as O, k as we, h as he, bd as E, B as _e, be as ge, ay as ye, V as je } from "./index.vue_vue_type_style_index_0_scoped_05e3a1d8_lang-Mr9QL-WU.js";
7
+ import { ref as T, defineComponent as Le, computed as M, watch as ue, resolveComponent as x, createElementBlock as k, openBlock as V, createVNode as U, createElementVNode as c, withCtx as F, createTextVNode as D, toDisplayString as C } from "vue";
8
+ import { c as Re, e as Ue, g as $e } from "./iconfont-DwCBmDct.js";
9
+ import { _ as Ce } from "./_plugin-vue_export-helper-CHgC5LLL.js";
10
+ const Se = "http://222.92.178.198:60000/chfs/shared/Insofrobot/urdf";
11
+ function Me(b) {
12
+ const { mtlUrl: l, manager: t, resourcePath: s, onLoad: m, onProgress: i, onError: h } = b, v = new pe(t);
13
+ return s && v.setResourcePath(s), v.load(l, m, i, h), v;
14
+ }
15
+ function Fe(b) {
16
+ const { objUrl: l, manager: t, materials: s, onLoad: m, onProgress: i, onError: h } = b, v = new fe(t);
17
+ return s && v.setMaterials(s), v.load(l, m, i, h), v;
18
+ }
19
+ function De(b) {
20
+ const { manager: l, baseFolderUrl: t, onFileProgress: s } = b, m = new me(l);
21
+ return m.packages = (i) => `${t.endsWith("/") ? t : t + "/"}${i}/`, m.loadMeshCb = (i, h, v) => {
22
+ const j = (() => {
23
+ const _ = i.split("?")[0].split("#")[0], r = _.lastIndexOf(".");
24
+ return r >= 0 ? _.slice(r + 1).toLowerCase() : void 0;
25
+ })();
26
+ switch (j) {
27
+ // OBJ+MTL
28
+ case "obj": {
29
+ const _ = (() => {
30
+ try {
31
+ return new URL(".", i).toString();
32
+ } catch {
33
+ const n = i.lastIndexOf("/");
34
+ return n >= 0 ? i.slice(0, n + 1) : i;
35
+ }
36
+ })(), r = (() => {
37
+ var u;
38
+ return (((u = i.split("/").pop()) == null ? void 0 : u.split("?")[0].split("#")[0]) ?? "").replace(/\.[^/.?#]+$/, "");
39
+ })(), f = `${_}${r}.mtl`, g = (n) => {
40
+ Fe({
41
+ objUrl: i,
42
+ manager: h,
43
+ materials: n,
44
+ onLoad: (u) => v(u),
45
+ onProgress: (u) => s == null ? void 0 : s(i, u == null ? void 0 : u.loaded, u == null ? void 0 : u.total),
46
+ onError: (u) => {
47
+ console.error(`[URDF 资源加载失败,已跳过] 无法加载 OBJ 模型: ${i}`, u), v(new O());
48
+ }
49
+ });
50
+ };
51
+ Me({
52
+ mtlUrl: f,
53
+ manager: h,
54
+ resourcePath: _,
55
+ onLoad: (n) => {
56
+ try {
57
+ n.preload();
58
+ } catch {
59
+ }
60
+ g(n);
61
+ },
62
+ onProgress: (n) => s == null ? void 0 : s(f, n == null ? void 0 : n.loaded, n == null ? void 0 : n.total),
63
+ onError: (n) => {
64
+ console.warn(`[URDF 资源警告] 未找到或加载材质失败: ${f}。将尝试无材质加载。`), g(void 0);
65
+ }
66
+ });
67
+ break;
68
+ }
69
+ case "stl": {
70
+ new ve(h).load(
71
+ i,
72
+ (r) => {
73
+ const f = new we({ color: 12303291, shininess: 30 }), g = new he(r, f);
74
+ g.castShadow = !0, g.receiveShadow = !0, v(g);
75
+ },
76
+ (r) => s == null ? void 0 : s(i, r == null ? void 0 : r.loaded, r == null ? void 0 : r.total),
77
+ (r) => {
78
+ console.error(`[URDF 资源加载失败,已跳过] 无法加载 STL 模型: ${i}`, r), v(new O());
79
+ }
80
+ );
81
+ break;
82
+ }
83
+ default:
84
+ console.error(`[URDF 资源加载失败,已跳过] 不支持的网格格式: .${j} (路径: ${i})`), v(new O());
85
+ }
86
+ }, m;
87
+ }
88
+ function dt(b, l, t, s) {
89
+ return { loadSceneFromFile: (i) => new Promise((h, v) => {
90
+ t.value = !0, s.value = "正在初始化 URDF 加载器...";
91
+ let j = 0, _ = 0, r = null;
92
+ const f = new be();
93
+ f.onStart = (n, u, y) => {
94
+ j = y || 0, _ = u || 0, s.value = j > 0 ? `开始下载资源: 0 / ${j}` : "开始下载资源...", t.value = !0;
95
+ }, f.onProgress = (n, u, y) => {
96
+ _ = u, j = y;
97
+ const $ = `正在加载 ${u} / ${y} 个文件: ${re(n)}`;
98
+ s.value = $, u === y && (s.value = "资源加载完成,正在处理模型...", setTimeout(() => {
99
+ if (r) {
100
+ r.updateMatrixWorld(!0);
101
+ const p = new _e().setFromObject(r);
102
+ p.isEmpty() && console.warn("模型加载完成,但所有可视化网格均加载失败,模型将不可见。"), r.userData.boundingBox = p, r.traverse((d) => {
103
+ d.isMesh && (d.castShadow = !0, d.receiveShadow = !0);
104
+ }), h(r);
105
+ } else
106
+ v(new Error("URDF 文件本身加载失败。"));
107
+ s.value = "模型加载完成", setTimeout(() => {
108
+ s.value === "模型加载完成" && (t.value = !1, s.value = "");
109
+ }, 500);
110
+ }, 100));
111
+ }, f.onError = (n) => {
112
+ console.warn(`LoadingManager 报告一个资源加载失败: ${n}。加载流程将继续。`);
113
+ };
114
+ const g = (n, u, y) => {
115
+ const $ = re(n);
116
+ let p;
117
+ y && y > 0 ? p = `${$}(${E(u)} / ${E(y)})` : u && u > 0 ? p = `${$}(已下载 ${E(u)})` : p = `${$}`, s.value = `正在下载第 ${_ + 1} / ${j} 个文件: ${p}`;
118
+ };
119
+ try {
120
+ const n = URL.createObjectURL(i);
121
+ De({
122
+ manager: f,
123
+ baseFolderUrl: Se,
124
+ onFileProgress: g
125
+ }).load(
126
+ n,
127
+ (y) => {
128
+ r = y;
129
+ },
130
+ void 0,
131
+ (y) => {
132
+ console.error(`加载 URDF 文件 (${i.name}) 时发生致命错误:`, y), s.value = "URDF 文件解析失败", t.value = !1, v(new Error(`加载 URDF 文件失败: ${i.name}`));
133
+ }
134
+ );
135
+ } catch (n) {
136
+ console.error("初始化 URDF 加载时发生致命错误:", n), s.value = "模型加载失败", t.value = !1, v(n);
137
+ }
138
+ }) };
139
+ }
140
+ function mt(b, l, t, s = ["URDFVisual"]) {
141
+ let m = null;
142
+ const i = T(null), h = new ge(), v = new ye(), j = /* @__PURE__ */ new Map();
143
+ function _() {
144
+ t.value.forEach((p) => {
145
+ p.traverse((d) => {
146
+ s != null && s.includes(d.type) && j.set(d.id, {
147
+ obj: d,
148
+ axis: d.axis || new je(1, 0, 0),
149
+ // URDF 里的 <axis>
150
+ limits: d.limits
151
+ });
152
+ });
153
+ });
154
+ }
155
+ function r(p) {
156
+ i.value && i.value.obj.traverse((d) => {
157
+ var e;
158
+ d.material && ((e = d.material.emissive) == null || e.set(0));
159
+ }), i.value = p, p.obj.traverse((d) => {
160
+ var e;
161
+ d.material && ((e = d.material.emissive) == null || e.set(65280));
162
+ });
163
+ }
164
+ function f(p) {
165
+ const d = b.value.getBoundingClientRect();
166
+ v.x = (p.clientX - d.left) / d.width * 2 - 1, v.y = -((p.clientY - d.top) / d.height) * 2 + 1, h.setFromCamera(v, m);
167
+ const e = h.intersectObjects(t.value, !0);
168
+ if (e.length === 0) return;
169
+ let o = e[0].object, w = null;
170
+ for (; o; ) {
171
+ if (j.has(o.id)) {
172
+ w = j.get(o.id);
173
+ break;
174
+ }
175
+ o = o.parent;
176
+ }
177
+ w && r(w);
178
+ }
179
+ function g() {
180
+ b.value && b.value.removeEventListener("click", f, !1);
181
+ }
182
+ function n() {
183
+ const { scene: p, camera: d } = l();
184
+ m = d, _(), b.value && b.value.addEventListener("click", f, !1);
185
+ }
186
+ function u(p) {
187
+ i.value && (i.value.obj.visible = p);
188
+ }
189
+ function y(p) {
190
+ var o;
191
+ const { axis: d, value: e } = p;
192
+ Ue((o = i.value) == null ? void 0 : o.obj, d, e);
193
+ }
194
+ function $(p) {
195
+ var o;
196
+ const { axis: d, value: e } = p;
197
+ Re((o = i.value) == null ? void 0 : o.obj, d, e);
198
+ }
199
+ return {
200
+ initRaycaster: n,
201
+ dispose: g,
202
+ selectedObject3D: i,
203
+ setSelectedObjVisible: u,
204
+ updatePosition: y,
205
+ updateRotation: $
206
+ };
207
+ }
208
+ class vt {
209
+ constructor(l) {
210
+ J(this, "robot");
211
+ J(this, "movableJoints");
212
+ this.robot = l, this.movableJoints = this.getMovableJoints();
213
+ }
214
+ /**
215
+ * 获取所有可动关节
216
+ */
217
+ getMovableJoints() {
218
+ return Object.values(this.robot.joints).filter((l) => l.jointType !== "fixed");
219
+ }
220
+ /**
221
+ * 获取可动关节名称列表
222
+ */
223
+ getMovableJointNames() {
224
+ return this.movableJoints.map((l) => l.name);
225
+ }
226
+ /**
227
+ * 设置单个关节角度
228
+ */
229
+ setJointAngle(l, t) {
230
+ const s = this.robot.joints[l];
231
+ if (!s || s.jointType === "fixed")
232
+ return console.warn(`关节 ${l} 不存在或不可动`), !1;
233
+ if (s.limit) {
234
+ const m = Math.max(s.limit.lower, Math.min(s.limit.upper, t));
235
+ m !== t && console.warn(`关节 ${l} 角度被限制在 [${s.limit.lower}, ${s.limit.upper}]`), s.setJointValue(m);
236
+ } else
237
+ s.setJointValue(t);
238
+ return !0;
239
+ }
240
+ /**
241
+ * 批量设置关节角度
242
+ */
243
+ setJointAngles(l) {
244
+ Object.entries(l).forEach(([t, s]) => {
245
+ typeof s == "number" && !isNaN(s) && this.setJointAngle(t, s);
246
+ });
247
+ }
248
+ /**
249
+ * 获取当前所有关节状态
250
+ */
251
+ getCurrentJointStates() {
252
+ const l = {};
253
+ return this.movableJoints.forEach((t) => {
254
+ l[t.name] = t.angle || 0;
255
+ }), l;
256
+ }
257
+ /**
258
+ * 重置所有关节到零位
259
+ */
260
+ resetToZero() {
261
+ this.movableJoints.forEach((l) => {
262
+ l.setJointValue(0);
263
+ });
264
+ }
265
+ /**
266
+ * 获取关节限制信息
267
+ */
268
+ getJointLimits(l) {
269
+ const t = this.robot.joints[l];
270
+ return !t || !t.limit ? null : {
271
+ lower: t.limit.lower,
272
+ upper: t.limit.upper
273
+ };
274
+ }
275
+ /**
276
+ * 线性插值动画到目标状态
277
+ */
278
+ async animateToState(l, t = 1e3, s) {
279
+ const m = this.getCurrentJointStates(), i = Date.now();
280
+ return new Promise((h) => {
281
+ const v = () => {
282
+ const j = Date.now() - i, _ = Math.min(j / t, 1), r = this.easeInOutCubic(_), f = {};
283
+ Object.keys(l).forEach((g) => {
284
+ const n = m[g] || 0, u = l[g];
285
+ f[g] = n + (u - n) * r;
286
+ }), this.setJointAngles(f), s && s(_), _ < 1 ? requestAnimationFrame(v) : h();
287
+ };
288
+ v();
289
+ });
290
+ }
291
+ /**
292
+ * 缓动函数
293
+ */
294
+ easeInOutCubic(l) {
295
+ return l < 0.5 ? 4 * l * l * l : 1 - Math.pow(-2 * l + 2, 3) / 2;
296
+ }
297
+ /**
298
+ * 播放关键帧动画序列
299
+ */
300
+ async playSequence(l, t = 1e3, s) {
301
+ for (let m = 0; m < l.length; m++)
302
+ await this.animateToState(l[m], t, (i) => {
303
+ s && s(m, i);
304
+ });
305
+ }
306
+ }
307
+ const Je = { class: "panel-content" }, Oe = { class: "obj" }, Ee = {
308
+ key: 0,
309
+ class: "obj-base"
310
+ }, xe = ["title"], ke = ["title"], Ve = { key: 1 }, Te = { class: "obj-position" }, ze = { class: "coord-item" }, Pe = { class: "coord-item" }, Ae = { class: "coord-item" }, Ie = { class: "obj-rotation" }, Be = { class: "coord-item" }, Ne = { class: "coord-item" }, We = { class: "coord-item" }, qe = { class: "world" }, Xe = { class: "coord-line" }, Ye = { class: "coord-text" }, Ze = { class: "world-position-item" }, Ke = { class: "world-position-item" }, Ge = { class: "world-position-item" }, He = { class: "coord-line" }, Qe = { class: "coord-text" }, et = { class: "world-rotation-item" }, tt = { class: "world-rotation-item" }, ot = { class: "world-rotation-item" }, st = /* @__PURE__ */ Le({
311
+ __name: "workpieceTreePanel",
312
+ props: {
313
+ model: {},
314
+ maxExpandCount: { default: 10 },
315
+ expandStrategy: { default: "breadth" }
316
+ },
317
+ emits: ["nodeClick", "visibleChange", "updatePosition", "updateRotation"],
318
+ setup(b, { emit: l }) {
319
+ const t = b, s = l, m = T([]), i = T({}), h = (e, o = 0) => {
320
+ const w = [];
321
+ return Array.isArray(e) && (e == null ? void 0 : e.length) > 0 && e.forEach((a) => {
322
+ if (!(a != null && a.isMesh)) {
323
+ const L = {
324
+ name: a == null ? void 0 : a.name,
325
+ label: (a == null ? void 0 : a.name) || (a == null ? void 0 : a.type),
326
+ show: !0,
327
+ level: o + 1,
328
+ isPenultimate: !1,
329
+ type: a == null ? void 0 : a.type,
330
+ id: a == null ? void 0 : a.id,
331
+ limit: (a == null ? void 0 : a.limit) ?? "",
332
+ children: h(a == null ? void 0 : a.children, o + 1),
333
+ path: a == null ? void 0 : a.name
334
+ };
335
+ w.push(L);
336
+ }
337
+ }), w;
338
+ }, v = (e) => e ? [{
339
+ name: e == null ? void 0 : e.name,
340
+ label: (e == null ? void 0 : e.name) || (e == null ? void 0 : e.type),
341
+ show: !0,
342
+ level: 1,
343
+ isPenultimate: !1,
344
+ type: e == null ? void 0 : e.type,
345
+ id: e == null ? void 0 : e.id,
346
+ limit: (e == null ? void 0 : e.limit) ?? "",
347
+ children: h(e == null ? void 0 : e.children, 1),
348
+ path: e == null ? void 0 : e.name
349
+ }] : [], j = (e, o) => {
350
+ const w = [], a = [...e];
351
+ for (; a.length > 0 && w.length < o; ) {
352
+ const L = a.shift();
353
+ L.children && L.children.length > 0 && (w.push(L.id), a.push(...L.children));
354
+ }
355
+ return w;
356
+ }, _ = (e, o) => {
357
+ const w = [];
358
+ return e.forEach((a) => {
359
+ if (a.children && a.children.length > 0) {
360
+ w.push(a.id);
361
+ const L = a.children.filter((S) => S.children && S.children.length > 0).slice(0, o).map((S) => S.id);
362
+ w.push(...L);
363
+ }
364
+ }), w.slice(0, o + 1);
365
+ };
366
+ M(() => !m.value || m.value.length === 0 ? [] : t.expandStrategy === "firstLevel" ? _(m.value, t.maxExpandCount) : j(m.value, t.maxExpandCount));
367
+ const r = (e) => e ? parseFloat(e.toFixed(3)) : 0, f = (e) => e ? parseFloat(e.toFixed(1)) : 0, g = (e, o) => {
368
+ s("updatePosition", {
369
+ obj: t.model,
370
+ axis: o,
371
+ value: (e == null ? void 0 : e.toString()) || "0"
372
+ });
373
+ }, n = (e, o) => {
374
+ s("updateRotation", {
375
+ obj: t.model,
376
+ axis: o,
377
+ value: (e == null ? void 0 : e.toString()) || "0"
378
+ });
379
+ }, u = (e) => {
380
+ s("visibleChange", e);
381
+ }, y = M(() => t != null && t.model ? v(t.model) : []), $ = M(() => {
382
+ var e, o;
383
+ return ((e = t == null ? void 0 : t.model) == null ? void 0 : e.name) || ((o = t == null ? void 0 : t.model) == null ? void 0 : o.type);
384
+ }), p = M(() => {
385
+ var e;
386
+ return (e = t == null ? void 0 : t.model) == null ? void 0 : e.type;
387
+ }), d = M(() => {
388
+ var e;
389
+ return (e = t == null ? void 0 : t.model) == null ? void 0 : e.visible;
390
+ });
391
+ return ue(() => t.model, () => {
392
+ t.model && (i.value = $e(t.model));
393
+ }, {
394
+ deep: !0,
395
+ immediate: !0
396
+ }), ue(
397
+ y,
398
+ (e) => {
399
+ m.value = JSON.parse(JSON.stringify(e));
400
+ },
401
+ { immediate: !0 }
402
+ ), (e, o) => {
403
+ var S, z, P, A, I, B, N, W, q, X, Y, Z, K, G, H, Q, ee, te, oe, se, ie, le, ae, ne;
404
+ const w = x("el-divider"), a = x("el-switch"), L = x("el-input-number");
405
+ return V(), k("div", Je, [
406
+ U(w, null, {
407
+ default: F(() => o[6] || (o[6] = [
408
+ D("对象")
409
+ ])),
410
+ _: 1,
411
+ __: [6]
412
+ }),
413
+ c("div", Oe, [
414
+ t.model ? (V(), k("div", Ee, [
415
+ c("div", {
416
+ class: "obj-name",
417
+ title: $.value
418
+ }, C($.value), 9, xe),
419
+ c("div", {
420
+ class: "obj-type",
421
+ title: p.value
422
+ }, "[" + C(p.value) + "]", 9, ke)
423
+ ])) : (V(), k("div", Ve, "空")),
424
+ U(a, {
425
+ "model-value": d.value,
426
+ onChange: u
427
+ }, null, 8, ["model-value"])
428
+ ]),
429
+ U(w, null, {
430
+ default: F(() => o[7] || (o[7] = [
431
+ D("相对位置")
432
+ ])),
433
+ _: 1,
434
+ __: [7]
435
+ }),
436
+ c("div", Te, [
437
+ c("div", ze, [
438
+ o[8] || (o[8] = c("span", { class: "axis-label" }, "X", -1)),
439
+ U(L, {
440
+ "model-value": r((z = (S = i.value) == null ? void 0 : S.position) == null ? void 0 : z.x),
441
+ onChange: o[0] || (o[0] = (R) => g(R, "x")),
442
+ size: "small",
443
+ class: "coord-input-compact",
444
+ precision: 3,
445
+ step: 0.1,
446
+ controls: !0,
447
+ "controls-position": "right"
448
+ }, null, 8, ["model-value"])
449
+ ]),
450
+ c("div", Pe, [
451
+ o[9] || (o[9] = c("span", { class: "axis-label" }, "Y", -1)),
452
+ U(L, {
453
+ "model-value": r((A = (P = i.value) == null ? void 0 : P.position) == null ? void 0 : A.y),
454
+ onChange: o[1] || (o[1] = (R) => g(R, "y")),
455
+ size: "small",
456
+ class: "coord-input-compact",
457
+ precision: 3,
458
+ step: 0.1,
459
+ controls: !0,
460
+ "controls-position": "right"
461
+ }, null, 8, ["model-value"])
462
+ ]),
463
+ c("div", Ae, [
464
+ o[10] || (o[10] = c("span", { class: "axis-label" }, "Z", -1)),
465
+ U(L, {
466
+ "model-value": r((B = (I = i.value) == null ? void 0 : I.position) == null ? void 0 : B.z),
467
+ onChange: o[2] || (o[2] = (R) => g(R, "z")),
468
+ size: "small",
469
+ class: "coord-input-compact",
470
+ precision: 3,
471
+ step: 0.1,
472
+ controls: !0,
473
+ "controls-position": "right"
474
+ }, null, 8, ["model-value"])
475
+ ])
476
+ ]),
477
+ U(w, null, {
478
+ default: F(() => o[11] || (o[11] = [
479
+ D("相对旋转")
480
+ ])),
481
+ _: 1,
482
+ __: [11]
483
+ }),
484
+ c("div", Ie, [
485
+ c("div", Be, [
486
+ o[12] || (o[12] = c("span", { class: "axis-label" }, "X°", -1)),
487
+ U(L, {
488
+ "model-value": f((W = (N = i.value) == null ? void 0 : N.rotation) == null ? void 0 : W.x),
489
+ onChange: o[3] || (o[3] = (R) => n(R, "x")),
490
+ size: "small",
491
+ class: "coord-input-compact",
492
+ precision: 3,
493
+ step: 0.1,
494
+ controls: !0,
495
+ "controls-position": "right"
496
+ }, null, 8, ["model-value"])
497
+ ]),
498
+ c("div", Ne, [
499
+ o[13] || (o[13] = c("span", { class: "axis-label" }, "Y°", -1)),
500
+ U(L, {
501
+ "model-value": f((X = (q = i.value) == null ? void 0 : q.rotation) == null ? void 0 : X.y),
502
+ onChange: o[4] || (o[4] = (R) => n(R, "y")),
503
+ size: "small",
504
+ class: "coord-input-compact",
505
+ precision: 3,
506
+ step: 0.1,
507
+ controls: !0,
508
+ "controls-position": "right"
509
+ }, null, 8, ["model-value"])
510
+ ]),
511
+ c("div", We, [
512
+ o[14] || (o[14] = c("span", { class: "axis-label" }, "Z°", -1)),
513
+ U(L, {
514
+ "model-value": f((Z = (Y = i.value) == null ? void 0 : Y.rotation) == null ? void 0 : Z.z),
515
+ onChange: o[5] || (o[5] = (R) => n(R, "z")),
516
+ size: "small",
517
+ class: "coord-input-compact",
518
+ precision: 3,
519
+ step: 0.1,
520
+ controls: !0,
521
+ "controls-position": "right"
522
+ }, null, 8, ["model-value"])
523
+ ])
524
+ ]),
525
+ U(w, null, {
526
+ default: F(() => o[15] || (o[15] = [
527
+ D("世界信息")
528
+ ])),
529
+ _: 1,
530
+ __: [15]
531
+ }),
532
+ c("div", qe, [
533
+ c("div", Xe, [
534
+ o[16] || (o[16] = c("span", { class: "coord-label" }, "世界位置:", -1)),
535
+ c("span", Ye, [
536
+ c("div", Ze, C(r((G = (K = i.value) == null ? void 0 : K.worldPosition) == null ? void 0 : G.x)) + ", ", 1),
537
+ c("div", Ke, C(r((Q = (H = i.value) == null ? void 0 : H.worldPosition) == null ? void 0 : Q.y)) + ", ", 1),
538
+ c("div", Ge, C(r((te = (ee = i.value) == null ? void 0 : ee.worldPosition) == null ? void 0 : te.z)), 1)
539
+ ])
540
+ ]),
541
+ c("div", He, [
542
+ o[17] || (o[17] = c("span", { class: "coord-label" }, "世界旋转:", -1)),
543
+ c("span", Qe, [
544
+ c("div", et, C(f((se = (oe = i.value) == null ? void 0 : oe.worldRotation) == null ? void 0 : se.x)) + "°, ", 1),
545
+ c("div", tt, C(f((le = (ie = i.value) == null ? void 0 : ie.worldRotation) == null ? void 0 : le.y)) + "°, ", 1),
546
+ c("div", ot, C(f((ne = (ae = i.value) == null ? void 0 : ae.worldRotation) == null ? void 0 : ne.z)) + "° ", 1)
547
+ ])
548
+ ])
549
+ ])
550
+ ]);
551
+ };
552
+ }
553
+ }), pt = /* @__PURE__ */ Ce(st, [["__scopeId", "data-v-00d48931"]]);
554
+ export {
555
+ vt as U,
556
+ pt as W,
557
+ dt as a,
558
+ mt as u
559
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ss-component-new",
3
3
  "private": false,
4
- "version": "1.3.699",
4
+ "version": "1.3.700",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
@@ -13,7 +13,7 @@
13
13
  "dev": "vite",
14
14
  "build": "node --max-old-space-size=8192 ./node_modules/vite/bin/vite build",
15
15
  "preview": "vite preview",
16
- "build:lib": "vite build",
16
+ "build:lib": "set NODE_OPTIONS=--max-old-space-size=8192 && vite build",
17
17
  "prepublishOnly": "npm run build:lib"
18
18
  },
19
19
  "dependencies": {
@@ -25,6 +25,7 @@
25
25
  "@vue-office/excel": "^1.7.14",
26
26
  "axios": "^1.9.0",
27
27
  "codemirror": "^6.0.2",
28
+ "codemirror-editor-vue3": "^2.8.0",
28
29
  "cropperjs": "^1.6.2",
29
30
  "dayjs": "^1.11.13",
30
31
  "docx-preview": "^0.3.6",
@@ -57,26 +58,23 @@
57
58
  "xlsx": "^0.18.5"
58
59
  },
59
60
  "devDependencies": {
61
+ "@types/codemirror": "^5.60.17",
60
62
  "@types/lodash-es": "^4.17.12",
61
63
  "@types/node": "^22.14.1",
62
- "@types/sortablejs": "^1.15.9",
63
64
  "@types/three": "^0.177.0",
64
65
  "@vitejs/plugin-vue": "^5.2.3",
65
- "@vue/eslint-config-prettier": "^10.2.0",
66
66
  "@vue/tsconfig": "^0.7.0",
67
67
  "fast-glob": "^3.3.3",
68
68
  "less": "^4.3.0",
69
69
  "patch-package": "^8.0.0",
70
- "prettier": "^3.8.4",
71
70
  "sass-embedded": "^1.87.0",
72
71
  "typescript": "~5.7.2",
73
- "typescript-eslint": "^8.62.0",
74
72
  "vite": "^6.3.1",
75
73
  "vite-plugin-dts": "^4.5.3",
76
74
  "vite-plugin-svg-icons": "^2.0.1",
77
75
  "vite-plugin-vue-devtools": "^7.7.7",
78
76
  "vite-plugin-vue-inspector": "^5.3.2",
79
- "vue-eslint-parser": "^10.4.1",
80
77
  "vue-tsc": "^2.2.10"
81
- }
78
+ },
79
+ "packageManager": "pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264"
82
80
  }
package/public/config.js CHANGED
@@ -5,7 +5,7 @@ window.__env__ = {
5
5
  "VITE_PUBLIC_PATH": "",
6
6
  "VITE_SM_PUBLIC_KEY": "0484C7466D950E120E5ECE5DD85D0C90EAA85081A3A2BD7C57AE6DC822EFCCBD66620C67B0103FC8DD280E36C3B282977B722AAEC3C56518EDCEBAFB72C5A05312",
7
7
  "VITE_API_URL": "http://222.92.178.198:62001",
8
- "VITE_API_NEW_URL": "http://222.92.178.198:63003",
8
+ "VITE_API_NEW_URL": "http://222.92.178.198:63002",
9
9
  "VITE_REPORT_URL": "http://139.196.154.85:20031",
10
10
  "VITE_FACE_RECOGNITION_API_URL": "http://139.196.154.85:20015",
11
11
  "VITE_DEFAULT_USER": "",
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1780642425297" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2833" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M384 806.4l275.2-275.2-57.6-57.6-19.2 19.2c-12.8 12.8-38.4 12.8-51.2 0-12.8-12.8-12.8-38.4 0-51.2l19.2-19.2c25.6-25.6 64-25.6 89.6 0l64 70.4c25.6 25.6 25.6 64 0 89.6l-275.2 275.2c6.4 12.8 12.8 32 12.8 44.8 0 51.2-44.8 96-96 96S256 947.2 256 896s44.8-96 96-96c12.8 0 25.6 0 32 6.4z m275.2-563.2L384 518.4l57.6 57.6 19.2-19.2c12.8-12.8 38.4-12.8 51.2 0 12.8 12.8 12.8 38.4 0 51.2l-25.6 25.6c-25.6 25.6-64 25.6-89.6 0l-64-70.4c-25.6-25.6-25.6-64 0-89.6L614.4 192c-6.4-12.8-6.4-19.2-6.4-32 0-51.2 44.8-96 96-96s96 44.8 96 96S755.2 256 704 256c-19.2 0-32-6.4-44.8-12.8z m198.4 275.2l-128-128c-12.8-12.8-12.8-38.4 0-51.2 12.8-12.8 38.4-12.8 51.2 0l128 128c12.8 12.8 19.2 32 19.2 51.2 0 19.2-6.4 38.4-19.2 51.2l-128 128c-12.8 12.8-38.4 12.8-51.2 0-12.8-12.8-12.8-38.4 0-51.2l128-128z m-691.2 0l128 128c12.8 12.8 12.8 38.4 0 51.2-12.8 12.8-38.4 12.8-51.2 0l-128-128c-12.8-12.8-19.2-32-19.2-51.2 0-19.2 6.4-38.4 19.2-51.2l128-128c12.8-12.8 38.4-12.8 51.2 0 12.8 12.8 12.8 38.4 0 51.2l-128 128z" p-id="2834"></path></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1782276995812" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4176" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M469.745309 0a469.745309 469.745309 0 1 0 0 939.490619A469.745309 469.745309 0 0 0 469.809272 0z m0 81.872821a387.872488 387.872488 0 1 1 0 775.744977 387.872488 387.872488 0 0 1 0-775.744977z" fill="#444444" p-id="4177"></path><path d="M753.485804 753.485804a40.93641 40.93641 0 0 1 55.264154-2.4306l2.558525 2.4306 200.204633 200.076706a40.93641 40.93641 0 0 1-55.328118 60.317242l-2.622488-2.4306-200.140669-200.076705a40.93641 40.93641 0 0 1 0-57.886643z" fill="#444444" p-id="4178"></path><path d="M266.086668 552.64154c15.351154 0 29.423045 8.571061 36.45899 22.19521l-1.982857-2.878341c45.733646 70.487382 115.005728 111.295866 198.477627 113.598539l7.419724 0.063963V767.557695c-112.575129 0-208.327951-53.217334-270.308235-144.556699l-4.28553-6.396314 0.191889-0.127927a40.93641 40.93641 0 0 1 34.028392-63.771252z" p-id="4179"></path></svg>
@@ -0,0 +1,42 @@
1
+ # CAD Exchanger 3.24.0 (cadexchanger.com)
2
+ # Material Count: 5
3
+
4
+ newmtl Material_1
5
+ Ns 0.000000
6
+ Ka 0.200000 0.200000 0.200000
7
+ Kd 0.666667 0.666667 0.666667
8
+ Ks 0.000000 0.000000 0.000000
9
+ Ke 0.000000 0.000000 0.000000
10
+ d 1.000000
11
+
12
+ newmtl Material_2
13
+ Ns 0.000000
14
+ Ka 0.200000 0.200000 0.200000
15
+ Kd 0.133333 0.133333 0.133333
16
+ Ks 0.000000 0.000000 0.000000
17
+ Ke 0.000000 0.000000 0.000000
18
+ d 1.000000
19
+
20
+ newmtl Material_3
21
+ Ns 0.000000
22
+ Ka 0.200000 0.200000 0.200000
23
+ Kd 0.733333 0.733333 0.733333
24
+ Ks 0.000000 0.000000 0.000000
25
+ Ke 0.000000 0.000000 0.000000
26
+ d 1.000000
27
+
28
+ newmtl Material_5
29
+ Ns 0.000000
30
+ Ka 0.200000 0.200000 0.200000
31
+ Kd 0.396078 0.941176 0.450980
32
+ Ks 0.000000 0.000000 0.000000
33
+ Ke 0.000000 0.000000 0.000000
34
+ d 1.000000
35
+
36
+ newmtl Material_4
37
+ Ns 0.000000
38
+ Ka 0.200000 0.200000 0.200000
39
+ Kd 1.000000 1.000000 0.000000
40
+ Ks 0.000000 0.000000 0.000000
41
+ Ke 0.000000 0.000000 0.000000
42
+ d 1.000000