ts-glitter 20.8.7 → 20.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/lowcode/Entry.js +1 -1
  2. package/lowcode/Entry.ts +1 -1
  3. package/lowcode/backend-manager/bg-product.js +1 -1
  4. package/lowcode/backend-manager/bg-product.ts +1 -1
  5. package/lowcode/backend-manager/bg-recommend.js +1 -1
  6. package/lowcode/backend-manager/bg-recommend.ts +2 -2
  7. package/lowcode/backend-manager/bg-shopping.js +2 -5
  8. package/lowcode/backend-manager/bg-shopping.ts +2 -5
  9. package/lowcode/cms-plugin/POS-setting.js +58 -34
  10. package/lowcode/cms-plugin/POS-setting.ts +69 -33
  11. package/lowcode/cms-plugin/data-analyze-orders.js +0 -1
  12. package/lowcode/cms-plugin/data-analyze-orders.ts +1 -1
  13. package/lowcode/cms-plugin/data-analyze.js +1 -21
  14. package/lowcode/cms-plugin/data-analyze.ts +25 -25
  15. package/lowcode/cms-plugin/filter-options.js +1 -1
  16. package/lowcode/cms-plugin/filter-options.ts +1 -2
  17. package/lowcode/cms-plugin/information/information-module.js +275 -0
  18. package/lowcode/cms-plugin/information/information-module.ts +308 -0
  19. package/lowcode/cms-plugin/pos-pages/models.ts +3 -1
  20. package/lowcode/cms-plugin/pos-pages/payment-page.js +3 -11
  21. package/lowcode/cms-plugin/pos-pages/payment-page.ts +3 -11
  22. package/lowcode/cms-plugin/pos-pages/pos-function.js +1 -0
  23. package/lowcode/cms-plugin/pos-pages/pos-function.ts +1 -0
  24. package/lowcode/cms-plugin/pos-pages/products-page.js +1 -1
  25. package/lowcode/cms-plugin/pos-pages/products-page.ts +1 -1
  26. package/lowcode/cms-plugin/product-service.js +4 -9
  27. package/lowcode/cms-plugin/product-service.ts +4 -13
  28. package/lowcode/cms-plugin/shopping-discount-setting.js +76 -27
  29. package/lowcode/cms-plugin/shopping-discount-setting.ts +123 -63
  30. package/lowcode/cms-plugin/shopping-information.js +21 -167
  31. package/lowcode/cms-plugin/shopping-information.ts +35 -191
  32. package/lowcode/cms-plugin/shopping-order-return.js +212 -360
  33. package/lowcode/cms-plugin/shopping-order-return.ts +349 -482
  34. package/lowcode/cms-plugin/shopping-product-setting.js +8 -0
  35. package/lowcode/cms-plugin/shopping-product-setting.ts +12 -4
  36. package/lowcode/form-view/e-commerce/product-select.js +59 -51
  37. package/lowcode/form-view/e-commerce/product-select.ts +279 -266
  38. package/lowcode/glitter-base/global/language.js +2 -1
  39. package/lowcode/glitter-base/global/language.ts +2 -1
  40. package/lowcode/public-components/checkout/index.ts +2078 -2078
  41. package/lowcode/public-components/headers/sy-02.js +190 -179
  42. package/lowcode/public-components/headers/sy-02.ts +397 -370
  43. package/lowcode/public-components/headers/sy-03.js +133 -107
  44. package/lowcode/public-components/headers/sy-03.ts +276 -244
  45. package/lowcode/public-components/headers/sy-04.js +181 -146
  46. package/lowcode/public-components/headers/sy-04.ts +289 -247
  47. package/lowcode/public-components/product/pd-class.js +31 -23
  48. package/lowcode/public-components/product/pd-class.ts +51 -29
  49. package/lowcode/public-components/user-manager/um-voucher.js +1 -0
  50. package/lowcode/public-components/user-manager/um-voucher.ts +1 -0
  51. package/package.json +1 -1
  52. package/src/Language.js +1 -1
  53. package/src/Language.js.map +1 -1
  54. package/src/Language.ts +1 -1
  55. package/src/api-public/controllers/ai-chat.js.map +1 -1
  56. package/src/api-public/controllers/chat.js.map +1 -1
  57. package/src/api-public/controllers/customer-sessions.js.map +1 -1
  58. package/src/api-public/controllers/fb-message.js.map +1 -1
  59. package/src/api-public/controllers/fb-service.js.map +1 -1
  60. package/src/api-public/controllers/invoice.js.map +1 -1
  61. package/src/api-public/controllers/line-message.js.map +1 -1
  62. package/src/api-public/controllers/oauth.js.map +1 -1
  63. package/src/api-public/controllers/progress.js.map +1 -1
  64. package/src/api-public/controllers/rebate.js.map +1 -1
  65. package/src/api-public/controllers/recommend.js.map +1 -1
  66. package/src/api-public/controllers/reconciliation.js.map +1 -1
  67. package/src/api-public/controllers/shop.js +5 -2
  68. package/src/api-public/controllers/shop.js.map +1 -1
  69. package/src/api-public/controllers/shop.ts +7 -3
  70. package/src/api-public/controllers/shopee.js.map +1 -1
  71. package/src/api-public/controllers/sms.js.map +1 -1
  72. package/src/api-public/controllers/smtp.js.map +1 -1
  73. package/src/api-public/controllers/stock.js.map +1 -1
  74. package/src/api-public/controllers/track.js.map +1 -1
  75. package/src/api-public/controllers/voucher.js.map +1 -1
  76. package/src/api-public/models/glitter-finance.js +1 -2
  77. package/src/api-public/models/glitter-finance.js.map +1 -1
  78. package/src/api-public/services/EcInvoice.js.map +1 -1
  79. package/src/api-public/services/article.js.map +1 -1
  80. package/src/api-public/services/auto-send-email.js.map +1 -1
  81. package/src/api-public/services/chat.js.map +1 -1
  82. package/src/api-public/services/checkout-event.d.ts +1 -0
  83. package/src/api-public/services/checkout-event.js +17 -7
  84. package/src/api-public/services/checkout-event.js.map +1 -1
  85. package/src/api-public/services/checkout-event.ts +21 -9
  86. package/src/api-public/services/checkout.js.map +1 -1
  87. package/src/api-public/services/custom-code.js.map +1 -1
  88. package/src/api-public/services/customer-sessions.js.map +1 -1
  89. package/src/api-public/services/data-analyze.js +209 -196
  90. package/src/api-public/services/data-analyze.js.map +1 -1
  91. package/src/api-public/services/data-analyze.ts +219 -205
  92. package/src/api-public/services/delivery.js.map +1 -1
  93. package/src/api-public/services/ezpay/tool.d.ts +0 -1
  94. package/src/api-public/services/ezpay/tool.js.map +1 -1
  95. package/src/api-public/services/fake-data-model/fake-order.js.map +1 -1
  96. package/src/api-public/services/fake-data-model/fake-product.js.map +1 -1
  97. package/src/api-public/services/fake-data-model/fake-user.js.map +1 -1
  98. package/src/api-public/services/fb-api.js.map +1 -1
  99. package/src/api-public/services/filter-protect-data.js.map +1 -1
  100. package/src/api-public/services/financial-service.js +0 -1
  101. package/src/api-public/services/financial-service.js.map +1 -1
  102. package/src/api-public/services/form-check.js.map +1 -1
  103. package/src/api-public/services/graph-api.js.map +1 -1
  104. package/src/api-public/services/initial-fake-data.js.map +1 -1
  105. package/src/api-public/services/invoice.d.ts +3 -9
  106. package/src/api-public/services/invoice.js +66 -85
  107. package/src/api-public/services/invoice.js.map +1 -1
  108. package/src/api-public/services/invoice.ts +287 -293
  109. package/src/api-public/services/language-setting.js.map +1 -1
  110. package/src/api-public/services/mail.js.map +1 -1
  111. package/src/api-public/services/manager.js.map +1 -1
  112. package/src/api-public/services/paynow-logistics.js.map +1 -1
  113. package/src/api-public/services/phone-verify.js.map +1 -1
  114. package/src/api-public/services/pos.js.map +1 -1
  115. package/src/api-public/services/post.js.map +1 -1
  116. package/src/api-public/services/product-initial.js.map +1 -1
  117. package/src/api-public/services/rebate.js.map +1 -1
  118. package/src/api-public/services/reconciliation.js.map +1 -1
  119. package/src/api-public/services/schedule.d.ts +1 -0
  120. package/src/api-public/services/schedule.js +27 -0
  121. package/src/api-public/services/schedule.js.map +1 -1
  122. package/src/api-public/services/schedule.ts +30 -0
  123. package/src/api-public/services/shopping.d.ts +4 -3
  124. package/src/api-public/services/shopping.js +40 -20
  125. package/src/api-public/services/shopping.js.map +1 -1
  126. package/src/api-public/services/shopping.ts +52 -28
  127. package/src/api-public/services/stock.js.map +1 -1
  128. package/src/api-public/services/terms-check.js.map +1 -1
  129. package/src/api-public/services/updated-table-checked.js.map +1 -1
  130. package/src/api-public/services/user-update.js.map +1 -1
  131. package/src/api-public/services/user.d.ts +10 -0
  132. package/src/api-public/services/user.js +35 -8
  133. package/src/api-public/services/user.js.map +1 -1
  134. package/src/api-public/services/user.ts +50 -7
  135. package/src/api-public/services/voucher.js.map +1 -1
  136. package/src/api-public/utils/ut-database.js.map +1 -1
  137. package/src/app-project/android/app/src/main/res/xml/network_security_config.xml +3 -3
  138. package/src/app-project/android/app/src/main/res/xml/s.xml +5 -5
  139. package/src/app-project/android/gradlew.bat +94 -94
  140. package/src/app-project/serverless/src/controllers/index.js.map +1 -1
  141. package/src/app-project/serverless/src/controllers/sample.js.map +1 -1
  142. package/src/app-project/serverless/src/modules/database.d.ts +1 -2
  143. package/src/app-project/serverless/src/modules/database.js.map +1 -1
  144. package/src/app-project/serverless/src/modules/exception.js.map +1 -1
  145. package/src/app-project/serverless/src/modules/hooks.js.map +1 -1
  146. package/src/app-project/serverless/src/modules/logger.js.map +1 -1
  147. package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
  148. package/src/app-project/serverless/src/modules/redis.js.map +1 -1
  149. package/src/app-project/serverless/src/modules/response.js.map +1 -1
  150. package/src/app-project/serverless/src/modules/ssh.js.map +1 -1
  151. package/src/controllers/ai.js.map +1 -1
  152. package/src/controllers/global-event.js.map +1 -1
  153. package/src/controllers/page.js.map +1 -1
  154. package/src/controllers/private_config.js.map +1 -1
  155. package/src/export/export-test.js.map +1 -1
  156. package/src/firebase/message.js +1 -2
  157. package/src/firebase/message.js.map +1 -1
  158. package/src/helper/app_creater.js +1 -2
  159. package/src/helper/app_creater.js.map +1 -1
  160. package/src/helper/glitter-util.d.ts +0 -1
  161. package/src/helper/glitter-util.js.map +1 -1
  162. package/src/lambda/interface.d.ts +1 -1
  163. package/src/lambda/interface.js +2 -2
  164. package/src/lambda/interface.js.map +1 -1
  165. package/src/modules/database.js +4 -3
  166. package/src/modules/database.js.map +1 -1
  167. package/src/modules/database.ts +4 -4
  168. package/src/modules/exception.js.map +1 -1
  169. package/src/modules/hooks.js.map +1 -1
  170. package/src/modules/response.js.map +1 -1
  171. package/src/modules/ssh.js.map +1 -1
  172. package/src/public-config-initial/auto-fcm.js.map +1 -1
  173. package/src/run.js.map +1 -1
  174. package/src/run.ts +12 -12
  175. package/src/services/ai.js.map +1 -1
  176. package/src/services/ses.js +1 -2
  177. package/src/services/ses.js.map +1 -1
  178. package/src/services/system-schedule.js.map +1 -1
  179. package/src/update-progress-track.js.map +1 -1
  180. package/src/update-script.js.map +1 -1
package/lowcode/Entry.js CHANGED
@@ -144,7 +144,7 @@ export class Entry {
144
144
  }
145
145
  window.renderClock = (_b = window.renderClock) !== null && _b !== void 0 ? _b : createClock();
146
146
  console.log(`Entry-time:`, window.renderClock.stop());
147
- glitter.share.editerVersion = 'V_20.8.7';
147
+ glitter.share.editerVersion = 'V_20.9.1';
148
148
  glitter.share.start = new Date();
149
149
  const vm = { appConfig: [] };
150
150
  window.saasConfig = {
package/lowcode/Entry.ts CHANGED
@@ -146,7 +146,7 @@ export class Entry {
146
146
  }
147
147
  (window as any).renderClock = (window as any).renderClock ?? createClock();
148
148
  console.log(`Entry-time:`, (window as any).renderClock.stop());
149
- glitter.share.editerVersion = 'V_20.8.7';
149
+ glitter.share.editerVersion = 'V_20.9.1';
150
150
  glitter.share.start = new Date();
151
151
  const vm = { appConfig: [] };
152
152
  (window as any).saasConfig = {
@@ -814,7 +814,7 @@ export class BgProduct {
814
814
  });
815
815
  }
816
816
  catch (error) {
817
- console.log(error);
817
+ console.error(error);
818
818
  }
819
819
  });
820
820
  });
@@ -1028,7 +1028,7 @@ export class BgProduct {
1028
1028
  );
1029
1029
  });
1030
1030
  } catch (error) {
1031
- console.log(error);
1031
+ console.error(error);
1032
1032
  }
1033
1033
  });
1034
1034
  }
@@ -1009,7 +1009,7 @@ export class BgRecommend {
1009
1009
  value: 'collection',
1010
1010
  },
1011
1011
  {
1012
- title: '單一商品',
1012
+ title: '特定商品',
1013
1013
  value: 'product',
1014
1014
  },
1015
1015
  ],
@@ -725,7 +725,7 @@ export class BgRecommend {
725
725
  gvc.notifyDataChange(vm.previewId);
726
726
  },
727
727
  filter: {
728
- page: ['一頁商店', '隱形賣場','所有商品'],
728
+ page: ['一頁商店', '隱形賣場', '所有商品'],
729
729
  },
730
730
  })}`,
731
731
  gvc.bindView({
@@ -1153,7 +1153,7 @@ export class BgRecommend {
1153
1153
  value: 'collection',
1154
1154
  },
1155
1155
  {
1156
- title: '單一商品',
1156
+ title: '特定商品',
1157
1157
  value: 'product',
1158
1158
  },
1159
1159
  ],
@@ -1084,11 +1084,8 @@ export class BgShopping {
1084
1084
  title: '',
1085
1085
  def: voucherData.for,
1086
1086
  array: [
1087
- {
1088
- title: '商品系列',
1089
- value: 'collection',
1090
- },
1091
- { title: '單一商品', value: 'product' },
1087
+ { title: '商品系列', value: 'collection' },
1088
+ { title: '特定商品', value: 'product' },
1092
1089
  { title: '所有商品', value: 'all' },
1093
1090
  ],
1094
1091
  callback: text => {
@@ -1204,11 +1204,8 @@ export class BgShopping {
1204
1204
  title: '',
1205
1205
  def: voucherData.for,
1206
1206
  array: [
1207
- {
1208
- title: '商品系列',
1209
- value: 'collection',
1210
- },
1211
- { title: '單一商品', value: 'product' },
1207
+ { title: '商品系列', value: 'collection' },
1208
+ { title: '特定商品', value: 'product' },
1212
1209
  { title: '所有商品', value: 'all' },
1213
1210
  ],
1214
1211
  callback: text => {
@@ -28,6 +28,7 @@ import { PosSummary } from './pos-pages/pos-summary.js';
28
28
  import { ApiPos } from '../glitter-base/route/pos.js';
29
29
  import { PosWidget } from './pos-widget.js';
30
30
  import { SaasOffer } from '../saas-offer.js';
31
+ import { Language } from '../glitter-base/global/language.js';
31
32
  const html = String.raw;
32
33
  export class POSSetting {
33
34
  static loginManager(gvc, mode, result) {
@@ -336,6 +337,7 @@ export class POSSetting {
336
337
  function changeSelectVariant(product) {
337
338
  let emptyArray = [];
338
339
  product.content.specs.forEach((spec) => {
340
+ console.log(spec.option);
339
341
  emptyArray.push(spec.option.find((opt) => opt.select == true).title);
340
342
  });
341
343
  return product.content.variants.find((variant) => arraysEqual(variant.spec, emptyArray));
@@ -382,39 +384,37 @@ export class POSSetting {
382
384
  if (data.content.specs.length == 0) {
383
385
  return '';
384
386
  }
385
- return data.content.specs
386
- .map((spec) => {
387
- return html `
388
- <div style="font-size: 16px;font-style: normal;font-weight: 500;color: #8D8D8D;">
389
- ${spec.title}
390
- </div>
391
- <select
392
- class="w-100 form-select"
393
- style="border-radius: 5px;border: 1px solid #DDD;padding: 10px 18px;font-size: 18px;"
394
- onchange="${gvc.event(e => {
395
- spec.option.forEach((option) => {
396
- option.select = false;
397
- });
398
- spec.option[e.value].select = true;
399
- selectVariant = changeSelectVariant(data);
400
- obj.callback(selectVariant);
401
- gvc.notifyDataChange('productDialog');
402
- })}"
403
- >
404
- ${spec.option
405
- .map((option, index) => {
406
- return html ` <option
407
- class="d-flex align-items-center justify-content-center"
408
- value="${index}"
409
- ${option.select ? 'selected' : ''}
410
- style="border-radius: 5px;padding: 10px 18px;color: #393939;font-size: 18px;font-weight: 500;letter-spacing: 0.72px;"
387
+ const productSpecs = data.content.specs;
388
+ return productSpecs
389
+ .map((spec, index1) => {
390
+ return html ` <div>
391
+ <h5 class="mb-2" style="color: #393939; font-size: 14px;">
392
+ ${(spec.language_title && spec.language_title[Language.getLanguage()]) ||
393
+ spec.title}
394
+ </h5>
395
+ <div class="d-flex gap-2 flex-wrap">
396
+ ${gvc.map(spec.option.map((opt, optIndex) => {
397
+ return html ` <div
398
+ class="spec-option ${spec.option[optIndex].select ? 'selected-option' : ''}"
399
+ onclick="${gvc.event(() => {
400
+ spec.option.forEach((option) => {
401
+ option.select = false;
402
+ });
403
+ spec.option[optIndex].select = true;
404
+ selectVariant = changeSelectVariant(data);
405
+ obj.callback(selectVariant);
406
+ gvc.notifyDataChange('productDialog');
407
+ })}"
411
408
  >
412
- ${option.title}
413
- </option>`;
414
- })
415
- .join('')}
416
- </select>
417
- `;
409
+ <span style="font-size: 15px; font-weight: 500; letter-spacing: 1.76px;"
410
+ >${(opt.language_title &&
411
+ opt.language_title[Language.getLanguage()]) ||
412
+ opt.title}</span
413
+ >
414
+ </div>`;
415
+ }))}
416
+ </div>
417
+ </div>`;
418
418
  })
419
419
  .join('');
420
420
  },
@@ -495,9 +495,9 @@ export class POSSetting {
495
495
  }
496
496
  if (POSSetting.config.where_store.includes('exhibition_') &&
497
497
  selectVariant.exhibition_type) {
498
- return `庫存數量:${selectVariant.exhibition_active_stock}`;
498
+ return `庫存數量: ${selectVariant.exhibition_active_stock}`;
499
499
  }
500
- return `庫存數量:${selectVariant.stock}`;
500
+ return `庫存數量: ${selectVariant.stock}`;
501
501
  })()}</span
502
502
  >
503
503
  </div>
@@ -818,6 +818,30 @@ export class POSSetting {
818
818
  animation: slideOutFromLeft 0.3s ease-out forwards;
819
819
  }
820
820
 
821
+ .spec-option {
822
+ display: flex;
823
+ height: 38px;
824
+ padding-left: 10px;
825
+ padding-right: 10px;
826
+ justify-content: center;
827
+ align-items: center;
828
+ border-radius: 5px;
829
+ gap: 10px;
830
+ border: 1px solid #393939;
831
+ color: #393939;
832
+ cursor: pointer;
833
+ transition: 0.3s;
834
+ }
835
+
836
+ .spec-option.selected-option {
837
+ background: #393939;
838
+ color: #fff;
839
+ }
840
+
841
+ .spec-option:not(.selected-option):hover {
842
+ background: #8d8d8d;
843
+ }
844
+
821
845
  /* @keyframes 定義動畫 */
822
846
  @keyframes slideInFromLeft {
823
847
  0% {
@@ -20,6 +20,7 @@ import { PosSummary } from './pos-pages/pos-summary.js';
20
20
  import { ApiPos } from '../glitter-base/route/pos.js';
21
21
  import { PosWidget } from './pos-widget.js';
22
22
  import { SaasOffer } from '../saas-offer.js';
23
+ import { Language } from '../glitter-base/global/language.js';
23
24
 
24
25
  const html = String.raw;
25
26
 
@@ -388,6 +389,7 @@ export class POSSetting {
388
389
  function changeSelectVariant(product: any) {
389
390
  let emptyArray: any[] = [];
390
391
  product.content.specs.forEach((spec: any) => {
392
+ console.log(spec.option);
391
393
  emptyArray.push(spec.option.find((opt: any) => opt.select == true).title);
392
394
  });
393
395
  return product.content.variants.find((variant: any) => arraysEqual(variant.spec, emptyArray));
@@ -436,39 +438,49 @@ export class POSSetting {
436
438
  if (data.content.specs.length == 0) {
437
439
  return '';
438
440
  }
439
- return data.content.specs
440
- .map((spec: any) => {
441
- return html`
442
- <div style="font-size: 16px;font-style: normal;font-weight: 500;color: #8D8D8D;">
443
- ${spec.title}
444
- </div>
445
- <select
446
- class="w-100 form-select"
447
- style="border-radius: 5px;border: 1px solid #DDD;padding: 10px 18px;font-size: 18px;"
448
- onchange="${gvc.event(e => {
449
- spec.option.forEach((option: any) => {
450
- option.select = false;
451
- });
452
- spec.option[e.value].select = true;
453
- selectVariant = changeSelectVariant(data);
454
- obj.callback(selectVariant);
455
- gvc.notifyDataChange('productDialog');
456
- })}"
457
- >
458
- ${spec.option
459
- .map((option: any, index: number) => {
460
- return html` <option
461
- class="d-flex align-items-center justify-content-center"
462
- value="${index}"
463
- ${option.select ? 'selected' : ''}
464
- style="border-radius: 5px;padding: 10px 18px;color: #393939;font-size: 18px;font-weight: 500;letter-spacing: 0.72px;"
441
+
442
+ const productSpecs: {
443
+ title: string;
444
+ option: any;
445
+ language_title?: {
446
+ 'en-US': string;
447
+ 'zh-CN': string;
448
+ 'zh-TW': string;
449
+ };
450
+ }[] = data.content.specs;
451
+
452
+ return productSpecs
453
+ .map((spec, index1) => {
454
+ return html` <div>
455
+ <h5 class="mb-2" style="color: #393939; font-size: 14px;">
456
+ ${(spec.language_title && (spec.language_title as any)[Language.getLanguage()]) ||
457
+ spec.title}
458
+ </h5>
459
+ <div class="d-flex gap-2 flex-wrap">
460
+ ${gvc.map(
461
+ spec.option.map((opt: any, optIndex: number) => {
462
+ return html` <div
463
+ class="spec-option ${spec.option[optIndex].select ? 'selected-option' : ''}"
464
+ onclick="${gvc.event(() => {
465
+ spec.option.forEach((option: any) => {
466
+ option.select = false;
467
+ });
468
+ spec.option[optIndex].select = true;
469
+ selectVariant = changeSelectVariant(data);
470
+ obj.callback(selectVariant);
471
+ gvc.notifyDataChange('productDialog');
472
+ })}"
465
473
  >
466
- ${option.title}
467
- </option>`;
474
+ <span style="font-size: 15px; font-weight: 500; letter-spacing: 1.76px;"
475
+ >${(opt.language_title &&
476
+ (opt.language_title as any)[Language.getLanguage()]) ||
477
+ opt.title}</span
478
+ >
479
+ </div>`;
468
480
  })
469
- .join('')}
470
- </select>
471
- `;
481
+ )}
482
+ </div>
483
+ </div>`;
472
484
  })
473
485
  .join('');
474
486
  },
@@ -552,9 +564,9 @@ export class POSSetting {
552
564
  POSSetting.config.where_store.includes('exhibition_') &&
553
565
  selectVariant.exhibition_type
554
566
  ) {
555
- return `庫存數量:${selectVariant.exhibition_active_stock}`;
567
+ return `庫存數量: ${selectVariant.exhibition_active_stock}`;
556
568
  }
557
- return `庫存數量:${selectVariant.stock}`;
569
+ return `庫存數量: ${selectVariant.stock}`;
558
570
  })()}</span
559
571
  >
560
572
  </div>
@@ -913,6 +925,30 @@ export class POSSetting {
913
925
  animation: slideOutFromLeft 0.3s ease-out forwards;
914
926
  }
915
927
 
928
+ .spec-option {
929
+ display: flex;
930
+ height: 38px;
931
+ padding-left: 10px;
932
+ padding-right: 10px;
933
+ justify-content: center;
934
+ align-items: center;
935
+ border-radius: 5px;
936
+ gap: 10px;
937
+ border: 1px solid #393939;
938
+ color: #393939;
939
+ cursor: pointer;
940
+ transition: 0.3s;
941
+ }
942
+
943
+ .spec-option.selected-option {
944
+ background: #393939;
945
+ color: #fff;
946
+ }
947
+
948
+ .spec-option:not(.selected-option):hover {
949
+ background: #8d8d8d;
950
+ }
951
+
916
952
  /* @keyframes 定義動畫 */
917
953
  @keyframes slideInFromLeft {
918
954
  0% {
@@ -35,7 +35,6 @@ export class DataAnalyze {
35
35
  DataAnalyzeModule.salesAmount(gvc, vm),
36
36
  DataAnalyzeModule.orderAmount(gvc, vm),
37
37
  DataAnalyzeModule.orderAverage(gvc, vm),
38
- DataAnalyzeModule.viewPeople(gvc, vm),
39
38
  DataAnalyzeModule.registerPeople(gvc, vm),
40
39
  DataAnalyzeModule.transferRatio(gvc, vm),
41
40
  ]
@@ -52,7 +52,7 @@ export class DataAnalyze {
52
52
  DataAnalyzeModule.salesAmount(gvc, vm),
53
53
  DataAnalyzeModule.orderAmount(gvc, vm),
54
54
  DataAnalyzeModule.orderAverage(gvc, vm),
55
- DataAnalyzeModule.viewPeople(gvc, vm),
55
+ // DataAnalyzeModule.viewPeople(gvc, vm),
56
56
  DataAnalyzeModule.registerPeople(gvc, vm),
57
57
  DataAnalyzeModule.transferRatio(gvc, vm),
58
58
  ]
@@ -24,7 +24,7 @@ export class DataAnalyze {
24
24
  src: 'https://d3jnmi1tfjgtti.cloudfront.net/file/252530754/1714105121170-apexcharts.min.js',
25
25
  },
26
26
  ], () => { }, () => { });
27
- ApiShop.ecDataAnalyze('active_recent_2week,active_recent_year,recent_register_today,order_today,sales_per_month_1_month'.split(',')).then((res) => __awaiter(this, void 0, void 0, function* () {
27
+ ApiShop.ecDataAnalyze('recent_register_today,order_today,sales_per_month_1_month'.split(',')).then((res) => __awaiter(this, void 0, void 0, function* () {
28
28
  vm.loading = false;
29
29
  vm.data = res.response;
30
30
  gvc.notifyDataChange(id);
@@ -70,22 +70,6 @@ export class DataAnalyze {
70
70
  </div>
71
71
  <div class="row p-0" style="width: 896px; max-width: 100%; gap:15px 0px; ">
72
72
  ${[
73
- {
74
- title: '今日瀏覽人數',
75
- value: html `${vm.data.active_recent_2week.count_array
76
- .map((dd) => {
77
- return dd;
78
- })
79
- .reverse()[0]
80
- .toLocaleString()}
81
- ${BgWidget.grayNote(`(本月: ${vm.data.active_recent_year.count_array
82
- .map((dd) => {
83
- return dd;
84
- })
85
- .reverse()[0]
86
- .toLocaleString()})`, 'font-weight: 500;')}`,
87
- icon: 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/users-duotone-solid.svg',
88
- },
89
73
  {
90
74
  title: '今日會員註冊',
91
75
  value: html `${vm.data.recent_register_today['today'].toLocaleString()}
@@ -173,10 +157,6 @@ export class DataAnalyze {
173
157
  class: 'col-12 col-lg-4 col-md-6',
174
158
  event: DataAnalyzeModule.orderAverage(gvc),
175
159
  },
176
- {
177
- class: 'col-12 col-lg-4 col-md-6',
178
- event: DataAnalyzeModule.viewPeople(gvc),
179
- },
180
160
  {
181
161
  class: 'col-12 col-lg-4 col-md-6',
182
162
  event: DataAnalyzeModule.registerPeople(gvc),
@@ -26,9 +26,9 @@ export class DataAnalyze {
26
26
  () => {},
27
27
  () => {}
28
28
  );
29
-
29
+ //active_recent_2week,active_recent_year
30
30
  ApiShop.ecDataAnalyze(
31
- 'active_recent_2week,active_recent_year,recent_register_today,order_today,sales_per_month_1_month'.split(',')
31
+ 'recent_register_today,order_today,sales_per_month_1_month'.split(',')
32
32
  ).then(async res => {
33
33
  vm.loading = false;
34
34
  vm.data = res.response;
@@ -76,25 +76,25 @@ export class DataAnalyze {
76
76
  </div>
77
77
  <div class="row p-0" style="width: 896px; max-width: 100%; gap:15px 0px; ">
78
78
  ${[
79
- {
80
- title: '今日瀏覽人數',
81
- value: html`${vm.data.active_recent_2week.count_array
82
- .map((dd: any) => {
83
- return dd;
84
- })
85
- .reverse()[0]
86
- .toLocaleString()}
87
- ${BgWidget.grayNote(
88
- `(本月: ${vm.data.active_recent_year.count_array
89
- .map((dd: any) => {
90
- return dd;
91
- })
92
- .reverse()[0]
93
- .toLocaleString()})`,
94
- 'font-weight: 500;'
95
- )}`,
96
- icon: 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/users-duotone-solid.svg',
97
- },
79
+ // {
80
+ // title: '今日瀏覽人數',
81
+ // value: html`${vm.data.active_recent_2week.count_array
82
+ // .map((dd: any) => {
83
+ // return dd;
84
+ // })
85
+ // .reverse()[0]
86
+ // .toLocaleString()}
87
+ // ${BgWidget.grayNote(
88
+ // `(本月: ${vm.data.active_recent_year.count_array
89
+ // .map((dd: any) => {
90
+ // return dd;
91
+ // })
92
+ // .reverse()[0]
93
+ // .toLocaleString()})`,
94
+ // 'font-weight: 500;'
95
+ // )}`,
96
+ // icon: 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/users-duotone-solid.svg',
97
+ // },
98
98
  {
99
99
  title: '今日會員註冊',
100
100
  value: html`${vm.data.recent_register_today['today'].toLocaleString()}
@@ -188,10 +188,10 @@ export class DataAnalyze {
188
188
  class: 'col-12 col-lg-4 col-md-6',
189
189
  event: DataAnalyzeModule.orderAverage(gvc),
190
190
  },
191
- {
192
- class: 'col-12 col-lg-4 col-md-6',
193
- event: DataAnalyzeModule.viewPeople(gvc),
194
- },
191
+ // {
192
+ // class: 'col-12 col-lg-4 col-md-6',
193
+ // event: DataAnalyzeModule.viewPeople(gvc),
194
+ // },
195
195
  {
196
196
  class: 'col-12 col-lg-4 col-md-6',
197
197
  event: DataAnalyzeModule.registerPeople(gvc),
@@ -399,8 +399,8 @@ FilterOptions.progressOptions = [
399
399
  { key: 'arrived', name: '已到貨' },
400
400
  { key: 'shipping', name: '已出貨' },
401
401
  { key: 'pre_order', name: '待預購' },
402
- { key: 'wait', name: '未出貨' },
403
402
  { key: 'in_stock', name: '備貨中' },
403
+ { key: 'wait', name: '未出貨' },
404
404
  { key: 'returns', name: '已退貨' },
405
405
  ];
406
406
  FilterOptions.returnOrderFunnel = [
@@ -236,8 +236,8 @@ export class FilterOptions {
236
236
  { key: 'arrived', name: '已到貨' },
237
237
  { key: 'shipping', name: '已出貨' },
238
238
  { key: 'pre_order', name: '待預購' },
239
- { key: 'wait', name: '未出貨' },
240
239
  { key: 'in_stock', name: '備貨中' },
240
+ { key: 'wait', name: '未出貨' },
241
241
  { key: 'returns', name: '已退貨' },
242
242
  ];
243
243
 
@@ -684,7 +684,6 @@ export class FilterOptions {
684
684
  { key: 'title', value: '內容' },
685
685
  ];
686
686
 
687
-
688
687
  static emailOptions = [
689
688
  { key: 'def', value: '請選擇根據的條件' },
690
689
  { key: 'all', value: '所有會員' },