yh-report 2.4.2 → 2.4.3

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 n, ref as a, onActivated as i, onDeactivated as r, onMounted as m, openBlock as s, createElementBlock as c, createVNode as d } from "vue";
2
2
  import { useRoute as l } from "vue-router";
3
- import { o as u } from "./index-416faa40.mjs";
3
+ import { o as u } from "./index-77faf131.mjs";
4
4
  import "element-plus";
5
5
  import "@/libs/api.request.js";
6
6
  import "lodash-es";
@@ -25,4 +25,4 @@ const p = { class: "statement-detail-container" }, y = /* @__PURE__ */ n({
25
25
  export {
26
26
  y as default
27
27
  };
28
- //# sourceMappingURL=StatementDetail-12dd8717.mjs.map
28
+ //# sourceMappingURL=StatementDetail-f2a7f821.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatementDetail-12dd8717.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"],"mappings":";;;;;;;;;;AASA,UAAMA,IAAQC,KACRC,IAAKC;AAEX,WAAAC,EAAY,MAAM;;AAChB,OAAAC,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,IAAI;AAAA,IAAuB,CACjF,GAEDC,EAAc,MAAM;;AAClB,OAAAD,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,OAAO;AAAA,IAAuB,CACpF,GAEDE,EAAU,MAAM;AACX,MAAAL,EAAA,QAAQF,EAAM,OAAO;AAAA,IAAA,CACzB;;;;;"}
1
+ {"version":3,"file":"StatementDetail-f2a7f821.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"],"mappings":";;;;;;;;;;AASA,UAAMA,IAAQC,KACRC,IAAKC;AAEX,WAAAC,EAAY,MAAM;;AAChB,OAAAC,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,IAAI;AAAA,IAAuB,CACjF,GAEDC,EAAc,MAAM;;AAClB,OAAAD,IAAA,SAAS,cAAc,iBAAiB,MAAxC,QAAAA,EAA2C,UAAU,OAAO;AAAA,IAAuB,CACpF,GAEDE,EAAU,MAAM;AACX,MAAAL,EAAA,QAAQF,EAAM,OAAO;AAAA,IAAA,CACzB;;;;;"}
@@ -0,0 +1,447 @@
1
+ import { defineComponent as J, reactive as D, ref as E, onMounted as I, watch as T, openBlock as G, createElementBlock as Q, createElementVNode as m, createTextVNode as d, createVNode as n, unref as l, withCtx as a, withKeys as W } from "vue";
2
+ import { useRouter as X } from "vue-router";
3
+ import { g as Z, s as S, d as ee, a as te } from "./index-77faf131.mjs";
4
+ import { ElButton as u, ElFormItem as h, ElInput as C, ElTable as oe, ElTableColumn as v, ElPagination as ne, ElDialog as le, ElForm as ae, ElMessage as g, ElLoading as ie, ElMessageBox as N } from "element-plus";
5
+ import { l as re, u as se } from "./editorLock-afc375cb.mjs";
6
+ import "@/libs/api.request.js";
7
+ import "lodash-es";
8
+ import "echarts";
9
+ function de(_) {
10
+ if (navigator.clipboard && window.isSecureContext)
11
+ return navigator.clipboard.writeText(_), Promise.resolve();
12
+ {
13
+ let p = document.createElement("textarea");
14
+ p.value = _, p.style.position = "absolute", p.style.opacity = "0", p.style.left = "-200%", p.style.top = "-200%", document.body.appendChild(p), p.focus(), p.select();
15
+ let i = document.execCommand("copy");
16
+ return p.remove(), i ? Promise.resolve() : Promise.reject(new Error("copy error"));
17
+ }
18
+ }
19
+ const ce = { class: "statement-list-container" }, ue = { class: "actions" }, pe = { class: "el-button is-text import-excel-button" }, me = { class: "form-context" }, fe = /* @__PURE__ */ m("i", { class: "yhreport-icon report-sheji" }, null, -1), ye = /* @__PURE__ */ m("i", { class: "yhreport-icon report-preview" }, null, -1), ge = /* @__PURE__ */ m("i", { class: "yhreport-icon report-bianji" }, null, -1), ke = /* @__PURE__ */ m("i", { class: "yhreport-icon report-fuzhi" }, null, -1), ve = /* @__PURE__ */ m("i", { class: "yhreport-icon report-shanchusekuai" }, null, -1), be = { class: "dialog-footer" }, Se = /* @__PURE__ */ J({
20
+ __name: "StatementList",
21
+ setup(_) {
22
+ const p = X(), i = D({
23
+ key: "",
24
+ pageSize: 10,
25
+ pageNumber: 1,
26
+ total: 0
27
+ }), U = E([]);
28
+ async function f(t = !1) {
29
+ t && (i.pageNumber = 1, i.total = 0);
30
+ const o = await Z({
31
+ key: i.key,
32
+ pageSize: i.pageSize,
33
+ pageNumber: i.pageNumber
34
+ });
35
+ U.value = o.data.list, i.total = o.data.total;
36
+ }
37
+ function x(t, o) {
38
+ let e = "", r = "链接";
39
+ switch (o) {
40
+ case "admin":
41
+ e = `/admin/statement/detail/${t.id}`, r = "后台链接";
42
+ break;
43
+ case "inner":
44
+ e = `innerStatementdetail/${t.id}`, r = "菜单链接";
45
+ case "outside":
46
+ e = `${window.location.origin}${window.location.pathname}#/statementdetail/${t.id}`, r = "外部链接";
47
+ }
48
+ de(e).then(() => {
49
+ g.success(r + "复制成功");
50
+ }).catch(() => {
51
+ g.error(r + "复制遇到问题");
52
+ });
53
+ }
54
+ const w = E([]), B = (t) => {
55
+ w.value = t;
56
+ }, L = async (t) => {
57
+ const o = t.target.files[0];
58
+ if (!o)
59
+ return;
60
+ const e = new FileReader();
61
+ e.onload = async (r) => {
62
+ t.target.value = "";
63
+ try {
64
+ if (r.target) {
65
+ const y = JSON.parse(r.target.result);
66
+ if (Array.isArray(y) && y.every((c) => typeof c == "object" && "code" in c && "config" in c && "description" in c && "name" in c)) {
67
+ const c = ie.service({
68
+ fullscreen: !0,
69
+ text: `正在导入报表,共 ${y.length} 个,请稍候...`
70
+ });
71
+ for (let k = 0; k < y.length; k++) {
72
+ c.setText(`正在保存第 ${k + 1} 个,共 ${y.length} 个,请稍候...`);
73
+ const V = y[k];
74
+ await S(V);
75
+ }
76
+ c.close(), f(!0);
77
+ } else
78
+ g.error("格式错误,请确保导入的文件未被修改过!");
79
+ }
80
+ } catch {
81
+ g.error("文件解析失败,请检查文件是否为有效的 JSON 格式!");
82
+ }
83
+ }, e.readAsText(o);
84
+ }, R = () => {
85
+ if (w.value.length > 0) {
86
+ const t = JSON.stringify(
87
+ w.value.map(({ code: k, config: V, description: q, name: H }) => ({
88
+ code: k,
89
+ config: V,
90
+ description: q,
91
+ name: H
92
+ })),
93
+ null,
94
+ 2
95
+ ), o = new Blob([t], { type: "application/json" }), e = URL.createObjectURL(o), y = `报表导出-${ee().format("YYYYMMDDHHmm")}.json`, c = document.createElement("a");
96
+ c.href = e, c.download = y, document.body.appendChild(c), c.click(), document.body.removeChild(c), URL.revokeObjectURL(e);
97
+ } else
98
+ g.warning("请选择要操作的报表!");
99
+ }, j = async (t) => {
100
+ await re(t.id) === "OK" ? p.push(`/admin/statement/design/${t.id}`) : await N.alert("报表正在被其他用户锁定,是否强制解锁?", "提示", {
101
+ confirmButtonText: "解锁",
102
+ cancelButtonText: "取消"
103
+ }) === "confirm" && (await se(t.id) ? j(t) : g.error("解锁失败,请稍后再试!"));
104
+ }, F = (t) => {
105
+ p.push(`/admin/statement/detail/${t.id}`);
106
+ };
107
+ I(() => {
108
+ f(!0);
109
+ });
110
+ const b = E(!1), s = D({
111
+ id: void 0,
112
+ name: "",
113
+ code: "",
114
+ description: ""
115
+ }), O = () => {
116
+ b.value = !0;
117
+ }, P = (t) => {
118
+ b.value = !0, s.id = t.id, s.name = t.name, s.code = t.code, s.description = t.description;
119
+ }, A = (t) => {
120
+ N.confirm("当前操作会复制选定的报表,确认继续吗?", "提醒", {
121
+ confirmButtonText: "复制",
122
+ cancelButtonText: "取消",
123
+ type: "warning"
124
+ }).then(() => {
125
+ let o = {
126
+ name: `${t.name}-copy`,
127
+ code: `${t.code}-copy`,
128
+ description: `${t.description}-copy`,
129
+ chartConfig: t.chartConfig,
130
+ config: t.config,
131
+ listData: t.listData
132
+ };
133
+ S(o).then(() => {
134
+ g.success("复制成功"), f(!0);
135
+ }).catch(() => {
136
+ g.error("复制失败");
137
+ });
138
+ });
139
+ }, M = (t) => {
140
+ N.confirm("当前操作会删除选定的报表,确认继续吗?", "警告", {
141
+ confirmButtonText: "删除",
142
+ cancelButtonText: "取消",
143
+ type: "warning"
144
+ }).then(async () => {
145
+ (await te(t.id)).data && f(!0);
146
+ });
147
+ }, $ = () => {
148
+ b.value = !1, s.id = void 0, s.name = "", s.code = "", s.description = "";
149
+ }, K = async () => {
150
+ await S(s), f(!0), $();
151
+ }, z = (t) => {
152
+ t && (t.preventDefault(), t.stopPropagation()), f(!1);
153
+ }, Y = () => {
154
+ i.key = "", f(!0);
155
+ };
156
+ return T(
157
+ () => i.pageNumber,
158
+ () => {
159
+ f();
160
+ }
161
+ ), T(
162
+ () => i.pageSize,
163
+ () => {
164
+ f();
165
+ }
166
+ ), (t, o) => (G(), Q("section", ce, [
167
+ m("div", ue, [
168
+ m("div", pe, [
169
+ m("input", {
170
+ class: "import-excel-input",
171
+ type: "file",
172
+ onChange: o[0] || (o[0] = (e) => L(e))
173
+ }, null, 32),
174
+ d(" 导入 ")
175
+ ]),
176
+ n(l(u), {
177
+ text: "",
178
+ onClick: R
179
+ }, {
180
+ default: a(() => [
181
+ d(" 导出 ")
182
+ ]),
183
+ _: 1
184
+ }),
185
+ n(l(u), {
186
+ type: "primary",
187
+ onClick: O
188
+ }, {
189
+ default: a(() => [
190
+ d(" 新增 ")
191
+ ]),
192
+ _: 1
193
+ }),
194
+ m("div", me, [
195
+ n(l(h), { label: "报表名称" }, {
196
+ default: a(() => [
197
+ n(l(C), {
198
+ modelValue: i.key,
199
+ "onUpdate:modelValue": o[1] || (o[1] = (e) => i.key = e),
200
+ onKeyup: W(z, ["enter"]),
201
+ placeholder: "键入关键字搜索报表"
202
+ }, null, 8, ["modelValue", "onKeyup"])
203
+ ]),
204
+ _: 1
205
+ })
206
+ ]),
207
+ n(l(u), {
208
+ type: "primary",
209
+ onClick: o[2] || (o[2] = (e) => z())
210
+ }, {
211
+ default: a(() => [
212
+ d(" 搜索 ")
213
+ ]),
214
+ _: 1
215
+ }),
216
+ n(l(u), {
217
+ onClick: o[3] || (o[3] = (e) => Y())
218
+ }, {
219
+ default: a(() => [
220
+ d("重置")
221
+ ]),
222
+ _: 1
223
+ })
224
+ ]),
225
+ n(l(oe), {
226
+ data: U.value,
227
+ "row-key": "id",
228
+ onSelectionChange: B
229
+ }, {
230
+ default: a(() => [
231
+ n(l(v), {
232
+ type: "selection",
233
+ width: "50"
234
+ }),
235
+ n(l(v), {
236
+ label: "#",
237
+ type: "index",
238
+ width: "66",
239
+ left: ""
240
+ }),
241
+ n(l(v), {
242
+ label: "报表代码",
243
+ "min-width": "100",
244
+ prop: "code"
245
+ }),
246
+ n(l(v), {
247
+ label: "报表名称",
248
+ "min-width": "100",
249
+ prop: "name"
250
+ }),
251
+ n(l(v), {
252
+ label: "描述",
253
+ "min-width": "200",
254
+ prop: "description"
255
+ }),
256
+ n(l(v), {
257
+ label: "操作",
258
+ width: "490",
259
+ fixed: "right"
260
+ }, {
261
+ default: a((e) => [
262
+ n(l(u), {
263
+ link: "",
264
+ title: "本系统前台菜单地址",
265
+ onClick: (r) => x(e.row, "inner")
266
+ }, {
267
+ default: a(() => [
268
+ d(" 菜单 ")
269
+ ]),
270
+ _: 2
271
+ }, 1032, ["onClick"]),
272
+ n(l(u), {
273
+ link: "",
274
+ title: "后台测试",
275
+ onClick: (r) => x(e.row, "admin")
276
+ }, {
277
+ default: a(() => [
278
+ d(" 后台 ")
279
+ ]),
280
+ _: 2
281
+ }, 1032, ["onClick"]),
282
+ n(l(u), {
283
+ link: "",
284
+ title: "其他系统嵌入地址",
285
+ onClick: (r) => x(e.row, "outside")
286
+ }, {
287
+ default: a(() => [
288
+ d(" 外嵌 ")
289
+ ]),
290
+ _: 2
291
+ }, 1032, ["onClick"]),
292
+ n(l(u), {
293
+ type: "primary",
294
+ link: "",
295
+ onClick: (r) => j(e.row)
296
+ }, {
297
+ default: a(() => [
298
+ fe,
299
+ d(" 设计 ")
300
+ ]),
301
+ _: 2
302
+ }, 1032, ["onClick"]),
303
+ n(l(u), {
304
+ type: "primary",
305
+ link: "",
306
+ onClick: (r) => F(e.row)
307
+ }, {
308
+ default: a(() => [
309
+ ye,
310
+ d(" 查看 ")
311
+ ]),
312
+ _: 2
313
+ }, 1032, ["onClick"]),
314
+ n(l(u), {
315
+ type: "primary",
316
+ link: "",
317
+ onClick: (r) => P(e.row)
318
+ }, {
319
+ default: a(() => [
320
+ ge,
321
+ d(" 编辑 ")
322
+ ]),
323
+ _: 2
324
+ }, 1032, ["onClick"]),
325
+ n(l(u), {
326
+ type: "primary",
327
+ link: "",
328
+ onClick: (r) => A(e.row)
329
+ }, {
330
+ default: a(() => [
331
+ ke,
332
+ d(" 复制 ")
333
+ ]),
334
+ _: 2
335
+ }, 1032, ["onClick"]),
336
+ n(l(u), {
337
+ type: "danger",
338
+ link: "",
339
+ onClick: (r) => M(e.row)
340
+ }, {
341
+ default: a(() => [
342
+ ve,
343
+ d(" 删除 ")
344
+ ]),
345
+ _: 2
346
+ }, 1032, ["onClick"])
347
+ ]),
348
+ _: 1
349
+ })
350
+ ]),
351
+ _: 1
352
+ }, 8, ["data"]),
353
+ n(l(ne), {
354
+ background: "",
355
+ style: { "padding-top": "10px", "justify-content": "flex-end" },
356
+ "page-sizes": [10, 20, 50, 100],
357
+ "page-size": i.pageSize,
358
+ "onUpdate:pageSize": o[4] || (o[4] = (e) => i.pageSize = e),
359
+ total: i.total,
360
+ "current-page": i.pageNumber,
361
+ "onUpdate:currentPage": o[5] || (o[5] = (e) => i.pageNumber = e),
362
+ layout: "sizes,prev,pager,next,total"
363
+ }, null, 8, ["page-size", "total", "current-page"]),
364
+ n(l(le), {
365
+ modelValue: b.value,
366
+ "onUpdate:modelValue": o[10] || (o[10] = (e) => b.value = e),
367
+ onClose: $,
368
+ title: s.id ? "编辑报表" : "新建报表"
369
+ }, {
370
+ footer: a(() => [
371
+ m("span", be, [
372
+ n(l(u), { onClick: $ }, {
373
+ default: a(() => [
374
+ d("取消")
375
+ ]),
376
+ _: 1
377
+ }),
378
+ n(l(u), {
379
+ type: "primary",
380
+ onClick: o[9] || (o[9] = (e) => K())
381
+ }, {
382
+ default: a(() => [
383
+ d(" 保存 ")
384
+ ]),
385
+ _: 1
386
+ })
387
+ ])
388
+ ]),
389
+ default: a(() => [
390
+ n(l(ae), {
391
+ model: s,
392
+ "label-width": "120"
393
+ }, {
394
+ default: a(() => [
395
+ n(l(h), {
396
+ label: "报表代码",
397
+ required: ""
398
+ }, {
399
+ default: a(() => [
400
+ n(l(C), {
401
+ modelValue: s.code,
402
+ "onUpdate:modelValue": o[6] || (o[6] = (e) => s.code = e),
403
+ autocomplete: "off"
404
+ }, null, 8, ["modelValue"])
405
+ ]),
406
+ _: 1
407
+ }),
408
+ n(l(h), {
409
+ label: "报表名称",
410
+ required: ""
411
+ }, {
412
+ default: a(() => [
413
+ n(l(C), {
414
+ modelValue: s.name,
415
+ "onUpdate:modelValue": o[7] || (o[7] = (e) => s.name = e),
416
+ autocomplete: "off"
417
+ }, null, 8, ["modelValue"])
418
+ ]),
419
+ _: 1
420
+ }),
421
+ n(l(h), {
422
+ label: "描述",
423
+ required: ""
424
+ }, {
425
+ default: a(() => [
426
+ n(l(C), {
427
+ modelValue: s.description,
428
+ "onUpdate:modelValue": o[8] || (o[8] = (e) => s.description = e),
429
+ type: "textarea",
430
+ autocomplete: "off"
431
+ }, null, 8, ["modelValue"])
432
+ ]),
433
+ _: 1
434
+ })
435
+ ]),
436
+ _: 1
437
+ }, 8, ["model"])
438
+ ]),
439
+ _: 1
440
+ }, 8, ["modelValue", "title"])
441
+ ]));
442
+ }
443
+ });
444
+ export {
445
+ Se as default
446
+ };
447
+ //# sourceMappingURL=StatementList-22f03ced.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatementList-22f03ced.mjs","sources":["../libs/util.ts","../StatementList.vue"],"sourcesContent":["/**\n * 复制文本\n * @param {string} str 要复制的文本\n * @returns {Promise<void>}\n */\nexport function copyString(str) {\n if (navigator.clipboard && window.isSecureContext) {\n navigator.clipboard.writeText(str);\n return Promise.resolve();\n } else {\n let textArea = document.createElement('textarea');\n textArea.value = str;\n textArea.style.position = 'absolute';\n textArea.style.opacity = '0';\n textArea.style.left = '-200%';\n textArea.style.top = '-200%';\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n let flag = document.execCommand('copy');\n textArea.remove();\n if (flag) {\n return Promise.resolve();\n } else {\n return Promise.reject(new Error('copy error'));\n }\n }\n}\n\nexport function isColorLight(color) {\n let rgb;\n if (color.startsWith('#')) {\n color = color.slice(1).toUpperCase();\n\n if (color.length === 3) {\n color = color\n .split('')\n .map((char) => char + char)\n .join('');\n }\n rgb = color.match(/.{2}/g).map((hex) => parseInt(hex, 16));\n } else if (color.startsWith('rgb(')) {\n const rgbMatch = color.match(/\\d+/g);\n rgb = rgbMatch.map((num) => parseInt(num, 10));\n } else {\n console.error('Invalid color format');\n return false;\n }\n const luminance = (0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]) / 255;\n return luminance > 0.5;\n}\n\nexport function getEnumOptions<T extends Record<string, any>>(enumObj: T, filters: string[] = []) {\n return Object.keys(enumObj)\n .filter((key) => !filters.includes(enumObj[key as keyof T]))\n .map((key) => ({\n value: enumObj[key as keyof T],\n label: key,\n }));\n}\n","<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 导入\n </div>\n <el-button\n text\n @click=\"exportReport\">\n 导出\n </el-button>\n <el-button\n type=\"primary\"\n @click=\"toAddForm\">\n 新增\n </el-button>\n <div class=\"form-context\">\n <el-form-item label=\"报表名称\">\n <el-input\n v-model=\"listForm.key\"\n @keyup.enter=\"onSearch\"\n placeholder=\"键入关键字搜索报表\"></el-input>\n </el-form-item>\n </div>\n <el-button\n type=\"primary\"\n @click=\"onSearch()\">\n 搜索\n </el-button>\n <el-button @click=\"onReset()\">重置</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=\"报表代码\"\n min-width=\"100\"\n prop=\"code\"></el-table-column>\n <el-table-column\n label=\"报表名称\"\n min-width=\"100\"\n prop=\"name\"></el-table-column>\n <el-table-column\n label=\"描述\"\n min-width=\"200\"\n prop=\"description\"></el-table-column>\n <el-table-column\n label=\"操作\"\n width=\"490\"\n fixed=\"right\">\n <template #default=\"scope\">\n <el-button\n link\n title=\"本系统前台菜单地址\"\n @click=\"copyLink(scope.row, 'inner')\">\n 菜单\n </el-button>\n <el-button\n link\n title=\"后台测试\"\n @click=\"copyLink(scope.row, 'admin')\">\n 后台\n </el-button>\n <el-button\n link\n title=\"其他系统嵌入地址\"\n @click=\"copyLink(scope.row, 'outside')\">\n 外嵌\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 设计\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 查看\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 编辑\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 复制\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 删除\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 ? '编辑报表' : '新建报表'\">\n <el-form\n :model=\"form\"\n label-width=\"120\">\n <el-form-item\n label=\"报表代码\"\n required>\n <el-input\n v-model=\"form.code\"\n autocomplete=\"off\" />\n </el-form-item>\n <el-form-item\n label=\"报表名称\"\n required>\n <el-input\n v-model=\"form.name\"\n autocomplete=\"off\" />\n </el-form-item>\n <el-form-item\n label=\"描述\"\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\">取消</el-button>\n <el-button\n type=\"primary\"\n @click=\"saveForm()\">\n 保存\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 'yh-report/libs/editorLock';\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 case 'outside':\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\nconst toDesign = async (row) => {\n let res = await lockEditor(row.id);\n if (res === 'OK') {\n router.push(`/admin/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(`/admin/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":["copyString","str","textArea","flag","router","useRouter","listForm","reactive","data","ref","getStatementList","res","getList","copyLink","row","type","href","hrefName","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","toDesign","lockEditor","ElMessageBox","unlockEditor","toView","onMounted","dialogFormVisible","form","toAddForm","toEditor","toCopy","toDelete","del","cancelForm","saveForm","onSearch","onReset","watch"],"mappings":"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"}
@@ -32724,7 +32724,7 @@ const exportExcel = async (Y, Z, e = "gray", T = 0) => {
32724
32724
  title: "报表列表",
32725
32725
  icon: "iconfont icon-s-grid"
32726
32726
  },
32727
- component: () => import("./StatementList-64f5c841.mjs")
32727
+ component: () => import("./StatementList-22f03ced.mjs")
32728
32728
  }), e.addRoute("Index", {
32729
32729
  path: "statement/design/:id",
32730
32730
  name: "报表设计",
@@ -32733,7 +32733,7 @@ const exportExcel = async (Y, Z, e = "gray", T = 0) => {
32733
32733
  title: "报表设计",
32734
32734
  icon: "iconfont icon-s-grid"
32735
32735
  },
32736
- component: () => import("./StatementDesign-2c24b262.mjs")
32736
+ component: () => import("./StatementDesign-be1ae125.mjs")
32737
32737
  }), e.addRoute("Index", {
32738
32738
  path: "statement/detail/:id",
32739
32739
  name: "后台报表查看",
@@ -32742,7 +32742,7 @@ const exportExcel = async (Y, Z, e = "gray", T = 0) => {
32742
32742
  title: "后台报表查看",
32743
32743
  icon: "iconfont icon-s-grid"
32744
32744
  },
32745
- component: () => import("./StatementDetail-12dd8717.mjs")
32745
+ component: () => import("./StatementDetail-f2a7f821.mjs")
32746
32746
  })), e.addRoute({
32747
32747
  path: "/statementdetail/:id",
32748
32748
  name: "报表查看",
@@ -32752,7 +32752,7 @@ const exportExcel = async (Y, Z, e = "gray", T = 0) => {
32752
32752
  icon: "iconfont icon-s-grid"
32753
32753
  },
32754
32754
  props: !0,
32755
- component: () => import("./StatementDetail-12dd8717.mjs")
32755
+ component: () => import("./StatementDetail-f2a7f821.mjs")
32756
32756
  });
32757
32757
  }
32758
32758
  };
@@ -32783,7 +32783,7 @@ function dynamicReportView(Y) {
32783
32783
  })
32784
32784
  );
32785
32785
  }
32786
- console.info("%cyh-report %cVer 2.4.2", "color:#409EFF;font-size: 22px;font-weight:bolder;text-shadow: 2px 2px 4px #84c1ff;", "color:#fff;font-size: 12px;background-color:#409EFF;padding:2px 4px;border-radius:3px;");
32786
+ console.info("%cyh-report %cVer 2.4.3", "color:#409EFF;font-size: 22px;font-weight:bolder;text-shadow: 2px 2px 4px #84c1ff;", "color:#fff;font-size: 12px;background-color:#409EFF;padding:2px 4px;border-radius:3px;");
32787
32787
  export {
32788
32788
  CellType as C,
32789
32789
  DataSourceColumnDataType as D,
@@ -32815,4 +32815,4 @@ export {
32815
32815
  validateAndCompleteTableConfig as v,
32816
32816
  dynamicReportView as w
32817
32817
  };
32818
- //# sourceMappingURL=index-416faa40.mjs.map
32818
+ //# sourceMappingURL=index-77faf131.mjs.map