ss-component-new 1.2.26 → 1.2.28

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 (115) hide show
  1. package/dist/{MTLLoader-j7rSXeZy.js → MTLLoader-BreJsr54.js} +1 -1
  2. package/dist/{MTLLoader-CSavblQS.cjs → MTLLoader-Cqv49Ps8.cjs} +1 -1
  3. package/dist/{OrbitControls-BYxGl2XB.js → OrbitControls-BCu-cP7k.js} +1 -1
  4. package/dist/{OrbitControls-dRON011u.cjs → OrbitControls-C956u7BP.cjs} +1 -1
  5. package/dist/{animationData-rmZ0EGb8.cjs → animationData-C3-BiUgV.cjs} +1 -1
  6. package/dist/{animationData-Br4BCkiq.js → animationData-CMjNjOqc.js} +4 -4
  7. package/dist/{array-CeASBMWY.cjs → array-0u9Sf3UC.cjs} +1 -1
  8. package/dist/{array-Cx8FbegO.js → array-BGIM4b6g.js} +2 -2
  9. package/dist/{dataUtil-RzgUhlgJ.cjs → dataUtil-BFjWNDM1.cjs} +1 -1
  10. package/dist/{dataUtil-CJxHUail.js → dataUtil-D9l7-XhR.js} +2 -2
  11. package/dist/{fileUtil-BM6WhafY.cjs → fileUtil-BFtJHTM0.cjs} +1 -1
  12. package/dist/{fileUtil-BVzW5lTY.js → fileUtil-D7XVXEhb.js} +1 -1
  13. package/dist/{iconfont-J7S-v_zE.js → iconfont-B9Cj3DQM.js} +2 -2
  14. package/dist/{iconfont-Dsx_JtWY.cjs → iconfont-BDfcbq2v.cjs} +1 -1
  15. package/dist/icons/svg//344/272/272/345/203/217.svg +1 -0
  16. package/dist/{index-ClzEamlP.js → index-3QB55tXZ.js} +7 -7
  17. package/dist/{index-BGm3sgAn.cjs → index-B33wtiif.cjs} +1 -1
  18. package/dist/{index-D7wMQSEM.js → index-B8bpiPXB.js} +1 -1
  19. package/dist/{index-BvgHldVC.cjs → index-B9TlIok8.cjs} +12 -12
  20. package/dist/{index-DbHiWNBM.cjs → index-BWxbWhC9.cjs} +1 -1
  21. package/dist/{index-BoTEVRWS.js → index-BZwQB2HO.js} +5 -5
  22. package/dist/{index-DRSU72SE.js → index-BaE0DPgC.js} +66 -59
  23. package/dist/{index-DN8avrWv.cjs → index-BccOOMaP.cjs} +1 -1
  24. package/dist/index-BgHY8wmn.cjs +1 -0
  25. package/dist/{index-DpxXt1oz.js → index-Boazv8yC.js} +2 -2
  26. package/dist/{index-D5YeHxKp.js → index-BqRVuEsE.js} +6 -6
  27. package/dist/{index-CyNvD7fs.js → index-BwLaQntz.js} +1 -1
  28. package/dist/{index-Dr7mB3zJ.js → index-C-8LROmP.js} +2 -2
  29. package/dist/{index-DcT0aYIX.js → index-C1lZkQG-.js} +423 -423
  30. package/dist/{index-DWBL8V_4.js → index-C5UpEVah.js} +2 -2
  31. package/dist/index-C5fTUrKx.js +573 -0
  32. package/dist/{index-BH-cEIyF.cjs → index-C9_Cxm8G.cjs} +1 -1
  33. package/dist/{index-D5fqqSXr.cjs → index-CBFF2bsB.cjs} +1 -1
  34. package/dist/{index-YhB_cMji.cjs → index-CC9RkSBT.cjs} +1 -1
  35. package/dist/{index-BJkToJcC.cjs → index-CK5VdzmO.cjs} +1 -1
  36. package/dist/{index-CeWLT1YO.js → index-CKY0sj_X.js} +3 -3
  37. package/dist/{index-Cm99VII_.js → index-CMwwUi6o.js} +6 -6
  38. package/dist/{index-DjMSxB8D.cjs → index-CP7b7BrB.cjs} +1 -1
  39. package/dist/{index-BU5WJczo.js → index-CZu3TggJ.js} +1 -1
  40. package/dist/{index-Bp0GMpLC.cjs → index-C_cWjavY.cjs} +1 -1
  41. package/dist/{index-DVv2nM9_.cjs → index-Cd9j5j41.cjs} +1 -1
  42. package/dist/{index-B7l9bX5c.cjs → index-Cwh5m4lg.cjs} +1 -1
  43. package/dist/index-D0XPyuy4.cjs +1 -0
  44. package/dist/{index-lw6M4N-Q.cjs → index-D3TgRd-7.cjs} +1 -1
  45. package/dist/{index-Ie0BUTFu.js → index-D5Dtcn-_.js} +6 -6
  46. package/dist/{index-Bp5zOMHT.cjs → index-DE-uHAMH.cjs} +1 -1
  47. package/dist/{index-T2VihBuZ.js → index-DHOcRi3S.js} +6 -6
  48. package/dist/{index-CMIII30g.cjs → index-DMyPjpxO.cjs} +1 -1
  49. package/dist/{index-BvB9p0W4.js → index-DR7aNxVH.js} +4 -4
  50. package/dist/{index-0dw7iEtO.cjs → index-DVqfroe6.cjs} +1 -1
  51. package/dist/{index-ggXXcZCO.js → index-DiTYB-a4.js} +63 -58
  52. package/dist/index-DnFxL5wb.cjs +1 -0
  53. package/dist/{index-CaGluCnk.js → index-DqR3IwgZ.js} +12 -12
  54. package/dist/{index-zAZNzNG-.js → index-DsCD1neC.js} +2 -2
  55. package/dist/{index-CNxiv6y5.js → index-Dx2X9pR1.js} +43 -43
  56. package/dist/{index-C2B83Ywj.cjs → index-GGokR_Lx.cjs} +1 -1
  57. package/dist/{index-7pDDKkwc.js → index-HduGypr9.js} +34 -34
  58. package/dist/index-LcnC2GQ4.cjs +1 -0
  59. package/dist/{index-DoWGbQss.js → index-OTxJnh9Z.js} +153 -153
  60. package/dist/{index-DodooTli.js → index-Rr9ZBYig.js} +2 -2
  61. package/dist/{index-BEfXSiWp.js → index-Sa2hQZ0h.js} +2 -2
  62. package/dist/{index-BkcjJQlg.cjs → index-TKouySTA.cjs} +1 -1
  63. package/dist/{index-veEr0Ju4.js → index-gPnrvvE9.js} +1324 -1321
  64. package/dist/{index-BPxe8bKe.js → index-gXbhagnF.js} +3 -3
  65. package/dist/{index-CAPstY_B.cjs → index-mpoVA-DC.cjs} +1 -1
  66. package/dist/{index-C9GfFRyr.cjs → index-uIVtG4RY.cjs} +1 -1
  67. package/dist/index-wQJN1jpI.js +2466 -0
  68. package/dist/index-zLkhy4JK.cjs +1 -0
  69. package/dist/{index-DFbvbOsE.js → index-zZ9bfGNx.js} +1 -1
  70. package/dist/{index-DMHh2MZZ.cjs → index-znR89ub7.cjs} +1 -1
  71. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-DGl2lQmW.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CuWDdCiy.js} +2 -2
  72. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-BWh0GUiI.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-TDoJ17os.cjs} +1 -1
  73. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-BjBzi9R7.js → index.vue_vue_type_style_index_0_scoped_92477073_lang-BQiH2RRX.js} +11 -11
  74. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-BwjCaKYV.cjs → index.vue_vue_type_style_index_0_scoped_92477073_lang-Dqpyi0E8.cjs} +1 -1
  75. package/dist/index.vue_vue_type_style_index_0_scoped_bcdf4fb0_lang-D21h7jT_.cjs +37 -0
  76. package/dist/{index.vue_vue_type_style_index_0_scoped_bcdf4fb0_lang-DZGhek9_.js → index.vue_vue_type_style_index_0_scoped_bcdf4fb0_lang-PE_6dfIO.js} +12719 -12591
  77. package/dist/{index.vue_vue_type_style_index_1_lang-BHt4rvMd.js → index.vue_vue_type_style_index_1_lang-9ANlnWKt.js} +5 -5
  78. package/dist/index.vue_vue_type_style_index_1_lang-CrmWclPR.cjs +32 -0
  79. package/dist/{index.vue_vue_type_style_index_1_lang-C2PJ2fvM.cjs → index.vue_vue_type_style_index_1_lang-D4RvHwPS.cjs} +1 -1
  80. package/dist/{index.vue_vue_type_style_index_1_lang-WD8HOZyf.js → index.vue_vue_type_style_index_1_lang-DwvuVXW6.js} +2580 -2471
  81. package/dist/{isString-BbPmUYHG.js → isString-BuBBWjRr.js} +1 -1
  82. package/dist/{main-DWa3MZxf.js → main-DpLQlLK2.js} +5 -5
  83. package/dist/{main-DlDkQh0n.cjs → main-Mx9r7ydp.cjs} +1 -1
  84. package/dist/ss-component.cjs +1 -1
  85. package/dist/ss-component.css +2 -2
  86. package/dist/ss-component.js +11 -11
  87. package/dist/ss-component2.cjs +1 -1
  88. package/dist/ss-component2.js +12 -12
  89. package/dist/{threeModel-CBsLcTcX.js → threeModel-CZ-qFwwk.js} +5 -5
  90. package/dist/{threeModel-Dt9Ounip.cjs → threeModel-DTwQnnAO.cjs} +1 -1
  91. package/dist/{threePreview-DSMFTIuC.cjs → threePreview-CUGoEzKf.cjs} +1 -1
  92. package/dist/{threePreview-D99A_IHZ.js → threePreview-DutKTPWH.js} +4 -4
  93. package/dist/{threeSceneView-BD22yXw4.js → threeSceneView-CzgWYHBw.js} +11 -11
  94. package/dist/{threeSceneView-Dv2uGsTN.cjs → threeSceneView-f1V-z4jr.cjs} +1 -1
  95. package/dist/{threeSceneViewForCPMPIP-CpBphI9E.js → threeSceneViewForCPMPIP-2sXIw3I1.js} +61 -61
  96. package/dist/{threeSceneViewForCPMPIP-DfaTaroP.cjs → threeSceneViewForCPMPIP-CojHDVHC.cjs} +1 -1
  97. package/dist/{threeTrackPathView-BGePzJh4.cjs → threeTrackPathView-BGHiOyJo.cjs} +1 -1
  98. package/dist/{threeTrackPathView-bFuXaesk.js → threeTrackPathView-DA4_8jas.js} +6 -6
  99. package/dist/{threeViewerHost-gGHqJpTR.js → threeViewerHost-BNObp9oA.js} +17 -17
  100. package/dist/{threeViewerHost-bQqnJLh9.cjs → threeViewerHost-D3WDKrIQ.cjs} +1 -1
  101. package/dist/{urdfTree-nXEMcLFV.cjs → urdfTree-CWStzmk2.cjs} +1 -1
  102. package/dist/{urdfTree-B2Zs54qS.js → urdfTree-CnkPddyT.js} +1 -1
  103. package/dist/{workpieceTreePanel-CXD_XizT.js → workpieceTreePanel-BvhFt3Xw.js} +5 -5
  104. package/dist/{workpieceTreePanel-Brforhya.cjs → workpieceTreePanel-DXyb_Wnw.cjs} +1 -1
  105. package/package.json +1 -1
  106. package/public/icons/svg//344/272/272/345/203/217.svg +1 -0
  107. package/dist/index-B3l8CoGZ.js +0 -2384
  108. package/dist/index-BRAUJGR3.cjs +0 -1
  109. package/dist/index-BjRAas3a.cjs +0 -1
  110. package/dist/index-Cf9NTS7v.cjs +0 -1
  111. package/dist/index-D3x3jleA.js +0 -654
  112. package/dist/index-DWTsFx-2.cjs +0 -1
  113. package/dist/index-Dc8TgzRR.cjs +0 -1
  114. package/dist/index.vue_vue_type_style_index_0_scoped_bcdf4fb0_lang-BKfBwnMQ.cjs +0 -37
  115. package/dist/index.vue_vue_type_style_index_1_lang-f2wxl9Ai.cjs +0 -32
@@ -1,2384 +0,0 @@
1
- import { resolveComponent as ce, createBlock as ue, openBlock as u, withCtx as m, createElementVNode as r, toDisplayString as re, ref as h, onMounted as Ot, watch as Ue, createElementBlock as S, Fragment as Ke, renderList as Le, createCommentVNode as H, normalizeStyle as Dt, defineComponent as qt, resolveDynamicComponent as Xt, unref as s, computed as ze, provide as bt, resolveDirective as da, createVNode as l, withDirectives as Ve, createTextVNode as Je, vShow as vt, renderSlot as ut, normalizeClass as Pt, onUnmounted as Ra, createSlots as Ua } from "vue";
2
- import { m as Zt, a as zt, b as _t } from "./index-Cm99VII_.js";
3
- import "./index.vue_vue_type_style_index_0_scoped_92477073_lang-BjBzi9R7.js";
4
- import { _ as nt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
- import { _ as Ta, a as Pa, b as ja, e as Ka, s as Fa } from "./index.vue_vue_type_style_index_0_scoped_bcdf4fb0_lang-DZGhek9_.js";
6
- import { c as dt, p as De, s as Ee, u as $t, b as at, E as rt, g as Et, d as ra, e as Na, f as Ya } from "./index-7pDDKkwc.js";
7
- import { i as ga, a as Ft, u as Nt, j as _e, k as ea, l as Ga, m as pa } from "./index.vue_vue_type_style_index_1_lang-WD8HOZyf.js";
8
- import { S as Qe } from "./index-BHtNKL1L.js";
9
- import { a as ta, s as Ze, o as Vt, b as Lt, c as ma, d as ya, e as ha, f as Jt, h as Aa, i as xa, j as fa, k as Ca, l as va, m as wa, n as Ba, p as ka, q as Ia } from "./index-DcT0aYIX.js";
10
- import { a as Va } from "./array-Cx8FbegO.js";
11
- import { u as aa, a as Sa } from "./index-DoWGbQss.js";
12
- import "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-DGl2lQmW.js";
13
- import "./index.vue_vue_type_style_index_1_lang-BHt4rvMd.js";
14
- import "./index-BoTEVRWS.js";
15
- import { useRouter as La } from "vue-router";
16
- import Ja from "./index-BEfXSiWp.js";
17
- import Wa from "./threeModel-CBsLcTcX.js";
18
- import { s as jt, _ as ct } from "./index-DFbvbOsE.js";
19
- import { d as Kt, T as Wt, u as Ha, a as Oa } from "./threeViewerHost-gGHqJpTR.js";
20
- import { _ as Qt } from "./index-veEr0Ju4.js";
21
- import { s as Ht } from "./index-ggXXcZCO.js";
22
- import { g as ca, a as gt, b as qa, c as Xa, d as Za, e as Mt } from "./dataUtil-CJxHUail.js";
23
- import { T as ua } from "./svgIcon-D-_fXUBL.js";
24
- import { t as za, c as _a, b as $a } from "./index-CAPx0_D4.js";
25
- import { v as en } from "./index-DodooTli.js";
26
- import { f as tn, a as an } from "./animationData-Br4BCkiq.js";
27
- const nn = { class: "menu-title" };
28
- function on(A, Z, a, U, K, V) {
29
- const o = ce("ssMenu");
30
- return u(), ue(o, {
31
- mode: A.mode,
32
- menuList: A.renderMenuList,
33
- onClickMenu: A.clickMenu,
34
- onOpenMenu: A.openMenu,
35
- onCloseMenu: A.closeMenu
36
- }, {
37
- title: m(({ menu: G }) => [
38
- r("span", nn, re(G.title ?? ""), 1)
39
- ]),
40
- _: 1
41
- }, 8, ["mode", "menuList", "onClickMenu", "onOpenMenu", "onCloseMenu"]);
42
- }
43
- const ln = /* @__PURE__ */ nt(Ta, [["render", on], ["__scopeId", "data-v-0cbc421d"]]), sn = { class: "bread-content" }, rn = ["onClick"], cn = {
44
- key: 0,
45
- class: "split-title"
46
- }, un = {
47
- __name: "index",
48
- props: {
49
- breadArray: {
50
- type: Array,
51
- default: () => []
52
- }
53
- },
54
- emits: ["click"],
55
- setup(A, { emit: Z }) {
56
- const a = A, U = h([]), K = Z;
57
- Ot(() => {
58
- U.value = a == null ? void 0 : a.breadArray;
59
- }), Ue(
60
- () => a == null ? void 0 : a.breadArray,
61
- () => {
62
- U.value = a == null ? void 0 : a.breadArray;
63
- },
64
- { deep: !0, immediate: !0 }
65
- );
66
- const V = (o) => {
67
- K("click", o);
68
- };
69
- return (o, G) => (u(), S("div", sn, [
70
- (u(!0), S(Ke, null, Le(U.value, (z, q) => {
71
- var y;
72
- return u(), S("div", {
73
- key: q,
74
- class: "bread-item"
75
- }, [
76
- r("div", {
77
- class: "bread-title",
78
- onClick: (_) => V(z),
79
- style: Dt({ opacity: ((y = U.value) == null ? void 0 : y.length) - 1 === q ? "0.7" : "1" })
80
- }, re(z.value), 13, rn),
81
- q !== U.value.length - 1 && Array.isArray(U.value) ? (u(), S("div", cn, re("/"))) : H("", !0)
82
- ]);
83
- }), 128))
84
- ]));
85
- }
86
- }, Ea = /* @__PURE__ */ nt(un, [["__scopeId", "data-v-ded7e2bd"]]), wt = [
87
- {
88
- key: "型线生成",
89
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35326658522693/outputResources/sampling_points_20.cpt"
90
- },
91
- {
92
- key: "曲面生成",
93
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35018179530309/outputResources/output.obj"
94
- },
95
- {
96
- key: "叶片生成",
97
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35018289382469/outputResources/output_TwoSections_completed.obj"
98
- },
99
- {
100
- key: "轨迹规划",
101
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35484063607109/outputResources/complete_data.txt"
102
- },
103
- {
104
- key: "加工规划",
105
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35237389477957/outputResources/NC_BC.NC"
106
- },
107
- {
108
- key: "产品检测",
109
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35459977498949/outputResources/source.pcd,http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35459977498949/outputResources/target.pcd"
110
- },
111
- {
112
- key: "参数筛选训练方法",
113
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35277984187973/outputResources/fitness_iteration.png"
114
- }
115
- // {
116
- // key: "参数筛选推理",
117
- // value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35277984187973/outputResources/fitness_iteration.png"
118
- // }
119
- ], dn = {
120
- key: 0,
121
- class: "item-view-group",
122
- style: { display: "flex" }
123
- }, gn = { class: "group-name-wrap" }, ba = /* @__PURE__ */ qt({
124
- __name: "lookComponent",
125
- props: {
126
- dialogItem: {},
127
- componentParam: {}
128
- },
129
- emits: ["change", "contentChange"],
130
- setup(A, { emit: Z }) {
131
- const a = A, U = Z, K = h([]), V = (G, z = "data") => {
132
- var q;
133
- U("change", G, z, {
134
- url: (q = a == null ? void 0 : a.componentParam) == null ? void 0 : q.routerUrl
135
- });
136
- }, o = (G) => {
137
- U("contentChange", G);
138
- };
139
- return Ue(
140
- () => a == null ? void 0 : a.dialogItem,
141
- () => {
142
- var G, z, q;
143
- ((G = a == null ? void 0 : a.componentParam) == null ? void 0 : G.isEdit) === !0 ? K.value = (z = dt(a == null ? void 0 : a.dialogItem)) == null ? void 0 : z.map((y) => {
144
- var _;
145
- return (y == null ? void 0 : y.comp) === "Form" && (y.compData = (_ = y.compData) == null ? void 0 : _.map((N) => {
146
- var L;
147
- return (N == null ? void 0 : N.key) === "formContent" && (N.contents = (L = N.contents) == null ? void 0 : L.map((ne) => (ne.type = "Upload", ne))), N;
148
- })), y;
149
- }) : K.value = (q = dt(a == null ? void 0 : a.dialogItem)) == null ? void 0 : q.map((y) => {
150
- var _, N;
151
- return (y == null ? void 0 : y.comp) === "Table" && (y.compData = (_ = y.compData) == null ? void 0 : _.filter((L) => (L == null ? void 0 : L.key) !== "rowButton" && (L == null ? void 0 : L.key) !== "extraButton"), y.compData = (N = y.compData) == null ? void 0 : N.map((L) => {
152
- var ne;
153
- return (L == null ? void 0 : L.key) === "header" && (L.contents = (ne = L.contents) == null ? void 0 : ne.filter((X) => (X == null ? void 0 : X.prop) !== "操作")), L;
154
- })), y;
155
- });
156
- },
157
- { deep: !0, immediate: !0 }
158
- ), (G, z) => {
159
- var q;
160
- return u(), S("div", null, [
161
- (u(!0), S(Ke, null, Le((q = K.value) == null ? void 0 : q.filter((y) => y.comp !== "FormTop"), (y, _) => {
162
- var N;
163
- return u(), S("div", {
164
- class: "item-view-content",
165
- key: _
166
- }, [
167
- ((N = y == null ? void 0 : y.comp) == null ? void 0 : N.toUpperCase()) !== "TABLE" && (y != null && y.name) ? (u(), S("div", dn, [
168
- r("div", gn, re(y.name), 1)
169
- ])) : H("", !0),
170
- (u(), ue(Xt(s(ta)(y.comp)), {
171
- compName: y.name,
172
- itemData: y == null ? void 0 : y.compData,
173
- childItemData: y == null ? void 0 : y.itemChildData,
174
- index: (y == null ? void 0 : y.id) ?? _,
175
- onChange: V,
176
- onContentChange: o
177
- }, null, 40, ["compName", "itemData", "childItemData", "index"]))
178
- ]);
179
- }), 128))
180
- ]);
181
- };
182
- }
183
- }), pn = "data:image/png;base64,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", mn = "data:image/png;base64,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", yn = (A) => {
184
- var K, V;
185
- const Z = (V = (K = A == null ? void 0 : A.compData) == null ? void 0 : K.find((o) => (o == null ? void 0 : o.key) === "header")) == null ? void 0 : V.contents;
186
- return (Z == null ? void 0 : Z.findIndex((o, G) => {
187
- const { isMainKey: z } = o;
188
- return z;
189
- })) < 0 ? [] : Za(A);
190
- }, hn = (A) => A == null ? void 0 : A.map((a) => {
191
- const K = gt("加工规划参数", a), V = "仿真数据", o = Mt(K);
192
- return o == null ? void 0 : o[V];
193
- }), An = (A) => A == null ? void 0 : A.map((a) => {
194
- const K = gt("任务详情", a), V = "工件模型文件", o = Mt(K);
195
- return o == null ? void 0 : o[V];
196
- }), fn = (A) => A == null ? void 0 : A.map((a) => {
197
- const K = gt("任务详情", a), V = "工件", o = "工件类型", G = Mt(K);
198
- return {
199
- name: G == null ? void 0 : G[V],
200
- type: G == null ? void 0 : G[o]
201
- };
202
- }), Cn = (A) => A == null ? void 0 : A.map((a) => {
203
- const K = gt("任务详情", a), V = "机床", o = Mt(K);
204
- return o == null ? void 0 : o[V];
205
- }), vn = (A) => A == null ? void 0 : A.map((a) => {
206
- const K = gt("任务详情", a), V = "刀具", o = Mt(K);
207
- return o == null ? void 0 : o[V];
208
- }), wn = async (A) => {
209
- const a = gt("任务列表", A), U = yn(a), K = ["任务管理", "设计加工任务管理"], V = U == null ? void 0 : U.map((N) => Xa(K, N)), o = await Promise.all(V), G = hn(o), z = An(o), q = fn(o), y = Cn(o), _ = vn(o);
210
- return {
211
- csvUrlList: G,
212
- bladeObjUrlList: z,
213
- workPriceList: q,
214
- machineList: y,
215
- knifeList: _
216
- };
217
- }, Yt = {
218
- firstMenu: "搭建工作站",
219
- secondMenu: "弯管工作站",
220
- groupName: "工作站"
221
- }, Gt = {
222
- firstMenu: "任务管理",
223
- secondMenu: "设计加工任务管理",
224
- groupName: "任务列表"
225
- }, Qa = async () => {
226
- const A = await ca([Yt.firstMenu, Yt.secondMenu]), Z = await ca([Gt.firstMenu, Gt.secondMenu]);
227
- let a = "";
228
- A && A.length > 0 ? a = "robot" : Z && Z.length > 0 && (a = "cpmpip");
229
- let U = null, K = null;
230
- switch (a) {
231
- case "robot":
232
- U = dt(A), K = Yt.groupName;
233
- break;
234
- case "cpmpip":
235
- U = dt(Z), K = Gt.groupName;
236
- break;
237
- default:
238
- console.error("未识别的任务类型");
239
- break;
240
- }
241
- if (!K)
242
- throw new Error("未识别到分组");
243
- const V = gt(K, U), o = qa(V), G = [];
244
- let z = 0;
245
- switch (a) {
246
- case "robot":
247
- z = 1, o == null || o.forEach((ne) => {
248
- const X = {};
249
- X.id = z++, X.name = ne.名称, X.urdfUrl = ne.URDF模型, X.type = ne.设备类型, X.sceneType = "robot", G.push(X);
250
- });
251
- break;
252
- case "cpmpip":
253
- z = 1;
254
- const { csvUrlList: q, bladeObjUrlList: y, machineList: _, workPriceList: N, knifeList: L } = await wn(U);
255
- o == null || o.forEach((ne, X) => {
256
- const se = {};
257
- se.id = z++, se.name = ne.任务名称, se.urdfUrl = ne.机床模型文件, se.sceneType = "cpmpip", se.csvUrl = q == null ? void 0 : q[X], se.bladeObjUrl = y == null ? void 0 : y[X], se.machine = _ == null ? void 0 : _[X], se.workpieceInfo = N == null ? void 0 : N[X], se.knife = L == null ? void 0 : L[X], G.push(se);
258
- });
259
- break;
260
- }
261
- return G;
262
- }, Bn = { class: "structure-buttons" }, kn = { class: "structure-paths" }, In = { class: "client-header-user" }, Sn = { class: "model-select" }, En = { class: "model-show" }, bn = { class: "model-fill" }, Qn = { class: "client-header-menu" }, Dn = { class: "client-header-user" }, Mn = {
263
- class: "task-drop-menu",
264
- "element-loading-text": "加载中",
265
- "element-loading-background": "#ffffff"
266
- }, Rn = ["title", "onClick"], Un = {
267
- key: 0,
268
- class: "top-red-dot"
269
- }, Tn = { class: "message-tab-label" }, Pn = {
270
- key: 0,
271
- class: "unread-badge"
272
- }, jn = { class: "message-list" }, Kn = ["onClick"], Fn = { class: "message-header" }, Nn = {
273
- key: 0,
274
- class: "text-unread",
275
- style: { color: "#409eff" }
276
- }, Yn = {
277
- key: 1,
278
- class: "text-read"
279
- }, Gn = { class: "message-title" }, xn = { class: "message-time" }, Vn = { class: "message-content" }, Ln = {
280
- key: 0,
281
- class: "no-messages"
282
- }, Jn = { class: "message-list" }, Wn = ["onClick"], Hn = { class: "message-header" }, On = {
283
- key: 0,
284
- class: "text-unread",
285
- style: { color: "#409eff" }
286
- }, qn = {
287
- key: 1,
288
- class: "text-read"
289
- }, Xn = { class: "message-title" }, Zn = { class: "message-time" }, zn = { class: "message-content" }, _n = {
290
- key: 0,
291
- class: "no-messages"
292
- }, $n = { class: "drop-menu" }, eo = { class: "user-base-info" }, to = { class: "base-info" }, ao = { class: "group-item" }, no = { class: "sys-button" }, oo = {
293
- key: 0,
294
- class: "main-back-btn"
295
- }, lo = { class: "main-body" }, so = {
296
- key: 0,
297
- class: "item-view-group"
298
- }, io = {
299
- class: "group-name-wrap",
300
- style: { fontWeight: 600, fontSize: "16px" }
301
- }, ro = {
302
- key: 2,
303
- class: "item-view-child-content"
304
- }, xt = "消息中心/我的消息", co = /* @__PURE__ */ qt({
305
- __name: "index",
306
- props: {
307
- windowConfig: {
308
- type: Object,
309
- default: () => {
310
- }
311
- },
312
- showButton: {
313
- type: Boolean,
314
- default: !0
315
- },
316
- platform: {
317
- type: String,
318
- default: "browser"
319
- },
320
- taskContent: {
321
- type: Object
322
- }
323
- },
324
- emits: ["showChild", "buildContent", "setLoginInfo"],
325
- setup(A, { emit: Z }) {
326
- const a = (i, d) => {
327
- console.log(i, d);
328
- }, U = h(), K = h([]), V = h([]), o = h([]), G = ze(
329
- () => K.value.filter((i) => {
330
- var d;
331
- return ((d = i.find((Y) => Y.prop === "状态")) == null ? void 0 : d.value) === "未读";
332
- }).length
333
- ), z = ze(() => G.value > 99 ? "99+" : G.value), q = ga(De), { originalPath: y } = Ee(q), _ = y.value;
334
- async function N() {
335
- var i, d, Y, b, x, v;
336
- try {
337
- let P = function(t, k) {
338
- return k.map((D) => t.map((j, p) => ({
339
- ...j,
340
- value: D[p] ?? ""
341
- })));
342
- };
343
- const C = sessionStorage.getItem("systemKey"), [J] = await Promise.all([
344
- _e(xt, C, "")
345
- ]), te = (Y = (d = (i = J == null ? void 0 : J[0]) == null ? void 0 : i.compData) == null ? void 0 : d.find((t) => (t == null ? void 0 : t.key) === "tableContents")) == null ? void 0 : Y.contents, F = (v = (x = (b = J == null ? void 0 : J[0]) == null ? void 0 : b.compData) == null ? void 0 : x.find((t) => (t == null ? void 0 : t.key) === "header")) == null ? void 0 : v.contents;
346
- let me = [], ve = [], ye = [], e = [];
347
- Array.isArray(te) && Array.isArray(F) ? (ye = te.filter(
348
- (t) => t.includes("未读")
349
- ), e = te.filter(
350
- (t) => t.includes("已读")
351
- ), me = [...ye, ...e], ve = [...te]) : (ye = [], e = [], ve = [], console.warn("messagesContents 或 messagesHeader 不是数组")), V.value = P(F, ve), K.value = P(F, me), o.value = P(F, ye);
352
- } catch (P) {
353
- console.error("获取消息数据失败:", P);
354
- }
355
- }
356
- let L = 0;
357
- const ne = () => {
358
- const i = Date.now();
359
- i - L < 1200 || (L = i, N(), console.log("获取消息中心数据成功"));
360
- }, X = async (i) => {
361
- if (!i) return;
362
- (async (Y) => {
363
- var x, v, P, C;
364
- const b = [
365
- {
366
- title: "我的消息",
367
- path: xt,
368
- level: 1,
369
- show: !0,
370
- carryData: !0,
371
- isPenultimate: !0,
372
- isRouter: !1,
373
- children: [],
374
- childMenus: []
375
- }
376
- // {
377
- // title: '已读消息',
378
- // path: readPath,
379
- // level: 1,
380
- // show: true,
381
- // carryData: true,
382
- // isPenultimate: true,
383
- // isRouter: false,
384
- // children: [],
385
- // childMenus: []
386
- // }
387
- ];
388
- try {
389
- const J = Y.find((ve) => ve.prop === "状态"), te = Array.isArray(Y) ? Y.find((ve) => ve.isMainKey) : void 0;
390
- if (!te) {
391
- console.warn("该消息没有主键", Y);
392
- return;
393
- }
394
- Re.setAsideMenus(b), (J == null ? void 0 : J.value) === "未读" && (J.value = "已读", Re.setActiveMenuPath(xt));
395
- const F = Pe.value + _ + te.value, me = Pe.value;
396
- await Ga(F, F + _ + `updateLoading${((x = he.value) == null ? void 0 : x.account) || ((v = he.value) == null ? void 0 : v.账号)}`), At.setRouteToChildPath(me), Re.setActiveMenuPath(F + _ + `updateLoading${((P = he.value) == null ? void 0 : P.account) || ((C = he.value) == null ? void 0 : C.账号)}`), Re.setActiveTopMenuPath("消息中心"), console.log("444showItems.value", Ze.value);
397
- } catch (J) {
398
- console.error("加载菜单或页面时出错:", J);
399
- }
400
- })(i);
401
- }, se = aa(De), { selectTitle: oe } = Ee(se), Me = h(!1), pt = h(), Fe = h(null), $ = h(), $e = h(!1), mt = Sa(De), { blobUrls: ke } = Ee(mt), yt = h(), We = h(!1), Bt = h(!1), Te = h(!1), de = h([]), pe = h(!1), He = h(null), Oe = h(), et = h(!1), ot = h(!1), ht = h();
402
- bt("contentRef", He);
403
- const kt = $t(), { loginUserInfo: he } = Ee(kt), At = Ft(De), { isEdit: Ae, routeToChildPath: tt } = Ee(At), qe = Z, Re = Nt(De), { asideMenuLoading: lt, importLoading: It, activeAsideMenu: St, contentLoading: ft, platName: Ct, activeMenuPath: Pe } = Ee(Re), fe = A, je = ze(() => St.value.isRouter), n = () => {
404
- sessionStorage.clear(), window.location.reload();
405
- }, g = (i) => {
406
- if ((i == null ? void 0 : i.type) === "table") {
407
- let d = i == null ? void 0 : i.row;
408
- const Y = i == null ? void 0 : i.rowData;
409
- let b = d;
410
- b && ($.value = {
411
- url: b,
412
- row: i == null ? void 0 : i.row
413
- }, qe("showChild", {
414
- url: b,
415
- row: i == null ? void 0 : i.row,
416
- rowData: Y
417
- }));
418
- }
419
- }, B = async () => {
420
- let i = {};
421
- const d = await _e("弯管仿真加工分析/仿真动画生成", sessionStorage.getItem("systemKey"), ""), Y = await _e("弯管仿真加工分析/管件解析", sessionStorage.getItem("systemKey"), "");
422
- let b = ["管长", "外径"], x = {};
423
- Y == null || Y.forEach((v) => {
424
- var P;
425
- (v == null ? void 0 : v.comp) === "Form" && ((P = v == null ? void 0 : v.compData) == null || P.forEach((C) => {
426
- var J;
427
- (C == null ? void 0 : C.key) === "formContent" && ((J = C == null ? void 0 : C.contents) == null || J.forEach((te) => {
428
- b.includes(te == null ? void 0 : te.key) && (x[te.key] = te.value);
429
- }));
430
- }));
431
- }), d == null || d.forEach((v) => {
432
- var P, C, J, te, F, me;
433
- if ((v == null ? void 0 : v.comp) === "Table") {
434
- let ve = [], ye = (J = (C = (P = v == null ? void 0 : v.compData) == null ? void 0 : P.find((t) => (t == null ? void 0 : t.key) === "header")) == null ? void 0 : C.contents) == null ? void 0 : J.map((t) => t == null ? void 0 : t.label), e = (me = (F = (te = v == null ? void 0 : v.compData) == null ? void 0 : te.find((t) => (t == null ? void 0 : t.key) === "tableContents")) == null ? void 0 : F.contents) == null ? void 0 : me.map((t) => (t = t == null ? void 0 : t.filter((k) => !(k != null && k.id)), t));
435
- e == null || e.forEach((t) => {
436
- ve.push(
437
- ea(
438
- t,
439
- ye == null ? void 0 : ye.filter((k) => k !== "操作")
440
- )
441
- );
442
- }), i[v.name] = ve, i[v.name + "Content"] = v;
443
- }
444
- }), i.extra = x, pt.value = i;
445
- }, E = async () => {
446
- var i, d, Y, b, x, v;
447
- if ((fe == null ? void 0 : fe.platform) !== "browser") {
448
- if (Me.value = !0, yt.value = (i = fe == null ? void 0 : fe.taskContent) == null ? void 0 : i.sceneType, Oe.value = [(d = fe == null ? void 0 : fe.taskContent) == null ? void 0 : d.url], $.value) {
449
- const P = $.value;
450
- let C = [];
451
- typeof (P == null ? void 0 : P.url) == "string" && ((Y = P == null ? void 0 : P.url) != null && Y.includes(",") ? Oe.value = (b = P == null ? void 0 : P.url) == null ? void 0 : b.split(",") : Oe.value = [P == null ? void 0 : P.url]), (x = Fe.value) == null || x.loadModelByDefaultPath(C);
452
- }
453
- et.value = (v = Oe.value) == null ? void 0 : v.every((P) => P.toUpperCase().includes(".URDF"));
454
- }
455
- }, W = () => {
456
- $e.value = !1, Fe.value = null;
457
- };
458
- Ue(
459
- () => Pe.value,
460
- async (i) => {
461
- i && (Bt.value = !0), i === "弯管仿真加工分析/仿真动画生成" ? Te.value = !0 : Te.value = !1, i === "弯管仿真加工分析/程序输出" ? pe.value = !0 : pe.value = !1, wt != null && wt.find((d) => {
462
- var Y;
463
- return (d == null ? void 0 : d.key) === ((Y = i == null ? void 0 : i.split("/")) == null ? void 0 : Y[(i == null ? void 0 : i.split("/").length) - 1]);
464
- }) ? We.value = !0 : We.value = !1;
465
- },
466
- { immediate: !0 }
467
- ), Ue(
468
- () => [ke == null ? void 0 : ke.value],
469
- async () => {
470
- var i, d, Y, b, x;
471
- if (ke != null && ke.value && ((i = ke == null ? void 0 : ke.value) == null ? void 0 : i.length) > 0 && !We.value && !((d = Ze.value) != null && d.find((v) => (v == null ? void 0 : v.name) === "输入") && ((Y = Ze.value) != null && Y.find((v) => (v == null ? void 0 : v.name) === "输出")))) {
472
- $e.value = !0;
473
- let v = [];
474
- const P = await ((b = dt(ke == null ? void 0 : ke.value)) == null ? void 0 : b.map(async (C) => {
475
- var ve, ye, e, t, k, D, j, p, c, I;
476
- let J, te, F;
477
- C != null && C.blob.includes("undefined") ? F = (ye = (ve = C == null ? void 0 : C.blob) == null ? void 0 : ve.split("undefined,")) == null ? void 0 : ye[1] : F = C == null ? void 0 : C.blob;
478
- let me = F == null ? void 0 : F.split(",");
479
- if ((me == null ? void 0 : me.length) > 1) {
480
- let O = await (me == null ? void 0 : me.map(async (w) => {
481
- var ee, we, be, Se, f, Be;
482
- J = await at.get(w, {
483
- responseType: "blob",
484
- headers: {
485
- "Content-Type": "application/json"
486
- }
487
- });
488
- let R = [];
489
- if (((ee = C == null ? void 0 : C.mtlBlobs) == null ? void 0 : ee.length) > 0) {
490
- let Ye = await ((we = C == null ? void 0 : C.mtlBlobs) == null ? void 0 : we.map(async (it) => {
491
- let Xe = await at.get(it, {
492
- responseType: "blob",
493
- headers: {
494
- "Content-Type": "application/json"
495
- }
496
- });
497
- return R.push(
498
- new Blob([Xe.data], {
499
- type: "application/octet-stream;charset=UTF-8"
500
- })
501
- ), Xe;
502
- }));
503
- await Promise.all(Ye);
504
- }
505
- return ((Se = w == null ? void 0 : w.split(".")) == null ? void 0 : Se[((be = w == null ? void 0 : w.split(".")) == null ? void 0 : be.length) - 1]) !== "undefined" && v.push({
506
- suffix: "." + ((Be = w == null ? void 0 : w.split(".")) == null ? void 0 : Be[((f = w == null ? void 0 : w.split(".")) == null ? void 0 : f.length) - 1]),
507
- blob: new Blob([J.data], {
508
- type: "application/octet-stream;charset=UTF-8"
509
- }),
510
- mtlBlobs: R
511
- }), J;
512
- }));
513
- await Promise.all(O);
514
- } else if (!(F != null && F.includes("https://")) && !(F != null && F.includes("http://"))) {
515
- J = await Kt({
516
- url: F
517
- });
518
- let O = [];
519
- if (((e = C == null ? void 0 : C.mtlBlobs) == null ? void 0 : e.length) > 0) {
520
- let w = await ((t = C == null ? void 0 : C.mtlBlobs) == null ? void 0 : t.map(async (R) => {
521
- let ee = await Kt({
522
- url: R
523
- });
524
- return O.push(
525
- new Blob([ee.data], {
526
- type: "application/octet-stream;charset=UTF-8"
527
- })
528
- ), ee;
529
- }));
530
- await Promise.all(w);
531
- }
532
- te = {
533
- suffix: "." + ((D = F == null ? void 0 : F.split(".")) == null ? void 0 : D[((k = F == null ? void 0 : F.split(".")) == null ? void 0 : k.length) - 1]),
534
- blob: new Blob([J.data], {
535
- type: "application/octet-stream;charset=UTF-8"
536
- }),
537
- mtlBlobs: O
538
- };
539
- } else {
540
- J = await at.get(F, {
541
- responseType: "blob",
542
- headers: {
543
- "Content-Type": "application/json"
544
- }
545
- });
546
- let O = [];
547
- if (((j = C == null ? void 0 : C.mtlBlobs) == null ? void 0 : j.length) > 0) {
548
- let w = await ((p = C == null ? void 0 : C.mtlBlobs) == null ? void 0 : p.map(async (R) => {
549
- let ee = await at.get(R, {
550
- responseType: "blob",
551
- headers: {
552
- "Content-Type": "application/json"
553
- }
554
- });
555
- return O.push(
556
- new Blob([ee.data], {
557
- type: "application/octet-stream;charset=UTF-8"
558
- })
559
- ), ee;
560
- }));
561
- await Promise.all(w);
562
- }
563
- te = {
564
- suffix: C != null && C.suffix ? C == null ? void 0 : C.suffix : "." + ((I = F == null ? void 0 : F.split(".")) == null ? void 0 : I[((c = F == null ? void 0 : F.split(".")) == null ? void 0 : c.length) - 1]),
565
- blob: new Blob([J.data], {
566
- type: "application/octet-stream;charset=UTF-8"
567
- }),
568
- mtlBlobs: O
569
- };
570
- }
571
- te && v.push(te);
572
- }));
573
- await Promise.all(P), (v == null ? void 0 : v.length) !== 0 && ((x = Fe.value) == null || x.loadModelByDefaultPath(v));
574
- }
575
- },
576
- { immediate: !0, deep: !0 }
577
- );
578
- const Q = (i, d) => {
579
- ot.value = !0, ht.value = d, (d == null ? void 0 : d.isEdit) === !0 ? de.value = i : de.value = i == null ? void 0 : i.map((Y) => {
580
- var b;
581
- return Y.compData = (b = Y.compData) == null ? void 0 : b.map((x) => {
582
- var v;
583
- return (x == null ? void 0 : x.key) === "formContent" && (x.contents = (v = x.contents) == null ? void 0 : v.map((P) => (P.disabled = !0, P))), x;
584
- }), Y;
585
- });
586
- }, T = async () => {
587
- await Ia();
588
- }, M = h(!1), Ce = h([]), ge = async () => {
589
- M.value = !0;
590
- const i = await Qa().finally(() => {
591
- M.value = !1;
592
- });
593
- Ce.value = i;
594
- }, ae = async (i) => {
595
- i && ge();
596
- }, Ie = async (i) => {
597
- qe("showChild", {
598
- url: i == null ? void 0 : i.urdfUrl,
599
- row: i == null ? void 0 : i.urdfUrl,
600
- sceneType: i == null ? void 0 : i.sceneType,
601
- rowData: i
602
- });
603
- };
604
- Ot(async () => {
605
- qe("setLoginInfo", he.value), await N(), U.value = "first";
606
- });
607
- const Ne = () => {
608
- var Y, b;
609
- if (tt.value === "" || ((b = Pe.value) == null ? void 0 : b[((Y = Pe.value) == null ? void 0 : Y.length) - 1]) === _) return !1;
610
- const i = sessionStorage.getItem("authority"), d = JSON.parse(i || "");
611
- if (Array.isArray(d)) {
612
- const x = Array.isArray(d) && (d == null ? void 0 : d.filter((P) => P == null ? void 0 : P.includes(tt.value))), v = x == null ? void 0 : x.map((P) => {
613
- var C;
614
- return ((C = P == null ? void 0 : P.split("/")) == null ? void 0 : C.pop()) || "";
615
- });
616
- return !!(v != null && v.includes("新增") || v != null && v.includes("新建"));
617
- } else return typeof d == "string" && (d == null ? void 0 : d.toUpperCase()) === "SUPERADMIN";
618
- }, st = async () => {
619
- };
620
- return (i, d) => {
621
- const Y = ce("el-dialog"), b = ce("el-button"), x = ce("el-header"), v = ce("el-splitter-panel"), P = ce("el-splitter"), C = ce("el-container"), J = ce("el-tab-pane"), te = ce("el-tabs"), F = ce("el-aside"), me = ce("router-view"), ve = ce("el-main"), ye = da("loading");
622
- return u(), S(Ke, null, [
623
- l(jt, {
624
- visible: ot.value,
625
- onBeforeDestroy: d[0] || (d[0] = (e) => ot.value = !1),
626
- fullScreen: !0
627
- }, {
628
- default: m(() => [
629
- l(ba, {
630
- dialogItem: de.value,
631
- componentParam: ht.value,
632
- onChange: s(Lt),
633
- onContentChange: s(Vt)
634
- }, null, 8, ["dialogItem", "componentParam", "onChange", "onContentChange"])
635
- ]),
636
- _: 1
637
- }, 8, ["visible"]),
638
- l(Y, {
639
- "append-to-body": "",
640
- modelValue: Me.value,
641
- "onUpdate:modelValue": d[1] || (d[1] = (e) => Me.value = e),
642
- style: { height: "700px", width: "1800px" }
643
- }, {
644
- default: m(() => [
645
- l(Wt, {
646
- "file-urls": Oe.value,
647
- isThreeScene: et.value,
648
- componentType: yt.value,
649
- onGetAnimationData: B
650
- }, null, 8, ["file-urls", "isThreeScene", "componentType"])
651
- ]),
652
- _: 1
653
- }, 8, ["modelValue"]),
654
- Ve(l(C, { class: "client-container" }, {
655
- default: m(() => [
656
- l(x, { class: "client-structure-header" }, {
657
- default: m(() => [
658
- r("div", Bn, [
659
- l(b, {
660
- id: "transparentBgButton",
661
- onClick: s(ma)
662
- }, {
663
- icon: m(() => [
664
- l(Qe, { name: "Back" })
665
- ]),
666
- default: m(() => [
667
- d[5] || (d[5] = Je(" 返回页面 "))
668
- ]),
669
- _: 1,
670
- __: [5]
671
- }, 8, ["onClick"])
672
- ]),
673
- r("div", kn, [
674
- l(Ea, {
675
- breadArray: s(oe),
676
- onClick: s(ya)
677
- }, null, 8, ["breadArray", "onClick"])
678
- ]),
679
- r("div", In, [
680
- l(b, {
681
- id: "themeButton",
682
- onClick: d[2] || (d[2] = (e) => {
683
- var t, k;
684
- return s(ha)((k = (t = s(oe)) == null ? void 0 : t.map((D) => D.value)) == null ? void 0 : k.join("/"));
685
- })
686
- }, {
687
- icon: m(() => [
688
- l(Qe, { name: "Store" })
689
- ]),
690
- default: m(() => [
691
- d[6] || (d[6] = Je(" 保存页面 "))
692
- ]),
693
- _: 1,
694
- __: [6]
695
- })
696
- ])
697
- ]),
698
- _: 1
699
- }),
700
- s(Ae) === "edit" ? (u(), ue(C, {
701
- key: 0,
702
- class: "model-operate"
703
- }, {
704
- default: m(() => [
705
- l(P, null, {
706
- default: m(() => [
707
- l(v, {
708
- size: 240,
709
- min: 240,
710
- resizable: !1
711
- }, {
712
- default: m(() => [
713
- r("div", Sn, [
714
- l(Zt)
715
- ])
716
- ]),
717
- _: 1
718
- }),
719
- l(v, { min: 200 }, {
720
- "start-collapsible": m(() => [
721
- l(Qe, {
722
- name: "Left",
723
- style: { width: "15px", height: "15px" }
724
- })
725
- ]),
726
- "end-collapsible": m(() => [
727
- l(Qe, {
728
- name: "Right",
729
- style: { width: "15px", height: "15px" }
730
- })
731
- ]),
732
- default: m(() => [
733
- r("div", En, [
734
- l(zt)
735
- ])
736
- ]),
737
- _: 1
738
- }),
739
- l(v, {
740
- min: 300,
741
- size: 300,
742
- collapsible: !0
743
- }, {
744
- default: m(() => [
745
- r("div", bn, [
746
- l(_t)
747
- ])
748
- ]),
749
- _: 1
750
- })
751
- ]),
752
- _: 1
753
- })
754
- ]),
755
- _: 1
756
- })) : H("", !0)
757
- ]),
758
- _: 1
759
- }, 512), [
760
- [vt, s(Ae) === "edit"]
761
- ]),
762
- Ve((u(), ue(C, {
763
- class: "client-container",
764
- "element-loading-text": "正在加载页面数据..."
765
- }, {
766
- default: m(() => [
767
- l(x, { class: "client-header" }, {
768
- default: m(() => [
769
- r("div", {
770
- class: "client-header-logo",
771
- onClick: E
772
- }, re(s(Ct) === "" ? "ISIP" : s(Ct)), 1),
773
- r("div", Qn, [
774
- l(ln, { mode: "horizontal" })
775
- ]),
776
- r("div", Dn, [
777
- fe != null && fe.showButton && s(Ae) === "view" ? (u(), ue(b, {
778
- key: 0,
779
- class: "system-default-button",
780
- onClick: s(Jt)
781
- }, {
782
- icon: m(() => [
783
- l(Qe, { name: "write" })
784
- ]),
785
- default: m(() => [
786
- d[7] || (d[7] = Je(" 界面修改 "))
787
- ]),
788
- _: 1,
789
- __: [7]
790
- }, 8, ["onClick"])) : H("", !0),
791
- ut(i.$slots, "default", {}, void 0, !0),
792
- l(Qt, {
793
- class: "three-dropdown-menu",
794
- "popper-class": "three-poper",
795
- teleported: !1,
796
- onVisibleChange: ae
797
- }, {
798
- dropTitle: m(() => [
799
- s(Ae) === "view" && A.platform === "client" ? (u(), ue(b, {
800
- key: 0,
801
- class: "system-default-button"
802
- }, {
803
- icon: m(() => [
804
- l(Qe, { name: "three" })
805
- ]),
806
- default: m(() => [
807
- d[8] || (d[8] = Je(" 三维查看 "))
808
- ]),
809
- _: 1,
810
- __: [8]
811
- })) : H("", !0)
812
- ]),
813
- dropMenu: m(() => [
814
- Ve((u(), S("div", Mn, [
815
- (u(!0), S(Ke, null, Le(Ce.value, (e, t) => (u(), S("div", {
816
- class: "task-item",
817
- key: t,
818
- title: e == null ? void 0 : e.name,
819
- onClick: (k) => Ie(e)
820
- }, re(e == null ? void 0 : e.name), 9, Rn))), 128))
821
- ])), [
822
- [ye, M.value]
823
- ])
824
- ]),
825
- _: 1
826
- }),
827
- l(Qt, null, {
828
- dropTitle: m(() => [
829
- r("div", {
830
- class: "icon-wrapper",
831
- onMouseenter: ne
832
- }, [
833
- l(Qe, { name: "系统消息" }),
834
- G.value > 0 ? (u(), S("span", Un)) : H("", !0)
835
- ], 32)
836
- ]),
837
- dropMenu: m(() => [
838
- l(te, {
839
- modelValue: U.value,
840
- "onUpdate:modelValue": d[3] || (d[3] = (e) => U.value = e),
841
- class: "drop-menu1 message-dropdown",
842
- onTabClick: a
843
- }, {
844
- default: m(() => [
845
- l(J, {
846
- label: "我的消息",
847
- name: "first"
848
- }, {
849
- label: m(() => [
850
- r("div", Tn, [
851
- d[9] || (d[9] = r("span", null, "我的消息", -1)),
852
- G.value > 0 ? (u(), S("span", Pn, re(z.value), 1)) : H("", !0)
853
- ])
854
- ]),
855
- default: m(() => [
856
- r("div", jn, [
857
- (u(!0), S(Ke, null, Le(V.value, (e, t) => {
858
- var k, D, j, p;
859
- return u(), S("div", {
860
- class: "message-item",
861
- key: t,
862
- onClick: (c) => X(e)
863
- }, [
864
- r("div", Fn, [
865
- ((k = e.find((c) => c.prop === "状态")) == null ? void 0 : k.value) === "未读" ? (u(), S("span", Nn, "[未读]")) : (u(), S("span", Yn, "[已读]")),
866
- r("div", Gn, re((D = e.find((c) => c.prop === "消息类别")) == null ? void 0 : D.value), 1),
867
- r("div", xn, re((j = e.find((c) => c.prop === "发送时间")) == null ? void 0 : j.value), 1)
868
- ]),
869
- r("div", Vn, re((p = e.find((c) => c.prop === "内容")) == null ? void 0 : p.value), 1)
870
- ], 8, Kn);
871
- }), 128)),
872
- V.value.length === 0 ? (u(), S("div", Ln, "暂无消息")) : H("", !0)
873
- ])
874
- ]),
875
- _: 1
876
- }),
877
- l(J, {
878
- label: "未读消息",
879
- name: "second"
880
- }, {
881
- label: m(() => d[10] || (d[10] = [
882
- r("div", { class: "message-tab-label" }, [
883
- r("span", null, "未读消息")
884
- ], -1)
885
- ])),
886
- default: m(() => [
887
- r("div", Jn, [
888
- (u(!0), S(Ke, null, Le(o.value, (e, t) => {
889
- var k, D, j, p;
890
- return u(), S("div", {
891
- class: "message-item",
892
- key: t,
893
- onClick: (c) => X(e)
894
- }, [
895
- r("div", Hn, [
896
- ((k = e.find((c) => c.prop === "状态")) == null ? void 0 : k.value) === "未读" ? (u(), S("span", On, "[未读]")) : (u(), S("span", qn, "[已读]")),
897
- r("div", Xn, re((D = e.find((c) => c.prop === "消息类别")) == null ? void 0 : D.value), 1),
898
- r("div", Zn, re((j = e.find((c) => c.prop === "发送时间")) == null ? void 0 : j.value), 1)
899
- ]),
900
- r("div", zn, re((p = e.find((c) => c.prop === "内容")) == null ? void 0 : p.value), 1)
901
- ], 8, Wn);
902
- }), 128)),
903
- o.value.length === 0 ? (u(), S("div", _n, "暂无消息")) : H("", !0)
904
- ])
905
- ]),
906
- _: 1
907
- })
908
- ]),
909
- _: 1
910
- }, 8, ["modelValue"])
911
- ]),
912
- _: 1
913
- }),
914
- l(Qt, null, {
915
- dropTitle: m(() => [
916
- l(Ht, {
917
- size: 35,
918
- disabled: !0,
919
- userInfo: s(he)
920
- }, null, 8, ["userInfo"])
921
- ]),
922
- dropMenu: m(() => {
923
- var e, t, k, D, j, p;
924
- return [
925
- r("div", $n, [
926
- r("div", eo, [
927
- l(Ht, {
928
- size: 35,
929
- disabled: !0,
930
- userInfo: s(he)
931
- }, null, 8, ["userInfo"]),
932
- r("div", to, [
933
- r("div", null, [
934
- r("span", null, re(((e = s(he)) == null ? void 0 : e.account) || ((t = s(he)) == null ? void 0 : t.账号) || "未知"), 1),
935
- r("span", null, re(((D = (k = s(he)) == null ? void 0 : k.layer) == null ? void 0 : D.toUpperCase()) === "SUPERADMIN" ? "超级管理员" : ((j = s(he)) == null ? void 0 : j.角色名称) ?? "未知"), 1)
936
- ]),
937
- r("div", null, re(((p = s(he)) == null ? void 0 : p.工号) || "未知"), 1)
938
- ])
939
- ]),
940
- r("div", ao, [
941
- r("div", { onClick: st }, [
942
- l(Qe, {
943
- name: "personal",
944
- style: { width: "15px", height: "15px" }
945
- }),
946
- d[11] || (d[11] = r("span", null, "个人主页", -1))
947
- ]),
948
- r("div", null, [
949
- l(Qe, {
950
- name: "message",
951
- style: { width: "15px", height: "15px" }
952
- }),
953
- d[12] || (d[12] = r("span", null, "消息中心", -1))
954
- ])
955
- ]),
956
- r("div", no, [
957
- r("div", null, [
958
- l(Qe, {
959
- name: "exit",
960
- style: { width: "15px", height: "15px", color: "#eb503d" }
961
- }),
962
- l(ct, {
963
- emptyColor: !0,
964
- class: "menu-button",
965
- onClickTrigger: n,
966
- modelValue: "退出登录",
967
- buttonType: "",
968
- style: { color: "#eb503d" }
969
- })
970
- ])
971
- ])
972
- ])
973
- ];
974
- }),
975
- _: 1
976
- })
977
- ])
978
- ]),
979
- _: 3
980
- }),
981
- l(C, { class: "client-body" }, {
982
- default: m(() => [
983
- l(ve, { class: "client-main" }, {
984
- default: m(() => {
985
- var e, t, k, D, j, p;
986
- return [
987
- Ve((u(), ue(F, {
988
- class: "client-aside",
989
- style: Dt({ backgroundImage: A.platform === "client" ? `url(${s(pn)})` : `url(${s(mn)})` }),
990
- "element-loading-text": "正在加载数据...",
991
- width: "auto"
992
- }, {
993
- default: m(() => [
994
- l(Ja, { mode: "vertical" })
995
- ]),
996
- _: 1
997
- }, 8, ["style"])), [
998
- [ye, s(lt)]
999
- ]),
1000
- Ve((u(), S("div", {
1001
- class: "client-main-operate",
1002
- ref_key: "contentRef",
1003
- ref: He,
1004
- "element-loading-text": "正在加载页面数据..."
1005
- }, [
1006
- ((t = s(Pe)) == null ? void 0 : t[((e = s(Pe)) == null ? void 0 : e.length) - 1]) === s(_) || (k = s(Pe)) != null && k.includes("updateLoading") || (D = s(Pe)) != null && D.includes("loading") ? (u(), S("div", oo, [
1007
- l(ct, {
1008
- class: "calculator-content back-content",
1009
- onClickTrigger: d[4] || (d[4] = (c) => s(Aa)()),
1010
- modelValue: "返回"
1011
- })
1012
- ])) : H("", !0),
1013
- r("div", lo, [
1014
- je.value ? (u(), ue(me, { key: 0 })) : H("", !0),
1015
- je.value ? H("", !0) : (u(!0), S(Ke, { key: 1 }, Le((j = s(Ze)) == null ? void 0 : j.filter((c) => c.comp !== "FormTop"), (c, I) => {
1016
- var O, w;
1017
- return u(), S("div", {
1018
- class: Pt((O = s(xa)) != null && O.includes(c == null ? void 0 : c.name) ? "item-view-content affix-content" : "item-view-content"),
1019
- key: I,
1020
- style: Dt({ display: (c == null ? void 0 : c.isShow) === !1 ? "none" : "flex" })
1021
- }, [
1022
- ((w = c == null ? void 0 : c.comp) == null ? void 0 : w.toUpperCase()) !== "TABLE" && c.name ? (u(), S("div", so, [
1023
- r("div", io, re(c.name), 1)
1024
- ])) : H("", !0),
1025
- s(fa) ? (u(), ue(Xt(s(ta)(c.comp)), {
1026
- compName: c.name,
1027
- cacheNewData: s(ka),
1028
- isDevMode: A.showButton,
1029
- itemData: c == null ? void 0 : c.compData,
1030
- childItemData: c == null ? void 0 : c.itemChildData,
1031
- key: s(Ba),
1032
- onChange: s(Lt),
1033
- index: (c == null ? void 0 : c.id) ?? I,
1034
- onContentChange: s(Vt),
1035
- onPageChange: s(wa),
1036
- onRowClick: g,
1037
- onRouteUrl: Q,
1038
- parentTableId: c == null ? void 0 : c.tableId,
1039
- allMapContents: s(va),
1040
- children: c == null ? void 0 : c.children,
1041
- level: 1,
1042
- onClickTrigger: s(Ca)
1043
- }, null, 40, ["compName", "cacheNewData", "isDevMode", "itemData", "childItemData", "onChange", "index", "onContentChange", "onPageChange", "parentTableId", "allMapContents", "children", "onClickTrigger"])) : H("", !0)
1044
- ], 6);
1045
- }), 128)),
1046
- !je.value && !((p = s(Ze)) != null && p.find((c) => c.comp === "methodButton")) ? (u(), S("div", ro, [
1047
- Ne() ? (u(), ue(ct, {
1048
- key: 0,
1049
- class: "calculator-content",
1050
- onClickTrigger: T,
1051
- modelValue: "保存"
1052
- })) : H("", !0)
1053
- ])) : H("", !0)
1054
- ])
1055
- ])), [
1056
- [ye, s(ft)]
1057
- ])
1058
- ];
1059
- }),
1060
- _: 1
1061
- })
1062
- ]),
1063
- _: 1
1064
- }),
1065
- r("div", null, [
1066
- l(jt, {
1067
- visible: $e.value,
1068
- onBeforeDestroy: W,
1069
- style: { height: "700px", width: "1000px" }
1070
- }, {
1071
- default: m(() => [
1072
- l(Wa, {
1073
- ref_key: "threeModelRef",
1074
- ref: Fe
1075
- }, null, 512)
1076
- ]),
1077
- _: 1
1078
- }, 8, ["visible"])
1079
- ])
1080
- ]),
1081
- _: 3
1082
- })), [
1083
- [vt, s(Ae) === "view"],
1084
- [ye, s(It)]
1085
- ])
1086
- ], 64);
1087
- };
1088
- }
1089
- }), uo = /* @__PURE__ */ nt(co, [["__scopeId", "data-v-55d9c444"]]), go = { class: "menu-tree" };
1090
- function po(A, Z, a, U, K, V) {
1091
- const o = ce("el-tree");
1092
- return u(), S("div", go, [
1093
- l(o, {
1094
- data: A.renderMenuList,
1095
- props: {
1096
- children: "children",
1097
- label: "title"
1098
- },
1099
- "node-key": "title",
1100
- onNodeClick: A.clickMenu
1101
- }, null, 8, ["data", "onNodeClick"])
1102
- ]);
1103
- }
1104
- const mo = /* @__PURE__ */ nt(Pa, [["render", po], ["__scopeId", "data-v-b1da4dbe"]]), yo = { class: "three-menu" }, ho = ["onClick"];
1105
- function Ao(A, Z, a, U, K, V) {
1106
- return u(), S("div", yo, [
1107
- (u(!0), S(Ke, null, Le(A.renderMenuList, (o) => (u(), S("div", {
1108
- onClick: (G) => A.clickMenu(o)
1109
- }, [
1110
- ut(A.$slots, "menu", { menu: o }, void 0, !0)
1111
- ], 8, ho))), 256)),
1112
- ut(A.$slots, "extraIcon", {}, void 0, !0)
1113
- ]);
1114
- }
1115
- const fo = /* @__PURE__ */ nt(ja, [["render", Ao], ["__scopeId", "data-v-94d06d52"]]), Co = { class: "structure-buttons" }, vo = { class: "structure-paths" }, wo = { class: "client-header-user" }, Bo = { class: "model-select" }, ko = { class: "model-show" }, Io = { class: "model-fill" }, So = ["title", "onClick"], Eo = {
1116
- class: "top-icon",
1117
- title: "三维查看"
1118
- }, bo = { class: "task-drop-menu" }, Qo = {
1119
- key: 0,
1120
- class: "task-loading"
1121
- }, Do = ["title", "onClick"], Mo = { class: "panel-body client-container" }, Ro = {
1122
- key: 0,
1123
- class: "menu-empty"
1124
- }, Uo = {
1125
- key: 0,
1126
- class: "main-back-btn"
1127
- }, To = { class: "main-body" }, Po = {
1128
- key: 0,
1129
- class: "item-view-group"
1130
- }, jo = {
1131
- class: "group-name-wrap",
1132
- style: { fontWeight: 600, fontSize: "16px" }
1133
- }, Ko = {
1134
- key: 2,
1135
- class: "item-view-child-content"
1136
- }, Fo = { class: "menu-panel" }, No = { class: "panel-body client-container" }, Yo = "消息中心/未读消息", Go = "消息中心/已读消息", xo = /* @__PURE__ */ qt({
1137
- __name: "index",
1138
- props: {
1139
- windowConfig: {
1140
- type: Object,
1141
- default: () => {
1142
- }
1143
- },
1144
- showButton: {
1145
- type: Boolean,
1146
- default: !0
1147
- },
1148
- platform: {
1149
- type: String,
1150
- default: "browser"
1151
- }
1152
- },
1153
- emits: ["showChild", "buildContent", "setLoginInfo"],
1154
- setup(A, { emit: Z }) {
1155
- const a = h(), U = h([]), K = h([]), V = ze(
1156
- () => U.value.filter((e) => {
1157
- var t;
1158
- return ((t = e.find((k) => k.prop === "状态")) == null ? void 0 : t.value) === "未读";
1159
- }).length
1160
- );
1161
- ze(() => V.value > 99 ? "99+" : V.value);
1162
- const o = ga(De), { originalPath: G } = Ee(o), z = G.value, q = aa(De), { selectTitle: y } = Ee(q), _ = h(!1), N = h(), L = h(null), ne = h(), X = h(!1), se = Sa(De), { blobUrls: oe } = Ee(se), Me = h(!1), pt = h(!1), Fe = h(!1), $ = h([]), $e = h(!1), mt = h(null), ke = h(), yt = h(!1), We = h(!1);
1163
- bt("contentRef", mt);
1164
- const Bt = $t(), { loginUserInfo: Te } = Ee(Bt), de = Ft(De), { isEdit: pe, routeToChildPath: He } = Ee(de), Oe = Z, et = Nt(De), { asideMenuLoading: ot, importLoading: ht, activeAsideMenu: kt, contentLoading: he, platName: At, activeMenuPath: Ae } = Ee(et), tt = Ha(De), { data: qe } = Ee(tt);
1165
- Oa();
1166
- const Re = A, lt = ze(() => kt.value.isRouter), It = () => {
1167
- sessionStorage.clear(), window.location.reload();
1168
- }, St = (e) => {
1169
- if ((e == null ? void 0 : e.type) === "table") {
1170
- let t = e == null ? void 0 : e.row;
1171
- const k = e == null ? void 0 : e.rowData;
1172
- let D = t;
1173
- if (D) {
1174
- ne.value = {
1175
- url: D,
1176
- row: e == null ? void 0 : e.row
1177
- };
1178
- let j = [];
1179
- typeof D == "string" && (D != null && D.includes(",") ? j = D == null ? void 0 : D.split(",") : j = [D]);
1180
- const p = j == null ? void 0 : j.every((c) => c.toUpperCase().includes(".URDF"));
1181
- tt.setData({
1182
- url: j,
1183
- row: e == null ? void 0 : e.row,
1184
- rowData: k,
1185
- isThreeScene: p
1186
- });
1187
- }
1188
- }
1189
- }, ft = async () => {
1190
- let e = {};
1191
- const t = await _e("弯管仿真加工分析/仿真动画生成", sessionStorage.getItem("systemKey"), ""), k = await _e("弯管仿真加工分析/管件解析", sessionStorage.getItem("systemKey"), "");
1192
- let D = ["管长", "外径"], j = {};
1193
- k == null || k.forEach((p) => {
1194
- var c;
1195
- (p == null ? void 0 : p.comp) === "Form" && ((c = p == null ? void 0 : p.compData) == null || c.forEach((I) => {
1196
- var O;
1197
- (I == null ? void 0 : I.key) === "formContent" && ((O = I == null ? void 0 : I.contents) == null || O.forEach((w) => {
1198
- D.includes(w == null ? void 0 : w.key) && (j[w.key] = w.value);
1199
- }));
1200
- }));
1201
- }), t == null || t.forEach((p) => {
1202
- var c, I, O, w, R, ee;
1203
- if ((p == null ? void 0 : p.comp) === "Table") {
1204
- let we = [], be = (O = (I = (c = p == null ? void 0 : p.compData) == null ? void 0 : c.find((f) => (f == null ? void 0 : f.key) === "header")) == null ? void 0 : I.contents) == null ? void 0 : O.map((f) => f == null ? void 0 : f.label), Se = (ee = (R = (w = p == null ? void 0 : p.compData) == null ? void 0 : w.find((f) => (f == null ? void 0 : f.key) === "tableContents")) == null ? void 0 : R.contents) == null ? void 0 : ee.map((f) => (f = f == null ? void 0 : f.filter((Be) => !(Be != null && Be.id)), f));
1205
- Se == null || Se.forEach((f) => {
1206
- we.push(
1207
- ea(
1208
- f,
1209
- be == null ? void 0 : be.filter((Be) => Be !== "操作")
1210
- )
1211
- );
1212
- }), e[p.name] = we, e[p.name + "Content"] = p;
1213
- }
1214
- }), e.extra = j, N.value = e;
1215
- };
1216
- Ue(
1217
- () => Ae.value,
1218
- async (e) => {
1219
- e && (pt.value = !0), e === "弯管仿真加工分析/仿真动画生成" ? Fe.value = !0 : Fe.value = !1, e === "弯管仿真加工分析/程序输出" ? $e.value = !0 : $e.value = !1, wt != null && wt.find((t) => {
1220
- var k;
1221
- return (t == null ? void 0 : t.key) === ((k = e == null ? void 0 : e.split("/")) == null ? void 0 : k[(e == null ? void 0 : e.split("/").length) - 1]);
1222
- }) ? Me.value = !0 : Me.value = !1;
1223
- },
1224
- { immediate: !0 }
1225
- ), Ue(
1226
- () => [oe == null ? void 0 : oe.value],
1227
- async () => {
1228
- var e, t, k, D, j;
1229
- if (oe != null && oe.value && ((e = oe == null ? void 0 : oe.value) == null ? void 0 : e.length) > 0 && !Me.value && !((t = Ze.value) != null && t.find((p) => (p == null ? void 0 : p.name) === "输入") && ((k = Ze.value) != null && k.find((p) => (p == null ? void 0 : p.name) === "输出")))) {
1230
- X.value = !0;
1231
- let p = [];
1232
- const c = await ((D = dt(oe == null ? void 0 : oe.value)) == null ? void 0 : D.map(async (I) => {
1233
- var we, be, Se, f, Be, Ye, it, Xe, Rt, Ut;
1234
- let O, w, R;
1235
- I != null && I.blob.includes("undefined") ? R = (be = (we = I == null ? void 0 : I.blob) == null ? void 0 : we.split("undefined,")) == null ? void 0 : be[1] : R = I == null ? void 0 : I.blob;
1236
- let ee = R == null ? void 0 : R.split(",");
1237
- if ((ee == null ? void 0 : ee.length) > 1) {
1238
- let le = await (ee == null ? void 0 : ee.map(async (ie) => {
1239
- var xe, Tt, na, oa, la, sa;
1240
- O = await at.get(ie, {
1241
- responseType: "blob",
1242
- headers: {
1243
- "Content-Type": "application/json"
1244
- }
1245
- });
1246
- let Ge = [];
1247
- if (((xe = I == null ? void 0 : I.mtlBlobs) == null ? void 0 : xe.length) > 0) {
1248
- let Da = await ((Tt = I == null ? void 0 : I.mtlBlobs) == null ? void 0 : Tt.map(async (Ma) => {
1249
- let ia = await at.get(Ma, {
1250
- responseType: "blob",
1251
- headers: {
1252
- "Content-Type": "application/json"
1253
- }
1254
- });
1255
- return Ge.push(
1256
- new Blob([ia.data], {
1257
- type: "application/octet-stream;charset=UTF-8"
1258
- })
1259
- ), ia;
1260
- }));
1261
- await Promise.all(Da);
1262
- }
1263
- return ((oa = ie == null ? void 0 : ie.split(".")) == null ? void 0 : oa[((na = ie == null ? void 0 : ie.split(".")) == null ? void 0 : na.length) - 1]) !== "undefined" && p.push({
1264
- suffix: "." + ((sa = ie == null ? void 0 : ie.split(".")) == null ? void 0 : sa[((la = ie == null ? void 0 : ie.split(".")) == null ? void 0 : la.length) - 1]),
1265
- blob: new Blob([O.data], {
1266
- type: "application/octet-stream;charset=UTF-8"
1267
- }),
1268
- mtlBlobs: Ge
1269
- }), O;
1270
- }));
1271
- await Promise.all(le);
1272
- } else if (!(R != null && R.includes("https://")) && !(R != null && R.includes("http://"))) {
1273
- O = await Kt({
1274
- url: R
1275
- });
1276
- let le = [];
1277
- if (((Se = I == null ? void 0 : I.mtlBlobs) == null ? void 0 : Se.length) > 0) {
1278
- let ie = await ((f = I == null ? void 0 : I.mtlBlobs) == null ? void 0 : f.map(async (Ge) => {
1279
- let xe = await Kt({
1280
- url: Ge
1281
- });
1282
- return le.push(
1283
- new Blob([xe.data], {
1284
- type: "application/octet-stream;charset=UTF-8"
1285
- })
1286
- ), xe;
1287
- }));
1288
- await Promise.all(ie);
1289
- }
1290
- w = {
1291
- suffix: "." + ((Ye = R == null ? void 0 : R.split(".")) == null ? void 0 : Ye[((Be = R == null ? void 0 : R.split(".")) == null ? void 0 : Be.length) - 1]),
1292
- blob: new Blob([O.data], {
1293
- type: "application/octet-stream;charset=UTF-8"
1294
- }),
1295
- mtlBlobs: le
1296
- };
1297
- } else {
1298
- O = await at.get(R, {
1299
- responseType: "blob",
1300
- headers: {
1301
- "Content-Type": "application/json"
1302
- }
1303
- });
1304
- let le = [];
1305
- if (((it = I == null ? void 0 : I.mtlBlobs) == null ? void 0 : it.length) > 0) {
1306
- let ie = await ((Xe = I == null ? void 0 : I.mtlBlobs) == null ? void 0 : Xe.map(async (Ge) => {
1307
- let xe = await at.get(Ge, {
1308
- responseType: "blob",
1309
- headers: {
1310
- "Content-Type": "application/json"
1311
- }
1312
- });
1313
- return le.push(
1314
- new Blob([xe.data], {
1315
- type: "application/octet-stream;charset=UTF-8"
1316
- })
1317
- ), xe;
1318
- }));
1319
- await Promise.all(ie);
1320
- }
1321
- w = {
1322
- suffix: I != null && I.suffix ? I == null ? void 0 : I.suffix : "." + ((Ut = R == null ? void 0 : R.split(".")) == null ? void 0 : Ut[((Rt = R == null ? void 0 : R.split(".")) == null ? void 0 : Rt.length) - 1]),
1323
- blob: new Blob([O.data], {
1324
- type: "application/octet-stream;charset=UTF-8"
1325
- }),
1326
- mtlBlobs: le
1327
- };
1328
- }
1329
- w && p.push(w);
1330
- }));
1331
- await Promise.all(c), (p == null ? void 0 : p.length) !== 0 && ((j = L.value) == null || j.loadModelByDefaultPath(p));
1332
- }
1333
- },
1334
- { immediate: !0, deep: !0 }
1335
- );
1336
- const Ct = (e) => {
1337
- We.value = !0, $.value = e == null ? void 0 : e.map((t) => {
1338
- var k;
1339
- return t.compData = (k = t.compData) == null ? void 0 : k.map((D) => {
1340
- var j;
1341
- return (D == null ? void 0 : D.key) === "formContent" && (D.contents = (j = D.contents) == null ? void 0 : j.map((p) => (p.disabled = !0, p))), D;
1342
- }), t;
1343
- });
1344
- }, Pe = async () => {
1345
- await Ia();
1346
- }, fe = h("数据管理"), je = h(!1), n = h({
1347
- x: 0,
1348
- y: 0
1349
- }), g = (e) => {
1350
- fe.value = e;
1351
- }, B = (e) => {
1352
- W(), je.value = e;
1353
- }, E = () => {
1354
- B(!(je != null && je.value));
1355
- }, W = () => {
1356
- n.value = {
1357
- x: 0,
1358
- y: 0
1359
- };
1360
- }, Q = ze(() => {
1361
- const e = `${n.value.x}px`, t = `${n.value.y}px`;
1362
- return {
1363
- // width: rightPanelInfo.box.width,
1364
- // height: rightPanelInfo.box.height,
1365
- // top: props?.showButton ? rightPanelInfo.position.startTop : '150px',
1366
- // right: rightPanelInfo.position.startRight,
1367
- transform: `translate(${e}, ${t})`
1368
- };
1369
- }), T = (e) => {
1370
- Y(e == null ? void 0 : e.title), x(!0);
1371
- }, M = () => {
1372
- B(!1);
1373
- };
1374
- bt("managementPageVisible", je), bt("setManagementPageTitle", g), bt("setManagementPageVisible", B);
1375
- let Ce = 0, ge = 0, ae = 0, Ie = 0;
1376
- function Ne(e) {
1377
- Ce = e.clientX, ge = e.clientY, ae = n.value.x, Ie = n.value.y, document.addEventListener("mousemove", st), document.addEventListener("mouseup", i);
1378
- }
1379
- function st(e) {
1380
- n.value.x = ae + (e.clientX - Ce), n.value.y = Ie + (e.clientY - ge);
1381
- }
1382
- function i() {
1383
- document.removeEventListener("mousemove", st), document.removeEventListener("mouseup", i);
1384
- }
1385
- const d = h(""), Y = (e) => {
1386
- d.value = e;
1387
- }, b = h(!1), x = (e) => {
1388
- b.value = e;
1389
- }, v = () => {
1390
- b.value = !b.value;
1391
- }, P = () => {
1392
- x(!1);
1393
- }, C = (e) => {
1394
- const t = e == null ? void 0 : e.label;
1395
- g(t), B(!0);
1396
- }, J = h(!1), te = h([]), F = async () => {
1397
- J.value = !0;
1398
- const e = await Qa().finally(() => {
1399
- J.value = !1;
1400
- });
1401
- te.value = e;
1402
- }, me = async (e) => {
1403
- e && F();
1404
- }, ve = async (e) => {
1405
- const k = [e == null ? void 0 : e.urdfUrl], D = k == null ? void 0 : k.every((j) => j.toUpperCase().includes(".URDF"));
1406
- tt.setData({
1407
- url: k,
1408
- data: e,
1409
- isThreeScene: D
1410
- });
1411
- };
1412
- Ot(async () => {
1413
- Oe("setLoginInfo", Te.value);
1414
- async function e() {
1415
- var t, k, D, j, p, c, I, O, w, R, ee;
1416
- try {
1417
- let we = function(le, ie) {
1418
- return ie.map((Ge) => le.map((xe, Tt) => ({
1419
- ...xe,
1420
- value: Ge[Tt] ?? ""
1421
- // 每个 header 加入 value
1422
- })));
1423
- };
1424
- const be = sessionStorage.getItem("systemKey"), [Se, f] = await Promise.all([
1425
- _e(Yo, be, ""),
1426
- _e(Go, be, "")
1427
- ]), Be = (D = (k = (t = Se == null ? void 0 : Se[0]) == null ? void 0 : t.compData) == null ? void 0 : k.find((le) => (le == null ? void 0 : le.key) === "tableContents")) == null ? void 0 : D.contents, Ye = (c = (p = (j = f == null ? void 0 : f[0]) == null ? void 0 : j.compData) == null ? void 0 : p.find((le) => (le == null ? void 0 : le.key) === "tableContents")) == null ? void 0 : c.contents, it = (w = (O = (I = f == null ? void 0 : f[0]) == null ? void 0 : I.compData) == null ? void 0 : O.find((le) => (le == null ? void 0 : le.key) === "header")) == null ? void 0 : w.contents;
1428
- console.log("555readData", it);
1429
- let Xe = [];
1430
- Array.isArray(Be) && Array.isArray(Ye) ? Xe = [...Be, ...Ye] : (Xe = [], console.warn("unreadMessagesContents 或 readMessagesContents 不是数组")), U.value = we(it, Xe), console.log("555allReadMessages.value", U.value);
1431
- const Rt = ((R = Te == null ? void 0 : Te.value) == null ? void 0 : R.account) || ((ee = Te == null ? void 0 : Te.value) == null ? void 0 : ee.收件人) || "未知", Ut = U.value.filter((le) => {
1432
- var ie;
1433
- return ((ie = le.find((Ge) => Ge.prop === "收件人")) == null ? void 0 : ie.value) === Rt;
1434
- });
1435
- K.value = Ut;
1436
- } catch (we) {
1437
- console.error("获取消息数据失败:", we);
1438
- }
1439
- }
1440
- await e(), a.value = "first";
1441
- }), Ra(() => {
1442
- const e = window.messageIntervalId;
1443
- e && clearInterval(e);
1444
- });
1445
- const ye = () => {
1446
- var k, D;
1447
- if (He.value === "" || ((D = Ae.value) == null ? void 0 : D[((k = Ae.value) == null ? void 0 : k.length) - 1]) === z) return !1;
1448
- const e = sessionStorage.getItem("authority"), t = JSON.parse(e || "");
1449
- if (Array.isArray(t)) {
1450
- const j = Array.isArray(t) && (t == null ? void 0 : t.filter((c) => c == null ? void 0 : c.includes(He.value))), p = j == null ? void 0 : j.map((c) => {
1451
- var I;
1452
- return ((I = c == null ? void 0 : c.split("/")) == null ? void 0 : I.pop()) || "";
1453
- });
1454
- return !!(p != null && p.includes("新增") || p != null && p.includes("新建"));
1455
- } else return typeof t == "string" && (t == null ? void 0 : t.toUpperCase()) === "SUPERADMIN";
1456
- };
1457
- return (e, t) => {
1458
- const k = ce("el-dialog"), D = ce("el-button"), j = ce("el-header"), p = ce("el-container"), c = ce("router-view"), I = ce("el-main"), O = da("loading");
1459
- return u(), S(Ke, null, [
1460
- l(jt, {
1461
- visible: We.value,
1462
- onBeforeDestroy: t[0] || (t[0] = (w) => We.value = !1),
1463
- fullScreen: !0
1464
- }, {
1465
- default: m(() => [
1466
- l(ba, { dialogItem: $.value }, null, 8, ["dialogItem"])
1467
- ]),
1468
- _: 1
1469
- }, 8, ["visible"]),
1470
- l(k, {
1471
- "append-to-body": "",
1472
- modelValue: _.value,
1473
- "onUpdate:modelValue": t[1] || (t[1] = (w) => _.value = w),
1474
- style: { height: "700px", width: "1800px" }
1475
- }, {
1476
- default: m(() => [
1477
- l(Wt, {
1478
- "file-urls": ke.value,
1479
- isThreeScene: yt.value,
1480
- onGetAnimationData: ft
1481
- }, null, 8, ["file-urls", "isThreeScene"])
1482
- ]),
1483
- _: 1
1484
- }, 8, ["modelValue"]),
1485
- Ve(l(p, { class: "client-container" }, {
1486
- default: m(() => [
1487
- l(j, { class: "client-structure-header" }, {
1488
- default: m(() => [
1489
- r("div", Co, [
1490
- l(D, {
1491
- id: "transparentBgButton",
1492
- onClick: s(ma)
1493
- }, {
1494
- default: m(() => t[5] || (t[5] = [
1495
- Je(" 返回页面 ")
1496
- ])),
1497
- _: 1,
1498
- __: [5]
1499
- }, 8, ["onClick"]),
1500
- l(D, {
1501
- id: "transparentBgButton",
1502
- onClick: t[2] || (t[2] = (w) => {
1503
- var R, ee;
1504
- return s(ha)((ee = (R = s(y)) == null ? void 0 : R.map((we) => we.value)) == null ? void 0 : ee.join("/"));
1505
- })
1506
- }, {
1507
- icon: m(() => [
1508
- l(Qe, { name: "Store" })
1509
- ]),
1510
- default: m(() => [
1511
- t[6] || (t[6] = Je(" 保存页面 "))
1512
- ]),
1513
- _: 1,
1514
- __: [6]
1515
- })
1516
- ]),
1517
- r("div", vo, [
1518
- l(Ea, {
1519
- breadArray: s(y),
1520
- onClick: s(ya)
1521
- }, null, 8, ["breadArray", "onClick"])
1522
- ]),
1523
- r("div", wo, [
1524
- ut(e.$slots, "default", {}, void 0, !0),
1525
- l(Ht, {
1526
- size: 35,
1527
- disabled: !0,
1528
- userInfo: s(Te)
1529
- }, null, 8, ["userInfo"])
1530
- ])
1531
- ]),
1532
- _: 3
1533
- }),
1534
- s(pe) === "edit" ? (u(), ue(p, {
1535
- key: 0,
1536
- class: "model-operate",
1537
- style: { "margin-top": "10px", height: "0px" }
1538
- }, {
1539
- default: m(() => [
1540
- r("div", Bo, [
1541
- l(Zt)
1542
- ]),
1543
- r("div", ko, [
1544
- l(zt)
1545
- ]),
1546
- r("div", Io, [
1547
- l(_t)
1548
- ])
1549
- ]),
1550
- _: 1
1551
- })) : H("", !0)
1552
- ]),
1553
- _: 3
1554
- }, 512), [
1555
- [vt, s(pe) === "edit"]
1556
- ]),
1557
- Ve((u(), ue(p, {
1558
- class: "client-container",
1559
- "element-loading-text": "正在加载页面数据..."
1560
- }, {
1561
- default: m(() => [
1562
- l(Wt, {
1563
- class: "client-body",
1564
- "file-urls": s(qe).url,
1565
- isThreeScene: s(qe).isThreeScene,
1566
- "three-data": s(qe),
1567
- onGetAnimationData: ft,
1568
- windowConfig: A.windowConfig,
1569
- showButton: Re == null ? void 0 : Re.showButton,
1570
- platform: Re == null ? void 0 : Re.platform
1571
- }, {
1572
- "management-menu": m(() => [
1573
- l(ua, {
1574
- name: "子菜单",
1575
- size: "24",
1576
- onClick: v,
1577
- active: b.value,
1578
- title: "菜单"
1579
- }, null, 8, ["active"])
1580
- ]),
1581
- "top-menu": m(() => [
1582
- l(fo, null, Ua({
1583
- menu: m(({ menu: w }) => [
1584
- r("div", {
1585
- class: "top-icon",
1586
- title: w.title,
1587
- onClick: (R) => T(w)
1588
- }, [
1589
- l(Qe, {
1590
- name: w.icon,
1591
- class: Pt(["menu-icon", { active: w.title === d.value }])
1592
- }, null, 8, ["name", "class"])
1593
- ], 8, So)
1594
- ]),
1595
- _: 2
1596
- }, [
1597
- A.showButton ? {
1598
- name: "extraIcon",
1599
- fn: m(() => [
1600
- s(pe) === "view" ? (u(), S("div", {
1601
- key: 0,
1602
- class: "top-icon",
1603
- title: "界面修改",
1604
- onClick: t[3] || (t[3] = //@ts-ignore
1605
- (...w) => s(Jt) && s(Jt)(...w))
1606
- }, [
1607
- l(Qe, {
1608
- name: "界面修改",
1609
- class: "menu-icon"
1610
- })
1611
- ])) : H("", !0),
1612
- s(pe) === "view" ? (u(), ue(Qt, {
1613
- key: 1,
1614
- class: "three-dropdown-menu",
1615
- "popper-class": "three-poper",
1616
- teleported: !1,
1617
- onVisibleChange: me
1618
- }, {
1619
- dropTitle: m(() => [
1620
- r("div", Eo, [
1621
- l(Qe, {
1622
- name: "model",
1623
- class: "menu-icon"
1624
- })
1625
- ])
1626
- ]),
1627
- dropMenu: m(() => [
1628
- r("div", bo, [
1629
- J.value ? (u(), S("div", Qo, " 加载中 ")) : (u(!0), S(Ke, { key: 1 }, Le(te.value, (w, R) => (u(), S("div", {
1630
- class: "task-item",
1631
- key: R,
1632
- title: w == null ? void 0 : w.name,
1633
- onClick: (ee) => ve(w)
1634
- }, re(w == null ? void 0 : w.name), 9, Do))), 128))
1635
- ])
1636
- ]),
1637
- _: 1
1638
- })) : H("", !0),
1639
- r("div", {
1640
- class: "top-icon",
1641
- title: "登出",
1642
- onClick: It
1643
- }, [
1644
- l(Qe, {
1645
- name: "退出",
1646
- size: 24,
1647
- class: "menu-icon"
1648
- })
1649
- ]),
1650
- s(pe) === "view" ? ut(e.$slots, "default", { key: 2 }, void 0, !0) : H("", !0)
1651
- ]),
1652
- key: "0"
1653
- } : void 0
1654
- ]), 1024)
1655
- ]),
1656
- "management-page": m(() => [
1657
- l(ua, {
1658
- name: "yemian",
1659
- size: "24",
1660
- onClick: E,
1661
- active: je.value,
1662
- title: "数据管理"
1663
- }, null, 8, ["active"])
1664
- ]),
1665
- _: 3
1666
- }, 8, ["file-urls", "isThreeScene", "three-data", "windowConfig", "showButton", "platform"])
1667
- ]),
1668
- _: 3
1669
- })), [
1670
- [vt, s(pe) === "view"],
1671
- [O, s(ht)]
1672
- ]),
1673
- Ve(r("div", {
1674
- class: "management-page-panel",
1675
- style: Dt(Q.value)
1676
- }, [
1677
- r("div", {
1678
- class: "panel-header",
1679
- onMousedown: Ne
1680
- }, [
1681
- r("span", null, re(fe.value), 1),
1682
- r("span", {
1683
- class: "close",
1684
- onClick: M
1685
- }, " X ")
1686
- ], 32),
1687
- r("div", Mo, [
1688
- s(Ae) ? H("", !0) : (u(), S("div", Ro, " 请先选择菜单 ")),
1689
- l(p, { class: "client-body" }, {
1690
- default: m(() => [
1691
- l(I, { class: "client-main" }, {
1692
- default: m(() => {
1693
- var w, R, ee, we, be, Se;
1694
- return [
1695
- Ve((u(), S("div", {
1696
- class: "client-main-operate",
1697
- ref_key: "contentRef",
1698
- ref: mt,
1699
- "element-loading-text": "正在加载页面数据..."
1700
- }, [
1701
- ((R = s(Ae)) == null ? void 0 : R[((w = s(Ae)) == null ? void 0 : w.length) - 1]) === s(z) || (ee = s(Ae)) != null && ee.includes("updateLoading") || (we = s(Ae)) != null && we.includes("loading") ? (u(), S("div", Uo, [
1702
- l(ct, {
1703
- class: "calculator-content back-content",
1704
- onClickTrigger: t[4] || (t[4] = (f) => s(Aa)()),
1705
- modelValue: "返回"
1706
- })
1707
- ])) : H("", !0),
1708
- r("div", To, [
1709
- lt.value ? (u(), ue(c, { key: 0 })) : H("", !0),
1710
- lt.value ? H("", !0) : (u(!0), S(Ke, { key: 1 }, Le((be = s(Ze)) == null ? void 0 : be.filter((f) => f.comp !== "FormTop"), (f, Be) => {
1711
- var Ye;
1712
- return u(), S("div", {
1713
- class: "item-view-content",
1714
- key: Be,
1715
- style: Dt({ display: (f == null ? void 0 : f.isShow) === !1 ? "none" : "flex" })
1716
- }, [
1717
- ((Ye = f == null ? void 0 : f.comp) == null ? void 0 : Ye.toUpperCase()) !== "TABLE" && f.name ? (u(), S("div", Po, [
1718
- r("div", jo, re(f.name), 1)
1719
- ])) : H("", !0),
1720
- s(fa) ? (u(), ue(Xt(s(ta)(f.comp)), {
1721
- compName: f.name,
1722
- cacheNewData: s(ka),
1723
- isDevMode: A.showButton,
1724
- itemData: f == null ? void 0 : f.compData,
1725
- childItemData: f == null ? void 0 : f.itemChildData,
1726
- key: s(Ba),
1727
- onChange: s(Lt),
1728
- index: (f == null ? void 0 : f.id) ?? Be,
1729
- onContentChange: s(Vt),
1730
- onPageChange: s(wa),
1731
- onRowClick: St,
1732
- onRouteUrl: Ct,
1733
- parentTableId: f == null ? void 0 : f.tableId,
1734
- allMapContents: s(va),
1735
- children: f == null ? void 0 : f.children,
1736
- level: 1,
1737
- onClickTrigger: s(Ca)
1738
- }, null, 40, ["compName", "cacheNewData", "isDevMode", "itemData", "childItemData", "onChange", "index", "onContentChange", "onPageChange", "parentTableId", "allMapContents", "children", "onClickTrigger"])) : H("", !0)
1739
- ], 4);
1740
- }), 128)),
1741
- !lt.value && !((Se = s(Ze)) != null && Se.find((f) => f.comp === "methodButton")) ? (u(), S("div", Ko, [
1742
- ye() ? (u(), ue(ct, {
1743
- key: 0,
1744
- class: "calculator-content",
1745
- onClickTrigger: Pe,
1746
- modelValue: "保存"
1747
- })) : H("", !0)
1748
- ])) : H("", !0)
1749
- ])
1750
- ])), [
1751
- [O, s(he)]
1752
- ])
1753
- ];
1754
- }),
1755
- _: 1
1756
- })
1757
- ]),
1758
- _: 1
1759
- })
1760
- ])
1761
- ], 4), [
1762
- [vt, je.value]
1763
- ]),
1764
- Ve(r("div", Fo, [
1765
- r("div", { class: "panel-header" }, [
1766
- t[7] || (t[7] = r("span", null, " 菜单树 ", -1)),
1767
- r("span", {
1768
- class: "close",
1769
- onClick: P
1770
- }, " X ")
1771
- ]),
1772
- r("div", No, [
1773
- l(p, { class: "client-body" }, {
1774
- default: m(() => [
1775
- l(mo, { onNodeClick: C })
1776
- ]),
1777
- _: 1
1778
- })
1779
- ])
1780
- ], 512), [
1781
- [vt, b.value]
1782
- ])
1783
- ], 64);
1784
- };
1785
- }
1786
- }), Vo = /* @__PURE__ */ nt(xo, [["__scopeId", "data-v-246c5cee"]]), Lo = { class: "system-wrap" }, Jo = {
1787
- __name: "index",
1788
- props: {
1789
- windowConfig: {
1790
- type: Object,
1791
- default: () => {
1792
- }
1793
- },
1794
- platform: {
1795
- type: String,
1796
- default: "browser"
1797
- },
1798
- showButton: {
1799
- type: Boolean,
1800
- default: !0
1801
- },
1802
- content: String,
1803
- jsonContents: Array,
1804
- urdfContent: {
1805
- type: Object,
1806
- default: () => {
1807
- }
1808
- }
1809
- },
1810
- emits: ["buildContent", "showChild"],
1811
- setup(A, { emit: Z }) {
1812
- const a = Ft(De), U = aa(De), K = Nt();
1813
- h(!1);
1814
- const V = h(!0), o = A, G = Z, z = (N) => {
1815
- G("showChild", N);
1816
- }, q = ze(() => {
1817
- switch (o == null ? void 0 : o.platform) {
1818
- case "browser":
1819
- return $a;
1820
- case "client":
1821
- return _a;
1822
- case "three":
1823
- return za;
1824
- }
1825
- }), y = (N) => {
1826
- const L = document.documentElement;
1827
- N == null || N.forEach((ne) => {
1828
- L.style.setProperty(ne.name, ne.value);
1829
- });
1830
- };
1831
- Ue(() => o.platform, (N, L) => {
1832
- N && y(q.value);
1833
- }, { immediate: !0 });
1834
- const _ = () => {
1835
- G("buildContent");
1836
- };
1837
- return Ue(
1838
- () => [o == null ? void 0 : o.content, o == null ? void 0 : o.jsonContents],
1839
- async () => {
1840
- var N, L, ne, X;
1841
- try {
1842
- if (((N = o == null ? void 0 : o.jsonContents) == null ? void 0 : N.length) > 0) {
1843
- a.setOriginalData(o == null ? void 0 : o.jsonContents);
1844
- return;
1845
- }
1846
- if (!(o != null && o.content) || ((L = o == null ? void 0 : o.content) == null ? void 0 : L.length) === 0) return;
1847
- V.value = !0, K.setImportLoading(!0);
1848
- let se = [], oe = [];
1849
- U.setSelectTitle([]), U.setSelectIndex(""), U.setSelectMenu(""), (X = (ne = o == null ? void 0 : o.content) == null ? void 0 : ne.filter((Me) => Me !== "")) == null || X.forEach((Me) => {
1850
- oe.push(Ka(Me));
1851
- }), se = oe == null ? void 0 : oe[0], await Fa(se), await pa(), a.setOriginalData(se);
1852
- } catch {
1853
- rt.error("模型内容错误");
1854
- }
1855
- K.setImportLoading(!1);
1856
- },
1857
- { deep: !0, immediate: !0 }
1858
- ), (N, L) => (u(), S("div", Lo, [
1859
- A.platform === "three" ? (u(), ue(Vo, {
1860
- key: 0,
1861
- windowConfig: A.windowConfig,
1862
- showButton: o == null ? void 0 : o.showButton,
1863
- onBuildContent: _,
1864
- onShowChild: z,
1865
- platform: o == null ? void 0 : o.platform
1866
- }, {
1867
- default: m(() => [
1868
- ut(N.$slots, "default", {}, void 0, !0)
1869
- ]),
1870
- _: 3
1871
- }, 8, ["windowConfig", "showButton", "platform"])) : (u(), ue(uo, {
1872
- key: 1,
1873
- windowConfig: A.windowConfig,
1874
- showButton: o == null ? void 0 : o.showButton,
1875
- onBuildContent: _,
1876
- onShowChild: z,
1877
- platform: o == null ? void 0 : o.platform,
1878
- taskContent: o.urdfContent
1879
- }, {
1880
- default: m(() => [
1881
- ut(N.$slots, "default", {}, void 0, !0)
1882
- ]),
1883
- _: 3
1884
- }, 8, ["windowConfig", "showButton", "platform", "taskContent"]))
1885
- ]));
1886
- }
1887
- }, Wo = /* @__PURE__ */ nt(Jo, [["__scopeId", "data-v-b5c308a8"]]), Ho = { class: "add-model-content" }, Oo = {
1888
- key: 0,
1889
- class: "model-operate"
1890
- }, qo = { class: "model-select" }, Xo = { class: "model-fill" }, Zo = {
1891
- key: 1,
1892
- class: "model-view"
1893
- }, zo = {
1894
- class: "drop-menu",
1895
- style: { width: "120px" }
1896
- }, _o = { class: "select-model-wrapper" }, $o = { class: "create-project" }, el = { class: "create-project-button" }, tl = { class: "enter-project" }, al = {
1897
- key: 0,
1898
- class: "enter-project-list"
1899
- }, nl = ["onClick"], ol = { class: "project-title" }, ll = { class: "project-operate" }, sl = { class: "enter-project-button" }, il = {
1900
- __name: "index",
1901
- props: {
1902
- mode: {
1903
- type: String,
1904
- default: "view"
1905
- },
1906
- content: {
1907
- type: String,
1908
- default: ""
1909
- },
1910
- jsonContents: {
1911
- type: Array,
1912
- default: () => []
1913
- },
1914
- showButton: {
1915
- type: Boolean,
1916
- default: !0
1917
- },
1918
- pathContent: {
1919
- type: String,
1920
- default: ""
1921
- },
1922
- pageKey: {
1923
- type: String,
1924
- default: ""
1925
- },
1926
- oldSystemKey: {
1927
- type: String,
1928
- default: ""
1929
- }
1930
- },
1931
- emits: ["change", "contentChange", "buildContent", "openThreeBuild", "threeData"],
1932
- setup(A, { emit: Z }) {
1933
- const a = A, U = Z;
1934
- La();
1935
- const K = h([]), V = h(0), o = h([]), G = h([]), z = h(0), q = Ft(De), y = Nt(De), { itemData: _, originalData: N } = Ee(q), { activeMenuPath: L, platform: ne } = Ee(y), X = h(null), se = h(0), oe = h([]);
1936
- h("");
1937
- const Me = h(0), pt = h([]), Fe = $t(), { loginUserInfo: $, systemKey: $e } = Ee(Fe), mt = () => {
1938
- U("buildContent");
1939
- };
1940
- Ue(
1941
- () => a == null ? void 0 : a.pageKey,
1942
- async () => {
1943
- let n = {};
1944
- if ((a == null ? void 0 : a.pageKey) !== "") {
1945
- const g = await _e(a == null ? void 0 : a.pageKey, sessionStorage.getItem("systemKey"), ""), B = await _e("弯管仿真加工分析/管件解析", sessionStorage.getItem("systemKey"), "");
1946
- let E = ["管长", "外径"], W = {};
1947
- B == null || B.forEach((M) => {
1948
- var Ce;
1949
- (M == null ? void 0 : M.comp) === "Form" && ((Ce = M == null ? void 0 : M.compData) == null || Ce.forEach((ge) => {
1950
- var ae;
1951
- (ge == null ? void 0 : ge.key) === "formContent" && ((ae = ge == null ? void 0 : ge.contents) == null || ae.forEach((Ie) => {
1952
- E.includes(Ie == null ? void 0 : Ie.key) && (W[Ie.key] = Ie.value);
1953
- }));
1954
- }));
1955
- }), g == null || g.forEach((M) => {
1956
- var Ce, ge, ae, Ie, Ne, st;
1957
- if ((M == null ? void 0 : M.comp) === "Table") {
1958
- let i = [], d = (ae = (ge = (Ce = M == null ? void 0 : M.compData) == null ? void 0 : Ce.find((b) => (b == null ? void 0 : b.key) === "header")) == null ? void 0 : ge.contents) == null ? void 0 : ae.map((b) => b == null ? void 0 : b.label), Y = (st = (Ne = (Ie = M == null ? void 0 : M.compData) == null ? void 0 : Ie.find((b) => (b == null ? void 0 : b.key) === "tableContents")) == null ? void 0 : Ne.contents) == null ? void 0 : st.map((b) => (b = b == null ? void 0 : b.filter((x) => !(x != null && x.id)), b));
1959
- Y == null || Y.forEach((b) => {
1960
- i.push(ea(b, d == null ? void 0 : d.filter((x) => x !== "操作")));
1961
- }), n[M.name] = i, n[M.name + "Content"] = M;
1962
- }
1963
- }), n.extra = W;
1964
- const Q = await tn(), T = await an();
1965
- n.singleRobotData = Q, n.doubleRobotData = T, U("threeData", n);
1966
- }
1967
- },
1968
- { deep: !0, immediate: !0 }
1969
- );
1970
- const ke = (n) => {
1971
- pt.value = n, U("openThreeBuild", n);
1972
- };
1973
- Ue(
1974
- () => a == null ? void 0 : a.pathContent,
1975
- () => {
1976
- (a == null ? void 0 : a.pathContent) !== "" && q.setSystemPath(a == null ? void 0 : a.pathContent);
1977
- },
1978
- {
1979
- deep: !0,
1980
- immediate: !0
1981
- }
1982
- );
1983
- const yt = (n) => {
1984
- U("contentChange", n);
1985
- }, We = (n) => {
1986
- var B;
1987
- const g = (B = dt(n == null ? void 0 : n.wholeValue)) == null ? void 0 : B.map((E) => {
1988
- var W;
1989
- return (E == null ? void 0 : E.comp) === "Form" && (E.compData = (W = E.compData) == null ? void 0 : W.map((Q) => ((Q == null ? void 0 : Q.key) === "formContent" && (Q.contents = Va(Q == null ? void 0 : Q.contents)), Q))), E;
1990
- });
1991
- U("change", {
1992
- originalContents: N.value,
1993
- currentContents: n == null ? void 0 : n.wholeValue,
1994
- editContent: n == null ? void 0 : n.editValue,
1995
- arrayToContents: g
1996
- });
1997
- };
1998
- Ue(
1999
- () => o.value,
2000
- () => {
2001
- Me.value === o.value.length && o.value.length !== 0 && (K.value = o.value);
2002
- },
2003
- { deep: !0, immediate: !0 }
2004
- );
2005
- const Bt = () => {
2006
- X.value !== null && X.value.click();
2007
- }, Te = async (n) => {
2008
- y.setActiveMenuPath(""), y.setActiveTopMenuPath(""), y.setAsideMenus([]);
2009
- const g = n.target.files;
2010
- if (!g) return;
2011
- new FileReader(), K.value = [], o.value = [], Me.value = g.length;
2012
- const B = Array.from(g).map(async (E) => await new Promise((W) => {
2013
- const Q = new FileReader();
2014
- Q.onload = (T) => {
2015
- try {
2016
- o.value.push(T.target.result), se.value++;
2017
- } catch (M) {
2018
- console.error("解析失败:", M);
2019
- return;
2020
- }
2021
- }, Q.onerror = () => W(`读取 ${E.name} 失败`), Q.readAsText(E), n.target.value = "", X.value = null, V.value++;
2022
- }));
2023
- await Promise.all(B);
2024
- };
2025
- Ue(
2026
- () => [a == null ? void 0 : a.content, a == null ? void 0 : a.jsonContents],
2027
- async () => {
2028
- await pa(), K.value = a.content, G.value = a == null ? void 0 : a.jsonContents;
2029
- },
2030
- { deep: !0, immediate: !0 }
2031
- ), Ue(
2032
- () => se.value,
2033
- () => {
2034
- var n;
2035
- ((n = oe.value) == null ? void 0 : n.length) !== 0 && (q.setOriginalData(oe.value), q.setItemData(oe.value));
2036
- },
2037
- { deep: !0, immediate: !0 }
2038
- ), h(""), h("");
2039
- const de = h({
2040
- targetModel: "",
2041
- modelName: ""
2042
- }), pe = h([]), He = h(!1), Oe = ze(() => {
2043
- const n = (pe == null ? void 0 : pe.value) || [];
2044
- if (!n.length)
2045
- return !1;
2046
- const g = n == null ? void 0 : n[0], B = g == null ? void 0 : g.name;
2047
- return !(n.length === 1 && !B);
2048
- }), et = () => {
2049
- He.value = !1;
2050
- }, ot = async () => {
2051
- var W, Q, T;
2052
- const n = (W = $ == null ? void 0 : $.value) == null ? void 0 : W.account, g = (Q = $ == null ? void 0 : $.value) == null ? void 0 : Q.password;
2053
- if (!n)
2054
- return;
2055
- const B = await Et({
2056
- valueLikes: {
2057
- "tableData.account": n,
2058
- "tableData.password": g
2059
- }
2060
- });
2061
- let E = ((T = B == null ? void 0 : B.data) == null ? void 0 : T.result) || [];
2062
- return E = E == null ? void 0 : E.filter((M) => {
2063
- var ge, ae;
2064
- return ((ae = (ge = M == null ? void 0 : M.value) == null ? void 0 : ge.tableData) == null ? void 0 : ae.account) === n;
2065
- }), E;
2066
- }, ht = async () => {
2067
- const n = await ot(), g = n == null ? void 0 : n.map((B) => B == null ? void 0 : B.key);
2068
- pe.value = g;
2069
- }, kt = () => {
2070
- if (!de.value.targetModel) {
2071
- const g = pe.value, B = g == null ? void 0 : g[0], E = B == null ? void 0 : B.systemKey;
2072
- de.value.targetModel = E;
2073
- }
2074
- }, he = async () => {
2075
- var g;
2076
- (g = $ == null ? void 0 : $.value) != null && g.account && (He.value = !0, await ht(), kt());
2077
- }, At = (n) => {
2078
- sessionStorage.setItem("systemKey", n), Fe.setSystemKey(n), en();
2079
- }, Ae = async (n) => {
2080
- var g, B, E, W, Q, T, M, Ce, ge;
2081
- try {
2082
- const ae = await Et({
2083
- key: {
2084
- systemKey: n,
2085
- layer: "superAdmin"
2086
- }
2087
- });
2088
- if (((g = ae == null ? void 0 : ae.data) == null ? void 0 : g.code) === 200) {
2089
- const Ie = (Q = (W = (E = (B = ae == null ? void 0 : ae.data) == null ? void 0 : B.result) == null ? void 0 : E[0]) == null ? void 0 : W.key) == null ? void 0 : Q.systemType;
2090
- let Ne = "browser";
2091
- Ie === "制造系统" && (Ne = "client"), Ie === "三维系统" && (Ne = "three"), y.setPlatform(Ne), y.setPlatName(((ge = (Ce = (M = (T = ae == null ? void 0 : ae.data) == null ? void 0 : T.result) == null ? void 0 : M[0]) == null ? void 0 : Ce.key) == null ? void 0 : ge.name) ?? "");
2092
- }
2093
- } catch (ae) {
2094
- return Promise.reject(ae);
2095
- }
2096
- }, tt = (n) => {
2097
- de.value.targetModel = n;
2098
- }, qe = async () => {
2099
- var n;
2100
- if (Oe.value) {
2101
- if (!((n = de == null ? void 0 : de.value) != null && n.targetModel)) {
2102
- rt.warning("请先选择模型");
2103
- return;
2104
- }
2105
- et(), At(de.value.targetModel), Ae(de.value.targetModel);
2106
- }
2107
- }, Re = async () => {
2108
- var g, B, E;
2109
- (g = $ == null ? void 0 : $.value) == null || g.account, (B = $ == null ? void 0 : $.value) == null || B.password;
2110
- const n = await Et({
2111
- key: {
2112
- pageKey: "/user"
2113
- }
2114
- });
2115
- return (E = n == null ? void 0 : n.data) == null ? void 0 : E.result;
2116
- }, lt = async () => {
2117
- const n = await Re();
2118
- return n == null ? void 0 : n.reduce((B, E) => {
2119
- var T;
2120
- const W = ((T = E == null ? void 0 : E.key) == null ? void 0 : T.systemKey) || -1, Q = Number(W);
2121
- return Math.max(Q, B);
2122
- }, 0);
2123
- }, It = async () => {
2124
- const n = await St();
2125
- At(n), Ae(n), et();
2126
- }, St = async () => {
2127
- var Q, T, M;
2128
- const n = await lt();
2129
- if (!n)
2130
- return;
2131
- const g = n + 1, B = g.toString(), E = (Q = $ == null ? void 0 : $.value) == null ? void 0 : Q.account, W = (T = $ == null ? void 0 : $.value) == null ? void 0 : T.password;
2132
- return (M = de == null ? void 0 : de.value) == null || M.modelName, await Na({
2133
- key: {
2134
- pageKey: "/user",
2135
- systemKey: B,
2136
- layer: "superAdmin"
2137
- },
2138
- value: {
2139
- tableData: {
2140
- account: E,
2141
- password: W
2142
- }
2143
- }
2144
- }), g;
2145
- }, ft = async (n) => {
2146
- if (!n)
2147
- return;
2148
- const g = (n == null ? void 0 : n.key) || {}, B = {
2149
- id: n == null ? void 0 : n.id,
2150
- key: {
2151
- ...g,
2152
- name: ""
2153
- }
2154
- };
2155
- await Ya(B);
2156
- }, Ct = async (n) => {
2157
- var B;
2158
- const g = (B = n == null ? void 0 : n.map((E) => E == null ? void 0 : E.id)) == null ? void 0 : B.filter((E) => E);
2159
- (g == null ? void 0 : g.length) > 0 && await ra({
2160
- ids: g
2161
- });
2162
- }, Pe = async () => {
2163
- de.value.targetModel = "", await he();
2164
- }, fe = async (n) => {
2165
- var E, W;
2166
- y.setImportLoading(!0);
2167
- const g = await ot().catch((Q) => (y.setImportLoading(!1), rt.error("删除失败"), Promise.reject(Q))), B = g == null ? void 0 : g.find((Q) => {
2168
- var M;
2169
- const T = (M = Q == null ? void 0 : Q.key) == null ? void 0 : M.systemKey;
2170
- return n === T;
2171
- });
2172
- if (B && (g == null ? void 0 : g.length) === 1 && await ft(B).catch((Q) => (y.setImportLoading(!1), rt.error("删除失败"), Promise.reject(Q))), B && (g == null ? void 0 : g.length) > 1) {
2173
- const Q = await Et({
2174
- key: {
2175
- systemKey: n
2176
- }
2177
- }).catch((T) => (y.setImportLoading(!1), rt.error("删除失败"), Promise.reject(T)));
2178
- if (((E = Q == null ? void 0 : Q.data) == null ? void 0 : E.code) === 200) {
2179
- const T = (W = Q == null ? void 0 : Q.data) == null ? void 0 : W.result;
2180
- await Ct(T).catch((M) => (y.setImportLoading(!1), rt.error("删除失败"), Promise.reject(M)));
2181
- }
2182
- }
2183
- await Pe(), y.setImportLoading(!1), rt.success("删除成功");
2184
- };
2185
- Ue(() => $e.value, (n) => {
2186
- (a == null ? void 0 : a.oldSystemKey) === "" && (de.value.targetModel = n, n || he());
2187
- }, { deep: !0, immediate: !0 });
2188
- const je = async () => {
2189
- var g, B, E, W;
2190
- y.setImportLoading(!0);
2191
- const n = await Et({
2192
- key: {
2193
- systemKey: sessionStorage.getItem("systemKey")
2194
- }
2195
- });
2196
- if (((g = n == null ? void 0 : n.data) == null ? void 0 : g.code) === 200) {
2197
- let Q = (W = (E = (B = n == null ? void 0 : n.data) == null ? void 0 : B.result) == null ? void 0 : E.map((T) => {
2198
- var M;
2199
- if (((M = T == null ? void 0 : T.key) == null ? void 0 : M.layer) !== "superAdmin")
2200
- return T == null ? void 0 : T.id;
2201
- })) == null ? void 0 : W.filter((T) => T);
2202
- (Q == null ? void 0 : Q.length) > 0 && await ra({
2203
- ids: Q
2204
- }), y.setRawMenus([]);
2205
- }
2206
- y.setImportLoading(!1);
2207
- };
2208
- return (n, g) => {
2209
- const B = ce("svg-icon"), E = ce("el-button");
2210
- return u(), S("div", Ho, [
2211
- (a == null ? void 0 : a.mode) === "edit" ? (u(), S("div", Oo, [
2212
- r("div", qo, [
2213
- l(Zt)
2214
- ]),
2215
- (u(), S("div", {
2216
- class: "model-show",
2217
- key: z.value
2218
- }, [
2219
- l(zt)
2220
- ])),
2221
- r("div", Xo, [
2222
- l(_t)
2223
- ])
2224
- ])) : H("", !0),
2225
- (a == null ? void 0 : a.mode) === "view" ? (u(), S("div", Zo, [
2226
- (u(), ue(Wo, {
2227
- showButton: a == null ? void 0 : a.showButton,
2228
- platform: s(ne),
2229
- content: K.value,
2230
- onChange: We,
2231
- jsonContents: G.value,
2232
- onContentChange: yt,
2233
- onBuildContent: mt,
2234
- key: z.value,
2235
- onShowChild: ke,
2236
- urdfContent: pt.value
2237
- }, {
2238
- default: m(() => [
2239
- l(Qt, null, {
2240
- dropTitle: m(() => {
2241
- var W;
2242
- return [
2243
- ((W = a == null ? void 0 : a.jsonContents) == null ? void 0 : W.length) === 0 && (a != null && a.showButton) ? (u(), ue(E, {
2244
- key: 0,
2245
- class: "system-default-button"
2246
- }, {
2247
- icon: m(() => [
2248
- l(B, { name: "model" })
2249
- ]),
2250
- default: m(() => [
2251
- g[0] || (g[0] = Je(" 模型 "))
2252
- ]),
2253
- _: 1,
2254
- __: [0]
2255
- })) : H("", !0)
2256
- ];
2257
- }),
2258
- dropMenu: m(() => [
2259
- r("div", zo, [
2260
- l(E, {
2261
- onClick: Bt,
2262
- style: { width: "100%", margin: "0" }
2263
- }, {
2264
- icon: m(() => [
2265
- l(B, { name: "import" })
2266
- ]),
2267
- default: m(() => [
2268
- (u(), S("input", {
2269
- type: "file",
2270
- key: V.value,
2271
- ref_key: "fileInput",
2272
- ref: X,
2273
- accept: ".txt, .inm, .iml, .imd",
2274
- onChange: Te,
2275
- style: { display: "none" },
2276
- multiple: ""
2277
- }, null, 32)),
2278
- g[1] || (g[1] = Je(" 导入模型 "))
2279
- ]),
2280
- _: 1,
2281
- __: [1]
2282
- }),
2283
- l(E, { style: { width: "100%", margin: "0" } }, {
2284
- icon: m(() => [
2285
- l(B, { name: "export" })
2286
- ]),
2287
- default: m(() => [
2288
- g[2] || (g[2] = Je(" 导出模型 "))
2289
- ]),
2290
- _: 1,
2291
- __: [2]
2292
- }),
2293
- l(E, {
2294
- onClick: je,
2295
- style: { width: "100%", margin: "0" }
2296
- }, {
2297
- icon: m(() => [
2298
- l(B, { name: "clear" })
2299
- ]),
2300
- default: m(() => [
2301
- g[3] || (g[3] = Je(" 清空模型 "))
2302
- ]),
2303
- _: 1,
2304
- __: [3]
2305
- })
2306
- ])
2307
- ]),
2308
- _: 1
2309
- })
2310
- ]),
2311
- _: 1
2312
- }, 8, ["showButton", "platform", "content", "jsonContents", "urdfContent"]))
2313
- ])) : H("", !0),
2314
- l(jt, {
2315
- class: "select-model-dialog",
2316
- visible: He.value && (a == null ? void 0 : a.oldSystemKey) === "",
2317
- onBeforeDestroy: et,
2318
- showClose: !1,
2319
- closeOnClickModal: !1,
2320
- closeOnPressEscape: !1,
2321
- modalClass: "select-model-modal",
2322
- alignCenter: !0,
2323
- appendToBody: !1
2324
- }, {
2325
- default: m(() => {
2326
- var W, Q;
2327
- return [
2328
- r("div", _o, [
2329
- r("div", $o, [
2330
- g[4] || (g[4] = r("div", { class: "create-project-title" }, " 新建项目 ", -1)),
2331
- r("div", el, [
2332
- l(ct, {
2333
- emptyColor: !0,
2334
- onClickTrigger: It,
2335
- modelValue: "创建项目",
2336
- buttonType: "primary"
2337
- })
2338
- ])
2339
- ]),
2340
- r("div", tl, [
2341
- g[5] || (g[5] = r("div", { class: "enter-project-title" }, "项目列表", -1)),
2342
- (W = pe.value) != null && W.length ? (u(), S("div", al, [
2343
- (u(!0), S(Ke, null, Le(pe.value, (T) => {
2344
- var M;
2345
- return u(), S("div", {
2346
- class: Pt(["project-item", {
2347
- "project-item-active": (T == null ? void 0 : T.systemKey) == de.value.targetModel
2348
- }]),
2349
- onClick: (Ce) => tt(T == null ? void 0 : T.systemKey)
2350
- }, [
2351
- r("div", ol, re(`${T.name ?? ""}(${T.systemKey})`), 1),
2352
- r("div", ll, [
2353
- ((M = pe.value) == null ? void 0 : M.length) > 1 ? (u(), ue(B, {
2354
- key: 0,
2355
- class: "project-delete",
2356
- name: "shanchu1",
2357
- onClick: (Ce) => fe(T == null ? void 0 : T.systemKey)
2358
- }, null, 8, ["onClick"])) : H("", !0)
2359
- ])
2360
- ], 10, nl);
2361
- }), 256))
2362
- ])) : H("", !0),
2363
- r("div", sl, [
2364
- l(ct, {
2365
- class: Pt({ "enter-button-disable": !((Q = pe.value) != null && Q.length) }),
2366
- emptyColor: !0,
2367
- onClickTrigger: qe,
2368
- modelValue: "进入项目",
2369
- buttonType: "primary"
2370
- }, null, 8, ["class"])
2371
- ])
2372
- ])
2373
- ])
2374
- ];
2375
- }),
2376
- _: 1
2377
- }, 8, ["visible"])
2378
- ]);
2379
- };
2380
- }
2381
- }, Pl = /* @__PURE__ */ nt(il, [["__scopeId", "data-v-bcdf4fb0"]]);
2382
- export {
2383
- Pl as default
2384
- };