yh-report 2.4.115 → 2.4.117

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.
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as o, ref as a, onActivated as i, onDeactivated as s, onMounted as c, openBlock as r, createElementBlock as m, createVNode as d } from "vue";
2
2
  import { useRoute as l } from "vue-router";
3
- import { O as u } from "./index-D5s-AlK7.mjs";
3
+ import { O as u } from "./index-DgsSvRRw.mjs";
4
4
  const _ = { class: "statement-detail-container" }, h = /* @__PURE__ */ o({
5
5
  __name: "StatementDetail",
6
6
  setup(p) {
@@ -21,4 +21,4 @@ const _ = { class: "statement-detail-container" }, h = /* @__PURE__ */ o({
21
21
  export {
22
22
  h as default
23
23
  };
24
- //# sourceMappingURL=StatementDetail-DkOrmDr6.mjs.map
24
+ //# sourceMappingURL=StatementDetail-Br6zQ67Y.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatementDetail-DkOrmDr6.mjs","sources":["../StatementDetail.vue"],"sourcesContent":["<template>\n <section class=\"statement-detail-container\">\n <report-run :id=\"id\"></report-run>\n </section>\n</template>\n<script setup lang=\"ts\">\nimport {ref, onMounted, onActivated, onDeactivated} from 'vue';\nimport {useRoute} from 'vue-router';\nimport reportRun from './component/reportRun.vue';\nconst route = useRoute();\nconst id = ref();\n\nonActivated(() => {\n document.querySelector('.main-container')?.classList.add('statement-design-main');\n});\n\nonDeactivated(() => {\n document.querySelector('.main-container')?.classList.remove('statement-design-main');\n});\n\nonMounted(() => {\n id.value = route.params.id;\n});\n</script>\n"],"names":["route","useRoute","id","ref","onActivated","_a","onDeactivated","onMounted","_openBlock","_createElementBlock","_hoisted_1","_createVNode","reportRun"],"mappings":";;;;;;AASA,UAAMA,IAAQC,EAAA,GACRC,IAAKC,EAAA;AAEX,WAAAC,EAAY,MAAM;;AAChB,OAAAC,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,IAAI;AAAA,IAC3D,CAAC,GAEDC,EAAc,MAAM;;AAClB,OAAAD,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,OAAO;AAAA,IAC9D,CAAC,GAEDE,EAAU,MAAM;AACd,MAAAL,EAAG,QAAQF,EAAM,OAAO;AAAA,IAC1B,CAAC,cArBCQ,EAAA,GAAAC,EAEU,WAFVC,GAEU;AAAA,MADRC,EAAkCC,GAAA,EAArB,IAAIV,EAAA,MAAA,GAAE,MAAA,GAAA,CAAA,IAAA,CAAA;AAAA,IAAA;;;"}
1
+ {"version":3,"file":"StatementDetail-Br6zQ67Y.mjs","sources":["../StatementDetail.vue"],"sourcesContent":["<template>\n <section class=\"statement-detail-container\">\n <report-run :id=\"id\"></report-run>\n </section>\n</template>\n<script setup lang=\"ts\">\nimport {ref, onMounted, onActivated, onDeactivated} from 'vue';\nimport {useRoute} from 'vue-router';\nimport reportRun from './component/reportRun.vue';\nconst route = useRoute();\nconst id = ref();\n\nonActivated(() => {\n document.querySelector('.main-container')?.classList.add('statement-design-main');\n});\n\nonDeactivated(() => {\n document.querySelector('.main-container')?.classList.remove('statement-design-main');\n});\n\nonMounted(() => {\n id.value = route.params.id;\n});\n</script>\n"],"names":["route","useRoute","id","ref","onActivated","_a","onDeactivated","onMounted","_openBlock","_createElementBlock","_hoisted_1","_createVNode","reportRun"],"mappings":";;;;;;AASA,UAAMA,IAAQC,EAAA,GACRC,IAAKC,EAAA;AAEX,WAAAC,EAAY,MAAM;;AAChB,OAAAC,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,IAAI;AAAA,IAC3D,CAAC,GAEDC,EAAc,MAAM;;AAClB,OAAAD,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,OAAO;AAAA,IAC9D,CAAC,GAEDE,EAAU,MAAM;AACd,MAAAL,EAAG,QAAQF,EAAM,OAAO;AAAA,IAC1B,CAAC,cArBCQ,EAAA,GAAAC,EAEU,WAFVC,GAEU;AAAA,MADRC,EAAkCC,GAAA,EAArB,IAAIV,EAAA,MAAA,GAAE,MAAA,GAAA,CAAA,IAAA,CAAA;AAAA,IAAA;;;"}
@@ -1,27 +1,27 @@
1
- import { defineComponent as I, reactive as T, ref as E, onMounted as G, watch as L, openBlock as Q, createElementBlock as W, createElementVNode as f, createTextVNode as u, toDisplayString as c, unref as e, createVNode as n, withCtx as i, withKeys as X } from "vue";
2
- import { useRouter as Z } from "vue-router";
3
- import { r as a, g as ee, c as te, s as N, d as le, a as oe } from "./index-D5s-AlK7.mjs";
4
- import { ElButton as m, ElFormItem as w, ElInput as x, ElTable as ne, ElTableColumn as v, ElPagination as ae, ElDialog as ie, ElForm as re, ElMessage as k, ElLoading as se, ElMessageBox as D } from "element-plus";
5
- import { l as de, u as ue } from "./editorLock-DdAYyg2u.mjs";
6
- const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me = { class: "el-button is-text import-excel-button" }, fe = { class: "form-context" }, ge = { class: "dialog-footer" }, xe = /* @__PURE__ */ I({
1
+ import { defineComponent as W, reactive as R, ref as N, onMounted as G, watch as L, openBlock as Q, createElementBlock as X, createElementVNode as f, createTextVNode as u, toDisplayString as c, unref as e, createVNode as n, withCtx as i, withKeys as Z } from "vue";
2
+ import { useRouter as ee } from "vue-router";
3
+ import { r as a, g as te, c as le, s as D, d as oe, a as ne } from "./index-DgsSvRRw.mjs";
4
+ import { ElButton as m, ElFormItem as $, ElInput as w, ElTable as ae, ElTableColumn as v, ElPagination as ie, ElDialog as re, ElForm as se, ElMessage as k, ElLoading as de, ElMessageBox as U } from "element-plus";
5
+ import { l as ue, u as ce } from "./editorLock-CGeUFKpx.mjs";
6
+ const pe = { class: "statement-list-container" }, me = { class: "actions" }, fe = { class: "el-button is-text import-excel-button" }, ge = { class: "form-context" }, ye = { class: "dialog-footer" }, xe = /* @__PURE__ */ W({
7
7
  __name: "StatementList",
8
- setup(ye) {
9
- const U = Z(), d = T({
8
+ setup(ke) {
9
+ const x = ee(), d = R({
10
10
  key: "",
11
11
  pageSize: 10,
12
12
  pageNumber: 1,
13
13
  total: 0
14
- }), z = E([]);
14
+ }), z = N([]);
15
15
  async function g(o = !1) {
16
16
  o && (d.pageNumber = 1, d.total = 0);
17
- const t = await ee({
17
+ const t = await te({
18
18
  key: d.key,
19
19
  pageSize: d.pageSize,
20
20
  pageNumber: d.pageNumber
21
21
  });
22
22
  z.value = t.data.list, d.total = t.data.total;
23
23
  }
24
- function $(o, t) {
24
+ function h(o, t) {
25
25
  let l = "", r = "链接";
26
26
  switch (t) {
27
27
  case "admin":
@@ -33,15 +33,15 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
33
33
  default:
34
34
  l = `${window.location.origin}${window.location.pathname}#/statementdetail/${o.id}`, r = "外部链接";
35
35
  }
36
- te(l).then(() => {
36
+ le(l).then(() => {
37
37
  k.success(r + "复制成功");
38
38
  }).catch(() => {
39
39
  k.error(r + "复制遇到问题");
40
40
  });
41
41
  }
42
- const h = E([]), R = (o) => {
43
- h.value = o;
44
- }, F = async (o) => {
42
+ const V = N([]), F = (o) => {
43
+ V.value = o;
44
+ }, _ = async (o) => {
45
45
  const t = o.target.files[0];
46
46
  if (!t) return;
47
47
  const l = new FileReader();
@@ -51,14 +51,14 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
51
51
  if (r.target) {
52
52
  const y = JSON.parse(r.target.result);
53
53
  if (Array.isArray(y) && y.every((p) => typeof p == "object" && "code" in p && "config" in p && "description" in p && "name" in p)) {
54
- const p = se.service({
54
+ const p = de.service({
55
55
  fullscreen: !0,
56
56
  text: `正在导入报表,共 ${y.length} 个,请稍候...`
57
57
  });
58
58
  for (let b = 0; b < y.length; b++) {
59
59
  p.setText(`正在保存第 ${b + 1} 个,共 ${y.length} 个,请稍候...`);
60
- const S = y[b];
61
- await N(S);
60
+ const E = y[b];
61
+ await D(E);
62
62
  }
63
63
  p.close(), g(!0);
64
64
  } else
@@ -68,43 +68,43 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
68
68
  k.error("文件解析失败,请检查文件是否为有效的 JSON 格式!");
69
69
  }
70
70
  }, l.readAsText(t);
71
- }, _ = () => {
72
- if (h.value.length > 0) {
71
+ }, O = () => {
72
+ if (V.value.length > 0) {
73
73
  const o = JSON.stringify(
74
- h.value.map(({ code: b, config: S, description: K, name: P }) => ({
74
+ V.value.map(({ code: b, config: E, description: P, name: I }) => ({
75
75
  code: b,
76
- config: S,
77
- description: K,
78
- name: P
76
+ config: E,
77
+ description: P,
78
+ name: I
79
79
  })),
80
80
  null,
81
81
  2
82
- ), t = new Blob([o], { type: "application/json" }), l = URL.createObjectURL(t), y = `报表导出-${le().format("YYYYMMDDHHmm")}.json`, p = document.createElement("a");
82
+ ), t = new Blob([o], { type: "application/json" }), l = URL.createObjectURL(t), y = `报表导出-${oe().format("YYYYMMDDHHmm")}.json`, p = document.createElement("a");
83
83
  p.href = l, p.download = y, document.body.appendChild(p), p.click(), document.body.removeChild(p), URL.revokeObjectURL(l);
84
84
  } else
85
85
  k.warning("请选择要操作的报表!");
86
- }, j = async (o) => {
87
- await de(o.id) === "OK" ? U.push(`/admin/statement/design/${o.id}`) : await D.alert("报表正在被其他用户锁定,是否强制解锁?", "提示", {
86
+ }, B = () => x.currentRoute.value.path.startsWith("/admin") ? "/admin" : "", j = async (o) => {
87
+ await ue(o.id) === "OK" ? x.push(`${B()}/statement/design/${o.id}`) : await U.alert("报表正在被其他用户锁定,是否强制解锁?", "提示", {
88
88
  confirmButtonText: "解锁",
89
89
  cancelButtonText: "取消"
90
- }) === "confirm" && (await ue(o.id) ? j(o) : k.error("解锁失败,请稍后再试!"));
91
- }, O = (o) => {
92
- U.push(`/admin/statement/detail/${o.id}`);
90
+ }) === "confirm" && (await ce(o.id) ? j(o) : k.error("解锁失败,请稍后再试!"));
91
+ }, M = (o) => {
92
+ x.push(`${B()}/statement/detail/${o.id}`);
93
93
  };
94
94
  G(() => {
95
95
  g(!0);
96
96
  });
97
- const C = E(!1), s = T({
97
+ const C = N(!1), s = R({
98
98
  id: void 0,
99
99
  name: "",
100
100
  code: "",
101
101
  description: ""
102
- }), M = () => {
102
+ }), A = () => {
103
103
  C.value = !0;
104
- }, A = (o) => {
105
- C.value = !0, s.id = o.id, s.name = o.name, s.code = o.code, s.description = o.description;
106
104
  }, Y = (o) => {
107
- D.confirm("当前操作会复制选定的报表,确认继续吗?", "提醒", {
105
+ C.value = !0, s.id = o.id, s.name = o.name, s.code = o.code, s.description = o.description;
106
+ }, q = (o) => {
107
+ U.confirm("当前操作会复制选定的报表,确认继续吗?", "提醒", {
108
108
  confirmButtonText: "复制",
109
109
  cancelButtonText: "取消",
110
110
  type: "warning"
@@ -117,27 +117,27 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
117
117
  config: o.config,
118
118
  listData: o.listData
119
119
  };
120
- N(t).then(() => {
120
+ D(t).then(() => {
121
121
  k.success("复制成功"), g(!0);
122
122
  }).catch(() => {
123
123
  k.error("复制失败");
124
124
  });
125
125
  });
126
- }, q = (o) => {
127
- D.confirm("当前操作会删除选定的报表,确认继续吗?", "警告", {
126
+ }, H = (o) => {
127
+ U.confirm("当前操作会删除选定的报表,确认继续吗?", "警告", {
128
128
  confirmButtonText: "删除",
129
129
  cancelButtonText: "取消",
130
130
  type: "warning"
131
131
  }).then(async () => {
132
- (await oe(o.id)).data && g(!0);
132
+ (await ne(o.id)).data && g(!0);
133
133
  });
134
- }, V = () => {
134
+ }, S = () => {
135
135
  C.value = !1, s.id = void 0, s.name = "", s.code = "", s.description = "";
136
- }, H = async () => {
137
- await N(s), g(!0), V();
138
- }, B = (o) => {
136
+ }, J = async () => {
137
+ await D(s), g(!0), S();
138
+ }, T = (o) => {
139
139
  o && (o.preventDefault(), o.stopPropagation()), g(!1);
140
- }, J = () => {
140
+ }, K = () => {
141
141
  d.key = "", g(!0);
142
142
  };
143
143
  return L(
@@ -150,19 +150,19 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
150
150
  () => {
151
151
  g();
152
152
  }
153
- ), (o, t) => (Q(), W("section", ce, [
154
- f("div", pe, [
155
- f("div", me, [
153
+ ), (o, t) => (Q(), X("section", pe, [
154
+ f("div", me, [
155
+ f("div", fe, [
156
156
  f("input", {
157
157
  class: "import-excel-input",
158
158
  type: "file",
159
- onChange: t[0] || (t[0] = (l) => F(l))
159
+ onChange: t[0] || (t[0] = (l) => _(l))
160
160
  }, null, 32),
161
161
  u(" " + c(e(a)("导入")), 1)
162
162
  ]),
163
163
  n(e(m), {
164
164
  text: "",
165
- onClick: _
165
+ onClick: O
166
166
  }, {
167
167
  default: i(() => [
168
168
  u(c(e(a)("导出")), 1)
@@ -171,22 +171,22 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
171
171
  }),
172
172
  n(e(m), {
173
173
  type: "primary",
174
- onClick: M
174
+ onClick: A
175
175
  }, {
176
176
  default: i(() => [
177
177
  u(c(e(a)("新增")), 1)
178
178
  ]),
179
179
  _: 1
180
180
  }),
181
- f("div", fe, [
182
- n(e(w), {
181
+ f("div", ge, [
182
+ n(e($), {
183
183
  label: e(a)("报表名称")
184
184
  }, {
185
185
  default: i(() => [
186
- n(e(x), {
186
+ n(e(w), {
187
187
  modelValue: d.key,
188
188
  "onUpdate:modelValue": t[1] || (t[1] = (l) => d.key = l),
189
- onKeyup: X(B, ["enter"]),
189
+ onKeyup: Z(T, ["enter"]),
190
190
  placeholder: e(a)("键入关键字搜索报表")
191
191
  }, null, 8, ["modelValue", "placeholder"])
192
192
  ]),
@@ -195,7 +195,7 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
195
195
  ]),
196
196
  n(e(m), {
197
197
  type: "primary",
198
- onClick: t[2] || (t[2] = (l) => B())
198
+ onClick: t[2] || (t[2] = (l) => T())
199
199
  }, {
200
200
  default: i(() => [
201
201
  u(c(e(a)("搜索")), 1)
@@ -203,7 +203,7 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
203
203
  _: 1
204
204
  }),
205
205
  n(e(m), {
206
- onClick: t[3] || (t[3] = (l) => J())
206
+ onClick: t[3] || (t[3] = (l) => K())
207
207
  }, {
208
208
  default: i(() => [
209
209
  u(c(e(a)("重置")), 1)
@@ -211,10 +211,10 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
211
211
  _: 1
212
212
  })
213
213
  ]),
214
- n(e(ne), {
214
+ n(e(ae), {
215
215
  data: z.value,
216
216
  "row-key": "id",
217
- onSelectionChange: R
217
+ onSelectionChange: F
218
218
  }, {
219
219
  default: i(() => [
220
220
  n(e(v), {
@@ -251,7 +251,7 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
251
251
  n(e(m), {
252
252
  link: "",
253
253
  title: e(a)("本系统前台菜单地址"),
254
- onClick: (r) => $(l.row, "inner")
254
+ onClick: (r) => h(l.row, "inner")
255
255
  }, {
256
256
  default: i(() => [
257
257
  u(c(e(a)("菜单")), 1)
@@ -261,7 +261,7 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
261
261
  n(e(m), {
262
262
  link: "",
263
263
  title: e(a)("后台测试"),
264
- onClick: (r) => $(l.row, "admin")
264
+ onClick: (r) => h(l.row, "admin")
265
265
  }, {
266
266
  default: i(() => [
267
267
  u(c(e(a)("后台")), 1)
@@ -271,7 +271,7 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
271
271
  n(e(m), {
272
272
  link: "",
273
273
  title: e(a)("其他系统嵌入地址"),
274
- onClick: (r) => $(l.row, "outside")
274
+ onClick: (r) => h(l.row, "outside")
275
275
  }, {
276
276
  default: i(() => [
277
277
  u(c(e(a)("外嵌")), 1)
@@ -292,7 +292,7 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
292
292
  n(e(m), {
293
293
  type: "primary",
294
294
  link: "",
295
- onClick: (r) => O(l.row)
295
+ onClick: (r) => M(l.row)
296
296
  }, {
297
297
  default: i(() => [
298
298
  t[12] || (t[12] = f("i", { class: "yhreport-icon report-preview" }, null, -1)),
@@ -303,7 +303,7 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
303
303
  n(e(m), {
304
304
  type: "primary",
305
305
  link: "",
306
- onClick: (r) => A(l.row)
306
+ onClick: (r) => Y(l.row)
307
307
  }, {
308
308
  default: i(() => [
309
309
  t[13] || (t[13] = f("i", { class: "yhreport-icon report-bianji" }, null, -1)),
@@ -314,7 +314,7 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
314
314
  n(e(m), {
315
315
  type: "primary",
316
316
  link: "",
317
- onClick: (r) => Y(l.row)
317
+ onClick: (r) => q(l.row)
318
318
  }, {
319
319
  default: i(() => [
320
320
  t[14] || (t[14] = f("i", { class: "yhreport-icon report-fuzhi" }, null, -1)),
@@ -325,7 +325,7 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
325
325
  n(e(m), {
326
326
  type: "danger",
327
327
  link: "",
328
- onClick: (r) => q(l.row)
328
+ onClick: (r) => H(l.row)
329
329
  }, {
330
330
  default: i(() => [
331
331
  t[15] || (t[15] = f("i", { class: "yhreport-icon report-shanchusekuai" }, null, -1)),
@@ -339,7 +339,7 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
339
339
  ]),
340
340
  _: 1
341
341
  }, 8, ["data"]),
342
- n(e(ae), {
342
+ n(e(ie), {
343
343
  background: "",
344
344
  style: { "padding-top": "10px", "justify-content": "flex-end" },
345
345
  "page-sizes": [10, 20, 50, 100],
@@ -350,15 +350,15 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
350
350
  "onUpdate:currentPage": t[5] || (t[5] = (l) => d.pageNumber = l),
351
351
  layout: "sizes,prev,pager,next,total"
352
352
  }, null, 8, ["page-size", "total", "current-page"]),
353
- n(e(ie), {
353
+ n(e(re), {
354
354
  modelValue: C.value,
355
355
  "onUpdate:modelValue": t[10] || (t[10] = (l) => C.value = l),
356
- onClose: V,
356
+ onClose: S,
357
357
  title: s.id ? e(a)("编辑报表") : e(a)("新建报表")
358
358
  }, {
359
359
  footer: i(() => [
360
- f("span", ge, [
361
- n(e(m), { onClick: V }, {
360
+ f("span", ye, [
361
+ n(e(m), { onClick: S }, {
362
362
  default: i(() => [
363
363
  u(c(e(a)("取消")), 1)
364
364
  ]),
@@ -366,7 +366,7 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
366
366
  }),
367
367
  n(e(m), {
368
368
  type: "primary",
369
- onClick: t[9] || (t[9] = (l) => H())
369
+ onClick: t[9] || (t[9] = (l) => J())
370
370
  }, {
371
371
  default: i(() => [
372
372
  u(c(e(a)("保存")), 1)
@@ -376,17 +376,17 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
376
376
  ])
377
377
  ]),
378
378
  default: i(() => [
379
- n(e(re), {
379
+ n(e(se), {
380
380
  model: s,
381
381
  "label-width": "120"
382
382
  }, {
383
383
  default: i(() => [
384
- n(e(w), {
384
+ n(e($), {
385
385
  label: e(a)("报表代码"),
386
386
  required: ""
387
387
  }, {
388
388
  default: i(() => [
389
- n(e(x), {
389
+ n(e(w), {
390
390
  modelValue: s.code,
391
391
  "onUpdate:modelValue": t[6] || (t[6] = (l) => s.code = l),
392
392
  autocomplete: "off"
@@ -394,12 +394,12 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
394
394
  ]),
395
395
  _: 1
396
396
  }, 8, ["label"]),
397
- n(e(w), {
397
+ n(e($), {
398
398
  label: e(a)("报表名称"),
399
399
  required: ""
400
400
  }, {
401
401
  default: i(() => [
402
- n(e(x), {
402
+ n(e(w), {
403
403
  modelValue: s.name,
404
404
  "onUpdate:modelValue": t[7] || (t[7] = (l) => s.name = l),
405
405
  autocomplete: "off"
@@ -407,12 +407,12 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
407
407
  ]),
408
408
  _: 1
409
409
  }, 8, ["label"]),
410
- n(e(w), {
410
+ n(e($), {
411
411
  label: e(a)("描述"),
412
412
  required: ""
413
413
  }, {
414
414
  default: i(() => [
415
- n(e(x), {
415
+ n(e(w), {
416
416
  modelValue: s.description,
417
417
  "onUpdate:modelValue": t[8] || (t[8] = (l) => s.description = l),
418
418
  type: "textarea",
@@ -433,4 +433,4 @@ const ce = { class: "statement-list-container" }, pe = { class: "actions" }, me
433
433
  export {
434
434
  xe as default
435
435
  };
436
- //# sourceMappingURL=StatementList-BFaOwqOO.mjs.map
436
+ //# sourceMappingURL=StatementList-D1c4iGOZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatementList-D1c4iGOZ.mjs","sources":["../StatementList.vue"],"sourcesContent":["<template>\n <section class=\"statement-list-container\">\n <div class=\"actions\">\n <div class=\"el-button is-text import-excel-button\">\n <input\n class=\"import-excel-input\"\n type=\"file\"\n @change=\"importReport($event)\" />\n {{ rct('导入') }}\n </div>\n <el-button\n text\n @click=\"exportReport\">\n {{ rct('导出') }}\n </el-button>\n <el-button\n type=\"primary\"\n @click=\"toAddForm\">\n {{ rct('新增') }}\n </el-button>\n <div class=\"form-context\">\n <el-form-item :label=\"rct('报表名称')\">\n <el-input\n v-model=\"listForm.key\"\n @keyup.enter=\"onSearch\"\n :placeholder=\"rct('键入关键字搜索报表')\"></el-input>\n </el-form-item>\n </div>\n <el-button\n type=\"primary\"\n @click=\"onSearch()\">\n {{ rct('搜索') }}\n </el-button>\n <el-button @click=\"onReset()\">{{ rct('重置') }}</el-button>\n </div>\n <el-table\n :data=\"data\"\n row-key=\"id\"\n @selection-change=\"selectionChangeHandle\">\n <el-table-column\n type=\"selection\"\n width=\"50\"></el-table-column>\n <el-table-column\n label=\"#\"\n type=\"index\"\n width=\"66\"\n left></el-table-column>\n <el-table-column\n :label=\"rct('报表代码')\"\n min-width=\"100\"\n prop=\"code\"></el-table-column>\n <el-table-column\n :label=\"rct('报表名称')\"\n min-width=\"100\"\n prop=\"name\"></el-table-column>\n <el-table-column\n :label=\"rct('描述')\"\n min-width=\"200\"\n prop=\"description\"></el-table-column>\n <el-table-column\n :label=\"rct('操作')\"\n width=\"490\"\n fixed=\"right\">\n <template #default=\"scope\">\n <el-button\n link\n :title=\"rct('本系统前台菜单地址')\"\n @click=\"copyLink(scope.row, 'inner')\">\n {{ rct('菜单') }}\n </el-button>\n <el-button\n link\n :title=\"rct('后台测试')\"\n @click=\"copyLink(scope.row, 'admin')\">\n {{ rct('后台') }}\n </el-button>\n <el-button\n link\n :title=\"rct('其他系统嵌入地址')\"\n @click=\"copyLink(scope.row, 'outside')\">\n {{ rct('外嵌') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toDesign(scope.row)\">\n <i class=\"yhreport-icon report-sheji\"></i>\n {{ rct('设计') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toView(scope.row)\">\n <i class=\"yhreport-icon report-preview\"></i>\n {{ rct('查看') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toEditor(scope.row)\">\n <i class=\"yhreport-icon report-bianji\"></i>\n {{ rct('编辑') }}\n </el-button>\n <el-button\n type=\"primary\"\n link\n @click=\"toCopy(scope.row)\">\n <i class=\"yhreport-icon report-fuzhi\"></i>\n {{ rct('复制') }}\n </el-button>\n <el-button\n type=\"danger\"\n link\n @click=\"toDelete(scope.row)\">\n <i class=\"yhreport-icon report-shanchusekuai\"></i>\n {{ rct('删除') }}\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n <el-pagination\n background\n style=\"padding-top: 10px; justify-content: flex-end\"\n :page-sizes=\"[10, 20, 50, 100]\"\n v-model:page-size=\"listForm.pageSize\"\n :total=\"listForm.total\"\n v-model:current-page=\"listForm.pageNumber\"\n layout=\"sizes,prev,pager,next,total\"></el-pagination>\n <!-- 新增报表对话框 -->\n <el-dialog\n v-model=\"dialogFormVisible\"\n @close=\"cancelForm\"\n :title=\"form.id ? rct('编辑报表') : rct('新建报表')\">\n <el-form\n :model=\"form\"\n label-width=\"120\">\n <el-form-item\n :label=\"rct('报表代码')\"\n required>\n <el-input\n v-model=\"form.code\"\n autocomplete=\"off\" />\n </el-form-item>\n <el-form-item\n :label=\"rct('报表名称')\"\n required>\n <el-input\n v-model=\"form.name\"\n autocomplete=\"off\" />\n </el-form-item>\n <el-form-item\n :label=\"rct('描述')\"\n required>\n <el-input\n v-model=\"form.description\"\n type=\"textarea\"\n autocomplete=\"off\" />\n </el-form-item>\n </el-form>\n <template #footer>\n <span class=\"dialog-footer\">\n <el-button @click=\"cancelForm\">{{ rct('取消') }}</el-button>\n <el-button\n type=\"primary\"\n @click=\"saveForm()\">\n {{ rct('保存') }}\n </el-button>\n </span>\n </template>\n </el-dialog>\n </section>\n</template>\n<script setup lang=\"ts\">\nimport {ref, reactive, computed, watch, onMounted} from 'vue';\nimport {useRouter} from 'vue-router';\nimport {Statement} from './types';\nimport {getList, save, del} from './api/form';\nimport {ElMessageBox, ElMessage, ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElPagination, ElDialog, ElLoading} from 'element-plus';\nimport {copyString} from './libs/util';\nimport dayjs from 'dayjs';\nimport {lockEditor, unlockEditor} from './libs/editorLock';\nimport {rct} from './index';\n\nconst router = useRouter();\n\n// @ts-ignore\nconst listForm = reactive({\n key: '',\n pageSize: 10,\n pageNumber: 1,\n total: 0,\n});\nconst data = ref<Statement[]>([]);\n\n//获取报表列表\nasync function getStatementList(flag = false) {\n if (flag) {\n listForm.pageNumber = 1;\n listForm.total = 0;\n }\n const res = await getList({\n key: listForm.key,\n pageSize: listForm.pageSize,\n pageNumber: listForm.pageNumber,\n });\n data.value = res.data.list;\n listForm.total = res.data.total;\n}\n\nfunction copyLink(row, type) {\n let href = '';\n let hrefName = '链接';\n switch (type) {\n case 'admin':\n href = `/admin/statement/detail/${row.id}`;\n hrefName = '后台链接';\n break;\n case 'inner':\n href = `innerStatementdetail/${row.id}`;\n hrefName = '菜单链接';\n break;\n default:\n href = `${window.location.origin}${window.location.pathname}#/statementdetail/${row.id}`;\n hrefName = '外部链接';\n }\n copyString(href)\n .then(() => {\n ElMessage.success(hrefName + '复制成功');\n })\n .catch(() => {\n ElMessage.error(hrefName + '复制遇到问题');\n });\n}\n\nconst tableSelections = ref([]);\nconst selectionChangeHandle = (selections) => {\n tableSelections.value = selections;\n};\n\nconst importReport = async (e) => {\n const file = e.target.files[0];\n if (!file) return;\n\n const reader = new FileReader();\n reader.onload = async (event) => {\n e.target.value = '';\n try {\n if (event.target) {\n const jsonData = JSON.parse(event.target.result as string);\n if (Array.isArray(jsonData) && jsonData.every((item) => typeof item === 'object' && 'code' in item && 'config' in item && 'description' in item && 'name' in item)) {\n const loading = ElLoading.service({\n fullscreen: true,\n text: `正在导入报表,共 ${jsonData.length} 个,请稍候...`,\n });\n for (let i = 0; i < jsonData.length; i++) {\n loading.setText(`正在保存第 ${i + 1} 个,共 ${jsonData.length} 个,请稍候...`);\n const item = jsonData[i];\n await save(item);\n }\n loading.close();\n getStatementList(true);\n } else {\n ElMessage.error('格式错误,请确保导入的文件未被修改过!');\n }\n }\n } catch (error) {\n ElMessage.error('文件解析失败,请检查文件是否为有效的 JSON 格式!');\n }\n };\n reader.readAsText(file);\n};\n\nconst exportReport = () => {\n if (tableSelections.value.length > 0) {\n const jsonData = JSON.stringify(\n tableSelections.value.map(({code, config, description, name}) => {\n return {\n code,\n config,\n description,\n name,\n };\n }),\n null,\n 2\n );\n const blob = new Blob([jsonData], {type: 'application/json'});\n\n const url = URL.createObjectURL(blob);\n\n const formattedDate = dayjs().format('YYYYMMDDHHmm');\n const fileName = `报表导出-${formattedDate}.json`;\n\n const a = document.createElement('a');\n a.href = url;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n URL.revokeObjectURL(url);\n } else {\n ElMessage.warning('请选择要操作的报表!');\n }\n};\n\n// 页面同时服务后台硬编码路由(/admin 前缀)与前台菜单入口(/statement/list),跳转按当前分支自适应前缀\nconst branchBase = () => (router.currentRoute.value.path.startsWith('/admin') ? '/admin' : '');\n\nconst toDesign = async (row) => {\n let res = await lockEditor(row.id);\n if (res === 'OK') {\n router.push(`${branchBase()}/statement/design/${row.id}`);\n } else {\n const toUnlock = await ElMessageBox.alert('报表正在被其他用户锁定,是否强制解锁?', '提示', {\n confirmButtonText: '解锁',\n cancelButtonText: '取消',\n });\n if (toUnlock === 'confirm') {\n let flag = await unlockEditor(row.id);\n if (flag) {\n toDesign(row);\n } else {\n ElMessage.error('解锁失败,请稍后再试!');\n }\n }\n }\n};\n\nconst toView = (row) => {\n router.push(`${branchBase()}/statement/detail/${row.id}`);\n};\n\nonMounted(() => {\n getStatementList(true);\n});\n\n//新增报表\nconst dialogFormVisible = ref(false);\n\nconst form = reactive({\n id: undefined,\n name: '',\n code: '',\n description: '',\n});\n\nconst toAddForm = () => {\n dialogFormVisible.value = true;\n};\n\nconst toEditor = (row) => {\n dialogFormVisible.value = true;\n form.id = row.id;\n form.name = row.name;\n form.code = row.code;\n form.description = row.description;\n};\n\nconst toCopy = (row) => {\n ElMessageBox.confirm('当前操作会复制选定的报表,确认继续吗?', '提醒', {\n confirmButtonText: '复制',\n cancelButtonText: '取消',\n type: 'warning',\n }).then(() => {\n let form = {\n name: `${row.name}-copy`,\n code: `${row.code}-copy`,\n description: `${row.description}-copy`,\n chartConfig: row.chartConfig,\n config: row.config,\n listData: row.listData,\n };\n save(form)\n .then(() => {\n ElMessage.success('复制成功');\n getStatementList(true);\n })\n .catch(() => {\n ElMessage.error('复制失败');\n });\n });\n};\n\nconst toDelete = (row) => {\n ElMessageBox.confirm('当前操作会删除选定的报表,确认继续吗?', '警告', {\n confirmButtonText: '删除',\n cancelButtonText: '取消',\n type: 'warning',\n }).then(async () => {\n let res = await del(row.id);\n if (res.data) {\n getStatementList(true);\n }\n });\n};\n\nconst cancelForm = () => {\n dialogFormVisible.value = false;\n form.id = undefined;\n form.name = '';\n form.code = '';\n form.description = '';\n};\nconst saveForm = async () => {\n await save(form);\n getStatementList(true);\n cancelForm();\n};\n\n//搜索报表\nconst onSearch = (e?) => {\n if (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n getStatementList(false);\n};\n\n//重置\nconst onReset = () => {\n listForm.key = '';\n getStatementList(true);\n};\n\n//分页功能\nwatch(\n () => listForm.pageNumber,\n () => {\n getStatementList();\n }\n);\nwatch(\n () => listForm.pageSize,\n () => {\n getStatementList();\n }\n);\n</script>\n\n<style lang=\"scss\">\n.statement-list-container {\n width: 100%;\n height: 100%;\n padding: 10px 0 0;\n box-sizing: border-box;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n .actions {\n display: flex;\n align-items: center;\n\n .form-context {\n flex: 1;\n margin: 0 10px;\n display: flex;\n }\n\n .el-form-item {\n margin-bottom: 0;\n margin-right: 10px;\n }\n }\n\n .el-table {\n flex: 1;\n }\n\n .el-dialog {\n .el-button--text {\n margin-right: 15px;\n }\n\n .el-form-item {\n width: 100%;\n }\n\n .el-select {\n width: 100%;\n }\n\n .el-input {\n width: 100%;\n }\n\n .dialog-footer button:first-child {\n margin-right: 10px;\n }\n }\n .import-excel-button {\n position: relative;\n .import-excel-input {\n position: absolute;\n left: 0;\n top: 0;\n opacity: 0;\n width: 100%;\n height: 100%;\n z-index: 10;\n }\n }\n}\n</style>\n"],"names":["router","useRouter","listForm","reactive","data","ref","getStatementList","flag","res","getList","copyLink","row","type","href","hrefName","copyString","ElMessage","tableSelections","selectionChangeHandle","selections","importReport","e","file","reader","event","jsonData","item","loading","ElLoading","i","save","exportReport","code","config","description","name","blob","url","fileName","dayjs","a","branchBase","toDesign","lockEditor","ElMessageBox","unlockEditor","toView","onMounted","dialogFormVisible","form","toAddForm","toEditor","toCopy","toDelete","del","cancelForm","saveForm","onSearch","onReset","watch","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_cache","$event","_createTextVNode","_unref","rct","_createVNode","ElButton","_hoisted_4","ElFormItem","ElInput","ElTable","ElTableColumn","_withCtx","scope","ElPagination","ElDialog","_hoisted_5","ElForm"],"mappings":"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"}
@@ -69,4 +69,4 @@ export {
69
69
  c as l,
70
70
  p as u
71
71
  };
72
- //# sourceMappingURL=editorLock-DdAYyg2u.mjs.map
72
+ //# sourceMappingURL=editorLock-CGeUFKpx.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"editorLock-DdAYyg2u.mjs","sources":["../libs/editorLock.ts"],"sourcesContent":["import axios from '@/libs/api.request';\nimport {onMounted, onBeforeUnmount, onActivated, onDeactivated} from 'vue';\nimport {onBeforeRouteLeave} from 'vue-router';\nimport {ElMessageBox} from 'element-plus';\nfunction lockReq(key) {\n return axios.request({\n url: `dataLock/lock/${key}`,\n method: 'POST',\n });\n}\n\nexport const unlockEditor = async (id) => {\n id = `report-${id}`;\n const res = await axios.request({\n url: `dataLock/unlock/${id}`,\n method: 'POST',\n });\n return (res && res.data && res.data.result) || false;\n};\n\nexport async function lockEditor(id) {\n id = `report-${id}`;\n let res = await lockReq(id);\n return (res && res.data && res.data.msg) || false;\n}\n\nexport function useDetailLock(id, save, router) {\n let timer: any = null;\n let locked = false;\n let visibleAsk = false;\n\n const startInterval = () => {\n if (timer) return false;\n timer = setInterval(\n () => {\n lockEditor(id).then((res) => {\n locked = res === 'OK';\n });\n },\n 1 * 60 * 1000\n );\n };\n\n const stopInterval = () => {\n unlockEditor(id).then(() => {\n locked = false;\n });\n if (timer) {\n clearInterval(timer);\n timer = null; // 清空timer引用\n }\n };\n\n const visibleHandler = (e) => {\n if (!visibleAsk) {\n visibleAsk = true;\n if (document.visibilityState === 'visible') {\n ElMessageBox.confirm('欢迎回来,刚已保存并释放互斥锁,是否继续编辑?')\n .then(() => {\n lockEditor(id)\n .then((res) => {\n locked = true;\n if (res === 'OK') {\n if (timer) clearInterval(timer);\n startInterval();\n } else {\n ElMessageBox.alert('其他人正在编辑该报表,确认后回到列表页').then(() => {\n router.back();\n });\n }\n })\n .catch(() => {\n // 处理网络异常等情况\n ElMessageBox.alert('无法获取编辑锁,请稍后重试');\n });\n })\n .catch(() => {\n router.back();\n })\n .finally(() => {\n visibleAsk = false;\n });\n } else {\n save().then(() => {\n stopInterval();\n visibleAsk = false;\n });\n }\n }\n };\n\n onMounted(() => {\n window.addEventListener('visibilitychange', visibleHandler, false);\n startInterval();\n });\n\n onActivated(() => {\n window.addEventListener('visibilitychange', visibleHandler, false);\n startInterval();\n });\n\n onDeactivated(() => {\n window.removeEventListener('visibilitychange', visibleHandler, false);\n stopInterval();\n });\n\n onBeforeRouteLeave(() => {\n window.removeEventListener('visibilitychange', visibleHandler, false);\n stopInterval();\n });\n onBeforeUnmount(() => {\n window.removeEventListener('visibilitychange', visibleHandler, false);\n stopInterval();\n });\n}\n"],"names":["lockReq","key","axios","unlockEditor","id","res","lockEditor","useDetailLock","save","router","timer","visibleAsk","startInterval","stopInterval","visibleHandler","e","ElMessageBox","onMounted","onActivated","onDeactivated","onBeforeRouteLeave","onBeforeUnmount"],"mappings":";;;;AAIA,SAASA,EAAQC,GAAK;AACpB,SAAOC,EAAM,QAAQ;AAAA,IACnB,KAAK,iBAAiBD,CAAG;AAAA,IACzB,QAAQ;AAAA,EAAA,CACT;AACH;AAEO,MAAME,IAAe,OAAOC,MAAO;AACxC,EAAAA,IAAK,UAAUA,CAAE;AACjB,QAAMC,IAAM,MAAMH,EAAM,QAAQ;AAAA,IAC9B,KAAK,mBAAmBE,CAAE;AAAA,IAC1B,QAAQ;AAAA,EAAA,CACT;AACD,SAAQC,KAAOA,EAAI,QAAQA,EAAI,KAAK,UAAW;AACjD;AAEA,eAAsBC,EAAWF,GAAI;AACnC,EAAAA,IAAK,UAAUA,CAAE;AACjB,MAAIC,IAAM,MAAML,EAAQI,CAAE;AAC1B,SAAQC,KAAOA,EAAI,QAAQA,EAAI,KAAK,OAAQ;AAC9C;AAEO,SAASE,EAAcH,GAAII,GAAMC,GAAQ;AAC9C,MAAIC,IAAa,MAEbC,IAAa;AAEjB,QAAMC,IAAgB,MAAM;AAC1B,QAAIF,EAAO,QAAO;AAClB,IAAAA,IAAQ;AAAA,MACN,MAAM;AACJ,QAAAJ,EAAWF,CAAE,EAAE,KAAK,CAACC,MAAQ;AAAA,QAE7B,CAAC;AAAA,MACH;AAAA,MACA,IAAI,KAAK;AAAA,IAAA;AAAA,EAEb,GAEMQ,IAAe,MAAM;AACzB,IAAAV,EAAaC,CAAE,EAAE,KAAK,MAAM;AAAA,IAE5B,CAAC,GACGM,MACF,cAAcA,CAAK,GACnBA,IAAQ;AAAA,EAEZ,GAEMI,IAAiB,CAACC,MAAM;AAC5B,IAAKJ,MACHA,IAAa,IACT,SAAS,oBAAoB,YAC/BK,EAAa,QAAQ,yBAAyB,EAC3C,KAAK,MAAM;AACV,MAAAV,EAAWF,CAAE,EACV,KAAK,CAACC,MAAQ;AAEb,QAAIA,MAAQ,QACNK,mBAAqBA,CAAK,GAC9BE,EAAA,KAEAI,EAAa,MAAM,qBAAqB,EAAE,KAAK,MAAM;AACnD,UAAAP,EAAO,KAAA;AAAA,QACT,CAAC;AAAA,MAEL,CAAC,EACA,MAAM,MAAM;AAEX,QAAAO,EAAa,MAAM,eAAe;AAAA,MACpC,CAAC;AAAA,IACL,CAAC,EACA,MAAM,MAAM;AACX,MAAAP,EAAO,KAAA;AAAA,IACT,CAAC,EACA,QAAQ,MAAM;AACb,MAAAE,IAAa;AAAA,IACf,CAAC,IAEHH,EAAA,EAAO,KAAK,MAAM;AAChB,MAAAK,EAAA,GACAF,IAAa;AAAA,IACf,CAAC;AAAA,EAGP;AAEA,EAAAM,EAAU,MAAM;AACd,WAAO,iBAAiB,oBAAoBH,GAAgB,EAAK,GACjEF,EAAA;AAAA,EACF,CAAC,GAEDM,EAAY,MAAM;AAChB,WAAO,iBAAiB,oBAAoBJ,GAAgB,EAAK,GACjEF,EAAA;AAAA,EACF,CAAC,GAEDO,EAAc,MAAM;AAClB,WAAO,oBAAoB,oBAAoBL,GAAgB,EAAK,GACpED,EAAA;AAAA,EACF,CAAC,GAEDO,EAAmB,MAAM;AACvB,WAAO,oBAAoB,oBAAoBN,GAAgB,EAAK,GACpED,EAAA;AAAA,EACF,CAAC,GACDQ,EAAgB,MAAM;AACpB,WAAO,oBAAoB,oBAAoBP,GAAgB,EAAK,GACpED,EAAA;AAAA,EACF,CAAC;AACH;"}
1
+ {"version":3,"file":"editorLock-CGeUFKpx.mjs","sources":["../libs/editorLock.ts"],"sourcesContent":["import axios from '@/libs/api.request';\nimport {onMounted, onBeforeUnmount, onActivated, onDeactivated} from 'vue';\nimport {onBeforeRouteLeave} from 'vue-router';\nimport {ElMessageBox} from 'element-plus';\nfunction lockReq(key) {\n return axios.request({\n url: `dataLock/lock/${key}`,\n method: 'POST',\n });\n}\n\nexport const unlockEditor = async (id) => {\n id = `report-${id}`;\n const res = await axios.request({\n url: `dataLock/unlock/${id}`,\n method: 'POST',\n });\n return (res && res.data && res.data.result) || false;\n};\n\nexport async function lockEditor(id) {\n id = `report-${id}`;\n let res = await lockReq(id);\n return (res && res.data && res.data.msg) || false;\n}\n\nexport function useDetailLock(id, save, router) {\n let timer: any = null;\n let locked = false;\n let visibleAsk = false;\n\n const startInterval = () => {\n if (timer) return false;\n timer = setInterval(\n () => {\n lockEditor(id).then((res) => {\n locked = res === 'OK';\n });\n },\n 1 * 60 * 1000\n );\n };\n\n const stopInterval = () => {\n unlockEditor(id).then(() => {\n locked = false;\n });\n if (timer) {\n clearInterval(timer);\n timer = null; // 清空timer引用\n }\n };\n\n const visibleHandler = (e) => {\n if (!visibleAsk) {\n visibleAsk = true;\n if (document.visibilityState === 'visible') {\n ElMessageBox.confirm('欢迎回来,刚已保存并释放互斥锁,是否继续编辑?')\n .then(() => {\n lockEditor(id)\n .then((res) => {\n locked = true;\n if (res === 'OK') {\n if (timer) clearInterval(timer);\n startInterval();\n } else {\n ElMessageBox.alert('其他人正在编辑该报表,确认后回到列表页').then(() => {\n router.back();\n });\n }\n })\n .catch(() => {\n // 处理网络异常等情况\n ElMessageBox.alert('无法获取编辑锁,请稍后重试');\n });\n })\n .catch(() => {\n router.back();\n })\n .finally(() => {\n visibleAsk = false;\n });\n } else {\n save().then(() => {\n stopInterval();\n visibleAsk = false;\n });\n }\n }\n };\n\n onMounted(() => {\n window.addEventListener('visibilitychange', visibleHandler, false);\n startInterval();\n });\n\n onActivated(() => {\n window.addEventListener('visibilitychange', visibleHandler, false);\n startInterval();\n });\n\n onDeactivated(() => {\n window.removeEventListener('visibilitychange', visibleHandler, false);\n stopInterval();\n });\n\n onBeforeRouteLeave(() => {\n window.removeEventListener('visibilitychange', visibleHandler, false);\n stopInterval();\n });\n onBeforeUnmount(() => {\n window.removeEventListener('visibilitychange', visibleHandler, false);\n stopInterval();\n });\n}\n"],"names":["lockReq","key","axios","unlockEditor","id","res","lockEditor","useDetailLock","save","router","timer","visibleAsk","startInterval","stopInterval","visibleHandler","e","ElMessageBox","onMounted","onActivated","onDeactivated","onBeforeRouteLeave","onBeforeUnmount"],"mappings":";;;;AAIA,SAASA,EAAQC,GAAK;AACpB,SAAOC,EAAM,QAAQ;AAAA,IACnB,KAAK,iBAAiBD,CAAG;AAAA,IACzB,QAAQ;AAAA,EAAA,CACT;AACH;AAEO,MAAME,IAAe,OAAOC,MAAO;AACxC,EAAAA,IAAK,UAAUA,CAAE;AACjB,QAAMC,IAAM,MAAMH,EAAM,QAAQ;AAAA,IAC9B,KAAK,mBAAmBE,CAAE;AAAA,IAC1B,QAAQ;AAAA,EAAA,CACT;AACD,SAAQC,KAAOA,EAAI,QAAQA,EAAI,KAAK,UAAW;AACjD;AAEA,eAAsBC,EAAWF,GAAI;AACnC,EAAAA,IAAK,UAAUA,CAAE;AACjB,MAAIC,IAAM,MAAML,EAAQI,CAAE;AAC1B,SAAQC,KAAOA,EAAI,QAAQA,EAAI,KAAK,OAAQ;AAC9C;AAEO,SAASE,EAAcH,GAAII,GAAMC,GAAQ;AAC9C,MAAIC,IAAa,MAEbC,IAAa;AAEjB,QAAMC,IAAgB,MAAM;AAC1B,QAAIF,EAAO,QAAO;AAClB,IAAAA,IAAQ;AAAA,MACN,MAAM;AACJ,QAAAJ,EAAWF,CAAE,EAAE,KAAK,CAACC,MAAQ;AAAA,QAE7B,CAAC;AAAA,MACH;AAAA,MACA,IAAI,KAAK;AAAA,IAAA;AAAA,EAEb,GAEMQ,IAAe,MAAM;AACzB,IAAAV,EAAaC,CAAE,EAAE,KAAK,MAAM;AAAA,IAE5B,CAAC,GACGM,MACF,cAAcA,CAAK,GACnBA,IAAQ;AAAA,EAEZ,GAEMI,IAAiB,CAACC,MAAM;AAC5B,IAAKJ,MACHA,IAAa,IACT,SAAS,oBAAoB,YAC/BK,EAAa,QAAQ,yBAAyB,EAC3C,KAAK,MAAM;AACV,MAAAV,EAAWF,CAAE,EACV,KAAK,CAACC,MAAQ;AAEb,QAAIA,MAAQ,QACNK,mBAAqBA,CAAK,GAC9BE,EAAA,KAEAI,EAAa,MAAM,qBAAqB,EAAE,KAAK,MAAM;AACnD,UAAAP,EAAO,KAAA;AAAA,QACT,CAAC;AAAA,MAEL,CAAC,EACA,MAAM,MAAM;AAEX,QAAAO,EAAa,MAAM,eAAe;AAAA,MACpC,CAAC;AAAA,IACL,CAAC,EACA,MAAM,MAAM;AACX,MAAAP,EAAO,KAAA;AAAA,IACT,CAAC,EACA,QAAQ,MAAM;AACb,MAAAE,IAAa;AAAA,IACf,CAAC,IAEHH,EAAA,EAAO,KAAK,MAAM;AAChB,MAAAK,EAAA,GACAF,IAAa;AAAA,IACf,CAAC;AAAA,EAGP;AAEA,EAAAM,EAAU,MAAM;AACd,WAAO,iBAAiB,oBAAoBH,GAAgB,EAAK,GACjEF,EAAA;AAAA,EACF,CAAC,GAEDM,EAAY,MAAM;AAChB,WAAO,iBAAiB,oBAAoBJ,GAAgB,EAAK,GACjEF,EAAA;AAAA,EACF,CAAC,GAEDO,EAAc,MAAM;AAClB,WAAO,oBAAoB,oBAAoBL,GAAgB,EAAK,GACpED,EAAA;AAAA,EACF,CAAC,GAEDO,EAAmB,MAAM;AACvB,WAAO,oBAAoB,oBAAoBN,GAAgB,EAAK,GACpED,EAAA;AAAA,EACF,CAAC,GACDQ,EAAgB,MAAM;AACpB,WAAO,oBAAoB,oBAAoBP,GAAgB,EAAK,GACpED,EAAA;AAAA,EACF,CAAC;AACH;"}