ts-glitter 17.7.8 → 17.8.0

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 (172) hide show
  1. package/lowcode/Entry.js +1 -1
  2. package/lowcode/Entry.ts +1 -1
  3. package/lowcode/cms-plugin/POS-setting.js +51 -45
  4. package/lowcode/cms-plugin/POS-setting.ts +37 -40
  5. package/lowcode/cms-plugin/checkout-setting.js +53 -4
  6. package/lowcode/cms-plugin/checkout-setting.ts +56 -4
  7. package/lowcode/cms-plugin/pos-pages/payment-page.js +14 -4
  8. package/lowcode/cms-plugin/pos-pages/payment-page.ts +16 -4
  9. package/lowcode/cms-plugin/pos-pages/pos-function.js +34 -32
  10. package/lowcode/cms-plugin/pos-pages/pos-function.ts +35 -33
  11. package/lowcode/cms-plugin/pos-pages/products-page.js +2 -0
  12. package/lowcode/cms-plugin/pos-pages/products-page.ts +3 -1
  13. package/lowcode/cms-plugin/seo-blog.js +1 -37
  14. package/lowcode/cms-plugin/seo-blog.ts +1 -44
  15. package/lowcode/cms-plugin/shopping-discount-setting.js +83 -69
  16. package/lowcode/cms-plugin/shopping-discount-setting.ts +190 -171
  17. package/lowcode/cms-plugin/shopping-information.js +11 -6
  18. package/lowcode/cms-plugin/shopping-information.ts +15 -6
  19. package/lowcode/cms-plugin/shopping-order-manager.js +26 -18
  20. package/lowcode/cms-plugin/shopping-order-manager.ts +26 -18
  21. package/lowcode/cms-plugin/shopping-product-setting.js +9 -6
  22. package/lowcode/cms-plugin/shopping-product-setting.ts +9 -7
  23. package/lowcode/cms-plugin/shopping-setting-advance.js +263 -307
  24. package/lowcode/cms-plugin/shopping-setting-advance.ts +620 -649
  25. package/lowcode/cms-plugin/shopping-setting-basic.js +1748 -1405
  26. package/lowcode/cms-plugin/shopping-setting-basic.ts +2708 -2350
  27. package/lowcode/public-components/blogs/list.js +1 -1
  28. package/lowcode/public-components/blogs/list.ts +2 -1
  29. package/lowcode/public-components/user-manager/um-order.js +29 -8
  30. package/lowcode/public-components/user-manager/um-order.ts +29 -8
  31. package/lowcode/public-models/product.ts +5 -1
  32. package/package.json +1 -1
  33. package/src/Language.js.map +1 -1
  34. package/src/api-public/controllers/chat.js.map +1 -1
  35. package/src/api-public/controllers/customer-sessions.js.map +1 -5
  36. package/src/api-public/controllers/fb-message.js.map +1 -1
  37. package/src/api-public/controllers/fcm.js.map +1 -1
  38. package/src/api-public/controllers/graph-api.js.map +1 -1
  39. package/src/api-public/controllers/invoice.js.map +1 -1
  40. package/src/api-public/controllers/lambda.js.map +1 -1
  41. package/src/api-public/controllers/line-message.js.map +1 -1
  42. package/src/api-public/controllers/manager.js.map +1 -1
  43. package/src/api-public/controllers/oauth.js.map +1 -1
  44. package/src/api-public/controllers/rebate.js.map +1 -1
  45. package/src/api-public/controllers/recommend.js.map +1 -1
  46. package/src/api-public/controllers/sms.js.map +1 -1
  47. package/src/api-public/controllers/smtp.js.map +1 -1
  48. package/src/api-public/controllers/sql_api.js.map +1 -1
  49. package/src/api-public/services/article.js.map +1 -1
  50. package/src/api-public/services/chat.js.map +1 -1
  51. package/src/api-public/services/custom-code.js.map +1 -1
  52. package/src/api-public/services/customer-sessions.js.map +1 -5
  53. package/src/api-public/services/data-analyze.d.ts +1 -1
  54. package/src/api-public/services/data-analyze.js +0 -1
  55. package/src/api-public/services/data-analyze.js.map +1 -1
  56. package/src/api-public/services/data-analyze.ts +1 -1
  57. package/src/api-public/services/fake-data-model/fake-order.js.map +1 -1
  58. package/src/api-public/services/fake-data-model/fake-product.js.map +1 -1
  59. package/src/api-public/services/fb-message.js.map +1 -5
  60. package/src/api-public/services/filter-protect-data.js.map +1 -1
  61. package/src/api-public/services/form-check.js.map +1 -1
  62. package/src/api-public/services/graph-api.js.map +1 -1
  63. package/src/api-public/services/language-setting.js.map +1 -1
  64. package/src/api-public/services/line-message.js.map +1 -1
  65. package/src/api-public/services/mail.js.map +1 -1
  66. package/src/api-public/services/manager.js.map +1 -1
  67. package/src/api-public/services/notify.js.map +1 -1
  68. package/src/api-public/services/rebate.js.map +1 -1
  69. package/src/api-public/services/schedule.d.ts +2 -1
  70. package/src/api-public/services/schedule.js +52 -21
  71. package/src/api-public/services/schedule.js.map +1 -1
  72. package/src/api-public/services/schedule.ts +83 -41
  73. package/src/api-public/services/share-permission.js.map +1 -1
  74. package/src/api-public/services/shopping.d.ts +1 -0
  75. package/src/api-public/services/shopping.js +155 -60
  76. package/src/api-public/services/shopping.js.map +1 -1
  77. package/src/api-public/services/shopping.ts +286 -166
  78. package/src/api-public/services/sms.js.map +1 -1
  79. package/src/api-public/services/stock.js +0 -8
  80. package/src/api-public/services/stock.js.map +1 -1
  81. package/src/api-public/services/stock.ts +0 -8
  82. package/src/api-public/services/terms-check.js.map +1 -1
  83. package/src/api-public/services/updated-table-checked.js.map +1 -1
  84. package/src/api-public/services/user.js.map +1 -1
  85. package/src/api-public/services/workers.js.map +1 -1
  86. package/src/api-public/utils/ut-database.js.map +1 -1
  87. package/src/api-public/utils/ut-permission.d.ts +0 -1
  88. package/src/api-public/utils/ut-permission.js.map +1 -1
  89. package/src/app-project/serverless/src/controllers/index.js.map +1 -1
  90. package/src/app-project/serverless/src/controllers/sample.js.map +1 -1
  91. package/src/app-project/serverless/src/modules/database.d.ts +1 -1
  92. package/src/app-project/serverless/src/modules/exception.js.map +1 -1
  93. package/src/app-project/serverless/src/modules/hooks.js.map +1 -1
  94. package/src/app-project/serverless/src/modules/logger.js.map +1 -1
  95. package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
  96. package/src/app-project/serverless/src/modules/redis.js.map +1 -1
  97. package/src/app-project/serverless/src/modules/response.js.map +1 -1
  98. package/src/app-project/serverless/src/modules/ssh.js.map +1 -1
  99. package/src/config.d.ts +1 -1
  100. package/src/config.js.map +1 -1
  101. package/src/controllers/ai.js.map +1 -1
  102. package/src/controllers/app.js.map +1 -1
  103. package/src/controllers/backend-server.js.map +1 -1
  104. package/src/controllers/filemanager.js.map +1 -1
  105. package/src/controllers/global-event.js.map +1 -1
  106. package/src/controllers/index.js.map +1 -1
  107. package/src/controllers/page.js.map +1 -1
  108. package/src/controllers/private_config.js.map +1 -1
  109. package/src/controllers/template.js.map +1 -1
  110. package/src/controllers/user.js.map +1 -1
  111. package/src/domain-check.js.map +1 -1
  112. package/src/export/export-test.js.map +1 -1
  113. package/src/firebase/message.js +1 -2
  114. package/src/firebase/message.js.map +1 -1
  115. package/src/helper/app_creater.js +1 -2
  116. package/src/helper/app_creater.js.map +1 -1
  117. package/src/helper/glitter-util.d.ts +0 -1
  118. package/src/helper/glitter-util.js.map +1 -1
  119. package/src/index.js +1 -2
  120. package/src/index.js.map +1 -1
  121. package/src/index.ts +1 -3
  122. package/src/lambda/interface.d.ts +1 -1
  123. package/src/lambda/interface.js +2 -2
  124. package/src/lambda/interface.js.map +1 -1
  125. package/src/modules/AWSLib.js +2 -3
  126. package/src/modules/AWSLib.js.map +1 -1
  127. package/src/modules/database.d.ts +1 -1
  128. package/src/modules/exception.js.map +1 -1
  129. package/src/modules/firebase.js.map +1 -1
  130. package/src/modules/hooks.js.map +1 -1
  131. package/src/modules/logger.js.map +1 -1
  132. package/src/modules/redis.d.ts +1 -1
  133. package/src/modules/redis.js.map +1 -1
  134. package/src/modules/response.js.map +1 -1
  135. package/src/modules/ssh.js.map +1 -1
  136. package/src/modules/tool.d.ts +3 -3
  137. package/src/modules/tool.js +1 -2
  138. package/src/modules/tool.js.map +1 -1
  139. package/src/run.js +1 -2
  140. package/src/run.js.map +1 -1
  141. package/src/run.ts +0 -1
  142. package/src/seo-config.d.ts +1 -1
  143. package/src/seo-config.js +1 -0
  144. package/src/seo-config.js.map +1 -1
  145. package/src/seo-config.ts +2 -0
  146. package/src/services/ai.js.map +1 -1
  147. package/src/services/app.js.map +1 -1
  148. package/src/services/backend-service.js.map +1 -1
  149. package/src/services/create-instance.js +3 -4
  150. package/src/services/create-instance.js.map +1 -1
  151. package/src/services/global-event.js.map +1 -1
  152. package/src/services/page.js.map +1 -1
  153. package/src/services/release.js.map +1 -1
  154. package/src/services/seo.js.map +1 -1
  155. package/src/services/ses.js +1 -2
  156. package/src/services/ses.js.map +1 -1
  157. package/src/services/system-schedule.js.map +1 -1
  158. package/src/services/tool.js +2 -3
  159. package/src/services/tool.js.map +1 -1
  160. package/src/services/user.js.map +1 -1
  161. package/src/services/web-socket.js.map +1 -1
  162. package/src/update-script.js.map +1 -1
  163. package/erivjq34ou.json +0 -1
  164. package/gkh2p2jhta.json +0 -1
  165. package/js3bc6v3d2.json +0 -1
  166. package/paj2n0tjeb.json +0 -1
  167. package/q7afzrrjjg.json +0 -1
  168. package/ri1qnoskm7.json +0 -1
  169. package/vhzr3omxil.json +0 -1
  170. package/xhpxn8fumk.json +0 -1
  171. /package/{e3zhqju194.json → uvdivu4auf.json} +0 -0
  172. /package/{ed8x60j4nn.json → yoh13j4i30.json} +0 -0
package/lowcode/Entry.js CHANGED
@@ -89,7 +89,7 @@ export class Entry {
89
89
  }
90
90
  window.renderClock = (_b = window.renderClock) !== null && _b !== void 0 ? _b : clockF();
91
91
  console.log(`Entry-time:`, window.renderClock.stop());
92
- glitter.share.editerVersion = 'V_17.7.8';
92
+ glitter.share.editerVersion = 'V_17.8.0';
93
93
  glitter.share.start = new Date();
94
94
  const vm = {
95
95
  appConfig: [],
package/lowcode/Entry.ts CHANGED
@@ -90,7 +90,7 @@ export class Entry {
90
90
  }
91
91
  (window as any).renderClock = (window as any).renderClock ?? clockF();
92
92
  console.log(`Entry-time:`, (window as any).renderClock.stop());
93
- glitter.share.editerVersion = 'V_17.7.8';
93
+ glitter.share.editerVersion = 'V_17.8.0';
94
94
  glitter.share.start = new Date();
95
95
  const vm: {
96
96
  appConfig: any;
@@ -27,12 +27,13 @@ import { TempOrder } from './pos-pages/temp-order.js';
27
27
  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
+ const html = String.raw;
31
+ const css = String.raw;
30
32
  export class POSSetting {
31
33
  static loginManager(gvc, mode, result) {
32
34
  const dialog = new ShareDialog(gvc.glitter);
33
35
  return gvc.bindView(() => {
34
36
  const id = gvc.glitter.getUUID();
35
- const html = String.raw;
36
37
  const vm = {
37
38
  account: '',
38
39
  pwd: '',
@@ -138,25 +139,23 @@ height: 51px;
138
139
  });
139
140
  }
140
141
  static initial(gvc) {
141
- return __awaiter(this, void 0, void 0, function* () {
142
- gvc.glitter.share.editorViewModel = {
143
- app_config_original: {},
144
- };
145
- gvc.glitter.share.shop_config = {
146
- shop_name: '',
147
- };
148
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
149
- ApiUser.getPublicConfig('store-information', 'manager').then((res) => {
150
- gvc.glitter.share.shop_config.shop_name = res.response.value.shop_name;
151
- ApiPageConfig.getAppConfig().then((res) => {
152
- gvc.glitter.share.editorViewModel.app_config_original = res.response.result[0];
153
- gvc.glitter.share.editorViewModel.domain = res.response.result[0].domain;
154
- gvc.glitter.share.editorViewModel.originalDomain = gvc.glitter.share.editorViewModel.domain;
155
- resolve(true);
156
- });
142
+ gvc.glitter.share.editorViewModel = {
143
+ app_config_original: {},
144
+ };
145
+ gvc.glitter.share.shop_config = {
146
+ shop_name: '',
147
+ };
148
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
149
+ ApiUser.getPublicConfig('store-information', 'manager').then((res) => {
150
+ gvc.glitter.share.shop_config.shop_name = res.response.value.shop_name;
151
+ ApiPageConfig.getAppConfig().then((res) => {
152
+ gvc.glitter.share.editorViewModel.app_config_original = res.response.result[0];
153
+ gvc.glitter.share.editorViewModel.domain = res.response.result[0].domain;
154
+ gvc.glitter.share.editorViewModel.originalDomain = gvc.glitter.share.editorViewModel.domain;
155
+ resolve(true);
157
156
  });
158
- }));
159
- });
157
+ });
158
+ }));
160
159
  }
161
160
  static main(gvc) {
162
161
  const glitter = gvc.glitter;
@@ -242,8 +241,17 @@ height: 51px;
242
241
  timer_vm.last_string = '';
243
242
  }, 150);
244
243
  }
245
- console.log(`event.key==>`, event.key);
246
244
  };
245
+ function getTimeState(startDate, endDate) {
246
+ const now = new Date();
247
+ const start = new Date(`${startDate}T00:00:00`);
248
+ const end = new Date(`${endDate}T23:59:59`);
249
+ if (now < start)
250
+ return 'beforeStart';
251
+ if (now > end)
252
+ return 'afterEnd';
253
+ return 'inRange';
254
+ }
247
255
  return {
248
256
  bind: id,
249
257
  view: () => __awaiter(this, void 0, void 0, function* () {
@@ -265,7 +273,11 @@ height: 51px;
265
273
  member_auth = member_auth.response.data.filter((dd) => dd.invited && dd.status);
266
274
  store_list = store_list.response.value.list;
267
275
  glitter.share.store_list = store_list;
268
- glitter.share.exhibition_list = (_a = exhibition_list.response.value.list) !== null && _a !== void 0 ? _a : [];
276
+ const exh_list = (_a = exhibition_list.response.value.list) !== null && _a !== void 0 ? _a : [];
277
+ glitter.share.exhibition_list = exh_list.filter((item) => {
278
+ const state = getTimeState(item.startDate, item.endDate);
279
+ return state === 'inRange';
280
+ });
269
281
  glitter.share.member_auth_list = member_auth;
270
282
  try {
271
283
  const login_user = GlobalUser.parseJWT(GlobalUser.saas_token).payload.userID;
@@ -337,7 +349,6 @@ height: 51px;
337
349
  return __awaiter(this, void 0, void 0, function* () {
338
350
  const dialog = new ShareDialog(gvc.glitter);
339
351
  const swal = new Swal(gvc);
340
- console.log(text);
341
352
  if (PayConfig.onPayment) {
342
353
  PayConfig.onPayment(text);
343
354
  return;
@@ -358,7 +369,6 @@ height: 51px;
358
369
  dialog.dataLoading({ visible: false });
359
370
  if (res.response.data[0]) {
360
371
  const data = res.response.data[0];
361
- console.log(`data===>`, data);
362
372
  const selectVariant = res.response.data[0].content.variants.find((d1) => {
363
373
  return d1.barcode === text;
364
374
  });
@@ -456,7 +466,6 @@ height: 51px;
456
466
  },
457
467
  ],
458
468
  };
459
- const html = String.raw;
460
469
  glitter.share.reloadPosPage = () => {
461
470
  gvc.notifyDataChange(vm.id);
462
471
  };
@@ -466,8 +475,9 @@ height: 51px;
466
475
  orderDetail.user_info.shipment = 'now';
467
476
  };
468
477
  function loadOrderData() {
469
- if (localStorage.getItem('pos_order_detail')) {
470
- orderDetail = JSON.parse(localStorage.getItem('pos_order_detail'));
478
+ const storageOrder = localStorage.getItem('pos_order_detail');
479
+ if (storageOrder) {
480
+ orderDetail = JSON.parse(storageOrder);
471
481
  }
472
482
  else {
473
483
  orderDetail.user_info = orderDetail.user_info || { shipment: 'now' };
@@ -1056,7 +1066,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1056
1066
  return ProductsPage.main({ gvc: gvc, vm: vm, orderDetail: orderDetail });
1057
1067
  }
1058
1068
  catch (e) {
1059
- console.log(e);
1069
+ console.error(e);
1060
1070
  return `${e}`;
1061
1071
  }
1062
1072
  })();
@@ -1075,7 +1085,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1075
1085
  catch (e) {
1076
1086
  localStorage.removeItem('pos_order_detail');
1077
1087
  gvc.recreateView();
1078
- console.log(e);
1088
+ console.error(e);
1079
1089
  return `${e}`;
1080
1090
  }
1081
1091
  },
@@ -1091,8 +1101,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1091
1101
  }) + NormalPageEditor.leftNav(gvc));
1092
1102
  }
1093
1103
  static initialStyle(gvc) {
1094
- const css = String.raw;
1095
- gvc.addStyle(css `
1104
+ gvc.addStyle(`
1096
1105
  .hoverHidden div {
1097
1106
  display: none;
1098
1107
  }
@@ -1115,7 +1124,16 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1115
1124
  animation: slideOutFromLeft 0.5s ease-out forwards;
1116
1125
  }
1117
1126
 
1118
- /* @keyframes 定義動畫 */
1127
+ .scroll-right-in {
1128
+ right: -120%; /* 將元素移到畫面外 */
1129
+ animation: slideInRight 0.5s ease-out forwards;
1130
+ }
1131
+
1132
+ .scroll-right-out {
1133
+ right: 0; /* 將元素移到畫面外 */
1134
+ animation: slideOutRight 0.5s ease-out forwards;
1135
+ }
1136
+
1119
1137
  @keyframes slideInFromLeft {
1120
1138
  0% {
1121
1139
  left: -120%; /* 起始位置在畫面外 */
@@ -1124,7 +1142,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1124
1142
  left: 0; /* 結束位置在畫面內 */
1125
1143
  }
1126
1144
  }
1127
- /* @keyframes 定義動畫 */
1145
+
1128
1146
  @keyframes slideOutFromLeft {
1129
1147
  0% {
1130
1148
  left: 0; /* 起始位置在畫面外 */
@@ -1133,19 +1151,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1133
1151
  left: -120%; /* 結束位置在畫面內 */
1134
1152
  }
1135
1153
  }
1136
- `);
1137
- gvc.addStyle(css `
1138
- .scroll-right-in {
1139
- right: -120%; /* 將元素移到畫面外 */
1140
- animation: slideInRight 0.5s ease-out forwards;
1141
- }
1142
1154
 
1143
- .scroll-right-out {
1144
- right: 0; /* 將元素移到畫面外 */
1145
- animation: slideOutRight 0.5s ease-out forwards;
1146
- }
1147
-
1148
- /* @keyframes 定義動畫 */
1149
1155
  @keyframes slideInRight {
1150
1156
  0% {
1151
1157
  right: -120%; /* 起始位置在畫面外 */
@@ -1154,7 +1160,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1154
1160
  right: 0; /* 結束位置在畫面內 */
1155
1161
  }
1156
1162
  }
1157
- /* @keyframes 定義動畫 */
1163
+
1158
1164
  @keyframes slideOutRight {
1159
1165
  0% {
1160
1166
  right: 0; /* 起始位置在畫面外 */
@@ -20,13 +20,11 @@ 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
 
23
+ const html = String.raw;
24
+ const css = String.raw;
25
+
23
26
  export class POSSetting {
24
- public static config: {
25
- who: string;
26
- recreate: () => void;
27
- pickup_number: number;
28
- where_store: string;
29
- } = {
27
+ public static config: { who: string; recreate: () => void; pickup_number: number; where_store: string } = {
30
28
  get who() {
31
29
  return localStorage.getItem('pos_use_member') || '';
32
30
  },
@@ -57,7 +55,6 @@ export class POSSetting {
57
55
  const dialog = new ShareDialog(gvc.glitter);
58
56
  return gvc.bindView(() => {
59
57
  const id = gvc.glitter.getUUID();
60
- const html = String.raw;
61
58
  const vm: {
62
59
  account: string;
63
60
  pwd: string;
@@ -168,7 +165,7 @@ height: 51px;
168
165
  });
169
166
  }
170
167
 
171
- public static async initial(gvc: GVC) {
168
+ public static initial(gvc: GVC) {
172
169
  gvc.glitter.share.editorViewModel = {
173
170
  app_config_original: {},
174
171
  };
@@ -176,10 +173,6 @@ height: 51px;
176
173
  shop_name: '',
177
174
  };
178
175
 
179
- // document.addEventListener('keydown', function(event) {
180
- // console.log(`event.key==>`,event.key)
181
- // event.preventDefault(); // 阻止事件
182
- // });
183
176
  return new Promise(async (resolve, reject) => {
184
177
  ApiUser.getPublicConfig('store-information', 'manager').then((res) => {
185
178
  gvc.glitter.share.shop_config.shop_name = res.response.value.shop_name;
@@ -293,8 +286,16 @@ height: 51px;
293
286
  timer_vm.last_string = '';
294
287
  }, 150);
295
288
  }
296
- console.log(`event.key==>`, event.key);
297
289
  };
290
+ function getTimeState(startDate: string, endDate: string): 'beforeStart' | 'inRange' | 'afterEnd' {
291
+ const now = new Date();
292
+ const start = new Date(`${startDate}T00:00:00`);
293
+ const end = new Date(`${endDate}T23:59:59`);
294
+
295
+ if (now < start) return 'beforeStart'; // 待上架
296
+ if (now > end) return 'afterEnd'; // 下架
297
+ return 'inRange'; // 上架
298
+ }
298
299
  return {
299
300
  bind: id,
300
301
  view: async () => {
@@ -315,7 +316,11 @@ height: 51px;
315
316
  member_auth = member_auth.response.data.filter((dd: any) => dd.invited && dd.status);
316
317
  store_list = store_list.response.value.list;
317
318
  glitter.share.store_list = store_list;
318
- glitter.share.exhibition_list = exhibition_list.response.value.list ?? [];
319
+ const exh_list = exhibition_list.response.value.list ?? [];
320
+ glitter.share.exhibition_list = exh_list.filter((item: any) => {
321
+ const state = getTimeState(item.startDate, item.endDate);
322
+ return state === 'inRange';
323
+ });
319
324
  glitter.share.member_auth_list = member_auth;
320
325
  try {
321
326
  const login_user = GlobalUser.parseJWT(GlobalUser.saas_token).payload.userID;
@@ -391,7 +396,6 @@ height: 51px;
391
396
  public static async scannerCallback(gvc: GVC, text: string) {
392
397
  const dialog = new ShareDialog(gvc.glitter);
393
398
  const swal = new Swal(gvc);
394
- console.log(text);
395
399
  if (PayConfig.onPayment) {
396
400
  PayConfig.onPayment(text);
397
401
  return;
@@ -412,7 +416,6 @@ height: 51px;
412
416
  dialog.dataLoading({ visible: false });
413
417
  if (res.response.data[0]) {
414
418
  const data = res.response.data[0];
415
- console.log(`data===>`, data);
416
419
  const selectVariant = res.response.data[0].content.variants.find((d1: any) => {
417
420
  return d1.barcode === text;
418
421
  });
@@ -516,8 +519,6 @@ height: 51px;
516
519
  ],
517
520
  };
518
521
 
519
- const html = String.raw;
520
-
521
522
  glitter.share.reloadPosPage = () => {
522
523
  gvc.notifyDataChange(vm.id);
523
524
  };
@@ -528,13 +529,13 @@ height: 51px;
528
529
  };
529
530
 
530
531
  function loadOrderData() {
531
- if (localStorage.getItem('pos_order_detail')) {
532
- orderDetail = JSON.parse(localStorage.getItem('pos_order_detail') as string);
532
+ const storageOrder = localStorage.getItem('pos_order_detail');
533
+ if (storageOrder) {
534
+ orderDetail = JSON.parse(storageOrder);
533
535
  } else {
534
536
  orderDetail.user_info = orderDetail.user_info || { shipment: 'now' };
535
537
  (orderDetail.user_info.shipment as any) = 'now';
536
538
  }
537
-
538
539
  if (!orderDetail.lineItems || orderDetail.lineItems.length === 0) {
539
540
  orderDetail.user_info = orderDetail.user_info || { shipment: 'now' };
540
541
  (orderDetail.user_info.shipment as any) = 'now';
@@ -1192,7 +1193,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1192
1193
  }
1193
1194
  return ProductsPage.main({ gvc: gvc, vm: vm, orderDetail: orderDetail });
1194
1195
  } catch (e) {
1195
- console.log(e);
1196
+ console.error(e);
1196
1197
  return `${e}`;
1197
1198
  }
1198
1199
  })();
@@ -1210,7 +1211,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1210
1211
  } catch (e) {
1211
1212
  localStorage.removeItem('pos_order_detail');
1212
1213
  gvc.recreateView();
1213
- console.log(e);
1214
+ console.error(e);
1214
1215
  return `${e}`;
1215
1216
  }
1216
1217
  },
@@ -1227,8 +1228,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1227
1228
  }
1228
1229
 
1229
1230
  public static initialStyle(gvc: GVC) {
1230
- const css = String.raw;
1231
- gvc.addStyle(css`
1231
+ gvc.addStyle(`
1232
1232
  .hoverHidden div {
1233
1233
  display: none;
1234
1234
  }
@@ -1251,7 +1251,16 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1251
1251
  animation: slideOutFromLeft 0.5s ease-out forwards;
1252
1252
  }
1253
1253
 
1254
- /* @keyframes 定義動畫 */
1254
+ .scroll-right-in {
1255
+ right: -120%; /* 將元素移到畫面外 */
1256
+ animation: slideInRight 0.5s ease-out forwards;
1257
+ }
1258
+
1259
+ .scroll-right-out {
1260
+ right: 0; /* 將元素移到畫面外 */
1261
+ animation: slideOutRight 0.5s ease-out forwards;
1262
+ }
1263
+
1255
1264
  @keyframes slideInFromLeft {
1256
1265
  0% {
1257
1266
  left: -120%; /* 起始位置在畫面外 */
@@ -1260,7 +1269,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1260
1269
  left: 0; /* 結束位置在畫面內 */
1261
1270
  }
1262
1271
  }
1263
- /* @keyframes 定義動畫 */
1272
+
1264
1273
  @keyframes slideOutFromLeft {
1265
1274
  0% {
1266
1275
  left: 0; /* 起始位置在畫面外 */
@@ -1269,19 +1278,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1269
1278
  left: -120%; /* 結束位置在畫面內 */
1270
1279
  }
1271
1280
  }
1272
- `);
1273
- gvc.addStyle(css`
1274
- .scroll-right-in {
1275
- right: -120%; /* 將元素移到畫面外 */
1276
- animation: slideInRight 0.5s ease-out forwards;
1277
- }
1278
1281
 
1279
- .scroll-right-out {
1280
- right: 0; /* 將元素移到畫面外 */
1281
- animation: slideOutRight 0.5s ease-out forwards;
1282
- }
1283
-
1284
- /* @keyframes 定義動畫 */
1285
1282
  @keyframes slideInRight {
1286
1283
  0% {
1287
1284
  right: -120%; /* 起始位置在畫面外 */
@@ -1290,7 +1287,7 @@ ${document.body.clientWidth < 800 ? `` : `position: absolute;left: 50%;top:50%;t
1290
1287
  right: 0; /* 結束位置在畫面內 */
1291
1288
  }
1292
1289
  }
1293
- /* @keyframes 定義動畫 */
1290
+
1294
1291
  @keyframes slideOutRight {
1295
1292
  0% {
1296
1293
  right: 0; /* 起始位置在畫面外 */
@@ -35,6 +35,7 @@ export class MemberSetting {
35
35
  return {
36
36
  bind: vm.id,
37
37
  view: () => {
38
+ var _a;
38
39
  if (vm.loading) {
39
40
  return ``;
40
41
  }
@@ -62,7 +63,7 @@ export class MemberSetting {
62
63
  <input
63
64
  class="form-check-input"
64
65
  type="checkbox"
65
- onchange="${gvc.event((e, event) => {
66
+ onchange="${gvc.event(() => {
66
67
  vm.data.login_in_to_order = !vm.data.login_in_to_order;
67
68
  saveEvent();
68
69
  gvc.notifyDataChange(vm.id);
@@ -73,6 +74,56 @@ export class MemberSetting {
73
74
  <div class="flex-fill"></div>
74
75
  </div>`,
75
76
  ].join('')),
77
+ BgWidget.mainCard([
78
+ html `
79
+ <div class="tx_normal fw-bolder mt-2 d-flex flex-column"
80
+ style="margin-bottom: 12px;">顧客手動取消訂單
81
+ <span class="" style="color:#8D8D8D;font-size: 12px;">顧客可自行取消自己未付款未出貨的訂單</span>
82
+ </div>`,
83
+ html `
84
+ <div class="d-flex align-items-center w-100"
85
+ style="gap:4px;margin-bottom: 12px;">
86
+ <div class="tx_normal ms-2">
87
+ ${vm.data.customer_cancel_order ? `開啟` : `關閉`}
88
+ </div>
89
+ <div class="cursor_pointer form-check form-switch m-0">
90
+ <input
91
+ class="form-check-input"
92
+ type="checkbox"
93
+ onchange="${gvc.event(() => {
94
+ vm.data.customer_cancel_order = !vm.data.customer_cancel_order;
95
+ saveEvent();
96
+ gvc.notifyDataChange(vm.id);
97
+ })}"
98
+ ${vm.data.customer_cancel_order ? `checked` : ``}
99
+ />
100
+ </div>
101
+ <div class="flex-fill"></div>
102
+ </div>`,
103
+ ].join('')),
104
+ BgWidget.mainCard([
105
+ html `
106
+ <div class="tx_normal fw-bolder mt-2 d-flex flex-column"
107
+ style="margin-bottom: 12px;">系統自動取消訂單
108
+ <span class="" style="color:#8D8D8D;font-size: 12px;">若顧客在指定時間內未付款,系統會自動取消訂單,輸入 0 則永不取消訂單</span>
109
+ </div>`,
110
+ html `
111
+ <div class="d-flex align-items-center w-100" style="gap:4px;margin-bottom: 12px;">
112
+ ${BgWidget.editeInput({
113
+ gvc: gvc,
114
+ title: '',
115
+ default: `${(_a = vm.data.auto_cancel_order_timer) !== null && _a !== void 0 ? _a : 0}`,
116
+ endText: '小時',
117
+ placeHolder: `請輸入自動取消訂單時效`,
118
+ callback: (text) => {
119
+ const n = Number.parseInt(text, 10);
120
+ vm.data.auto_cancel_order_timer = isNaN(n) || n < 0 ? 0 : n;
121
+ saveEvent();
122
+ gvc.notifyDataChange(vm.id);
123
+ },
124
+ })}
125
+ </div>`,
126
+ ].join('')),
76
127
  ...(() => {
77
128
  const form = BgWidget.customForm(gvc, [
78
129
  {
@@ -82,9 +133,7 @@ export class MemberSetting {
82
133
  style="margin-bottom: 12px;">
83
134
  顧客資訊表單
84
135
  <span class="" style="color:#8D8D8D;font-size: 12px;">於結帳頁面中設定顧客必須填寫的顧客資訊表單</span>
85
- </div>
86
-
87
- `
136
+ </div>`
88
137
  },
89
138
  {
90
139
  key: 'custom_form_checkout_recipient',
@@ -68,7 +68,7 @@ export class MemberSetting {
68
68
  <input
69
69
  class="form-check-input"
70
70
  type="checkbox"
71
- onchange="${gvc.event((e, event) => {
71
+ onchange="${gvc.event(() => {
72
72
  vm.data.login_in_to_order = !vm.data.login_in_to_order;
73
73
  saveEvent();
74
74
  gvc.notifyDataChange(vm.id);
@@ -80,6 +80,60 @@ export class MemberSetting {
80
80
  </div>`,
81
81
  ].join('')
82
82
  ),
83
+ BgWidget.mainCard(
84
+ [
85
+ html`
86
+ <div class="tx_normal fw-bolder mt-2 d-flex flex-column"
87
+ style="margin-bottom: 12px;">顧客手動取消訂單
88
+ <span class="" style="color:#8D8D8D;font-size: 12px;">顧客可自行取消自己未付款未出貨的訂單</span>
89
+ </div>`,
90
+ html`
91
+ <div class="d-flex align-items-center w-100"
92
+ style="gap:4px;margin-bottom: 12px;">
93
+ <div class="tx_normal ms-2">
94
+ ${vm.data.customer_cancel_order ? `開啟` : `關閉`}
95
+ </div>
96
+ <div class="cursor_pointer form-check form-switch m-0">
97
+ <input
98
+ class="form-check-input"
99
+ type="checkbox"
100
+ onchange="${gvc.event(() => {
101
+ vm.data.customer_cancel_order = !vm.data.customer_cancel_order;
102
+ saveEvent();
103
+ gvc.notifyDataChange(vm.id);
104
+ })}"
105
+ ${vm.data.customer_cancel_order ? `checked` : ``}
106
+ />
107
+ </div>
108
+ <div class="flex-fill"></div>
109
+ </div>`,
110
+ ].join(''),
111
+ ),
112
+ BgWidget.mainCard(
113
+ [
114
+ html`
115
+ <div class="tx_normal fw-bolder mt-2 d-flex flex-column"
116
+ style="margin-bottom: 12px;">系統自動取消訂單
117
+ <span class="" style="color:#8D8D8D;font-size: 12px;">若顧客在指定時間內未付款,系統會自動取消訂單,輸入 0 則永不取消訂單</span>
118
+ </div>`,
119
+ html`
120
+ <div class="d-flex align-items-center w-100" style="gap:4px;margin-bottom: 12px;">
121
+ ${BgWidget.editeInput({
122
+ gvc: gvc,
123
+ title: '',
124
+ default: `${vm.data.auto_cancel_order_timer ?? 0}`,
125
+ endText: '小時',
126
+ placeHolder: `請輸入自動取消訂單時效`,
127
+ callback: (text) => {
128
+ const n = Number.parseInt(text, 10);
129
+ vm.data.auto_cancel_order_timer = isNaN(n) || n < 0 ? 0 : n;
130
+ saveEvent();
131
+ gvc.notifyDataChange(vm.id);
132
+ },
133
+ })}
134
+ </div>`,
135
+ ].join(''),
136
+ ),
83
137
  ...(() => {
84
138
  const form = BgWidget.customForm(gvc, [
85
139
  {
@@ -89,9 +143,7 @@ export class MemberSetting {
89
143
  style="margin-bottom: 12px;">
90
144
  顧客資訊表單
91
145
  <span class="" style="color:#8D8D8D;font-size: 12px;">於結帳頁面中設定顧客必須填寫的顧客資訊表單</span>
92
- </div>
93
-
94
- `
146
+ </div>`
95
147
  },
96
148
  {
97
149
  key: 'custom_form_checkout_recipient',
@@ -110,10 +110,6 @@ export class PaymentPage {
110
110
  })) {
111
111
  obj.ogOrderData.user_info.shipment = 'now';
112
112
  }
113
- console.log('orderDetail');
114
- console.log(orderDetail);
115
- console.log('ogOrderData lineitem');
116
- console.log(obj.ogOrderData.lineItems);
117
113
  obj.ogOrderData.lineItems = obj.ogOrderData.lineItems.filter((dd) => {
118
114
  return orderDetail.lineItems.find((d1) => {
119
115
  return dd.id + dd.spec.join('-') === d1.id + d1.spec.join('-');
@@ -1486,6 +1482,20 @@ white-space: normal;"
1486
1482
  };
1487
1483
  });
1488
1484
  }
1485
+ static rmProductHistory(product_id) {
1486
+ const orderDetail = JSON.parse(localStorage.getItem('pos_order_detail'));
1487
+ if (orderDetail && orderDetail.lineItems) {
1488
+ orderDetail.lineItems = orderDetail.lineItems.filter((item) => item.id !== product_id);
1489
+ }
1490
+ this.storeHistory(orderDetail);
1491
+ }
1492
+ static clearProductHistory() {
1493
+ const orderDetail = JSON.parse(localStorage.getItem('pos_order_detail'));
1494
+ if (orderDetail && orderDetail.lineItems) {
1495
+ orderDetail.lineItems = [];
1496
+ }
1497
+ this.storeHistory(orderDetail);
1498
+ }
1489
1499
  static storeHistory(orderDetail) {
1490
1500
  localStorage.setItem('pos_order_detail', JSON.stringify(orderDetail));
1491
1501
  }
@@ -130,10 +130,6 @@ export class PaymentPage {
130
130
  (obj.ogOrderData.user_info.shipment as any) = 'now';
131
131
  }
132
132
  //儲存資料至本地暫存
133
- console.log('orderDetail');
134
- console.log(orderDetail);
135
- console.log('ogOrderData lineitem');
136
- console.log(obj.ogOrderData.lineItems);
137
133
  obj.ogOrderData.lineItems = obj.ogOrderData.lineItems.filter((dd) => {
138
134
  return orderDetail.lineItems.find((d1: any) => {
139
135
  return dd.id + dd.spec.join('-') === d1.id + d1.spec.join('-');
@@ -1575,6 +1571,22 @@ white-space: normal;"
1575
1571
  });
1576
1572
  }
1577
1573
 
1574
+ public static rmProductHistory(product_id: number) {
1575
+ const orderDetail: any = JSON.parse(localStorage.getItem('pos_order_detail') as string);
1576
+ if (orderDetail && orderDetail.lineItems) {
1577
+ orderDetail.lineItems = orderDetail.lineItems.filter((item: any) => item.id !== product_id);
1578
+ }
1579
+ this.storeHistory(orderDetail);
1580
+ }
1581
+
1582
+ public static clearProductHistory() {
1583
+ const orderDetail: any = JSON.parse(localStorage.getItem('pos_order_detail') as string);
1584
+ if (orderDetail && orderDetail.lineItems) {
1585
+ orderDetail.lineItems = [];
1586
+ }
1587
+ this.storeHistory(orderDetail);
1588
+ }
1589
+
1578
1590
  public static storeHistory(orderDetail: OrderDetail) {
1579
1591
  localStorage.setItem('pos_order_detail', JSON.stringify(orderDetail));
1580
1592
  }