ss-component-new 1.1.821 → 1.1.822

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 (141) hide show
  1. package/dist/{OrbitControls-D6pgin7s.js → OrbitControls-Cm4Xs_Bq.js} +1 -1
  2. package/dist/{OrbitControls-Ff5ikkUQ.cjs → OrbitControls-D-XDZGf-.cjs} +1 -1
  3. package/dist/{STLLoader-BNh7D2zV.cjs → STLLoader-BxpEhvEg.cjs} +161 -161
  4. package/dist/{STLLoader-LGKv5i3H.js → STLLoader-DofhZbOw.js} +522 -593
  5. package/dist/{array-D1hKYLwI.cjs → array-Bfmx0w6P.cjs} +2 -2
  6. package/dist/{array-C60T9pDZ.js → array-DbAuNWGt.js} +1 -1
  7. package/dist/{iconfont-v9CcCMwF.js → iconfont-DQodgJo8.js} +73 -75
  8. package/dist/iconfont-Di4uXnX1.cjs +1 -0
  9. package/dist/icons/svg/editTable.svg +1 -1
  10. package/dist/icons/svg/export.svg +1 -0
  11. package/dist/icons/svg/model.svg +1 -0
  12. package/dist/icons/svg/three.svg +1 -0
  13. package/dist/index-1i-XlS2m.js +101 -0
  14. package/dist/{index-BdsJiFeW.cjs → index-6jSC3unU.cjs} +1 -1
  15. package/dist/{index-2kzGjuzu.js → index-6zbHinQ6.js} +10 -9
  16. package/dist/index-B-oe2x1V.cjs +109 -0
  17. package/dist/index-B-qent3l.cjs +1 -0
  18. package/dist/{index-CukZ8eDZ.js → index-BBo52W9F.js} +4 -4
  19. package/dist/index-BOev8isw.cjs +21 -0
  20. package/dist/index-BQgnYD51.js +6492 -0
  21. package/dist/{index-owcnOlVq.js → index-BYW-ix_Q.js} +5 -5
  22. package/dist/{index-4_M1SpeV.js → index-Bi1gr72d.js} +14 -14
  23. package/dist/{index-DnVaHi8q.js → index-BmHmnXS9.js} +7 -7
  24. package/dist/index-BoS30LXH.cjs +1 -0
  25. package/dist/index-BuBMi9JA.cjs +1 -0
  26. package/dist/{index-Zi9xLtwj.js → index-BvE05H-i.js} +2 -2
  27. package/dist/index-BwpOMKef.cjs +1 -0
  28. package/dist/index-C18ZPRC7.cjs +1 -0
  29. package/dist/{index-HVJSfh2g.js → index-CJx2DcDb.js} +21 -19
  30. package/dist/{index-B3cUSGXB.js → index-CL59qQ_W.js} +9 -8
  31. package/dist/{index-DDsJpzfR.js → index-CLdN0W98.js} +47 -47
  32. package/dist/index-CPP7L10q.cjs +1 -0
  33. package/dist/index-CSWIBSmo.cjs +1 -0
  34. package/dist/{index-DEobyz7r.js → index-CTgZZ96L.js} +6 -5
  35. package/dist/{index-WXpPDsev.js → index-CZ1ui4mT.js} +1 -1
  36. package/dist/index-CfQvGqaX.cjs +1 -0
  37. package/dist/index-CgJYAzeA.cjs +1 -0
  38. package/dist/index-ChtmIuBu.js +29771 -0
  39. package/dist/index-CjFcaJcL.cjs +1 -0
  40. package/dist/index-CjTmkzBO.js +24 -0
  41. package/dist/{index-Dtw4WkUo.cjs → index-CngO0AUc.cjs} +1 -1
  42. package/dist/index-CqCPdyGu.js +1248 -0
  43. package/dist/index-Cr6pWv0l.cjs +1 -0
  44. package/dist/{index-Cw95lvvp.js → index-D8Msszln.js} +223 -223
  45. package/dist/index-DDvUG6fk.js +22 -0
  46. package/dist/{index-CdMrhxHS.js → index-DMlIMlyC.js} +10 -10
  47. package/dist/{index-3Cdyqd1B.cjs → index-DOBeGYzT.cjs} +1 -1
  48. package/dist/index-DP0k43fj.cjs +1 -0
  49. package/dist/index-DTxccgVM.cjs +1 -0
  50. package/dist/{index-JAJeIBYE.cjs → index-DVAGljX0.cjs} +1 -1
  51. package/dist/{index-B5Vi6RBj.cjs → index-DVCrYVKw.cjs} +1 -1
  52. package/dist/{index-Dxoxm0Cc.js → index-DZWNGFC0.js} +22 -22
  53. package/dist/{index-CY2iphpd.cjs → index-DbniLh9G.cjs} +1 -1
  54. package/dist/index-Dj_ofPeK.cjs +1 -0
  55. package/dist/{index-DtogzZej.js → index-DocnYz5P.js} +1 -1
  56. package/dist/index-DrL7vroa.js +319 -0
  57. package/dist/index-Dt2McMki.js +13668 -0
  58. package/dist/{index-Cphx1eY1.js → index-Gba1Qfcc.js} +7 -8
  59. package/dist/{index-DMb9Vu-7.js → index-IUkCD4R_.js} +1 -1
  60. package/dist/{index-DAyzDsjs.js → index-K6BRW_Bw.js} +1 -1
  61. package/dist/{index-DzM8zZqe.js → index-OH9t-y2p.js} +4 -4
  62. package/dist/index-PNDdZKYG.cjs +1 -0
  63. package/dist/{index-Dn04IPFM.js → index-QETLKFyV.js} +10 -10
  64. package/dist/{index-BWHtpT9o.cjs → index-RgTvyK54.cjs} +1 -1
  65. package/dist/{index-Cuj-fGNO.cjs → index-VAIU8vMN.cjs} +1 -1
  66. package/dist/{index-CF_0RdqV.cjs → index-dukFqRog.cjs} +1 -1
  67. package/dist/{index-C9Boo2Cw.cjs → index-dyoOdMKX.cjs} +1 -1
  68. package/dist/index-f9bwREQl.cjs +1 -0
  69. package/dist/index-rPc9VS0S.cjs +1 -0
  70. package/dist/index-tPamnhR2.js +236 -0
  71. package/dist/{index-H3kf9EQv.js → index-tX2Hs05F.js} +11 -10
  72. package/dist/{index-DEU-pXeW.js → index-uvns6W6E.js} +1838 -1812
  73. package/dist/index-weauvEnW.cjs +4 -0
  74. package/dist/{index-B8xEed7C.cjs → index-wlnPb2aB.cjs} +1 -1
  75. package/dist/{index.vue_vue_type_script_setup_true_lang-iyZtrhDf.js → index.vue_vue_type_script_setup_true_lang-C4G6mB7R.js} +28 -28
  76. package/dist/{index.vue_vue_type_script_setup_true_lang-CaYQQb8M.cjs → index.vue_vue_type_script_setup_true_lang-CWi4UVPF.cjs} +1 -1
  77. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-qefZ9E5G.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CtN9Ij0Y.js} +53 -23
  78. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CTcahF4Z.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-mQIxU0SD.cjs} +90 -90
  79. package/dist/{index.vue_vue_type_style_index_0_scoped_6bfd62db_lang-Cxjh1E1z.js → index.vue_vue_type_style_index_0_scoped_1966237d_lang-D3xcEtDT.js} +6488 -6474
  80. package/dist/{index.vue_vue_type_style_index_0_scoped_6bfd62db_lang-0eNHRdYw.cjs → index.vue_vue_type_style_index_0_scoped_1966237d_lang-DwIFJsxs.cjs} +14 -14
  81. package/dist/{index.vue_vue_type_style_index_0_scoped_86d2b6b8_lang-kymzIBO8.js → index.vue_vue_type_style_index_0_scoped_86d2b6b8_lang-D5CTJUDi.js} +17 -17
  82. package/dist/{index.vue_vue_type_style_index_0_scoped_86d2b6b8_lang-GlR2V0TC.cjs → index.vue_vue_type_style_index_0_scoped_86d2b6b8_lang-VPQBXOPW.cjs} +1 -1
  83. package/dist/index.vue_vue_type_style_index_1_lang-DraQDAAw.cjs +32 -0
  84. package/dist/index.vue_vue_type_style_index_1_lang-hffXwR3x.js +7028 -0
  85. package/dist/isUndefined-4Qg9wncf.js +84 -0
  86. package/dist/isUndefined-BEt4O79g.cjs +1 -0
  87. package/dist/{main-C6I42yaU.js → main-CBCk94h5.js} +30 -29
  88. package/dist/main-DO_PN7jt.cjs +1 -0
  89. package/dist/ss-component.cjs +1 -1
  90. package/dist/ss-component.css +2 -2
  91. package/dist/ss-component.js +11 -11
  92. package/dist/ss-component2.cjs +1 -1
  93. package/dist/ss-component2.js +12 -12
  94. package/dist/threeModel-GKSAzHfe.cjs +1 -0
  95. package/dist/{threeModel-BEt5OVCP.js → threeModel-RJwJMtfW.js} +91 -92
  96. package/dist/{threePreview-BUZRvBRx.js → threePreview-BSqdALPK.js} +3 -3
  97. package/dist/{threePreview-Dyzqu5s7.cjs → threePreview-CKvbwCiX.cjs} +1 -1
  98. package/dist/threeSceneView-BVbVe_Et.js +1277 -0
  99. package/dist/threeSceneView-KvCERteS.cjs +5 -0
  100. package/dist/{threeViewerHost-IhSFkCeD.js → threeViewerHost-AuhfL2Cn.js} +55 -57
  101. package/dist/threeViewerHost-D0pu5wk5.cjs +1 -0
  102. package/package.json +1 -1
  103. package/public/icons/svg/editTable.svg +1 -1
  104. package/public/icons/svg/export.svg +1 -0
  105. package/public/icons/svg/model.svg +1 -0
  106. package/public/icons/svg/three.svg +1 -0
  107. package/dist/animationData-B2T3Oamw.js +0 -108
  108. package/dist/animationData-Db_9HBoM.cjs +0 -1
  109. package/dist/iconfont-CZj6ltAs.cjs +0 -1
  110. package/dist/index-2KKrCkl8.cjs +0 -1
  111. package/dist/index-2OWkrGDh.js +0 -24
  112. package/dist/index-B1iXzkUF.cjs +0 -1
  113. package/dist/index-BBB4VObc.cjs +0 -11
  114. package/dist/index-BIVWMqJQ.cjs +0 -1
  115. package/dist/index-BWpZSzL1.cjs +0 -1
  116. package/dist/index-BllULnvx.cjs +0 -1
  117. package/dist/index-BvO1uTn0.js +0 -21
  118. package/dist/index-C2bI4adc.js +0 -8628
  119. package/dist/index-C9pN8_un.js +0 -548
  120. package/dist/index-CPdKWCSo.cjs +0 -1
  121. package/dist/index-CQfFbeTJ.cjs +0 -1
  122. package/dist/index-CZJOPfp5.js +0 -1152
  123. package/dist/index-Cb0q1Y5b.cjs +0 -1
  124. package/dist/index-Cfomm0G1.cjs +0 -109
  125. package/dist/index-CvvFU_QA.cjs +0 -1
  126. package/dist/index-DYMLmifU.cjs +0 -1
  127. package/dist/index-DfPyuGyq.js +0 -101
  128. package/dist/index-Dm2qfeUm.cjs +0 -1
  129. package/dist/index-DtX1F0sz.cjs +0 -4
  130. package/dist/index-Du3VUDcF.cjs +0 -1
  131. package/dist/index-VWNqRYy9.js +0 -36270
  132. package/dist/index-kmj8K3JX.cjs +0 -1
  133. package/dist/index-ndZw4AQJ.cjs +0 -1
  134. package/dist/index-y5FEcncv.cjs +0 -1
  135. package/dist/index.vue_vue_type_style_index_1_lang-Bmwy3cgo.cjs +0 -42
  136. package/dist/index.vue_vue_type_style_index_1_lang-Rs1M3B8e.js +0 -11984
  137. package/dist/main-2gDZp_zL.cjs +0 -1
  138. package/dist/threeModel-DgOcIXVI.cjs +0 -1
  139. package/dist/threeSceneView-BZx98QgN.js +0 -1450
  140. package/dist/threeSceneView-DSkGJN5d.cjs +0 -5
  141. package/dist/threeViewerHost-T_51aUg5.cjs +0 -1
@@ -1,1152 +0,0 @@
1
- import { resolveComponent as O, createBlock as x, openBlock as w, withCtx as E, createVNode as y, createElementVNode as m, toDisplayString as ee, ref as I, onMounted as at, watch as q, createElementBlock as U, Fragment as Re, renderList as xe, createCommentVNode as j, normalizeStyle as Je, defineComponent as yt, provide as mt, computed as He, resolveDirective as ht, withDirectives as Se, unref as h, createTextVNode as pe, renderSlot as We, vShow as $e, resolveDynamicComponent as pt, normalizeClass as et } from "vue";
2
- import { m as ot, a as nt, b as lt } from "./index-4_M1SpeV.js";
3
- import "./index.vue_vue_type_style_index_0_scoped_86d2b6b8_lang-kymzIBO8.js";
4
- import { _ as Be } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
- import { _ as Bt, e as wt, s as It } from "./index.vue_vue_type_style_index_0_scoped_6bfd62db_lang-Cxjh1E1z.js";
6
- import { a as ke, g as ve, b as st, E as de, c as ft, u as Et } from "./index-C2bI4adc.js";
7
- import { p as se, s as le, b as it, a as Le, u as Ve, c as rt, k as Ue, l as ct, m as ut } from "./index.vue_vue_type_style_index_1_lang-Rs1M3B8e.js";
8
- import { S as ce } from "./index-BHtNKL1L.js";
9
- import { u as At, a as St, s as Qe, o as kt, c as Qt, b as vt, d as Rt, e as Ut, f as bt, h as jt, i as Dt, j as Yt, k as Kt, l as Gt, m as Pt } from "./index-VWNqRYy9.js";
10
- import { a as Ft } from "./array-C60T9pDZ.js";
11
- import "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-qefZ9E5G.js";
12
- import "./STLLoader-LGKv5i3H.js";
13
- import { s as Ne } from "./index-C9pN8_un.js";
14
- import { useRouter as Mt } from "vue-router";
15
- import Nt from "./index-DtogzZej.js";
16
- import Tt from "./threeModel-BEt5OVCP.js";
17
- import { _ as Jt, a as Ce, s as gt } from "./index-DEU-pXeW.js";
18
- import { d as tt, t as Wt } from "./threeViewerHost-IhSFkCeD.js";
19
- import { c as xt, b as Ht } from "./index-CT5lsL4r.js";
20
- import { v as Lt } from "./index-DzM8zZqe.js";
21
- import { f as Vt, a as Ot } from "./animationData-B2T3Oamw.js";
22
- const qt = { class: "menu-title" };
23
- function Xt(D, te, a, R, K, _) {
24
- const A = O("svg-icon"), F = O("ssMenu");
25
- return w(), x(F, {
26
- mode: D.mode,
27
- menuList: D.renderMenuList,
28
- onClickMenu: D.clickMenu,
29
- onOpenMenu: D.openMenu,
30
- onCloseMenu: D.closeMenu
31
- }, {
32
- title: E(({ menu: G }) => [
33
- y(A, {
34
- class: "menu-icon",
35
- name: G.icon ?? "default",
36
- style: { "margin-right": "8px" }
37
- }, null, 8, ["name"]),
38
- m("span", qt, ee(G.title ?? ""), 1)
39
- ]),
40
- _: 1
41
- }, 8, ["mode", "menuList", "onClickMenu", "onOpenMenu", "onCloseMenu"]);
42
- }
43
- const Zt = /* @__PURE__ */ Be(Bt, [["render", Xt], ["__scopeId", "data-v-3f5e9b47"]]), zt = { class: "bread-content" }, _t = ["onClick"], $t = {
44
- key: 0,
45
- class: "split-title"
46
- }, ea = {
47
- __name: "index",
48
- props: {
49
- breadArray: {
50
- type: Array,
51
- default: () => []
52
- }
53
- },
54
- emits: ["click"],
55
- setup(D, { emit: te }) {
56
- const a = D, R = I([]), K = te;
57
- at(() => {
58
- R.value = a == null ? void 0 : a.breadArray;
59
- }), q(
60
- () => a == null ? void 0 : a.breadArray,
61
- () => {
62
- R.value = a == null ? void 0 : a.breadArray;
63
- },
64
- { deep: !0, immediate: !0 }
65
- );
66
- const _ = (A) => {
67
- K("click", A);
68
- };
69
- return (A, F) => (w(), U("div", zt, [
70
- (w(!0), U(Re, null, xe(R.value, (G, M) => {
71
- var f;
72
- return w(), U("div", {
73
- key: M,
74
- class: "bread-item"
75
- }, [
76
- m("div", {
77
- class: "bread-title",
78
- onClick: (ie) => _(G),
79
- style: Je({ opacity: ((f = R.value) == null ? void 0 : f.length) - 1 === M ? "0.7" : "1" })
80
- }, ee(G.value), 13, _t),
81
- M !== R.value.length - 1 && Array.isArray(R.value) ? (w(), U("div", $t, ee("/"))) : j("", !0)
82
- ]);
83
- }), 128))
84
- ]));
85
- }
86
- }, ta = /* @__PURE__ */ Be(ea, [["__scopeId", "data-v-ded7e2bd"]]), Te = [
87
- {
88
- key: "型线生成",
89
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35326658522693/outputResources/sampling_points_20.cpt"
90
- },
91
- {
92
- key: "曲面生成",
93
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35018179530309/outputResources/output.obj"
94
- },
95
- {
96
- key: "叶片生成",
97
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35018289382469/outputResources/output_TwoSections_completed.obj"
98
- },
99
- {
100
- key: "轨迹规划",
101
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35484063607109/outputResources/complete_data.txt"
102
- },
103
- {
104
- key: "加工规划",
105
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35237389477957/outputResources/NC_BC.NC"
106
- },
107
- {
108
- key: "产品检测",
109
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35459977498949/outputResources/source.pcd,http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35459977498949/outputResources/target.pcd"
110
- },
111
- {
112
- key: "参数筛选训练方法",
113
- value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35277984187973/outputResources/fitness_iteration.png"
114
- }
115
- // {
116
- // key: "参数筛选推理",
117
- // value: "http://139.196.154.85:20024/api/algorithmRun/downloadFileByFileName/35277984187973/outputResources/fitness_iteration.png"
118
- // }
119
- ], aa = "data:image/png;base64,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", oa = "data:image/png;base64,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", na = { class: "structure-buttons" }, la = { class: "structure-paths" }, sa = { class: "client-header-user" }, ia = { class: "model-select" }, ra = { class: "model-show" }, ca = { class: "model-fill" }, ua = { class: "client-header-menu" }, Aa = { class: "client-header-user" }, ga = { class: "drop-menu" }, da = { class: "user-base-info" }, Ca = { class: "base-info" }, ya = { class: "group-item" }, ma = { class: "sys-button" }, ha = {
120
- key: 0,
121
- class: "main-back-btn"
122
- }, pa = { class: "main-body" }, Ba = {
123
- key: 0,
124
- class: "item-view-group"
125
- }, wa = { class: "group-name-wrap" }, Ia = {
126
- key: 2,
127
- class: "item-view-child-content"
128
- }, fa = /* @__PURE__ */ yt({
129
- __name: "index",
130
- props: {
131
- windowConfig: {
132
- type: Object,
133
- default: () => {
134
- }
135
- },
136
- showButton: {
137
- type: Boolean,
138
- default: !0
139
- },
140
- platform: {
141
- type: String,
142
- default: "browser"
143
- }
144
- },
145
- emits: ["showChild", "buildContent", "setLoginInfo"],
146
- setup(D, { emit: te }) {
147
- const a = At(se), { selectTitle: R } = le(a), K = I(!1), _ = I(), A = I(null), F = I(), G = I(!1), M = St(se), { blobUrls: f } = le(M), ie = I(!1), b = I(!1), N = I(!1), X = I(!1), Z = I(null), z = I(), $ = I(!1);
148
- mt("contentRef", Z);
149
- const ae = it(), { loginUserInfo: T } = le(ae), Q = Le(se), { isEdit: ue, routeToChildPath: we } = le(Q), ye = te, Ae = Ve(se), {
150
- asideMenuLoading: be,
151
- importLoading: je,
152
- activeAsideMenu: De,
153
- contentLoading: Y,
154
- platName: J,
155
- activeMenuPath: H
156
- } = le(Ae), L = D, re = He(() => De.value.isRouter), Ie = () => {
157
- sessionStorage.clear(), window.location.reload();
158
- }, Ye = () => {
159
- ye("buildContent");
160
- }, Ke = (c) => {
161
- if ((c == null ? void 0 : c.type) === "table") {
162
- let u = c == null ? void 0 : c.row;
163
- const S = c == null ? void 0 : c.rowData;
164
- let k = u;
165
- k && (F.value = {
166
- url: k,
167
- row: c == null ? void 0 : c.row
168
- }, ye("showChild", {
169
- url: k,
170
- row: c == null ? void 0 : c.row,
171
- rowData: S
172
- }));
173
- }
174
- }, fe = async () => {
175
- let c = {};
176
- const u = await Ue("弯管仿真加工分析/仿真动画生成", sessionStorage.getItem("systemKey"), ""), S = await Ue("弯管仿真加工分析/管件解析", sessionStorage.getItem("systemKey"), "");
177
- let k = ["管长", "外径"], B = {};
178
- S == null || S.forEach((i) => {
179
- var e;
180
- (i == null ? void 0 : i.comp) === "Form" && ((e = i == null ? void 0 : i.compData) == null || e.forEach((t) => {
181
- var s;
182
- (t == null ? void 0 : t.key) === "formContent" && ((s = t == null ? void 0 : t.contents) == null || s.forEach((l) => {
183
- k.includes(l == null ? void 0 : l.key) && (B[l.key] = l.value);
184
- }));
185
- }));
186
- }), u == null || u.forEach((i) => {
187
- var e, t, s, l, o, n;
188
- if ((i == null ? void 0 : i.comp) === "Table") {
189
- let g = [], r = (s = (t = (e = i == null ? void 0 : i.compData) == null ? void 0 : e.find((C) => (C == null ? void 0 : C.key) === "header")) == null ? void 0 : t.contents) == null ? void 0 : s.map((C) => C == null ? void 0 : C.label), v = (n = (o = (l = i == null ? void 0 : i.compData) == null ? void 0 : l.find((C) => (C == null ? void 0 : C.key) === "tableContents")) == null ? void 0 : o.contents) == null ? void 0 : n.map((C) => (C = C == null ? void 0 : C.filter((d) => !(d != null && d.id)), C));
190
- v == null || v.forEach((C) => {
191
- g.push(ct(C, r == null ? void 0 : r.filter((d) => d !== "操作")));
192
- }), c[i.name] = g, c[i.name + "Content"] = i;
193
- }
194
- }), c.extra = B, _.value = c;
195
- }, Ee = async () => {
196
- var c, u, S, k;
197
- if ((L == null ? void 0 : L.platform) !== "browser") {
198
- if (K.value = !0, F.value) {
199
- const B = F.value;
200
- let i = [];
201
- typeof (B == null ? void 0 : B.url) == "string" && ((c = B == null ? void 0 : B.url) != null && c.includes(",") ? z.value = (u = B == null ? void 0 : B.url) == null ? void 0 : u.split(",") : z.value = [B == null ? void 0 : B.url]), (S = A.value) == null || S.loadModelByDefaultPath(i);
202
- }
203
- $.value = (k = z.value) == null ? void 0 : k.every((B) => B.toUpperCase().includes(".URDF"));
204
- }
205
- }, Ge = () => {
206
- G.value = !1, A.value = null;
207
- };
208
- q(() => H.value, async (c) => {
209
- c && (b.value = !0), c === "弯管仿真加工分析/仿真动画生成" ? N.value = !0 : N.value = !1, c === "弯管仿真加工分析/程序输出" ? X.value = !0 : X.value = !1, Te != null && Te.find((u) => {
210
- var S;
211
- return (u == null ? void 0 : u.key) === ((S = c == null ? void 0 : c.split("/")) == null ? void 0 : S[(c == null ? void 0 : c.split("/").length) - 1]);
212
- }) ? ie.value = !0 : ie.value = !1;
213
- }, { immediate: !0 }), q(
214
- () => [f == null ? void 0 : f.value],
215
- async () => {
216
- var c, u, S, k, B;
217
- if (f != null && f.value && ((c = f == null ? void 0 : f.value) == null ? void 0 : c.length) > 0 && !ie.value && !((u = Qe.value) != null && u.find((i) => (i == null ? void 0 : i.name) === "输入") && ((S = Qe.value) != null && S.find((i) => (i == null ? void 0 : i.name) === "输出")))) {
218
- G.value = !0;
219
- let i = [];
220
- const e = await ((k = rt(f == null ? void 0 : f.value)) == null ? void 0 : k.map(async (t) => {
221
- var g, r, v, C, d, P, oe, me, he, ge;
222
- let s, l, o;
223
- t != null && t.blob.includes("undefined") ? o = (r = (g = t == null ? void 0 : t.blob) == null ? void 0 : g.split("undefined,")) == null ? void 0 : r[1] : o = t == null ? void 0 : t.blob;
224
- let n = o == null ? void 0 : o.split(",");
225
- if ((n == null ? void 0 : n.length) > 1) {
226
- let V = await (n == null ? void 0 : n.map(async (p) => {
227
- var ne, Oe, qe, Xe, Ze, ze;
228
- s = await ke.get(p, {
229
- responseType: "blob",
230
- headers: {
231
- "Content-Type": "application/json"
232
- }
233
- });
234
- let W = [];
235
- if (((ne = t == null ? void 0 : t.mtlBlobs) == null ? void 0 : ne.length) > 0) {
236
- let dt = await ((Oe = t == null ? void 0 : t.mtlBlobs) == null ? void 0 : Oe.map(async (Ct) => {
237
- let _e = await ke.get(Ct, {
238
- responseType: "blob",
239
- headers: {
240
- "Content-Type": "application/json"
241
- }
242
- });
243
- return W.push(new Blob([_e.data], {
244
- type: "application/octet-stream;charset=UTF-8"
245
- })), _e;
246
- }));
247
- await Promise.all(dt);
248
- }
249
- return ((Xe = p == null ? void 0 : p.split(".")) == null ? void 0 : Xe[((qe = p == null ? void 0 : p.split(".")) == null ? void 0 : qe.length) - 1]) !== "undefined" && i.push({
250
- suffix: "." + ((ze = p == null ? void 0 : p.split(".")) == null ? void 0 : ze[((Ze = p == null ? void 0 : p.split(".")) == null ? void 0 : Ze.length) - 1]),
251
- blob: new Blob([s.data], {
252
- type: "application/octet-stream;charset=UTF-8"
253
- }),
254
- mtlBlobs: W
255
- }), s;
256
- }));
257
- await Promise.all(V);
258
- } else if (!(o != null && o.includes("https://")) && !(o != null && o.includes("http://"))) {
259
- s = await tt({
260
- url: o
261
- });
262
- let V = [];
263
- if (((v = t == null ? void 0 : t.mtlBlobs) == null ? void 0 : v.length) > 0) {
264
- let p = await ((C = t == null ? void 0 : t.mtlBlobs) == null ? void 0 : C.map(async (W) => {
265
- let ne = await tt({
266
- url: W
267
- });
268
- return V.push(new Blob([ne.data], {
269
- type: "application/octet-stream;charset=UTF-8"
270
- })), ne;
271
- }));
272
- await Promise.all(p);
273
- }
274
- l = {
275
- suffix: "." + ((P = o == null ? void 0 : o.split(".")) == null ? void 0 : P[((d = o == null ? void 0 : o.split(".")) == null ? void 0 : d.length) - 1]),
276
- blob: new Blob([s.data], {
277
- type: "application/octet-stream;charset=UTF-8"
278
- }),
279
- mtlBlobs: V
280
- };
281
- } else {
282
- s = await ke.get(o, {
283
- responseType: "blob",
284
- headers: {
285
- "Content-Type": "application/json"
286
- }
287
- });
288
- let V = [];
289
- if (((oe = t == null ? void 0 : t.mtlBlobs) == null ? void 0 : oe.length) > 0) {
290
- let p = await ((me = t == null ? void 0 : t.mtlBlobs) == null ? void 0 : me.map(async (W) => {
291
- let ne = await ke.get(W, {
292
- responseType: "blob",
293
- headers: {
294
- "Content-Type": "application/json"
295
- }
296
- });
297
- return V.push(new Blob([ne.data], {
298
- type: "application/octet-stream;charset=UTF-8"
299
- })), ne;
300
- }));
301
- await Promise.all(p);
302
- }
303
- l = {
304
- suffix: t != null && t.suffix ? t == null ? void 0 : t.suffix : "." + ((ge = o == null ? void 0 : o.split(".")) == null ? void 0 : ge[((he = o == null ? void 0 : o.split(".")) == null ? void 0 : he.length) - 1]),
305
- blob: new Blob([s.data], {
306
- type: "application/octet-stream;charset=UTF-8"
307
- }),
308
- mtlBlobs: V
309
- };
310
- }
311
- l && i.push(l);
312
- }));
313
- await Promise.all(e), (i == null ? void 0 : i.length) !== 0 && ((B = A.value) == null || B.loadModelByDefaultPath(i));
314
- }
315
- },
316
- { immediate: !0, deep: !0 }
317
- );
318
- const Pe = async () => {
319
- var u, S, k, B;
320
- Ae.setImportLoading(!0);
321
- const c = await ve({
322
- key: {
323
- systemKey: sessionStorage.getItem("systemKey")
324
- }
325
- });
326
- if (((u = c == null ? void 0 : c.data) == null ? void 0 : u.code) === 200) {
327
- let i = (B = (k = (S = c == null ? void 0 : c.data) == null ? void 0 : S.result) == null ? void 0 : k.map((e) => {
328
- var t;
329
- if (((t = e == null ? void 0 : e.key) == null ? void 0 : t.layer) !== "superAdmin")
330
- return e == null ? void 0 : e.id;
331
- })) == null ? void 0 : B.filter((e) => e);
332
- (i == null ? void 0 : i.length) > 0 && await st({
333
- ids: i
334
- }), Ae.setRawMenus([]);
335
- }
336
- Ae.setImportLoading(!1);
337
- }, Fe = async () => {
338
- await Pt();
339
- };
340
- at(() => {
341
- ye("setLoginInfo", T.value);
342
- });
343
- const Me = () => {
344
- var S, k;
345
- if (we.value === "" || ((k = H.value) == null ? void 0 : k[((S = H.value) == null ? void 0 : S.length) - 1]) === "/") return !1;
346
- const c = sessionStorage.getItem("authority"), u = JSON.parse(c || "");
347
- if (Array.isArray(u)) {
348
- const B = Array.isArray(u) && (u == null ? void 0 : u.filter((e) => e == null ? void 0 : e.includes(we.value))), i = B == null ? void 0 : B.map((e) => {
349
- var t;
350
- return ((t = e == null ? void 0 : e.split("/")) == null ? void 0 : t.pop()) || "";
351
- });
352
- return !!(i != null && i.includes("新增") || i != null && i.includes("新建"));
353
- } else return typeof u == "string" && (u == null ? void 0 : u.toUpperCase()) === "SUPERADMIN";
354
- };
355
- return (c, u) => {
356
- const S = O("el-dialog"), k = O("el-button"), B = O("el-header"), i = O("el-container"), e = O("el-aside"), t = O("router-view"), s = O("el-main"), l = ht("loading");
357
- return w(), U(Re, null, [
358
- y(S, {
359
- modelValue: K.value,
360
- "onUpdate:modelValue": u[0] || (u[0] = (o) => K.value = o),
361
- style: { height: "700px", width: "1800px" }
362
- }, {
363
- default: E(() => [
364
- y(Wt, {
365
- "file-urls": z.value,
366
- isThreeScene: $.value,
367
- onGetAnimationData: fe
368
- }, null, 8, ["file-urls", "isThreeScene"])
369
- ]),
370
- _: 1
371
- }, 8, ["modelValue"]),
372
- Se(y(i, { class: "client-container" }, {
373
- default: E(() => [
374
- y(B, { class: "client-structure-header" }, {
375
- default: E(() => [
376
- m("div", na, [
377
- y(k, {
378
- id: "transparentBgButton",
379
- onClick: h(kt)
380
- }, {
381
- default: E(() => u[3] || (u[3] = [
382
- pe(" 返回页面 ")
383
- ])),
384
- _: 1,
385
- __: [3]
386
- }, 8, ["onClick"]),
387
- y(k, {
388
- id: "transparentBgButton",
389
- onClick: u[1] || (u[1] = (o) => {
390
- var n, g;
391
- return h(Qt)((g = (n = h(R)) == null ? void 0 : n.map((r) => r.value)) == null ? void 0 : g.join("/"));
392
- })
393
- }, {
394
- icon: E(() => [
395
- y(ce, { name: "Store" })
396
- ]),
397
- default: E(() => [
398
- u[4] || (u[4] = pe(" 保存页面 "))
399
- ]),
400
- _: 1,
401
- __: [4]
402
- })
403
- ]),
404
- m("div", la, [
405
- y(ta, {
406
- breadArray: h(R),
407
- onClick: h(vt)
408
- }, null, 8, ["breadArray", "onClick"])
409
- ]),
410
- m("div", sa, [
411
- We(c.$slots, "default", {}, void 0, !0),
412
- y(Ne, {
413
- size: 35,
414
- disabled: !0,
415
- userInfo: h(T)
416
- }, null, 8, ["userInfo"])
417
- ])
418
- ]),
419
- _: 3
420
- }),
421
- h(ue) === "edit" ? (w(), x(i, {
422
- key: 0,
423
- class: "model-operate",
424
- style: { "margin-top": "10px", height: "0px" }
425
- }, {
426
- default: E(() => [
427
- m("div", ia, [
428
- y(ot)
429
- ]),
430
- m("div", ra, [
431
- y(nt)
432
- ]),
433
- m("div", ca, [
434
- y(lt)
435
- ])
436
- ]),
437
- _: 1
438
- })) : j("", !0)
439
- ]),
440
- _: 3
441
- }, 512), [
442
- [$e, h(ue) === "edit"]
443
- ]),
444
- Se((w(), x(i, {
445
- class: "client-container",
446
- "element-loading-text": "正在加载页面数据..."
447
- }, {
448
- default: E(() => [
449
- y(B, { class: "client-header" }, {
450
- default: E(() => [
451
- m("div", {
452
- class: "client-header-logo",
453
- onClick: Ee
454
- }, ee(h(J) === "" ? "ISIP" : h(J)), 1),
455
- m("div", ua, [
456
- y(Zt, { mode: "horizontal" })
457
- ]),
458
- m("div", Aa, [
459
- L != null && L.showButton ? (w(), x(k, {
460
- key: 0,
461
- class: "system-default-button",
462
- onClick: Ye
463
- }, {
464
- icon: E(() => [
465
- y(ce, { name: "App" })
466
- ]),
467
- default: E(() => [
468
- u[5] || (u[5] = pe(" 生成APP "))
469
- ]),
470
- _: 1,
471
- __: [5]
472
- })) : j("", !0),
473
- L != null && L.showButton && h(ue) === "view" ? (w(), x(k, {
474
- key: 1,
475
- class: "system-default-button",
476
- onClick: h(Rt)
477
- }, {
478
- icon: E(() => [
479
- y(ce, { name: "write" })
480
- ]),
481
- default: E(() => [
482
- u[6] || (u[6] = pe(" 修改布局 "))
483
- ]),
484
- _: 1,
485
- __: [6]
486
- }, 8, ["onClick"])) : j("", !0),
487
- We(c.$slots, "default", {}, void 0, !0),
488
- y(Jt, null, {
489
- dropTitle: E(() => [
490
- y(Ne, {
491
- size: 35,
492
- disabled: !0,
493
- userInfo: h(T)
494
- }, null, 8, ["userInfo"])
495
- ]),
496
- dropMenu: E(() => {
497
- var o, n, g, r, v, C;
498
- return [
499
- m("div", ga, [
500
- m("div", da, [
501
- y(Ne, {
502
- size: 35,
503
- disabled: !0,
504
- userInfo: h(T)
505
- }, null, 8, ["userInfo"]),
506
- m("div", Ca, [
507
- m("div", null, [
508
- m("span", null, ee(((o = h(T)) == null ? void 0 : o.account) || ((n = h(T)) == null ? void 0 : n.账号) || "未知"), 1),
509
- m("span", null, ee(((r = (g = h(T)) == null ? void 0 : g.layer) == null ? void 0 : r.toUpperCase()) === "SUPERADMIN" ? "超级管理员" : ((v = h(T)) == null ? void 0 : v.角色名称) ?? "未知"), 1)
510
- ]),
511
- m("div", null, ee(((C = h(T)) == null ? void 0 : C.工号) || "未知"), 1)
512
- ])
513
- ]),
514
- m("div", ya, [
515
- m("div", null, [
516
- y(ce, {
517
- name: "personal",
518
- style: { width: "15px", height: "15px" }
519
- }),
520
- u[7] || (u[7] = m("span", null, "个人主页", -1))
521
- ]),
522
- m("div", null, [
523
- y(ce, {
524
- name: "message",
525
- style: { width: "15px", height: "15px" }
526
- }),
527
- u[8] || (u[8] = m("span", null, "消息中心", -1))
528
- ])
529
- ]),
530
- m("div", ma, [
531
- m("div", null, [
532
- y(ce, {
533
- name: "clear",
534
- style: { width: "15px", height: "15px" }
535
- }),
536
- y(Ce, {
537
- emptyColor: !0,
538
- class: "menu-button",
539
- onClickTrigger: Pe,
540
- modelValue: "清空数据",
541
- buttonType: ""
542
- })
543
- ]),
544
- m("div", null, [
545
- y(ce, {
546
- name: "exit",
547
- style: { width: "15px", height: "15px", color: "#EB503D" }
548
- }),
549
- y(Ce, {
550
- emptyColor: !0,
551
- class: "menu-button",
552
- onClickTrigger: Ie,
553
- modelValue: "退出登录",
554
- buttonType: "",
555
- style: { color: "#EB503D" }
556
- })
557
- ])
558
- ])
559
- ])
560
- ];
561
- }),
562
- _: 1
563
- })
564
- ])
565
- ]),
566
- _: 3
567
- }),
568
- y(i, { class: "client-body" }, {
569
- default: E(() => [
570
- y(s, { class: "client-main" }, {
571
- default: E(() => {
572
- var o, n, g, r, v, C;
573
- return [
574
- Se((w(), x(e, {
575
- class: "client-aside",
576
- style: Je({ backgroundImage: D.platform === "client" ? `url(${h(aa)})` : `url(${h(oa)})` }),
577
- "element-loading-text": "正在加载数据..."
578
- }, {
579
- default: E(() => [
580
- y(Nt, { mode: "vertical" })
581
- ]),
582
- _: 1
583
- }, 8, ["style"])), [
584
- [l, h(be)]
585
- ]),
586
- Se((w(), U("div", {
587
- class: "client-main-operate",
588
- ref_key: "contentRef",
589
- ref: Z,
590
- "element-loading-text": "正在加载页面数据..."
591
- }, [
592
- ((n = h(H)) == null ? void 0 : n[((o = h(H)) == null ? void 0 : o.length) - 1]) === "/" || (g = h(H)) != null && g.includes("updateLoading") || (r = h(H)) != null && r.includes("loading") ? (w(), U("div", ha, [
593
- y(Ce, {
594
- class: "calculator-content back-content",
595
- onClickTrigger: u[2] || (u[2] = (d) => h(Ut)()),
596
- modelValue: "返回"
597
- })
598
- ])) : j("", !0),
599
- m("div", pa, [
600
- re.value ? (w(), x(t, { key: 0 })) : j("", !0),
601
- re.value ? j("", !0) : (w(!0), U(Re, { key: 1 }, xe((v = h(Qe)) == null ? void 0 : v.filter((d) => d.comp !== "FormTop"), (d, P) => {
602
- var oe;
603
- return w(), U("div", {
604
- class: "item-view-content",
605
- key: P,
606
- style: Je({ display: (d == null ? void 0 : d.isShow) === !1 ? "none" : "flex" })
607
- }, [
608
- ((oe = d == null ? void 0 : d.comp) == null ? void 0 : oe.toUpperCase()) !== "TABLE" && d.name ? (w(), U("div", Ba, [
609
- m("div", wa, ee(d.name), 1)
610
- ])) : j("", !0),
611
- h(bt) ? (w(), x(pt(h(jt)(d.comp)), {
612
- compName: d.name,
613
- itemData: d == null ? void 0 : d.compData,
614
- childItemData: d == null ? void 0 : d.itemChildData,
615
- key: h(Gt),
616
- onChange: h(Kt),
617
- index: (d == null ? void 0 : d.id) ?? P,
618
- onContentChange: h(Yt),
619
- onPageChange: h(Dt),
620
- onRowClick: Ke
621
- }, null, 40, ["compName", "itemData", "childItemData", "onChange", "index", "onContentChange", "onPageChange"])) : j("", !0)
622
- ], 4);
623
- }), 128)),
624
- !re.value && !((C = h(Qe)) != null && C.find((d) => d.comp === "methodButton")) ? (w(), U("div", Ia, [
625
- Me() ? (w(), x(Ce, {
626
- key: 0,
627
- class: "calculator-content",
628
- onClickTrigger: Fe,
629
- modelValue: "保存"
630
- })) : j("", !0)
631
- ])) : j("", !0)
632
- ])
633
- ])), [
634
- [l, h(Y)]
635
- ])
636
- ];
637
- }),
638
- _: 1
639
- })
640
- ]),
641
- _: 1
642
- }),
643
- m("div", null, [
644
- y(gt, {
645
- visible: G.value,
646
- onBeforeDestroy: Ge,
647
- style: { height: "700px", width: "1000px" }
648
- }, {
649
- default: E(() => [
650
- y(Tt, {
651
- ref_key: "threeModelRef",
652
- ref: A
653
- }, null, 512)
654
- ]),
655
- _: 1
656
- }, 8, ["visible"])
657
- ])
658
- ]),
659
- _: 3
660
- })), [
661
- [$e, h(ue) === "view"],
662
- [l, h(je)]
663
- ])
664
- ], 64);
665
- };
666
- }
667
- }), Ea = /* @__PURE__ */ Be(fa, [["__scopeId", "data-v-d41bc5fc"]]), Sa = { class: "system-wrap" }, ka = {
668
- __name: "index",
669
- props: {
670
- windowConfig: {
671
- type: Object,
672
- default: () => {
673
- }
674
- },
675
- platform: {
676
- type: String,
677
- default: "browser"
678
- },
679
- showButton: {
680
- type: Boolean,
681
- default: !0
682
- },
683
- content: String,
684
- jsonContents: Array
685
- },
686
- emits: ["buildContent", "showChild"],
687
- setup(D, { emit: te }) {
688
- const a = Le(se), R = At(se), K = Ve();
689
- I(!1);
690
- const _ = I(!0), A = D, F = te, G = (b) => {
691
- F("showChild", b);
692
- }, M = He(() => {
693
- switch (A == null ? void 0 : A.platform) {
694
- case "browser":
695
- return Ht;
696
- case "client":
697
- return xt;
698
- }
699
- }), f = (b) => {
700
- const N = document.documentElement;
701
- b == null || b.forEach((X) => {
702
- N.style.setProperty(X.name, X.value);
703
- });
704
- };
705
- q(() => A.platform, (b, N) => {
706
- b && f(M.value);
707
- }, { immediate: !0 });
708
- const ie = () => {
709
- F("buildContent");
710
- };
711
- return q(
712
- () => [A == null ? void 0 : A.content, A == null ? void 0 : A.jsonContents],
713
- async () => {
714
- var X, Z, z, $;
715
- if (((X = A == null ? void 0 : A.jsonContents) == null ? void 0 : X.length) > 0) {
716
- a.setOriginalData(A == null ? void 0 : A.jsonContents);
717
- return;
718
- }
719
- if (!(A != null && A.content) || ((Z = A == null ? void 0 : A.content) == null ? void 0 : Z.length) === 0) return;
720
- _.value = !0, K.setImportLoading(!0);
721
- let b = [], N = [];
722
- R.setSelectTitle([]), R.setSelectIndex(""), R.setSelectMenu(""), ($ = (z = A == null ? void 0 : A.content) == null ? void 0 : z.filter((ae) => ae !== "")) == null || $.forEach((ae) => {
723
- N.push(wt(ae));
724
- }), b = N == null ? void 0 : N[0], await It(b), await ut(), a.setOriginalData(b), K.setImportLoading(!1);
725
- },
726
- { deep: !0, immediate: !0 }
727
- ), (b, N) => (w(), U("div", Sa, [
728
- y(Ea, {
729
- windowConfig: D.windowConfig,
730
- showButton: A == null ? void 0 : A.showButton,
731
- onBuildContent: ie,
732
- onShowChild: G,
733
- platform: A == null ? void 0 : A.platform
734
- }, {
735
- default: E(() => [
736
- We(b.$slots, "default", {}, void 0, !0)
737
- ]),
738
- _: 3
739
- }, 8, ["windowConfig", "showButton", "platform"])
740
- ]));
741
- }
742
- }, Qa = /* @__PURE__ */ Be(ka, [["__scopeId", "data-v-adeee6ec"]]), va = { class: "add-model-content" }, Ra = {
743
- key: 0,
744
- class: "model-operate"
745
- }, Ua = { class: "model-select" }, ba = { class: "model-fill" }, ja = {
746
- key: 1,
747
- class: "model-view"
748
- }, Da = { class: "select-model-wrapper" }, Ya = { class: "create-project" }, Ka = { class: "create-project-button" }, Ga = { class: "enter-project" }, Pa = {
749
- key: 0,
750
- class: "enter-project-list"
751
- }, Fa = ["onClick"], Ma = { class: "project-title" }, Na = { class: "project-operate" }, Ta = { class: "enter-project-button" }, Ja = {
752
- __name: "index",
753
- props: {
754
- mode: {
755
- type: String,
756
- default: "view"
757
- },
758
- content: {
759
- type: String,
760
- default: ""
761
- },
762
- jsonContents: {
763
- type: Array,
764
- default: () => []
765
- },
766
- showButton: {
767
- type: Boolean,
768
- default: !0
769
- },
770
- pathContent: {
771
- type: String,
772
- default: ""
773
- },
774
- pageKey: {
775
- type: String,
776
- default: ""
777
- },
778
- oldSystemKey: {
779
- type: String,
780
- default: ""
781
- }
782
- },
783
- emits: ["change", "contentChange", "buildContent", "openThreeBuild", "threeData"],
784
- setup(D, { emit: te }) {
785
- const a = D, R = te;
786
- Mt();
787
- const K = I([]), _ = I(0), A = I([]), F = I([]), G = I(0), M = Le(se), f = Ve(se), { itemData: ie, originalData: b } = le(M), { activeMenuPath: N, platform: X } = le(f), Z = I(null), z = I(0), $ = I([]);
788
- I("");
789
- const ae = I(0), T = it(), { loginUserInfo: Q, systemKey: ue } = le(T), we = () => {
790
- R("buildContent");
791
- };
792
- q(
793
- () => a == null ? void 0 : a.pageKey,
794
- async () => {
795
- let e = {};
796
- if ((a == null ? void 0 : a.pageKey) !== "") {
797
- const t = await Ue(a == null ? void 0 : a.pageKey, sessionStorage.getItem("systemKey"), ""), s = await Ue("弯管仿真加工分析/管件解析", sessionStorage.getItem("systemKey"), "");
798
- let l = ["管长", "外径"], o = {};
799
- s == null || s.forEach((r) => {
800
- var v;
801
- (r == null ? void 0 : r.comp) === "Form" && ((v = r == null ? void 0 : r.compData) == null || v.forEach((C) => {
802
- var d;
803
- (C == null ? void 0 : C.key) === "formContent" && ((d = C == null ? void 0 : C.contents) == null || d.forEach((P) => {
804
- l.includes(P == null ? void 0 : P.key) && (o[P.key] = P.value);
805
- }));
806
- }));
807
- }), t == null || t.forEach((r) => {
808
- var v, C, d, P, oe, me;
809
- if ((r == null ? void 0 : r.comp) === "Table") {
810
- let he = [], ge = (d = (C = (v = r == null ? void 0 : r.compData) == null ? void 0 : v.find((p) => (p == null ? void 0 : p.key) === "header")) == null ? void 0 : C.contents) == null ? void 0 : d.map((p) => p == null ? void 0 : p.label), V = (me = (oe = (P = r == null ? void 0 : r.compData) == null ? void 0 : P.find((p) => (p == null ? void 0 : p.key) === "tableContents")) == null ? void 0 : oe.contents) == null ? void 0 : me.map((p) => (p = p == null ? void 0 : p.filter((W) => !(W != null && W.id)), p));
811
- V == null || V.forEach((p) => {
812
- he.push(ct(p, ge == null ? void 0 : ge.filter((W) => W !== "操作")));
813
- }), e[r.name] = he, e[r.name + "Content"] = r;
814
- }
815
- }), e.extra = o;
816
- const n = await Vt(), g = await Ot();
817
- e.singleRobotData = n, e.doubleRobotData = g, R("threeData", e);
818
- }
819
- },
820
- { deep: !0, immediate: !0 }
821
- );
822
- const ye = (e) => {
823
- R("openThreeBuild", e);
824
- };
825
- q(
826
- () => a == null ? void 0 : a.pathContent,
827
- () => {
828
- (a == null ? void 0 : a.pathContent) !== "" && M.setSystemPath(a == null ? void 0 : a.pathContent);
829
- },
830
- {
831
- deep: !0,
832
- immediate: !0
833
- }
834
- );
835
- const Ae = (e) => {
836
- R("contentChange", e);
837
- }, be = (e) => {
838
- var s;
839
- const t = (s = rt(e == null ? void 0 : e.wholeValue)) == null ? void 0 : s.map((l) => {
840
- var o;
841
- return (l == null ? void 0 : l.comp) === "Form" && (l.compData = (o = l.compData) == null ? void 0 : o.map((n) => ((n == null ? void 0 : n.key) === "formContent" && (n.contents = Ft(n == null ? void 0 : n.contents)), n))), l;
842
- });
843
- R("change", {
844
- originalContents: b.value,
845
- currentContents: e == null ? void 0 : e.wholeValue,
846
- editContent: e == null ? void 0 : e.editValue,
847
- arrayToContents: t
848
- });
849
- };
850
- q(
851
- () => A.value,
852
- () => {
853
- ae.value === A.value.length && A.value.length !== 0 && (K.value = A.value);
854
- },
855
- { deep: !0, immediate: !0 }
856
- );
857
- const je = () => {
858
- Z.value !== null && Z.value.click();
859
- }, De = async (e) => {
860
- f.setActiveMenuPath(""), f.setActiveTopMenuPath(""), f.setAsideMenus([]);
861
- const t = e.target.files;
862
- if (!t) return;
863
- new FileReader(), K.value = [], A.value = [], ae.value = t.length;
864
- const s = Array.from(t).map(async (l) => await new Promise((o) => {
865
- const n = new FileReader();
866
- n.onload = (g) => {
867
- try {
868
- A.value.push(g.target.result), z.value++;
869
- } catch (r) {
870
- console.error("解析失败:", r);
871
- return;
872
- }
873
- }, n.onerror = () => o(`读取 ${l.name} 失败`), n.readAsText(l), e.target.value = "", Z.value = null, _.value++;
874
- }));
875
- await Promise.all(s);
876
- };
877
- q(
878
- () => [a == null ? void 0 : a.content, a == null ? void 0 : a.jsonContents],
879
- async () => {
880
- await ut(), K.value = a.content, F.value = a == null ? void 0 : a.jsonContents;
881
- },
882
- { deep: !0, immediate: !0 }
883
- ), q(
884
- () => z.value,
885
- () => {
886
- var e;
887
- ((e = $.value) == null ? void 0 : e.length) !== 0 && (M.setOriginalData($.value), M.setItemData($.value));
888
- },
889
- { deep: !0, immediate: !0 }
890
- ), I(""), I("");
891
- const Y = I({
892
- targetModel: "",
893
- modelName: ""
894
- }), J = I([]), H = I(!1), L = He(() => {
895
- const e = (J == null ? void 0 : J.value) || [];
896
- if (!e.length)
897
- return !1;
898
- const t = e == null ? void 0 : e[0], s = t == null ? void 0 : t.name;
899
- return !(e.length === 1 && !s);
900
- }), re = () => {
901
- H.value = !1;
902
- }, Ie = async () => {
903
- var o, n, g;
904
- const e = (o = Q == null ? void 0 : Q.value) == null ? void 0 : o.account, t = (n = Q == null ? void 0 : Q.value) == null ? void 0 : n.password;
905
- if (!e)
906
- return;
907
- const s = await ve({
908
- valueLikes: {
909
- "tableData.account": e,
910
- "tableData.password": t
911
- }
912
- });
913
- let l = ((g = s == null ? void 0 : s.data) == null ? void 0 : g.result) || [];
914
- return l = l == null ? void 0 : l.filter((r) => {
915
- var C, d;
916
- return ((d = (C = r == null ? void 0 : r.value) == null ? void 0 : C.tableData) == null ? void 0 : d.account) === e;
917
- }), l;
918
- }, Ye = async () => {
919
- const e = await Ie(), t = e == null ? void 0 : e.map((s) => s == null ? void 0 : s.key);
920
- J.value = t;
921
- }, Ke = () => {
922
- if (!Y.value.targetModel) {
923
- const t = J.value, s = t == null ? void 0 : t[0], l = s == null ? void 0 : s.systemKey;
924
- Y.value.targetModel = l;
925
- }
926
- }, fe = async () => {
927
- var t;
928
- (t = Q == null ? void 0 : Q.value) != null && t.account && (H.value = !0, await Ye(), Ke());
929
- }, Ee = (e) => {
930
- sessionStorage.setItem("systemKey", e), T.setSystemKey(e), Lt();
931
- }, Ge = (e) => {
932
- Y.value.targetModel = e;
933
- }, Pe = async () => {
934
- var e;
935
- if (L.value) {
936
- if (!((e = Y == null ? void 0 : Y.value) != null && e.targetModel)) {
937
- de.warning("请先选择模型");
938
- return;
939
- }
940
- re(), Ee(Y.value.targetModel);
941
- }
942
- }, Fe = async () => {
943
- var t, s, l;
944
- (t = Q == null ? void 0 : Q.value) == null || t.account, (s = Q == null ? void 0 : Q.value) == null || s.password;
945
- const e = await ve({
946
- key: {
947
- pageKey: "/user"
948
- }
949
- });
950
- return (l = e == null ? void 0 : e.data) == null ? void 0 : l.result;
951
- }, Me = async () => {
952
- const e = await Fe();
953
- return e == null ? void 0 : e.reduce((s, l) => {
954
- var g;
955
- const o = ((g = l == null ? void 0 : l.key) == null ? void 0 : g.systemKey) || -1, n = Number(o);
956
- return Math.max(n, s);
957
- }, 0);
958
- }, c = async () => {
959
- const e = await u();
960
- Ee(e), re();
961
- }, u = async () => {
962
- var n, g, r;
963
- const e = await Me();
964
- if (!e)
965
- return;
966
- const t = e + 1, s = t.toString(), l = (n = Q == null ? void 0 : Q.value) == null ? void 0 : n.account, o = (g = Q == null ? void 0 : Q.value) == null ? void 0 : g.password;
967
- return (r = Y == null ? void 0 : Y.value) == null || r.modelName, await ft({
968
- key: {
969
- pageKey: "/user",
970
- systemKey: s,
971
- layer: "superAdmin"
972
- },
973
- value: {
974
- tableData: {
975
- account: l,
976
- password: o
977
- }
978
- }
979
- }), t;
980
- }, S = async (e) => {
981
- if (!e)
982
- return;
983
- const t = (e == null ? void 0 : e.key) || {}, s = {
984
- id: e == null ? void 0 : e.id,
985
- key: {
986
- ...t,
987
- name: ""
988
- }
989
- };
990
- await Et(s);
991
- }, k = async (e) => {
992
- var s;
993
- const t = (s = e == null ? void 0 : e.map((l) => l == null ? void 0 : l.id)) == null ? void 0 : s.filter((l) => l);
994
- (t == null ? void 0 : t.length) > 0 && await st({
995
- ids: t
996
- });
997
- }, B = async () => {
998
- Y.value.targetModel = "", await fe();
999
- }, i = async (e) => {
1000
- var l, o;
1001
- f.setImportLoading(!0);
1002
- const t = await Ie().catch((n) => (f.setImportLoading(!1), de.error("删除失败"), Promise.reject(n))), s = t == null ? void 0 : t.find((n) => {
1003
- var r;
1004
- const g = (r = n == null ? void 0 : n.key) == null ? void 0 : r.systemKey;
1005
- return e === g;
1006
- });
1007
- if (s && (t == null ? void 0 : t.length) === 1 && await S(s).catch((n) => (f.setImportLoading(!1), de.error("删除失败"), Promise.reject(n))), s && (t == null ? void 0 : t.length) > 1) {
1008
- const n = await ve({
1009
- key: {
1010
- systemKey: e
1011
- }
1012
- }).catch((g) => (f.setImportLoading(!1), de.error("删除失败"), Promise.reject(g)));
1013
- if (((l = n == null ? void 0 : n.data) == null ? void 0 : l.code) === 200) {
1014
- const g = (o = n == null ? void 0 : n.data) == null ? void 0 : o.result;
1015
- await k(g).catch((r) => (f.setImportLoading(!1), de.error("删除失败"), Promise.reject(r)));
1016
- }
1017
- }
1018
- await B(), f.setImportLoading(!1), de.success("删除成功");
1019
- };
1020
- return q(() => ue.value, (e) => {
1021
- (a == null ? void 0 : a.oldSystemKey) === "" && (Y.value.targetModel = e, e || fe());
1022
- }, { deep: !0, immediate: !0 }), (e, t) => {
1023
- const s = O("svg-icon"), l = O("el-button");
1024
- return w(), U("div", va, [
1025
- (a == null ? void 0 : a.mode) === "edit" ? (w(), U("div", Ra, [
1026
- m("div", Ua, [
1027
- y(ot)
1028
- ]),
1029
- (w(), U("div", {
1030
- class: "model-show",
1031
- key: G.value
1032
- }, [
1033
- y(nt)
1034
- ])),
1035
- m("div", ba, [
1036
- y(lt)
1037
- ])
1038
- ])) : j("", !0),
1039
- (a == null ? void 0 : a.mode) === "view" ? (w(), U("div", ja, [
1040
- (w(), x(Qa, {
1041
- showButton: a == null ? void 0 : a.showButton,
1042
- platform: h(X),
1043
- content: K.value,
1044
- onChange: be,
1045
- jsonContents: F.value,
1046
- onContentChange: Ae,
1047
- onBuildContent: we,
1048
- key: G.value,
1049
- onShowChild: ye
1050
- }, {
1051
- default: E(() => {
1052
- var o;
1053
- return [
1054
- ((o = a == null ? void 0 : a.jsonContents) == null ? void 0 : o.length) === 0 && (a != null && a.showButton) ? (w(), x(l, {
1055
- key: 0,
1056
- class: "system-default-button",
1057
- onClick: je
1058
- }, {
1059
- icon: E(() => [
1060
- y(s, { name: "import" })
1061
- ]),
1062
- default: E(() => [
1063
- (w(), U("input", {
1064
- type: "file",
1065
- key: _.value,
1066
- ref_key: "fileInput",
1067
- ref: Z,
1068
- accept: ".txt, .inm, .iml, .imd",
1069
- onChange: De,
1070
- style: { display: "none" },
1071
- multiple: ""
1072
- }, null, 32)),
1073
- t[0] || (t[0] = pe(" 导入模型 "))
1074
- ]),
1075
- _: 1,
1076
- __: [0]
1077
- })) : j("", !0)
1078
- ];
1079
- }),
1080
- _: 1
1081
- }, 8, ["showButton", "platform", "content", "jsonContents"]))
1082
- ])) : j("", !0),
1083
- y(gt, {
1084
- class: "select-model-dialog",
1085
- visible: H.value && (a == null ? void 0 : a.oldSystemKey) === "",
1086
- onBeforeDestroy: re,
1087
- showClose: !1,
1088
- closeOnClickModal: !1,
1089
- closeOnPressEscape: !1,
1090
- modalClass: "select-model-modal",
1091
- alignCenter: !0
1092
- }, {
1093
- default: E(() => {
1094
- var o, n;
1095
- return [
1096
- m("div", Da, [
1097
- m("div", Ya, [
1098
- t[1] || (t[1] = m("div", { class: "create-project-title" }, " 新建项目 ", -1)),
1099
- m("div", Ka, [
1100
- y(Ce, {
1101
- emptyColor: !0,
1102
- onClickTrigger: c,
1103
- modelValue: "创建项目",
1104
- buttonType: "primary"
1105
- })
1106
- ])
1107
- ]),
1108
- m("div", Ga, [
1109
- t[2] || (t[2] = m("div", { class: "enter-project-title" }, "项目列表", -1)),
1110
- (o = J.value) != null && o.length ? (w(), U("div", Pa, [
1111
- (w(!0), U(Re, null, xe(J.value, (g) => {
1112
- var r;
1113
- return w(), U("div", {
1114
- class: et(["project-item", {
1115
- "project-item-active": (g == null ? void 0 : g.systemKey) == Y.value.targetModel
1116
- }]),
1117
- onClick: (v) => Ge(g == null ? void 0 : g.systemKey)
1118
- }, [
1119
- m("div", Ma, ee(`${g.name ?? ""}(${g.systemKey})`), 1),
1120
- m("div", Na, [
1121
- ((r = J.value) == null ? void 0 : r.length) > 1 ? (w(), x(s, {
1122
- key: 0,
1123
- class: "project-delete",
1124
- name: "shanchu1",
1125
- onClick: (v) => i(g == null ? void 0 : g.systemKey)
1126
- }, null, 8, ["onClick"])) : j("", !0)
1127
- ])
1128
- ], 10, Fa);
1129
- }), 256))
1130
- ])) : j("", !0),
1131
- m("div", Ta, [
1132
- y(Ce, {
1133
- class: et({ "enter-button-disable": !((n = J.value) != null && n.length) }),
1134
- emptyColor: !0,
1135
- onClickTrigger: Pe,
1136
- modelValue: "进入项目",
1137
- buttonType: "primary"
1138
- }, null, 8, ["class"])
1139
- ])
1140
- ])
1141
- ])
1142
- ];
1143
- }),
1144
- _: 1
1145
- }, 8, ["visible"])
1146
- ]);
1147
- };
1148
- }
1149
- }, co = /* @__PURE__ */ Be(Ja, [["__scopeId", "data-v-6bfd62db"]]);
1150
- export {
1151
- co as default
1152
- };