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.
- package/dist/{OrbitControls-D6pgin7s.js → OrbitControls-Cm4Xs_Bq.js} +1 -1
- package/dist/{OrbitControls-Ff5ikkUQ.cjs → OrbitControls-D-XDZGf-.cjs} +1 -1
- package/dist/{STLLoader-BNh7D2zV.cjs → STLLoader-BxpEhvEg.cjs} +161 -161
- package/dist/{STLLoader-LGKv5i3H.js → STLLoader-DofhZbOw.js} +522 -593
- package/dist/{array-D1hKYLwI.cjs → array-Bfmx0w6P.cjs} +2 -2
- package/dist/{array-C60T9pDZ.js → array-DbAuNWGt.js} +1 -1
- package/dist/{iconfont-v9CcCMwF.js → iconfont-DQodgJo8.js} +73 -75
- package/dist/iconfont-Di4uXnX1.cjs +1 -0
- package/dist/icons/svg/editTable.svg +1 -1
- package/dist/icons/svg/export.svg +1 -0
- package/dist/icons/svg/model.svg +1 -0
- package/dist/icons/svg/three.svg +1 -0
- package/dist/index-1i-XlS2m.js +101 -0
- package/dist/{index-BdsJiFeW.cjs → index-6jSC3unU.cjs} +1 -1
- package/dist/{index-2kzGjuzu.js → index-6zbHinQ6.js} +10 -9
- package/dist/index-B-oe2x1V.cjs +109 -0
- package/dist/index-B-qent3l.cjs +1 -0
- package/dist/{index-CukZ8eDZ.js → index-BBo52W9F.js} +4 -4
- package/dist/index-BOev8isw.cjs +21 -0
- package/dist/index-BQgnYD51.js +6492 -0
- package/dist/{index-owcnOlVq.js → index-BYW-ix_Q.js} +5 -5
- package/dist/{index-4_M1SpeV.js → index-Bi1gr72d.js} +14 -14
- package/dist/{index-DnVaHi8q.js → index-BmHmnXS9.js} +7 -7
- package/dist/index-BoS30LXH.cjs +1 -0
- package/dist/index-BuBMi9JA.cjs +1 -0
- package/dist/{index-Zi9xLtwj.js → index-BvE05H-i.js} +2 -2
- package/dist/index-BwpOMKef.cjs +1 -0
- package/dist/index-C18ZPRC7.cjs +1 -0
- package/dist/{index-HVJSfh2g.js → index-CJx2DcDb.js} +21 -19
- package/dist/{index-B3cUSGXB.js → index-CL59qQ_W.js} +9 -8
- package/dist/{index-DDsJpzfR.js → index-CLdN0W98.js} +47 -47
- package/dist/index-CPP7L10q.cjs +1 -0
- package/dist/index-CSWIBSmo.cjs +1 -0
- package/dist/{index-DEobyz7r.js → index-CTgZZ96L.js} +6 -5
- package/dist/{index-WXpPDsev.js → index-CZ1ui4mT.js} +1 -1
- package/dist/index-CfQvGqaX.cjs +1 -0
- package/dist/index-CgJYAzeA.cjs +1 -0
- package/dist/index-ChtmIuBu.js +29771 -0
- package/dist/index-CjFcaJcL.cjs +1 -0
- package/dist/index-CjTmkzBO.js +24 -0
- package/dist/{index-Dtw4WkUo.cjs → index-CngO0AUc.cjs} +1 -1
- package/dist/index-CqCPdyGu.js +1248 -0
- package/dist/index-Cr6pWv0l.cjs +1 -0
- package/dist/{index-Cw95lvvp.js → index-D8Msszln.js} +223 -223
- package/dist/index-DDvUG6fk.js +22 -0
- package/dist/{index-CdMrhxHS.js → index-DMlIMlyC.js} +10 -10
- package/dist/{index-3Cdyqd1B.cjs → index-DOBeGYzT.cjs} +1 -1
- package/dist/index-DP0k43fj.cjs +1 -0
- package/dist/index-DTxccgVM.cjs +1 -0
- package/dist/{index-JAJeIBYE.cjs → index-DVAGljX0.cjs} +1 -1
- package/dist/{index-B5Vi6RBj.cjs → index-DVCrYVKw.cjs} +1 -1
- package/dist/{index-Dxoxm0Cc.js → index-DZWNGFC0.js} +22 -22
- package/dist/{index-CY2iphpd.cjs → index-DbniLh9G.cjs} +1 -1
- package/dist/index-Dj_ofPeK.cjs +1 -0
- package/dist/{index-DtogzZej.js → index-DocnYz5P.js} +1 -1
- package/dist/index-DrL7vroa.js +319 -0
- package/dist/index-Dt2McMki.js +13668 -0
- package/dist/{index-Cphx1eY1.js → index-Gba1Qfcc.js} +7 -8
- package/dist/{index-DMb9Vu-7.js → index-IUkCD4R_.js} +1 -1
- package/dist/{index-DAyzDsjs.js → index-K6BRW_Bw.js} +1 -1
- package/dist/{index-DzM8zZqe.js → index-OH9t-y2p.js} +4 -4
- package/dist/index-PNDdZKYG.cjs +1 -0
- package/dist/{index-Dn04IPFM.js → index-QETLKFyV.js} +10 -10
- package/dist/{index-BWHtpT9o.cjs → index-RgTvyK54.cjs} +1 -1
- package/dist/{index-Cuj-fGNO.cjs → index-VAIU8vMN.cjs} +1 -1
- package/dist/{index-CF_0RdqV.cjs → index-dukFqRog.cjs} +1 -1
- package/dist/{index-C9Boo2Cw.cjs → index-dyoOdMKX.cjs} +1 -1
- package/dist/index-f9bwREQl.cjs +1 -0
- package/dist/index-rPc9VS0S.cjs +1 -0
- package/dist/index-tPamnhR2.js +236 -0
- package/dist/{index-H3kf9EQv.js → index-tX2Hs05F.js} +11 -10
- package/dist/{index-DEU-pXeW.js → index-uvns6W6E.js} +1838 -1812
- package/dist/index-weauvEnW.cjs +4 -0
- package/dist/{index-B8xEed7C.cjs → index-wlnPb2aB.cjs} +1 -1
- package/dist/{index.vue_vue_type_script_setup_true_lang-iyZtrhDf.js → index.vue_vue_type_script_setup_true_lang-C4G6mB7R.js} +28 -28
- package/dist/{index.vue_vue_type_script_setup_true_lang-CaYQQb8M.cjs → index.vue_vue_type_script_setup_true_lang-CWi4UVPF.cjs} +1 -1
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/index.vue_vue_type_style_index_1_lang-DraQDAAw.cjs +32 -0
- package/dist/index.vue_vue_type_style_index_1_lang-hffXwR3x.js +7028 -0
- package/dist/isUndefined-4Qg9wncf.js +84 -0
- package/dist/isUndefined-BEt4O79g.cjs +1 -0
- package/dist/{main-C6I42yaU.js → main-CBCk94h5.js} +30 -29
- package/dist/main-DO_PN7jt.cjs +1 -0
- package/dist/ss-component.cjs +1 -1
- package/dist/ss-component.css +2 -2
- package/dist/ss-component.js +11 -11
- package/dist/ss-component2.cjs +1 -1
- package/dist/ss-component2.js +12 -12
- package/dist/threeModel-GKSAzHfe.cjs +1 -0
- package/dist/{threeModel-BEt5OVCP.js → threeModel-RJwJMtfW.js} +91 -92
- package/dist/{threePreview-BUZRvBRx.js → threePreview-BSqdALPK.js} +3 -3
- package/dist/{threePreview-Dyzqu5s7.cjs → threePreview-CKvbwCiX.cjs} +1 -1
- package/dist/threeSceneView-BVbVe_Et.js +1277 -0
- package/dist/threeSceneView-KvCERteS.cjs +5 -0
- package/dist/{threeViewerHost-IhSFkCeD.js → threeViewerHost-AuhfL2Cn.js} +55 -57
- package/dist/threeViewerHost-D0pu5wk5.cjs +1 -0
- package/package.json +1 -1
- package/public/icons/svg/editTable.svg +1 -1
- package/public/icons/svg/export.svg +1 -0
- package/public/icons/svg/model.svg +1 -0
- package/public/icons/svg/three.svg +1 -0
- package/dist/animationData-B2T3Oamw.js +0 -108
- package/dist/animationData-Db_9HBoM.cjs +0 -1
- package/dist/iconfont-CZj6ltAs.cjs +0 -1
- package/dist/index-2KKrCkl8.cjs +0 -1
- package/dist/index-2OWkrGDh.js +0 -24
- package/dist/index-B1iXzkUF.cjs +0 -1
- package/dist/index-BBB4VObc.cjs +0 -11
- package/dist/index-BIVWMqJQ.cjs +0 -1
- package/dist/index-BWpZSzL1.cjs +0 -1
- package/dist/index-BllULnvx.cjs +0 -1
- package/dist/index-BvO1uTn0.js +0 -21
- package/dist/index-C2bI4adc.js +0 -8628
- package/dist/index-C9pN8_un.js +0 -548
- package/dist/index-CPdKWCSo.cjs +0 -1
- package/dist/index-CQfFbeTJ.cjs +0 -1
- package/dist/index-CZJOPfp5.js +0 -1152
- package/dist/index-Cb0q1Y5b.cjs +0 -1
- package/dist/index-Cfomm0G1.cjs +0 -109
- package/dist/index-CvvFU_QA.cjs +0 -1
- package/dist/index-DYMLmifU.cjs +0 -1
- package/dist/index-DfPyuGyq.js +0 -101
- package/dist/index-Dm2qfeUm.cjs +0 -1
- package/dist/index-DtX1F0sz.cjs +0 -4
- package/dist/index-Du3VUDcF.cjs +0 -1
- package/dist/index-VWNqRYy9.js +0 -36270
- package/dist/index-kmj8K3JX.cjs +0 -1
- package/dist/index-ndZw4AQJ.cjs +0 -1
- package/dist/index-y5FEcncv.cjs +0 -1
- package/dist/index.vue_vue_type_style_index_1_lang-Bmwy3cgo.cjs +0 -42
- package/dist/index.vue_vue_type_style_index_1_lang-Rs1M3B8e.js +0 -11984
- package/dist/main-2gDZp_zL.cjs +0 -1
- package/dist/threeModel-DgOcIXVI.cjs +0 -1
- package/dist/threeSceneView-BZx98QgN.js +0 -1450
- package/dist/threeSceneView-DSkGJN5d.cjs +0 -5
- package/dist/threeViewerHost-T_51aUg5.cjs +0 -1
|
@@ -0,0 +1,1248 @@
|
|
|
1
|
+
import { resolveComponent as X, createBlock as x, openBlock as p, withCtx as B, createVNode as A, createElementVNode as m, toDisplayString as _, ref as I, onMounted as st, watch as L, createElementBlock as R, Fragment as Be, renderList as je, createCommentVNode as F, normalizeStyle as We, defineComponent as it, resolveDynamicComponent as rt, unref as C, provide as It, computed as Ve, resolveDirective as ft, withDirectives as Se, createTextVNode as se, renderSlot as Le, vShow as at, normalizeClass as ot } from "vue";
|
|
2
|
+
import { m as ct, a as ut, b as At } from "./index-Bi1gr72d.js";
|
|
3
|
+
import "./index.vue_vue_type_style_index_0_scoped_86d2b6b8_lang-D5CTJUDi.js";
|
|
4
|
+
import { _ as Ie } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
|
+
import { _ as wt, e as Et, s as vt } from "./index.vue_vue_type_style_index_0_scoped_1966237d_lang-D3xcEtDT.js";
|
|
6
|
+
import { c as Oe, p as ie, s as le, u as dt, b as Qe, g as Re, d as nt, E as ye, e as kt, f as St } from "./index-Dt2McMki.js";
|
|
7
|
+
import { a as qe, u as Xe, i as De, j as gt, l as yt } from "./index.vue_vue_type_style_index_1_lang-hffXwR3x.js";
|
|
8
|
+
import { S as Ce } from "./index-BHtNKL1L.js";
|
|
9
|
+
import { a as Ct, s as Ue, o as Qt, c as Rt, b as Ut, d as Dt, e as jt, f as bt, h as Yt, i as Kt, j as Gt, k as Ft, l as Pt } from "./index-BQgnYD51.js";
|
|
10
|
+
import { a as Tt } from "./array-DbAuNWGt.js";
|
|
11
|
+
import { u as mt, a as Mt } from "./index-ChtmIuBu.js";
|
|
12
|
+
import "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CtN9Ij0Y.js";
|
|
13
|
+
import "./STLLoader-DofhZbOw.js";
|
|
14
|
+
import "./index-DrL7vroa.js";
|
|
15
|
+
import { useRouter as Nt } from "vue-router";
|
|
16
|
+
import Jt from "./index-DocnYz5P.js";
|
|
17
|
+
import xt from "./threeModel-RJwJMtfW.js";
|
|
18
|
+
import { s as He, _ as ht, a as pe } from "./index-uvns6W6E.js";
|
|
19
|
+
import { d as lt, t as Wt } from "./threeViewerHost-AuhfL2Cn.js";
|
|
20
|
+
import { s as Je } from "./index-tPamnhR2.js";
|
|
21
|
+
import { c as Lt, b as Ht } from "./index-CT5lsL4r.js";
|
|
22
|
+
import { v as Vt } from "./index-OH9t-y2p.js";
|
|
23
|
+
const Ot = { class: "menu-title" };
|
|
24
|
+
function qt(Y, T, n, k, S, M) {
|
|
25
|
+
const o = X("svg-icon"), E = X("ssMenu");
|
|
26
|
+
return p(), x(E, {
|
|
27
|
+
mode: Y.mode,
|
|
28
|
+
menuList: Y.renderMenuList,
|
|
29
|
+
onClickMenu: Y.clickMenu,
|
|
30
|
+
onOpenMenu: Y.openMenu,
|
|
31
|
+
onCloseMenu: Y.closeMenu
|
|
32
|
+
}, {
|
|
33
|
+
title: B(({ menu: b }) => [
|
|
34
|
+
A(o, {
|
|
35
|
+
class: "menu-icon",
|
|
36
|
+
name: b.icon ?? "default",
|
|
37
|
+
style: { "margin-right": "8px" }
|
|
38
|
+
}, null, 8, ["name"]),
|
|
39
|
+
m("span", Ot, _(b.title ?? ""), 1)
|
|
40
|
+
]),
|
|
41
|
+
_: 1
|
|
42
|
+
}, 8, ["mode", "menuList", "onClickMenu", "onOpenMenu", "onCloseMenu"]);
|
|
43
|
+
}
|
|
44
|
+
const Xt = /* @__PURE__ */ Ie(wt, [["render", qt], ["__scopeId", "data-v-3f5e9b47"]]), Zt = { class: "bread-content" }, zt = ["onClick"], _t = {
|
|
45
|
+
key: 0,
|
|
46
|
+
class: "split-title"
|
|
47
|
+
}, $t = {
|
|
48
|
+
__name: "index",
|
|
49
|
+
props: {
|
|
50
|
+
breadArray: {
|
|
51
|
+
type: Array,
|
|
52
|
+
default: () => []
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
emits: ["click"],
|
|
56
|
+
setup(Y, { emit: T }) {
|
|
57
|
+
const n = Y, k = I([]), S = T;
|
|
58
|
+
st(() => {
|
|
59
|
+
k.value = n == null ? void 0 : n.breadArray;
|
|
60
|
+
}), L(
|
|
61
|
+
() => n == null ? void 0 : n.breadArray,
|
|
62
|
+
() => {
|
|
63
|
+
k.value = n == null ? void 0 : n.breadArray;
|
|
64
|
+
},
|
|
65
|
+
{ deep: !0, immediate: !0 }
|
|
66
|
+
);
|
|
67
|
+
const M = (o) => {
|
|
68
|
+
S("click", o);
|
|
69
|
+
};
|
|
70
|
+
return (o, E) => (p(), R("div", Zt, [
|
|
71
|
+
(p(!0), R(Be, null, je(k.value, (b, P) => {
|
|
72
|
+
var w;
|
|
73
|
+
return p(), R("div", {
|
|
74
|
+
key: P,
|
|
75
|
+
class: "bread-item"
|
|
76
|
+
}, [
|
|
77
|
+
m("div", {
|
|
78
|
+
class: "bread-title",
|
|
79
|
+
onClick: (re) => M(b),
|
|
80
|
+
style: We({ opacity: ((w = k.value) == null ? void 0 : w.length) - 1 === P ? "0.7" : "1" })
|
|
81
|
+
}, _(b.value), 13, zt),
|
|
82
|
+
P !== k.value.length - 1 && Array.isArray(k.value) ? (p(), R("div", _t, _("/"))) : F("", !0)
|
|
83
|
+
]);
|
|
84
|
+
}), 128))
|
|
85
|
+
]));
|
|
86
|
+
}
|
|
87
|
+
}, ea = /* @__PURE__ */ Ie($t, [["__scopeId", "data-v-ded7e2bd"]]), xe = [
|
|
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
|
+
], ta = {
|
|
121
|
+
key: 0,
|
|
122
|
+
class: "item-view-group",
|
|
123
|
+
style: { display: "flex" }
|
|
124
|
+
}, aa = { class: "group-name-wrap" }, oa = /* @__PURE__ */ it({
|
|
125
|
+
__name: "lookComponent",
|
|
126
|
+
props: {
|
|
127
|
+
dialogItem: {}
|
|
128
|
+
},
|
|
129
|
+
setup(Y) {
|
|
130
|
+
const T = Y, n = I([]);
|
|
131
|
+
return L(
|
|
132
|
+
() => T == null ? void 0 : T.dialogItem,
|
|
133
|
+
() => {
|
|
134
|
+
var k;
|
|
135
|
+
n.value = (k = Oe(T == null ? void 0 : T.dialogItem)) == null ? void 0 : k.map((S) => {
|
|
136
|
+
var M, o;
|
|
137
|
+
return (S == null ? void 0 : S.comp) === "Table" && (S.compData = (M = S.compData) == null ? void 0 : M.filter((E) => (E == null ? void 0 : E.key) !== "rowButton" && (E == null ? void 0 : E.key) !== "extraButton"), S.compData = (o = S.compData) == null ? void 0 : o.map((E) => {
|
|
138
|
+
var b;
|
|
139
|
+
return (E == null ? void 0 : E.key) === "header" && (E.contents = (b = E.contents) == null ? void 0 : b.filter((P) => (P == null ? void 0 : P.prop) !== "操作")), E;
|
|
140
|
+
})), S;
|
|
141
|
+
});
|
|
142
|
+
},
|
|
143
|
+
{ deep: !0, immediate: !0 }
|
|
144
|
+
), (k, S) => {
|
|
145
|
+
var M;
|
|
146
|
+
return p(), R("div", null, [
|
|
147
|
+
(p(!0), R(Be, null, je((M = n.value) == null ? void 0 : M.filter((o) => o.comp !== "FormTop"), (o, E) => {
|
|
148
|
+
var b;
|
|
149
|
+
return p(), R("div", {
|
|
150
|
+
class: "item-view-content",
|
|
151
|
+
key: E
|
|
152
|
+
}, [
|
|
153
|
+
((b = o == null ? void 0 : o.comp) == null ? void 0 : b.toUpperCase()) !== "TABLE" && (o != null && o.name) ? (p(), R("div", ta, [
|
|
154
|
+
m("div", aa, _(o.name), 1)
|
|
155
|
+
])) : F("", !0),
|
|
156
|
+
(p(), x(rt(C(Ct)(o.comp)), {
|
|
157
|
+
compName: o.name,
|
|
158
|
+
itemData: o == null ? void 0 : o.compData,
|
|
159
|
+
childItemData: o == null ? void 0 : o.itemChildData,
|
|
160
|
+
index: (o == null ? void 0 : o.id) ?? E
|
|
161
|
+
}, null, 8, ["compName", "itemData", "childItemData", "index"]))
|
|
162
|
+
]);
|
|
163
|
+
}), 128))
|
|
164
|
+
]);
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
}), na = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANAAAAHeCAYAAADq2YWwAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAA0KADAAQAAAABAAAB3gAAAABO5lrxAAA1r0lEQVR4Ae19aXAkx5VeZlbfjW4cDWAOEiSHIsURKUoUySEpkhI5nOEMOSfnAkayYx2xDq8j1o61vY5db8SuYg9JjtjwD0fYYUfsOuyI/eGwMCRnSPEmdVOUSJG6LI2W9EgcnhigD6Dv7mp0ZfoVBoXBYIA+68iqevhT1VmZL9/7Xn6oelWZLynBP0QAEegagWI980lK6QnadUtsgAj4GIGiKKaoqh4Tgtypw4AE8vFgQNM7R+CcOBcerSYeYTSwh1IRNFoigQwk8IgIrIOAEIIWa3N3U6YcJYIMra2CBFqLCP5GBJYRyNfnrmdUmSJcbNsIFCTQRshguW8RyOfzwyzcOAIvCe6GWKclR1pe9C2CaLgvEYDHtWBVzTzMOdknKA11AgISqBOUsI7nEag0MndoXJwggo50YywSqBu0sK7nEJivzV8TEPwkoeKGXoxDAvWCGrZxPQK5XC4ZiDUfo4TdB8b0zIOA65FAAxCBLhCAOCdQrKR3MSb2C8IiXTRdt2rPzFtXGhYiAhIjUG7MfZZryiQhYswsNZFAZiGJcqRFoCqyVzVVMQUfQrebrSQSyGxEUZ40CKTT6YHYAD3IKXkAlGJWKIYEsgJVlOkoAhDnKOVm7gGikUNwHrNSGSSQleiibNsRyKkXbgnwwBQM7M12dI4EsgNl7MNyBMoivVmrkUmYfvNpyztb1QESaBUYeOo+BGZmZmKJocABTulOGMyK3RYggexGHPszBQGIbVi5nrkf5qw9Bm/XBkwR2oMQJFAPoGETZxEoqtntggs9zrnKWU36mMLgtOLYv/8QKIkLY0QN6Mupb5fFerwDyeIJ1GNDBM6L85GhWmwfo2w3DFippp8hgTZ0G15wGgGIc2iplv48YUxfTp10Wp/1+kcCrYcKljmOQKGevoEJchIWhF7juDItFEACtQAHL9mPQEEURkS9cQzm3eywv/fue0QCdY8ZtrAAgbPibGhCHd8Lb9cegY+hK2mjLOjKVJFIIFPhRGHdIqDHOcXF3A7KxTGIc4a7be90fSSQ0x7wcf/5/Ow2Fg3oaaOudysMSCC3es7Fei8snB9SInE9bdQ97dJGyW4mEkh2D3lIPyHeChbV63czwvfBo1vYC6YhgbzgRRfYUKlkbtcopI2iNOUCdTtWEQnUMVRYsRcEqtXcRJPwKch788le2sveBgkku4dcqp8QmUSlTg9zIr4AJnh2nHnWMJeOO9erDbFNoKLO79S4dhBeEvSdNkp2QJBAsnvIRfrNq3OfUZp0kjI67iK1+1IVCdQXfNhYRwBeEGwVCpnkgtzsN0SQQH7zuIn2zs7OxuPJ0EFBtQdBrCVpo0xU1xJRSCBLYPW2UIhzYDl19gF4NQBpo0jc29a2tg4J1BofvLoGgZKau5k3m1OUsS1rLvnyJxLIl27v3uhyeW6TCCjH4e7z2e5be7cFEsi7vjXFsg/Fh9FELXwAXkk/BIPF9rRRphhhoRAkkIXgulk03GloCdJGwdQbPW1Uws22WKk7EshKdF0qu1jM3ASvpSHOIVe71ATb1EYC2Qa1/B0VizOjNBTU00bdIb+2cmiIBJLDD45qAY9r4VIj9ygsp94DA0KqtFGOAtNB50igDkDyapWlOKc2fw9hXE8bNehVO620CwlkJboSy67X89c3ROMkTJS+TmI1pVcNCSS9i8xVMJ/PD7Pw4jGQepe5kv0pDQnkE7/D41qwpGb3QvabR2BHg5BPzLbcTCSQ5RA730Glkt2hKQTSRokR57XxlgZIIG/58zJrFmoz1yospKeNuuGyC/jDNASQQKZBKY8gIXLJSl0cEVTc6/a0UfKgur4mSKD1cXFlKcQ5gWIls5sxtg/I4/nl1DI4CQkkgxdM0KFSSX+OM3ZcEDFmgjgU0SECSKAOgZK1WrX60dVNEtbTRt0kq45e1gsJ5FLvptPpgXCCHgYH6mmjfLmcWgbXIYFk8EIXOkCco1TU3E5ByAE4j3XRFKtagAASyAJQrRI5X569NagoJ4A8m63qA+V2hwASqDu8HKldFunNWg3W51B6iyMKYKcbIoAE2hAa5y/oj2jlWgbSRtGdoA3GOc675AoNkEBXQOJ8ARCHlZoL9xJNO4LLqZ33RysNkECt0HHgWrGeuYkKNiUIx+XUDuDfbZdIoG4Rs6j+hdKFsWgwcBS2dsfl1BZhbIVYJJAVqHYh87w4HxmqJh5hDJdTdwGbNFWRQA65AuIcWoLl1JzwY4ySpENqYLd9IoAE6hPAXpoXCukbWATiHC6u7aU9tpEHASSQjb4oiMIIratHIA/B3TZ2i11ZiAASyEJwDdFnxdnQhDq+B+44j8LH0KBRjkf3I4AEstCHepwDm+zeqSniOHzPGbawKxTtEAJIIIuAz+dnt7FoQF9Ofb1FXaBYhxGglAgkkMlOWFg4P6REEo9RKj6Py6lNBlcqceI8p2IaCWSSU4R4K1hRt+2CFaH74dEtbJJYFCMbApQsCK6dSUY3vQHxLN6BzPBPvpK5nVFxArYCSZkhD2XIhwAVogEh7UuJ2OiLQJxFQ0O8AxlI9HCcn5+5JhBRYDk1u7GH5tjEBQjocQ4T7I1YhJ2mdDi/VmUk0FpEOvgtRCZRqdPDnAh9OTVi2AFmrqwi6O80qkwPR4ff20h/dP5GyKxTDrFNoFBJ76SMHoTbOKaNWgcjLxQxInKUs9Px+Oib7exBArVDaPn6vDr3mSBXJuElwXiHTbCayxCAOEflgr6YjL3/MqV3rsQ5rcxAArVCB65lq9mrgkRMwrPwp9pUxcvuRQDSTNAfN2vszMjISKEbM5BAG6AFj2vxSi17iFPyAFTB5dQb4OT6YsHPNWlweiQ68kEvtiCB1qAGxGGF+tyDlLJD8JYf00atwcc7P2mWc/HkUHzsp/3YhARahV5Jzd3MOT8JoGDaqFW4eOkU/inW4SXQ8/HwyLfgRVCzX9uQQIBgupzeHA2wE3D3ubVfQLG9tAjAzCr+WrMaeCqVShXN0tLXBJqZmYklUuH9cNd5CIBQzAIV5UiGgCDvBKJsOkZTH5mtmS8JpMc55Xrmfsi39hgsMxgwG1SUJwcClNA04/zJeHz851Zp5DsCqWp2e52LKTD8KqtARbnOIgDfc2oaU54bDI98x4w4p5U1viFQSVwYI2rgGDwI394KELzmagS4IPSHjXL26bGx7SU7LPE8gZbSRtVi+wKM7QbyBOwAFfuwHwHIbPSbOqePj8ZGP7azd88SCOIcSBuVvpcwpqfHxbRRdo4qG/uCO84c17Qnhgc2/dLGble68iSBCvX0jZDhE9Lj0mtWLMUTTyEAe8BWRVM8Oxgf/y7EOZpTxnmKQMViMcWD6lGYd7PDKUCxX8sR4PDP8fvx6Og3gTgVy3tr04EnCHROnAtvqg7thdfSe2GVLaaNauN0t16Gx/KzAUFPxeNjF2SxwdUE0uOcYi13Fywx0NPjDskCKuphLgIwSC9ALHsqEU6dNVdy/9JcS6B8Lb+NkcZJmIa+rX8YUIKMCMA/yIqg/JnByKbvweMal1FH1xFIiIWhUn3xKAB6N6aNknFI9a8TLM7RmBDfG4iOPQN+rvYv0ToJriEQ/DcKVtXMw5ywR+Ec00ZZNyYclQy+/ZXKyePjA+OzjirSYeeuIFClkblD45A2StCRDu3Cai5DAAbix40mezyVSP3GTapLTaD52vw1AcFPEipucBOoqGsXCFBSokrgmwOBoVdljXNaWSMlgXK5XDIQE49BSq77QHkpdWwFKl5rjwDkmGjCU8V3S1H12Qk6UWvfQs4aUg1OeP4NFCvpXYwp++FLM6aNknPM9K0V3Gl+QRabTyQSm9N9C3NYgDQEWmikb1M0doIQMeYwJti9RQgITj6iCplORsbesagL28U6TqCqyF7VVMUUTPjcbrv12KE9CFBSJEI8nYiM/RDuPvCW2jt/jhEonU4PhBPiMCVMT4+LaaO8M6ZWLAGmNJng385Gq89to9vqKxc8dGL7+hiIcxQ9Pa4SYAfgHNNGeWgwrTYF8un9jDUWn0gkt2ZXl3vt3NY7UEmd/TRZSo+LaaO8NpAMe+DN6QdBSqYjkfFzRpmXj7YQqFLJbGlSPT0uvcXLYPraNkoKhPOnEtHxH3ktzmnlV0sJpD+ilWuZg7DMYCcogXFOK0+49BpMiF+EN2uvJEKpF4A4qkvN6FltSwgExIG0UdkvcgEvCSiN96wdNpQcAfYmWQyeTiaTOckVtUw90wlUUrOfgpzDetqorZZpjYIdRkC8Jxrk1ODg+G8dVsTx7k0jUKk0O06CgeNw97nNcatQAUsQgJxReUbYmUR05HU/xTmtwOz7NTYQJlJuzO8ngu+C877ltVIWrzmDAPh1EZKyv/RxLP3iLfSWhjNayNlrz3cgAJWWmgv3iUXtCEwMTMhpHmrVDwL6BruwaPFN0aifHhycmO9Hllfb9kSgOqSNUgXVtwGZ8CowvreL0Xc5D0wPRYfO+x6LFgB0RaCigLRRqnoc0grd0UImXnIzApTOC0ZOJ4OpNzHOae1IId6Cb8Yd/MF9PJyv5h6FzDcPY9qoDgBzYRX9Gw7sTv1iLDwKG+zSjjbYdaGZpqm8vHpgsiWBluKc2vw9hHE9PS6mjTINfnkEXYxzxOtavXJmeHhbXh7N5NSkXJ7bpDEIX5Zn1WxIoHo9f31DLKWNuk5OU1CrvhFg9LdBrkxHo8Pv9y3L4wL05J2jteT+tZsUXEGgfD4/zMKLxwCPuzyOia/NUzj9H/H46Ju+BqFD4wuVCzsEDZxYL3nnyncbeFwLlqrZRyht7IWk7KEOZWM19yGgp9P7YSyWest9qturcbaavSrExEkIX2664k6zrMpSeaWS3aEp5Bi89ce0Ufb6yN7eKOwVGrZmr1B7DbG2tw/Fh9GhRuyggL1zoaeWk6BpUc3+KeGYNspalzgtnWZhfuITQ/Gxnzmticz9L700a8JLM43DzaSzPaUCSB6ZXdqfbrBXqArz115IxpZeTTf7k+bt1noOwlI982XIonZ9N5auxEDdNMK6ciNgvJperAdOj4yMFOTW1lnt4K4TL9ZzRyjRIDcHINflHxKoS8Dkry7ebYrgN4ajw+/Jr6tzGuqPa/qatbKahQSepOc1a0gg53xobs+ULAhOTw/Gxt4wV7D3pOnfOMvwuLa0BWifSbaQQC4fH/CfdJEL/vJMLPcCLjVo7Uw9ZXQwph1bJIv3AHm6flxbTzoSaD1UXFOmL6muPjmMSw1aegz+yTBIpfYQZdohiHMi8CHMtD8kkGlQ2ieIMvo+r/PpwcGU75dUt0O9WM/cVKxnv8QUZkmKASRQOw9IdB1eSRcZ4WcGQpA6KuytFLlmw3xxSpp2HFZK7zDlWW0DBZFAGwAjU7GRInfBwylyzcIbHtcCFXV+tyDN/XBu+U6GSCCzPGeRHNhk9xfVRf74lsSWjEVdeEasnvm2WM2chEfccbuMQgLZhXSX/cBd52MYCNOD4U1vd9nUd9WLxZlRGgpNCi5uoy1nrpkPDRLIfEz7k0hJGbY8fDrh0i0P+zO+u9bwiKavIHgUMt/uhYnQwe5am1MbCWQOjn1LgTvO0tbupYXmM1u3jlX7FuhxAZVK+nOVemaSMJqC5EGOWYsEcgz6Sx3Df9KzSpRMD1B3bO1+SXP7z9Ll9OYwLKnWKLnZ/t6v7BEJdCUmtpXA/81ZxrRTyfDmX9vWqUs70t+olWvpA5zS3fBaWpHFDCSQA56AhBRVGATPxsOp78K55oAKruqyUM3eBTnXjxPKhqz8ptMLKEigXlDrvQ18CyWv1ov86fHx8XLvYvzRcmn/3Jr2ZULFjQ6GOS3BRgK1hMfEi5S8HQjT6Rgd/dhEqZ4UNTMzE4sPBQ816+JBuOvY/GK6O0iRQN3h1XVtSmiGcf5EPD7+864b+6wBxDm0VEvfKwg7CnOlXZFvHQlk0SCF3Qzq8CH0+Xh45FsQ5+By6jY412oL1y4tqaZsm2xxTivVkUCt0OnhGvznFECeH8Wj9AylqWIPInzVJJ1OD4QT7Mgiad7fy5Jqp8FCApnpAcj02eSN6eHo1vfNFOtFWfC4dnEbUCoeg+QnMbfaiAQyw3Owo4GikSfjUcz02QmchUL6Bn2NDjyqTcDdupMm0tZBAvXhGvjP2YC496VELPUixDm4o0EbLIXIJUt17ThgdbeeHrVNdVdcRgL17qafaI3Qk0NDQwu9i/BHS/1xDZZU7yrWtINAHlOXVDuNIBKoaw+I90I09I1IZOjdrpv6sIGqZrcXq2l9SfUWL5qPBOrUq5QUiMJOJwK4Q3UnkBUKH46IcOQEpEa9Q/JvoZ2Ys2EdJNCG0Fy8AFNvmpTxVxKh8efh8UNtU933l+FxLQCrQvfAViD7IM7x/C4fSKAWQx6+6fyMNBafSCa3ZltUw0vLCJTV+VvL9dyUvqTauRU69roDCbQO3oKTj2CO9HQiOfbOOpexaA0CJXFhjKjBSc61z6655PmfSKDVLqakBK+mn07Exl6FxzW//BNdjUBX52fF2dBEY9OjvC72wgQMX44lXxq9dpQAUzTG2HfyoeqzE3SitvY6/r4SgUolc7umikl9UzZPfNC50sSOSnxPIAh6f6VwcWogOjbXEWI+r1QW6c1ajX4JllR/Cmb9+RwNQnxLIHD9hQZrnkqFt5z1/SjoAIDz4nxktBE/oNXpLni5Is2S6g5Ut7SKLwnEKHsSlhm8AnEOtxRdjwiHJdV3U1Uch9fSg3jPudypviTQYq34Bo2kkDyXj4UrflVF7uqmyr8EcY60S6qvUNrmAl8SyGaMXdedvqQ6ORQ83KzzB0B5qZdUOw0uEshpD0jUP7xQobAq9D7Ye+oIZD9xxZJqp+FDAjntAUn6X6gtXLe8S/V1smbAkQSqy9RAAl0Gh/9+ZDJvJ0IDo0cYbd4HNyB8R9DlEEACdQmYV6rra3Rgl+oH4HHtMJzHzNz20CsYdWIHEqgTlDxWp1BP31iswpJqRq6GN2wes85ec5BA9uLtaG/z8/ODgWgTtj2kd+O7NXNcgQQyB0eppcAjmlJQ53cpnB+AVAQRqZV1mXJIIJc5rFt1ISn7p5Z2qSZkM05d6xa99vWRQO0xcmWNgiiMCLWhb3t4O75as86FSCDrsHVEMjyuwZLq7F5WU/WtDz2/pNoRkFd1igRaBYbbT+fVuc9cXFJNxjySdk16lyCBpHdRewVLpdlxrrApyumtAqcRtAfMxBpIIBPBtFvU8pLqfZyLPRDnoC/tdgD0h6A7ALpZXV7TGDsELwl08uCfQwjgVHWHgDej20R4/IkQFf9JzyJkhjyU0T0CSKDuMZOqRSQyfi4ZG/0q3IX+N6Rrx31XbfYOEshmwK3oTk/BlYiOfb88v/gXMLXtO9AHrra1Auh1ZCKB1gHFrUVbt26tDsbGvqFEYn8NRPpHt9rhJr2RQG7yVoe6xmn8AhDpPzMl8N/1TY47bIbVekAA38L1AJpbmgyEhn8BMxN+XVQXHma8uQ9mJoTdortb9MQ7kFs81aOeEB81ByMjLzTVylcUwl7XN0HuURQ2WwcBJNA6oHixaHh4Wz4eTf2vIAn+LXDofS/a6IRNSCAnUHewT31nvYHI2H8kgv8DvPYuOqiKJ7rGGMgTbuzOiOWdJ16D+Oin5UbmAOeQrpdgut7uULxYG+9AvaDmkTZApLo+m0HR+F/B+a88YpatZiCBbIVbzs4GBjbNJSKj/5Uy7b/AMgjcpaILN+EjXBdgeb1qIrz51/BY948Vdf4hjV/ckt7rNvdrH96B+kXQY+3hUU4biKReadaUvyCEvgbm4WvvFj5GArUAx8+XUqlUMRkd/QeNLMIbO/o7P2PRynYkUCt08BoZjm59H2Z7/y2k/f2fkHA+j5BcjoAvCRSMD113OQz4qx0Cg7HRNzLR/FcIo8/DM12zXX2/XKfFWubv/WLs5XayNyvNxlNbEltwsuXlwLT9VSzOjIqQMkkFu61tZY9X8DGBIESmpNnU6MtDsdSL+jcRj/vadPNUNbu9zsVJ+Ai71XThLhHoawIZPoK1MyVK+OlEdPxHQCR862QA08ERXnuzQn3uQUrZISporIMmnqqCBFrlTkrYR4KJU8nw6NurivG0AwSASHHYoGsS7uuf76C6Z6oggdZxJafkZ0o4cjpBE+l1LmNRCwQKlQs7KFWOwvNxqkU1z1xCAm3gSniO0xjjr+RDjRcm6ERtg2pYvA4CQrwVrKrXPMw50dMLe3oRHxJonQFwWZGe6UaIM4nI2GsQH2GyjsvAaf1jeT+io4DbPRBnwrsG7/0hgTr0KdyRZuCt3f9JRsbe6bAJVltGYKE2c61Cg5MwKehGr4GCBOrSoxAs/0rl5PHxgfHZLpv6vroX4yMkUG/DGtJRi28PRseeg8eTam8i/NnKa/EREqiPcQyPdBV4LHlqIDL6KsZH3QHplfgICdSd39etDfHRbLPJvpFKpH6zbgUs3BCBpfhIhKYIFTdsWEniC0ggE50D8dHZQDR+Sk9saKJYX4jS4yOFKUc5cdf3IySQ+cOTUyG+OxAdexYe6yrmi/euRD0+Klav3cOoeMQt34+QQBaNx6WXC0I8DfHRD+Bcs6gbT4p1U3yEBLJ4COpJOhhrTuv5BizuynPi3RAfIYFsGnb6bgmLhJ4ajY1+bFOXnulG5vgICWTvMONMkO/XKrlnx8a2l+zt2t29yRofIYEcGFfwkqGmcfHMYHz8exAf4fLoLnwgW3yEBOrCeeZXpZkm06ZHwpv+r/myvS2xVlu4dpFpU4Q7+/0ICSTDOBPknUCUTcdo6iMZ1HGTDk7HR0ggeUYLvGcgP2hW2TN6TjZ51JJfk5X4SKGPwMdsW9cfIYEkGx+QV6CuMfrsYHjkOxgfdeccJ+IjJFB3PrKxNs0yRTmlb9NoY6ee6MrO+AgJJPuQoeRcUyjTI9GRD2RXVTb9KpXsDsG4pfPrkECyeX0dffR9Tbngr2m14NMjIyOFdapg0QYIWB0fIYE2AF7GYvh+pEKijueS8Q++TemdizLqKKtOCwvnh5RI/AjElabmZ0ACyerxFnoxInJNTp8Yio/9tEU1vLQOAmbHR0igdUB2TRFsO6JRZXo4Ovyea3SWRFE9PtIUfgy2bhnpRyUkUD/oSdBWj49g65EfJyLKU5QO4/YjXfjEjPgICdQF4DJXhfiowRh5PhYeewWe8zE+6sJZ/cRHSKAugHZFVUoWFI0+EYul3gIiweQG/OsUgYXawnWKgPl1VHyi0za0UE3/NwA62GkDrOcWBMT5EA1NRyJD77pFY1n07CY+okVRTAm1NoWbJcniPrP1EK+LhvrU4ODEvNmSvSwPAkvI753dA0lOWs6vW8lXXKinb2CUTcEXu2u9DIwfbYPBsAhz7F6ci+VfvpHeqPoRg15tbhcfrRBI70B/nVNqLtxHNO0QJAwc6rVTbCcpApTkBadPJqOpn2B81J2PNoqPLiOQIfKcOBcerSX3M0J3YXxkoOKdI7z5fp83yPTg4PhvvWOVPZasjY/WJZChSkEURpjaOAELVe4wyvDoKQR+QhbDZ5LJZM5TVllszOr4qCWBDD3q9fz1DdrUl89uM8rw6A0E4Kl9kSrk5URoaaNljI+6cKseH3VEIF3mUnxUS3+eMHYY4qPhLvrBqi5AgAtSZEH2ZCIw8jrGR507rGMCGSLPirOhrdVN+wKU74b0qyGjHI/eQIAy+gH8szwFG4n9P29YZK0VXRPIUEeIhaFCvXlCoeROr27fZ9jqxyNstPzT2mLz9JbElowf7e/U5p4JZHSQz89uY6HAZDfTH4y2eJQbAZgH1KSw0XIiNP4CPNbV5dbWGe36JpChdqE6ew9l7LF+p4cb8vAoDwLwhFGCaXXGRss4v26Va0wjkC5Tnx5eUq99hBK6B56jbU0vtMomPLUIAUrYR4JBfBQefduiLlwn1lQCGdbr6YXCUXGMU343xkcGKt45wuPcz8li88lEYnPaO1b1ZoklBDJU8fL25oaNfj3CQr4moezb+VD1+Qk6UfMtDnYYXqhm76KEHyHUXdv32YGN6/ugpAyL+WCj5bEfwp2Ju96eLg2w9A60WheIiQLFanYvo3SvoCKy+hqeux8BGEgfN5rscb9ttGwbgYwhksvlksGYdowQeg+U2d6/oQcerUEAlsP8UhXkyfGB8VlrepBLqmMDuFrNTTQZn4RpQTfJBQlq0y8C8J5bY5c2Wq72K0/m9o4RyACl0sjcoWn0KLwEHzPK8OgNBOBFQwX+QRobLXsyPnKcQPpQ0eOjijq/W+PaPghEMT7yBn9WrIBBdqHBmqdS4S1nVwo9ciIFgQwsM5m3E6GB0SOw4OteKGNGOR69gQD8ozwbEPRUPD52wRsWSRrEV0X2KrWmTSmUbfcK0GjHCgKcCuV7A9HhZ+Bpo7JS6tITqe5AazGsVNKfgx14j8EU+/G11/C3uxGATxlVprBvDgRS3wciaW61RmoC6aDCbV8pVtK7WUB5FM5jbgUa9V4fAUHonMLYqYHwyK/WryF3qfQEMuAD8sSL9ZweH90PZRgfGcB45Mgo+U2d08dHY6Mfu8kk1xDIALUiKlsatfKXMD4yEPHUEVaWkx80yrlnxsa2l9xgmesIZIA6X569VVGUE2DAZqMMj95AAObW1TQunh2Mj38X4iMIg+X9cy2BdEjhsY5V1NxDgoj9sGwiLi/MqFkvCMC6sjRVtMcHQpt+2Ut7O9q4mkAGQLOzs/GBpHII1vE/AGUYHxnAeOUoyDuBKJuO0dRHspnkCQIZoJZFejOpKVOwkO8WowyPnkFAQKbcV9Uq/WYqlSrKYpWnCGSAWlJzN3POJ8G4rUYZHr2BACTJr8N3wefi4RHYaNn5+MiTBNKHih4fFepzDzKqHIAJjQPeGD5oxSUEaJZzoW+0/LNLZfafeZZABpQzMzOx+FDwEKw8egCMVYxyPHoEAcHPNWlweiQ68oETFnmeQAaoJVEa5zXYSIzSW40yPHoGAfh8RH/UrLGnRkZGCnZa5RsCGaCqanZ7nYspMPwqowyP3kAAvh+pnAWeT4bf/Rald9qy0bLvCKQPFT0+KjfzX+CLzUOw6CvhjeGDVhgIMCJyFDYSg2UTbxllVh19SSADTCBSpNyYP0gE3wkfYgNGOR49ggCjv9W4cmo4OvyeVRb5mkAGqCVxYYyoQdhITNxmlOHRGwjAEwa4VbyeiATPUDqcN9sqJNAqRIvFzE0iSPTvRxOrivHUAwjAyyMVHu1ejIVHX4Zz0+IjJNCawQH/rWi5nvkC7H2kb7ScXHMZf7odAUrnYUrD6WQw9SYQCd7e9feHBNoAv/PifGS0FtvPKdsFIGF8tAFOri1m9F0utFNDkU3v9mMDEqgNekVRTFFV1Tdavr1NVbzsMgSW46OfiIZ6ZnBwYr4X9ZFAHaJWqKdvYJRNQebNaztsgtVcggA8ti/CHLuX5mL5l26kN3a10TISqAsn6/FRqZa+d3mj5aEummJVFyAAy2HzsAfS6WR05I1O4yMkUA+OPSfOhTc1hh8VGn8YgA72IAKbSI2AeE80yKnBwfHftlMTCdQOoRbXC6IwwtTGcYiP7mxRDS+5FgH2JlkMnk4mk7mNTEACbYRMF+X1ev76Bm1OES62ddEMq7oAAXhqX6QKgY2WU/pGy1fER0ggk5x4MT6av4cwDhstk2GTxKIYSRCA+KjICD+TiI7/aHV8hAQy2UFnxdnQ1mrq0QBlD8PH2JDJ4lGcwwjAzKAPgpRMRyLj53RVkEAWOSSfzw+z8OIx+NawA2IkxNkinJ0SCwlsflaDjZbRsRZ7IJ+f3cbCbAr+V11vcVco3mYEIDfD+0ggm0AvNGCjZc6PEkFHbOoSu7EYAf1xDglkMcirxcOLhmBJze6FhIF74Ty8+hqeuw8BJJBDPltYOD+kROJH4G3OPRgfOeQEE7pFApkAYj8iFmoz1ypCmSSU3diPHGzrDAJIIGdwv6LXQuXCDkqVo4TS1BUXsUBaBJBAErkGYqJAsZrZAzO+H4Hd23CjZYl8s5EqSKCNkHGwPJfLJcMxcYRf3GgZX/I46It2XSOB2iHk4PVqNTfRZHwSpgXd5KAa2HULBJBALcCR5VKlkrldY/QYZLMbk0Un1OMiAkggl4wEPT6qqPO7NK7th1ffGB9J4jckkCSO6FQNITKJSp0ehvgIN1ruFDQL6yGBLATXStFVkb1KrWlTuNGylSi3l40Eao+R1DUWGunb2CI5DpMax6VW1KPKIYE84FiIjxSIj5Y3WhYxD5jkGhOQQK5xVXtF0+n0QDghDkNWmS9AbdxouT1kfddAAvUNoXwC4LX31iaF/N6U3Cyfdt7SaIlAhdrc7zWrgadk2vnYWzA7Y818efZWRVFOwFSGzc5o4P1elwhUrGX+Xradj70PvT0WQnwEGy3ndipUHIBlE3F7evVPLysEumQyzSqw8zHs7OXozseX9MEzMxCYnZ2Nx5Ohg4JqD4I8jI/MABVkrEOgZcmUnGsKxbGdj02yD8WsQaAs0pu1mh4f0U+vuYQ/e0BgYwKBMD1zPTza/ajhwM7HPdiCTbpAIKdeuCXQZJOUsS1dNMOqaxBoSSCjrr7zMWPkhVj4g1fs2vnY6BuP1iGgx0flevYBLgRstEwxPuoB6o4ItCKXinmhaU8Oxre8uVKGJ65HYGZmJpZIhQ9wznfCGzvF9QbZaEB3BDIUE/R3vNE8NTS0+bxRhEf3I1ASpXGytJGY+Kz7rbHHgt4IBLrp8RH8vcHV0JmhoaEFe9TFXuxAQFWz2+tcTMHd6Co7+nNzHz0TyDAa4qMGZK9/6cNY+qVb6C0NoxyP7kbgYnyUuR9yex+GFbEJd1tjnfZ9E2hFNUoWBKews1fqJxCQ9r3z8YpcPHEUASBSpNzIHID3sQ/Bh1jcaHmNN8wjkCGY0fMhEYDM9UN97XxsiMOjHAiUxIUxogZhIzHxOTk0kkML8wl0ya6fiEjo9CAd7Gnn40ti8EwmBIrFzE0iCB9iCZmQSS+ndLGSQPCWYWlnr5dhZ68X4bHuip29nDIa++0PAbgL0VJz4T6iafpGYsn+pLm7taUEWoGGkgLhSzt7/RjjoxVUXH9yXpyPDNVi+yAR5G64I/kyPrKHQMtDRd9LhQt+anB5Zy/XjyA0YAmBYnFmlIaCx+Alwx1+g8RWAhngwjekn4rG4pPJ5NasUYZH9yNQqKdvhLvRpODiWvdb05kFjhBIVw3eczfhbvStfLT6/Da6rd6ZulhLdgSW4qNa+vOEsSPg5EHZ9e1XP8cItKI4JUWiKE8lAsOvYXy0gorrT86Jc+HR6vCjChP7XG9MCwOcJ9CycoKTj6hCppORsXda6IuXXITA0t2onv07F6nctao6gaRYnUgZuRpu+f++UJ/7w1JpFnOcde1KbOAUAlK9fqSC3UaC5NMlNf2dfEh9boJO1JwCBvtFBDpBQIo70GpF9TlXMK9uz6Aa+VqplnkAHgWk03G1vnjubwTkHZwwCxje1v0TWDX5lVwphznO/D1OpbVeXgItQwYkuioY4P+2VM3+63Q5jTnOpB1K/lRMegIZboEMJ58JK/QvS9X0FDzWYQ5oAxg8OoqAawiko6Sv2YdFXrvKavbrEB/txPjI0bGDnQMCriKQ4TE9yyY82n0J4qO/LKmzmOPMAAaPtiPgSgIZKAGJtgiu/FGhmv43FVHBHGcGMHi0DQFXE8hACaYB3aLVq39Zrma+BI91mOPMAAaPliPgCQIto8Q4JTvLau7r+fLcbiAS5jizfPhgB14i0JI39Td0TGGTxXrurxbKc5jjDMe4pQh4jkAGWjDRb5OisH9VqGb+nb4pr1GOR0TATAQ8SyADJFjA96lmXXylUMv+00zmbcxxZgCDR1MQ8DyBllFicEf6Yig+8vVCeW4vfj8yZeygEEDALwRacja8rYtQhR2DZRMPAonguyz+IQL9IeArAhlQMaKcLDdyf66v4zfK8IgI9IKALwmkAwXJL66BDcT+pFjL/YtisZjqBTxsgwj4lkCXXM93iEDjbxYqs4f1tfyXyvEMEWiPABIIMIJ8+EGFKfs3qUNfLVSzd2N81H7gYI2LCCCBVo8EQYaATP+8VM/8Wb4+d/3qS3iOCKyHABJoPVQI3aYQ9h+KtfTvC7EwtG4VLEQEAAEk0AbDAJZMwGtuek9Z1b5aqGT2w2NdcIOqWOxjBJBAbZwPxAlD2q3DJTXz1Uoj47v8z23g8f1lJFCnQ0DQEU0j/7JYzf7pfG3+mk6bYT1vI4AE6ta/VNwQINqfw9y638vlcr7eH6db6LxYHwnUm1f1jcrvD0XF15bn1kmVoLI3k7BVLwgggXpBbbkNZApamltXquf+eqGRvq0PUdjUpQgggUxxnBhTNPqHxXrmj3HtkSmAukYIEshMVwmy/eLao8yX0+n0gJmiUZacCCCBzPcLrD0iD0aT7Gv5WnYXvAbH3AzmYyyNRCSQRa4A4sQYEVOYu84igCURiwSy2BGQu27zcu66PyoLzO1tMdy2i0cC2QQ5rIb9NK/TvyqpuUn97mRTt9iNxQgggSwGeI14JjjfXaxlvl5aXHgAiIT4rwHIbT/RgQ54DO5GcdFsLu19pKrZ7Q6ogF2ahAASyCQgexGj732kcvHHS3vDigtjvcjANs4igARyFv+l3pf2hlUDf12qzh2Dx7qIBCqhCh0igATqECirqy3tDUvZ3pKa/VqxOncfEAnTblkNugnykUAmgGiqCEGShLJ/hmm3TEXVMmFIIMug7U+wkXYL8jP8Aabd6g9LK1sjgaxE1wTZ8Gh3J6bdMgFIi0QggSwC1kyxRtqtsZqedmv2HoyPzES3P1lIoP7ws7U1zFKFtFvK7y+l3arlt9naOXa2LgJIoHVhkb0Q0m7RxT/DtFvO+wkJ5LwPetLgyrRbb2HarZ6Q7K8REqg//BxvDfHQUtqtSv2av6lUMnc6rpDPFEACecThnNCUxsgfwLLyP8G0W/Y5FQlkH9b29CTIjZh2yx6o9V6QQPZhbWdPK2m3yvWcvqUlpt2yCH1GGD1vkWwU6zACetotLvgxPe1WubGAabcs8AfVP8qVaul7CWOPEUEGLegDRUqCgCb42+GoMh2jox9brdLSuKpn/87qfpyUD8k1P1iZ8au/zSk30vs5Z7uhEG/5TnrG2r65IPxVtUSfHh8fL1vVle8IZABZLM6M0lDoBADwOaMMj95DAFbFVjVBnhmMpL4H55rZFvqWQAaQxWLmJshoNgVbe1xtlOHRewjAqthZxrRTifDmX5tpne8JpIOpgwB5zb4IS7sOQXyUMBNglCUXAuDrXytRcmqAjs+aoRkSaBWKH4oPo0O18EFO6U6IjzDT5ipsvHQKdyONMfbdUk59duvWrdV+bEMCrYNeSZTGSU2dhNejn1nnMhZ5BQFKylQJPD0QGHoV4iPei1lIoBaoQXLAm3mzCfER29KiGl5yOQLwtPFxiNHpcHj07W5NQQK1QQwAYuVm7kGiiYMwMzjepjpedjECcBf6BVlsPpFIbE53agYSqEOkZmdn49FB5TD8t/oiNMGpQR3i5rZqMDeoCclOvj0QGnkOCFVvpz8SqB1Ca65XRGVLs1adAqBvXnMJf3oIAXjaKNGgciYRGH4NiATvHdb/QwKtj0vb0nJj7rPaIj1BGR1vWxkruBYB8O8HQcGnI5Hxc+sZgQRaD5UOywA8pVhJ72aM7hOURjtshtVciAA8cfxUhMNPJGkyt1p9JNBqNHo8z2TeToQGho9Qwu4DERAm4Z8XEYDv7YtUIa8kQqkX4LFO1W1EApno6arIXd1U+RTMZrjJRLEoSjYEKCkQhZ1OBEZe11Ur+Wk2th2+qDQyd2gaPQb/n0bt6A/7cAoB8R5M/zpFBf1TpzSwo9/LljPY0aHeB9zaA1U1s4dz8ijER2G7+sV+EAGzEXCEQIYR8/Pzg4Fo8yg8M0OmTYyPDFzw6B4EHCWQAdNCbeE6RWhThIpPGGV4RATcgIAUBDKAKlSzd8PaoyPwjDdilOEREZAZAakIpAN1VpwNTVTHH4HZ3nvh0Q4zbco8elA3iDtW5USQCY9C4cMRGorB2zq+Qya9UBdEYDUC0hLIUDJfn/uEIuhJeMdwrVGGR0RAFgSkJ5AO1NIXbUy7JcuYQT1WIeAKAhn6ApEw7ZYBBh6lQMBVBDIQw7RbBhJ4dBoBVxLIAA3TbhlI4NEpBFxNIB00PT4q1zNfgClBhzHtllPDyL/9up5Ahusw7ZaBBB7tRMAzBDJAK5fnNmmMTsJH2FuNMjwiAlYh4DkCGUBh2i0DCTxaiYBnCaSDBvERpt2ycvSgbHmn8pjpGz3t1kBSOcQpeQDkYtotM8H1uSxP34HW+lZPuyXU6hRsjoNpt9aCg797QsBXBDIQwrRbBhJ47BcBXxJIBw3io0BBnX9I4dp+TLvV7zDyb3vfEshwuRCZRLFOHwMg7ocyTLtlAIPHjhDwPYEMlKrV3ESTQNotSj5plOEREWiHABJoDUL5SuYOyKaKabfW4II/10cACbQOLkK8FSxWr3mYUUy7tQ48WLQKASTQKjDWnmLarbWI4O+1CCCB1iKyzu+ltFtk8SS8Y7h+nctY5GMEkEBdOL/QyN5FuTgGyyaGu2iGVT2MABKoS+di2q0uAfN4dSRQjw7W026JUOQYTKzDtFs9YuiFZkigPr1YKKRvYCEyhWm3+gTSpc2RQCY4Tl9WXoK0W5ywI/DqO2mCSBThEgSQQCY6CogUztfS+xllu2FOUMBE0ShKUgSQQBY45mLareBx2LLldgvEo0iJEEACWegMTLtlIbiSiEYCWewIPT7CtFsWg+ygeCSQTeAvpd1qxA5wzh+C+EixqVvsxmIEkEAWA7xWPKbdWouIu38jgRzyX069cEugySYpY1scUgG7NQEBJJAJIPYqAuIjVqjPPUgpOwTbwcd6lYPtnEMACeQc9is9Y9qtFShcd4IEkshllUpmq1DIJKbdksgpbVRBArUByInLC+W5zzJKT1BGx53oH/vsHAEkUOdY2VoT4qOltFuUawcgUX7E1s6xs44RQAJ1DJUzFS+m3eJHKGH3gQaYdssZN2zYKxJoQ2jkulAVuaubNX4S027J5RckkFz+aKsNpt1qC5GtFZBAtsJtTmd6fFRVM3s4x7Rb5iDauxQkUO/YOd4S02457gJ4ohYfYGDqvB/60mAp7ZbQIC2x+ERfgrBx1wgggbqGTN4GhWr2bsrIEdh6YkReLb2lGRLIW/4kmHbLXocigezF27beMO2WPVAjgezB2bFe8vW5TyiCnsS0W9a4AAlkDa5SSdWXletptwhjj0Fa4kGplHO5MkgglzuwG/WBSJh2qxvAOqiLBOoAJK9VuZh2K3QCCPU5r9lmtz1IILsRl6g/TLvVvzOQQP1j6GoJenyEabd6dyESqHfsPNVyKe1WLXyQU7oT02517lokUOdY+aImpt3qzs1IoO7w8k3tkpq7mTebU5h2q7XLkUCt8fH1VYiPltJuKVQ5CIny474GYwPjkUAbAIPFlxDAtFuXsFh7hgRaiwj+3hCBiqhsadaqU5SSmzes5LMLSCCfOdwMczHt1iUUkUCXsMCzLhCA+EgpqPO7FK7tF5RGu2jqqapIIE+5035jMpm3E6GB0cdgIN0PvftudTMSyP4x58ke/Zp2CwnkyeHsnFF+S7uFBHJurHm2Z4iPAsVqZg+j3k+7hQTy7DB23jA/pN1CAjk/zjyvgZfTbiGBPD985TGw0MjeRTk56qW0W0ggecaXLzRZSrulju8VXDwC27YE3W40EsjtHnSp/l5Ju4UEcukA9Irabk+7hQTyykh0sR36snJIu/V5SLsFaYndlXYLCeTigec11YFIrku7hQTy2ij0gD0X024Fj8MivttlNwcJJLuHfKyfG9JuIYF8PEDdYLoeH8mcdgsJ5IZRhDqSpbRbjdgBzvlDMqXdQgLh4HQVAnraLcGUE4KKz8igOBJIBi+gDl0jIEvaLSRQ167DBrIgAPGR42m3kECyjAbUo2cEnEy7hQTq2W3YUDYEnEi7hQSSbRSgPn0jYGfaLSRQ3+5CATIiAPGRUlHnHxJcO2Bl2i0kkIzeR51MQ8DqtFtIINNchYJkRmAp7ZbKp2C2901m6okEMhNNlCU9ApVK5naN0eOEiFEzlEUCmYEiynAVAhAfmZZ2CwnkKtejsmYiYEbaLSSQmR5BWa5EoJ+0W0ggV7oclbYCgV7SbiGBrPAEynQtAt2m3UICudbVqLiVCOhpt2gochT6uKtVP0igVujgNd8j0C7tFhLI90MEAWiHgL6sfKO0W0igdujhdURgGQEgUrjUSO8TnD0My8oDejESCIcHItAlAqvTbiGBugQPqyMCBgJ62i0WpPf8fyMNAINQa+y+AAAAAElFTkSuQmCC", la = "data:image/png;base64,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", sa = { class: "structure-buttons" }, ia = { class: "structure-paths" }, ra = { class: "client-header-user" }, ca = { class: "model-select" }, ua = { class: "model-show" }, Aa = { class: "model-fill" }, da = { class: "client-header-menu" }, ga = { class: "client-header-user" }, ya = { class: "drop-menu" }, Ca = { class: "user-base-info" }, ma = { class: "base-info" }, ha = { class: "group-item" }, pa = { class: "sys-button" }, Ba = {
|
|
168
|
+
key: 0,
|
|
169
|
+
class: "main-back-btn"
|
|
170
|
+
}, Ia = { class: "main-body" }, fa = {
|
|
171
|
+
key: 0,
|
|
172
|
+
class: "item-view-group"
|
|
173
|
+
}, wa = { class: "group-name-wrap" }, Ea = {
|
|
174
|
+
key: 2,
|
|
175
|
+
class: "item-view-child-content"
|
|
176
|
+
}, va = /* @__PURE__ */ it({
|
|
177
|
+
__name: "index",
|
|
178
|
+
props: {
|
|
179
|
+
windowConfig: {
|
|
180
|
+
type: Object,
|
|
181
|
+
default: () => {
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
showButton: {
|
|
185
|
+
type: Boolean,
|
|
186
|
+
default: !0
|
|
187
|
+
},
|
|
188
|
+
platform: {
|
|
189
|
+
type: String,
|
|
190
|
+
default: "browser"
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
emits: ["showChild", "buildContent", "setLoginInfo"],
|
|
194
|
+
setup(Y, { emit: T }) {
|
|
195
|
+
const n = mt(ie), { selectTitle: k } = le(n), S = I(!1), M = I(), o = I(null), E = I(), b = I(!1), P = Mt(ie), { blobUrls: w } = le(P), re = I(!1), K = I(!1), W = I(!1), Z = I([]), z = I(!1), te = I(null), H = I(), $ = I(!1), ue = I(!1);
|
|
196
|
+
It("contentRef", te);
|
|
197
|
+
const U = dt(), { loginUserInfo: V } = le(U), be = qe(ie), { isEdit: ce, routeToChildPath: fe } = le(be), we = T, Ye = Xe(ie), {
|
|
198
|
+
asideMenuLoading: Ke,
|
|
199
|
+
importLoading: N,
|
|
200
|
+
activeAsideMenu: O,
|
|
201
|
+
contentLoading: me,
|
|
202
|
+
platName: Ee,
|
|
203
|
+
activeMenuPath: q
|
|
204
|
+
} = le(Ye), ee = Y, he = Ve(() => O.value.isRouter), Ge = () => {
|
|
205
|
+
sessionStorage.clear(), window.location.reload();
|
|
206
|
+
}, ve = (d) => {
|
|
207
|
+
if ((d == null ? void 0 : d.type) === "table") {
|
|
208
|
+
let v = d == null ? void 0 : d.row;
|
|
209
|
+
v && (E.value = {
|
|
210
|
+
url: v,
|
|
211
|
+
row: d == null ? void 0 : d.row
|
|
212
|
+
}, we("showChild", {
|
|
213
|
+
url: v,
|
|
214
|
+
row: d == null ? void 0 : d.row
|
|
215
|
+
}));
|
|
216
|
+
}
|
|
217
|
+
}, ke = async () => {
|
|
218
|
+
let d = {};
|
|
219
|
+
const u = await De("弯管仿真加工分析/仿真动画生成", sessionStorage.getItem("systemKey"), ""), v = await De("弯管仿真加工分析/管件解析", sessionStorage.getItem("systemKey"), "");
|
|
220
|
+
let Q = ["管长", "外径"], f = {};
|
|
221
|
+
v == null || v.forEach((c) => {
|
|
222
|
+
var t;
|
|
223
|
+
(c == null ? void 0 : c.comp) === "Form" && ((t = c == null ? void 0 : c.compData) == null || t.forEach((e) => {
|
|
224
|
+
var i;
|
|
225
|
+
(e == null ? void 0 : e.key) === "formContent" && ((i = e == null ? void 0 : e.contents) == null || i.forEach((s) => {
|
|
226
|
+
Q.includes(s == null ? void 0 : s.key) && (f[s.key] = s.value);
|
|
227
|
+
}));
|
|
228
|
+
}));
|
|
229
|
+
}), u == null || u.forEach((c) => {
|
|
230
|
+
var t, e, i, s, l, a;
|
|
231
|
+
if ((c == null ? void 0 : c.comp) === "Table") {
|
|
232
|
+
let r = [], g = (i = (e = (t = c == null ? void 0 : c.compData) == null ? void 0 : t.find((h) => (h == null ? void 0 : h.key) === "header")) == null ? void 0 : e.contents) == null ? void 0 : i.map((h) => h == null ? void 0 : h.label), j = (a = (l = (s = c == null ? void 0 : c.compData) == null ? void 0 : s.find((h) => (h == null ? void 0 : h.key) === "tableContents")) == null ? void 0 : l.contents) == null ? void 0 : a.map((h) => (h = h == null ? void 0 : h.filter((y) => !(y != null && y.id)), h));
|
|
233
|
+
j == null || j.forEach((h) => {
|
|
234
|
+
r.push(gt(h, g == null ? void 0 : g.filter((y) => y !== "操作")));
|
|
235
|
+
}), d[c.name] = r, d[c.name + "Content"] = c;
|
|
236
|
+
}
|
|
237
|
+
}), d.extra = f, M.value = d;
|
|
238
|
+
}, Fe = async () => {
|
|
239
|
+
var d, u, v, Q;
|
|
240
|
+
if ((ee == null ? void 0 : ee.platform) !== "browser") {
|
|
241
|
+
if (S.value = !0, E.value) {
|
|
242
|
+
const f = E.value;
|
|
243
|
+
let c = [];
|
|
244
|
+
typeof (f == null ? void 0 : f.url) == "string" && ((d = f == null ? void 0 : f.url) != null && d.includes(",") ? H.value = (u = f == null ? void 0 : f.url) == null ? void 0 : u.split(",") : H.value = [f == null ? void 0 : f.url]), (v = o.value) == null || v.loadModelByDefaultPath(c);
|
|
245
|
+
}
|
|
246
|
+
$.value = (Q = H.value) == null ? void 0 : Q.every((f) => f.toUpperCase().includes(".URDF"));
|
|
247
|
+
}
|
|
248
|
+
}, Pe = () => {
|
|
249
|
+
b.value = !1, o.value = null;
|
|
250
|
+
};
|
|
251
|
+
L(() => q.value, async (d) => {
|
|
252
|
+
d && (K.value = !0), d === "弯管仿真加工分析/仿真动画生成" ? W.value = !0 : W.value = !1, d === "弯管仿真加工分析/程序输出" ? z.value = !0 : z.value = !1, xe != null && xe.find((u) => {
|
|
253
|
+
var v;
|
|
254
|
+
return (u == null ? void 0 : u.key) === ((v = d == null ? void 0 : d.split("/")) == null ? void 0 : v[(d == null ? void 0 : d.split("/").length) - 1]);
|
|
255
|
+
}) ? re.value = !0 : re.value = !1;
|
|
256
|
+
}, { immediate: !0 }), L(
|
|
257
|
+
() => [w == null ? void 0 : w.value],
|
|
258
|
+
async () => {
|
|
259
|
+
var d, u, v, Q, f;
|
|
260
|
+
if (w != null && w.value && ((d = w == null ? void 0 : w.value) == null ? void 0 : d.length) > 0 && !re.value && !((u = Ue.value) != null && u.find((c) => (c == null ? void 0 : c.name) === "输入") && ((v = Ue.value) != null && v.find((c) => (c == null ? void 0 : c.name) === "输出")))) {
|
|
261
|
+
b.value = !0;
|
|
262
|
+
let c = [];
|
|
263
|
+
const t = await ((Q = Oe(w == null ? void 0 : w.value)) == null ? void 0 : Q.map(async (e) => {
|
|
264
|
+
var r, g, j, h, y, ae, oe, Ae, de, D;
|
|
265
|
+
let i, s, l;
|
|
266
|
+
e != null && e.blob.includes("undefined") ? l = (g = (r = e == null ? void 0 : e.blob) == null ? void 0 : r.split("undefined,")) == null ? void 0 : g[1] : l = e == null ? void 0 : e.blob;
|
|
267
|
+
let a = l == null ? void 0 : l.split(",");
|
|
268
|
+
if ((a == null ? void 0 : a.length) > 1) {
|
|
269
|
+
let J = await (a == null ? void 0 : a.map(async (G) => {
|
|
270
|
+
var ne, Ze, ze, _e, $e, et;
|
|
271
|
+
i = await Qe.get(G, {
|
|
272
|
+
responseType: "blob",
|
|
273
|
+
headers: {
|
|
274
|
+
"Content-Type": "application/json"
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
let ge = [];
|
|
278
|
+
if (((ne = e == null ? void 0 : e.mtlBlobs) == null ? void 0 : ne.length) > 0) {
|
|
279
|
+
let pt = await ((Ze = e == null ? void 0 : e.mtlBlobs) == null ? void 0 : Ze.map(async (Bt) => {
|
|
280
|
+
let tt = await Qe.get(Bt, {
|
|
281
|
+
responseType: "blob",
|
|
282
|
+
headers: {
|
|
283
|
+
"Content-Type": "application/json"
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
return ge.push(new Blob([tt.data], {
|
|
287
|
+
type: "application/octet-stream;charset=UTF-8"
|
|
288
|
+
})), tt;
|
|
289
|
+
}));
|
|
290
|
+
await Promise.all(pt);
|
|
291
|
+
}
|
|
292
|
+
return ((_e = G == null ? void 0 : G.split(".")) == null ? void 0 : _e[((ze = G == null ? void 0 : G.split(".")) == null ? void 0 : ze.length) - 1]) !== "undefined" && c.push({
|
|
293
|
+
suffix: "." + ((et = G == null ? void 0 : G.split(".")) == null ? void 0 : et[(($e = G == null ? void 0 : G.split(".")) == null ? void 0 : $e.length) - 1]),
|
|
294
|
+
blob: new Blob([i.data], {
|
|
295
|
+
type: "application/octet-stream;charset=UTF-8"
|
|
296
|
+
}),
|
|
297
|
+
mtlBlobs: ge
|
|
298
|
+
}), i;
|
|
299
|
+
}));
|
|
300
|
+
await Promise.all(J);
|
|
301
|
+
} else if (!(l != null && l.includes("https://")) && !(l != null && l.includes("http://"))) {
|
|
302
|
+
i = await lt({
|
|
303
|
+
url: l
|
|
304
|
+
});
|
|
305
|
+
let J = [];
|
|
306
|
+
if (((j = e == null ? void 0 : e.mtlBlobs) == null ? void 0 : j.length) > 0) {
|
|
307
|
+
let G = await ((h = e == null ? void 0 : e.mtlBlobs) == null ? void 0 : h.map(async (ge) => {
|
|
308
|
+
let ne = await lt({
|
|
309
|
+
url: ge
|
|
310
|
+
});
|
|
311
|
+
return J.push(new Blob([ne.data], {
|
|
312
|
+
type: "application/octet-stream;charset=UTF-8"
|
|
313
|
+
})), ne;
|
|
314
|
+
}));
|
|
315
|
+
await Promise.all(G);
|
|
316
|
+
}
|
|
317
|
+
s = {
|
|
318
|
+
suffix: "." + ((ae = l == null ? void 0 : l.split(".")) == null ? void 0 : ae[((y = l == null ? void 0 : l.split(".")) == null ? void 0 : y.length) - 1]),
|
|
319
|
+
blob: new Blob([i.data], {
|
|
320
|
+
type: "application/octet-stream;charset=UTF-8"
|
|
321
|
+
}),
|
|
322
|
+
mtlBlobs: J
|
|
323
|
+
};
|
|
324
|
+
} else {
|
|
325
|
+
i = await Qe.get(l, {
|
|
326
|
+
responseType: "blob",
|
|
327
|
+
headers: {
|
|
328
|
+
"Content-Type": "application/json"
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
let J = [];
|
|
332
|
+
if (((oe = e == null ? void 0 : e.mtlBlobs) == null ? void 0 : oe.length) > 0) {
|
|
333
|
+
let G = await ((Ae = e == null ? void 0 : e.mtlBlobs) == null ? void 0 : Ae.map(async (ge) => {
|
|
334
|
+
let ne = await Qe.get(ge, {
|
|
335
|
+
responseType: "blob",
|
|
336
|
+
headers: {
|
|
337
|
+
"Content-Type": "application/json"
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
return J.push(new Blob([ne.data], {
|
|
341
|
+
type: "application/octet-stream;charset=UTF-8"
|
|
342
|
+
})), ne;
|
|
343
|
+
}));
|
|
344
|
+
await Promise.all(G);
|
|
345
|
+
}
|
|
346
|
+
s = {
|
|
347
|
+
suffix: e != null && e.suffix ? e == null ? void 0 : e.suffix : "." + ((D = l == null ? void 0 : l.split(".")) == null ? void 0 : D[((de = l == null ? void 0 : l.split(".")) == null ? void 0 : de.length) - 1]),
|
|
348
|
+
blob: new Blob([i.data], {
|
|
349
|
+
type: "application/octet-stream;charset=UTF-8"
|
|
350
|
+
}),
|
|
351
|
+
mtlBlobs: J
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
s && c.push(s);
|
|
355
|
+
}));
|
|
356
|
+
await Promise.all(t), (c == null ? void 0 : c.length) !== 0 && ((f = o.value) == null || f.loadModelByDefaultPath(c));
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
{ immediate: !0, deep: !0 }
|
|
360
|
+
);
|
|
361
|
+
const Te = (d) => {
|
|
362
|
+
ue.value = !0, Z.value = d == null ? void 0 : d.map((u) => {
|
|
363
|
+
var v;
|
|
364
|
+
return u.compData = (v = u.compData) == null ? void 0 : v.map((Q) => {
|
|
365
|
+
var f;
|
|
366
|
+
return (Q == null ? void 0 : Q.key) === "formContent" && (Q.contents = (f = Q.contents) == null ? void 0 : f.map((c) => (c.disabled = !0, c))), Q;
|
|
367
|
+
}), u;
|
|
368
|
+
});
|
|
369
|
+
}, Me = async () => {
|
|
370
|
+
await Pt();
|
|
371
|
+
};
|
|
372
|
+
st(() => {
|
|
373
|
+
we("setLoginInfo", V.value);
|
|
374
|
+
});
|
|
375
|
+
const Ne = () => {
|
|
376
|
+
var v, Q;
|
|
377
|
+
if (fe.value === "" || ((Q = q.value) == null ? void 0 : Q[((v = q.value) == null ? void 0 : v.length) - 1]) === "/") return !1;
|
|
378
|
+
const d = sessionStorage.getItem("authority"), u = JSON.parse(d || "");
|
|
379
|
+
if (Array.isArray(u)) {
|
|
380
|
+
const f = Array.isArray(u) && (u == null ? void 0 : u.filter((t) => t == null ? void 0 : t.includes(fe.value))), c = f == null ? void 0 : f.map((t) => {
|
|
381
|
+
var e;
|
|
382
|
+
return ((e = t == null ? void 0 : t.split("/")) == null ? void 0 : e.pop()) || "";
|
|
383
|
+
});
|
|
384
|
+
return !!(c != null && c.includes("新增") || c != null && c.includes("新建"));
|
|
385
|
+
} else return typeof u == "string" && (u == null ? void 0 : u.toUpperCase()) === "SUPERADMIN";
|
|
386
|
+
};
|
|
387
|
+
return (d, u) => {
|
|
388
|
+
const v = X("el-dialog"), Q = X("el-button"), f = X("el-header"), c = X("el-container"), t = X("el-aside"), e = X("router-view"), i = X("el-main"), s = ft("loading");
|
|
389
|
+
return p(), R(Be, null, [
|
|
390
|
+
A(He, {
|
|
391
|
+
visible: ue.value,
|
|
392
|
+
onBeforeDestroy: u[0] || (u[0] = (l) => ue.value = !1),
|
|
393
|
+
fullScreen: !0
|
|
394
|
+
}, {
|
|
395
|
+
default: B(() => [
|
|
396
|
+
A(oa, { dialogItem: Z.value }, null, 8, ["dialogItem"])
|
|
397
|
+
]),
|
|
398
|
+
_: 1
|
|
399
|
+
}, 8, ["visible"]),
|
|
400
|
+
A(v, {
|
|
401
|
+
modelValue: S.value,
|
|
402
|
+
"onUpdate:modelValue": u[1] || (u[1] = (l) => S.value = l),
|
|
403
|
+
style: { height: "700px", width: "1800px" }
|
|
404
|
+
}, {
|
|
405
|
+
default: B(() => [
|
|
406
|
+
A(Wt, {
|
|
407
|
+
"file-urls": H.value,
|
|
408
|
+
isThreeScene: $.value,
|
|
409
|
+
onGetAnimationData: ke
|
|
410
|
+
}, null, 8, ["file-urls", "isThreeScene"])
|
|
411
|
+
]),
|
|
412
|
+
_: 1
|
|
413
|
+
}, 8, ["modelValue"]),
|
|
414
|
+
Se(A(c, { class: "client-container" }, {
|
|
415
|
+
default: B(() => [
|
|
416
|
+
A(f, { class: "client-structure-header" }, {
|
|
417
|
+
default: B(() => [
|
|
418
|
+
m("div", sa, [
|
|
419
|
+
A(Q, {
|
|
420
|
+
id: "transparentBgButton",
|
|
421
|
+
onClick: C(Qt)
|
|
422
|
+
}, {
|
|
423
|
+
default: B(() => u[4] || (u[4] = [
|
|
424
|
+
se(" 返回页面 ")
|
|
425
|
+
])),
|
|
426
|
+
_: 1,
|
|
427
|
+
__: [4]
|
|
428
|
+
}, 8, ["onClick"]),
|
|
429
|
+
A(Q, {
|
|
430
|
+
id: "transparentBgButton",
|
|
431
|
+
onClick: u[2] || (u[2] = (l) => {
|
|
432
|
+
var a, r;
|
|
433
|
+
return C(Rt)((r = (a = C(k)) == null ? void 0 : a.map((g) => g.value)) == null ? void 0 : r.join("/"));
|
|
434
|
+
})
|
|
435
|
+
}, {
|
|
436
|
+
icon: B(() => [
|
|
437
|
+
A(Ce, { name: "Store" })
|
|
438
|
+
]),
|
|
439
|
+
default: B(() => [
|
|
440
|
+
u[5] || (u[5] = se(" 保存页面 "))
|
|
441
|
+
]),
|
|
442
|
+
_: 1,
|
|
443
|
+
__: [5]
|
|
444
|
+
})
|
|
445
|
+
]),
|
|
446
|
+
m("div", ia, [
|
|
447
|
+
A(ea, {
|
|
448
|
+
breadArray: C(k),
|
|
449
|
+
onClick: C(Ut)
|
|
450
|
+
}, null, 8, ["breadArray", "onClick"])
|
|
451
|
+
]),
|
|
452
|
+
m("div", ra, [
|
|
453
|
+
Le(d.$slots, "default", {}, void 0, !0),
|
|
454
|
+
A(Je, {
|
|
455
|
+
size: 35,
|
|
456
|
+
disabled: !0,
|
|
457
|
+
userInfo: C(V)
|
|
458
|
+
}, null, 8, ["userInfo"])
|
|
459
|
+
])
|
|
460
|
+
]),
|
|
461
|
+
_: 3
|
|
462
|
+
}),
|
|
463
|
+
C(ce) === "edit" ? (p(), x(c, {
|
|
464
|
+
key: 0,
|
|
465
|
+
class: "model-operate",
|
|
466
|
+
style: { "margin-top": "10px", height: "0px" }
|
|
467
|
+
}, {
|
|
468
|
+
default: B(() => [
|
|
469
|
+
m("div", ca, [
|
|
470
|
+
A(ct)
|
|
471
|
+
]),
|
|
472
|
+
m("div", ua, [
|
|
473
|
+
A(ut)
|
|
474
|
+
]),
|
|
475
|
+
m("div", Aa, [
|
|
476
|
+
A(At)
|
|
477
|
+
])
|
|
478
|
+
]),
|
|
479
|
+
_: 1
|
|
480
|
+
})) : F("", !0)
|
|
481
|
+
]),
|
|
482
|
+
_: 3
|
|
483
|
+
}, 512), [
|
|
484
|
+
[at, C(ce) === "edit"]
|
|
485
|
+
]),
|
|
486
|
+
Se((p(), x(c, {
|
|
487
|
+
class: "client-container",
|
|
488
|
+
"element-loading-text": "正在加载页面数据..."
|
|
489
|
+
}, {
|
|
490
|
+
default: B(() => [
|
|
491
|
+
A(f, { class: "client-header" }, {
|
|
492
|
+
default: B(() => [
|
|
493
|
+
m("div", {
|
|
494
|
+
class: "client-header-logo",
|
|
495
|
+
onClick: Fe
|
|
496
|
+
}, _(C(Ee) === "" ? "ISIP" : C(Ee)), 1),
|
|
497
|
+
m("div", da, [
|
|
498
|
+
A(Xt, { mode: "horizontal" })
|
|
499
|
+
]),
|
|
500
|
+
m("div", ga, [
|
|
501
|
+
ee != null && ee.showButton && C(ce) === "view" ? (p(), x(Q, {
|
|
502
|
+
key: 0,
|
|
503
|
+
class: "system-default-button",
|
|
504
|
+
onClick: C(Dt)
|
|
505
|
+
}, {
|
|
506
|
+
icon: B(() => [
|
|
507
|
+
A(Ce, { name: "write" })
|
|
508
|
+
]),
|
|
509
|
+
default: B(() => [
|
|
510
|
+
u[6] || (u[6] = se(" 界面修改 "))
|
|
511
|
+
]),
|
|
512
|
+
_: 1,
|
|
513
|
+
__: [6]
|
|
514
|
+
}, 8, ["onClick"])) : F("", !0),
|
|
515
|
+
Le(d.$slots, "default", {}, void 0, !0),
|
|
516
|
+
C(ce) === "view" ? (p(), x(Q, {
|
|
517
|
+
key: 1,
|
|
518
|
+
class: "system-default-button"
|
|
519
|
+
}, {
|
|
520
|
+
icon: B(() => [
|
|
521
|
+
A(Ce, { name: "three" })
|
|
522
|
+
]),
|
|
523
|
+
default: B(() => [
|
|
524
|
+
u[7] || (u[7] = se(" 三维查看 "))
|
|
525
|
+
]),
|
|
526
|
+
_: 1,
|
|
527
|
+
__: [7]
|
|
528
|
+
})) : F("", !0),
|
|
529
|
+
A(ht, null, {
|
|
530
|
+
dropTitle: B(() => [
|
|
531
|
+
A(Je, {
|
|
532
|
+
size: 35,
|
|
533
|
+
disabled: !0,
|
|
534
|
+
userInfo: C(V)
|
|
535
|
+
}, null, 8, ["userInfo"])
|
|
536
|
+
]),
|
|
537
|
+
dropMenu: B(() => {
|
|
538
|
+
var l, a, r, g, j, h;
|
|
539
|
+
return [
|
|
540
|
+
m("div", ya, [
|
|
541
|
+
m("div", Ca, [
|
|
542
|
+
A(Je, {
|
|
543
|
+
size: 35,
|
|
544
|
+
disabled: !0,
|
|
545
|
+
userInfo: C(V)
|
|
546
|
+
}, null, 8, ["userInfo"]),
|
|
547
|
+
m("div", ma, [
|
|
548
|
+
m("div", null, [
|
|
549
|
+
m("span", null, _(((l = C(V)) == null ? void 0 : l.account) || ((a = C(V)) == null ? void 0 : a.账号) || "未知"), 1),
|
|
550
|
+
m("span", null, _(((g = (r = C(V)) == null ? void 0 : r.layer) == null ? void 0 : g.toUpperCase()) === "SUPERADMIN" ? "超级管理员" : ((j = C(V)) == null ? void 0 : j.角色名称) ?? "未知"), 1)
|
|
551
|
+
]),
|
|
552
|
+
m("div", null, _(((h = C(V)) == null ? void 0 : h.工号) || "未知"), 1)
|
|
553
|
+
])
|
|
554
|
+
]),
|
|
555
|
+
m("div", ha, [
|
|
556
|
+
m("div", null, [
|
|
557
|
+
A(Ce, {
|
|
558
|
+
name: "personal",
|
|
559
|
+
style: { width: "15px", height: "15px" }
|
|
560
|
+
}),
|
|
561
|
+
u[8] || (u[8] = m("span", null, "个人主页", -1))
|
|
562
|
+
]),
|
|
563
|
+
m("div", null, [
|
|
564
|
+
A(Ce, {
|
|
565
|
+
name: "message",
|
|
566
|
+
style: { width: "15px", height: "15px" }
|
|
567
|
+
}),
|
|
568
|
+
u[9] || (u[9] = m("span", null, "消息中心", -1))
|
|
569
|
+
])
|
|
570
|
+
]),
|
|
571
|
+
m("div", pa, [
|
|
572
|
+
m("div", null, [
|
|
573
|
+
A(Ce, {
|
|
574
|
+
name: "exit",
|
|
575
|
+
style: { width: "15px", height: "15px", color: "#EB503D" }
|
|
576
|
+
}),
|
|
577
|
+
A(pe, {
|
|
578
|
+
emptyColor: !0,
|
|
579
|
+
class: "menu-button",
|
|
580
|
+
onClickTrigger: Ge,
|
|
581
|
+
modelValue: "退出登录",
|
|
582
|
+
buttonType: "",
|
|
583
|
+
style: { color: "#EB503D" }
|
|
584
|
+
})
|
|
585
|
+
])
|
|
586
|
+
])
|
|
587
|
+
])
|
|
588
|
+
];
|
|
589
|
+
}),
|
|
590
|
+
_: 1
|
|
591
|
+
})
|
|
592
|
+
])
|
|
593
|
+
]),
|
|
594
|
+
_: 3
|
|
595
|
+
}),
|
|
596
|
+
A(c, { class: "client-body" }, {
|
|
597
|
+
default: B(() => [
|
|
598
|
+
A(i, { class: "client-main" }, {
|
|
599
|
+
default: B(() => {
|
|
600
|
+
var l, a, r, g, j, h;
|
|
601
|
+
return [
|
|
602
|
+
Se((p(), x(t, {
|
|
603
|
+
class: "client-aside",
|
|
604
|
+
style: We({ backgroundImage: Y.platform === "client" ? `url(${C(na)})` : `url(${C(la)})` }),
|
|
605
|
+
"element-loading-text": "正在加载数据..."
|
|
606
|
+
}, {
|
|
607
|
+
default: B(() => [
|
|
608
|
+
A(Jt, { mode: "vertical" })
|
|
609
|
+
]),
|
|
610
|
+
_: 1
|
|
611
|
+
}, 8, ["style"])), [
|
|
612
|
+
[s, C(Ke)]
|
|
613
|
+
]),
|
|
614
|
+
Se((p(), R("div", {
|
|
615
|
+
class: "client-main-operate",
|
|
616
|
+
ref_key: "contentRef",
|
|
617
|
+
ref: te,
|
|
618
|
+
"element-loading-text": "正在加载页面数据..."
|
|
619
|
+
}, [
|
|
620
|
+
((a = C(q)) == null ? void 0 : a[((l = C(q)) == null ? void 0 : l.length) - 1]) === "/" || (r = C(q)) != null && r.includes("updateLoading") || (g = C(q)) != null && g.includes("loading") ? (p(), R("div", Ba, [
|
|
621
|
+
A(pe, {
|
|
622
|
+
class: "calculator-content back-content",
|
|
623
|
+
onClickTrigger: u[3] || (u[3] = (y) => C(jt)()),
|
|
624
|
+
modelValue: "返回"
|
|
625
|
+
})
|
|
626
|
+
])) : F("", !0),
|
|
627
|
+
m("div", Ia, [
|
|
628
|
+
he.value ? (p(), x(e, { key: 0 })) : F("", !0),
|
|
629
|
+
he.value ? F("", !0) : (p(!0), R(Be, { key: 1 }, je((j = C(Ue)) == null ? void 0 : j.filter((y) => y.comp !== "FormTop"), (y, ae) => {
|
|
630
|
+
var oe;
|
|
631
|
+
return p(), R("div", {
|
|
632
|
+
class: "item-view-content",
|
|
633
|
+
key: ae,
|
|
634
|
+
style: We({ display: (y == null ? void 0 : y.isShow) === !1 ? "none" : "flex" })
|
|
635
|
+
}, [
|
|
636
|
+
((oe = y == null ? void 0 : y.comp) == null ? void 0 : oe.toUpperCase()) !== "TABLE" && y.name ? (p(), R("div", fa, [
|
|
637
|
+
m("div", wa, _(y.name), 1)
|
|
638
|
+
])) : F("", !0),
|
|
639
|
+
C(bt) ? (p(), x(rt(C(Ct)(y.comp)), {
|
|
640
|
+
compName: y.name,
|
|
641
|
+
itemData: y == null ? void 0 : y.compData,
|
|
642
|
+
childItemData: y == null ? void 0 : y.itemChildData,
|
|
643
|
+
key: C(Ft),
|
|
644
|
+
onChange: C(Gt),
|
|
645
|
+
index: (y == null ? void 0 : y.id) ?? ae,
|
|
646
|
+
onContentChange: C(Kt),
|
|
647
|
+
onPageChange: C(Yt),
|
|
648
|
+
onRowClick: ve,
|
|
649
|
+
onRouteUrl: Te,
|
|
650
|
+
parentTableId: y == null ? void 0 : y.tableId
|
|
651
|
+
}, null, 40, ["compName", "itemData", "childItemData", "onChange", "index", "onContentChange", "onPageChange", "parentTableId"])) : F("", !0)
|
|
652
|
+
], 4);
|
|
653
|
+
}), 128)),
|
|
654
|
+
!he.value && !((h = C(Ue)) != null && h.find((y) => y.comp === "methodButton")) ? (p(), R("div", Ea, [
|
|
655
|
+
Ne() ? (p(), x(pe, {
|
|
656
|
+
key: 0,
|
|
657
|
+
class: "calculator-content",
|
|
658
|
+
onClickTrigger: Me,
|
|
659
|
+
modelValue: "保存"
|
|
660
|
+
})) : F("", !0)
|
|
661
|
+
])) : F("", !0)
|
|
662
|
+
])
|
|
663
|
+
])), [
|
|
664
|
+
[s, C(me)]
|
|
665
|
+
])
|
|
666
|
+
];
|
|
667
|
+
}),
|
|
668
|
+
_: 1
|
|
669
|
+
})
|
|
670
|
+
]),
|
|
671
|
+
_: 1
|
|
672
|
+
}),
|
|
673
|
+
m("div", null, [
|
|
674
|
+
A(He, {
|
|
675
|
+
visible: b.value,
|
|
676
|
+
onBeforeDestroy: Pe,
|
|
677
|
+
style: { height: "700px", width: "1000px" }
|
|
678
|
+
}, {
|
|
679
|
+
default: B(() => [
|
|
680
|
+
A(xt, {
|
|
681
|
+
ref_key: "threeModelRef",
|
|
682
|
+
ref: o
|
|
683
|
+
}, null, 512)
|
|
684
|
+
]),
|
|
685
|
+
_: 1
|
|
686
|
+
}, 8, ["visible"])
|
|
687
|
+
])
|
|
688
|
+
]),
|
|
689
|
+
_: 3
|
|
690
|
+
})), [
|
|
691
|
+
[at, C(ce) === "view"],
|
|
692
|
+
[s, C(N)]
|
|
693
|
+
])
|
|
694
|
+
], 64);
|
|
695
|
+
};
|
|
696
|
+
}
|
|
697
|
+
}), ka = /* @__PURE__ */ Ie(va, [["__scopeId", "data-v-d717d701"]]), Sa = { class: "system-wrap" }, Qa = {
|
|
698
|
+
__name: "index",
|
|
699
|
+
props: {
|
|
700
|
+
windowConfig: {
|
|
701
|
+
type: Object,
|
|
702
|
+
default: () => {
|
|
703
|
+
}
|
|
704
|
+
},
|
|
705
|
+
platform: {
|
|
706
|
+
type: String,
|
|
707
|
+
default: "browser"
|
|
708
|
+
},
|
|
709
|
+
showButton: {
|
|
710
|
+
type: Boolean,
|
|
711
|
+
default: !0
|
|
712
|
+
},
|
|
713
|
+
content: String,
|
|
714
|
+
jsonContents: Array
|
|
715
|
+
},
|
|
716
|
+
emits: ["buildContent", "showChild"],
|
|
717
|
+
setup(Y, { emit: T }) {
|
|
718
|
+
const n = qe(ie), k = mt(ie), S = Xe();
|
|
719
|
+
I(!1);
|
|
720
|
+
const M = I(!0), o = Y, E = T, b = (K) => {
|
|
721
|
+
E("showChild", K);
|
|
722
|
+
}, P = Ve(() => {
|
|
723
|
+
switch (o == null ? void 0 : o.platform) {
|
|
724
|
+
case "browser":
|
|
725
|
+
return Ht;
|
|
726
|
+
case "client":
|
|
727
|
+
return Lt;
|
|
728
|
+
}
|
|
729
|
+
}), w = (K) => {
|
|
730
|
+
const W = document.documentElement;
|
|
731
|
+
K == null || K.forEach((Z) => {
|
|
732
|
+
W.style.setProperty(Z.name, Z.value);
|
|
733
|
+
});
|
|
734
|
+
};
|
|
735
|
+
L(() => o.platform, (K, W) => {
|
|
736
|
+
K && w(P.value);
|
|
737
|
+
}, { immediate: !0 });
|
|
738
|
+
const re = () => {
|
|
739
|
+
E("buildContent");
|
|
740
|
+
};
|
|
741
|
+
return L(
|
|
742
|
+
() => [o == null ? void 0 : o.content, o == null ? void 0 : o.jsonContents],
|
|
743
|
+
async () => {
|
|
744
|
+
var Z, z, te, H;
|
|
745
|
+
if (((Z = o == null ? void 0 : o.jsonContents) == null ? void 0 : Z.length) > 0) {
|
|
746
|
+
n.setOriginalData(o == null ? void 0 : o.jsonContents);
|
|
747
|
+
return;
|
|
748
|
+
}
|
|
749
|
+
if (!(o != null && o.content) || ((z = o == null ? void 0 : o.content) == null ? void 0 : z.length) === 0) return;
|
|
750
|
+
M.value = !0, S.setImportLoading(!0);
|
|
751
|
+
let K = [], W = [];
|
|
752
|
+
k.setSelectTitle([]), k.setSelectIndex(""), k.setSelectMenu(""), (H = (te = o == null ? void 0 : o.content) == null ? void 0 : te.filter(($) => $ !== "")) == null || H.forEach(($) => {
|
|
753
|
+
W.push(Et($));
|
|
754
|
+
}), K = W == null ? void 0 : W[0], await vt(K), await yt(), n.setOriginalData(K), S.setImportLoading(!1);
|
|
755
|
+
},
|
|
756
|
+
{ deep: !0, immediate: !0 }
|
|
757
|
+
), (K, W) => (p(), R("div", Sa, [
|
|
758
|
+
A(ka, {
|
|
759
|
+
windowConfig: Y.windowConfig,
|
|
760
|
+
showButton: o == null ? void 0 : o.showButton,
|
|
761
|
+
onBuildContent: re,
|
|
762
|
+
onShowChild: b,
|
|
763
|
+
platform: o == null ? void 0 : o.platform
|
|
764
|
+
}, {
|
|
765
|
+
default: B(() => [
|
|
766
|
+
Le(K.$slots, "default", {}, void 0, !0)
|
|
767
|
+
]),
|
|
768
|
+
_: 3
|
|
769
|
+
}, 8, ["windowConfig", "showButton", "platform"])
|
|
770
|
+
]));
|
|
771
|
+
}
|
|
772
|
+
}, Ra = /* @__PURE__ */ Ie(Qa, [["__scopeId", "data-v-adeee6ec"]]), Ua = { class: "add-model-content" }, Da = {
|
|
773
|
+
key: 0,
|
|
774
|
+
class: "model-operate"
|
|
775
|
+
}, ja = { class: "model-select" }, ba = { class: "model-fill" }, Ya = {
|
|
776
|
+
key: 1,
|
|
777
|
+
class: "model-view"
|
|
778
|
+
}, Ka = {
|
|
779
|
+
class: "drop-menu",
|
|
780
|
+
style: { width: "120px" }
|
|
781
|
+
}, Ga = { class: "select-model-wrapper" }, Fa = { class: "create-project" }, Pa = { class: "create-project-button" }, Ta = { class: "enter-project" }, Ma = {
|
|
782
|
+
key: 0,
|
|
783
|
+
class: "enter-project-list"
|
|
784
|
+
}, Na = ["onClick"], Ja = { class: "project-title" }, xa = { class: "project-operate" }, Wa = { class: "enter-project-button" }, La = {
|
|
785
|
+
__name: "index",
|
|
786
|
+
props: {
|
|
787
|
+
mode: {
|
|
788
|
+
type: String,
|
|
789
|
+
default: "view"
|
|
790
|
+
},
|
|
791
|
+
content: {
|
|
792
|
+
type: String,
|
|
793
|
+
default: ""
|
|
794
|
+
},
|
|
795
|
+
jsonContents: {
|
|
796
|
+
type: Array,
|
|
797
|
+
default: () => []
|
|
798
|
+
},
|
|
799
|
+
showButton: {
|
|
800
|
+
type: Boolean,
|
|
801
|
+
default: !0
|
|
802
|
+
},
|
|
803
|
+
pathContent: {
|
|
804
|
+
type: String,
|
|
805
|
+
default: ""
|
|
806
|
+
},
|
|
807
|
+
pageKey: {
|
|
808
|
+
type: String,
|
|
809
|
+
default: ""
|
|
810
|
+
},
|
|
811
|
+
oldSystemKey: {
|
|
812
|
+
type: String,
|
|
813
|
+
default: ""
|
|
814
|
+
}
|
|
815
|
+
},
|
|
816
|
+
emits: ["change", "contentChange", "buildContent", "openThreeBuild", "threeData"],
|
|
817
|
+
setup(Y, { emit: T }) {
|
|
818
|
+
const n = Y, k = T;
|
|
819
|
+
Nt();
|
|
820
|
+
const S = I([]), M = I(0), o = I([]), E = I([]), b = I(0), P = qe(ie), w = Xe(ie), { itemData: re, originalData: K } = le(P), { activeMenuPath: W, platform: Z } = le(w), z = I(null), te = I(0), H = I([]);
|
|
821
|
+
I("");
|
|
822
|
+
const $ = I(0), ue = dt(), { loginUserInfo: U, systemKey: V } = le(ue), be = () => {
|
|
823
|
+
k("buildContent");
|
|
824
|
+
};
|
|
825
|
+
L(
|
|
826
|
+
() => n == null ? void 0 : n.pageKey,
|
|
827
|
+
async () => {
|
|
828
|
+
let t = {};
|
|
829
|
+
if ((n == null ? void 0 : n.pageKey) !== "") {
|
|
830
|
+
const e = await De(n == null ? void 0 : n.pageKey, sessionStorage.getItem("systemKey"), ""), i = await De("弯管仿真加工分析/管件解析", sessionStorage.getItem("systemKey"), "");
|
|
831
|
+
let s = ["管长", "外径"], l = {};
|
|
832
|
+
i == null || i.forEach((a) => {
|
|
833
|
+
var r;
|
|
834
|
+
(a == null ? void 0 : a.comp) === "Form" && ((r = a == null ? void 0 : a.compData) == null || r.forEach((g) => {
|
|
835
|
+
var j;
|
|
836
|
+
(g == null ? void 0 : g.key) === "formContent" && ((j = g == null ? void 0 : g.contents) == null || j.forEach((h) => {
|
|
837
|
+
s.includes(h == null ? void 0 : h.key) && (l[h.key] = h.value);
|
|
838
|
+
}));
|
|
839
|
+
}));
|
|
840
|
+
}), e == null || e.forEach((a) => {
|
|
841
|
+
var r, g, j, h, y, ae;
|
|
842
|
+
if ((a == null ? void 0 : a.comp) === "Table") {
|
|
843
|
+
let oe = [], Ae = (j = (g = (r = a == null ? void 0 : a.compData) == null ? void 0 : r.find((D) => (D == null ? void 0 : D.key) === "header")) == null ? void 0 : g.contents) == null ? void 0 : j.map((D) => D == null ? void 0 : D.label), de = (ae = (y = (h = a == null ? void 0 : a.compData) == null ? void 0 : h.find((D) => (D == null ? void 0 : D.key) === "tableContents")) == null ? void 0 : y.contents) == null ? void 0 : ae.map((D) => (D = D == null ? void 0 : D.filter((J) => !(J != null && J.id)), D));
|
|
844
|
+
de == null || de.forEach((D) => {
|
|
845
|
+
oe.push(gt(D, Ae == null ? void 0 : Ae.filter((J) => J !== "操作")));
|
|
846
|
+
}), t[a.name] = oe, t[a.name + "Content"] = a;
|
|
847
|
+
}
|
|
848
|
+
}), t.extra = l, k("threeData", t);
|
|
849
|
+
}
|
|
850
|
+
},
|
|
851
|
+
{ deep: !0, immediate: !0 }
|
|
852
|
+
);
|
|
853
|
+
const ce = (t) => {
|
|
854
|
+
k("openThreeBuild", t);
|
|
855
|
+
};
|
|
856
|
+
L(
|
|
857
|
+
() => n == null ? void 0 : n.pathContent,
|
|
858
|
+
() => {
|
|
859
|
+
(n == null ? void 0 : n.pathContent) !== "" && P.setSystemPath(n == null ? void 0 : n.pathContent);
|
|
860
|
+
},
|
|
861
|
+
{
|
|
862
|
+
deep: !0,
|
|
863
|
+
immediate: !0
|
|
864
|
+
}
|
|
865
|
+
);
|
|
866
|
+
const fe = (t) => {
|
|
867
|
+
k("contentChange", t);
|
|
868
|
+
}, we = (t) => {
|
|
869
|
+
var i;
|
|
870
|
+
const e = (i = Oe(t == null ? void 0 : t.wholeValue)) == null ? void 0 : i.map((s) => {
|
|
871
|
+
var l;
|
|
872
|
+
return (s == null ? void 0 : s.comp) === "Form" && (s.compData = (l = s.compData) == null ? void 0 : l.map((a) => ((a == null ? void 0 : a.key) === "formContent" && (a.contents = Tt(a == null ? void 0 : a.contents)), a))), s;
|
|
873
|
+
});
|
|
874
|
+
k("change", {
|
|
875
|
+
originalContents: K.value,
|
|
876
|
+
currentContents: t == null ? void 0 : t.wholeValue,
|
|
877
|
+
editContent: t == null ? void 0 : t.editValue,
|
|
878
|
+
arrayToContents: e
|
|
879
|
+
});
|
|
880
|
+
};
|
|
881
|
+
L(
|
|
882
|
+
() => o.value,
|
|
883
|
+
() => {
|
|
884
|
+
$.value === o.value.length && o.value.length !== 0 && (S.value = o.value);
|
|
885
|
+
},
|
|
886
|
+
{ deep: !0, immediate: !0 }
|
|
887
|
+
);
|
|
888
|
+
const Ye = () => {
|
|
889
|
+
z.value !== null && z.value.click();
|
|
890
|
+
}, Ke = async (t) => {
|
|
891
|
+
w.setActiveMenuPath(""), w.setActiveTopMenuPath(""), w.setAsideMenus([]);
|
|
892
|
+
const e = t.target.files;
|
|
893
|
+
if (!e) return;
|
|
894
|
+
new FileReader(), S.value = [], o.value = [], $.value = e.length;
|
|
895
|
+
const i = Array.from(e).map(async (s) => await new Promise((l) => {
|
|
896
|
+
const a = new FileReader();
|
|
897
|
+
a.onload = (r) => {
|
|
898
|
+
try {
|
|
899
|
+
o.value.push(r.target.result), te.value++;
|
|
900
|
+
} catch (g) {
|
|
901
|
+
console.error("解析失败:", g);
|
|
902
|
+
return;
|
|
903
|
+
}
|
|
904
|
+
}, a.onerror = () => l(`读取 ${s.name} 失败`), a.readAsText(s), t.target.value = "", z.value = null, M.value++;
|
|
905
|
+
}));
|
|
906
|
+
await Promise.all(i);
|
|
907
|
+
};
|
|
908
|
+
L(
|
|
909
|
+
() => [n == null ? void 0 : n.content, n == null ? void 0 : n.jsonContents],
|
|
910
|
+
async () => {
|
|
911
|
+
await yt(), S.value = n.content, E.value = n == null ? void 0 : n.jsonContents;
|
|
912
|
+
},
|
|
913
|
+
{ deep: !0, immediate: !0 }
|
|
914
|
+
), L(
|
|
915
|
+
() => te.value,
|
|
916
|
+
() => {
|
|
917
|
+
var t;
|
|
918
|
+
((t = H.value) == null ? void 0 : t.length) !== 0 && (P.setOriginalData(H.value), P.setItemData(H.value));
|
|
919
|
+
},
|
|
920
|
+
{ deep: !0, immediate: !0 }
|
|
921
|
+
), I(""), I("");
|
|
922
|
+
const N = I({
|
|
923
|
+
targetModel: "",
|
|
924
|
+
modelName: ""
|
|
925
|
+
}), O = I([]), me = I(!1), Ee = Ve(() => {
|
|
926
|
+
const t = (O == null ? void 0 : O.value) || [];
|
|
927
|
+
if (!t.length)
|
|
928
|
+
return !1;
|
|
929
|
+
const e = t == null ? void 0 : t[0], i = e == null ? void 0 : e.name;
|
|
930
|
+
return !(t.length === 1 && !i);
|
|
931
|
+
}), q = () => {
|
|
932
|
+
me.value = !1;
|
|
933
|
+
}, ee = async () => {
|
|
934
|
+
var l, a, r;
|
|
935
|
+
const t = (l = U == null ? void 0 : U.value) == null ? void 0 : l.account, e = (a = U == null ? void 0 : U.value) == null ? void 0 : a.password;
|
|
936
|
+
if (!t)
|
|
937
|
+
return;
|
|
938
|
+
const i = await Re({
|
|
939
|
+
valueLikes: {
|
|
940
|
+
"tableData.account": t,
|
|
941
|
+
"tableData.password": e
|
|
942
|
+
}
|
|
943
|
+
});
|
|
944
|
+
let s = ((r = i == null ? void 0 : i.data) == null ? void 0 : r.result) || [];
|
|
945
|
+
return s = s == null ? void 0 : s.filter((g) => {
|
|
946
|
+
var h, y;
|
|
947
|
+
return ((y = (h = g == null ? void 0 : g.value) == null ? void 0 : h.tableData) == null ? void 0 : y.account) === t;
|
|
948
|
+
}), s;
|
|
949
|
+
}, he = async () => {
|
|
950
|
+
const t = await ee(), e = t == null ? void 0 : t.map((i) => i == null ? void 0 : i.key);
|
|
951
|
+
O.value = e;
|
|
952
|
+
}, Ge = () => {
|
|
953
|
+
if (!N.value.targetModel) {
|
|
954
|
+
const e = O.value, i = e == null ? void 0 : e[0], s = i == null ? void 0 : i.systemKey;
|
|
955
|
+
N.value.targetModel = s;
|
|
956
|
+
}
|
|
957
|
+
}, ve = async () => {
|
|
958
|
+
var e;
|
|
959
|
+
(e = U == null ? void 0 : U.value) != null && e.account && (me.value = !0, await he(), Ge());
|
|
960
|
+
}, ke = (t) => {
|
|
961
|
+
sessionStorage.setItem("systemKey", t), ue.setSystemKey(t), Vt();
|
|
962
|
+
}, Fe = (t) => {
|
|
963
|
+
N.value.targetModel = t;
|
|
964
|
+
}, Pe = async () => {
|
|
965
|
+
var t;
|
|
966
|
+
if (Ee.value) {
|
|
967
|
+
if (!((t = N == null ? void 0 : N.value) != null && t.targetModel)) {
|
|
968
|
+
ye.warning("请先选择模型");
|
|
969
|
+
return;
|
|
970
|
+
}
|
|
971
|
+
q(), ke(N.value.targetModel);
|
|
972
|
+
}
|
|
973
|
+
}, Te = async () => {
|
|
974
|
+
var e, i, s;
|
|
975
|
+
(e = U == null ? void 0 : U.value) == null || e.account, (i = U == null ? void 0 : U.value) == null || i.password;
|
|
976
|
+
const t = await Re({
|
|
977
|
+
key: {
|
|
978
|
+
pageKey: "/user"
|
|
979
|
+
}
|
|
980
|
+
});
|
|
981
|
+
return (s = t == null ? void 0 : t.data) == null ? void 0 : s.result;
|
|
982
|
+
}, Me = async () => {
|
|
983
|
+
const t = await Te();
|
|
984
|
+
return t == null ? void 0 : t.reduce((i, s) => {
|
|
985
|
+
var r;
|
|
986
|
+
const l = ((r = s == null ? void 0 : s.key) == null ? void 0 : r.systemKey) || -1, a = Number(l);
|
|
987
|
+
return Math.max(a, i);
|
|
988
|
+
}, 0);
|
|
989
|
+
}, Ne = async () => {
|
|
990
|
+
const t = await d();
|
|
991
|
+
ke(t), q();
|
|
992
|
+
}, d = async () => {
|
|
993
|
+
var a, r, g;
|
|
994
|
+
const t = await Me();
|
|
995
|
+
if (!t)
|
|
996
|
+
return;
|
|
997
|
+
const e = t + 1, i = e.toString(), s = (a = U == null ? void 0 : U.value) == null ? void 0 : a.account, l = (r = U == null ? void 0 : U.value) == null ? void 0 : r.password;
|
|
998
|
+
return (g = N == null ? void 0 : N.value) == null || g.modelName, await kt({
|
|
999
|
+
key: {
|
|
1000
|
+
pageKey: "/user",
|
|
1001
|
+
systemKey: i,
|
|
1002
|
+
layer: "superAdmin"
|
|
1003
|
+
},
|
|
1004
|
+
value: {
|
|
1005
|
+
tableData: {
|
|
1006
|
+
account: s,
|
|
1007
|
+
password: l
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
}), e;
|
|
1011
|
+
}, u = async (t) => {
|
|
1012
|
+
if (!t)
|
|
1013
|
+
return;
|
|
1014
|
+
const e = (t == null ? void 0 : t.key) || {}, i = {
|
|
1015
|
+
id: t == null ? void 0 : t.id,
|
|
1016
|
+
key: {
|
|
1017
|
+
...e,
|
|
1018
|
+
name: ""
|
|
1019
|
+
}
|
|
1020
|
+
};
|
|
1021
|
+
await St(i);
|
|
1022
|
+
}, v = async (t) => {
|
|
1023
|
+
var i;
|
|
1024
|
+
const e = (i = t == null ? void 0 : t.map((s) => s == null ? void 0 : s.id)) == null ? void 0 : i.filter((s) => s);
|
|
1025
|
+
(e == null ? void 0 : e.length) > 0 && await nt({
|
|
1026
|
+
ids: e
|
|
1027
|
+
});
|
|
1028
|
+
}, Q = async () => {
|
|
1029
|
+
N.value.targetModel = "", await ve();
|
|
1030
|
+
}, f = async (t) => {
|
|
1031
|
+
var s, l;
|
|
1032
|
+
w.setImportLoading(!0);
|
|
1033
|
+
const e = await ee().catch((a) => (w.setImportLoading(!1), ye.error("删除失败"), Promise.reject(a))), i = e == null ? void 0 : e.find((a) => {
|
|
1034
|
+
var g;
|
|
1035
|
+
const r = (g = a == null ? void 0 : a.key) == null ? void 0 : g.systemKey;
|
|
1036
|
+
return t === r;
|
|
1037
|
+
});
|
|
1038
|
+
if (i && (e == null ? void 0 : e.length) === 1 && await u(i).catch((a) => (w.setImportLoading(!1), ye.error("删除失败"), Promise.reject(a))), i && (e == null ? void 0 : e.length) > 1) {
|
|
1039
|
+
const a = await Re({
|
|
1040
|
+
key: {
|
|
1041
|
+
systemKey: t
|
|
1042
|
+
}
|
|
1043
|
+
}).catch((r) => (w.setImportLoading(!1), ye.error("删除失败"), Promise.reject(r)));
|
|
1044
|
+
if (((s = a == null ? void 0 : a.data) == null ? void 0 : s.code) === 200) {
|
|
1045
|
+
const r = (l = a == null ? void 0 : a.data) == null ? void 0 : l.result;
|
|
1046
|
+
await v(r).catch((g) => (w.setImportLoading(!1), ye.error("删除失败"), Promise.reject(g)));
|
|
1047
|
+
}
|
|
1048
|
+
}
|
|
1049
|
+
await Q(), w.setImportLoading(!1), ye.success("删除成功");
|
|
1050
|
+
};
|
|
1051
|
+
L(() => V.value, (t) => {
|
|
1052
|
+
(n == null ? void 0 : n.oldSystemKey) === "" && (N.value.targetModel = t, t || ve());
|
|
1053
|
+
}, { deep: !0, immediate: !0 });
|
|
1054
|
+
const c = async () => {
|
|
1055
|
+
var e, i, s, l;
|
|
1056
|
+
w.setImportLoading(!0);
|
|
1057
|
+
const t = await Re({
|
|
1058
|
+
key: {
|
|
1059
|
+
systemKey: sessionStorage.getItem("systemKey")
|
|
1060
|
+
}
|
|
1061
|
+
});
|
|
1062
|
+
if (((e = t == null ? void 0 : t.data) == null ? void 0 : e.code) === 200) {
|
|
1063
|
+
let a = (l = (s = (i = t == null ? void 0 : t.data) == null ? void 0 : i.result) == null ? void 0 : s.map((r) => {
|
|
1064
|
+
var g;
|
|
1065
|
+
if (((g = r == null ? void 0 : r.key) == null ? void 0 : g.layer) !== "superAdmin")
|
|
1066
|
+
return r == null ? void 0 : r.id;
|
|
1067
|
+
})) == null ? void 0 : l.filter((r) => r);
|
|
1068
|
+
(a == null ? void 0 : a.length) > 0 && await nt({
|
|
1069
|
+
ids: a
|
|
1070
|
+
}), w.setRawMenus([]);
|
|
1071
|
+
}
|
|
1072
|
+
w.setImportLoading(!1);
|
|
1073
|
+
};
|
|
1074
|
+
return (t, e) => {
|
|
1075
|
+
const i = X("svg-icon"), s = X("el-button");
|
|
1076
|
+
return p(), R("div", Ua, [
|
|
1077
|
+
(n == null ? void 0 : n.mode) === "edit" ? (p(), R("div", Da, [
|
|
1078
|
+
m("div", ja, [
|
|
1079
|
+
A(ct)
|
|
1080
|
+
]),
|
|
1081
|
+
(p(), R("div", {
|
|
1082
|
+
class: "model-show",
|
|
1083
|
+
key: b.value
|
|
1084
|
+
}, [
|
|
1085
|
+
A(ut)
|
|
1086
|
+
])),
|
|
1087
|
+
m("div", ba, [
|
|
1088
|
+
A(At)
|
|
1089
|
+
])
|
|
1090
|
+
])) : F("", !0),
|
|
1091
|
+
(n == null ? void 0 : n.mode) === "view" ? (p(), R("div", Ya, [
|
|
1092
|
+
(p(), x(Ra, {
|
|
1093
|
+
showButton: n == null ? void 0 : n.showButton,
|
|
1094
|
+
platform: C(Z),
|
|
1095
|
+
content: S.value,
|
|
1096
|
+
onChange: we,
|
|
1097
|
+
jsonContents: E.value,
|
|
1098
|
+
onContentChange: fe,
|
|
1099
|
+
onBuildContent: be,
|
|
1100
|
+
key: b.value,
|
|
1101
|
+
onShowChild: ce
|
|
1102
|
+
}, {
|
|
1103
|
+
default: B(() => [
|
|
1104
|
+
A(ht, null, {
|
|
1105
|
+
dropTitle: B(() => {
|
|
1106
|
+
var l;
|
|
1107
|
+
return [
|
|
1108
|
+
((l = n == null ? void 0 : n.jsonContents) == null ? void 0 : l.length) === 0 && (n != null && n.showButton) ? (p(), x(s, {
|
|
1109
|
+
key: 0,
|
|
1110
|
+
class: "system-default-button"
|
|
1111
|
+
}, {
|
|
1112
|
+
icon: B(() => [
|
|
1113
|
+
A(i, { name: "model" })
|
|
1114
|
+
]),
|
|
1115
|
+
default: B(() => [
|
|
1116
|
+
e[0] || (e[0] = se(" 模型 "))
|
|
1117
|
+
]),
|
|
1118
|
+
_: 1,
|
|
1119
|
+
__: [0]
|
|
1120
|
+
})) : F("", !0)
|
|
1121
|
+
];
|
|
1122
|
+
}),
|
|
1123
|
+
dropMenu: B(() => [
|
|
1124
|
+
m("div", Ka, [
|
|
1125
|
+
A(s, {
|
|
1126
|
+
onClick: Ye,
|
|
1127
|
+
style: { width: "100%", margin: "0" }
|
|
1128
|
+
}, {
|
|
1129
|
+
icon: B(() => [
|
|
1130
|
+
A(i, { name: "import" })
|
|
1131
|
+
]),
|
|
1132
|
+
default: B(() => [
|
|
1133
|
+
(p(), R("input", {
|
|
1134
|
+
type: "file",
|
|
1135
|
+
key: M.value,
|
|
1136
|
+
ref_key: "fileInput",
|
|
1137
|
+
ref: z,
|
|
1138
|
+
accept: ".txt, .inm, .iml, .imd",
|
|
1139
|
+
onChange: Ke,
|
|
1140
|
+
style: { display: "none" },
|
|
1141
|
+
multiple: ""
|
|
1142
|
+
}, null, 32)),
|
|
1143
|
+
e[1] || (e[1] = se(" 导入模型 "))
|
|
1144
|
+
]),
|
|
1145
|
+
_: 1,
|
|
1146
|
+
__: [1]
|
|
1147
|
+
}),
|
|
1148
|
+
A(s, { style: { width: "100%", margin: "0" } }, {
|
|
1149
|
+
icon: B(() => [
|
|
1150
|
+
A(i, { name: "export" })
|
|
1151
|
+
]),
|
|
1152
|
+
default: B(() => [
|
|
1153
|
+
e[2] || (e[2] = se(" 导出模型 "))
|
|
1154
|
+
]),
|
|
1155
|
+
_: 1,
|
|
1156
|
+
__: [2]
|
|
1157
|
+
}),
|
|
1158
|
+
A(s, {
|
|
1159
|
+
onClick: c,
|
|
1160
|
+
style: { width: "100%", margin: "0" }
|
|
1161
|
+
}, {
|
|
1162
|
+
icon: B(() => [
|
|
1163
|
+
A(i, { name: "clear" })
|
|
1164
|
+
]),
|
|
1165
|
+
default: B(() => [
|
|
1166
|
+
e[3] || (e[3] = se(" 清空模型 "))
|
|
1167
|
+
]),
|
|
1168
|
+
_: 1,
|
|
1169
|
+
__: [3]
|
|
1170
|
+
})
|
|
1171
|
+
])
|
|
1172
|
+
]),
|
|
1173
|
+
_: 1
|
|
1174
|
+
})
|
|
1175
|
+
]),
|
|
1176
|
+
_: 1
|
|
1177
|
+
}, 8, ["showButton", "platform", "content", "jsonContents"]))
|
|
1178
|
+
])) : F("", !0),
|
|
1179
|
+
A(He, {
|
|
1180
|
+
class: "select-model-dialog",
|
|
1181
|
+
visible: me.value && (n == null ? void 0 : n.oldSystemKey) === "",
|
|
1182
|
+
onBeforeDestroy: q,
|
|
1183
|
+
showClose: !1,
|
|
1184
|
+
closeOnClickModal: !1,
|
|
1185
|
+
closeOnPressEscape: !1,
|
|
1186
|
+
modalClass: "select-model-modal",
|
|
1187
|
+
alignCenter: !0
|
|
1188
|
+
}, {
|
|
1189
|
+
default: B(() => {
|
|
1190
|
+
var l, a;
|
|
1191
|
+
return [
|
|
1192
|
+
m("div", Ga, [
|
|
1193
|
+
m("div", Fa, [
|
|
1194
|
+
e[4] || (e[4] = m("div", { class: "create-project-title" }, " 新建项目 ", -1)),
|
|
1195
|
+
m("div", Pa, [
|
|
1196
|
+
A(pe, {
|
|
1197
|
+
emptyColor: !0,
|
|
1198
|
+
onClickTrigger: Ne,
|
|
1199
|
+
modelValue: "创建项目",
|
|
1200
|
+
buttonType: "primary"
|
|
1201
|
+
})
|
|
1202
|
+
])
|
|
1203
|
+
]),
|
|
1204
|
+
m("div", Ta, [
|
|
1205
|
+
e[5] || (e[5] = m("div", { class: "enter-project-title" }, "项目列表", -1)),
|
|
1206
|
+
(l = O.value) != null && l.length ? (p(), R("div", Ma, [
|
|
1207
|
+
(p(!0), R(Be, null, je(O.value, (r) => {
|
|
1208
|
+
var g;
|
|
1209
|
+
return p(), R("div", {
|
|
1210
|
+
class: ot(["project-item", {
|
|
1211
|
+
"project-item-active": (r == null ? void 0 : r.systemKey) == N.value.targetModel
|
|
1212
|
+
}]),
|
|
1213
|
+
onClick: (j) => Fe(r == null ? void 0 : r.systemKey)
|
|
1214
|
+
}, [
|
|
1215
|
+
m("div", Ja, _(`${r.name ?? ""}(${r.systemKey})`), 1),
|
|
1216
|
+
m("div", xa, [
|
|
1217
|
+
((g = O.value) == null ? void 0 : g.length) > 1 ? (p(), x(i, {
|
|
1218
|
+
key: 0,
|
|
1219
|
+
class: "project-delete",
|
|
1220
|
+
name: "shanchu1",
|
|
1221
|
+
onClick: (j) => f(r == null ? void 0 : r.systemKey)
|
|
1222
|
+
}, null, 8, ["onClick"])) : F("", !0)
|
|
1223
|
+
])
|
|
1224
|
+
], 10, Na);
|
|
1225
|
+
}), 256))
|
|
1226
|
+
])) : F("", !0),
|
|
1227
|
+
m("div", Wa, [
|
|
1228
|
+
A(pe, {
|
|
1229
|
+
class: ot({ "enter-button-disable": !((a = O.value) != null && a.length) }),
|
|
1230
|
+
emptyColor: !0,
|
|
1231
|
+
onClickTrigger: Pe,
|
|
1232
|
+
modelValue: "进入项目",
|
|
1233
|
+
buttonType: "primary"
|
|
1234
|
+
}, null, 8, ["class"])
|
|
1235
|
+
])
|
|
1236
|
+
])
|
|
1237
|
+
])
|
|
1238
|
+
];
|
|
1239
|
+
}),
|
|
1240
|
+
_: 1
|
|
1241
|
+
}, 8, ["visible"])
|
|
1242
|
+
]);
|
|
1243
|
+
};
|
|
1244
|
+
}
|
|
1245
|
+
}, yo = /* @__PURE__ */ Ie(La, [["__scopeId", "data-v-1966237d"]]);
|
|
1246
|
+
export {
|
|
1247
|
+
yo as default
|
|
1248
|
+
};
|