ss-component-new 1.3.382 → 1.3.384

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 (120) hide show
  1. package/dist/{MTLLoader-COQzSlop.js → MTLLoader-BQHXDxnO.js} +1 -1
  2. package/dist/{MTLLoader-DAuK2Puz.cjs → MTLLoader-CkcKuBZC.cjs} +1 -1
  3. package/dist/{OrbitControls-BSpF9hj8.js → OrbitControls-BLTRuhDa.js} +1 -1
  4. package/dist/{OrbitControls-knTPRn96.cjs → OrbitControls-DE3CExKk.cjs} +1 -1
  5. package/dist/{URDFLoader-D6_CEpHZ.cjs → URDFLoader-D8tyuenp.cjs} +1 -1
  6. package/dist/{URDFLoader-kbmOvMIB.js → URDFLoader-imRRXSC6.js} +2 -2
  7. package/dist/{animationData-DbE8xWWf.js → animationData-BvgGr_AD.js} +3 -3
  8. package/dist/{animationData-DmjEvene.cjs → animationData-C0XKzhAY.cjs} +1 -1
  9. package/dist/{array-BSUZ99oH.js → array-CTY5U_PN.js} +4 -4
  10. package/dist/{array-BvQOaFxO.cjs → array-sBmECoLs.cjs} +1 -1
  11. package/dist/{clone-mFCVwr-G.js → clone-C1cp_ZPA.js} +1 -1
  12. package/dist/clone-ClJmDMw-.cjs +1 -0
  13. package/dist/{eleIcon-CiJIZabf.js → eleIcon-B_axj8bR.js} +1 -1
  14. package/dist/{eleIcon-D20IQFYA.cjs → eleIcon-Dr0KcGoI.cjs} +1 -1
  15. package/dist/{iconfont-DDZGPkz5.cjs → iconfont-CgUOBkc4.cjs} +1 -1
  16. package/dist/{iconfont-D72sm9Jm.js → iconfont-DF-mcDbr.js} +2 -2
  17. package/dist/{index-Bf5kpdKA.js → index-9f9f04mZ.js} +4 -4
  18. package/dist/{index-DnwmGvcp.js → index-B-H0eGnk.js} +8075 -8063
  19. package/dist/{index-Dub2SbvH.cjs → index-B1FeUhQ3.cjs} +1 -1
  20. package/dist/index-B1fJDMjR.cjs +1 -0
  21. package/dist/{index-BvPKncXn.cjs → index-B6tumL2U.cjs} +1 -1
  22. package/dist/{index-DIfJQHZp.js → index-B8Y_9tEG.js} +3 -3
  23. package/dist/{index-BZCpc5VL.js → index-B9g2i970.js} +22 -22
  24. package/dist/index-BA7_vyhG.cjs +1 -0
  25. package/dist/{index-DxRhIGgJ.js → index-BCT70WiL.js} +18 -18
  26. package/dist/{index-CKcz17VF.cjs → index-BELWa90a.cjs} +1 -1
  27. package/dist/{index--l3tMF8l.cjs → index-BGmW1CP0.cjs} +1 -1
  28. package/dist/{index-BEli6-9O.cjs → index-BUD_iRcK.cjs} +6 -6
  29. package/dist/{index-Bx95j-0r.cjs → index-BYFXJgbP.cjs} +1 -1
  30. package/dist/{index-DkTQi1Vq.js → index-Bc2mOUH-.js} +1 -1
  31. package/dist/{index-DljiGtdC.cjs → index-BcDE44RI.cjs} +1 -1
  32. package/dist/{index-Ck1Oilyz.cjs → index-BjMprvSX.cjs} +1 -1
  33. package/dist/{index-P8lg86z4.js → index-Bldno7Iy.js} +10 -10
  34. package/dist/{index-CmYd6_TA.js → index-BmZwVwZC.js} +1 -1
  35. package/dist/{index-KB0XWCq4.cjs → index-Bon3pRBp.cjs} +1 -1
  36. package/dist/index-BqY1Tkyr.cjs +25 -0
  37. package/dist/{index-0AwREool.cjs → index-BrM2852p.cjs} +1 -1
  38. package/dist/{index-eh2g6__P.js → index-BrWiuGP2.js} +2 -2
  39. package/dist/{index-DFGJd-mG.cjs → index-BtSPIq4_.cjs} +1 -1
  40. package/dist/{index-Ff9cJTW6.cjs → index-Btb3Lv0L.cjs} +1 -1
  41. package/dist/{index-CzsK_2wL.cjs → index-BvxR8f8X.cjs} +1 -1
  42. package/dist/{index-DvSKkDLq.js → index-ByUugKZ4.js} +1 -1
  43. package/dist/{index-B2-ME7I0.cjs → index-C1mWisuO.cjs} +1 -1
  44. package/dist/{index-WnDj_ILy.cjs → index-C93sz4z1.cjs} +1 -1
  45. package/dist/{index-6nl_N4qo.cjs → index-CA6wKd_G.cjs} +1 -1
  46. package/dist/{index-DtAHjBND.js → index-CEQD4kWk.js} +4 -4
  47. package/dist/{index-BRaaqaJs.js → index-CKzb7xC4.js} +2 -2
  48. package/dist/index-CNivaVr-.cjs +2 -0
  49. package/dist/{index-meO4_UNB.cjs → index-CR69-jEg.cjs} +1 -1
  50. package/dist/{index-BrBW7tRO.cjs → index-CRJ8dFCC.cjs} +2 -2
  51. package/dist/{index-BjuzVLIW.js → index-CV8KZP8q.js} +2 -2
  52. package/dist/{index-QpJbzLNb.js → index-CafzZfEy.js} +59 -50
  53. package/dist/{index-CGQcujDu.js → index-CbJj36LL.js} +2 -2
  54. package/dist/{index-IiRA9o9r.cjs → index-Cq_4-egL.cjs} +1 -1
  55. package/dist/{index-D32grlvH.js → index-CxatyCqn.js} +191 -191
  56. package/dist/{index-DsMPZC4m.js → index-D5eCm00g.js} +5 -5
  57. package/dist/{index-ziWPnxXp.js → index-DAvhF5vB.js} +8 -8
  58. package/dist/{index-Bq0PnZa6.cjs → index-DAw4LkTg.cjs} +1 -1
  59. package/dist/{index-DQ6jmi_D.cjs → index-DEJ3o_Up.cjs} +1 -1
  60. package/dist/index-DFkCQ0f_.js +10279 -0
  61. package/dist/{index-CMK4Oemk.js → index-DHAhIKmQ.js} +2 -2
  62. package/dist/{index-DCSqmK8s.js → index-DJ53lh6a.js} +3 -3
  63. package/dist/{index-Adu9r9O6.js → index-DKdzfYLA.js} +4 -4
  64. package/dist/index-DPM6pfAI.js +161 -0
  65. package/dist/{index-CIGlEa5l.js → index-DUq4XELr.js} +1 -1
  66. package/dist/index-DWBWvNDH.js +991 -0
  67. package/dist/{index-DPpm7s-I.cjs → index-DieG68B-.cjs} +1 -1
  68. package/dist/{index-CW4qJdP8.cjs → index-DmwxzDGW.cjs} +1 -1
  69. package/dist/{index-A81u786j.js → index-Dz6JFp0r.js} +2 -2
  70. package/dist/{index-B4CN6AYM.js → index-GYxiPBtz.js} +5 -5
  71. package/dist/{index-CTMMHmwj.js → index-OJlYJM1j.js} +261 -257
  72. package/dist/{index-DkYlSN6W.js → index-PL7-PIPs.js} +2 -2
  73. package/dist/{index-DMmOKrQZ.cjs → index-TRkfc1lq.cjs} +1 -1
  74. package/dist/{index-BJ-thkmN.cjs → index-aYsnw0xY.cjs} +1 -1
  75. package/dist/{index-Fmivd5TB.js → index-heDO7aCF.js} +2 -2
  76. package/dist/{index-DntOrygq.js → index-jFCWOSpo.js} +6 -6
  77. package/dist/{index-D-CWxIQ_.cjs → index-n7GfhOVN.cjs} +1 -1
  78. package/dist/{index-BKmXhP9j.cjs → index-q2BN200x.cjs} +1 -1
  79. package/dist/{index-CyCYlmRK.js → index-roi8I5S3.js} +1 -1
  80. package/dist/{index-BZWiTy-K.cjs → index-xttC7OK3.cjs} +1 -1
  81. package/dist/{index.vue_vue_type_style_index_0_scoped_6b92e250_lang-1iUOnCnG.cjs → index.vue_vue_type_style_index_0_scoped_6b92e250_lang-B9qUQdPf.cjs} +1 -1
  82. package/dist/{index.vue_vue_type_style_index_0_scoped_6b92e250_lang-CvrpCION.js → index.vue_vue_type_style_index_0_scoped_6b92e250_lang-DeDQ2Vpf.js} +4 -4
  83. package/dist/{isString-DNBlKLZH.cjs → isString-CGrvcmBw.cjs} +1 -1
  84. package/dist/{isString-D42PBiNa.js → isString-ChmgnNIb.js} +1 -1
  85. package/dist/{main-CRDks8iO.cjs → main-CpVlWVrP.cjs} +1 -1
  86. package/dist/{main-8ogz4WPH.js → main-y6n9UlHW.js} +4 -4
  87. package/dist/{menuIndex-4akJxcU5.cjs → menuIndex-CYeoqj0a.cjs} +1 -1
  88. package/dist/{menuIndex-DUFFnrEE.js → menuIndex-D3tjk7D7.js} +1 -1
  89. package/dist/{request-BC2w2vGr.cjs → request-Dl8yi2iS.cjs} +6 -6
  90. package/dist/{request-CbksSN84.js → request-XJsZ4h2T.js} +80 -79
  91. package/dist/ss-component.cjs +1 -1
  92. package/dist/ss-component.css +2 -2
  93. package/dist/ss-component.js +12 -12
  94. package/dist/ss-component2.cjs +1 -1
  95. package/dist/ss-component2.js +13 -13
  96. package/dist/{threeModel-BltK6ahE.js → threeModel-C5eTXG0s.js} +5 -5
  97. package/dist/{threeModel-pBCJbJUj.cjs → threeModel-Dg-07eQL.cjs} +1 -1
  98. package/dist/{threePreview-LzLgioUW.cjs → threePreview-CszWwdug.cjs} +1 -1
  99. package/dist/{threePreview-qDH9f8Ts.js → threePreview-DNQsBr54.js} +5 -5
  100. package/dist/{threeSceneView-Dj7Ei0tl.cjs → threeSceneView-BU4wHFeI.cjs} +1 -1
  101. package/dist/{threeSceneView-lpkLya7B.js → threeSceneView-DUmO1oB5.js} +39 -39
  102. package/dist/{threeSceneViewForCPMPIP-u6-wkzf5.js → threeSceneViewForCPMPIP-CC-c7ijL.js} +9 -9
  103. package/dist/{threeSceneViewForCPMPIP-CWy6aopm.cjs → threeSceneViewForCPMPIP-KrPFDjjY.cjs} +1 -1
  104. package/dist/{threeTrackPathView-ChBJzHaY.js → threeTrackPathView-CNw6tT-i.js} +6 -6
  105. package/dist/{threeTrackPathView-B9p_9ESK.cjs → threeTrackPathView-D09nMCuF.cjs} +1 -1
  106. package/dist/{threeViewerHost-CSn-5XgQ.cjs → threeViewerHost-Df7LK7Wh.cjs} +1 -1
  107. package/dist/{threeViewerHost-DuJdDO8l.js → threeViewerHost-yEXWE3BL.js} +3 -3
  108. package/dist/{urdfTree-CPWlk_zb.cjs → urdfTree-BRAUDT58.cjs} +1 -1
  109. package/dist/{urdfTree-CHqT5mZW.js → urdfTree-WPGh2KP8.js} +1 -1
  110. package/dist/{workpieceTreePanel-6yKh6IEH.cjs → workpieceTreePanel-D4MJD2ee.cjs} +1 -1
  111. package/dist/{workpieceTreePanel-BtXiR5Fg.js → workpieceTreePanel-DFlTuJZM.js} +4 -4
  112. package/package.json +1 -1
  113. package/dist/clone-lZuOJI1b.cjs +0 -1
  114. package/dist/index-BXP2Ie3L.js +0 -619
  115. package/dist/index-Bi-PYsF7.js +0 -151
  116. package/dist/index-COvTB4A8.js +0 -10242
  117. package/dist/index-D7H81vN9.cjs +0 -1
  118. package/dist/index-E8q1Dd5H.cjs +0 -2
  119. package/dist/index-MaP8ZSc8.cjs +0 -25
  120. package/dist/index-mHYDJOd1.cjs +0 -1
@@ -0,0 +1,991 @@
1
+ import { createElementBlock as x, openBlock as $, createElementVNode as n, renderSlot as M, defineComponent as X, ref as b, resolveComponent as _, createVNode as t, withCtx as a, unref as P, reactive as oe, computed as Q, onMounted as me, createBlock as G, resolveDirective as ye, createCommentVNode as te, withDirectives as he, normalizeClass as ne, toDisplayString as E, Transition as Ce, watch as ae, Fragment as Te, createTextVNode as O, onBeforeUnmount as we } from "vue";
2
+ import { _ as H } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
+ import { b as le, p as W, s as se, u as ke, a as Ve, l as Ue, v as $e } from "./index-OJlYJM1j.js";
4
+ import { _ as J } from "./index.vue_vue_type_script_setup_true_lang-DRzriV-s.js";
5
+ import { c as Le, a as qe, f as Ae, b as ie, E as re } from "./request-XJsZ4h2T.js";
6
+ import "./JSEncrypt-B36c1iN5.js";
7
+ import { u as Ie } from "./index-PL7-PIPs.js";
8
+ import { useRouter as xe } from "vue-router";
9
+ import { l as De } from "./index-CKzb7xC4.js";
10
+ const Fe = {}, Ne = { class: "left-wrap" }, Re = { class: "left-bg" };
11
+ function Se(y, w) {
12
+ return $(), x("div", Ne, [
13
+ n("div", Re, [
14
+ M(y.$slots, "img", {}, void 0, !0)
15
+ ])
16
+ ]);
17
+ }
18
+ const Ee = /* @__PURE__ */ H(Fe, [["render", Se], ["__scopeId", "data-v-9b7ee6c9"]]), Y = {
19
+ ACCOUNT: "account",
20
+ FACE: "face"
21
+ }, Me = { class: "right-wrap" }, Be = { class: "tab-content" }, Oe = { class: "tab-tips" }, Pe = { class: "tab-content" }, He = { class: "tab-tips" }, Ke = /* @__PURE__ */ X({
22
+ __name: "index",
23
+ props: {
24
+ tabList: {
25
+ type: Array,
26
+ default: []
27
+ },
28
+ loading: {
29
+ type: Boolean,
30
+ default: !1
31
+ }
32
+ },
33
+ emits: ["clickLogin", "handleTabChange"],
34
+ setup(y, { emit: w }) {
35
+ const m = b(Y.ACCOUNT), p = w, C = () => {
36
+ p("clickLogin", m.value);
37
+ }, e = (v) => {
38
+ p("handleTabChange", v);
39
+ };
40
+ return (v, k) => {
41
+ const f = _("el-button"), V = _("el-tab-pane"), U = _("el-tabs");
42
+ return $(), x("div", Me, [
43
+ t(U, {
44
+ modelValue: m.value,
45
+ "onUpdate:modelValue": k[0] || (k[0] = (h) => m.value = h),
46
+ class: "right-tabs",
47
+ onTabChange: e
48
+ }, {
49
+ default: a(() => [
50
+ t(V, {
51
+ name: P(Y).ACCOUNT
52
+ }, {
53
+ label: a(() => [
54
+ M(v.$slots, "tabLabel1", {}, void 0, !0)
55
+ ]),
56
+ default: a(() => [
57
+ n("div", Be, [
58
+ M(v.$slots, "tabContent1", {}, void 0, !0)
59
+ ]),
60
+ n("div", {
61
+ class: "tab-button special",
62
+ onClick: C
63
+ }, [
64
+ t(f, { loading: y.loading }, {
65
+ default: a(() => [
66
+ M(v.$slots, "tabButton1", {}, void 0, !0)
67
+ ]),
68
+ _: 3
69
+ }, 8, ["loading"])
70
+ ]),
71
+ n("div", Oe, [
72
+ M(v.$slots, "tabTips1", {}, void 0, !0)
73
+ ])
74
+ ]),
75
+ _: 3
76
+ }, 8, ["name"]),
77
+ t(V, {
78
+ name: P(Y).FACE
79
+ }, {
80
+ label: a(() => [
81
+ M(v.$slots, "tabLabel2", {}, void 0, !0)
82
+ ]),
83
+ default: a(() => [
84
+ n("div", Pe, [
85
+ M(v.$slots, "tabContent2", {}, void 0, !0)
86
+ ]),
87
+ n("div", He, [
88
+ M(v.$slots, "tabTips2", {}, void 0, !0)
89
+ ])
90
+ ]),
91
+ _: 3
92
+ }, 8, ["name"])
93
+ ]),
94
+ _: 3
95
+ }, 8, ["modelValue"])
96
+ ]);
97
+ };
98
+ }
99
+ }), je = /* @__PURE__ */ H(Ke, [["__scopeId", "data-v-8b1962f0"]]), ze = /^[a-z][a-z0-9+.-]*:\/\//i, ce = (y) => ze.test(y);
100
+ function Qe(y) {
101
+ ce(y) || (y = `http://${y}`);
102
+ try {
103
+ const w = new URL(y);
104
+ return {
105
+ host: w.hostname,
106
+ // 域名:example.com
107
+ port: w.port || null
108
+ // 端口:8080(默认端口返回空字符串,转为 null)
109
+ };
110
+ } catch {
111
+ return {
112
+ host: null,
113
+ port: null
114
+ };
115
+ }
116
+ }
117
+ const We = () => ({ initUrlInfo: () => ({
118
+ host: null,
119
+ port: null
120
+ }), hasProtocol: ce, generateUrl: (m) => {
121
+ const { host: p, port: C } = m;
122
+ if (!p)
123
+ return null;
124
+ let e = `${p}`;
125
+ return ce(p) || (e = `http://${e}`), C && (e = `${e}:${C}`), e;
126
+ } }), Xe = { class: "body-wrapper" }, Ge = { class: "api-form-wrapper" }, Je = { class: "edit-footer" }, Ye = { class: "footer-right" }, Ze = /* @__PURE__ */ X({
127
+ __name: "index",
128
+ emits: ["updateApiUrl"],
129
+ setup(y, { expose: w, emit: m }) {
130
+ const p = m, C = le(W), { systemUrl: e } = se(C), { initUrlInfo: v, generateUrl: k } = We(), f = b(v()), V = b(), U = oe({
131
+ host: [
132
+ { required: !0, message: "请输入职位名称", trigger: "blur" }
133
+ ]
134
+ }), h = Q(() => e.value || "http://222.92.178.198:63002"), i = () => {
135
+ f.value = Qe(h.value);
136
+ };
137
+ me(() => {
138
+ i();
139
+ });
140
+ const o = b(!1), l = () => {
141
+ i(), o.value = !0;
142
+ }, r = () => {
143
+ o.value = !1;
144
+ }, d = () => {
145
+ r();
146
+ }, L = async () => {
147
+ var c;
148
+ await ((c = V.value) == null ? void 0 : c.validate());
149
+ const T = k(f.value);
150
+ p("updateApiUrl", T), d();
151
+ };
152
+ return w({
153
+ openDialog: l,
154
+ handleClose: d
155
+ }), (T, c) => {
156
+ const R = _("el-input"), D = _("el-form-item"), u = _("el-col"), F = _("el-row"), I = _("el-form"), N = _("el-dialog");
157
+ return $(), G(N, {
158
+ class: "api-form-dialog",
159
+ modelValue: o.value,
160
+ "onUpdate:modelValue": c[2] || (c[2] = (S) => o.value = S),
161
+ "before-close": d,
162
+ "destroy-on-close": "",
163
+ "show-close": !1
164
+ }, {
165
+ header: a(() => c[3] || (c[3] = [])),
166
+ default: a(() => [
167
+ n("div", Xe, [
168
+ n("div", Ge, [
169
+ t(I, {
170
+ class: "api-edit-form",
171
+ ref_key: "apiFormRef",
172
+ ref: V,
173
+ model: f.value,
174
+ rules: U
175
+ }, {
176
+ default: a(() => [
177
+ t(F, { gutter: 20 }, {
178
+ default: a(() => [
179
+ t(u, { span: 12 }, {
180
+ default: a(() => [
181
+ t(D, {
182
+ prop: "host",
183
+ label: "主机名",
184
+ "label-position": "top"
185
+ }, {
186
+ default: a(() => [
187
+ t(R, {
188
+ modelValue: f.value.host,
189
+ "onUpdate:modelValue": c[0] || (c[0] = (S) => f.value.host = S),
190
+ "aria-label": "主机名",
191
+ placeholder: "主机名"
192
+ }, null, 8, ["modelValue"])
193
+ ]),
194
+ _: 1
195
+ })
196
+ ]),
197
+ _: 1
198
+ }),
199
+ t(u, { span: 12 }, {
200
+ default: a(() => [
201
+ t(D, {
202
+ prop: "port",
203
+ label: "端口",
204
+ "label-position": "top"
205
+ }, {
206
+ default: a(() => [
207
+ t(R, {
208
+ modelValue: f.value.port,
209
+ "onUpdate:modelValue": c[1] || (c[1] = (S) => f.value.port = S),
210
+ "aria-label": "端口",
211
+ placeholder: "端口"
212
+ }, null, 8, ["modelValue"])
213
+ ]),
214
+ _: 1
215
+ })
216
+ ]),
217
+ _: 1
218
+ })
219
+ ]),
220
+ _: 1
221
+ })
222
+ ]),
223
+ _: 1
224
+ }, 8, ["model", "rules"])
225
+ ])
226
+ ])
227
+ ]),
228
+ footer: a(() => [
229
+ n("div", Je, [
230
+ c[4] || (c[4] = n("div", { class: "footer-left" }, null, -1)),
231
+ n("div", Ye, [
232
+ t(J, {
233
+ class: "cancel",
234
+ emptyColor: !0,
235
+ onClickTrigger: d,
236
+ modelValue: "取消",
237
+ buttonType: "info"
238
+ }),
239
+ t(J, {
240
+ class: "confirm",
241
+ emptyColor: !0,
242
+ onClickTrigger: L,
243
+ modelValue: "确定",
244
+ buttonType: "primary"
245
+ })
246
+ ])
247
+ ])
248
+ ]),
249
+ _: 1
250
+ }, 8, ["modelValue"]);
251
+ };
252
+ }
253
+ }), et = /* @__PURE__ */ H(Ze, [["__scopeId", "data-v-20c1098b"]]), tt = { class: "dialog-header" }, ot = { class: "dialog-subtitle" }, at = {
254
+ key: 0,
255
+ class: "restart-panel"
256
+ }, st = { class: "restart-title" }, lt = { class: "restart-subtitle" }, nt = {
257
+ key: 1,
258
+ class: "dialog-body"
259
+ }, it = { class: "db-type-selector" }, rt = { key: "sqlite" }, ct = { key: "pgsql" }, ut = {
260
+ key: 0,
261
+ class: "dialog-footer"
262
+ }, dt = 6e4, pe = 2e3, pt = /* @__PURE__ */ X({
263
+ __name: "index",
264
+ setup(y, { expose: w }) {
265
+ const m = le(W), { systemUrl: p } = se(m), C = Q(() => p.value || "http://222.92.178.198:63002"), e = oe({
266
+ databaseType: "sqlite",
267
+ sqliteDir: "sqlite-data",
268
+ user: "",
269
+ host: "",
270
+ database: "",
271
+ password: "",
272
+ port: "5432"
273
+ }), v = Q(() => e.databaseType === "sqlite" ? {
274
+ sqliteDir: [{ required: !0, message: "请输入数据库目录", trigger: "blur" }]
275
+ } : {
276
+ host: [{ required: !0, message: "请输入主机地址", trigger: "blur" }],
277
+ port: [{ required: !0, message: "请输入端口号", trigger: "blur" }],
278
+ database: [{ required: !0, message: "请输入数据库名", trigger: "blur" }],
279
+ user: [{ required: !0, message: "请输入用户名", trigger: "blur" }]
280
+ }), k = b(null), f = b(!1), V = b(!1), U = b(!1), h = b(!1), i = b(0), o = b("running"), l = b(1);
281
+ let r = null;
282
+ const d = Q(() => o.value === "success" ? "重启成功!" : o.value === "timeout" ? "连接超时" : "正在应用配置并等待服务重新启动中..."), L = Q(() => o.value === "success" ? "服务已恢复,配置已生效" : o.value === "timeout" ? "超过最大等待时间,请手动检查服务状态" : "请稍后" + ".".repeat(l.value));
283
+ let T = null, c = null;
284
+ const R = () => {
285
+ r && (clearInterval(r), r = null);
286
+ }, D = () => {
287
+ T && (clearInterval(T), T = null), c && (clearInterval(c), c = null), R();
288
+ }, u = () => {
289
+ i.value = 0;
290
+ let g = 0;
291
+ T = setInterval(() => {
292
+ g += 100;
293
+ const s = 90 * (1 - Math.exp(-g / 8e3));
294
+ i.value = Math.min(parseFloat(s.toFixed(1)), 90);
295
+ }, 100);
296
+ }, F = () => {
297
+ l.value = 1, r = setInterval(() => {
298
+ l.value = l.value >= 3 ? 1 : l.value + 1;
299
+ }, 500);
300
+ }, I = () => {
301
+ R();
302
+ const g = setInterval(() => {
303
+ i.value = Math.min(i.value + 3, 100), i.value >= 100 && (clearInterval(g), o.value = "success");
304
+ }, 30);
305
+ }, N = () => {
306
+ let g = 0;
307
+ c = setInterval(async () => {
308
+ if (g += pe, g >= dt) {
309
+ D(), o.value = "timeout";
310
+ return;
311
+ }
312
+ try {
313
+ const { data: s } = await ie.get(C.value + "/platform/config/db", { timeout: 3e3 });
314
+ (s == null ? void 0 : s.code) === 200 && (D(), I());
315
+ } catch {
316
+ }
317
+ }, pe);
318
+ }, S = async () => {
319
+ try {
320
+ V.value = !0;
321
+ const { data: g } = await ie.get(C.value + "/platform/config/db");
322
+ if ((g == null ? void 0 : g.code) === 200 && (g != null && g.data)) {
323
+ const s = g.data;
324
+ e.databaseType = s.databaseType === "pgsql" ? "pgsql" : "sqlite", e.sqliteDir = s.sqliteDir || "sqlite-data", e.user = s.user || "", e.host = s.host || "", e.database = s.database || "", e.password = s.password || "", e.port = String(s.port || 5432);
325
+ }
326
+ } catch {
327
+ } finally {
328
+ V.value = !1;
329
+ }
330
+ }, Z = () => {
331
+ h.value = !1, o.value = "running", i.value = 0, l.value = 1, f.value = !0, S();
332
+ }, K = () => {
333
+ D(), f.value = !1;
334
+ }, ue = () => K(), fe = (g) => {
335
+ h.value || g();
336
+ }, ve = async () => {
337
+ var g, s, j;
338
+ await ((g = k.value) == null ? void 0 : g.validate());
339
+ try {
340
+ U.value = !0;
341
+ const A = { databaseType: e.databaseType };
342
+ e.databaseType === "sqlite" ? A.sqliteDir = e.sqliteDir.trim() : (A.user = e.user.trim(), A.host = e.host.trim(), A.database = e.database.trim(), A.password = e.password, A.port = Number(e.port)), await ie.post(C.value + "/platform/config/db", A), h.value = !0, o.value = "running", u(), F(), setTimeout(N, 1e3);
343
+ } catch (A) {
344
+ const B = ((j = (s = A == null ? void 0 : A.response) == null ? void 0 : s.data) == null ? void 0 : j.message) || "保存失败,请重试";
345
+ re.error(B);
346
+ } finally {
347
+ U.value = !1;
348
+ }
349
+ };
350
+ return w({ openDialog: Z, handleClose: ue }), (g, s) => {
351
+ const j = _("el-icon"), A = _("el-progress"), B = _("el-input"), z = _("el-form-item"), ee = _("el-col"), de = _("el-row"), ge = _("el-form"), _e = _("el-dialog"), be = ye("loading");
352
+ return $(), G(_e, {
353
+ class: "db-config-dialog",
354
+ modelValue: f.value,
355
+ "onUpdate:modelValue": s[8] || (s[8] = (q) => f.value = q),
356
+ "before-close": fe,
357
+ "close-on-click-modal": !h.value,
358
+ "close-on-press-escape": !h.value,
359
+ "destroy-on-close": "",
360
+ "show-close": !1,
361
+ width: "480px"
362
+ }, {
363
+ header: a(() => [
364
+ n("div", tt, [
365
+ s[9] || (s[9] = n("span", { class: "dialog-title" }, "数据库配置", -1)),
366
+ n("span", ot, E(h.value ? "" : "修改后服务将自动重启"), 1)
367
+ ])
368
+ ]),
369
+ default: a(() => [
370
+ h.value ? ($(), x("div", at, [
371
+ o.value !== "running" ? ($(), x("div", {
372
+ key: 0,
373
+ class: ne(["restart-icon-wrap", { success: o.value === "success", error: o.value === "timeout" }])
374
+ }, [
375
+ o.value === "success" ? ($(), G(j, {
376
+ key: 0,
377
+ class: "restart-icon"
378
+ }, {
379
+ default: a(() => [
380
+ t(P(Le))
381
+ ]),
382
+ _: 1
383
+ })) : ($(), G(j, {
384
+ key: 1,
385
+ class: "restart-icon"
386
+ }, {
387
+ default: a(() => [
388
+ t(P(qe))
389
+ ]),
390
+ _: 1
391
+ }))
392
+ ], 2)) : te("", !0),
393
+ n("div", st, E(d.value), 1),
394
+ n("div", lt, E(L.value), 1),
395
+ t(A, {
396
+ class: "restart-progress",
397
+ percentage: Math.round(i.value),
398
+ status: o.value === "success" ? "success" : o.value === "timeout" ? "exception" : "",
399
+ "stroke-width": 10
400
+ }, null, 8, ["percentage", "status"]),
401
+ o.value === "success" || o.value === "timeout" ? ($(), G(J, {
402
+ key: 1,
403
+ class: "restart-close-btn",
404
+ emptyColor: !0,
405
+ onClickTrigger: K,
406
+ modelValue: o.value === "success" ? "确定" : "关闭",
407
+ buttonType: o.value === "success" ? "primary" : "info"
408
+ }, null, 8, ["modelValue", "buttonType"])) : te("", !0)
409
+ ])) : he(($(), x("div", nt, [
410
+ n("div", it, [
411
+ n("div", {
412
+ class: ne(["db-type-card", { active: e.databaseType === "sqlite" }]),
413
+ onClick: s[0] || (s[0] = (q) => e.databaseType = "sqlite")
414
+ }, s[10] || (s[10] = [
415
+ n("span", { class: "db-label" }, "SQLite", -1),
416
+ n("span", { class: "db-desc" }, "本地文件数据库", -1)
417
+ ]), 2),
418
+ n("div", {
419
+ class: ne(["db-type-card", { active: e.databaseType === "pgsql" }]),
420
+ onClick: s[1] || (s[1] = (q) => e.databaseType = "pgsql")
421
+ }, s[11] || (s[11] = [
422
+ n("span", { class: "db-label" }, "PostgreSQL", -1),
423
+ n("span", { class: "db-desc" }, "远程关系型数据库", -1)
424
+ ]), 2)
425
+ ]),
426
+ t(ge, {
427
+ ref_key: "formRef",
428
+ ref: k,
429
+ model: e,
430
+ rules: v.value,
431
+ "label-position": "top",
432
+ class: "config-form"
433
+ }, {
434
+ default: a(() => [
435
+ t(Ce, {
436
+ name: "fade-slide",
437
+ mode: "out-in"
438
+ }, {
439
+ default: a(() => [
440
+ e.databaseType === "sqlite" ? ($(), x("div", rt, [
441
+ t(z, {
442
+ label: "数据库目录",
443
+ prop: "sqliteDir"
444
+ }, {
445
+ default: a(() => [
446
+ t(B, {
447
+ modelValue: e.sqliteDir,
448
+ "onUpdate:modelValue": s[2] || (s[2] = (q) => e.sqliteDir = q),
449
+ placeholder: "例如:sqlite-data",
450
+ clearable: ""
451
+ }, {
452
+ prefix: a(() => [
453
+ t(j, null, {
454
+ default: a(() => [
455
+ t(P(Ae))
456
+ ]),
457
+ _: 1
458
+ })
459
+ ]),
460
+ _: 1
461
+ }, 8, ["modelValue"]),
462
+ s[12] || (s[12] = n("div", { class: "field-hint" }, "相对于后端 exe 所在目录的路径", -1))
463
+ ]),
464
+ _: 1,
465
+ __: [12]
466
+ })
467
+ ])) : ($(), x("div", ct, [
468
+ t(de, { gutter: 16 }, {
469
+ default: a(() => [
470
+ t(ee, { span: 16 }, {
471
+ default: a(() => [
472
+ t(z, {
473
+ label: "主机地址",
474
+ prop: "host"
475
+ }, {
476
+ default: a(() => [
477
+ t(B, {
478
+ modelValue: e.host,
479
+ "onUpdate:modelValue": s[3] || (s[3] = (q) => e.host = q),
480
+ placeholder: "127.0.0.1",
481
+ clearable: ""
482
+ }, null, 8, ["modelValue"])
483
+ ]),
484
+ _: 1
485
+ })
486
+ ]),
487
+ _: 1
488
+ }),
489
+ t(ee, { span: 8 }, {
490
+ default: a(() => [
491
+ t(z, {
492
+ label: "端口",
493
+ prop: "port"
494
+ }, {
495
+ default: a(() => [
496
+ t(B, {
497
+ modelValue: e.port,
498
+ "onUpdate:modelValue": s[4] || (s[4] = (q) => e.port = q),
499
+ placeholder: "5432",
500
+ clearable: ""
501
+ }, null, 8, ["modelValue"])
502
+ ]),
503
+ _: 1
504
+ })
505
+ ]),
506
+ _: 1
507
+ })
508
+ ]),
509
+ _: 1
510
+ }),
511
+ t(z, {
512
+ label: "数据库名",
513
+ prop: "database"
514
+ }, {
515
+ default: a(() => [
516
+ t(B, {
517
+ modelValue: e.database,
518
+ "onUpdate:modelValue": s[5] || (s[5] = (q) => e.database = q),
519
+ placeholder: "new_insofworks_admin",
520
+ clearable: ""
521
+ }, null, 8, ["modelValue"])
522
+ ]),
523
+ _: 1
524
+ }),
525
+ t(de, { gutter: 16 }, {
526
+ default: a(() => [
527
+ t(ee, { span: 12 }, {
528
+ default: a(() => [
529
+ t(z, {
530
+ label: "用户名",
531
+ prop: "user"
532
+ }, {
533
+ default: a(() => [
534
+ t(B, {
535
+ modelValue: e.user,
536
+ "onUpdate:modelValue": s[6] || (s[6] = (q) => e.user = q),
537
+ placeholder: "postgres",
538
+ clearable: ""
539
+ }, null, 8, ["modelValue"])
540
+ ]),
541
+ _: 1
542
+ })
543
+ ]),
544
+ _: 1
545
+ }),
546
+ t(ee, { span: 12 }, {
547
+ default: a(() => [
548
+ t(z, {
549
+ label: "密码",
550
+ prop: "password"
551
+ }, {
552
+ default: a(() => [
553
+ t(B, {
554
+ modelValue: e.password,
555
+ "onUpdate:modelValue": s[7] || (s[7] = (q) => e.password = q),
556
+ type: "password",
557
+ "show-password": "",
558
+ clearable: ""
559
+ }, null, 8, ["modelValue"])
560
+ ]),
561
+ _: 1
562
+ })
563
+ ]),
564
+ _: 1
565
+ })
566
+ ]),
567
+ _: 1
568
+ })
569
+ ]))
570
+ ]),
571
+ _: 1
572
+ })
573
+ ]),
574
+ _: 1
575
+ }, 8, ["model", "rules"])
576
+ ])), [
577
+ [be, V.value]
578
+ ])
579
+ ]),
580
+ footer: a(() => [
581
+ h.value ? te("", !0) : ($(), x("div", ut, [
582
+ t(J, {
583
+ emptyColor: !0,
584
+ onClickTrigger: ue,
585
+ modelValue: "取消",
586
+ buttonType: "info"
587
+ }),
588
+ t(J, {
589
+ emptyColor: !0,
590
+ loading: U.value,
591
+ onClickTrigger: ve,
592
+ modelValue: "保存并重启",
593
+ buttonType: "primary"
594
+ }, null, 8, ["loading"])
595
+ ]))
596
+ ]),
597
+ _: 1
598
+ }, 8, ["modelValue", "close-on-click-modal", "close-on-press-escape"]);
599
+ };
600
+ }
601
+ }), mt = /* @__PURE__ */ H(pt, [["__scopeId", "data-v-35ac885d"]]), ft = { class: "account-wrap" }, vt = { class: "extra-operate" }, gt = /* @__PURE__ */ X({
602
+ __name: "index",
603
+ props: {
604
+ activeTabName: {
605
+ type: String,
606
+ default: ""
607
+ },
608
+ isClickLogin: {
609
+ type: Boolean,
610
+ default: !1
611
+ }
612
+ },
613
+ emits: ["handleLoginFormChange", "updateApiUrl"],
614
+ setup(y, { emit: w }) {
615
+ const m = y, p = oe({
616
+ account: "",
617
+ password: ""
618
+ }), C = oe({
619
+ account: [
620
+ { required: !0, message: "请输入账号", trigger: "blur" }
621
+ ],
622
+ password: [
623
+ { required: !0, message: "请输入密码", trigger: "blur" }
624
+ ]
625
+ }), e = b(null), v = w;
626
+ ae(() => m.isClickLogin, (i) => {
627
+ var o;
628
+ i && (m == null ? void 0 : m.activeTabName) === "account" && ((o = e.value) == null || o.validate((l) => {
629
+ var r;
630
+ for (let d in p)
631
+ p.hasOwnProperty(d) && (p[d] = (r = p[d]) == null ? void 0 : r.trim());
632
+ v("handleLoginFormChange", l, l ? p : null);
633
+ }));
634
+ }, {
635
+ immediate: !0
636
+ }), ae(() => m.activeTabName, (i) => {
637
+ var o;
638
+ i === "account" && ((o = e.value) == null || o.resetFields());
639
+ });
640
+ const k = b(), f = () => {
641
+ var i, o;
642
+ (o = (i = k.value) == null ? void 0 : i.openDialog) == null || o.call(i);
643
+ }, V = (i) => {
644
+ v("updateApiUrl", i);
645
+ }, U = b(), h = () => {
646
+ var i, o;
647
+ (o = (i = U.value) == null ? void 0 : i.openDialog) == null || o.call(i);
648
+ };
649
+ return (i, o) => {
650
+ const l = _("svg-icon"), r = _("el-input"), d = _("el-form-item"), L = _("el-form"), T = _("el-link");
651
+ return $(), x(Te, null, [
652
+ n("div", ft, [
653
+ t(L, {
654
+ model: p,
655
+ rules: C,
656
+ ref_key: "formRef",
657
+ ref: e
658
+ }, {
659
+ default: a(() => [
660
+ t(d, {
661
+ label: "",
662
+ prop: "account"
663
+ }, {
664
+ default: a(() => [
665
+ t(r, {
666
+ class: "account-input",
667
+ modelValue: p.account,
668
+ "onUpdate:modelValue": o[0] || (o[0] = (c) => p.account = c),
669
+ placeholder: "请输入账号",
670
+ clearable: ""
671
+ }, {
672
+ prefix: a(() => [
673
+ t(l, {
674
+ name: "account",
675
+ style: { width: "15px", height: "15px" }
676
+ })
677
+ ]),
678
+ _: 1
679
+ }, 8, ["modelValue"])
680
+ ]),
681
+ _: 1
682
+ }),
683
+ t(d, {
684
+ label: "",
685
+ prop: "password"
686
+ }, {
687
+ default: a(() => [
688
+ t(r, {
689
+ class: "account-input",
690
+ modelValue: p.password,
691
+ "onUpdate:modelValue": o[1] || (o[1] = (c) => p.password = c),
692
+ type: "password",
693
+ placeholder: "请输入密码",
694
+ "show-password": "",
695
+ clearable: ""
696
+ }, {
697
+ prefix: a(() => [
698
+ t(l, {
699
+ name: "password",
700
+ style: { width: "15px", height: "15px" }
701
+ })
702
+ ]),
703
+ _: 1
704
+ }, 8, ["modelValue"])
705
+ ]),
706
+ _: 1
707
+ })
708
+ ]),
709
+ _: 1
710
+ }, 8, ["model", "rules"]),
711
+ n("div", vt, [
712
+ t(T, {
713
+ class: "api-button",
714
+ type: "primary",
715
+ onClick: f
716
+ }, {
717
+ default: a(() => o[2] || (o[2] = [
718
+ O("接口地址")
719
+ ])),
720
+ _: 1,
721
+ __: [2]
722
+ }),
723
+ t(T, {
724
+ class: "db-button",
725
+ type: "primary",
726
+ onClick: h
727
+ }, {
728
+ default: a(() => o[3] || (o[3] = [
729
+ O("数据库配置")
730
+ ])),
731
+ _: 1,
732
+ __: [3]
733
+ })
734
+ ])
735
+ ]),
736
+ t(et, {
737
+ ref_key: "apiFormDialogRef",
738
+ ref: k,
739
+ onUpdateApiUrl: V
740
+ }, null, 512),
741
+ t(mt, {
742
+ ref_key: "dbConfigDialogRef",
743
+ ref: U
744
+ }, null, 512)
745
+ ], 64);
746
+ };
747
+ }
748
+ }), _t = /* @__PURE__ */ H(gt, [["__scopeId", "data-v-101a522a"]]), bt = { class: "account-wrap" }, yt = { class: "video-wrap" }, ht = /* @__PURE__ */ X({
749
+ __name: "index",
750
+ props: {
751
+ systemKey: { default: "" },
752
+ activeTabName: { default: "" },
753
+ isClickLogin: { type: Boolean, default: !1 }
754
+ },
755
+ emits: ["handleLoginFormChange"],
756
+ setup(y, { emit: w }) {
757
+ const m = y, p = w;
758
+ le(W);
759
+ const { initVerify: C } = Ie(), e = b(null), v = b(null);
760
+ let k = !1, f = null;
761
+ const V = async (l) => {
762
+ if (!l)
763
+ return;
764
+ const r = await C(l), { data: d } = r || {}, { account: L, password: T } = (d == null ? void 0 : d.data) || {}, c = d == null ? void 0 : d.msg;
765
+ if (!L) {
766
+ re.warning(c || "识别失败,请重新识别!");
767
+ return;
768
+ }
769
+ p("handleLoginFormChange", !0, {
770
+ account: L,
771
+ password: T
772
+ });
773
+ }, U = () => {
774
+ if (!v.value || !e.value)
775
+ return;
776
+ const l = v.value, r = l.getContext("2d"), d = e.value;
777
+ l.width = 200, l.height = 200;
778
+ const L = d.videoWidth || 640, T = d.videoHeight || 480, c = Math.min(200 / L, 200 / T), R = L * c, D = T * c, u = (200 - R) / 2, F = (200 - D) / 2;
779
+ r == null || r.drawImage(d, 0, 0, L, T, u, F, R, D), l.toBlob((I) => {
780
+ if (I) {
781
+ const N = new File([I], "face.png", { type: "image/png" });
782
+ V(N);
783
+ }
784
+ }, "image/png");
785
+ }, h = async () => {
786
+ if (!e.value || k)
787
+ return;
788
+ const l = e.value;
789
+ try {
790
+ if (f = await navigator.mediaDevices.getUserMedia({
791
+ video: { facingMode: "user" },
792
+ // 前置;后置用 'environment'
793
+ audio: !1
794
+ }), l) {
795
+ const r = l;
796
+ r.srcObject = f, k = !0;
797
+ }
798
+ } catch {
799
+ re.warning("摄像头启动失败");
800
+ }
801
+ };
802
+ function i(l) {
803
+ if (l && (l.getTracks().forEach((r) => r.stop()), e.value)) {
804
+ const r = e.value;
805
+ r.srcObject = null;
806
+ }
807
+ }
808
+ const o = () => {
809
+ i(f), k = !1;
810
+ };
811
+ return ae(() => m.activeTabName, (l) => {
812
+ if (l !== Y.FACE) {
813
+ o();
814
+ return;
815
+ }
816
+ if (l === Y.FACE && !k) {
817
+ h();
818
+ return;
819
+ }
820
+ }), we(() => {
821
+ o();
822
+ }), (l, r) => ($(), x("div", bt, [
823
+ n("div", yt, [
824
+ n("video", {
825
+ class: "face-video",
826
+ ref_key: "videoRef",
827
+ ref: e,
828
+ id: "v",
829
+ autoplay: "",
830
+ playsinline: ""
831
+ }, null, 512)
832
+ ]),
833
+ M(l.$slots, "default", {}, () => [
834
+ n("button", {
835
+ class: "face-screenshot",
836
+ onClick: U
837
+ }, "人脸识别")
838
+ ], !0),
839
+ n("canvas", {
840
+ ref_key: "canvasRef",
841
+ ref: v,
842
+ id: "canvas"
843
+ }, null, 512)
844
+ ]));
845
+ }
846
+ }), Ct = /* @__PURE__ */ H(ht, [["__scopeId", "data-v-b64bc91c"]]), Tt = { class: "login-wrap" }, wt = { class: "login-body" }, kt = { class: "login-body-item left" }, Vt = { class: "title" }, Ut = { class: "first-level" }, $t = {
847
+ key: 0,
848
+ class: "logo"
849
+ }, Lt = ["src"], qt = { class: "english-name" }, At = { class: "login-body-item right" }, It = /* @__PURE__ */ X({
850
+ __name: "index",
851
+ props: {
852
+ oldSystemKey: {},
853
+ loginContent: {}
854
+ },
855
+ emits: ["change", "projectLogin", "updateApiUrl", "systemContent"],
856
+ setup(y, { emit: w }) {
857
+ const m = y, p = xe(), C = w, e = ke(W), v = Ve(W), { refreshLogin: k } = se(v), f = le(W), { systemInfo: V, loginUserInfo: U } = se(f), h = Q(() => {
858
+ var u;
859
+ return ((u = V.value) == null ? void 0 : u.logo) || Ue;
860
+ }), i = b({
861
+ // sysCTitle: 'INSOFWORKS',
862
+ sysCTitle: "",
863
+ sysETitle: "",
864
+ // sysETitle: 'Dynamic Test Information System',
865
+ loginTitle: "账户密码登录",
866
+ tabs: [
867
+ {
868
+ name: "密码登录",
869
+ btnLabel: "登录",
870
+ tips: "温馨提示:建议使用谷歌、Microsoft Edge,版本79.0.1072.62及以上浏览器,360浏览器请使用极速模式"
871
+ },
872
+ {
873
+ name: "人脸识别",
874
+ btnLabel: "人脸识别",
875
+ tips: "温馨提示:建议使用谷歌、Microsoft Edge,版本79.0.1072.62及以上浏览器,360浏览器请使用极速模式"
876
+ },
877
+ {
878
+ name: "刷卡登录",
879
+ btnLabel: "登录",
880
+ tips: "温馨提示:建议使用谷歌、Microsoft Edge,版本79.0.1072.62及以上浏览器,360浏览器请使用极速模式"
881
+ }
882
+ ]
883
+ }), o = b("account"), l = b(!1), r = b(!1), d = () => {
884
+ l.value = !0;
885
+ }, L = (u, F) => {
886
+ l.value = !1, u && c(F);
887
+ }, T = async () => (sessionStorage.setItem("loginToken", "111"), !0);
888
+ me(async () => {
889
+ await T();
890
+ });
891
+ const c = async (u) => {
892
+ var I, N, S, Z;
893
+ if (r.value = !0, await De(u)) {
894
+ C("projectLogin", u);
895
+ let K = await $e();
896
+ C("systemContent", K == null ? void 0 : K.allMenuContents), p.push("/"), f.setLogRecordAsync({
897
+ type: "登录",
898
+ data: {
899
+ account: ((I = U.value) == null ? void 0 : I.account) ?? ((N = U.value) == null ? void 0 : N.账号),
900
+ userName: ((S = U.value) == null ? void 0 : S.姓名) || ((Z = U.value) == null ? void 0 : Z.userName) || "未知"
901
+ }
902
+ }, "/login", "login"), e.setHasClickEditComp(!1);
903
+ } else
904
+ r.value = !1;
905
+ r.value = !1;
906
+ };
907
+ ae(
908
+ () => m == null ? void 0 : m.loginContent,
909
+ () => {
910
+ let u = m == null ? void 0 : m.loginContent;
911
+ u != null && u.account && (u != null && u.password) && !k.value && c(u);
912
+ },
913
+ { deep: !0, immediate: !0 }
914
+ );
915
+ const R = (u) => {
916
+ o.value = u, l.value = !1, r.value = !1;
917
+ }, D = (u) => {
918
+ C("updateApiUrl", u);
919
+ };
920
+ return (u, F) => ($(), x("div", Tt, [
921
+ n("div", wt, [
922
+ n("div", kt, [
923
+ t(Ee, { class: "login-left-bg" }, {
924
+ img: a(() => {
925
+ var I, N;
926
+ return [
927
+ n("div", Vt, [
928
+ n("div", Ut, [
929
+ h.value ? ($(), x("div", $t, [
930
+ n("img", {
931
+ src: h.value,
932
+ alt: ""
933
+ }, null, 8, Lt)
934
+ ])) : te("", !0),
935
+ n("div", qt, E(((I = P(V)) == null ? void 0 : I.EnglishName) || "Insofworks"), 1)
936
+ ]),
937
+ n("div", null, E(((N = P(V)) == null ? void 0 : N.chineseName) || "工业软件建模与开发系统"), 1)
938
+ ]),
939
+ F[0] || (F[0] = n("div", { class: "divide-line" }, null, -1))
940
+ ];
941
+ }),
942
+ _: 1
943
+ })
944
+ ]),
945
+ n("div", At, [
946
+ t(je, {
947
+ loading: r.value,
948
+ onClickLogin: d,
949
+ onHandleTabChange: R
950
+ }, {
951
+ title: a(() => [
952
+ O(E(i.value.loginTitle), 1)
953
+ ]),
954
+ tabLabel1: a(() => [
955
+ O(E(i.value.tabs[0].name), 1)
956
+ ]),
957
+ tabContent1: a(() => [
958
+ t(_t, {
959
+ activeTabName: o.value,
960
+ isClickLogin: l.value,
961
+ onHandleLoginFormChange: L,
962
+ onUpdateApiUrl: D
963
+ }, null, 8, ["activeTabName", "isClickLogin"])
964
+ ]),
965
+ tabButton1: a(() => [
966
+ O(E(i.value.tabs[0].btnLabel), 1)
967
+ ]),
968
+ tabLabel2: a(() => [
969
+ O(E(i.value.tabs[1].name), 1)
970
+ ]),
971
+ tabContent2: a(() => [
972
+ t(Ct, {
973
+ systemKey: u.oldSystemKey,
974
+ activeTabName: o.value,
975
+ isClickLogin: l.value,
976
+ onHandleLoginFormChange: L
977
+ }, null, 8, ["systemKey", "activeTabName", "isClickLogin"])
978
+ ]),
979
+ tabButton2: a(() => [
980
+ O(E(i.value.tabs[1].btnLabel), 1)
981
+ ]),
982
+ _: 1
983
+ }, 8, ["loading"])
984
+ ])
985
+ ])
986
+ ]));
987
+ }
988
+ }), Ot = /* @__PURE__ */ H(It, [["__scopeId", "data-v-4f61cd87"]]);
989
+ export {
990
+ Ot as default
991
+ };