yh-report 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/StatementDesign-b06cf90f.mjs +37346 -0
- package/StatementDesign-b06cf90f.mjs.map +1 -0
- package/StatementDetail-62e637ea.mjs +30 -0
- package/StatementDetail-62e637ea.mjs.map +1 -0
- package/StatementList-baa728c1.mjs +316 -0
- package/StatementList-baa728c1.mjs.map +1 -0
- package/index.es.js +46 -0
- package/index.es.js.map +1 -0
- package/package.json +35 -0
- package/statement-run.vue_vue_type_style_index_0_lang-a437c44f.mjs +28800 -0
- package/statement-run.vue_vue_type_style_index_0_lang-a437c44f.mjs.map +1 -0
- package/style.css +1 -0
- package/util-93412a10.mjs +181 -0
- package/util-93412a10.mjs.map +1 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineComponent as o, ref as a, onActivated as i, onDeactivated as r, onMounted as m, openBlock as s, createElementBlock as c, createVNode as d } from "vue";
|
|
2
|
+
import { useRoute as _ } from "vue-router";
|
|
3
|
+
import { j as l } from "./statement-run.vue_vue_type_style_index_0_lang-a437c44f.mjs";
|
|
4
|
+
import "element-plus";
|
|
5
|
+
import "./util-93412a10.mjs";
|
|
6
|
+
import "@/libs/api.request.js";
|
|
7
|
+
import "lodash-es";
|
|
8
|
+
import "@vueuse/core";
|
|
9
|
+
import "echarts";
|
|
10
|
+
const p = { class: "statement-detail-container" }, B = /* @__PURE__ */ o({
|
|
11
|
+
__name: "StatementDetail",
|
|
12
|
+
setup(u) {
|
|
13
|
+
const n = _(), t = a();
|
|
14
|
+
return i(() => {
|
|
15
|
+
var e;
|
|
16
|
+
(e = document.querySelector(".main-container")) == null || e.classList.add("statement-design-main");
|
|
17
|
+
}), r(() => {
|
|
18
|
+
var e;
|
|
19
|
+
(e = document.querySelector(".main-container")) == null || e.classList.remove("statement-design-main");
|
|
20
|
+
}), m(() => {
|
|
21
|
+
t.value = n.params.id;
|
|
22
|
+
}), (e, f) => (s(), c("section", p, [
|
|
23
|
+
d(l, { id: t.value }, null, 8, ["id"])
|
|
24
|
+
]));
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
export {
|
|
28
|
+
B as default
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=StatementDetail-62e637ea.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatementDetail-62e637ea.mjs","sources":["../StatementDetail.vue"],"sourcesContent":["<template>\r\n <section class=\"statement-detail-container\">\r\n <statement-run :id=\"id\"></statement-run>\r\n </section>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport {ref, onMounted, onActivated, onDeactivated} from 'vue';\r\nimport {useRoute} from 'vue-router';\r\nimport statementRun from './component/statement-run.vue';\r\nconst route = useRoute();\r\nconst id = ref();\r\n\r\nonActivated(() => {\r\n document.querySelector('.main-container')?.classList.add('statement-design-main');\r\n});\r\n\r\nonDeactivated(() => {\r\n document.querySelector('.main-container')?.classList.remove('statement-design-main');\r\n});\r\n\r\nonMounted(() => {\r\n id.value = route.params.id;\r\n});\r\n</script>\r\n<style lang=\"scss\">\r\n.statement-detail-container {\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n background-color: var(--el-bg-color-page);\r\n display: flex;\r\n flex-direction: column;\r\n .yh-statement-table-title {\r\n background-color: #fff;\r\n position: relative;\r\n z-index: 10;\r\n padding: 6px 16px;\r\n box-sizing: border-box;\r\n line-height: 24px;\r\n font-weight: bold;\r\n box-shadow: 0 0 5px 0 #ccc;\r\n }\r\n}\r\n\r\n.main-container {\r\n &.statement-design-main {\r\n overflow: hidden !important;\r\n padding: 0;\r\n }\r\n}\r\n</style>\r\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,316 @@
|
|
|
1
|
+
import { defineComponent as T, reactive as C, ref as b, onMounted as q, watch as V, openBlock as D, createElementBlock as M, createElementVNode as p, createVNode as e, unref as t, withCtx as l, createTextVNode as r } from "vue";
|
|
2
|
+
import { useRouter as I } from "vue-router";
|
|
3
|
+
import { g as $, c as P, d as R, s as j } from "./util-93412a10.mjs";
|
|
4
|
+
import { ElButton as u, ElForm as x, ElFormItem as g, ElInput as _, ElTable as A, ElTableColumn as f, ElPagination as G, ElDialog as H, ElMessage as E, ElMessageBox as J } from "element-plus";
|
|
5
|
+
import "@/libs/api.request.js";
|
|
6
|
+
const K = { class: "statement-list-container" }, O = { class: "actions" }, Q = /* @__PURE__ */ p("i", { class: "iconfont icon-antdesign" }, null, -1), W = /* @__PURE__ */ p("i", { class: "iconfont icon-view" }, null, -1), X = /* @__PURE__ */ p("i", { class: "iconfont icon-edit-outline" }, null, -1), Y = /* @__PURE__ */ p("i", { class: "iconfont icon-delete" }, null, -1), Z = { class: "dialog-footer" }, ae = /* @__PURE__ */ T({
|
|
7
|
+
__name: "StatementList",
|
|
8
|
+
setup(ee) {
|
|
9
|
+
const v = I(), d = C({
|
|
10
|
+
name: "",
|
|
11
|
+
pageSize: 10,
|
|
12
|
+
total: 0,
|
|
13
|
+
pageNumber: 1
|
|
14
|
+
}), y = b([]);
|
|
15
|
+
function S(a) {
|
|
16
|
+
v.push(`/admin/statement/design/${a.id}`);
|
|
17
|
+
}
|
|
18
|
+
function z(a) {
|
|
19
|
+
v.push(`/admin/statement/detail/${a.id}`);
|
|
20
|
+
}
|
|
21
|
+
async function m() {
|
|
22
|
+
const a = await $(d);
|
|
23
|
+
y.value = a.data.list, d.total = d.pageSize = a.data.list.length;
|
|
24
|
+
}
|
|
25
|
+
function w(a, o) {
|
|
26
|
+
let n = "", s = "链接";
|
|
27
|
+
o === "inner" ? (n = `${window.location.pathname}#/statementdetail/${a.id}`, s = "内部链接") : (n = `${window.location.origin}${window.location.pathname}#/statementdetail/${a.id}`, s = "外部链接"), P(n).then(() => {
|
|
28
|
+
E.success(s + "复制成功");
|
|
29
|
+
}).catch(() => {
|
|
30
|
+
E.error(s + "复制遇到问题");
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
q(() => {
|
|
34
|
+
m();
|
|
35
|
+
});
|
|
36
|
+
const c = b(!1), i = C({
|
|
37
|
+
id: void 0,
|
|
38
|
+
name: "",
|
|
39
|
+
code: "",
|
|
40
|
+
description: ""
|
|
41
|
+
});
|
|
42
|
+
function N() {
|
|
43
|
+
c.value = !0;
|
|
44
|
+
}
|
|
45
|
+
function h(a) {
|
|
46
|
+
c.value = !0, i.id = a.id, i.name = a.name, i.code = a.code, i.description = a.description;
|
|
47
|
+
}
|
|
48
|
+
function F(a) {
|
|
49
|
+
J.confirm("当前操作会删除选定的报表,确认继续吗?", "警告", {
|
|
50
|
+
confirmButtonText: "删除",
|
|
51
|
+
cancelButtonText: "取消",
|
|
52
|
+
type: "warning"
|
|
53
|
+
}).then(async () => {
|
|
54
|
+
(await R(a.id)).data && $(d);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function k() {
|
|
58
|
+
c.value = !1, i.id = void 0, i.name = "", i.code = "", i.description = "";
|
|
59
|
+
}
|
|
60
|
+
async function U() {
|
|
61
|
+
await j(i), m(), k();
|
|
62
|
+
}
|
|
63
|
+
function B() {
|
|
64
|
+
d.pageNumber = 1, m();
|
|
65
|
+
}
|
|
66
|
+
function L() {
|
|
67
|
+
d.pageNumber = 1, d.name = "", m();
|
|
68
|
+
}
|
|
69
|
+
return V(
|
|
70
|
+
() => d.pageNumber,
|
|
71
|
+
() => {
|
|
72
|
+
m();
|
|
73
|
+
}
|
|
74
|
+
), V(
|
|
75
|
+
() => d.pageSize,
|
|
76
|
+
() => {
|
|
77
|
+
m();
|
|
78
|
+
}
|
|
79
|
+
), (a, o) => (D(), M("section", K, [
|
|
80
|
+
p("div", O, [
|
|
81
|
+
e(t(u), {
|
|
82
|
+
type: "primary",
|
|
83
|
+
onClick: N
|
|
84
|
+
}, {
|
|
85
|
+
default: l(() => [
|
|
86
|
+
r(" 新增 ")
|
|
87
|
+
]),
|
|
88
|
+
_: 1
|
|
89
|
+
}),
|
|
90
|
+
e(t(x), { inline: "" }, {
|
|
91
|
+
default: l(() => [
|
|
92
|
+
e(t(g), { label: "报表名称" }, {
|
|
93
|
+
default: l(() => [
|
|
94
|
+
e(t(_), {
|
|
95
|
+
modelValue: d.name,
|
|
96
|
+
"onUpdate:modelValue": o[0] || (o[0] = (n) => d.name = n),
|
|
97
|
+
placeholder: "键入关键字搜索报表"
|
|
98
|
+
}, null, 8, ["modelValue"])
|
|
99
|
+
]),
|
|
100
|
+
_: 1
|
|
101
|
+
})
|
|
102
|
+
]),
|
|
103
|
+
_: 1
|
|
104
|
+
}),
|
|
105
|
+
e(t(u), {
|
|
106
|
+
type: "primary",
|
|
107
|
+
onClick: o[1] || (o[1] = (n) => B())
|
|
108
|
+
}, {
|
|
109
|
+
default: l(() => [
|
|
110
|
+
r(" 搜索 ")
|
|
111
|
+
]),
|
|
112
|
+
_: 1
|
|
113
|
+
}),
|
|
114
|
+
e(t(u), {
|
|
115
|
+
onClick: o[2] || (o[2] = (n) => L())
|
|
116
|
+
}, {
|
|
117
|
+
default: l(() => [
|
|
118
|
+
r("重置")
|
|
119
|
+
]),
|
|
120
|
+
_: 1
|
|
121
|
+
})
|
|
122
|
+
]),
|
|
123
|
+
e(t(A), { data: y.value }, {
|
|
124
|
+
default: l(() => [
|
|
125
|
+
e(t(f), {
|
|
126
|
+
label: "#",
|
|
127
|
+
type: "index",
|
|
128
|
+
width: "66",
|
|
129
|
+
left: ""
|
|
130
|
+
}),
|
|
131
|
+
e(t(f), {
|
|
132
|
+
label: "表单编码",
|
|
133
|
+
"min-width": "100",
|
|
134
|
+
prop: "code"
|
|
135
|
+
}),
|
|
136
|
+
e(t(f), {
|
|
137
|
+
label: "表单名称",
|
|
138
|
+
"min-width": "100",
|
|
139
|
+
prop: "name"
|
|
140
|
+
}),
|
|
141
|
+
e(t(f), {
|
|
142
|
+
label: "描述",
|
|
143
|
+
"min-width": "200",
|
|
144
|
+
prop: "description"
|
|
145
|
+
}),
|
|
146
|
+
e(t(f), {
|
|
147
|
+
label: "操作",
|
|
148
|
+
width: "500",
|
|
149
|
+
fixed: "right"
|
|
150
|
+
}, {
|
|
151
|
+
default: l((n) => [
|
|
152
|
+
e(t(u), {
|
|
153
|
+
link: "",
|
|
154
|
+
title: "本系统前台页面嵌入地址",
|
|
155
|
+
onClick: (s) => w(n.row, "inner")
|
|
156
|
+
}, {
|
|
157
|
+
default: l(() => [
|
|
158
|
+
r(" 内部链接 ")
|
|
159
|
+
]),
|
|
160
|
+
_: 2
|
|
161
|
+
}, 1032, ["onClick"]),
|
|
162
|
+
e(t(u), {
|
|
163
|
+
link: "",
|
|
164
|
+
title: "其他系统嵌入地址",
|
|
165
|
+
onClick: (s) => w(n.row, "outside")
|
|
166
|
+
}, {
|
|
167
|
+
default: l(() => [
|
|
168
|
+
r(" 外部链接 ")
|
|
169
|
+
]),
|
|
170
|
+
_: 2
|
|
171
|
+
}, 1032, ["onClick"]),
|
|
172
|
+
e(t(u), {
|
|
173
|
+
type: "primary",
|
|
174
|
+
link: "",
|
|
175
|
+
onClick: (s) => S(n.row)
|
|
176
|
+
}, {
|
|
177
|
+
default: l(() => [
|
|
178
|
+
Q,
|
|
179
|
+
r(" 设计 ")
|
|
180
|
+
]),
|
|
181
|
+
_: 2
|
|
182
|
+
}, 1032, ["onClick"]),
|
|
183
|
+
e(t(u), {
|
|
184
|
+
type: "primary",
|
|
185
|
+
link: "",
|
|
186
|
+
onClick: (s) => z(n.row)
|
|
187
|
+
}, {
|
|
188
|
+
default: l(() => [
|
|
189
|
+
W,
|
|
190
|
+
r(" 查看 ")
|
|
191
|
+
]),
|
|
192
|
+
_: 2
|
|
193
|
+
}, 1032, ["onClick"]),
|
|
194
|
+
e(t(u), {
|
|
195
|
+
type: "primary",
|
|
196
|
+
link: "",
|
|
197
|
+
onClick: (s) => h(n.row)
|
|
198
|
+
}, {
|
|
199
|
+
default: l(() => [
|
|
200
|
+
X,
|
|
201
|
+
r(" 编辑 ")
|
|
202
|
+
]),
|
|
203
|
+
_: 2
|
|
204
|
+
}, 1032, ["onClick"]),
|
|
205
|
+
e(t(u), {
|
|
206
|
+
type: "danger",
|
|
207
|
+
link: "",
|
|
208
|
+
onClick: (s) => F(n.row)
|
|
209
|
+
}, {
|
|
210
|
+
default: l(() => [
|
|
211
|
+
Y,
|
|
212
|
+
r(" 删除 ")
|
|
213
|
+
]),
|
|
214
|
+
_: 2
|
|
215
|
+
}, 1032, ["onClick"])
|
|
216
|
+
]),
|
|
217
|
+
_: 1
|
|
218
|
+
})
|
|
219
|
+
]),
|
|
220
|
+
_: 1
|
|
221
|
+
}, 8, ["data"]),
|
|
222
|
+
e(t(G), {
|
|
223
|
+
background: "",
|
|
224
|
+
style: { "padding-top": "30px", "justify-content": "flex-end" },
|
|
225
|
+
"page-sizes": [10, 20, 50, 100],
|
|
226
|
+
"page-size": d.pageSize,
|
|
227
|
+
"onUpdate:pageSize": o[3] || (o[3] = (n) => d.pageSize = n),
|
|
228
|
+
total: d.total,
|
|
229
|
+
"current-page": d.pageNumber,
|
|
230
|
+
"onUpdate:currentPage": o[4] || (o[4] = (n) => d.pageNumber = n),
|
|
231
|
+
layout: "sizes,prev,pager,next,total"
|
|
232
|
+
}, null, 8, ["page-size", "total", "current-page"]),
|
|
233
|
+
e(t(H), {
|
|
234
|
+
modelValue: c.value,
|
|
235
|
+
"onUpdate:modelValue": o[9] || (o[9] = (n) => c.value = n),
|
|
236
|
+
onClose: k,
|
|
237
|
+
title: i.id ? "编辑报表" : "新建报表"
|
|
238
|
+
}, {
|
|
239
|
+
footer: l(() => [
|
|
240
|
+
p("span", Z, [
|
|
241
|
+
e(t(u), { onClick: k }, {
|
|
242
|
+
default: l(() => [
|
|
243
|
+
r("取消")
|
|
244
|
+
]),
|
|
245
|
+
_: 1
|
|
246
|
+
}),
|
|
247
|
+
e(t(u), {
|
|
248
|
+
type: "primary",
|
|
249
|
+
onClick: o[8] || (o[8] = (n) => U())
|
|
250
|
+
}, {
|
|
251
|
+
default: l(() => [
|
|
252
|
+
r(" 保存 ")
|
|
253
|
+
]),
|
|
254
|
+
_: 1
|
|
255
|
+
})
|
|
256
|
+
])
|
|
257
|
+
]),
|
|
258
|
+
default: l(() => [
|
|
259
|
+
e(t(x), {
|
|
260
|
+
model: i,
|
|
261
|
+
"label-width": "120"
|
|
262
|
+
}, {
|
|
263
|
+
default: l(() => [
|
|
264
|
+
e(t(g), {
|
|
265
|
+
label: "报表代码",
|
|
266
|
+
required: ""
|
|
267
|
+
}, {
|
|
268
|
+
default: l(() => [
|
|
269
|
+
e(t(_), {
|
|
270
|
+
modelValue: i.code,
|
|
271
|
+
"onUpdate:modelValue": o[5] || (o[5] = (n) => i.code = n),
|
|
272
|
+
autocomplete: "off"
|
|
273
|
+
}, null, 8, ["modelValue"])
|
|
274
|
+
]),
|
|
275
|
+
_: 1
|
|
276
|
+
}),
|
|
277
|
+
e(t(g), {
|
|
278
|
+
label: "报表名称",
|
|
279
|
+
required: ""
|
|
280
|
+
}, {
|
|
281
|
+
default: l(() => [
|
|
282
|
+
e(t(_), {
|
|
283
|
+
modelValue: i.name,
|
|
284
|
+
"onUpdate:modelValue": o[6] || (o[6] = (n) => i.name = n),
|
|
285
|
+
autocomplete: "off"
|
|
286
|
+
}, null, 8, ["modelValue"])
|
|
287
|
+
]),
|
|
288
|
+
_: 1
|
|
289
|
+
}),
|
|
290
|
+
e(t(g), {
|
|
291
|
+
label: "描述",
|
|
292
|
+
required: ""
|
|
293
|
+
}, {
|
|
294
|
+
default: l(() => [
|
|
295
|
+
e(t(_), {
|
|
296
|
+
modelValue: i.description,
|
|
297
|
+
"onUpdate:modelValue": o[7] || (o[7] = (n) => i.description = n),
|
|
298
|
+
type: "textarea",
|
|
299
|
+
autocomplete: "off"
|
|
300
|
+
}, null, 8, ["modelValue"])
|
|
301
|
+
]),
|
|
302
|
+
_: 1
|
|
303
|
+
})
|
|
304
|
+
]),
|
|
305
|
+
_: 1
|
|
306
|
+
}, 8, ["model"])
|
|
307
|
+
]),
|
|
308
|
+
_: 1
|
|
309
|
+
}, 8, ["modelValue", "title"])
|
|
310
|
+
]));
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
export {
|
|
314
|
+
ae as default
|
|
315
|
+
};
|
|
316
|
+
//# sourceMappingURL=StatementList-baa728c1.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatementList-baa728c1.mjs","sources":["../StatementList.vue"],"sourcesContent":["<template>\r\n <section class=\"statement-list-container\">\r\n <div class=\"actions\">\r\n <el-button\r\n type=\"primary\"\r\n @click=\"toAddForm\">\r\n 新增\r\n </el-button>\r\n <el-form inline>\r\n <el-form-item label=\"报表名称\">\r\n <el-input\r\n v-model=\"listForm.name\"\r\n placeholder=\"键入关键字搜索报表\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"onSearch()\">\r\n 搜索\r\n </el-button>\r\n <el-button @click=\"onReset()\">重置</el-button>\r\n </div>\r\n <el-table :data=\"data\">\r\n <el-table-column\r\n label=\"#\"\r\n type=\"index\"\r\n width=\"66\"\r\n left></el-table-column>\r\n <el-table-column\r\n label=\"表单编码\"\r\n min-width=\"100\"\r\n prop=\"code\"></el-table-column>\r\n <el-table-column\r\n label=\"表单名称\"\r\n min-width=\"100\"\r\n prop=\"name\"></el-table-column>\r\n <el-table-column\r\n label=\"描述\"\r\n min-width=\"200\"\r\n prop=\"description\"></el-table-column>\r\n <el-table-column\r\n label=\"操作\"\r\n width=\"500\"\r\n fixed=\"right\">\r\n <template #default=\"scope\">\r\n <el-button\r\n link\r\n title=\"本系统前台页面嵌入地址\"\r\n @click=\"copyLink(scope.row, 'inner')\">\r\n 内部链接\r\n </el-button>\r\n <el-button\r\n link\r\n title=\"其他系统嵌入地址\"\r\n @click=\"copyLink(scope.row, 'outside')\">\r\n 外部链接\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n link\r\n @click=\"toDesign(scope.row)\">\r\n <i class=\"iconfont icon-antdesign\"></i>\r\n 设计\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n link\r\n @click=\"toView(scope.row)\">\r\n <i class=\"iconfont icon-view\"></i>\r\n 查看\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n link\r\n @click=\"toEditor(scope.row)\">\r\n <i class=\"iconfont icon-edit-outline\"></i>\r\n 编辑\r\n </el-button>\r\n <el-button\r\n type=\"danger\"\r\n link\r\n @click=\"toDelete(scope.row)\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n 删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <el-pagination\r\n background\r\n style=\"padding-top: 30px; justify-content: flex-end\"\r\n :page-sizes=\"[10, 20, 50, 100]\"\r\n v-model:page-size=\"listForm.pageSize\"\r\n :total=\"listForm.total\"\r\n v-model:current-page=\"listForm.pageNumber\"\r\n layout=\"sizes,prev,pager,next,total\"></el-pagination>\r\n <!-- 新增报表对话框 -->\r\n <el-dialog\r\n v-model=\"dialogFormVisible\"\r\n @close=\"cancelForm\"\r\n :title=\"form.id ? '编辑报表' : '新建报表'\">\r\n <el-form\r\n :model=\"form\"\r\n label-width=\"120\">\r\n <el-form-item\r\n label=\"报表代码\"\r\n required>\r\n <el-input\r\n v-model=\"form.code\"\r\n autocomplete=\"off\" />\r\n </el-form-item>\r\n <el-form-item\r\n label=\"报表名称\"\r\n required>\r\n <el-input\r\n v-model=\"form.name\"\r\n autocomplete=\"off\" />\r\n </el-form-item>\r\n <el-form-item\r\n label=\"描述\"\r\n required>\r\n <el-input\r\n v-model=\"form.description\"\r\n type=\"textarea\"\r\n autocomplete=\"off\" />\r\n </el-form-item>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"cancelForm\">取消</el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"saveForm()\">\r\n 保存\r\n </el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n </section>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport {ref, reactive, watch, onMounted} from 'vue';\r\nimport {useRouter} from 'vue-router';\r\nimport {Statement} from './types';\r\nimport {getList, save, del} from './api/form';\r\nimport {ElMessageBox, ElMessage, ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElPagination, ElDialog} from 'element-plus';\r\nimport {copyString} from './libs/util';\r\n\r\nconst router = useRouter();\r\n\r\n// @ts-ignore\r\nconst listForm = reactive({\r\n name: '',\r\n pageSize: 10,\r\n total: 0,\r\n pageNumber: 1,\r\n});\r\nconst data = ref<Statement[]>([]);\r\n\r\nfunction toDesign(row) {\r\n router.push(`/admin/statement/design/${row.id}`);\r\n}\r\n\r\nfunction toView(row) {\r\n router.push(`/admin/statement/detail/${row.id}`);\r\n}\r\n\r\n//获取报表列表\r\nasync function getStatementList() {\r\n const res = await getList(listForm);\r\n data.value = res.data.list;\r\n listForm.total = listForm.pageSize = res.data.list.length;\r\n}\r\n\r\nfunction copyLink(row, type) {\r\n let href = '';\r\n let hrefName = '链接';\r\n if (type === 'inner') {\r\n href = `${window.location.pathname}#/statementdetail/${row.id}`;\r\n hrefName = '内部链接';\r\n } else {\r\n href = `${window.location.origin}${window.location.pathname}#/statementdetail/${row.id}`;\r\n hrefName = '外部链接';\r\n }\r\n copyString(href)\r\n .then(() => {\r\n ElMessage.success(hrefName + '复制成功');\r\n })\r\n .catch(() => {\r\n ElMessage.error(hrefName + '复制遇到问题');\r\n });\r\n}\r\n\r\nonMounted(() => {\r\n getStatementList();\r\n});\r\n\r\n//新增报表\r\nconst dialogFormVisible = ref(false);\r\nconst form = reactive({\r\n id: undefined,\r\n name: '',\r\n code: '',\r\n description: '',\r\n});\r\n\r\nfunction toAddForm() {\r\n dialogFormVisible.value = true;\r\n}\r\n\r\nfunction toEditor(row) {\r\n dialogFormVisible.value = true;\r\n form.id = row.id;\r\n form.name = row.name;\r\n form.code = row.code;\r\n form.description = row.description;\r\n}\r\n\r\nfunction toDelete(row) {\r\n ElMessageBox.confirm('当前操作会删除选定的报表,确认继续吗?', '警告', {\r\n confirmButtonText: '删除',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(async () => {\r\n let res = await del(row.id);\r\n if (res.data) {\r\n getList(listForm);\r\n }\r\n });\r\n}\r\n\r\nfunction cancelForm() {\r\n dialogFormVisible.value = false;\r\n form.id = undefined;\r\n form.name = '';\r\n form.code = '';\r\n form.description = '';\r\n}\r\nasync function saveForm() {\r\n await save(form);\r\n getStatementList();\r\n cancelForm();\r\n}\r\n\r\n//搜索报表\r\nfunction onSearch() {\r\n listForm.pageNumber = 1;\r\n getStatementList();\r\n}\r\n\r\n//重置\r\nfunction onReset() {\r\n listForm.pageNumber = 1;\r\n listForm.name = '';\r\n getStatementList();\r\n}\r\n\r\n//删除表单\r\n// function toDel(id) {\r\n// ElMessageBox.confirm(\"您确定要删除该表单吗\", \"警告\", {\r\n// confirmButtonText: \"确认\",\r\n// cancelButtonText: \"取消\",\r\n// type: \"warning\",\r\n// })\r\n// .then(() => {\r\n// delListForm(id);\r\n// })\r\n// .then(() => {\r\n// getFormList();\r\n// });\r\n// }\r\n\r\n//分页功能\r\nwatch(\r\n () => listForm.pageNumber,\r\n () => {\r\n getStatementList();\r\n }\r\n);\r\nwatch(\r\n () => listForm.pageSize,\r\n () => {\r\n getStatementList();\r\n }\r\n);\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.statement-list-container {\r\n width: 100%;\r\n height: 100%;\r\n padding: 10px 0;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n .actions {\r\n display: flex;\r\n align-items: center;\r\n\r\n .el-form {\r\n flex: 1;\r\n margin: 0 10px;\r\n }\r\n\r\n .el-form-item {\r\n margin-bottom: 0;\r\n margin-right: 10px;\r\n }\r\n }\r\n\r\n .el-table {\r\n flex: 1;\r\n }\r\n\r\n .el-dialog {\r\n .el-button--text {\r\n margin-right: 15px;\r\n }\r\n\r\n .el-form-item {\r\n width: 100%;\r\n }\r\n\r\n .el-select {\r\n width: 100%;\r\n }\r\n\r\n .el-input {\r\n width: 100%;\r\n }\r\n\r\n .dialog-footer button:first-child {\r\n margin-right: 10px;\r\n }\r\n }\r\n}\r\n</style>\r\n"],"names":["router","useRouter","listForm","reactive","data","ref","toDesign","row","toView","getStatementList","res","getList","copyLink","type","href","hrefName","copyString","ElMessage","onMounted","dialogFormVisible","form","toAddForm","toEditor","toDelete","ElMessageBox","del","cancelForm","saveForm","save","onSearch","onReset","watch"],"mappings":"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"}
|
package/index.es.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const a = {
|
|
2
|
+
install(i, e) {
|
|
3
|
+
let { router: t, pinia: o, isAdmin: n = !1 } = e;
|
|
4
|
+
n && (t.addRoute("Index", {
|
|
5
|
+
path: "statement/list",
|
|
6
|
+
name: "报表列表",
|
|
7
|
+
meta: {
|
|
8
|
+
id: "Statement",
|
|
9
|
+
title: "报表列表",
|
|
10
|
+
icon: "iconfont icon-s-grid"
|
|
11
|
+
},
|
|
12
|
+
component: () => import("./StatementList-baa728c1.mjs")
|
|
13
|
+
}), t.addRoute("Index", {
|
|
14
|
+
path: "statement/design/:id",
|
|
15
|
+
name: "报表设计",
|
|
16
|
+
meta: {
|
|
17
|
+
id: "StatementDesign",
|
|
18
|
+
title: "报表设计",
|
|
19
|
+
icon: "iconfont icon-s-grid"
|
|
20
|
+
},
|
|
21
|
+
component: () => import("./StatementDesign-b06cf90f.mjs")
|
|
22
|
+
})), t.addRoute("Index", {
|
|
23
|
+
path: "statement/detail/:id",
|
|
24
|
+
name: "后台报表查看",
|
|
25
|
+
meta: {
|
|
26
|
+
id: "StatementDetail",
|
|
27
|
+
title: "后台报表查看",
|
|
28
|
+
icon: "iconfont icon-s-grid"
|
|
29
|
+
},
|
|
30
|
+
component: () => import("./StatementDetail-62e637ea.mjs")
|
|
31
|
+
}), t.addRoute({
|
|
32
|
+
path: "/statementdetail/:id",
|
|
33
|
+
name: "报表查看",
|
|
34
|
+
meta: {
|
|
35
|
+
id: "StatementDetail",
|
|
36
|
+
title: "报表查看",
|
|
37
|
+
icon: "iconfont icon-s-grid"
|
|
38
|
+
},
|
|
39
|
+
component: () => import("./StatementDetail-62e637ea.mjs")
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
export {
|
|
44
|
+
a as default
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=index.es.js.map
|
package/index.es.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../index.ts"],"sourcesContent":["import {Router} from 'vue-router';\r\nimport {Pinia} from 'pinia';\r\n\r\nexport default {\r\n install(\r\n app,\r\n config: {\r\n router: Router;\r\n pinia: Pinia;\r\n isAdmin?: boolean;\r\n }\r\n ) {\r\n let {router, pinia, isAdmin = false} = config;\r\n // 管理后台才添加报表管理的,要不然只提供预览的详情页\r\n if (isAdmin) {\r\n router.addRoute('Index', {\r\n path: 'statement/list',\r\n name: '报表列表',\r\n meta: {\r\n id: 'Statement',\r\n title: '报表列表',\r\n icon: 'iconfont icon-s-grid',\r\n },\r\n component: () => import('./StatementList.vue'),\r\n });\r\n router.addRoute('Index', {\r\n path: 'statement/design/:id',\r\n name: '报表设计',\r\n meta: {\r\n id: 'StatementDesign',\r\n title: '报表设计',\r\n icon: 'iconfont icon-s-grid',\r\n },\r\n component: () => import('./StatementDesign.vue'),\r\n });\r\n }\r\n router.addRoute('Index', {\r\n path: 'statement/detail/:id',\r\n name: '后台报表查看',\r\n meta: {\r\n id: 'StatementDetail',\r\n title: '后台报表查看',\r\n icon: 'iconfont icon-s-grid',\r\n },\r\n component: () => import('./StatementDetail.vue'),\r\n });\r\n router.addRoute({\r\n path: '/statementdetail/:id',\r\n name: '报表查看',\r\n meta: {\r\n id: 'StatementDetail',\r\n title: '报表查看',\r\n icon: 'iconfont icon-s-grid',\r\n },\r\n component: () => import('./StatementDetail.vue'),\r\n });\r\n },\r\n};\r\n"],"names":["index","app","config","router","pinia","isAdmin"],"mappings":"AAGA,MAAeA,IAAA;AAAA,EACb,QACEC,GACAC,GAKA;AACA,QAAI,EAAC,QAAAC,GAAQ,OAAAC,GAAO,SAAAC,IAAU,OAASH;AAEvC,IAAIG,MACFF,EAAO,SAAS,SAAS;AAAA,MACvB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,WAAW,MAAM,OAAO,8BAAqB;AAAA,IAAA,CAC9C,GACDA,EAAO,SAAS,SAAS;AAAA,MACvB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,WAAW,MAAM,OAAO,gCAAuB;AAAA,IAAA,CAChD,IAEHA,EAAO,SAAS,SAAS;AAAA,MACvB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,WAAW,MAAM,OAAO,gCAAuB;AAAA,IAAA,CAChD,GACDA,EAAO,SAAS;AAAA,MACd,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,WAAW,MAAM,OAAO,gCAAuB;AAAA,IAAA,CAChD;AAAA,EACH;AACF;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "yh-report",
|
|
3
|
+
"version": "1.1.1",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "./index.es.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./index.es.js"
|
|
10
|
+
},
|
|
11
|
+
"./style.css": "./style.css"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"**/*.*",
|
|
15
|
+
"package.json"
|
|
16
|
+
],
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@antv/s2": "2.0.0-next.25",
|
|
19
|
+
"yh-hooks": "^1.0.0",
|
|
20
|
+
"yh-codemirror": "^1.0.0",
|
|
21
|
+
"echarts": "5.5.0",
|
|
22
|
+
"vuedraggable": "^4.1.0"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"vue": "^3.0.0",
|
|
26
|
+
"pinia": "^2.0.0",
|
|
27
|
+
"element-plus": "^2.3.8",
|
|
28
|
+
"dayjs": "^1.0.0"
|
|
29
|
+
},
|
|
30
|
+
"scripts": {
|
|
31
|
+
"pub:npm": "npm publish --registry https://registry.npmjs.org/ --no-git-checks",
|
|
32
|
+
"pub:aliyun": "npm publish --registry https://packages.aliyun.com/60765e0161a945067837bb5f/npm/npm-registry/ --no-git-checks"
|
|
33
|
+
},
|
|
34
|
+
"license": "ISC"
|
|
35
|
+
}
|