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