@pangu-backend-ui/apputil-core 0.0.1 → 0.0.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.
package/index.js CHANGED
@@ -1,90 +1,95 @@
1
- import { defineComponent as W, ref as g, inject as j, resolveComponent as u, openBlock as i, createBlock as _, withCtx as l, createVNode as e, createTextVNode as f, createElementBlock as S, Fragment as D, renderList as I, onBeforeMount as J, createCommentVNode as V, toDisplayString as B, unref as M } from "vue";
2
- const z = [], K = /* @__PURE__ */ W({
1
+ import { defineComponent as W, ref as v, inject as j, resolveComponent as o, openBlock as s, createBlock as p, withCtx as t, createVNode as n, createTextVNode as f, createElementBlock as A, Fragment as B, renderList as $, unref as q, createCommentVNode as E, onBeforeMount as z, resolveDirective as G, withDirectives as K, toDisplayString as w } from "vue";
2
+ const Y = [], M = {
3
+ OPEN_WEB: { name: "打开Web页面" },
4
+ OPEN_VIEW: { name: "打开内置页面" },
5
+ API_REQUEST: { name: "请求API" },
6
+ EXEC_METHOD: { name: "执行方法" },
7
+ CUSTOM: { name: "自定义" }
8
+ }, Z = /* @__PURE__ */ W({
3
9
  __name: "BannerDialog",
4
10
  emits: ["success"],
5
- setup(P, { expose: r, emit: d }) {
6
- const m = g(!1), n = g({
11
+ setup(S, { expose: r, emit: d }) {
12
+ const m = v(!1), a = v({
7
13
  sceneCode: null,
8
14
  image: null,
9
15
  targetPath: null,
10
- targetPathType: null,
16
+ clickEventType: "",
11
17
  params: null,
12
18
  shelfTimeArr: []
13
- }), F = g({
19
+ }), U = v({
14
20
  sceneCode: [{ required: !0, message: "请输入场景代码" }],
15
21
  image: [{ required: !0, message: "请上传图片" }],
16
22
  targetPath: [{ required: !0, message: "请输入目标地址" }],
17
- targetPathType: [{ required: !0, message: "请选择目标地址类型" }]
18
- }), C = g(!1), b = j("http"), k = g();
19
- function x() {
23
+ clickEventType: [{ required: !0, message: "请选择点击事件类型" }]
24
+ }), k = v(!1), b = j("http"), V = v();
25
+ function R() {
20
26
  var y;
21
- (y = k.value) == null || y.validate((t) => {
22
- if (t) {
23
- C.value = !0;
24
- let o = `/api/banner/${w ?? ""}/${w ? "update" : "create"}`, p = { ...n.value };
25
- n.value.shelfTimeArr.length && (p.shelfTime = n.value.shelfTimeArr[0], p.offShelfTime = n.value.shelfTimeArr[1]), b == null || b.post(o, p).then((h) => {
26
- var v;
27
- d("success"), (v = k.value) == null || v.resetFields(), m.value = !1;
27
+ (y = V.value) == null || y.validate((e) => {
28
+ if (e) {
29
+ k.value = !0;
30
+ let u = `/api/banner/${C.value ?? ""}/${C.value ? "update" : "create"}`, c = { ...a.value };
31
+ a.value.shelfTimeArr.length && (c.shelfTime = a.value.shelfTimeArr[0], c.offShelfTime = a.value.shelfTimeArr[1]), b == null || b.post(u, c).then((h) => {
32
+ var g;
33
+ d("success"), (g = V.value) == null || g.resetFields(), m.value = !1;
28
34
  }).finally(() => {
29
- C.value = !1;
35
+ k.value = !1;
30
36
  });
31
37
  }
32
38
  });
33
39
  }
34
- const U = g([]);
35
- let w = null;
36
- function $(y, t) {
37
- var o;
38
- U.value = y, w = null, (o = k.value) == null || o.resetFields(), t && (w = t.id, Object.assign(n.value, t), n.value.shelfTimeArr = [new Date(t.shelfTime), new Date(t.offShelfTime)]), m.value = !0;
40
+ const F = v([]), C = v(null);
41
+ function N(y, e) {
42
+ var u;
43
+ F.value = y, C.value = null, (u = V.value) == null || u.resetFields(), e && (C.value = e.id, Object.assign(a.value, e), a.value.shelfTimeArr = [new Date(e.shelfTime), new Date(e.offShelfTime)]), m.value = !0;
39
44
  }
40
45
  return r({
41
- show: $
42
- }), (y, t) => {
43
- const o = u("el-option"), p = u("el-select"), h = u("el-form-item"), v = u("pg-upload"), A = u("el-input"), L = u("el-date-picker"), c = u("el-form"), R = u("el-button"), E = u("el-dialog");
44
- return i(), _(E, {
46
+ show: N
47
+ }), (y, e) => {
48
+ const u = o("el-option"), c = o("el-select"), h = o("el-form-item"), g = o("pg-upload"), P = o("el-input"), O = o("el-collapse-transition"), _ = o("el-date-picker"), L = o("el-form"), I = o("el-button"), x = o("el-dialog");
49
+ return s(), p(x, {
45
50
  modelValue: m.value,
46
- "onUpdate:modelValue": t[6] || (t[6] = (s) => m.value = s),
51
+ "onUpdate:modelValue": e[6] || (e[6] = (i) => m.value = i),
47
52
  width: "400"
48
53
  }, {
49
- footer: l(() => [
50
- e(R, {
54
+ footer: t(() => [
55
+ n(I, {
51
56
  type: "primary",
52
- disabled: C.value,
53
- loading: C.value,
54
- onClick: x
57
+ disabled: k.value,
58
+ loading: k.value,
59
+ onClick: R
55
60
  }, {
56
- default: l(() => [
61
+ default: t(() => [
57
62
  f("提交")
58
63
  ]),
59
64
  _: 1
60
65
  }, 8, ["disabled", "loading"])
61
66
  ]),
62
- default: l(() => [
63
- e(c, {
67
+ default: t(() => [
68
+ n(L, {
64
69
  ref_key: "form",
65
- ref: k,
66
- rules: F.value,
67
- model: n.value,
70
+ ref: V,
71
+ rules: U.value,
72
+ model: a.value,
68
73
  "label-position": "top"
69
74
  }, {
70
- default: l(() => [
71
- e(h, {
75
+ default: t(() => [
76
+ n(h, {
72
77
  label: "场景代码",
73
78
  prop: "sceneCode"
74
79
  }, {
75
- default: l(() => [
76
- e(p, {
77
- modelValue: n.value.sceneCode,
78
- "onUpdate:modelValue": t[0] || (t[0] = (s) => n.value.sceneCode = s),
80
+ default: t(() => [
81
+ n(c, {
82
+ modelValue: a.value.sceneCode,
83
+ "onUpdate:modelValue": e[0] || (e[0] = (i) => a.value.sceneCode = i),
79
84
  placeholder: "请输入/选择场景代码",
80
85
  "allow-create": "",
81
86
  filterable: ""
82
87
  }, {
83
- default: l(() => [
84
- (i(!0), S(D, null, I(U.value, (s) => (i(), _(o, {
85
- key: s,
86
- value: s,
87
- label: s
88
+ default: t(() => [
89
+ (s(!0), A(B, null, $(F.value, (i) => (s(), p(u, {
90
+ key: i,
91
+ value: i,
92
+ label: i
88
93
  }, null, 8, ["value", "label"]))), 128))
89
94
  ]),
90
95
  _: 1
@@ -92,86 +97,86 @@ const z = [], K = /* @__PURE__ */ W({
92
97
  ]),
93
98
  _: 1
94
99
  }),
95
- e(h, {
100
+ n(h, {
96
101
  label: "图片",
97
102
  prop: "image"
98
103
  }, {
99
- default: l(() => [
100
- e(v, {
104
+ default: t(() => [
105
+ (s(), p(g, {
101
106
  accept: "jpg,jpeg,png",
102
- modelValue: n.value.image,
103
- "onUpdate:modelValue": t[1] || (t[1] = (s) => n.value.image = s),
107
+ modelValue: a.value.image,
108
+ "onUpdate:modelValue": e[1] || (e[1] = (i) => a.value.image = i),
109
+ key: `img_${C.value}`,
104
110
  "list-type": "picture-card",
105
111
  "upload-type": "banner",
106
112
  limit: 1
107
- }, null, 8, ["modelValue"])
113
+ }, null, 8, ["modelValue"]))
108
114
  ]),
109
115
  _: 1
110
116
  }),
111
- e(h, {
112
- label: "目标地址",
113
- prop: "targetPath"
117
+ n(h, {
118
+ label: "点击事件类型",
119
+ prop: "clickEventType"
114
120
  }, {
115
- default: l(() => [
116
- e(A, {
117
- placeholder: "请输入目标地址",
118
- modelValue: n.value.targetPath,
119
- "onUpdate:modelValue": t[2] || (t[2] = (s) => n.value.targetPath = s)
120
- }, null, 8, ["modelValue"])
121
+ default: t(() => [
122
+ n(c, {
123
+ placeholder: "请选择点击事件类型",
124
+ modelValue: a.value.clickEventType,
125
+ "onUpdate:modelValue": e[2] || (e[2] = (i) => a.value.clickEventType = i)
126
+ }, {
127
+ default: t(() => [
128
+ (s(!0), A(B, null, $(q(M), (i, D) => (s(), p(u, {
129
+ value: D,
130
+ label: i.name
131
+ }, null, 8, ["value", "label"]))), 256))
132
+ ]),
133
+ _: 1
134
+ }, 8, ["modelValue"])
121
135
  ]),
122
136
  _: 1
123
137
  }),
124
- e(h, {
125
- label: "目标地址类型",
126
- prop: "targetPathType"
127
- }, {
128
- default: l(() => [
129
- e(p, {
130
- placeholder: "请选择目标地址类型",
131
- modelValue: n.value.targetPathType,
132
- "onUpdate:modelValue": t[3] || (t[3] = (s) => n.value.targetPathType = s)
138
+ n(O, null, {
139
+ default: t(() => [
140
+ ["OPEN_WEB", "OPEN_VIEW", "API_REQUEST"].indexOf(a.value.clickEventType) >= 0 ? (s(), p(h, {
141
+ key: 0,
142
+ label: "目标地址",
143
+ prop: "targetPath"
133
144
  }, {
134
- default: l(() => [
135
- e(o, {
136
- value: "WEB_URL",
137
- label: "Web地址"
138
- }),
139
- e(o, {
140
- value: "PAGE_PATH",
141
- label: "页面地址"
142
- }),
143
- e(o, {
144
- value: "API",
145
- label: "API地址"
146
- })
145
+ default: t(() => [
146
+ n(P, {
147
+ placeholder: "请输入目标地址",
148
+ modelValue: a.value.targetPath,
149
+ "onUpdate:modelValue": e[3] || (e[3] = (i) => a.value.targetPath = i)
150
+ }, null, 8, ["modelValue"])
147
151
  ]),
148
152
  _: 1
149
- }, 8, ["modelValue"])
153
+ })) : E("", !0)
150
154
  ]),
151
155
  _: 1
152
156
  }),
153
- e(h, {
157
+ n(h, {
154
158
  label: "目标地址参数",
155
159
  prop: "params"
156
160
  }, {
157
- default: l(() => [
158
- e(A, {
161
+ default: t(() => [
162
+ n(P, {
159
163
  type: "textarea",
160
- modelValue: n.value.params,
161
- "onUpdate:modelValue": t[4] || (t[4] = (s) => n.value.params = s)
164
+ modelValue: a.value.params,
165
+ "onUpdate:modelValue": e[4] || (e[4] = (i) => a.value.params = i),
166
+ placeholder: "请输入JSON格式的参数对象"
162
167
  }, null, 8, ["modelValue"])
163
168
  ]),
164
169
  _: 1
165
170
  }),
166
- e(h, {
171
+ n(h, {
167
172
  label: "生效时段",
168
173
  prop: "shelfTimeArr"
169
174
  }, {
170
- default: l(() => [
171
- e(L, {
175
+ default: t(() => [
176
+ n(_, {
172
177
  type: "datetimerange",
173
- modelValue: n.value.shelfTimeArr,
174
- "onUpdate:modelValue": t[5] || (t[5] = (s) => n.value.shelfTimeArr = s),
178
+ modelValue: a.value.shelfTimeArr,
179
+ "onUpdate:modelValue": e[5] || (e[5] = (i) => a.value.shelfTimeArr = i),
175
180
  "start-placeholder": "上架时间",
176
181
  "end-placeholder": "下架时间",
177
182
  "default-time": [new Date(2e3, 1, 1, 0, 0, 0), new Date(2e3, 1, 1, 23, 59, 59)]
@@ -187,336 +192,328 @@ const z = [], K = /* @__PURE__ */ W({
187
192
  }, 8, ["modelValue"]);
188
193
  };
189
194
  }
190
- }), Q = {
191
- WEB_URL: {
192
- name: "Web地址"
193
- },
194
- PAGE_PATH: {
195
- name: "页面地址"
196
- },
197
- API: {
198
- name: "API地址"
199
- }
200
- }, X = /* @__PURE__ */ W({
195
+ }), ee = /* @__PURE__ */ W({
201
196
  __name: "BannerListView",
202
- setup(P) {
203
- const r = j("http"), d = g({
197
+ setup(S) {
198
+ const r = j("http"), d = v({
204
199
  sceneCode: null,
205
200
  status: null
206
- }), m = g([]);
207
- function n() {
208
- r == null || r.get("/api/banner/all-scene-code").then((t) => {
209
- m.value = t.data;
201
+ }), m = v([]);
202
+ function a() {
203
+ r == null || r.get("/api/banner/all-scene-code").then((e) => {
204
+ m.value = e.data;
210
205
  });
211
206
  }
212
- const F = g(), C = g(!1);
207
+ const U = v(), k = v(!1);
213
208
  function b() {
214
- C.value = !!d.value.sceneCode, F.value.search();
209
+ k.value = !!d.value.sceneCode, U.value.search();
215
210
  }
216
- function k(t) {
217
- r == null || r.post(`/api/banner/${t}/publish`).then((o) => {
211
+ function V(e) {
212
+ r == null || r.post(`/api/banner/${e}/publish`).then((u) => {
218
213
  b();
219
214
  });
220
215
  }
221
- function x(t) {
222
- r == null || r.post(`/api/banner/${t}/off-shelf`).then((o) => {
216
+ function R(e) {
217
+ r == null || r.post(`/api/banner/${e}/off-shelf`).then((u) => {
223
218
  b();
224
219
  });
225
220
  }
226
- function U(t, o) {
227
- r == null || r.post(`/api/banner/${t}/move-up`).then((p) => {
228
- d.value.sceneCode = o, b();
221
+ function F(e, u) {
222
+ r == null || r.post(`/api/banner/${e}/move-up`).then((c) => {
223
+ d.value.sceneCode = u, b();
229
224
  });
230
225
  }
231
- function w(t, o) {
232
- r == null || r.post(`/api/banner/${t}/move-down`).then((p) => {
233
- d.value.sceneCode = o, b();
226
+ function C(e, u) {
227
+ r == null || r.post(`/api/banner/${e}/move-down`).then((c) => {
228
+ d.value.sceneCode = u, b();
234
229
  });
235
230
  }
236
- J(() => {
237
- n();
231
+ z(() => {
232
+ a();
238
233
  });
239
- const $ = g();
240
- function y(t) {
241
- $.value.show(m.value, t);
234
+ const N = v();
235
+ function y(e) {
236
+ N.value.show(m.value, e);
242
237
  }
243
- return (t, o) => {
244
- const p = u("el-option"), h = u("el-select"), v = u("el-button"), A = u("el-space"), L = u("el-card"), c = u("el-table-column"), R = u("el-image"), E = u("el-descriptions-item"), s = u("el-descriptions"), q = u("el-popover"), H = u("el-tag"), O = u("el-popconfirm"), N = u("pg-table");
245
- return i(), S(D, null, [
246
- e(L, null, {
247
- default: l(() => [
248
- e(A, null, {
249
- default: l(() => [
250
- e(h, {
238
+ return (e, u) => {
239
+ const c = o("el-option"), h = o("el-select"), g = o("el-button"), P = o("el-space"), O = o("el-card"), _ = o("el-table-column"), L = o("el-image"), I = o("el-descriptions-item"), x = o("el-descriptions"), i = o("el-popover"), D = o("el-tag"), H = o("el-popconfirm"), Q = o("pg-table"), J = G("permission");
240
+ return s(), A(B, null, [
241
+ n(O, null, {
242
+ default: t(() => [
243
+ n(P, null, {
244
+ default: t(() => [
245
+ n(h, {
251
246
  modelValue: d.value.sceneCode,
252
- "onUpdate:modelValue": o[0] || (o[0] = (a) => d.value.sceneCode = a),
247
+ "onUpdate:modelValue": u[0] || (u[0] = (l) => d.value.sceneCode = l),
253
248
  placeholder: "场景代码",
254
249
  clearable: ""
255
250
  }, {
256
- default: l(() => [
257
- (i(!0), S(D, null, I(m.value, (a, T) => (i(), _(p, {
258
- label: a,
259
- value: a,
251
+ default: t(() => [
252
+ (s(!0), A(B, null, $(m.value, (l, T) => (s(), p(c, {
253
+ label: l,
254
+ value: l,
260
255
  key: `sc_con_${T}`
261
256
  }, null, 8, ["label", "value"]))), 128))
262
257
  ]),
263
258
  _: 1
264
259
  }, 8, ["modelValue"]),
265
- e(h, {
260
+ n(h, {
266
261
  modelValue: d.value.status,
267
- "onUpdate:modelValue": o[1] || (o[1] = (a) => d.value.status = a),
262
+ "onUpdate:modelValue": u[1] || (u[1] = (l) => d.value.status = l),
268
263
  placeholder: "状态",
269
264
  clearable: "",
270
265
  style: { width: "150px" }
271
266
  }, {
272
- default: l(() => [
273
- e(p, {
267
+ default: t(() => [
268
+ n(c, {
274
269
  label: "草稿",
275
270
  value: "DRAFT"
276
271
  }),
277
- e(p, {
272
+ n(c, {
278
273
  label: "已发布",
279
274
  value: "PUBLISH"
280
275
  }),
281
- e(p, {
276
+ n(c, {
282
277
  label: "已下架",
283
278
  value: "OFF_SHELF"
284
279
  })
285
280
  ]),
286
281
  _: 1
287
282
  }, 8, ["modelValue"]),
288
- e(v, {
283
+ n(g, {
289
284
  type: "primary",
290
285
  icon: "search",
291
286
  onClick: b
292
287
  }, {
293
- default: l(() => [
288
+ default: t(() => [
294
289
  f("搜索")
295
290
  ]),
296
291
  _: 1
297
292
  }),
298
- e(v, {
293
+ K((s(), p(g, {
299
294
  icon: "plus",
300
- onClick: o[2] || (o[2] = (a) => y())
295
+ onClick: u[2] || (u[2] = (l) => y())
301
296
  }, {
302
- default: l(() => [
297
+ default: t(() => [
303
298
  f("创建Banner")
304
299
  ]),
305
300
  _: 1
306
- })
301
+ })), [
302
+ [J, "CREATE_BANNER"]
303
+ ])
307
304
  ]),
308
305
  _: 1
309
306
  })
310
307
  ]),
311
308
  _: 1
312
309
  }),
313
- e(N, {
310
+ n(Q, {
314
311
  ref_key: "table",
315
- ref: F,
312
+ ref: U,
316
313
  "data-url": "/api/banner/page",
317
- onRowDbClick: y,
314
+ onRowDbClick: u[3] || (u[3] = (l) => e.$hasPer("UPDATE_BANNER") ? y(l) : null),
318
315
  condition: d.value,
319
316
  style: { "margin-top": "10px" }
320
317
  }, {
321
- default: l(() => [
322
- C.value ? (i(), _(c, {
318
+ default: t(() => [
319
+ k.value && e.$hasPer("BANNER_SEQ_MOVE_UP_DOWN") ? (s(), p(_, {
323
320
  key: 0,
324
321
  align: "center",
325
322
  width: "80"
326
323
  }, {
327
- default: l(({ row: a }) => [
328
- e(A, { direction: "vertical" }, {
329
- default: l(() => [
330
- e(v, {
324
+ default: t(({ row: l }) => [
325
+ n(P, { direction: "vertical" }, {
326
+ default: t(() => [
327
+ n(g, {
331
328
  icon: "ArrowUpBold",
332
- onClick: (T) => U(a.id, a.sceneCode)
329
+ onClick: (T) => F(l.id, l.sceneCode)
333
330
  }, null, 8, ["onClick"]),
334
- e(v, {
331
+ n(g, {
335
332
  icon: "ArrowDownBold",
336
- onClick: (T) => w(a.id, a.sceneCode)
333
+ onClick: (T) => C(l.id, l.sceneCode)
337
334
  }, null, 8, ["onClick"])
338
335
  ]),
339
336
  _: 2
340
337
  }, 1024)
341
338
  ]),
342
339
  _: 1
343
- })) : V("", !0),
344
- e(c, {
340
+ })) : E("", !0),
341
+ n(_, {
345
342
  label: "场景代码",
346
343
  prop: "sceneCode",
347
344
  width: "150"
348
345
  }),
349
- e(c, {
346
+ n(_, {
350
347
  label: "图片",
351
348
  width: "300",
352
349
  align: "center"
353
350
  }, {
354
- default: l(({ row: a }) => [
355
- e(R, {
356
- src: a.image,
351
+ default: t(({ row: l }) => [
352
+ n(L, {
353
+ src: l.image,
357
354
  style: { "max-width": "300px" },
358
- "preview-src-list": [a.image],
355
+ "preview-src-list": [l.image],
359
356
  "preview-teleported": ""
360
357
  }, null, 8, ["src", "preview-src-list"])
361
358
  ]),
362
359
  _: 1
363
360
  }),
364
- e(c, {
365
- label: "目标路径",
366
- prop: "targetPath",
367
- "show-overflow-tooltip": ""
368
- }),
369
- e(c, {
370
- label: "目标路径类型",
371
- prop: "targetPathType",
361
+ n(_, {
362
+ label: "点击事件类型",
363
+ prop: "clickEventType",
372
364
  width: "120"
373
365
  }, {
374
- default: l(({ row: a }) => [
375
- f(B(M(Q)[a.targetPathType].name), 1)
366
+ default: t(({ row: l }) => [
367
+ f(w(l.clickEventType ? q(M)[l.clickEventType].name : ""), 1)
376
368
  ]),
377
369
  _: 1
378
370
  }),
379
- e(c, {
380
- label: "目标路径参数",
371
+ n(_, {
372
+ label: "目标地址",
373
+ prop: "targetPath",
374
+ "show-overflow-tooltip": ""
375
+ }),
376
+ n(_, {
377
+ label: "目标参数",
381
378
  width: "120",
382
379
  "show-overflow-tooltip": ""
383
380
  }, {
384
- default: l(({ row: a }) => [
385
- a.params ? (i(), _(q, {
381
+ default: t(({ row: l }) => [
382
+ l.params ? (s(), p(i, {
386
383
  key: 0,
387
384
  trigger: "hover",
388
- width: "300"
385
+ width: "350"
389
386
  }, {
390
- reference: l(() => [
391
- f(B(a.params.substring(0, 100)) + "... ", 1)
387
+ reference: t(() => [
388
+ f(w(l.params.substring(0, 100)) + w(l.params.length > 100 ? "..." : ""), 1)
392
389
  ]),
393
- default: l(() => [
394
- a.params.startsWith("{") ? (i(), _(s, {
390
+ default: t(() => [
391
+ l.params.startsWith("{") ? (s(), p(x, {
395
392
  key: 0,
396
393
  column: "1",
397
394
  border: ""
398
395
  }, {
399
- default: l(() => [
400
- (i(!0), S(D, null, I(JSON.parse(a.params), (T, G) => (i(), _(E, {
401
- label: G,
396
+ default: t(() => [
397
+ (s(!0), A(B, null, $(JSON.parse(l.params), (T, X) => (s(), p(I, {
398
+ label: X,
402
399
  "min-width": "150"
403
400
  }, {
404
- default: l(() => [
405
- f(B(T), 1)
401
+ default: t(() => [
402
+ f(w(T), 1)
406
403
  ]),
407
404
  _: 2
408
405
  }, 1032, ["label"]))), 256))
409
406
  ]),
410
407
  _: 2
411
- }, 1024)) : (i(), S(D, { key: 1 }, [
412
- f(B(a.params), 1)
408
+ }, 1024)) : (s(), A(B, { key: 1 }, [
409
+ f(w(l.params), 1)
413
410
  ], 64))
414
411
  ]),
415
412
  _: 2
416
- }, 1024)) : V("", !0)
413
+ }, 1024)) : E("", !0)
417
414
  ]),
418
415
  _: 1
419
416
  }),
420
- e(c, {
417
+ n(_, {
421
418
  label: "上架时间",
422
419
  prop: "shelfTime",
423
420
  width: "180",
424
421
  align: "center"
425
422
  }),
426
- e(c, {
423
+ n(_, {
427
424
  label: "下架时间",
428
425
  prop: "offShelfTime",
429
426
  width: "180",
430
427
  align: "center"
431
428
  }),
432
- e(c, {
429
+ n(_, {
433
430
  label: "状态",
434
431
  align: "center",
435
432
  width: "88"
436
433
  }, {
437
- default: l(({ row: a }) => [
438
- a.status == "DRAFT" ? (i(), _(H, {
434
+ default: t(({ row: l }) => [
435
+ l.status == "DRAFT" ? (s(), p(D, {
439
436
  key: 0,
440
437
  type: "danger"
441
438
  }, {
442
- default: l(() => [
439
+ default: t(() => [
443
440
  f("草稿")
444
441
  ]),
445
442
  _: 1
446
- })) : V("", !0),
447
- a.status == "PUBLISH" ? (i(), _(H, {
443
+ })) : E("", !0),
444
+ l.status == "PUBLISH" ? (s(), p(D, {
448
445
  key: 1,
449
446
  type: "success"
450
447
  }, {
451
- default: l(() => [
448
+ default: t(() => [
452
449
  f("已发布")
453
450
  ]),
454
451
  _: 1
455
- })) : V("", !0),
456
- a.status == "OFF_SHELF" ? (i(), _(H, {
452
+ })) : E("", !0),
453
+ l.status == "OFF_SHELF" ? (s(), p(D, {
457
454
  key: 2,
458
455
  type: "warning"
459
456
  }, {
460
- default: l(() => [
457
+ default: t(() => [
461
458
  f("已下架")
462
459
  ]),
463
460
  _: 1
464
- })) : V("", !0)
461
+ })) : E("", !0)
465
462
  ]),
466
463
  _: 1
467
464
  }),
468
- e(c, {
465
+ n(_, {
469
466
  align: "center",
470
467
  width: "90"
471
468
  }, {
472
- default: l(({ row: a }) => [
473
- ["DRAFT", "OFF_SHELF"].indexOf(a.status) >= 0 ? (i(), _(O, {
469
+ default: t(({ row: l }) => [
470
+ ["DRAFT", "OFF_SHELF"].indexOf(l.status) >= 0 && e.$hasPer("BANNER_PUBLISH") ? (s(), p(H, {
474
471
  key: 0,
475
- onConfirm: (T) => k(a.id),
476
- title: `确定要${a.status == "DRAFT" ? "发布" : "上架"}该Banner吗?`
472
+ onConfirm: (T) => V(l.id),
473
+ title: `确定要${l.status == "DRAFT" ? "发布" : "上架"}该Banner吗?`
477
474
  }, {
478
- reference: l(() => [
479
- e(v, { type: "success" }, {
480
- default: l(() => [
481
- f(B(a.status == "DRAFT" ? "发布" : "上架"), 1)
475
+ reference: t(() => [
476
+ n(g, { type: "success" }, {
477
+ default: t(() => [
478
+ f(w(l.status == "DRAFT" ? "发布" : "上架"), 1)
482
479
  ]),
483
480
  _: 2
484
481
  }, 1024)
485
482
  ]),
486
483
  _: 2
487
- }, 1032, ["onConfirm", "title"])) : V("", !0),
488
- a.status == "PUBLISH" ? (i(), _(O, {
484
+ }, 1032, ["onConfirm", "title"])) : E("", !0),
485
+ l.status == "PUBLISH" && e.$hasPer("BANNER_OFF_SHELF") ? (s(), p(H, {
489
486
  key: 1,
490
- onConfirm: (T) => x(a.id),
487
+ onConfirm: (T) => R(l.id),
491
488
  title: "确定要[下架]该Banner吗?"
492
489
  }, {
493
- reference: l(() => [
494
- e(v, { type: "warning" }, {
495
- default: l(() => [
490
+ reference: t(() => [
491
+ n(g, { type: "warning" }, {
492
+ default: t(() => [
496
493
  f("下架")
497
494
  ]),
498
495
  _: 1
499
496
  })
500
497
  ]),
501
498
  _: 2
502
- }, 1032, ["onConfirm"])) : V("", !0)
499
+ }, 1032, ["onConfirm"])) : E("", !0)
503
500
  ]),
504
501
  _: 1
505
502
  })
506
503
  ]),
507
504
  _: 1
508
505
  }, 8, ["condition"]),
509
- e(K, {
506
+ n(Z, {
510
507
  ref_key: "bannerDialog",
511
- ref: $,
508
+ ref: N,
512
509
  onSuccess: b
513
510
  }, null, 512)
514
511
  ], 64);
515
512
  };
516
513
  }
517
- }), Y = {
518
- install: (P, r) => {
519
- let d = r.router, m = d.getRoutes().find((n) => n.path == "/");
514
+ }), le = {
515
+ install: (S, r) => {
516
+ let d = r.router, m = d.getRoutes().find((a) => a.path == "/");
520
517
  m && m.meta && d.addRoute({
521
518
  path: "/terminal/banner",
522
519
  name: "TerminalBanner",
@@ -525,16 +522,16 @@ const z = [], K = /* @__PURE__ */ W({
525
522
  children: [{
526
523
  path: "list",
527
524
  name: "BannerListView",
528
- component: X
525
+ component: ee
529
526
  }]
530
527
  });
531
528
  }
532
- }, Z = (P, r) => {
533
- z.forEach((d) => P.use(d)), P.use(Y, r);
534
- }, le = {
535
- install: Z
529
+ }, te = (S, r) => {
530
+ Y.forEach((d) => S.use(d)), S.use(le, r);
531
+ }, ae = {
532
+ install: te
536
533
  };
537
534
  export {
538
- le as default,
539
- Z as install
535
+ ae as default,
536
+ te as install
540
537
  };
package/index.umd.cjs CHANGED
@@ -1 +1 @@
1
- (function(_,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(_=typeof globalThis<"u"?globalThis:_||self,e(_["pg-user-core"]={},_.Vue))})(this,function(_,e){"use strict";const F=[],U=e.defineComponent({__name:"BannerDialog",emits:["success"],setup(b,{expose:n,emit:c}){const s=e.ref(!1),l=e.ref({sceneCode:null,image:null,targetPath:null,targetPathType:null,params:null,shelfTimeArr:[]}),N=e.ref({sceneCode:[{required:!0,message:"请输入场景代码"}],image:[{required:!0,message:"请上传图片"}],targetPath:[{required:!0,message:"请输入目标地址"}],targetPathType:[{required:!0,message:"请选择目标地址类型"}]}),h=e.ref(!1),m=e.inject("http"),g=e.ref();function B(){var C;(C=g.value)==null||C.validate(t=>{if(t){h.value=!0;let a=`/api/banner/${u??""}/${u?"update":"create"}`,i={...l.value};l.value.shelfTimeArr.length&&(i.shelfTime=l.value.shelfTimeArr[0],i.offShelfTime=l.value.shelfTimeArr[1]),m==null||m.post(a,i).then(f=>{var p;c("success"),(p=g.value)==null||p.resetFields(),s.value=!1}).finally(()=>{h.value=!1})}})}const x=e.ref([]);let u=null;function k(C,t){var a;x.value=C,u=null,(a=g.value)==null||a.resetFields(),t&&(u=t.id,Object.assign(l.value,t),l.value.shelfTimeArr=[new Date(t.shelfTime),new Date(t.offShelfTime)]),s.value=!0}return n({show:k}),(C,t)=>{const a=e.resolveComponent("el-option"),i=e.resolveComponent("el-select"),f=e.resolveComponent("el-form-item"),p=e.resolveComponent("pg-upload"),w=e.resolveComponent("el-input"),y=e.resolveComponent("el-date-picker"),d=e.resolveComponent("el-form"),T=e.resolveComponent("el-button"),P=e.resolveComponent("el-dialog");return e.openBlock(),e.createBlock(P,{modelValue:s.value,"onUpdate:modelValue":t[6]||(t[6]=r=>s.value=r),width:"400"},{footer:e.withCtx(()=>[e.createVNode(T,{type:"primary",disabled:h.value,loading:h.value,onClick:B},{default:e.withCtx(()=>[e.createTextVNode("提交")]),_:1},8,["disabled","loading"])]),default:e.withCtx(()=>[e.createVNode(d,{ref_key:"form",ref:g,rules:N.value,model:l.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(f,{label:"场景代码",prop:"sceneCode"},{default:e.withCtx(()=>[e.createVNode(i,{modelValue:l.value.sceneCode,"onUpdate:modelValue":t[0]||(t[0]=r=>l.value.sceneCode=r),placeholder:"请输入/选择场景代码","allow-create":"",filterable:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,r=>(e.openBlock(),e.createBlock(a,{key:r,value:r,label:r},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e.createVNode(f,{label:"图片",prop:"image"},{default:e.withCtx(()=>[e.createVNode(p,{accept:"jpg,jpeg,png",modelValue:l.value.image,"onUpdate:modelValue":t[1]||(t[1]=r=>l.value.image=r),"list-type":"picture-card","upload-type":"banner",limit:1},null,8,["modelValue"])]),_:1}),e.createVNode(f,{label:"目标地址",prop:"targetPath"},{default:e.withCtx(()=>[e.createVNode(w,{placeholder:"请输入目标地址",modelValue:l.value.targetPath,"onUpdate:modelValue":t[2]||(t[2]=r=>l.value.targetPath=r)},null,8,["modelValue"])]),_:1}),e.createVNode(f,{label:"目标地址类型",prop:"targetPathType"},{default:e.withCtx(()=>[e.createVNode(i,{placeholder:"请选择目标地址类型",modelValue:l.value.targetPathType,"onUpdate:modelValue":t[3]||(t[3]=r=>l.value.targetPathType=r)},{default:e.withCtx(()=>[e.createVNode(a,{value:"WEB_URL",label:"Web地址"}),e.createVNode(a,{value:"PAGE_PATH",label:"页面地址"}),e.createVNode(a,{value:"API",label:"API地址"})]),_:1},8,["modelValue"])]),_:1}),e.createVNode(f,{label:"目标地址参数",prop:"params"},{default:e.withCtx(()=>[e.createVNode(w,{type:"textarea",modelValue:l.value.params,"onUpdate:modelValue":t[4]||(t[4]=r=>l.value.params=r)},null,8,["modelValue"])]),_:1}),e.createVNode(f,{label:"生效时段",prop:"shelfTimeArr"},{default:e.withCtx(()=>[e.createVNode(y,{type:"datetimerange",modelValue:l.value.shelfTimeArr,"onUpdate:modelValue":t[5]||(t[5]=r=>l.value.shelfTimeArr=r),"start-placeholder":"上架时间","end-placeholder":"下架时间","default-time":[new Date(2e3,1,1,0,0,0),new Date(2e3,1,1,23,59,59)]},null,8,["modelValue","default-time"])]),_:1})]),_:1},8,["rules","model"])]),_:1},8,["modelValue"])}}}),L={WEB_URL:{name:"Web地址"},PAGE_PATH:{name:"页面地址"},API:{name:"API地址"}},$=e.defineComponent({__name:"BannerListView",setup(b){const n=e.inject("http"),c=e.ref({sceneCode:null,status:null}),s=e.ref([]);function l(){n==null||n.get("/api/banner/all-scene-code").then(t=>{s.value=t.data})}const N=e.ref(),h=e.ref(!1);function m(){h.value=!!c.value.sceneCode,N.value.search()}function g(t){n==null||n.post(`/api/banner/${t}/publish`).then(a=>{m()})}function B(t){n==null||n.post(`/api/banner/${t}/off-shelf`).then(a=>{m()})}function x(t,a){n==null||n.post(`/api/banner/${t}/move-up`).then(i=>{c.value.sceneCode=a,m()})}function u(t,a){n==null||n.post(`/api/banner/${t}/move-down`).then(i=>{c.value.sceneCode=a,m()})}e.onBeforeMount(()=>{l()});const k=e.ref();function C(t){k.value.show(s.value,t)}return(t,a)=>{const i=e.resolveComponent("el-option"),f=e.resolveComponent("el-select"),p=e.resolveComponent("el-button"),w=e.resolveComponent("el-space"),y=e.resolveComponent("el-card"),d=e.resolveComponent("el-table-column"),T=e.resolveComponent("el-image"),P=e.resolveComponent("el-descriptions-item"),r=e.resolveComponent("el-descriptions"),H=e.resolveComponent("el-popover"),S=e.resolveComponent("el-tag"),D=e.resolveComponent("el-popconfirm"),I=e.resolveComponent("pg-table");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(f,{modelValue:c.value.sceneCode,"onUpdate:modelValue":a[0]||(a[0]=o=>c.value.sceneCode=o),placeholder:"场景代码",clearable:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(o,V)=>(e.openBlock(),e.createBlock(i,{label:o,value:o,key:`sc_con_${V}`},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e.createVNode(f,{modelValue:c.value.status,"onUpdate:modelValue":a[1]||(a[1]=o=>c.value.status=o),placeholder:"状态",clearable:"",style:{width:"150px"}},{default:e.withCtx(()=>[e.createVNode(i,{label:"草稿",value:"DRAFT"}),e.createVNode(i,{label:"已发布",value:"PUBLISH"}),e.createVNode(i,{label:"已下架",value:"OFF_SHELF"})]),_:1},8,["modelValue"]),e.createVNode(p,{type:"primary",icon:"search",onClick:m},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1}),e.createVNode(p,{icon:"plus",onClick:a[2]||(a[2]=o=>C())},{default:e.withCtx(()=>[e.createTextVNode("创建Banner")]),_:1})]),_:1})]),_:1}),e.createVNode(I,{ref_key:"table",ref:N,"data-url":"/api/banner/page",onRowDbClick:C,condition:c.value,style:{"margin-top":"10px"}},{default:e.withCtx(()=>[h.value?(e.openBlock(),e.createBlock(d,{key:0,align:"center",width:"80"},{default:e.withCtx(({row:o})=>[e.createVNode(w,{direction:"vertical"},{default:e.withCtx(()=>[e.createVNode(p,{icon:"ArrowUpBold",onClick:V=>x(o.id,o.sceneCode)},null,8,["onClick"]),e.createVNode(p,{icon:"ArrowDownBold",onClick:V=>u(o.id,o.sceneCode)},null,8,["onClick"])]),_:2},1024)]),_:1})):e.createCommentVNode("",!0),e.createVNode(d,{label:"场景代码",prop:"sceneCode",width:"150"}),e.createVNode(d,{label:"图片",width:"300",align:"center"},{default:e.withCtx(({row:o})=>[e.createVNode(T,{src:o.image,style:{"max-width":"300px"},"preview-src-list":[o.image],"preview-teleported":""},null,8,["src","preview-src-list"])]),_:1}),e.createVNode(d,{label:"目标路径",prop:"targetPath","show-overflow-tooltip":""}),e.createVNode(d,{label:"目标路径类型",prop:"targetPathType",width:"120"},{default:e.withCtx(({row:o})=>[e.createTextVNode(e.toDisplayString(e.unref(L)[o.targetPathType].name),1)]),_:1}),e.createVNode(d,{label:"目标路径参数",width:"120","show-overflow-tooltip":""},{default:e.withCtx(({row:o})=>[o.params?(e.openBlock(),e.createBlock(H,{key:0,trigger:"hover",width:"300"},{reference:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.params.substring(0,100))+"... ",1)]),default:e.withCtx(()=>[o.params.startsWith("{")?(e.openBlock(),e.createBlock(r,{key:0,column:"1",border:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(JSON.parse(o.params),(V,j)=>(e.openBlock(),e.createBlock(P,{label:j,"min-width":"150"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(V),1)]),_:2},1032,["label"]))),256))]),_:2},1024)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(o.params),1)],64))]),_:2},1024)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(d,{label:"上架时间",prop:"shelfTime",width:"180",align:"center"}),e.createVNode(d,{label:"下架时间",prop:"offShelfTime",width:"180",align:"center"}),e.createVNode(d,{label:"状态",align:"center",width:"88"},{default:e.withCtx(({row:o})=>[o.status=="DRAFT"?(e.openBlock(),e.createBlock(S,{key:0,type:"danger"},{default:e.withCtx(()=>[e.createTextVNode("草稿")]),_:1})):e.createCommentVNode("",!0),o.status=="PUBLISH"?(e.openBlock(),e.createBlock(S,{key:1,type:"success"},{default:e.withCtx(()=>[e.createTextVNode("已发布")]),_:1})):e.createCommentVNode("",!0),o.status=="OFF_SHELF"?(e.openBlock(),e.createBlock(S,{key:2,type:"warning"},{default:e.withCtx(()=>[e.createTextVNode("已下架")]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(d,{align:"center",width:"90"},{default:e.withCtx(({row:o})=>[["DRAFT","OFF_SHELF"].indexOf(o.status)>=0?(e.openBlock(),e.createBlock(D,{key:0,onConfirm:V=>g(o.id),title:`确定要${o.status=="DRAFT"?"发布":"上架"}该Banner吗?`},{reference:e.withCtx(()=>[e.createVNode(p,{type:"success"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.status=="DRAFT"?"发布":"上架"),1)]),_:2},1024)]),_:2},1032,["onConfirm","title"])):e.createCommentVNode("",!0),o.status=="PUBLISH"?(e.openBlock(),e.createBlock(D,{key:1,onConfirm:V=>B(o.id),title:"确定要[下架]该Banner吗?"},{reference:e.withCtx(()=>[e.createVNode(p,{type:"warning"},{default:e.withCtx(()=>[e.createTextVNode("下架")]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["condition"]),e.createVNode(U,{ref_key:"bannerDialog",ref:k,onSuccess:m},null,512)],64)}}}),E={install:(b,n)=>{let c=n.router,s=c.getRoutes().find(l=>l.path=="/");s&&s.meta&&c.addRoute({path:"/terminal/banner",name:"TerminalBanner",redirect:"/terminal/banner/list",component:s.meta.commonLayout,children:[{path:"list",name:"BannerListView",component:$}]})}},A=(b,n)=>{F.forEach(c=>b.use(c)),b.use(E,n)},R={install:A};_.default=R,_.install=A,Object.defineProperties(_,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(_,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(_=typeof globalThis<"u"?globalThis:_||self,e(_["pg-user-core"]={},_.Vue))})(this,function(_,e){"use strict";const U=[],A={OPEN_WEB:{name:"打开Web页面"},OPEN_VIEW:{name:"打开内置页面"},API_REQUEST:{name:"请求API"},EXEC_METHOD:{name:"执行方法"},CUSTOM:{name:"自定义"}},$=e.defineComponent({__name:"BannerDialog",emits:["success"],setup(g,{expose:a,emit:c}){const s=e.ref(!1),o=e.ref({sceneCode:null,image:null,targetPath:null,clickEventType:"",params:null,shelfTimeArr:[]}),w=e.ref({sceneCode:[{required:!0,message:"请输入场景代码"}],image:[{required:!0,message:"请上传图片"}],targetPath:[{required:!0,message:"请输入目标地址"}],clickEventType:[{required:!0,message:"请选择点击事件类型"}]}),V=e.ref(!1),m=e.inject("http"),N=e.ref();function y(){var C;(C=N.value)==null||C.validate(t=>{if(t){V.value=!0;let n=`/api/banner/${h.value??""}/${h.value?"update":"create"}`,i={...o.value};o.value.shelfTimeArr.length&&(i.shelfTime=o.value.shelfTimeArr[0],i.offShelfTime=o.value.shelfTimeArr[1]),m==null||m.post(n,i).then(f=>{var p;c("success"),(p=N.value)==null||p.resetFields(),s.value=!1}).finally(()=>{V.value=!1})}})}const b=e.ref([]),h=e.ref(null);function x(C,t){var n;b.value=C,h.value=null,(n=N.value)==null||n.resetFields(),t&&(h.value=t.id,Object.assign(o.value,t),o.value.shelfTimeArr=[new Date(t.shelfTime),new Date(t.offShelfTime)]),s.value=!0}return a({show:x}),(C,t)=>{const n=e.resolveComponent("el-option"),i=e.resolveComponent("el-select"),f=e.resolveComponent("el-form-item"),p=e.resolveComponent("pg-upload"),B=e.resolveComponent("el-input"),T=e.resolveComponent("el-collapse-transition"),d=e.resolveComponent("el-date-picker"),E=e.resolveComponent("el-form"),S=e.resolveComponent("el-button"),D=e.resolveComponent("el-dialog");return e.openBlock(),e.createBlock(D,{modelValue:s.value,"onUpdate:modelValue":t[6]||(t[6]=r=>s.value=r),width:"400"},{footer:e.withCtx(()=>[e.createVNode(S,{type:"primary",disabled:V.value,loading:V.value,onClick:y},{default:e.withCtx(()=>[e.createTextVNode("提交")]),_:1},8,["disabled","loading"])]),default:e.withCtx(()=>[e.createVNode(E,{ref_key:"form",ref:N,rules:w.value,model:o.value,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(f,{label:"场景代码",prop:"sceneCode"},{default:e.withCtx(()=>[e.createVNode(i,{modelValue:o.value.sceneCode,"onUpdate:modelValue":t[0]||(t[0]=r=>o.value.sceneCode=r),placeholder:"请输入/选择场景代码","allow-create":"",filterable:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,r=>(e.openBlock(),e.createBlock(n,{key:r,value:r,label:r},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e.createVNode(f,{label:"图片",prop:"image"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(p,{accept:"jpg,jpeg,png",modelValue:o.value.image,"onUpdate:modelValue":t[1]||(t[1]=r=>o.value.image=r),key:`img_${h.value}`,"list-type":"picture-card","upload-type":"banner",limit:1},null,8,["modelValue"]))]),_:1}),e.createVNode(f,{label:"点击事件类型",prop:"clickEventType"},{default:e.withCtx(()=>[e.createVNode(i,{placeholder:"请选择点击事件类型",modelValue:o.value.clickEventType,"onUpdate:modelValue":t[2]||(t[2]=r=>o.value.clickEventType=r)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(A),(r,u)=>(e.openBlock(),e.createBlock(n,{value:u,label:r.name},null,8,["value","label"]))),256))]),_:1},8,["modelValue"])]),_:1}),e.createVNode(T,null,{default:e.withCtx(()=>[["OPEN_WEB","OPEN_VIEW","API_REQUEST"].indexOf(o.value.clickEventType)>=0?(e.openBlock(),e.createBlock(f,{key:0,label:"目标地址",prop:"targetPath"},{default:e.withCtx(()=>[e.createVNode(B,{placeholder:"请输入目标地址",modelValue:o.value.targetPath,"onUpdate:modelValue":t[3]||(t[3]=r=>o.value.targetPath=r)},null,8,["modelValue"])]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(f,{label:"目标地址参数",prop:"params"},{default:e.withCtx(()=>[e.createVNode(B,{type:"textarea",modelValue:o.value.params,"onUpdate:modelValue":t[4]||(t[4]=r=>o.value.params=r),placeholder:"请输入JSON格式的参数对象"},null,8,["modelValue"])]),_:1}),e.createVNode(f,{label:"生效时段",prop:"shelfTimeArr"},{default:e.withCtx(()=>[e.createVNode(d,{type:"datetimerange",modelValue:o.value.shelfTimeArr,"onUpdate:modelValue":t[5]||(t[5]=r=>o.value.shelfTimeArr=r),"start-placeholder":"上架时间","end-placeholder":"下架时间","default-time":[new Date(2e3,1,1,0,0,0),new Date(2e3,1,1,23,59,59)]},null,8,["modelValue","default-time"])]),_:1})]),_:1},8,["rules","model"])]),_:1},8,["modelValue"])}}}),O=e.defineComponent({__name:"BannerListView",setup(g){const a=e.inject("http"),c=e.ref({sceneCode:null,status:null}),s=e.ref([]);function o(){a==null||a.get("/api/banner/all-scene-code").then(t=>{s.value=t.data})}const w=e.ref(),V=e.ref(!1);function m(){V.value=!!c.value.sceneCode,w.value.search()}function N(t){a==null||a.post(`/api/banner/${t}/publish`).then(n=>{m()})}function y(t){a==null||a.post(`/api/banner/${t}/off-shelf`).then(n=>{m()})}function b(t,n){a==null||a.post(`/api/banner/${t}/move-up`).then(i=>{c.value.sceneCode=n,m()})}function h(t,n){a==null||a.post(`/api/banner/${t}/move-down`).then(i=>{c.value.sceneCode=n,m()})}e.onBeforeMount(()=>{o()});const x=e.ref();function C(t){x.value.show(s.value,t)}return(t,n)=>{const i=e.resolveComponent("el-option"),f=e.resolveComponent("el-select"),p=e.resolveComponent("el-button"),B=e.resolveComponent("el-space"),T=e.resolveComponent("el-card"),d=e.resolveComponent("el-table-column"),E=e.resolveComponent("el-image"),S=e.resolveComponent("el-descriptions-item"),D=e.resolveComponent("el-descriptions"),r=e.resolveComponent("el-popover"),u=e.resolveComponent("el-tag"),P=e.resolveComponent("el-popconfirm"),I=e.resolveComponent("pg-table"),H=e.resolveDirective("permission");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(T,null,{default:e.withCtx(()=>[e.createVNode(B,null,{default:e.withCtx(()=>[e.createVNode(f,{modelValue:c.value.sceneCode,"onUpdate:modelValue":n[0]||(n[0]=l=>c.value.sceneCode=l),placeholder:"场景代码",clearable:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(l,k)=>(e.openBlock(),e.createBlock(i,{label:l,value:l,key:`sc_con_${k}`},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e.createVNode(f,{modelValue:c.value.status,"onUpdate:modelValue":n[1]||(n[1]=l=>c.value.status=l),placeholder:"状态",clearable:"",style:{width:"150px"}},{default:e.withCtx(()=>[e.createVNode(i,{label:"草稿",value:"DRAFT"}),e.createVNode(i,{label:"已发布",value:"PUBLISH"}),e.createVNode(i,{label:"已下架",value:"OFF_SHELF"})]),_:1},8,["modelValue"]),e.createVNode(p,{type:"primary",icon:"search",onClick:m},{default:e.withCtx(()=>[e.createTextVNode("搜索")]),_:1}),e.withDirectives((e.openBlock(),e.createBlock(p,{icon:"plus",onClick:n[2]||(n[2]=l=>C())},{default:e.withCtx(()=>[e.createTextVNode("创建Banner")]),_:1})),[[H,"CREATE_BANNER"]])]),_:1})]),_:1}),e.createVNode(I,{ref_key:"table",ref:w,"data-url":"/api/banner/page",onRowDbClick:n[3]||(n[3]=l=>t.$hasPer("UPDATE_BANNER")?C(l):null),condition:c.value,style:{"margin-top":"10px"}},{default:e.withCtx(()=>[V.value&&t.$hasPer("BANNER_SEQ_MOVE_UP_DOWN")?(e.openBlock(),e.createBlock(d,{key:0,align:"center",width:"80"},{default:e.withCtx(({row:l})=>[e.createVNode(B,{direction:"vertical"},{default:e.withCtx(()=>[e.createVNode(p,{icon:"ArrowUpBold",onClick:k=>b(l.id,l.sceneCode)},null,8,["onClick"]),e.createVNode(p,{icon:"ArrowDownBold",onClick:k=>h(l.id,l.sceneCode)},null,8,["onClick"])]),_:2},1024)]),_:1})):e.createCommentVNode("",!0),e.createVNode(d,{label:"场景代码",prop:"sceneCode",width:"150"}),e.createVNode(d,{label:"图片",width:"300",align:"center"},{default:e.withCtx(({row:l})=>[e.createVNode(E,{src:l.image,style:{"max-width":"300px"},"preview-src-list":[l.image],"preview-teleported":""},null,8,["src","preview-src-list"])]),_:1}),e.createVNode(d,{label:"点击事件类型",prop:"clickEventType",width:"120"},{default:e.withCtx(({row:l})=>[e.createTextVNode(e.toDisplayString(l.clickEventType?e.unref(A)[l.clickEventType].name:""),1)]),_:1}),e.createVNode(d,{label:"目标地址",prop:"targetPath","show-overflow-tooltip":""}),e.createVNode(d,{label:"目标参数",width:"120","show-overflow-tooltip":""},{default:e.withCtx(({row:l})=>[l.params?(e.openBlock(),e.createBlock(r,{key:0,trigger:"hover",width:"350"},{reference:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.params.substring(0,100))+e.toDisplayString(l.params.length>100?"...":""),1)]),default:e.withCtx(()=>[l.params.startsWith("{")?(e.openBlock(),e.createBlock(D,{key:0,column:"1",border:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(JSON.parse(l.params),(k,j)=>(e.openBlock(),e.createBlock(S,{label:j,"min-width":"150"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k),1)]),_:2},1032,["label"]))),256))]),_:2},1024)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(l.params),1)],64))]),_:2},1024)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(d,{label:"上架时间",prop:"shelfTime",width:"180",align:"center"}),e.createVNode(d,{label:"下架时间",prop:"offShelfTime",width:"180",align:"center"}),e.createVNode(d,{label:"状态",align:"center",width:"88"},{default:e.withCtx(({row:l})=>[l.status=="DRAFT"?(e.openBlock(),e.createBlock(u,{key:0,type:"danger"},{default:e.withCtx(()=>[e.createTextVNode("草稿")]),_:1})):e.createCommentVNode("",!0),l.status=="PUBLISH"?(e.openBlock(),e.createBlock(u,{key:1,type:"success"},{default:e.withCtx(()=>[e.createTextVNode("已发布")]),_:1})):e.createCommentVNode("",!0),l.status=="OFF_SHELF"?(e.openBlock(),e.createBlock(u,{key:2,type:"warning"},{default:e.withCtx(()=>[e.createTextVNode("已下架")]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(d,{align:"center",width:"90"},{default:e.withCtx(({row:l})=>[["DRAFT","OFF_SHELF"].indexOf(l.status)>=0&&t.$hasPer("BANNER_PUBLISH")?(e.openBlock(),e.createBlock(P,{key:0,onConfirm:k=>N(l.id),title:`确定要${l.status=="DRAFT"?"发布":"上架"}该Banner吗?`},{reference:e.withCtx(()=>[e.createVNode(p,{type:"success"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.status=="DRAFT"?"发布":"上架"),1)]),_:2},1024)]),_:2},1032,["onConfirm","title"])):e.createCommentVNode("",!0),l.status=="PUBLISH"&&t.$hasPer("BANNER_OFF_SHELF")?(e.openBlock(),e.createBlock(P,{key:1,onConfirm:k=>y(l.id),title:"确定要[下架]该Banner吗?"},{reference:e.withCtx(()=>[e.createVNode(p,{type:"warning"},{default:e.withCtx(()=>[e.createTextVNode("下架")]),_:1})]),_:2},1032,["onConfirm"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["condition"]),e.createVNode($,{ref_key:"bannerDialog",ref:x,onSuccess:m},null,512)],64)}}}),R={install:(g,a)=>{let c=a.router,s=c.getRoutes().find(o=>o.path=="/");s&&s.meta&&c.addRoute({path:"/terminal/banner",name:"TerminalBanner",redirect:"/terminal/banner/list",component:s.meta.commonLayout,children:[{path:"list",name:"BannerListView",component:O}]})}},F=(g,a)=>{U.forEach(c=>g.use(c)),g.use(R,a)},L={install:F};_.default=L,_.install=F,Object.defineProperties(_,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pangu-backend-ui/apputil-core",
3
3
  "private": false,
4
- "version": "0.0.1",
4
+ "version": "0.0.3",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
7
7
  "unpkg": "index.umd.cjs",
@@ -1,11 +1,17 @@
1
- export declare const bannerTargetPathType: {
2
- WEB_URL: {
1
+ export declare const bannerClickEventTypes: {
2
+ OPEN_WEB: {
3
3
  name: string;
4
4
  };
5
- PAGE_PATH: {
5
+ OPEN_VIEW: {
6
6
  name: string;
7
7
  };
8
- API: {
8
+ API_REQUEST: {
9
+ name: string;
10
+ };
11
+ EXEC_METHOD: {
12
+ name: string;
13
+ };
14
+ CUSTOM: {
9
15
  name: string;
10
16
  };
11
17
  };
@@ -16,6 +16,23 @@ declare const _sfc_main: import("vue").DefineComponent<{}, {
16
16
  moveDown: (id: number, sceneCode: string) => void;
17
17
  bannerDialog: import("vue").Ref<any>;
18
18
  showBannerDialog: (banner?: any) => void;
19
+ readonly bannerClickEventTypes: {
20
+ OPEN_WEB: {
21
+ name: string;
22
+ };
23
+ OPEN_VIEW: {
24
+ name: string;
25
+ };
26
+ API_REQUEST: {
27
+ name: string;
28
+ };
29
+ EXEC_METHOD: {
30
+ name: string;
31
+ };
32
+ CUSTOM: {
33
+ name: string;
34
+ };
35
+ };
19
36
  BannerDialog: import("vue").DefineComponent<{}, {
20
37
  emits: (event: "success", ...args: any[]) => void;
21
38
  showState: import("vue").Ref<boolean>;
@@ -23,7 +40,7 @@ declare const _sfc_main: import("vue").DefineComponent<{}, {
23
40
  sceneCode: null;
24
41
  image: null;
25
42
  targetPath: null;
26
- targetPathType: null;
43
+ clickEventType: string;
27
44
  params: null;
28
45
  shelfTimeArr: {
29
46
  toString: () => string;
@@ -374,21 +391,27 @@ declare const _sfc_main: import("vue").DefineComponent<{}, {
374
391
  }> & {} & import("vue").ComponentCustomProperties & {}) | undefined>;
375
392
  submit: () => void;
376
393
  allSceneCodes: import("vue").Ref<string[]>;
377
- bannerId: number | null;
394
+ bannerId: import("vue").Ref<number | null>;
378
395
  show: (allSceneCodesParam: string[], banner?: any) => void;
396
+ readonly bannerClickEventTypes: {
397
+ OPEN_WEB: {
398
+ name: string;
399
+ };
400
+ OPEN_VIEW: {
401
+ name: string;
402
+ };
403
+ API_REQUEST: {
404
+ name: string;
405
+ };
406
+ EXEC_METHOD: {
407
+ name: string;
408
+ };
409
+ CUSTOM: {
410
+ name: string;
411
+ };
412
+ };
379
413
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "success"[], "success", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>> & {
380
414
  onSuccess?: ((...args: any[]) => any) | undefined;
381
415
  }, {}>;
382
- readonly bannerTargetPathType: {
383
- WEB_URL: {
384
- name: string;
385
- };
386
- PAGE_PATH: {
387
- name: string;
388
- };
389
- API: {
390
- name: string;
391
- };
392
- };
393
416
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
394
417
  export default _sfc_main;
@@ -6,7 +6,7 @@ declare const _sfc_main: import("vue").DefineComponent<{}, {
6
6
  sceneCode: null;
7
7
  image: null;
8
8
  targetPath: null;
9
- targetPathType: null;
9
+ clickEventType: string;
10
10
  params: null;
11
11
  shelfTimeArr: {
12
12
  toString: () => string;
@@ -357,8 +357,25 @@ declare const _sfc_main: import("vue").DefineComponent<{}, {
357
357
  }> & {} & import("vue").ComponentCustomProperties & {}) | undefined>;
358
358
  submit: () => void;
359
359
  allSceneCodes: import("vue").Ref<string[]>;
360
- bannerId: number | null;
360
+ bannerId: import("vue").Ref<number | null>;
361
361
  show: (allSceneCodesParam: string[], banner?: any) => void;
362
+ readonly bannerClickEventTypes: {
363
+ OPEN_WEB: {
364
+ name: string;
365
+ };
366
+ OPEN_VIEW: {
367
+ name: string;
368
+ };
369
+ API_REQUEST: {
370
+ name: string;
371
+ };
372
+ EXEC_METHOD: {
373
+ name: string;
374
+ };
375
+ CUSTOM: {
376
+ name: string;
377
+ };
378
+ };
362
379
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "success"[], "success", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>> & {
363
380
  onSuccess?: ((...args: any[]) => any) | undefined;
364
381
  }, {}>;