ts-glitter 21.0.4 → 21.0.5
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/lowcode/Entry.js +1 -1
- package/lowcode/Entry.ts +1 -1
- package/lowcode/backend-manager/bg-blog.js +22 -37
- package/lowcode/backend-manager/bg-blog.ts +45 -34
- package/lowcode/backend-manager/bg-list-component.js +2 -2
- package/lowcode/backend-manager/bg-list-component.ts +2 -2
- package/lowcode/backend-manager/bg-widget.js +21 -0
- package/lowcode/backend-manager/bg-widget.ts +21 -0
- package/lowcode/cms-plugin/filter-options.js +3 -3
- package/lowcode/cms-plugin/filter-options.ts +1 -1
- package/lowcode/cms-plugin/shopping-finance-setting.js +251 -6
- package/lowcode/cms-plugin/shopping-finance-setting.ts +291 -6
- package/lowcode/cms-plugin/shopping-order-manager.js +56 -46
- package/lowcode/cms-plugin/shopping-order-manager.ts +59 -47
- package/lowcode/cms-plugin/shopping-product-setting.js +10 -5
- package/lowcode/cms-plugin/shopping-product-setting.ts +14 -6
- package/lowcode/cms-plugin/shopping-setting-advance.js +21 -72
- package/lowcode/cms-plugin/shopping-setting-advance.ts +31 -98
- package/lowcode/css/editor.css +48 -16
- package/lowcode/css/front-end.css +16 -17
- package/lowcode/glitter-base/global/language.js +2 -0
- package/lowcode/glitter-base/global/language.ts +3 -0
- package/lowcode/glitter-base/global/shipment-config.js +4 -4
- package/lowcode/glitter-base/global/shipment-config.ts +1 -1
- package/lowcode/glitter-base/route/shopping.js +11 -0
- package/lowcode/glitter-base/route/shopping.ts +12 -0
- package/lowcode/official_view_component/form-widget/input-custom.js +0 -1
- package/lowcode/official_view_component/form-widget/input-custom.ts +0 -1
- package/lowcode/public-components/checkout/index.js +578 -780
- package/lowcode/public-components/checkout/index.ts +2457 -2652
- package/lowcode/public-components/headers/header-class.js +252 -324
- package/lowcode/public-components/headers/header-class.ts +389 -480
- package/lowcode/public-components/modules/cart-module.js +433 -0
- package/lowcode/public-components/modules/cart-module.ts +491 -0
- package/lowcode/public-components/modules/product-module.js +45 -0
- package/lowcode/public-components/modules/product-module.ts +58 -0
- package/lowcode/public-components/product/product-detail.js +178 -184
- package/lowcode/public-components/product/product-detail.ts +564 -579
- package/lowcode/public-components/user-manager/um-order.js +162 -32
- package/lowcode/public-components/user-manager/um-order.ts +181 -46
- package/lowcode/public-models/product.ts +1 -0
- package/package.json +1 -1
- package/src/Language.js +1 -0
- package/src/Language.js.map +1 -1
- package/src/Language.ts +3 -0
- package/src/api-public/controllers/article.js +33 -29
- package/src/api-public/controllers/article.js.map +1 -1
- package/src/api-public/controllers/article.ts +152 -146
- package/src/api-public/controllers/index.js +2 -0
- package/src/api-public/controllers/index.js.map +1 -1
- package/src/api-public/controllers/index.ts +2 -0
- package/src/api-public/controllers/shop.js +125 -47
- package/src/api-public/controllers/shop.js.map +1 -1
- package/src/api-public/controllers/shop.ts +148 -61
- package/src/api-public/controllers/user.js +51 -52
- package/src/api-public/controllers/user.js.map +1 -1
- package/src/api-public/controllers/user.ts +63 -52
- package/src/api-public/models/glitter-finance.js +2 -1
- package/src/api-public/models/glitter-finance.js.map +5 -1
- package/src/api-public/services/checkout-event.d.ts +1 -0
- package/src/api-public/services/checkout-event.js +18 -10
- package/src/api-public/services/checkout-event.js.map +1 -1
- package/src/api-public/services/checkout-event.ts +18 -7
- package/src/api-public/services/factories/payment-strategy-factory.d.ts +6 -0
- package/src/api-public/services/factories/payment-strategy-factory.js +49 -0
- package/src/api-public/services/factories/payment-strategy-factory.js.map +1 -0
- package/src/api-public/services/factories/payment-strategy-factory.ts +71 -0
- 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/financial-service.d.ts +2 -1
- package/src/api-public/services/financial-service.js +48 -53
- package/src/api-public/services/financial-service.js.map +1 -1
- package/src/api-public/services/financial-service.ts +29 -38
- package/src/api-public/services/financial-serviceV2.d.ts +298 -0
- package/src/api-public/services/financial-serviceV2.js +1158 -0
- package/src/api-public/services/financial-serviceV2.js.map +1 -0
- package/src/api-public/services/financial-serviceV2.ts +1518 -0
- package/src/api-public/services/interface/payment-keys-interface.d.ts +37 -0
- package/src/api-public/services/interface/payment-keys-interface.js +3 -0
- package/src/api-public/services/interface/payment-keys-interface.js.map +1 -0
- package/src/api-public/services/interface/payment-keys-interface.ts +46 -0
- package/src/api-public/services/interface/payment-strategy-interface.d.ts +17 -0
- package/src/api-public/services/interface/payment-strategy-interface.js +3 -0
- package/src/api-public/services/interface/payment-strategy-interface.js.map +1 -0
- package/src/api-public/services/interface/payment-strategy-interface.ts +48 -0
- package/src/api-public/services/migrate-event/public-user-config.d.ts +5 -0
- package/src/api-public/services/migrate-event/public-user-config.js +81 -0
- package/src/api-public/services/migrate-event/public-user-config.js.map +1 -0
- package/src/api-public/services/migrate-event/public-user-config.ts +106 -0
- package/src/api-public/services/model/handlePaymentTransaction.js +0 -68
- package/src/api-public/services/model/handlePaymentTransaction.js.map +1 -1
- package/src/api-public/services/model/handlePaymentTransaction.ts +62 -54
- package/src/api-public/services/monitor.d.ts +1 -0
- package/src/api-public/services/payment-service.d.ts +12 -0
- package/src/api-public/services/payment-service.js +83 -0
- package/src/api-public/services/payment-service.js.map +1 -0
- package/src/api-public/services/payment-service.ts +112 -0
- package/src/api-public/services/shopping.d.ts +2 -1
- package/src/api-public/services/shopping.js +60 -23
- package/src/api-public/services/shopping.js.map +1 -1
- package/src/api-public/services/shopping.ts +88 -16
- package/src/api-public/services/strategies/ecpay-strategy.d.ts +8 -0
- package/src/api-public/services/strategies/ecpay-strategy.js +26 -0
- package/src/api-public/services/strategies/ecpay-strategy.js.map +1 -0
- package/src/api-public/services/strategies/ecpay-strategy.ts +30 -0
- package/src/api-public/services/strategies/ezpay-strategy.d.ts +8 -0
- package/src/api-public/services/strategies/ezpay-strategy.js +26 -0
- package/src/api-public/services/strategies/ezpay-strategy.js.map +1 -0
- package/src/api-public/services/strategies/ezpay-strategy.ts +31 -0
- package/src/api-public/services/strategies/jkopay-strategy.d.ts +8 -0
- package/src/api-public/services/strategies/jkopay-strategy.js +32 -0
- package/src/api-public/services/strategies/jkopay-strategy.js.map +1 -0
- package/src/api-public/services/strategies/jkopay-strategy.ts +36 -0
- package/src/api-public/services/strategies/linepay-strategy.d.ts +8 -0
- package/src/api-public/services/strategies/linepay-strategy.js +32 -0
- package/src/api-public/services/strategies/linepay-strategy.js.map +1 -0
- package/src/api-public/services/strategies/linepay-strategy.ts +35 -0
- package/src/api-public/services/strategies/paynow-strategy.d.ts +8 -0
- package/src/api-public/services/strategies/paynow-strategy.js +26 -0
- package/src/api-public/services/strategies/paynow-strategy.js.map +1 -0
- package/src/api-public/services/strategies/paynow-strategy.ts +29 -0
- package/src/api-public/services/strategies/paypal-strategy.d.ts +8 -0
- package/src/api-public/services/strategies/paypal-strategy.js +28 -0
- package/src/api-public/services/strategies/paypal-strategy.js.map +1 -0
- package/src/api-public/services/strategies/paypal-strategy.ts +31 -0
- package/src/api-public/services/updated-table-checked.d.ts +1 -0
- package/src/api-public/services/updated-table-checked.js +37 -15
- package/src/api-public/services/updated-table-checked.js.map +1 -1
- package/src/api-public/services/updated-table-checked.ts +56 -36
- package/src/api-public/utils/ut-permission.d.ts +1 -0
- package/src/app-project/serverless/src/index.js +17 -7
- package/src/app-project/serverless/src/index.js.map +1 -1
- package/src/app-project/serverless/src/modules/CryptoJS.js +17 -7
- package/src/app-project/serverless/src/modules/CryptoJS.js.map +1 -1
- package/src/app-project/serverless/src/modules/ssh.js +17 -7
- package/src/app-project/serverless/src/modules/ssh.js.map +1 -1
- package/src/config.d.ts +1 -1
- package/src/modules/AWSLib.js +3 -2
- package/src/modules/AWSLib.js.map +1 -1
- package/src/modules/CryptoJS.js +17 -7
- package/src/modules/CryptoJS.js.map +1 -1
- package/src/modules/database.d.ts +1 -1
- package/src/modules/redis.d.ts +1 -1
- package/src/modules/ssh.js +17 -7
- 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/run.js +2 -1
- package/src/run.js.map +1 -1
- package/src/services/create-instance.js +4 -3
- package/src/services/create-instance.js.map +1 -1
- package/src/services/saas-table-check.js +2 -2
- package/src/services/saas-table-check.js.map +5 -1
- package/src/services/tool.js +3 -2
- package/src/services/tool.js.map +1 -1
- package/vp00rqhw1r.json +1 -0
- package/src/api-public/services/product-migrate.d.ts +0 -8
- package/src/api-public/services/product-migrate.js.map +0 -1
|
@@ -331,24 +331,30 @@ export class ShoppingOrderManager {
|
|
|
331
331
|
})
|
|
332
332
|
.flat()),
|
|
333
333
|
];
|
|
334
|
+
function cartTokenComponent(cart_token, source_badge, is_watch_user) {
|
|
335
|
+
return html `<div style="min-width:200px;">
|
|
336
|
+
<div style="position: relative; height: 40px;">
|
|
337
|
+
<div
|
|
338
|
+
style="position: absolute; bottom: 9px; height: 9px; width: 127px; ${is_watch_user
|
|
339
|
+
? 'background-color: #ffe9b2'
|
|
340
|
+
: ''}"
|
|
341
|
+
></div>
|
|
342
|
+
<span style="position: absolute; bottom: 0;">${cart_token}${source_badge}</span>
|
|
343
|
+
</div>
|
|
344
|
+
</div>`;
|
|
345
|
+
}
|
|
334
346
|
return data.response.data.map((dd) => {
|
|
335
347
|
var _a;
|
|
336
348
|
const vt = OrderSetting.getAllStatusBadge(dd);
|
|
337
349
|
dd.orderData.total = dd.orderData.total || 0;
|
|
338
350
|
dd.orderData.customer_info = (_a = dd.orderData.customer_info) !== null && _a !== void 0 ? _a : {};
|
|
339
351
|
const isWatchUser = watchUsers.includes(dd.orderData.email);
|
|
340
|
-
const backgroundColor = isWatchUser ? `background-color: #ffe9b2` : '';
|
|
341
352
|
const tooltipText = isWatchUser ? '此份訂單的顧客為觀察名單' : '';
|
|
342
353
|
if (query.isShipment) {
|
|
343
354
|
return [
|
|
344
355
|
{
|
|
345
356
|
key: '訂單編號',
|
|
346
|
-
value:
|
|
347
|
-
class="d-flex align-items-center gap-2"
|
|
348
|
-
style="min-width: 200px; ${backgroundColor}"
|
|
349
|
-
>
|
|
350
|
-
${dd.cart_token}${vt.sourceBadge()}
|
|
351
|
-
</div>`,
|
|
357
|
+
value: cartTokenComponent(dd.cart_token, vt.sourceBadge(), isWatchUser),
|
|
352
358
|
tooltip: tooltipText,
|
|
353
359
|
},
|
|
354
360
|
{
|
|
@@ -378,12 +384,7 @@ export class ShoppingOrderManager {
|
|
|
378
384
|
return [
|
|
379
385
|
{
|
|
380
386
|
key: '訂單編號',
|
|
381
|
-
value:
|
|
382
|
-
class="d-flex align-items-center gap-2"
|
|
383
|
-
style="min-width: 200px; ${backgroundColor}"
|
|
384
|
-
>
|
|
385
|
-
${dd.cart_token}${vt.sourceBadge()}
|
|
386
|
-
</div>`,
|
|
387
|
+
value: cartTokenComponent(dd.cart_token, vt.sourceBadge(), isWatchUser),
|
|
387
388
|
tooltip: tooltipText,
|
|
388
389
|
},
|
|
389
390
|
{
|
|
@@ -1541,12 +1542,13 @@ export class ShoppingOrderManager {
|
|
|
1541
1542
|
['姓名', 'name'],
|
|
1542
1543
|
['電話', 'phone'],
|
|
1543
1544
|
['信箱', 'email'],
|
|
1545
|
+
['縣市', 'city'],
|
|
1546
|
+
['鄉鎮', 'area'],
|
|
1547
|
+
['地址', 'address'],
|
|
1544
1548
|
];
|
|
1545
1549
|
const receipt = (yield ApiUser.getPublicConfig('custom_form_checkout_recipient', 'manager')).response.value;
|
|
1546
1550
|
receipt.list.map((d1) => {
|
|
1547
|
-
if (!viewModel.find(dd => {
|
|
1548
|
-
return dd[1] === d1.key;
|
|
1549
|
-
})) {
|
|
1551
|
+
if (!viewModel.find(dd => dd[1] === d1.key)) {
|
|
1550
1552
|
viewModel.push([d1.title, d1.key]);
|
|
1551
1553
|
}
|
|
1552
1554
|
});
|
|
@@ -2603,7 +2605,7 @@ export class ShoppingOrderManager {
|
|
|
2603
2605
|
html ` <div class="d-flex flex-column" style="gap:8px;">
|
|
2604
2606
|
<div
|
|
2605
2607
|
class="d-flex align-items-center"
|
|
2606
|
-
style="
|
|
2608
|
+
style="gap: 8px; cursor: pointer;"
|
|
2607
2609
|
onclick="${gvc.event(() => {
|
|
2608
2610
|
if (userData.userID) {
|
|
2609
2611
|
child_vm.userID = userData.userID;
|
|
@@ -2611,31 +2613,44 @@ export class ShoppingOrderManager {
|
|
|
2611
2613
|
}
|
|
2612
2614
|
})}"
|
|
2613
2615
|
>
|
|
2614
|
-
${
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2616
|
+
${[
|
|
2617
|
+
(() => {
|
|
2618
|
+
var _a;
|
|
2619
|
+
const name = (_a = userData === null || userData === void 0 ? void 0 : userData.userData) === null || _a === void 0 ? void 0 : _a.name;
|
|
2620
|
+
if (name) {
|
|
2621
|
+
return html `<span style="font-weight: 500; color: #4D86DB;">${name}</span>`;
|
|
2622
|
+
}
|
|
2623
|
+
return html `<span style="font-weight: normal; color: #393939;">訪客</span>`;
|
|
2624
|
+
})(),
|
|
2625
|
+
(() => {
|
|
2626
|
+
if (userData.status === 0) {
|
|
2627
|
+
return '';
|
|
2628
|
+
}
|
|
2629
|
+
if (userDataLoading) {
|
|
2630
|
+
return BgWidget.grayInsignia('讀取中');
|
|
2631
|
+
}
|
|
2632
|
+
if (userData.member === undefined) {
|
|
2633
|
+
return BgWidget.grayInsignia('訪客');
|
|
2634
|
+
}
|
|
2635
|
+
if ((userData === null || userData === void 0 ? void 0 : userData.member.length) > 0) {
|
|
2636
|
+
for (let i = 0; i < userData.member.length; i++) {
|
|
2637
|
+
if (userData.member[i].trigger) {
|
|
2638
|
+
return BgWidget.darkInsignia(userData.member[i].tag_name);
|
|
2639
|
+
}
|
|
2633
2640
|
}
|
|
2634
2641
|
}
|
|
2635
|
-
return BgWidget.
|
|
2636
|
-
}
|
|
2637
|
-
|
|
2638
|
-
|
|
2642
|
+
return BgWidget.darkInsignia('一般會員');
|
|
2643
|
+
})(),
|
|
2644
|
+
(() => {
|
|
2645
|
+
if (userData.status === 0) {
|
|
2646
|
+
return BgWidget.dangerInsignia('黑名單');
|
|
2647
|
+
}
|
|
2648
|
+
if (userData.status === 2) {
|
|
2649
|
+
return BgWidget.watchingInsignia('觀察名單');
|
|
2650
|
+
}
|
|
2651
|
+
return '';
|
|
2652
|
+
})(),
|
|
2653
|
+
].join('')}
|
|
2639
2654
|
</div>
|
|
2640
2655
|
<div style="color: #393939;font-weight: 400;">
|
|
2641
2656
|
${(_h = (_g = (_f = userData === null || userData === void 0 ? void 0 : userData.userData) === null || _f === void 0 ? void 0 : _f.phone) !== null && _g !== void 0 ? _g : orderData.orderData.user_info.phone) !== null && _h !== void 0 ? _h : '此會員未填手機'}
|
|
@@ -2643,9 +2658,6 @@ export class ShoppingOrderManager {
|
|
|
2643
2658
|
<div style="color: #393939;font-weight: 400;word-break:break-all;">
|
|
2644
2659
|
${(_l = (_k = (_j = userData === null || userData === void 0 ? void 0 : userData.userData) === null || _j === void 0 ? void 0 : _j.email) !== null && _k !== void 0 ? _k : orderData.orderData.user_info.email) !== null && _l !== void 0 ? _l : ''}
|
|
2645
2660
|
</div>
|
|
2646
|
-
<div style="color: #393939;font-weight: 700;">
|
|
2647
|
-
${userData.status === 2 ? '* 此顧客列為觀察名單' : ''}
|
|
2648
|
-
</div>
|
|
2649
2661
|
</div>`,
|
|
2650
2662
|
BgWidget.horizontalLine(),
|
|
2651
2663
|
gvc.bindView({
|
|
@@ -2744,9 +2756,7 @@ export class ShoppingOrderManager {
|
|
|
2744
2756
|
orderData.orderData.user_info.area,
|
|
2745
2757
|
orderData.orderData.user_info.address,
|
|
2746
2758
|
]
|
|
2747
|
-
.filter(
|
|
2748
|
-
return dd;
|
|
2749
|
-
})
|
|
2759
|
+
.filter(Boolean)
|
|
2750
2760
|
.join('')}
|
|
2751
2761
|
</div>`);
|
|
2752
2762
|
}
|
|
@@ -402,25 +402,32 @@ export class ShoppingOrderManager {
|
|
|
402
402
|
),
|
|
403
403
|
];
|
|
404
404
|
|
|
405
|
+
function cartTokenComponent(cart_token: any, source_badge: string, is_watch_user: boolean) {
|
|
406
|
+
return html`<div style="min-width:200px;">
|
|
407
|
+
<div style="position: relative; height: 40px;">
|
|
408
|
+
<div
|
|
409
|
+
style="position: absolute; bottom: 9px; height: 9px; width: 127px; ${is_watch_user
|
|
410
|
+
? 'background-color: #ffe9b2'
|
|
411
|
+
: ''}"
|
|
412
|
+
></div>
|
|
413
|
+
<span style="position: absolute; bottom: 0;">${cart_token}${source_badge}</span>
|
|
414
|
+
</div>
|
|
415
|
+
</div>`;
|
|
416
|
+
}
|
|
417
|
+
|
|
405
418
|
return data.response.data.map((dd: any) => {
|
|
406
419
|
const vt = OrderSetting.getAllStatusBadge(dd);
|
|
407
420
|
dd.orderData.total = dd.orderData.total || 0;
|
|
408
421
|
dd.orderData.customer_info = dd.orderData.customer_info ?? {};
|
|
409
422
|
|
|
410
423
|
const isWatchUser = watchUsers.includes(dd.orderData.email);
|
|
411
|
-
const backgroundColor = isWatchUser ? `background-color: #ffe9b2` : '';
|
|
412
424
|
const tooltipText = isWatchUser ? '此份訂單的顧客為觀察名單' : '';
|
|
413
425
|
|
|
414
426
|
if (query.isShipment) {
|
|
415
427
|
return [
|
|
416
428
|
{
|
|
417
429
|
key: '訂單編號',
|
|
418
|
-
value:
|
|
419
|
-
class="d-flex align-items-center gap-2"
|
|
420
|
-
style="min-width: 200px; ${backgroundColor}"
|
|
421
|
-
>
|
|
422
|
-
${dd.cart_token}${vt.sourceBadge()}
|
|
423
|
-
</div>`,
|
|
430
|
+
value: cartTokenComponent(dd.cart_token, vt.sourceBadge(), isWatchUser),
|
|
424
431
|
tooltip: tooltipText,
|
|
425
432
|
},
|
|
426
433
|
{
|
|
@@ -449,12 +456,7 @@ export class ShoppingOrderManager {
|
|
|
449
456
|
return [
|
|
450
457
|
{
|
|
451
458
|
key: '訂單編號',
|
|
452
|
-
value:
|
|
453
|
-
class="d-flex align-items-center gap-2"
|
|
454
|
-
style="min-width: 200px; ${backgroundColor}"
|
|
455
|
-
>
|
|
456
|
-
${dd.cart_token}${vt.sourceBadge()}
|
|
457
|
-
</div>`,
|
|
459
|
+
value: cartTokenComponent(dd.cart_token, vt.sourceBadge(), isWatchUser),
|
|
458
460
|
tooltip: tooltipText,
|
|
459
461
|
},
|
|
460
462
|
{
|
|
@@ -1738,19 +1740,21 @@ export class ShoppingOrderManager {
|
|
|
1738
1740
|
['姓名', 'name'],
|
|
1739
1741
|
['電話', 'phone'],
|
|
1740
1742
|
['信箱', 'email'],
|
|
1743
|
+
['縣市', 'city'],
|
|
1744
|
+
['鄉鎮', 'area'],
|
|
1745
|
+
['地址', 'address'],
|
|
1741
1746
|
];
|
|
1747
|
+
|
|
1742
1748
|
const receipt = (
|
|
1743
1749
|
await ApiUser.getPublicConfig('custom_form_checkout_recipient', 'manager')
|
|
1744
1750
|
).response.value;
|
|
1751
|
+
|
|
1745
1752
|
receipt.list.map((d1: any) => {
|
|
1746
|
-
if (
|
|
1747
|
-
!viewModel.find(dd => {
|
|
1748
|
-
return dd[1] === d1.key;
|
|
1749
|
-
})
|
|
1750
|
-
) {
|
|
1753
|
+
if (!viewModel.find(dd => dd[1] === d1.key)) {
|
|
1751
1754
|
viewModel.push([d1.title, d1.key]);
|
|
1752
1755
|
}
|
|
1753
1756
|
});
|
|
1757
|
+
|
|
1754
1758
|
if (vm.mode == 'read') {
|
|
1755
1759
|
return viewModel
|
|
1756
1760
|
.map(item => {
|
|
@@ -2865,7 +2869,7 @@ export class ShoppingOrderManager {
|
|
|
2865
2869
|
html` <div class="d-flex flex-column" style="gap:8px;">
|
|
2866
2870
|
<div
|
|
2867
2871
|
class="d-flex align-items-center"
|
|
2868
|
-
style="
|
|
2872
|
+
style="gap: 8px; cursor: pointer;"
|
|
2869
2873
|
onclick="${gvc.event(() => {
|
|
2870
2874
|
if (userData.userID) {
|
|
2871
2875
|
child_vm.userID = userData.userID;
|
|
@@ -2873,30 +2877,43 @@ export class ShoppingOrderManager {
|
|
|
2873
2877
|
}
|
|
2874
2878
|
})}"
|
|
2875
2879
|
>
|
|
2876
|
-
${
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2880
|
+
${[
|
|
2881
|
+
(() => {
|
|
2882
|
+
const name = userData?.userData?.name;
|
|
2883
|
+
if (name) {
|
|
2884
|
+
return html`<span style="font-weight: 500; color: #4D86DB;">${name}</span>`;
|
|
2885
|
+
}
|
|
2886
|
+
return html`<span style="font-weight: normal; color: #393939;">訪客</span>`;
|
|
2887
|
+
})(),
|
|
2888
|
+
(() => {
|
|
2889
|
+
if (userData.status === 0) {
|
|
2890
|
+
return '';
|
|
2891
|
+
}
|
|
2892
|
+
if (userDataLoading) {
|
|
2893
|
+
return BgWidget.grayInsignia('讀取中');
|
|
2894
|
+
}
|
|
2895
|
+
if (userData.member === undefined) {
|
|
2896
|
+
return BgWidget.grayInsignia('訪客');
|
|
2897
|
+
}
|
|
2898
|
+
if (userData?.member.length > 0) {
|
|
2899
|
+
for (let i = 0; i < userData.member.length; i++) {
|
|
2900
|
+
if (userData.member[i].trigger) {
|
|
2901
|
+
return BgWidget.darkInsignia(userData.member[i].tag_name);
|
|
2902
|
+
}
|
|
2894
2903
|
}
|
|
2895
2904
|
}
|
|
2896
|
-
return BgWidget.
|
|
2897
|
-
}
|
|
2898
|
-
|
|
2899
|
-
|
|
2905
|
+
return BgWidget.darkInsignia('一般會員');
|
|
2906
|
+
})(),
|
|
2907
|
+
(() => {
|
|
2908
|
+
if (userData.status === 0) {
|
|
2909
|
+
return BgWidget.dangerInsignia('黑名單');
|
|
2910
|
+
}
|
|
2911
|
+
if (userData.status === 2) {
|
|
2912
|
+
return BgWidget.watchingInsignia('觀察名單');
|
|
2913
|
+
}
|
|
2914
|
+
return '';
|
|
2915
|
+
})(),
|
|
2916
|
+
].join('')}
|
|
2900
2917
|
</div>
|
|
2901
2918
|
<div style="color: #393939;font-weight: 400;">
|
|
2902
2919
|
${userData?.userData?.phone ??
|
|
@@ -2906,9 +2923,6 @@ export class ShoppingOrderManager {
|
|
|
2906
2923
|
<div style="color: #393939;font-weight: 400;word-break:break-all;">
|
|
2907
2924
|
${userData?.userData?.email ?? orderData.orderData.user_info.email ?? ''}
|
|
2908
2925
|
</div>
|
|
2909
|
-
<div style="color: #393939;font-weight: 700;">
|
|
2910
|
-
${userData.status === 2 ? '* 此顧客列為觀察名單' : ''}
|
|
2911
|
-
</div>
|
|
2912
2926
|
</div>`,
|
|
2913
2927
|
BgWidget.horizontalLine(),
|
|
2914
2928
|
gvc.bindView({
|
|
@@ -3020,9 +3034,7 @@ export class ShoppingOrderManager {
|
|
|
3020
3034
|
orderData.orderData.user_info.area,
|
|
3021
3035
|
orderData.orderData.user_info.address,
|
|
3022
3036
|
]
|
|
3023
|
-
.filter(
|
|
3024
|
-
return dd;
|
|
3025
|
-
})
|
|
3037
|
+
.filter(Boolean)
|
|
3026
3038
|
.join('')}
|
|
3027
3039
|
</div>`
|
|
3028
3040
|
);
|
|
@@ -297,12 +297,17 @@ export class ShoppingProductSetting {
|
|
|
297
297
|
}
|
|
298
298
|
});
|
|
299
299
|
if (countStock == 0) {
|
|
300
|
-
return
|
|
300
|
+
return '無追蹤庫存';
|
|
301
301
|
}
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
302
|
+
const countStockText = countStock > 1 ? `${countStock} 個子類` : '';
|
|
303
|
+
const stockText = html ` <span
|
|
304
|
+
style="${sum > 1
|
|
305
|
+
? 'color: #393939'
|
|
306
|
+
: 'color: #8E0E2B; font-weight: 500;'}"
|
|
307
|
+
>
|
|
308
|
+
庫存 ${sum.toLocaleString()} 件</span
|
|
309
|
+
>`;
|
|
310
|
+
return `${countStockText}${stockText}`;
|
|
306
311
|
})(),
|
|
307
312
|
},
|
|
308
313
|
{
|
|
@@ -345,20 +345,28 @@ export class ShoppingProductSetting {
|
|
|
345
345
|
value: (() => {
|
|
346
346
|
let sum = 0;
|
|
347
347
|
let countStock = 0;
|
|
348
|
+
|
|
348
349
|
dd.content.variants.forEach((variant: any) => {
|
|
349
350
|
if (variant.show_understocking == 'true') {
|
|
350
351
|
countStock++;
|
|
351
352
|
sum += variant.stock;
|
|
352
353
|
}
|
|
353
354
|
});
|
|
354
|
-
|
|
355
|
+
|
|
355
356
|
if (countStock == 0) {
|
|
356
|
-
return
|
|
357
|
+
return '無追蹤庫存';
|
|
357
358
|
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
359
|
+
|
|
360
|
+
const countStockText = countStock > 1 ? `${countStock} 個子類` : '';
|
|
361
|
+
const stockText = html` <span
|
|
362
|
+
style="${sum > 1
|
|
363
|
+
? 'color: #393939'
|
|
364
|
+
: 'color: #8E0E2B; font-weight: 500;'}"
|
|
365
|
+
>
|
|
366
|
+
庫存 ${sum.toLocaleString()} 件</span
|
|
367
|
+
>`;
|
|
368
|
+
|
|
369
|
+
return `${countStockText}${stockText}`;
|
|
362
370
|
})(),
|
|
363
371
|
},
|
|
364
372
|
{
|
|
@@ -9,9 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { BgWidget } from '../backend-manager/bg-widget.js';
|
|
11
11
|
import { BgProduct } from '../backend-manager/bg-product.js';
|
|
12
|
-
import { ApiPageConfig } from '../api/pageConfig.js';
|
|
13
12
|
import { ApiUser } from '../glitter-base/route/user.js';
|
|
14
|
-
import { ShipmentConfig } from '../glitter-base/global/shipment-config.js';
|
|
15
13
|
import { QuestionInfo } from './module/question-info.js';
|
|
16
14
|
import { Tool } from '../modules/tool.js';
|
|
17
15
|
const html = String.raw;
|
|
@@ -753,7 +751,7 @@ export class ShoppingSettingAdvance {
|
|
|
753
751
|
var _a;
|
|
754
752
|
let loading = true;
|
|
755
753
|
let dataList = [];
|
|
756
|
-
postMD.designated_logistics = (_a = postMD.designated_logistics) !== null && _a !== void 0 ? _a : {
|
|
754
|
+
postMD.designated_logistics = (_a = postMD.designated_logistics) !== null && _a !== void 0 ? _a : { group: '' };
|
|
757
755
|
return {
|
|
758
756
|
bind: 'designatedLogistics',
|
|
759
757
|
view: () => {
|
|
@@ -785,79 +783,30 @@ export class ShoppingSettingAdvance {
|
|
|
785
783
|
key: 'designated',
|
|
786
784
|
value: '指定物流',
|
|
787
785
|
},
|
|
788
|
-
]
|
|
786
|
+
].filter(item => {
|
|
787
|
+
return !(item.key === 'designated' && dataList.length === 0);
|
|
788
|
+
}),
|
|
789
789
|
style: 'width: 100%;',
|
|
790
790
|
})}
|
|
791
791
|
<div>
|
|
792
792
|
${(() => {
|
|
793
793
|
switch (postMD.designated_logistics.type) {
|
|
794
794
|
case 'designated':
|
|
795
|
-
return (
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
}
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
gvc: gvc,
|
|
811
|
-
callback: (value) => {
|
|
812
|
-
postMD.designated_logistics.list = value;
|
|
813
|
-
gvc.notifyDataChange(id);
|
|
814
|
-
},
|
|
815
|
-
default: (_a = postMD.designated_logistics.list) !== null && _a !== void 0 ? _a : [],
|
|
816
|
-
options: designatedVM.dataList,
|
|
817
|
-
style: 'width: 100%;',
|
|
818
|
-
});
|
|
819
|
-
}
|
|
820
|
-
},
|
|
821
|
-
divCreate: {
|
|
822
|
-
style: 'width: 100%;',
|
|
823
|
-
},
|
|
824
|
-
onCreate: () => {
|
|
825
|
-
if (designatedVM.loading) {
|
|
826
|
-
ApiPageConfig.getPrivateConfig(window.parent.appName, 'logistics_setting')
|
|
827
|
-
.then((dd) => {
|
|
828
|
-
var _a;
|
|
829
|
-
if (!dd.result || !dd.response.result[0]) {
|
|
830
|
-
throw new Error('Failed to fetch logistics setting or empty result.');
|
|
831
|
-
}
|
|
832
|
-
const shipment_setting = dd.response.result[0].value;
|
|
833
|
-
const combinedList = [
|
|
834
|
-
...ShipmentConfig.list.map(dd => ({
|
|
835
|
-
name: dd.title,
|
|
836
|
-
value: dd.value,
|
|
837
|
-
})),
|
|
838
|
-
...((_a = shipment_setting.custom_delivery) !== null && _a !== void 0 ? _a : []).map((dd) => ({
|
|
839
|
-
form: dd.form,
|
|
840
|
-
name: dd.name,
|
|
841
|
-
value: dd.id,
|
|
842
|
-
})),
|
|
843
|
-
];
|
|
844
|
-
const supportedList = combinedList.filter(d1 => shipment_setting.support.some((d2) => d2 === d1.value));
|
|
845
|
-
designatedVM.dataList = supportedList.map(item => ({
|
|
846
|
-
key: item.value,
|
|
847
|
-
value: item.name,
|
|
848
|
-
}));
|
|
849
|
-
designatedVM.loading = false;
|
|
850
|
-
gvc.notifyDataChange(designatedVM.id);
|
|
851
|
-
})
|
|
852
|
-
.catch(error => {
|
|
853
|
-
console.error('Error fetching logistics setting:', error);
|
|
854
|
-
designatedVM.loading = false;
|
|
855
|
-
gvc.notifyDataChange(designatedVM.id);
|
|
856
|
-
});
|
|
857
|
-
}
|
|
858
|
-
},
|
|
859
|
-
});
|
|
860
|
-
})();
|
|
795
|
+
return BgWidget.selectDropList({
|
|
796
|
+
gvc: gvc,
|
|
797
|
+
callback: (value) => {
|
|
798
|
+
postMD.designated_logistics.group = value;
|
|
799
|
+
gvc.notifyDataChange(id);
|
|
800
|
+
},
|
|
801
|
+
default: postMD.designated_logistics.group || [],
|
|
802
|
+
options: dataList.map((data) => {
|
|
803
|
+
return {
|
|
804
|
+
key: data.key,
|
|
805
|
+
value: data.name,
|
|
806
|
+
};
|
|
807
|
+
}),
|
|
808
|
+
style: 'width: 100%;',
|
|
809
|
+
});
|
|
861
810
|
default:
|
|
862
811
|
return '';
|
|
863
812
|
}
|
|
@@ -871,10 +820,10 @@ export class ShoppingSettingAdvance {
|
|
|
871
820
|
},
|
|
872
821
|
onCreate: () => {
|
|
873
822
|
if (loading) {
|
|
874
|
-
|
|
823
|
+
ApiUser.getPublicConfig('logistics_group', 'manager').then(r => {
|
|
875
824
|
dataList = (() => {
|
|
876
825
|
try {
|
|
877
|
-
return
|
|
826
|
+
return r.response.value;
|
|
878
827
|
}
|
|
879
828
|
catch (error) {
|
|
880
829
|
return dataList;
|