ts-glitter 13.3.4 → 13.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/lowcode/Entry.js +1 -1
  2. package/lowcode/Entry.ts +1 -1
  3. package/lowcode/backend-manager/bg-blog.js +2 -7
  4. package/lowcode/backend-manager/bg-blog.ts +8 -13
  5. package/lowcode/backend-manager/bg-customer-message.js +4 -2
  6. package/lowcode/backend-manager/bg-customer-message.ts +4 -2
  7. package/lowcode/backend-manager/bg-graph-api.js +6 -11
  8. package/lowcode/backend-manager/bg-graph-api.ts +14 -20
  9. package/lowcode/backend-manager/bg-line.js +526 -1002
  10. package/lowcode/backend-manager/bg-line.ts +1815 -2354
  11. package/lowcode/backend-manager/bg-notify.js +392 -746
  12. package/lowcode/backend-manager/bg-notify.ts +436 -835
  13. package/lowcode/backend-manager/bg-project.js +176 -293
  14. package/lowcode/backend-manager/bg-project.ts +214 -344
  15. package/lowcode/backend-manager/bg-recommend.js +39 -148
  16. package/lowcode/backend-manager/bg-recommend.ts +43 -162
  17. package/lowcode/backend-manager/bg-sns.js +489 -814
  18. package/lowcode/backend-manager/bg-sns.ts +1876 -2238
  19. package/lowcode/backend-manager/bg-widget.js +301 -171
  20. package/lowcode/backend-manager/bg-widget.ts +324 -193
  21. package/lowcode/cms-plugin/ai-points.js +84 -67
  22. package/lowcode/cms-plugin/ai-points.ts +280 -247
  23. package/lowcode/cms-plugin/auto-reply.js +6 -7
  24. package/lowcode/cms-plugin/auto-reply.ts +6 -7
  25. package/lowcode/cms-plugin/data-analyze.js +5 -6
  26. package/lowcode/cms-plugin/data-analyze.ts +5 -6
  27. package/lowcode/cms-plugin/form-setting.js +122 -220
  28. package/lowcode/cms-plugin/form-setting.ts +124 -240
  29. package/lowcode/cms-plugin/line-auto-reply.js +17 -18
  30. package/lowcode/cms-plugin/line-auto-reply.ts +29 -36
  31. package/lowcode/cms-plugin/member-group-list.js +5 -2
  32. package/lowcode/cms-plugin/member-group-list.ts +5 -2
  33. package/lowcode/cms-plugin/member-type-list.js +36 -84
  34. package/lowcode/cms-plugin/member-type-list.ts +39 -92
  35. package/lowcode/cms-plugin/menus-setting.js +8 -73
  36. package/lowcode/cms-plugin/menus-setting.ts +8 -78
  37. package/lowcode/cms-plugin/permission-setting.js +73 -106
  38. package/lowcode/cms-plugin/permission-setting.ts +236 -278
  39. package/lowcode/cms-plugin/shopping-collections.js +95 -137
  40. package/lowcode/cms-plugin/shopping-collections.ts +103 -147
  41. package/lowcode/cms-plugin/shopping-discount-setting.js +310 -416
  42. package/lowcode/cms-plugin/shopping-discount-setting.ts +1269 -1386
  43. package/lowcode/cms-plugin/shopping-finance-setting.js +1 -0
  44. package/lowcode/cms-plugin/shopping-finance-setting.ts +1 -0
  45. package/lowcode/cms-plugin/shopping-order-manager.js +742 -973
  46. package/lowcode/cms-plugin/shopping-order-manager.ts +1928 -2164
  47. package/lowcode/cms-plugin/shopping-order-return.js +147 -267
  48. package/lowcode/cms-plugin/shopping-order-return.ts +154 -292
  49. package/lowcode/cms-plugin/shopping-product-setting.js +6 -2
  50. package/lowcode/cms-plugin/shopping-product-setting.ts +8 -4
  51. package/lowcode/cms-plugin/shopping-product-stock.js +12 -92
  52. package/lowcode/cms-plugin/shopping-product-stock.ts +14 -94
  53. package/lowcode/cms-plugin/shopping-product-text.js +0 -3
  54. package/lowcode/cms-plugin/shopping-product-text.ts +0 -3
  55. package/lowcode/cms-plugin/shopping-rebate.js +95 -151
  56. package/lowcode/cms-plugin/shopping-rebate.ts +101 -159
  57. package/lowcode/cms-plugin/sms-points.js +83 -67
  58. package/lowcode/cms-plugin/sms-points.ts +281 -241
  59. package/lowcode/cms-plugin/sns-auto-reply.js +18 -18
  60. package/lowcode/cms-plugin/sns-auto-reply.ts +34 -40
  61. package/lowcode/cms-plugin/user-list.js +71 -90
  62. package/lowcode/cms-plugin/user-list.ts +76 -95
  63. package/lowcode/cms-plugin/web-config-setting.js +61 -111
  64. package/lowcode/cms-plugin/web-config-setting.ts +65 -124
  65. package/lowcode/css/editor.css +5 -2
  66. package/lowcode/glitter-base/route/shopping.js +1 -1
  67. package/lowcode/glitter-base/route/shopping.ts +19 -19
  68. package/lowcode/jspage/editor.js +1 -1
  69. package/lowcode/jspage/editor.ts +1 -1
  70. package/lowcode/jspage/main.js +3 -0
  71. package/lowcode/jspage/main.ts +3 -0
  72. package/package.json +1 -2
  73. package/src/api-public/controllers/ai-chat.js.map +5 -1
  74. package/src/api-public/controllers/article.js.map +1 -1
  75. package/src/api-public/controllers/chat.js.map +1 -1
  76. package/src/api-public/controllers/fb-message.js.map +1 -1
  77. package/src/api-public/controllers/index.js.map +1 -1
  78. package/src/api-public/controllers/line-message.js.map +1 -1
  79. package/src/api-public/controllers/rebate.js.map +1 -1
  80. package/src/api-public/controllers/shop.js.map +1 -1
  81. package/src/api-public/controllers/user.js.map +1 -1
  82. package/src/api-public/services/auto-send-email.js.map +1 -1
  83. package/src/api-public/services/chat.js +3 -3
  84. package/src/api-public/services/chat.js.map +1 -1
  85. package/src/api-public/services/chat.ts +3 -4
  86. package/src/api-public/services/fb-message.js.map +5 -1
  87. package/src/api-public/services/filter-protect-data.js.map +1 -1
  88. package/src/api-public/services/line-message.js.map +1 -1
  89. package/src/api-public/services/monitor.js.map +1 -1
  90. package/src/api-public/services/notify.js.map +1 -1
  91. package/src/api-public/services/rebate.js.map +1 -1
  92. package/src/api-public/services/schedule.js.map +1 -1
  93. package/src/api-public/services/share-permission.js.map +1 -1
  94. package/src/api-public/services/shopping.js.map +1 -1
  95. package/src/api-public/services/user.js +67 -66
  96. package/src/api-public/services/user.js.map +1 -1
  97. package/src/api-public/services/user.ts +212 -182
  98. package/src/helper/glitter-util.js.map +1 -1
  99. package/src/modules/firebase.d.ts +1 -0
  100. package/src/modules/firebase.js +1 -1
  101. package/src/modules/firebase.js.map +1 -1
@@ -51,55 +51,6 @@ export class BgNotify {
51
51
  let interval = 0;
52
52
  return vm.dataList.map((dd) => {
53
53
  return [
54
- {
55
- key: (() => {
56
- clearInterval(interval);
57
- if (!vm.dataList.find((dd) => {
58
- return !dd.checked;
59
- })) {
60
- interval = setTimeout(() => {
61
- ApiUser.getSubScribe({
62
- page: vmi.page - 1,
63
- limit: 100000,
64
- search: vm.query || undefined,
65
- }).then((data) => {
66
- callback(data.response.data);
67
- });
68
- }, 10);
69
- }
70
- return EditorElem.checkBoxOnly({
71
- gvc: gvc,
72
- def: !vm.dataList.find((dd) => {
73
- return !dd.checked;
74
- }),
75
- callback: (result) => {
76
- vm.dataList.map((dd) => {
77
- dd.checked = result;
78
- });
79
- vmi.data = getDatalist();
80
- vmi.callback();
81
- gvc.notifyDataChange(filterID);
82
- callback(vm.dataList.filter((dd) => {
83
- return dd.checked;
84
- }));
85
- },
86
- });
87
- })(),
88
- value: EditorElem.checkBoxOnly({
89
- gvc: gvc,
90
- def: dd.checked,
91
- callback: (result) => {
92
- dd.checked = result;
93
- vmi.data = getDatalist();
94
- vmi.callback();
95
- gvc.notifyDataChange(filterID);
96
- callback(vm.dataList.filter((dd) => {
97
- return dd.checked;
98
- }));
99
- },
100
- style: 'height:25px;',
101
- }),
102
- },
103
54
  {
104
55
  key: '註冊信箱',
105
56
  value: `<span class="fs-7">${dd.email}</span>`,
@@ -111,107 +62,74 @@ export class BgNotify {
111
62
  ];
112
63
  });
113
64
  }
114
- return BgWidget.container(BgWidget.mainCard(BgWidget.tableV2({
115
- gvc: gvc,
116
- getData: (vmk) => {
117
- vmi = vmk;
118
- ApiUser.getSubScribe({
119
- page: vmi.page - 1,
120
- limit: 20,
121
- search: vm.query || undefined,
122
- filter: { account: 'no' },
123
- }).then((data) => {
124
- vmi.pageSize = Math.ceil(data.response.total / 20);
125
- vm.dataList = data.response.data;
126
- vmi.data = getDatalist();
127
- vmi.loading = false;
128
- vmi.callback();
129
- if (type === 'select') {
130
- callback(vm.dataList.filter((dd) => {
131
- return dd.checked;
132
- }));
133
- }
134
- });
135
- },
136
- rowClick: (data, index) => {
137
- vm.dataList[index].checked = !vm.dataList[index].checked;
138
- vmi.data = getDatalist();
139
- vmi.callback();
140
- gvc.notifyDataChange(filterID);
141
- callback(vm.dataList.filter((dd) => {
142
- return dd.checked;
143
- }));
144
- },
145
- filter: html `
146
- ${BgWidget.searchPlace(gvc.event((e, event) => {
65
+ return BgWidget.container(BgWidget.mainCard([
66
+ BgWidget.searchPlace(gvc.event((e) => {
147
67
  vm.query = e.value;
148
68
  gvc.notifyDataChange(id);
149
- }), vm.query || '', '搜尋信箱或標籤')}
150
- ${gvc.bindView(() => {
151
- return {
152
- bind: filterID,
153
- view: () => {
154
- if (!vm.dataList ||
155
- !vm.dataList.find((dd) => {
69
+ }), vm.query || '', '搜尋信箱或標籤'),
70
+ BgWidget.tableV3({
71
+ gvc: gvc,
72
+ getData: (vmk) => {
73
+ vmi = vmk;
74
+ const limit = 20;
75
+ ApiUser.getSubScribe({
76
+ page: vmi.page - 1,
77
+ limit: limit,
78
+ search: vm.query || undefined,
79
+ filter: { account: 'no' },
80
+ }).then((data) => {
81
+ vm.dataList = data.response.data;
82
+ vmi.pageSize = Math.ceil(data.response.total / limit);
83
+ vmi.originalData = vm.dataList;
84
+ vmi.tableData = getDatalist();
85
+ vmi.loading = false;
86
+ vmi.callback();
87
+ if (type === 'select') {
88
+ callback(vm.dataList.filter((dd) => {
156
89
  return dd.checked;
157
- })) {
158
- return ``;
90
+ }));
159
91
  }
160
- else {
161
- const dialog = new ShareDialog(gvc.glitter);
162
- const selCount = vm.dataList.filter((dd) => dd.checked).length;
163
- return BgWidget.selNavbar({
164
- count: selCount,
165
- buttonList: [
166
- BgWidget.selEventButton('批量移除', gvc.event(() => {
167
- dialog.checkYesOrNot({
168
- text: '是否確認刪除所選項目?',
169
- callback: (response) => {
170
- if (response) {
171
- dialog.dataLoading({ visible: true });
172
- ApiUser.deleteSubscribe({
173
- email: vm.dataList
174
- .filter((dd) => {
175
- return dd.checked;
176
- })
177
- .map((dd) => {
178
- return dd.email;
179
- })
180
- .join(`,`),
181
- }).then((res) => {
182
- dialog.dataLoading({ visible: false });
183
- if (res.result) {
184
- vm.dataList = undefined;
185
- gvc.notifyDataChange(id);
186
- }
187
- else {
188
- dialog.errorMessage({ text: '刪除失敗' });
189
- }
190
- });
191
- }
192
- },
92
+ });
93
+ },
94
+ rowClick: (data, index) => {
95
+ vm.dataList[index].checked = !vm.dataList[index].checked;
96
+ vmi.data = getDatalist();
97
+ vmi.callback();
98
+ gvc.notifyDataChange(filterID);
99
+ callback(vm.dataList.filter((dd) => {
100
+ return dd.checked;
101
+ }));
102
+ },
103
+ filter: [
104
+ {
105
+ name: '批量移除',
106
+ event: (checkedData) => {
107
+ const dialog = new ShareDialog(glitter);
108
+ dialog.checkYesOrNot({
109
+ text: '是否確認刪除所選項目?',
110
+ callback: (response) => {
111
+ if (response) {
112
+ dialog.dataLoading({ visible: true });
113
+ ApiUser.deleteSubscribe({
114
+ email: checkedData.map((dd) => dd.email).join(`,`),
115
+ }).then((res) => {
116
+ dialog.dataLoading({ visible: false });
117
+ if (res.result) {
118
+ vm.dataList = undefined;
119
+ gvc.notifyDataChange(id);
120
+ }
121
+ else {
122
+ dialog.errorMessage({ text: '刪除失敗' });
123
+ }
193
124
  });
194
- })),
195
- ],
125
+ }
126
+ },
196
127
  });
197
- }
198
- },
199
- divCreate: () => {
200
- return {
201
- class: `d-flex align-items-center p-2 py-3 ${!vm.dataList ||
202
- !vm.dataList.find((dd) => {
203
- return dd.checked;
204
- }) ||
205
- type === 'select'
206
- ? `d-none`
207
- : ``}`,
208
- style: ``,
209
- };
128
+ },
210
129
  },
211
- };
212
- })}
213
- `,
214
- })), type === 'select' ? 850 : BgWidget.getContainerWidth(), 'padding: 0;');
130
+ ],
131
+ }),
132
+ ].join('')), type === 'select' ? 850 : BgWidget.getContainerWidth(), 'padding: 0;');
215
133
  },
216
134
  };
217
135
  });
@@ -241,135 +159,77 @@ export class BgNotify {
241
159
  vm.type = 'add';
242
160
  }))}
243
161
  </div>
244
- ${BgWidget.container(BgWidget.mainCard(BgWidget.tableV2({
245
- gvc: gvc,
246
- getData: (vmi) => {
247
- ApiPost.getManagerPost({
248
- page: vmi.page - 1,
249
- limit: 20,
250
- search: vm.query ? [`title->${vm.query}`] : undefined,
251
- type: 'notify-email-config',
252
- }).then((data) => {
253
- vmi.pageSize = Math.ceil(data.response.total / 20);
254
- vm.dataList = data.response.data;
255
- function getDatalist() {
256
- return data.response.data.map((dd) => {
257
- return [
258
- {
259
- key: EditorElem.checkBoxOnly({
260
- gvc: gvc,
261
- def: !data.response.data.find((dd) => {
262
- return !dd.checked;
263
- }),
264
- callback: (result) => {
265
- data.response.data.map((dd) => {
266
- dd.checked = result;
267
- });
268
- vmi.data = getDatalist();
269
- vmi.callback();
270
- gvc.notifyDataChange(filterID);
271
- },
272
- }),
273
- value: EditorElem.checkBoxOnly({
274
- gvc: gvc,
275
- def: dd.checked,
276
- callback: (result) => {
277
- dd.checked = result;
278
- vmi.data = getDatalist();
279
- vmi.callback();
280
- gvc.notifyDataChange(filterID);
281
- },
282
- style: 'height:25px;',
283
- }),
284
- },
285
- {
286
- key: '標題',
287
- value: html `<span class="fs-7">${dd.content.title}</span>`,
288
- },
289
- {
290
- key: '最後更新時間',
291
- value: dd.updated_time ? gvc.glitter.ut.dateFormat(new Date(dd.updated_time), 'yyyy-MM-dd') : '無',
292
- },
293
- ];
294
- });
295
- }
296
- vmi.data = getDatalist();
297
- vmi.loading = false;
298
- vmi.callback();
299
- });
300
- },
301
- style: ['', `min-width: ${BgWidget.getContainerWidth() / 2 - 30}px`, ''],
302
- rowClick: (data, index) => {
303
- vm.data = vm.dataList[index].content;
304
- vm.type = 'replace';
305
- },
306
- filter: html ` ${BgWidget.searchPlace(gvc.event((e) => {
162
+ ${BgWidget.container(BgWidget.mainCard([
163
+ BgWidget.searchPlace(gvc.event((e) => {
307
164
  vm.query = e.value;
308
165
  gvc.notifyDataChange(id);
309
- }), vm.query || '', '搜尋所有信件內容')}
310
- ${gvc.bindView(() => {
311
- return {
312
- bind: filterID,
313
- view: () => {
314
- if (!vm.dataList ||
315
- !vm.dataList.find((dd) => {
316
- return dd.checked;
317
- })) {
318
- return ``;
166
+ }), vm.query || '', '搜尋所有信件內容'),
167
+ BgWidget.tableV3({
168
+ gvc: gvc,
169
+ getData: (vmi) => {
170
+ const limit = 20;
171
+ ApiPost.getManagerPost({
172
+ page: vmi.page - 1,
173
+ limit: limit,
174
+ search: vm.query ? [`title->${vm.query}`] : undefined,
175
+ type: 'notify-email-config',
176
+ }).then((data) => {
177
+ function getDatalist() {
178
+ return data.response.data.map((dd) => {
179
+ return [
180
+ {
181
+ key: '標題',
182
+ value: html `<span class="fs-7">${dd.content.title}</span>`,
183
+ },
184
+ {
185
+ key: '最後更新時間',
186
+ value: dd.updated_time ? gvc.glitter.ut.dateFormat(new Date(dd.updated_time), 'yyyy-MM-dd') : '無',
187
+ },
188
+ ];
189
+ });
319
190
  }
320
- else {
321
- const dialog = new ShareDialog(gvc.glitter);
322
- const selCount = vm.dataList.filter((dd) => dd.checked).length;
323
- return BgWidget.selNavbar({
324
- count: selCount,
325
- buttonList: [
326
- BgWidget.selEventButton('批量移除', gvc.event(() => {
327
- dialog.checkYesOrNot({
328
- text: '是否確認刪除所選項目?',
329
- callback: (response) => {
330
- if (response) {
331
- dialog.dataLoading({ visible: true });
332
- ApiPost.delete({
333
- id: vm.dataList
334
- .filter((dd) => {
335
- return dd.checked;
336
- })
337
- .map((dd) => {
338
- return dd.id;
339
- })
340
- .join(`,`),
341
- }).then((res) => {
342
- dialog.dataLoading({ visible: false });
343
- if (res.result) {
344
- vm.dataList = undefined;
345
- gvc.notifyDataChange(id);
346
- }
347
- else {
348
- dialog.errorMessage({ text: '刪除失敗' });
349
- }
350
- });
351
- }
352
- },
191
+ vm.dataList = data.response.data;
192
+ vmi.pageSize = Math.ceil(data.response.total / limit);
193
+ vmi.originalData = vm.dataList;
194
+ vmi.tableData = getDatalist();
195
+ vmi.loading = false;
196
+ vmi.callback();
197
+ });
198
+ },
199
+ rowClick: (data, index) => {
200
+ vm.data = vm.dataList[index].content;
201
+ vm.type = 'replace';
202
+ },
203
+ filter: [
204
+ {
205
+ name: '批量移除',
206
+ event: (checkedData) => {
207
+ const dialog = new ShareDialog(glitter);
208
+ dialog.checkYesOrNot({
209
+ text: '是否確認刪除所選項目?',
210
+ callback: (response) => {
211
+ if (response) {
212
+ dialog.dataLoading({ visible: true });
213
+ ApiPost.delete({
214
+ id: checkedData.map((dd) => dd.id).join(`,`),
215
+ }).then((res) => {
216
+ dialog.dataLoading({ visible: false });
217
+ if (res.result) {
218
+ vm.dataList = undefined;
219
+ gvc.notifyDataChange(id);
220
+ }
221
+ else {
222
+ dialog.errorMessage({ text: '刪除失敗' });
223
+ }
353
224
  });
354
- })),
355
- ],
225
+ }
226
+ },
356
227
  });
357
- }
358
- },
359
- divCreate: () => {
360
- return {
361
- class: `d-flex align-items-center p-2 py-3 ${!vm.dataList ||
362
- !vm.dataList.find((dd) => {
363
- return dd.checked;
364
- })
365
- ? `d-none`
366
- : ``}`,
367
- style: ``,
368
- };
228
+ },
369
229
  },
370
- };
371
- })}`,
372
- })))}
230
+ ],
231
+ }),
232
+ ].join('')))}
373
233
  ${BgWidget.mbContainer(120)}
374
234
  `, BgWidget.getContainerWidth());
375
235
  }
@@ -464,7 +324,7 @@ export class BgNotify {
464
324
  gvc.bindView({
465
325
  bind: vm.tableId,
466
326
  view: () => {
467
- return BgWidget.tableV2({
327
+ return BgWidget.tableV3({
468
328
  gvc: gvc,
469
329
  getData: (vmi) => {
470
330
  var _a, _b;
@@ -479,8 +339,6 @@ export class BgNotify {
479
339
  mailType: vm.filter.mailType,
480
340
  }).then((data) => {
481
341
  if (data.result) {
482
- vmi.pageSize = Math.ceil(data.response.total / limit);
483
- vm.dataList = data.response.data;
484
342
  function getDatalist() {
485
343
  return data.response.data.map((dd) => {
486
344
  return [
@@ -537,7 +395,10 @@ export class BgNotify {
537
395
  ];
538
396
  });
539
397
  }
540
- vmi.data = getDatalist();
398
+ vm.dataList = data.response.data;
399
+ vmi.pageSize = Math.ceil(data.response.total / limit);
400
+ vmi.originalData = vm.dataList;
401
+ vmi.tableData = getDatalist();
541
402
  vmi.loading = false;
542
403
  vmi.callback();
543
404
  }
@@ -549,6 +410,7 @@ export class BgNotify {
549
410
  vm.data.id = vm.dataList[index].id;
550
411
  vm.type = 'replace';
551
412
  },
413
+ filter: [],
552
414
  });
553
415
  },
554
416
  }),
@@ -1754,55 +1616,6 @@ export class BgNotify {
1754
1616
  return vm.dataList.map((dd) => {
1755
1617
  var _a;
1756
1618
  return [
1757
- {
1758
- key: (() => {
1759
- clearInterval(interval);
1760
- if (!vm.dataList.find((dd) => {
1761
- return !dd.checked;
1762
- })) {
1763
- interval = setTimeout(() => {
1764
- ApiUser.getFCM({
1765
- page: vmi.page - 1,
1766
- limit: 100000,
1767
- search: vm.query || undefined,
1768
- }).then((data) => {
1769
- callback(data.response.data);
1770
- });
1771
- }, 10);
1772
- }
1773
- return EditorElem.checkBoxOnly({
1774
- gvc: gvc,
1775
- def: !vm.dataList.find((dd) => {
1776
- return !dd.checked;
1777
- }),
1778
- callback: (result) => {
1779
- vm.dataList.map((dd) => {
1780
- dd.checked = result;
1781
- });
1782
- vmi.data = getDatalist();
1783
- vmi.callback();
1784
- gvc.notifyDataChange(filterID);
1785
- callback(vm.dataList.filter((dd) => {
1786
- return dd.checked;
1787
- }));
1788
- },
1789
- });
1790
- })(),
1791
- value: EditorElem.checkBoxOnly({
1792
- gvc: gvc,
1793
- def: dd.checked,
1794
- callback: (result) => {
1795
- dd.checked = result;
1796
- vmi.data = getDatalist();
1797
- vmi.callback();
1798
- gvc.notifyDataChange(filterID);
1799
- callback(vm.dataList.filter((dd) => {
1800
- return dd.checked;
1801
- }));
1802
- },
1803
- style: 'height:25px;',
1804
- }),
1805
- },
1806
1619
  {
1807
1620
  key: '用戶ID',
1808
1621
  value: `<span class="fs-7">${(_a = dd.userID) !== null && _a !== void 0 ? _a : '尚未登入'}</span>`,
@@ -1823,106 +1636,72 @@ export class BgNotify {
1823
1636
  ${BgWidget.title('已訂閱裝置')}
1824
1637
  <div class="flex-fill"></div>
1825
1638
  </div>
1826
- ${BgWidget.container(BgWidget.mainCard(BgWidget.tableV2({
1827
- gvc: gvc,
1828
- getData: (vmk) => {
1829
- vmi = vmk;
1830
- ApiUser.getFCM({
1831
- page: vmi.page - 1,
1832
- limit: 20,
1833
- search: vm.query || undefined,
1834
- }).then((data) => {
1835
- vmi.pageSize = Math.ceil(data.response.total / 20);
1836
- vm.dataList = data.response.data;
1837
- vmi.data = getDatalist();
1838
- vmi.loading = false;
1839
- vmi.callback();
1840
- if (type === 'select') {
1841
- callback(vm.dataList.filter((dd) => {
1842
- return dd.checked;
1843
- }));
1844
- }
1845
- });
1846
- },
1847
- rowClick: (data, index) => {
1848
- vm.dataList[index].checked = !vm.dataList[index].checked;
1849
- vmi.data = getDatalist();
1850
- vmi.callback();
1851
- gvc.notifyDataChange(filterID);
1852
- callback(vm.dataList.filter((dd) => {
1853
- return dd.checked;
1854
- }));
1855
- },
1856
- filter: html `
1857
- ${BgWidget.searchPlace(gvc.event((e, event) => {
1639
+ ${BgWidget.container(BgWidget.mainCard([
1640
+ BgWidget.searchPlace(gvc.event((e) => {
1858
1641
  vm.query = e.value;
1859
1642
  gvc.notifyDataChange(id);
1860
- }), vm.query || '', '搜尋信箱或者標籤')}
1861
- ${gvc.bindView(() => {
1862
- return {
1863
- bind: filterID,
1864
- view: () => {
1865
- if (!vm.dataList ||
1866
- !vm.dataList.find((dd) => {
1643
+ }), vm.query || '', '搜尋信箱或者標籤'),
1644
+ BgWidget.tableV3({
1645
+ gvc: gvc,
1646
+ getData: (vmk) => {
1647
+ vmi = vmk;
1648
+ const limit = 20;
1649
+ ApiUser.getFCM({
1650
+ page: vmi.page - 1,
1651
+ limit: limit,
1652
+ search: vm.query || undefined,
1653
+ }).then((data) => {
1654
+ vm.dataList = data.response.data;
1655
+ vmi.pageSize = Math.ceil(data.response.total / limit);
1656
+ vmi.originalData = vm.dataList;
1657
+ vmi.tableData = getDatalist();
1658
+ vmi.loading = false;
1659
+ vmi.callback();
1660
+ if (type === 'select') {
1661
+ callback(vm.dataList.filter((dd) => {
1867
1662
  return dd.checked;
1868
- })) {
1869
- return ``;
1663
+ }));
1870
1664
  }
1871
- else {
1872
- const dialog = new ShareDialog(gvc.glitter);
1873
- const selCount = vm.dataList.filter((dd) => dd.checked).length;
1874
- return BgWidget.selNavbar({
1875
- count: selCount,
1876
- buttonList: [
1877
- BgWidget.selEventButton('批量移除', gvc.event(() => {
1878
- dialog.checkYesOrNot({
1879
- text: '是否確認刪除所選項目?',
1880
- callback: (response) => {
1881
- if (response) {
1882
- dialog.dataLoading({ visible: true });
1883
- ApiUser.deleteSubscribe({
1884
- email: vm.dataList
1885
- .filter((dd) => {
1886
- return dd.checked;
1887
- })
1888
- .map((dd) => {
1889
- return dd.email;
1890
- })
1891
- .join(`,`),
1892
- }).then((res) => {
1893
- dialog.dataLoading({ visible: false });
1894
- if (res.result) {
1895
- vm.dataList = undefined;
1896
- gvc.notifyDataChange(id);
1897
- }
1898
- else {
1899
- dialog.errorMessage({ text: '刪除失敗' });
1900
- }
1901
- });
1902
- }
1903
- },
1665
+ });
1666
+ },
1667
+ rowClick: (data, index) => {
1668
+ vm.dataList[index].checked = !vm.dataList[index].checked;
1669
+ vmi.data = getDatalist();
1670
+ vmi.callback();
1671
+ gvc.notifyDataChange(filterID);
1672
+ callback(vm.dataList.filter((dd) => {
1673
+ return dd.checked;
1674
+ }));
1675
+ },
1676
+ filter: [
1677
+ {
1678
+ name: '批量移除',
1679
+ event: (checkedData) => {
1680
+ dialog.checkYesOrNot({
1681
+ text: '是否確認刪除所選項目?',
1682
+ callback: (response) => {
1683
+ if (response) {
1684
+ dialog.dataLoading({ visible: true });
1685
+ ApiUser.deleteSubscribe({
1686
+ email: checkedData.map((dd) => dd.email).join(`,`),
1687
+ }).then((res) => {
1688
+ dialog.dataLoading({ visible: false });
1689
+ if (res.result) {
1690
+ vm.dataList = undefined;
1691
+ gvc.notifyDataChange(id);
1692
+ }
1693
+ else {
1694
+ dialog.errorMessage({ text: '刪除失敗' });
1695
+ }
1904
1696
  });
1905
- })),
1906
- ],
1697
+ }
1698
+ },
1907
1699
  });
1908
- }
1909
- },
1910
- divCreate: () => {
1911
- return {
1912
- class: `d-flex align-items-center p-2 py-3 ${!vm.dataList ||
1913
- !vm.dataList.find((dd) => {
1914
- return dd.checked;
1915
- }) ||
1916
- type === 'select'
1917
- ? `d-none`
1918
- : ``}`,
1919
- style: ``,
1920
- };
1700
+ },
1921
1701
  },
1922
- };
1923
- })}
1924
- `,
1925
- })))}
1702
+ ],
1703
+ }),
1704
+ ].join('')))}
1926
1705
  `, BgWidget.getContainerWidth());
1927
1706
  },
1928
1707
  divCreate: {
@@ -1956,219 +1735,162 @@ export class BgNotify {
1956
1735
  vm.type = 'add';
1957
1736
  }))}
1958
1737
  </div>
1959
- ${BgWidget.container(BgWidget.mainCard(BgWidget.tableV2({
1960
- gvc: gvc,
1961
- getData: (vmi) => {
1962
- ApiPost.getManagerPost({
1963
- page: vmi.page - 1,
1964
- limit: 20,
1965
- search: vm.query ? [`title->${vm.query}`] : undefined,
1966
- type: 'notify-message-config',
1967
- }).then((data) => {
1968
- vmi.pageSize = Math.ceil(data.response.total / 20);
1969
- vm.dataList = data.response.data;
1970
- function getDatalist() {
1971
- return data.response.data.map((dd) => {
1972
- return [
1973
- {
1974
- key: EditorElem.checkBoxOnly({
1975
- gvc: gvc,
1976
- def: !data.response.data.find((dd) => {
1977
- return !dd.checked;
1978
- }),
1979
- callback: (result) => {
1980
- data.response.data.map((dd) => {
1981
- dd.checked = result;
1982
- });
1983
- vmi.data = getDatalist();
1984
- vmi.callback();
1985
- gvc.notifyDataChange(filterID);
1986
- },
1987
- }),
1988
- value: EditorElem.checkBoxOnly({
1989
- gvc: gvc,
1990
- def: dd.checked,
1991
- callback: (result) => {
1992
- dd.checked = result;
1993
- vmi.data = getDatalist();
1994
- vmi.callback();
1995
- gvc.notifyDataChange(filterID);
1996
- },
1997
- style: 'height:25px;',
1998
- }),
1999
- },
2000
- {
2001
- key: '推播標題',
2002
- value: `<span class="fs-7">${dd.content.title}</span>`,
2003
- },
2004
- {
2005
- key: '推播內文',
2006
- value: `<span class="fs-7">${Tool.truncateString(dd.content.content.replace(/<[^>]*>/g, ''), 30)}</span>`,
2007
- },
2008
- {
2009
- key: '發送推播',
2010
- value: html `<button
2011
- class="btn btn-primary-c px-4"
2012
- style="width:20px !important;height: 30px;"
2013
- onclick="${gvc.event((e, event) => {
2014
- event.stopPropagation();
2015
- gvc.glitter.innerDialog((gvc) => {
2016
- let dataList = [];
2017
- return html `
2018
- <div style="max-height: calc(100vh - 100px);overflow-y: auto;">
2019
- ${BgWidget.container(BgWidget.card([
2020
- html `
2021
- <div class="d-flex w-100 align-items-center mb-3 ">
2022
- ${BgWidget.goBack(gvc.event(() => {
2023
- gvc.closeDialog();
2024
- }))}
2025
- ${BgWidget.title(`選擇群發對象`)}
2026
- <div class="flex-fill"></div>
2027
- <button
2028
- class="btn bt_c39 me-2"
2029
- style="height:38px;font-size: 14px;"
2030
- onclick="${gvc.event(() => {
2031
- const dialog = new ShareDialog(gvc.glitter);
2032
- dialog.dataLoading({
2033
- text: '發送中...',
2034
- visible: true,
2035
- });
2036
- ApiFcm.send({
2037
- device_token: ['all'],
2038
- title: dd.content.title,
2039
- content: dd.content.content,
2040
- link: dd.content.link,
2041
- }).then(() => {
2042
- dialog.dataLoading({ visible: false });
2043
- dialog.successMessage({ text: `發送成功` });
2044
- });
2045
- })}"
2046
- >
2047
- 發送給所有用戶
2048
- </button>
2049
- <button
2050
- class="btn bt_c39"
2051
- style="height:38px;font-size: 14px;"
2052
- onclick="${gvc.event(() => {
2053
- const dialog = new ShareDialog(gvc.glitter);
2054
- if (dataList.length > 0) {
1738
+ ${BgWidget.container(BgWidget.mainCard([
1739
+ BgWidget.searchPlace(gvc.event((e) => {
1740
+ vm.query = e.value;
1741
+ gvc.notifyDataChange(id);
1742
+ }), vm.query || '', '搜尋所有信件內容'),
1743
+ BgWidget.tableV3({
1744
+ gvc: gvc,
1745
+ getData: (vmi) => {
1746
+ const limit = 20;
1747
+ ApiPost.getManagerPost({
1748
+ page: vmi.page - 1,
1749
+ limit: limit,
1750
+ search: vm.query ? [`title->${vm.query}`] : undefined,
1751
+ type: 'notify-message-config',
1752
+ }).then((data) => {
1753
+ function getDatalist() {
1754
+ return data.response.data.map((dd) => {
1755
+ return [
1756
+ {
1757
+ key: '推播標題',
1758
+ value: `<span class="fs-7">${dd.content.title}</span>`,
1759
+ },
1760
+ {
1761
+ key: '推播內文',
1762
+ value: `<span class="fs-7">${Tool.truncateString(dd.content.content.replace(/<[^>]*>/g, ''), 30)}</span>`,
1763
+ },
1764
+ {
1765
+ key: '發送推播',
1766
+ value: html `<button
1767
+ class="btn btn-primary-c px-4"
1768
+ style="width:20px !important;height: 30px;"
1769
+ onclick="${gvc.event((e, event) => {
1770
+ event.stopPropagation();
1771
+ gvc.glitter.innerDialog((gvc) => {
1772
+ let dataList = [];
1773
+ return html `
1774
+ <div style="max-height: calc(100vh - 100px);overflow-y: auto;">
1775
+ ${BgWidget.container(BgWidget.card([
1776
+ html `
1777
+ <div class="d-flex w-100 align-items-center mb-3 ">
1778
+ ${BgWidget.goBack(gvc.event(() => {
1779
+ gvc.closeDialog();
1780
+ }))}
1781
+ ${BgWidget.title(`選擇群發對象`)}
1782
+ <div class="flex-fill"></div>
1783
+ <button
1784
+ class="btn bt_c39 me-2"
1785
+ style="height:38px;font-size: 14px;"
1786
+ onclick="${gvc.event(() => {
1787
+ const dialog = new ShareDialog(gvc.glitter);
2055
1788
  dialog.dataLoading({
2056
1789
  text: '發送中...',
2057
1790
  visible: true,
2058
1791
  });
2059
1792
  ApiFcm.send({
2060
- device_token: dataList.map((dd) => {
2061
- return dd.deviceToken;
2062
- }),
1793
+ device_token: ['all'],
2063
1794
  title: dd.content.title,
2064
1795
  content: dd.content.content,
2065
1796
  link: dd.content.link,
2066
1797
  }).then(() => {
2067
1798
  dialog.dataLoading({ visible: false });
2068
- dialog.successMessage({ text: '發送成功' });
1799
+ dialog.successMessage({ text: `發送成功` });
2069
1800
  });
2070
- }
2071
- else {
2072
- dialog.errorMessage({ text: '請選擇發送對象' });
2073
- }
2074
- })}"
2075
- >
2076
- 確認並發送
2077
- </button>
2078
- </div>
2079
- ` +
2080
- BgNotify.fcmDevice(gvc, 'select', (data) => {
2081
- dataList = data;
2082
- }),
2083
- ].join('')), 900)}
2084
- <div></div>
2085
- </div>
2086
- `;
2087
- }, 'email');
2088
- })}"
2089
- >
2090
- <i class="fa-sharp fa-regular fa-paper-plane-top"></i>
2091
- </button>`,
2092
- },
2093
- ];
2094
- });
2095
- }
2096
- vmi.data = getDatalist();
2097
- vmi.loading = false;
2098
- vmi.callback();
2099
- });
2100
- },
2101
- rowClick: (data, index) => {
2102
- vm.data = vm.dataList[index].content;
2103
- vm.type = 'replace';
2104
- },
2105
- filter: html ` ${BgWidget.searchPlace(gvc.event((e, event) => {
2106
- vm.query = e.value;
2107
- gvc.notifyDataChange(id);
2108
- }), vm.query || '', '搜尋所有信件內容')}
2109
- ${gvc.bindView(() => {
2110
- return {
2111
- bind: filterID,
2112
- view: () => {
2113
- if (!vm.dataList ||
2114
- !vm.dataList.find((dd) => {
2115
- return dd.checked;
2116
- })) {
2117
- return ``;
2118
- }
2119
- else {
2120
- const dialog = new ShareDialog(gvc.glitter);
2121
- const selCount = vm.dataList.filter((dd) => dd.checked).length;
2122
- return BgWidget.selNavbar({
2123
- count: selCount,
2124
- buttonList: [
2125
- BgWidget.selEventButton('批量移除', gvc.event(() => {
2126
- dialog.checkYesOrNot({
2127
- text: '是否確認刪除所選項目?',
2128
- callback: (response) => {
2129
- if (response) {
2130
- dialog.dataLoading({ visible: true });
2131
- ApiPost.delete({
2132
- id: vm.dataList
2133
- .filter((dd) => {
2134
- return dd.checked;
2135
- })
2136
- .map((dd) => {
2137
- return dd.id;
2138
- })
2139
- .join(`,`),
2140
- }).then((res) => {
2141
- dialog.dataLoading({ visible: false });
2142
- if (res.result) {
2143
- vm.dataList = undefined;
2144
- gvc.notifyDataChange(id);
1801
+ })}"
1802
+ >
1803
+ 發送給所有用戶
1804
+ </button>
1805
+ <button
1806
+ class="btn bt_c39"
1807
+ style="height:38px;font-size: 14px;"
1808
+ onclick="${gvc.event(() => {
1809
+ const dialog = new ShareDialog(gvc.glitter);
1810
+ if (dataList.length > 0) {
1811
+ dialog.dataLoading({
1812
+ text: '發送中...',
1813
+ visible: true,
1814
+ });
1815
+ ApiFcm.send({
1816
+ device_token: dataList.map((dd) => {
1817
+ return dd.deviceToken;
1818
+ }),
1819
+ title: dd.content.title,
1820
+ content: dd.content.content,
1821
+ link: dd.content.link,
1822
+ }).then(() => {
1823
+ dialog.dataLoading({ visible: false });
1824
+ dialog.successMessage({ text: '發送成功' });
1825
+ });
2145
1826
  }
2146
1827
  else {
2147
- dialog.errorMessage({ text: '刪除失敗' });
1828
+ dialog.errorMessage({ text: '請選擇發送對象' });
2148
1829
  }
2149
- });
2150
- }
2151
- },
2152
- });
2153
- })),
2154
- ],
1830
+ })}"
1831
+ >
1832
+ 確認並發送
1833
+ </button>
1834
+ </div>
1835
+ ` +
1836
+ BgNotify.fcmDevice(gvc, 'select', (data) => {
1837
+ dataList = data;
1838
+ }),
1839
+ ].join('')), 900)}
1840
+ <div></div>
1841
+ </div>
1842
+ `;
1843
+ }, 'email');
1844
+ })}"
1845
+ >
1846
+ <i class="fa-sharp fa-regular fa-paper-plane-top"></i>
1847
+ </button>`,
1848
+ },
1849
+ ];
2155
1850
  });
2156
1851
  }
1852
+ vm.dataList = data.response.data;
1853
+ vmi.pageSize = Math.ceil(data.response.total / limit);
1854
+ vmi.originalData = vm.dataList;
1855
+ vmi.tableData = getDatalist();
1856
+ vmi.loading = false;
1857
+ vmi.callback();
1858
+ });
1859
+ },
1860
+ rowClick: (data, index) => {
1861
+ vm.data = vm.dataList[index].content;
1862
+ vm.type = 'replace';
1863
+ },
1864
+ filter: [
1865
+ {
1866
+ name: '批量移除',
1867
+ event: (checkedData) => {
1868
+ const dialog = new ShareDialog(glitter);
1869
+ dialog.checkYesOrNot({
1870
+ text: '是否確認刪除所選項目?',
1871
+ callback: (response) => {
1872
+ if (response) {
1873
+ dialog.dataLoading({ visible: true });
1874
+ ApiPost.delete({
1875
+ id: checkedData.map((dd) => dd.id).join(`,`),
1876
+ }).then((res) => {
1877
+ dialog.dataLoading({ visible: false });
1878
+ if (res.result) {
1879
+ vm.dataList = undefined;
1880
+ gvc.notifyDataChange(id);
1881
+ }
1882
+ else {
1883
+ dialog.errorMessage({ text: '刪除失敗' });
1884
+ }
1885
+ });
1886
+ }
1887
+ },
1888
+ });
1889
+ },
2157
1890
  },
2158
- divCreate: () => {
2159
- return {
2160
- class: `d-flex align-items-center p-2 py-3 ${!vm.dataList ||
2161
- !vm.dataList.find((dd) => {
2162
- return dd.checked;
2163
- })
2164
- ? `d-none`
2165
- : ``}`,
2166
- style: ``,
2167
- };
2168
- },
2169
- };
2170
- })}`,
2171
- })))}
1891
+ ],
1892
+ }),
1893
+ ].join('')))}
2172
1894
  `, BgWidget.getContainerWidth());
2173
1895
  }
2174
1896
  else if (vm.type == 'replace') {
@@ -2218,55 +1940,6 @@ export class BgNotify {
2218
1940
  return vm.dataList.map((dd) => {
2219
1941
  var _a;
2220
1942
  return [
2221
- {
2222
- key: (() => {
2223
- clearInterval(interval);
2224
- if (!vm.dataList.find((dd) => {
2225
- return !dd.checked;
2226
- })) {
2227
- interval = setTimeout(() => {
2228
- ApiUser.getFCM({
2229
- page: vmi.page - 1,
2230
- limit: 100000,
2231
- search: vm.query || undefined,
2232
- }).then((data) => {
2233
- callback(data.response.data);
2234
- });
2235
- }, 10);
2236
- }
2237
- return EditorElem.checkBoxOnly({
2238
- gvc: gvc,
2239
- def: !vm.dataList.find((dd) => {
2240
- return !dd.checked;
2241
- }),
2242
- callback: (result) => {
2243
- vm.dataList.map((dd) => {
2244
- dd.checked = result;
2245
- });
2246
- vmi.data = getDatalist();
2247
- vmi.callback();
2248
- gvc.notifyDataChange(filterID);
2249
- callback(vm.dataList.filter((dd) => {
2250
- return dd.checked;
2251
- }));
2252
- },
2253
- });
2254
- })(),
2255
- value: EditorElem.checkBoxOnly({
2256
- gvc: gvc,
2257
- def: dd.checked,
2258
- callback: (result) => {
2259
- dd.checked = result;
2260
- vmi.data = getDatalist();
2261
- vmi.callback();
2262
- gvc.notifyDataChange(filterID);
2263
- callback(vm.dataList.filter((dd) => {
2264
- return dd.checked;
2265
- }));
2266
- },
2267
- style: 'height:25px;',
2268
- }),
2269
- },
2270
1943
  {
2271
1944
  key: '名稱',
2272
1945
  value: `<span class="fs-7">${dd.content.name}</span>`,
@@ -2407,103 +2080,76 @@ export class BgNotify {
2407
2080
  ${BgWidget.title('回饋信件')}
2408
2081
  <div class="flex-fill"></div>
2409
2082
  </div>
2410
- ${BgWidget.table({
2411
- gvc: gvc,
2412
- getData: (vmk) => {
2413
- vmi = vmk;
2414
- ApiPost.getUserPost({
2415
- page: vmi.page - 1,
2416
- limit: 20,
2417
- search: vm.query || undefined,
2418
- type: 'userQuestion',
2419
- }).then((data) => {
2420
- vmi.pageSize = Math.ceil(data.response.total / 20);
2421
- vm.dataList = data.response.data;
2422
- vmi.data = getDatalist();
2423
- vmi.loading = false;
2424
- vmi.callback();
2425
- if (type === 'select') {
2426
- callback(vm.dataList.filter((dd) => {
2427
- return dd.checked;
2428
- }));
2429
- }
2430
- });
2431
- },
2432
- rowClick: (data, index) => {
2433
- vm.type = 'replace';
2434
- vm.data = vm.dataList[index];
2435
- gvc.notifyDataChange(id);
2436
- },
2437
- filter: html `
2438
- ${BgWidget.searchPlace(gvc.event((e, event) => {
2083
+ ${BgWidget.mainCard([
2084
+ BgWidget.searchPlace(gvc.event((e, event) => {
2439
2085
  vm.query = e.value;
2440
2086
  gvc.notifyDataChange(id);
2441
- }), vm.query || '', '搜尋標題')}
2442
- ${gvc.bindView(() => {
2443
- return {
2444
- bind: filterID,
2445
- view: () => {
2446
- if (!vm.dataList ||
2447
- !vm.dataList.find((dd) => {
2087
+ }), vm.query || '', '搜尋標題'),
2088
+ BgWidget.tableV3({
2089
+ gvc: gvc,
2090
+ getData: (vmi) => {
2091
+ const limit = 20;
2092
+ ApiPost.getUserPost({
2093
+ page: vmi.page - 1,
2094
+ limit: limit,
2095
+ search: vm.query || undefined,
2096
+ type: 'userQuestion',
2097
+ }).then((data) => {
2098
+ vm.dataList = data.response.data;
2099
+ vmi.pageSize = Math.ceil(data.response.total / limit);
2100
+ vmi.originalData = vm.dataList;
2101
+ vmi.tableData = getDatalist();
2102
+ vmi.loading = false;
2103
+ vmi.callback();
2104
+ if (type === 'select') {
2105
+ callback(vm.dataList.filter((dd) => {
2448
2106
  return dd.checked;
2449
- })) {
2450
- return ``;
2107
+ }));
2451
2108
  }
2452
- else {
2109
+ });
2110
+ },
2111
+ rowClick: (data, index) => {
2112
+ vm.type = 'replace';
2113
+ vm.data = vm.dataList[index];
2114
+ gvc.notifyDataChange(id);
2115
+ },
2116
+ filter: [
2117
+ {
2118
+ name: '批量刪除',
2119
+ event: () => {
2453
2120
  const dialog = new ShareDialog(gvc.glitter);
2454
- const selCount = vm.dataList.filter((dd) => dd.checked).length;
2455
- return BgWidget.selNavbar({
2456
- count: selCount,
2457
- buttonList: [
2458
- BgWidget.selEventButton('批量移除', gvc.event(() => {
2459
- dialog.checkYesOrNot({
2460
- text: '是否確認刪除所選項目?',
2461
- callback: (response) => {
2462
- if (response) {
2463
- dialog.dataLoading({ visible: true });
2464
- ApiPost.deleteUserPost({
2465
- id: vm.dataList
2466
- .filter((dd) => {
2467
- return dd.checked;
2468
- })
2469
- .map((dd) => {
2470
- return dd.id;
2471
- })
2472
- .join(`,`),
2473
- }).then((res) => {
2474
- dialog.dataLoading({ visible: false });
2475
- if (res.result) {
2476
- vm.dataList = undefined;
2477
- gvc.notifyDataChange(id);
2478
- }
2479
- else {
2480
- dialog.errorMessage({ text: '刪除失敗' });
2481
- }
2482
- });
2483
- }
2484
- },
2121
+ dialog.checkYesOrNot({
2122
+ text: '是否確認刪除所選項目?',
2123
+ callback: (response) => {
2124
+ if (response) {
2125
+ dialog.dataLoading({ visible: true });
2126
+ ApiPost.deleteUserPost({
2127
+ id: vm.dataList
2128
+ .filter((dd) => {
2129
+ return dd.checked;
2130
+ })
2131
+ .map((dd) => {
2132
+ return dd.id;
2133
+ })
2134
+ .join(`,`),
2135
+ }).then((res) => {
2136
+ dialog.dataLoading({ visible: false });
2137
+ if (res.result) {
2138
+ vm.dataList = undefined;
2139
+ gvc.notifyDataChange(id);
2140
+ }
2141
+ else {
2142
+ dialog.errorMessage({ text: '刪除失敗' });
2143
+ }
2485
2144
  });
2486
- })),
2487
- ],
2145
+ }
2146
+ },
2488
2147
  });
2489
- }
2490
- },
2491
- divCreate: () => {
2492
- return {
2493
- class: `d-flex align-items-center p-2 py-3 ${!vm.dataList ||
2494
- !vm.dataList.find((dd) => {
2495
- return dd.checked;
2496
- }) ||
2497
- type === 'select'
2498
- ? `d-none`
2499
- : ``}`,
2500
- style: ``,
2501
- };
2148
+ },
2502
2149
  },
2503
- };
2504
- })}
2505
- `,
2506
- })}
2150
+ ],
2151
+ }),
2152
+ ].join(''))}
2507
2153
  `);
2508
2154
  },
2509
2155
  divCreate: {