ts-glitter 20.7.4 → 20.7.6
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/jr9x7k3aau.json +1 -0
- package/lowcode/Entry.js +1 -1
- package/lowcode/Entry.ts +1 -1
- package/lowcode/backend-manager/bg-notify.js +2 -0
- package/lowcode/backend-manager/bg-notify.ts +2 -0
- package/lowcode/backend-manager/bg-widget.js +280 -155
- package/lowcode/backend-manager/bg-widget.ts +387 -244
- package/lowcode/backend-manager/splitPage.js +27 -52
- package/lowcode/backend-manager/splitPage.ts +29 -47
- package/lowcode/cms-plugin/app-release.js +63 -13
- package/lowcode/cms-plugin/app-release.ts +73 -13
- package/lowcode/cms-plugin/auto-fcm-advertise.js +23 -24
- package/lowcode/cms-plugin/auto-fcm-advertise.ts +286 -285
- package/lowcode/cms-plugin/auto-reply.js +285 -273
- package/lowcode/cms-plugin/auto-reply.ts +673 -660
- package/lowcode/cms-plugin/module/data.ts +1 -0
- package/lowcode/cms-plugin/module/order-setting.js +134 -117
- package/lowcode/cms-plugin/module/order-setting.ts +152 -138
- package/lowcode/cms-plugin/pos-pages/products-page.js +8 -16
- package/lowcode/cms-plugin/pos-pages/products-page.ts +10 -12
- package/lowcode/cms-plugin/shopping-order-manager.js +244 -289
- package/lowcode/cms-plugin/shopping-order-manager.ts +128 -156
- package/lowcode/cms-plugin/shopping-order-return.js +1 -1
- package/lowcode/cms-plugin/shopping-order-return.ts +1 -1
- package/lowcode/cms-plugin/shopping-product-setting.js +3 -3
- package/lowcode/cms-plugin/shopping-product-setting.ts +3 -3
- package/lowcode/cms-plugin/shopping-setting-advance.js +3 -28
- package/lowcode/cms-plugin/shopping-setting-advance.ts +3 -28
- package/lowcode/cms-plugin/stock-history.js +31 -15
- package/lowcode/cms-plugin/stock-history.ts +43 -25
- package/lowcode/cms-plugin/third-party-google.js +2 -2
- package/lowcode/cms-plugin/third-party-google.ts +2 -2
- package/lowcode/cms-plugin/user-list.js +166 -113
- package/lowcode/cms-plugin/user-list.ts +136 -78
- package/lowcode/form-view/e-commerce/path-select.js +100 -87
- package/lowcode/form-view/e-commerce/path-select.ts +372 -343
- package/lowcode/glitter-base/route/stock.ts +153 -141
- package/lowcode/glitterBundle/plugins/editor-elem.js +139 -149
- package/lowcode/glitterBundle/plugins/editor-elem.ts +207 -222
- package/lowcode/public-components/blogs/list.js +8 -16
- package/lowcode/public-components/blogs/list.ts +10 -12
- package/lowcode/public-components/product/product-list.js +8 -16
- package/lowcode/public-components/product/product-list.ts +10 -12
- package/lowcode/public-components/user-manager/um-login.js +268 -265
- package/lowcode/public-components/user-manager/um-login.ts +987 -983
- package/lowcode/public-models/order-info.js +12 -20
- package/lowcode/public-models/order-info.ts +13 -12
- package/package.json +1 -1
- package/src/Language.js.map +1 -1
- package/src/api-public/controllers/ai-chat.js.map +1 -1
- package/src/api-public/controllers/ai-points.js.map +1 -1
- package/src/api-public/controllers/app-release.js.map +1 -1
- package/src/api-public/controllers/article.js.map +1 -1
- package/src/api-public/controllers/chat.js.map +1 -1
- package/src/api-public/controllers/customer-sessions.js.map +1 -1
- package/src/api-public/controllers/delivery.js.map +1 -1
- package/src/api-public/controllers/fb-message.js.map +1 -1
- package/src/api-public/controllers/fb-service.js.map +1 -1
- package/src/api-public/controllers/fcm.js.map +1 -1
- package/src/api-public/controllers/graph-api.js.map +1 -1
- package/src/api-public/controllers/index.js.map +1 -1
- package/src/api-public/controllers/invoice.js.map +1 -1
- package/src/api-public/controllers/lambda.js.map +1 -1
- package/src/api-public/controllers/line-message.js.map +1 -1
- package/src/api-public/controllers/manager.js.map +1 -1
- package/src/api-public/controllers/oauth.js.map +1 -1
- package/src/api-public/controllers/post.js.map +1 -1
- package/src/api-public/controllers/progress.js.map +1 -1
- package/src/api-public/controllers/rebate.js.map +1 -1
- package/src/api-public/controllers/recommend.js.map +1 -1
- package/src/api-public/controllers/reconciliation.js.map +1 -1
- package/src/api-public/controllers/shop.js.map +1 -1
- package/src/api-public/controllers/shopee.js.map +1 -1
- package/src/api-public/controllers/sms-points.js.map +1 -1
- package/src/api-public/controllers/sms.js.map +1 -1
- package/src/api-public/controllers/smtp.js.map +1 -1
- package/src/api-public/controllers/sql_api.js.map +1 -1
- package/src/api-public/controllers/stock.js.map +1 -1
- package/src/api-public/controllers/track.js.map +1 -1
- package/src/api-public/controllers/user.js +1 -1
- package/src/api-public/controllers/user.js.map +1 -1
- package/src/api-public/controllers/user.ts +1 -1
- package/src/api-public/controllers/voucher.js.map +1 -1
- package/src/api-public/controllers/wallet.js.map +1 -1
- package/src/api-public/models/glitter-finance.js +2 -1
- package/src/api-public/models/glitter-finance.js.map +1 -1
- package/src/api-public/services/EcInvoice.js.map +1 -1
- package/src/api-public/services/ai-pointes.js.map +1 -1
- package/src/api-public/services/ai-robot.d.ts +1 -0
- package/src/api-public/services/ai-robot.js.map +1 -1
- package/src/api-public/services/article.js.map +1 -1
- package/src/api-public/services/auto-send-email.js.map +1 -1
- package/src/api-public/services/chat.js.map +1 -1
- package/src/api-public/services/checkout-event.d.ts +3 -1
- package/src/api-public/services/checkout-event.js +7 -4
- package/src/api-public/services/checkout-event.js.map +1 -1
- package/src/api-public/services/checkout-event.ts +26 -17
- package/src/api-public/services/checkout.js.map +1 -1
- package/src/api-public/services/custom-code.js.map +1 -1
- package/src/api-public/services/customer-sessions.js.map +1 -1
- package/src/api-public/services/data-analyze.js +3 -3
- package/src/api-public/services/data-analyze.js.map +1 -1
- package/src/api-public/services/data-analyze.ts +3 -3
- package/src/api-public/services/delivery.js.map +1 -1
- package/src/api-public/services/ezpay/tool.d.ts +1 -0
- package/src/api-public/services/ezpay/tool.js.map +1 -1
- package/src/api-public/services/fake-data-model/fake-order.js.map +1 -1
- package/src/api-public/services/fake-data-model/fake-product.js.map +1 -1
- package/src/api-public/services/fake-data-model/fake-user.js.map +1 -1
- package/src/api-public/services/fb-api.d.ts +1 -0
- package/src/api-public/services/fb-api.js.map +1 -1
- package/src/api-public/services/fb-message.d.ts +1 -0
- package/src/api-public/services/fb-message.js.map +1 -1
- package/src/api-public/services/fb-service.js +4 -4
- package/src/api-public/services/fb-service.js.map +1 -1
- package/src/api-public/services/filter-protect-data.js.map +1 -1
- package/src/api-public/services/financial-service.d.ts +1 -0
- package/src/api-public/services/financial-service.js.map +1 -1
- package/src/api-public/services/form-check.js.map +1 -1
- package/src/api-public/services/graph-api.js.map +1 -1
- package/src/api-public/services/initial-fake-data.js.map +1 -1
- package/src/api-public/services/invoice.js.map +1 -1
- package/src/api-public/services/language-setting.js.map +1 -1
- package/src/api-public/services/line-message.d.ts +1 -0
- package/src/api-public/services/line-message.js.map +1 -1
- package/src/api-public/services/mail.js.map +1 -1
- package/src/api-public/services/manager.js.map +1 -1
- package/src/api-public/services/model/handlePaymentTransaction.js.map +1 -1
- package/src/api-public/services/model/shopnex-line-message.js.map +1 -1
- package/src/api-public/services/monitor.d.ts +1 -0
- package/src/api-public/services/monitor.js.map +1 -1
- package/src/api-public/services/notify.js.map +1 -1
- package/src/api-public/services/order-event.js.map +1 -1
- package/src/api-public/services/paynow-logistics.js.map +1 -1
- package/src/api-public/services/phone-verify.js.map +1 -1
- package/src/api-public/services/pos.js.map +1 -1
- package/src/api-public/services/post.js.map +1 -1
- package/src/api-public/services/product-initial.js.map +1 -1
- package/src/api-public/services/public-table-check.js.map +1 -1
- package/src/api-public/services/rebate.js.map +1 -1
- package/src/api-public/services/recommend.js.map +1 -1
- package/src/api-public/services/reconciliation.js.map +1 -1
- package/src/api-public/services/schedule.js.map +1 -1
- package/src/api-public/services/share-permission.d.ts +1 -1
- package/src/api-public/services/share-permission.js.map +1 -1
- package/src/api-public/services/shopee.d.ts +1 -0
- package/src/api-public/services/shopee.js.map +1 -1
- package/src/api-public/services/shopping.js +5 -9
- package/src/api-public/services/shopping.js.map +1 -1
- package/src/api-public/services/shopping.ts +4 -10
- package/src/api-public/services/sms-pointes.js.map +1 -1
- package/src/api-public/services/sms.js.map +1 -1
- package/src/api-public/services/stock.js.map +1 -1
- package/src/api-public/services/terms-check.js.map +1 -1
- package/src/api-public/services/updated-table-checked.js.map +1 -1
- package/src/api-public/services/user-update.js.map +1 -1
- package/src/api-public/services/user.d.ts +6 -1
- package/src/api-public/services/user.js +23 -16
- package/src/api-public/services/user.js.map +1 -1
- package/src/api-public/services/user.ts +100 -90
- package/src/api-public/services/voucher.js.map +1 -1
- package/src/api-public/services/wallet.js.map +1 -1
- package/src/api-public/services/workers.js.map +1 -1
- package/src/api-public/utils/ut-database.js.map +1 -1
- package/src/api-public/utils/ut-permission.d.ts +1 -0
- package/src/api-public/utils/ut-permission.js.map +1 -1
- package/src/app-project/serverless/src/controllers/index.js.map +1 -1
- package/src/app-project/serverless/src/controllers/sample.js.map +1 -1
- package/src/app-project/serverless/src/modules/database.d.ts +2 -1
- package/src/app-project/serverless/src/modules/database.js.map +1 -1
- package/src/app-project/serverless/src/modules/exception.js.map +1 -1
- package/src/app-project/serverless/src/modules/hooks.js.map +1 -1
- package/src/app-project/serverless/src/modules/logger.js.map +1 -1
- package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
- package/src/app-project/serverless/src/modules/redis.js.map +1 -1
- package/src/app-project/serverless/src/modules/response.js.map +1 -1
- package/src/app-project/serverless/src/modules/ssh.js.map +1 -1
- package/src/config.d.ts +1 -1
- package/src/config.js.map +1 -1
- package/src/controllers/ai.js.map +1 -1
- package/src/controllers/app.js.map +1 -1
- package/src/controllers/backend-server.js.map +1 -1
- package/src/controllers/filemanager.js.map +1 -1
- package/src/controllers/global-event.js.map +1 -1
- package/src/controllers/index.js.map +1 -1
- package/src/controllers/page.js.map +1 -1
- package/src/controllers/private_config.js.map +1 -1
- package/src/controllers/template.js.map +1 -1
- package/src/controllers/user.js.map +1 -1
- package/src/domain-check.js.map +1 -1
- package/src/export/export-test.js.map +1 -1
- package/src/firebase/message.js +2 -1
- package/src/firebase/message.js.map +1 -1
- package/src/helper/app_creater.js +2 -1
- package/src/helper/app_creater.js.map +1 -1
- package/src/helper/glitter-util.d.ts +1 -0
- package/src/helper/glitter-util.js.map +1 -1
- package/src/index.js +3 -3
- package/src/index.js.map +1 -1
- package/src/lambda/interface.d.ts +1 -1
- package/src/lambda/interface.js +2 -2
- package/src/lambda/interface.js.map +1 -1
- package/src/modules/AWSLib.js +3 -2
- package/src/modules/AWSLib.js.map +1 -1
- package/src/modules/caught-error.js +1 -3
- package/src/modules/caught-error.js.map +1 -1
- package/src/modules/caught-error.ts +1 -3
- package/src/modules/database.d.ts +2 -1
- package/src/modules/database.js.map +1 -1
- package/src/modules/exception.js.map +1 -1
- package/src/modules/firebase.js.map +1 -1
- package/src/modules/hooks.js.map +1 -1
- package/src/modules/logger.js.map +1 -1
- package/src/modules/redis.d.ts +1 -1
- package/src/modules/redis.js.map +1 -1
- package/src/modules/response.js.map +1 -1
- package/src/modules/ssh.js.map +1 -1
- package/src/modules/tool.d.ts +4 -4
- package/src/modules/tool.js +2 -1
- package/src/modules/tool.js.map +1 -1
- package/src/public-config-initial/auto-fcm.js.map +1 -1
- package/src/run.js +2 -1
- package/src/run.js.map +1 -1
- package/src/seo-config.d.ts +1 -0
- package/src/seo-config.js +3 -3
- package/src/seo-config.js.map +1 -1
- package/src/services/ai.js.map +1 -1
- package/src/services/app.js.map +1 -1
- package/src/services/backend-service.js.map +1 -1
- package/src/services/create-instance.js +4 -3
- package/src/services/create-instance.js.map +1 -1
- package/src/services/global-event.js.map +1 -1
- package/src/services/ios-release.js.map +1 -1
- package/src/services/page.js.map +1 -1
- package/src/services/private_config.js.map +1 -1
- package/src/services/release.js.map +1 -1
- package/src/services/saas-table-check.js +2 -2
- package/src/services/saas-table-check.js.map +1 -1
- package/src/services/seo.js.map +1 -1
- package/src/services/ses.js +2 -1
- package/src/services/ses.js.map +1 -1
- package/src/services/system-schedule.js.map +1 -1
- package/src/services/template.js.map +1 -1
- package/src/services/tool.js +3 -2
- package/src/services/tool.js.map +1 -1
- package/src/services/user.js.map +1 -1
- package/src/services/web-socket.js.map +1 -1
- package/src/update-progress-track.js.map +1 -1
- package/src/update-script.js.map +1 -1
- package/src/api-public/services/checkout-service.js +0 -1074
|
@@ -25,6 +25,7 @@ type ViewModel = {
|
|
|
25
25
|
id: string;
|
|
26
26
|
loading: boolean;
|
|
27
27
|
filterId: string;
|
|
28
|
+
tabLoading: boolean;
|
|
28
29
|
tableId: string;
|
|
29
30
|
barId: string;
|
|
30
31
|
progressId: string;
|
|
@@ -49,6 +50,12 @@ export class UserList {
|
|
|
49
50
|
page: 1,
|
|
50
51
|
};
|
|
51
52
|
|
|
53
|
+
static statusBadge: any = {
|
|
54
|
+
0: () => BgWidget.dangerInsignia('已停用'),
|
|
55
|
+
1: () => BgWidget.infoInsignia('啟用中'),
|
|
56
|
+
2: () => BgWidget.warningInsignia('觀察中'),
|
|
57
|
+
};
|
|
58
|
+
|
|
52
59
|
static main(
|
|
53
60
|
gvc: GVC,
|
|
54
61
|
obj?: {
|
|
@@ -63,6 +70,7 @@ export class UserList {
|
|
|
63
70
|
const vm: ViewModel = {
|
|
64
71
|
id: glitter.getUUID(),
|
|
65
72
|
loading: true,
|
|
73
|
+
tabLoading: true,
|
|
66
74
|
type: 'list',
|
|
67
75
|
data: {},
|
|
68
76
|
dataList: undefined,
|
|
@@ -70,7 +78,7 @@ export class UserList {
|
|
|
70
78
|
queryType: '',
|
|
71
79
|
orderString: '',
|
|
72
80
|
filter: {},
|
|
73
|
-
filter_type:
|
|
81
|
+
filter_type: 'normal',
|
|
74
82
|
filterId: glitter.getUUID(),
|
|
75
83
|
tableId: glitter.getUUID(),
|
|
76
84
|
barId: glitter.getUUID(),
|
|
@@ -161,13 +169,7 @@ export class UserList {
|
|
|
161
169
|
},
|
|
162
170
|
{
|
|
163
171
|
key: '用戶狀態',
|
|
164
|
-
value: (()
|
|
165
|
-
if (dd.status === 1) {
|
|
166
|
-
return html`<div class="badge bg-info fs-7" style="max-height:34px;">啟用中</div>`;
|
|
167
|
-
} else {
|
|
168
|
-
return html`<div class="badge bg-danger fs-7" style="max-height:34px;">已停用</div>`;
|
|
169
|
-
}
|
|
170
|
-
})(),
|
|
172
|
+
value: (UserList.statusBadge[dd.status] || UserList.statusBadge['1'])(),
|
|
171
173
|
},
|
|
172
174
|
].filter(item => {
|
|
173
175
|
if (!vm.headerConfig.includes(item.key)) {
|
|
@@ -287,6 +289,10 @@ export class UserList {
|
|
|
287
289
|
title: '一般列表',
|
|
288
290
|
key: 'normal',
|
|
289
291
|
},
|
|
292
|
+
{
|
|
293
|
+
title: '觀察名單',
|
|
294
|
+
key: 'watch',
|
|
295
|
+
},
|
|
290
296
|
{
|
|
291
297
|
title: '黑名單',
|
|
292
298
|
key: 'block',
|
|
@@ -301,6 +307,10 @@ export class UserList {
|
|
|
301
307
|
title: '一般列表',
|
|
302
308
|
key: 'normal',
|
|
303
309
|
},
|
|
310
|
+
{
|
|
311
|
+
title: '觀察名單',
|
|
312
|
+
key: 'watch',
|
|
313
|
+
},
|
|
304
314
|
{
|
|
305
315
|
title: '黑名單',
|
|
306
316
|
key: 'block',
|
|
@@ -309,8 +319,18 @@ export class UserList {
|
|
|
309
319
|
gvc,
|
|
310
320
|
vm.filter_type,
|
|
311
321
|
text => {
|
|
312
|
-
vm.
|
|
313
|
-
|
|
322
|
+
if (vm.tabLoading) {
|
|
323
|
+
BgWidget.jumpAlert({
|
|
324
|
+
gvc,
|
|
325
|
+
text: '系統繁忙中,請稍後重試',
|
|
326
|
+
justify: 'top',
|
|
327
|
+
align: 'center',
|
|
328
|
+
width: 240,
|
|
329
|
+
});
|
|
330
|
+
} else {
|
|
331
|
+
vm.filter_type = text as any;
|
|
332
|
+
gvc.notifyDataChange(vm.id);
|
|
333
|
+
}
|
|
314
334
|
}
|
|
315
335
|
)}
|
|
316
336
|
${BgWidget.container(
|
|
@@ -411,8 +431,10 @@ export class UserList {
|
|
|
411
431
|
gvc: gvc,
|
|
412
432
|
getData: vd => {
|
|
413
433
|
vmi = vd;
|
|
434
|
+
vm.tabLoading = true;
|
|
414
435
|
UserList.vm.page = vmi.page;
|
|
415
436
|
const limit = 20;
|
|
437
|
+
|
|
416
438
|
vm.apiJSON = {
|
|
417
439
|
page: vmi.page - 1,
|
|
418
440
|
limit: limit,
|
|
@@ -449,6 +471,7 @@ export class UserList {
|
|
|
449
471
|
}
|
|
450
472
|
|
|
451
473
|
vmi.loading = false;
|
|
474
|
+
vm.tabLoading = false;
|
|
452
475
|
vmi.callback();
|
|
453
476
|
});
|
|
454
477
|
},
|
|
@@ -542,10 +565,12 @@ export class UserList {
|
|
|
542
565
|
}
|
|
543
566
|
) {
|
|
544
567
|
const glitter = gvc.glitter;
|
|
568
|
+
const dialog = new ShareDialog(glitter);
|
|
545
569
|
|
|
546
570
|
const vm: ViewModel = {
|
|
547
571
|
id: glitter.getUUID(),
|
|
548
572
|
loading: true,
|
|
573
|
+
tabLoading: true,
|
|
549
574
|
type: 'list',
|
|
550
575
|
data: {},
|
|
551
576
|
dataList: undefined,
|
|
@@ -553,7 +578,7 @@ export class UserList {
|
|
|
553
578
|
queryType: '',
|
|
554
579
|
orderString: '',
|
|
555
580
|
filter: {},
|
|
556
|
-
filter_type:
|
|
581
|
+
filter_type: 'normal',
|
|
557
582
|
filterId: glitter.getUUID(),
|
|
558
583
|
tableId: glitter.getUUID(),
|
|
559
584
|
barId: glitter.getUUID(),
|
|
@@ -599,13 +624,7 @@ export class UserList {
|
|
|
599
624
|
},
|
|
600
625
|
{
|
|
601
626
|
key: '用戶狀態',
|
|
602
|
-
value: (()
|
|
603
|
-
if (dd.status === 1) {
|
|
604
|
-
return html`<div class="badge bg-info fs-7" style="max-height:34px;">啟用中</div>`;
|
|
605
|
-
} else {
|
|
606
|
-
return html`<div class="badge bg-danger fs-7" style="max-height:34px;">已停用</div>`;
|
|
607
|
-
}
|
|
608
|
-
})(),
|
|
627
|
+
value: (UserList.statusBadge[dd.status] || UserList.statusBadge['1'])(),
|
|
609
628
|
},
|
|
610
629
|
];
|
|
611
630
|
});
|
|
@@ -696,7 +715,6 @@ export class UserList {
|
|
|
696
715
|
{
|
|
697
716
|
name: '批量移除',
|
|
698
717
|
event: checkedData => {
|
|
699
|
-
const dialog = new ShareDialog(gvc.glitter);
|
|
700
718
|
dialog.checkYesOrNot({
|
|
701
719
|
text: '是否確認刪除所選項目?',
|
|
702
720
|
callback: response => {
|
|
@@ -855,6 +873,7 @@ export class UserList {
|
|
|
855
873
|
type: 'list',
|
|
856
874
|
plan: GlobalUser.getPlan().id,
|
|
857
875
|
};
|
|
876
|
+
const dialog = new ShareDialog(gvc.glitter);
|
|
858
877
|
|
|
859
878
|
function regetData() {
|
|
860
879
|
ApiUser.getPublicUserData(cf.userID).then(dd => {
|
|
@@ -980,7 +999,6 @@ export class UserList {
|
|
|
980
999
|
${BgWidget.grayButton(
|
|
981
1000
|
'刪除顧客',
|
|
982
1001
|
gvc.event(() => {
|
|
983
|
-
const dialog = new ShareDialog(gvc.glitter);
|
|
984
1002
|
dialog.warningMessage({
|
|
985
1003
|
text: '您即將刪除此顧客的所有資料,此操作無法復原。確定要刪除嗎?',
|
|
986
1004
|
callback: response => {
|
|
@@ -997,29 +1015,77 @@ export class UserList {
|
|
|
997
1015
|
})
|
|
998
1016
|
)}
|
|
999
1017
|
${BgWidget.grayButton(
|
|
1000
|
-
|
|
1018
|
+
'調整顧客狀態',
|
|
1001
1019
|
gvc.event(() => {
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1020
|
+
BgWidget.dialog({
|
|
1021
|
+
gvc,
|
|
1022
|
+
title: '調整顧客狀態',
|
|
1023
|
+
innerHTML: gvc => {
|
|
1024
|
+
return html`
|
|
1025
|
+
<div>
|
|
1026
|
+
<div class="tx_700 mb-2">將此顧客狀態修改成:</div>
|
|
1027
|
+
<div class="d-flex gap-2 ${document.body.clientWidth > 768 ? '' : 'flex-column'}">
|
|
1028
|
+
${[
|
|
1029
|
+
{ title: '一般會員', value: 'normal' },
|
|
1030
|
+
{ title: '觀察名單', value: 'watch' },
|
|
1031
|
+
{ title: '黑名單', value: 'block' },
|
|
1032
|
+
]
|
|
1033
|
+
.filter(item => {
|
|
1034
|
+
return [
|
|
1035
|
+
vm.data.status === 0 && item.value === 'block',
|
|
1036
|
+
vm.data.status === 1 && item.value === 'normal',
|
|
1037
|
+
vm.data.status === 2 && item.value === 'watch',
|
|
1038
|
+
].every(bool => !bool);
|
|
1039
|
+
})
|
|
1040
|
+
.map(item => {
|
|
1041
|
+
return BgWidget.customButton({
|
|
1042
|
+
button: {
|
|
1043
|
+
color: 'snow',
|
|
1044
|
+
size: 'md',
|
|
1045
|
+
class: 'w-100',
|
|
1046
|
+
style: 'min-height: 60px;',
|
|
1047
|
+
},
|
|
1048
|
+
text: {
|
|
1049
|
+
name: item.title,
|
|
1050
|
+
},
|
|
1051
|
+
event: gvc.event(() => {
|
|
1052
|
+
try {
|
|
1053
|
+
gvc.closeDialog();
|
|
1054
|
+
|
|
1055
|
+
function call() {
|
|
1056
|
+
dialog.dataLoading({ text: '更新中', visible: true });
|
|
1057
|
+
vm.data.userData.type = item.value;
|
|
1058
|
+
ApiUser.updateUserDataManager(vm.data, vm.data.userID).then(response => {
|
|
1059
|
+
dialog.dataLoading({ text: '', visible: false });
|
|
1060
|
+
if (response.result) {
|
|
1061
|
+
regetData();
|
|
1062
|
+
dialog.successMessage({ text: '更新成功' });
|
|
1063
|
+
vm.loading = true;
|
|
1064
|
+
gvc.notifyDataChange(vm.id);
|
|
1065
|
+
} else {
|
|
1066
|
+
dialog.errorMessage({ text: '更新異常' });
|
|
1067
|
+
}
|
|
1068
|
+
});
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
if (item.value === 'block') {
|
|
1072
|
+
dialog.warningMessage({
|
|
1073
|
+
text: '加入黑名單之後,<br/>此顧客將無法再進行登入、購買及使用其他功能。<br/>確定要加入黑名單嗎?',
|
|
1074
|
+
callback: response => response && call(),
|
|
1075
|
+
});
|
|
1076
|
+
} else {
|
|
1077
|
+
call();
|
|
1078
|
+
}
|
|
1079
|
+
} catch (error) {
|
|
1080
|
+
console.error(error);
|
|
1081
|
+
}
|
|
1082
|
+
}),
|
|
1083
|
+
});
|
|
1084
|
+
})
|
|
1085
|
+
.join('')}
|
|
1086
|
+
</div>
|
|
1087
|
+
</div>
|
|
1088
|
+
`;
|
|
1023
1089
|
},
|
|
1024
1090
|
});
|
|
1025
1091
|
})
|
|
@@ -1109,7 +1175,7 @@ export class UserList {
|
|
|
1109
1175
|
${BgWidget.editeInput({
|
|
1110
1176
|
gvc,
|
|
1111
1177
|
title: '',
|
|
1112
|
-
default: referObj[item.key] || ''
|
|
1178
|
+
default: `${referObj[item.key] || ''}`,
|
|
1113
1179
|
placeHolder: `請輸入${item.title}`,
|
|
1114
1180
|
callback: text => {
|
|
1115
1181
|
referObj[item.key] = text;
|
|
@@ -1349,9 +1415,7 @@ export class UserList {
|
|
|
1349
1415
|
return [
|
|
1350
1416
|
[
|
|
1351
1417
|
html`<div class="tx_700">會員等級</div>`,
|
|
1352
|
-
|
|
1353
|
-
${vm.data.member_level.tag_name}
|
|
1354
|
-
</div>`,
|
|
1418
|
+
BgWidget.secondaryInsignia(vm.data.member_level.tag_name),
|
|
1355
1419
|
].join(BgWidget.mbContainer(12)),
|
|
1356
1420
|
[
|
|
1357
1421
|
html`
|
|
@@ -1588,17 +1652,15 @@ export class UserList {
|
|
|
1588
1652
|
? html`<div
|
|
1589
1653
|
style="font-size: 32px; font-weight: 400; color: #393939;"
|
|
1590
1654
|
>
|
|
1591
|
-
|
|
1655
|
+
$${formatNum(totalPrice)}
|
|
1592
1656
|
</div>`
|
|
1593
1657
|
: '尚無消費紀錄'
|
|
1594
1658
|
),
|
|
1595
1659
|
renderInfoBlock(
|
|
1596
1660
|
'累計消費次數',
|
|
1597
|
-
`<div
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
${formatNum(totalOrders)}次
|
|
1601
|
-
</div>`
|
|
1661
|
+
html`<div style="font-size: 32px; font-weight: 400; color: #393939;">
|
|
1662
|
+
${formatNum(totalOrders)}次
|
|
1663
|
+
</div>`
|
|
1602
1664
|
),
|
|
1603
1665
|
renderInfoBlock(
|
|
1604
1666
|
'最後消費金額',
|
|
@@ -1606,7 +1668,7 @@ export class UserList {
|
|
|
1606
1668
|
? html`<div
|
|
1607
1669
|
style="font-size: 32px; font-weight: 400; color: #393939;"
|
|
1608
1670
|
>
|
|
1609
|
-
|
|
1671
|
+
$${formatNum(firstData.orderData.total)}
|
|
1610
1672
|
</div>`
|
|
1611
1673
|
: '尚無消費紀錄'
|
|
1612
1674
|
),
|
|
@@ -1728,7 +1790,6 @@ export class UserList {
|
|
|
1728
1790
|
gvc: gvc,
|
|
1729
1791
|
saveButton: {
|
|
1730
1792
|
event: obj => {
|
|
1731
|
-
const dialog = new ShareDialog(gvc.glitter);
|
|
1732
1793
|
dialog.dataLoading({
|
|
1733
1794
|
text: '發送中...',
|
|
1734
1795
|
visible: true,
|
|
@@ -1832,24 +1893,26 @@ export class UserList {
|
|
|
1832
1893
|
return {
|
|
1833
1894
|
bind: id,
|
|
1834
1895
|
view: () => {
|
|
1835
|
-
return new Promise(async
|
|
1896
|
+
return new Promise(async resolve => {
|
|
1836
1897
|
await saasConfig.api.getPrivateConfig(
|
|
1837
1898
|
saasConfig.config.appName,
|
|
1838
1899
|
'glitterUserForm'
|
|
1839
1900
|
);
|
|
1840
1901
|
|
|
1841
|
-
|
|
1842
|
-
|
|
1902
|
+
const textList = [
|
|
1903
|
+
html`<div class="gray-bottom-line-18">
|
|
1904
|
+
<div class="tx_700">會員狀態</div>
|
|
1905
|
+
<div style="margin-top: 12px">${UserList.statusBadge[vm.data.status]()}</div>
|
|
1906
|
+
</div>`,
|
|
1907
|
+
vm.plan > 1
|
|
1843
1908
|
? html`<div class="gray-bottom-line-18">
|
|
1844
1909
|
<div class="tx_700">會員等級</div>
|
|
1845
1910
|
<div style="margin-top: 12px">
|
|
1846
|
-
|
|
1847
|
-
${vm.data.member_level.tag_name}
|
|
1848
|
-
</div>
|
|
1911
|
+
${BgWidget.secondaryInsignia(vm.data.member_level.tag_name)}
|
|
1849
1912
|
</div>
|
|
1850
1913
|
</div>`
|
|
1851
|
-
: ''
|
|
1852
|
-
|
|
1914
|
+
: '',
|
|
1915
|
+
html`<div class="gray-bottom-line-18">
|
|
1853
1916
|
<div class="tx_700">會員標籤</div>
|
|
1854
1917
|
<div
|
|
1855
1918
|
style="display: flex; gap: 12px; margin-top: 12px; flex-direction: row; flex-wrap: wrap;"
|
|
@@ -1860,8 +1923,8 @@ export class UserList {
|
|
|
1860
1923
|
.join('')
|
|
1861
1924
|
: '無標籤'}
|
|
1862
1925
|
</div>
|
|
1863
|
-
</div
|
|
1864
|
-
|
|
1926
|
+
</div>`,
|
|
1927
|
+
vm.plan > 0
|
|
1865
1928
|
? html` <div class="">
|
|
1866
1929
|
<div class="tx_700 mb-3">社群綁定</div>
|
|
1867
1930
|
${[
|
|
@@ -1910,10 +1973,13 @@ export class UserList {
|
|
|
1910
1973
|
})
|
|
1911
1974
|
.join(`<div class="my-3"></div>`)}
|
|
1912
1975
|
</div>`
|
|
1913
|
-
: ''
|
|
1914
|
-
|
|
1976
|
+
: '',
|
|
1977
|
+
];
|
|
1978
|
+
|
|
1915
1979
|
resolve(
|
|
1916
|
-
html` <div style="display:flex; gap: 18px; flex-direction: column;"
|
|
1980
|
+
html` <div style="display:flex; gap: 18px; flex-direction: column;">
|
|
1981
|
+
${textList.filter(Boolean).join('')}
|
|
1982
|
+
</div>`
|
|
1917
1983
|
);
|
|
1918
1984
|
});
|
|
1919
1985
|
},
|
|
@@ -1944,7 +2010,6 @@ export class UserList {
|
|
|
1944
2010
|
}
|
|
1945
2011
|
});
|
|
1946
2012
|
|
|
1947
|
-
const dialog = new ShareDialog(gvc.glitter);
|
|
1948
2013
|
dialog.dataLoading({ text: '更新中', visible: true });
|
|
1949
2014
|
ApiUser.updateUserDataManager(vm.data, vm.data.userID).then(response => {
|
|
1950
2015
|
dialog.dataLoading({ text: '', visible: false });
|
|
@@ -1971,6 +2036,7 @@ export class UserList {
|
|
|
1971
2036
|
|
|
1972
2037
|
static createUser(gvc: GVC, vm: any) {
|
|
1973
2038
|
const viewID = gvc.glitter.getUUID();
|
|
2039
|
+
const dialog = new ShareDialog(gvc.glitter);
|
|
1974
2040
|
const saasConfig: { config: any; api: any } = (window.parent as any).saasConfig;
|
|
1975
2041
|
let userData: any = vm.initial_data || {
|
|
1976
2042
|
name: '',
|
|
@@ -2115,8 +2181,6 @@ export class UserList {
|
|
|
2115
2181
|
)}
|
|
2116
2182
|
${BgWidget.save(
|
|
2117
2183
|
gvc.event(async () => {
|
|
2118
|
-
const dialog = new ShareDialog(gvc.glitter);
|
|
2119
|
-
|
|
2120
2184
|
if (CheckInput.isEmpty(userData.name)) {
|
|
2121
2185
|
dialog.infoMessage({ text: '請輸入顧客姓名' });
|
|
2122
2186
|
return;
|
|
@@ -2191,6 +2255,7 @@ export class UserList {
|
|
|
2191
2255
|
checkedData: [],
|
|
2192
2256
|
};
|
|
2193
2257
|
let vmi: any = undefined;
|
|
2258
|
+
const dialog = new ShareDialog(gvc.glitter);
|
|
2194
2259
|
|
|
2195
2260
|
function getDatalist() {
|
|
2196
2261
|
return vm.dataList.map((dd: any) => {
|
|
@@ -2210,13 +2275,7 @@ export class UserList {
|
|
|
2210
2275
|
|
|
2211
2276
|
{
|
|
2212
2277
|
key: '用戶狀態',
|
|
2213
|
-
value: (()
|
|
2214
|
-
if (dd.status === 1) {
|
|
2215
|
-
return html` <div class="badge bg-info fs-7" style="max-height:34px;">啟用中</div>`;
|
|
2216
|
-
} else {
|
|
2217
|
-
return html` <div class="badge bg-danger fs-7" style="max-height:34px;">已停用</div>`;
|
|
2218
|
-
}
|
|
2219
|
-
})(),
|
|
2278
|
+
value: (UserList.statusBadge[dd.status] || UserList.statusBadge['1'])(),
|
|
2220
2279
|
},
|
|
2221
2280
|
];
|
|
2222
2281
|
});
|
|
@@ -2289,7 +2348,6 @@ export class UserList {
|
|
|
2289
2348
|
{
|
|
2290
2349
|
name: '批量移除',
|
|
2291
2350
|
event: checkedData => {
|
|
2292
|
-
const dialog = new ShareDialog(gvc.glitter);
|
|
2293
2351
|
dialog.checkYesOrNot({
|
|
2294
2352
|
text: '是否確認刪除所選項目?',
|
|
2295
2353
|
callback: response => {
|