ts-glitter 20.7.4 → 20.7.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.
Files changed (248) hide show
  1. package/jr9x7k3aau.json +1 -0
  2. package/lowcode/Entry.js +1 -1
  3. package/lowcode/Entry.ts +1 -1
  4. package/lowcode/backend-manager/bg-notify.js +2 -0
  5. package/lowcode/backend-manager/bg-notify.ts +2 -0
  6. package/lowcode/backend-manager/bg-widget.js +280 -155
  7. package/lowcode/backend-manager/bg-widget.ts +387 -244
  8. package/lowcode/backend-manager/splitPage.js +27 -52
  9. package/lowcode/backend-manager/splitPage.ts +29 -47
  10. package/lowcode/cms-plugin/app-release.js +63 -13
  11. package/lowcode/cms-plugin/app-release.ts +73 -13
  12. package/lowcode/cms-plugin/auto-fcm-advertise.js +23 -24
  13. package/lowcode/cms-plugin/auto-fcm-advertise.ts +286 -285
  14. package/lowcode/cms-plugin/auto-reply.js +285 -273
  15. package/lowcode/cms-plugin/auto-reply.ts +673 -660
  16. package/lowcode/cms-plugin/module/data.ts +1 -0
  17. package/lowcode/cms-plugin/module/order-setting.js +134 -117
  18. package/lowcode/cms-plugin/module/order-setting.ts +152 -138
  19. package/lowcode/cms-plugin/pos-pages/products-page.js +8 -16
  20. package/lowcode/cms-plugin/pos-pages/products-page.ts +10 -12
  21. package/lowcode/cms-plugin/shopping-order-manager.js +244 -289
  22. package/lowcode/cms-plugin/shopping-order-manager.ts +128 -156
  23. package/lowcode/cms-plugin/shopping-order-return.js +1 -1
  24. package/lowcode/cms-plugin/shopping-order-return.ts +1 -1
  25. package/lowcode/cms-plugin/shopping-product-setting.js +3 -3
  26. package/lowcode/cms-plugin/shopping-product-setting.ts +3 -3
  27. package/lowcode/cms-plugin/shopping-setting-advance.js +3 -28
  28. package/lowcode/cms-plugin/shopping-setting-advance.ts +3 -28
  29. package/lowcode/cms-plugin/stock-history.js +31 -15
  30. package/lowcode/cms-plugin/stock-history.ts +43 -25
  31. package/lowcode/cms-plugin/third-party-google.js +2 -2
  32. package/lowcode/cms-plugin/third-party-google.ts +2 -2
  33. package/lowcode/cms-plugin/user-list.js +166 -113
  34. package/lowcode/cms-plugin/user-list.ts +136 -78
  35. package/lowcode/form-view/e-commerce/path-select.js +100 -87
  36. package/lowcode/form-view/e-commerce/path-select.ts +372 -343
  37. package/lowcode/glitter-base/route/stock.ts +153 -141
  38. package/lowcode/glitterBundle/plugins/editor-elem.js +139 -149
  39. package/lowcode/glitterBundle/plugins/editor-elem.ts +207 -222
  40. package/lowcode/public-components/blogs/list.js +8 -16
  41. package/lowcode/public-components/blogs/list.ts +10 -12
  42. package/lowcode/public-components/product/product-list.js +8 -16
  43. package/lowcode/public-components/product/product-list.ts +10 -12
  44. package/lowcode/public-components/user-manager/um-login.js +268 -265
  45. package/lowcode/public-components/user-manager/um-login.ts +987 -983
  46. package/lowcode/public-models/order-info.js +12 -20
  47. package/lowcode/public-models/order-info.ts +13 -12
  48. package/package.json +1 -1
  49. package/src/Language.js.map +1 -1
  50. package/src/api-public/controllers/ai-chat.js.map +1 -1
  51. package/src/api-public/controllers/ai-points.js.map +1 -1
  52. package/src/api-public/controllers/app-release.js.map +1 -1
  53. package/src/api-public/controllers/article.js.map +1 -1
  54. package/src/api-public/controllers/chat.js.map +1 -1
  55. package/src/api-public/controllers/customer-sessions.js.map +1 -1
  56. package/src/api-public/controllers/delivery.js.map +1 -1
  57. package/src/api-public/controllers/fb-message.js.map +1 -1
  58. package/src/api-public/controllers/fb-service.js.map +1 -1
  59. package/src/api-public/controllers/fcm.js.map +1 -1
  60. package/src/api-public/controllers/graph-api.js.map +1 -1
  61. package/src/api-public/controllers/index.js.map +1 -1
  62. package/src/api-public/controllers/invoice.js.map +1 -1
  63. package/src/api-public/controllers/lambda.js.map +1 -1
  64. package/src/api-public/controllers/line-message.js.map +1 -1
  65. package/src/api-public/controllers/manager.js.map +1 -1
  66. package/src/api-public/controllers/oauth.js.map +1 -1
  67. package/src/api-public/controllers/post.js.map +1 -1
  68. package/src/api-public/controllers/progress.js.map +1 -1
  69. package/src/api-public/controllers/rebate.js.map +1 -1
  70. package/src/api-public/controllers/recommend.js.map +1 -1
  71. package/src/api-public/controllers/reconciliation.js.map +1 -1
  72. package/src/api-public/controllers/shop.js.map +1 -1
  73. package/src/api-public/controllers/shopee.js.map +1 -1
  74. package/src/api-public/controllers/sms-points.js.map +1 -1
  75. package/src/api-public/controllers/sms.js.map +1 -1
  76. package/src/api-public/controllers/smtp.js.map +1 -1
  77. package/src/api-public/controllers/sql_api.js.map +1 -1
  78. package/src/api-public/controllers/stock.js.map +1 -1
  79. package/src/api-public/controllers/track.js.map +1 -1
  80. package/src/api-public/controllers/user.js +1 -1
  81. package/src/api-public/controllers/user.js.map +1 -1
  82. package/src/api-public/controllers/user.ts +1 -1
  83. package/src/api-public/controllers/voucher.js.map +1 -1
  84. package/src/api-public/controllers/wallet.js.map +1 -1
  85. package/src/api-public/models/glitter-finance.js +2 -1
  86. package/src/api-public/models/glitter-finance.js.map +1 -1
  87. package/src/api-public/services/EcInvoice.js.map +1 -1
  88. package/src/api-public/services/ai-pointes.js.map +1 -1
  89. package/src/api-public/services/ai-robot.d.ts +1 -0
  90. package/src/api-public/services/ai-robot.js.map +1 -1
  91. package/src/api-public/services/article.js.map +1 -1
  92. package/src/api-public/services/auto-send-email.js.map +1 -1
  93. package/src/api-public/services/chat.js.map +1 -1
  94. package/src/api-public/services/checkout-event.d.ts +3 -1
  95. package/src/api-public/services/checkout-event.js +7 -4
  96. package/src/api-public/services/checkout-event.js.map +1 -1
  97. package/src/api-public/services/checkout-event.ts +26 -17
  98. package/src/api-public/services/checkout.js.map +1 -1
  99. package/src/api-public/services/custom-code.js.map +1 -1
  100. package/src/api-public/services/customer-sessions.js.map +1 -1
  101. package/src/api-public/services/data-analyze.js +3 -3
  102. package/src/api-public/services/data-analyze.js.map +1 -1
  103. package/src/api-public/services/data-analyze.ts +3 -3
  104. package/src/api-public/services/delivery.js.map +1 -1
  105. package/src/api-public/services/ezpay/tool.d.ts +1 -0
  106. package/src/api-public/services/ezpay/tool.js.map +1 -1
  107. package/src/api-public/services/fake-data-model/fake-order.js.map +1 -1
  108. package/src/api-public/services/fake-data-model/fake-product.js.map +1 -1
  109. package/src/api-public/services/fake-data-model/fake-user.js.map +1 -1
  110. package/src/api-public/services/fb-api.d.ts +1 -0
  111. package/src/api-public/services/fb-api.js.map +1 -1
  112. package/src/api-public/services/fb-message.d.ts +1 -0
  113. package/src/api-public/services/fb-message.js.map +1 -1
  114. package/src/api-public/services/fb-service.js +4 -4
  115. package/src/api-public/services/fb-service.js.map +1 -1
  116. package/src/api-public/services/filter-protect-data.js.map +1 -1
  117. package/src/api-public/services/financial-service.d.ts +1 -0
  118. package/src/api-public/services/financial-service.js.map +1 -1
  119. package/src/api-public/services/form-check.js.map +1 -1
  120. package/src/api-public/services/graph-api.js.map +1 -1
  121. package/src/api-public/services/initial-fake-data.js.map +1 -1
  122. package/src/api-public/services/invoice.js.map +1 -1
  123. package/src/api-public/services/language-setting.js.map +1 -1
  124. package/src/api-public/services/line-message.d.ts +1 -0
  125. package/src/api-public/services/line-message.js.map +1 -1
  126. package/src/api-public/services/mail.js.map +1 -1
  127. package/src/api-public/services/manager.js.map +1 -1
  128. package/src/api-public/services/model/handlePaymentTransaction.js.map +1 -1
  129. package/src/api-public/services/model/shopnex-line-message.js.map +1 -1
  130. package/src/api-public/services/monitor.d.ts +1 -0
  131. package/src/api-public/services/monitor.js.map +1 -1
  132. package/src/api-public/services/notify.js.map +1 -1
  133. package/src/api-public/services/order-event.js.map +1 -1
  134. package/src/api-public/services/paynow-logistics.js.map +1 -1
  135. package/src/api-public/services/phone-verify.js.map +1 -1
  136. package/src/api-public/services/pos.js.map +1 -1
  137. package/src/api-public/services/post.js.map +1 -1
  138. package/src/api-public/services/product-initial.js.map +1 -1
  139. package/src/api-public/services/public-table-check.js.map +1 -1
  140. package/src/api-public/services/rebate.js.map +1 -1
  141. package/src/api-public/services/recommend.js.map +1 -1
  142. package/src/api-public/services/reconciliation.js.map +1 -1
  143. package/src/api-public/services/schedule.js.map +1 -1
  144. package/src/api-public/services/share-permission.d.ts +1 -1
  145. package/src/api-public/services/share-permission.js.map +1 -1
  146. package/src/api-public/services/shopee.d.ts +1 -0
  147. package/src/api-public/services/shopee.js.map +1 -1
  148. package/src/api-public/services/shopping.js +5 -9
  149. package/src/api-public/services/shopping.js.map +1 -1
  150. package/src/api-public/services/shopping.ts +4 -10
  151. package/src/api-public/services/sms-pointes.js.map +1 -1
  152. package/src/api-public/services/sms.js.map +1 -1
  153. package/src/api-public/services/stock.js.map +1 -1
  154. package/src/api-public/services/terms-check.js.map +1 -1
  155. package/src/api-public/services/updated-table-checked.js.map +1 -1
  156. package/src/api-public/services/user-update.js.map +1 -1
  157. package/src/api-public/services/user.d.ts +6 -1
  158. package/src/api-public/services/user.js +23 -15
  159. package/src/api-public/services/user.js.map +1 -1
  160. package/src/api-public/services/user.ts +100 -90
  161. package/src/api-public/services/voucher.js.map +1 -1
  162. package/src/api-public/services/wallet.js.map +1 -1
  163. package/src/api-public/services/workers.js.map +1 -1
  164. package/src/api-public/utils/ut-database.js.map +1 -1
  165. package/src/api-public/utils/ut-permission.d.ts +1 -0
  166. package/src/api-public/utils/ut-permission.js.map +1 -1
  167. package/src/app-project/serverless/src/controllers/index.js.map +1 -1
  168. package/src/app-project/serverless/src/controllers/sample.js.map +1 -1
  169. package/src/app-project/serverless/src/modules/database.d.ts +2 -1
  170. package/src/app-project/serverless/src/modules/database.js.map +1 -1
  171. package/src/app-project/serverless/src/modules/exception.js.map +1 -1
  172. package/src/app-project/serverless/src/modules/hooks.js.map +1 -1
  173. package/src/app-project/serverless/src/modules/logger.js.map +1 -1
  174. package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
  175. package/src/app-project/serverless/src/modules/redis.js.map +1 -1
  176. package/src/app-project/serverless/src/modules/response.js.map +1 -1
  177. package/src/app-project/serverless/src/modules/ssh.js.map +1 -1
  178. package/src/config.d.ts +1 -1
  179. package/src/config.js.map +1 -1
  180. package/src/controllers/ai.js.map +1 -1
  181. package/src/controllers/app.js.map +1 -1
  182. package/src/controllers/backend-server.js.map +1 -1
  183. package/src/controllers/filemanager.js.map +1 -1
  184. package/src/controllers/global-event.js.map +1 -1
  185. package/src/controllers/index.js.map +1 -1
  186. package/src/controllers/page.js.map +1 -1
  187. package/src/controllers/private_config.js.map +1 -1
  188. package/src/controllers/template.js.map +1 -1
  189. package/src/controllers/user.js.map +1 -1
  190. package/src/domain-check.js.map +1 -1
  191. package/src/export/export-test.js.map +1 -1
  192. package/src/firebase/message.js +2 -1
  193. package/src/firebase/message.js.map +1 -1
  194. package/src/helper/app_creater.js +2 -1
  195. package/src/helper/app_creater.js.map +1 -1
  196. package/src/helper/glitter-util.d.ts +1 -0
  197. package/src/helper/glitter-util.js.map +1 -1
  198. package/src/index.js +3 -3
  199. package/src/index.js.map +1 -1
  200. package/src/lambda/interface.d.ts +1 -1
  201. package/src/lambda/interface.js +2 -2
  202. package/src/lambda/interface.js.map +1 -1
  203. package/src/modules/AWSLib.js +3 -2
  204. package/src/modules/AWSLib.js.map +1 -1
  205. package/src/modules/caught-error.js.map +1 -1
  206. package/src/modules/database.d.ts +2 -1
  207. package/src/modules/database.js.map +1 -1
  208. package/src/modules/exception.js.map +1 -1
  209. package/src/modules/firebase.js.map +1 -1
  210. package/src/modules/hooks.js.map +1 -1
  211. package/src/modules/logger.js.map +1 -1
  212. package/src/modules/redis.d.ts +1 -1
  213. package/src/modules/redis.js.map +1 -1
  214. package/src/modules/response.js.map +1 -1
  215. package/src/modules/ssh.js.map +1 -1
  216. package/src/modules/tool.d.ts +4 -4
  217. package/src/modules/tool.js +2 -1
  218. package/src/modules/tool.js.map +1 -1
  219. package/src/public-config-initial/auto-fcm.js.map +1 -1
  220. package/src/run.js +2 -1
  221. package/src/run.js.map +1 -1
  222. package/src/seo-config.d.ts +1 -0
  223. package/src/seo-config.js +3 -3
  224. package/src/seo-config.js.map +1 -1
  225. package/src/services/ai.js.map +1 -1
  226. package/src/services/app.js.map +1 -1
  227. package/src/services/backend-service.js.map +1 -1
  228. package/src/services/create-instance.js +4 -3
  229. package/src/services/create-instance.js.map +1 -1
  230. package/src/services/global-event.js.map +1 -1
  231. package/src/services/ios-release.js.map +1 -1
  232. package/src/services/page.js.map +1 -1
  233. package/src/services/private_config.js.map +1 -1
  234. package/src/services/release.js.map +1 -1
  235. package/src/services/saas-table-check.js +2 -2
  236. package/src/services/saas-table-check.js.map +1 -1
  237. package/src/services/seo.js.map +1 -1
  238. package/src/services/ses.js +2 -1
  239. package/src/services/ses.js.map +1 -1
  240. package/src/services/system-schedule.js.map +1 -1
  241. package/src/services/template.js.map +1 -1
  242. package/src/services/tool.js +3 -2
  243. package/src/services/tool.js.map +1 -1
  244. package/src/services/user.js.map +1 -1
  245. package/src/services/web-socket.js.map +1 -1
  246. package/src/update-progress-track.js.map +1 -1
  247. package/src/update-script.js.map +1 -1
  248. package/src/api-public/services/checkout-service.js +0 -1074
@@ -120,35 +120,54 @@ export class OrderSetting {
120
120
  }
121
121
 
122
122
  // 所有狀態 Badge
123
- static getAllStatusBadge(orderData: CartData) {
123
+ static getAllStatusBadge(order: CartData, size: 'sm' | 'md' = 'md') {
124
124
  const paymentBadges: Record<string, string> = {
125
- '0': orderData.orderData.proof_purchase ? BgWidget.warningInsignia('待核款') : BgWidget.notifyInsignia('未付款'),
126
- '1': BgWidget.infoInsignia('已付款'),
127
- '3': BgWidget.warningInsignia('部分付款'),
128
- '-2': BgWidget.notifyInsignia('已退款'),
125
+ '0': (() => {
126
+ if (order.orderData.proof_purchase) {
127
+ return BgWidget.warningInsignia('待核款', { size });
128
+ }
129
+ if (order.orderData.customer_info.payment_select == 'cash_on_delivery') {
130
+ return BgWidget.warningInsignia('貨到付款', { size });
131
+ }
132
+ return BgWidget.notifyInsignia('未付款', { size });
133
+ })(),
134
+ '1': BgWidget.infoInsignia('已付款', { size }),
135
+ '3': BgWidget.warningInsignia('部分付款', { size }),
136
+ '-1': BgWidget.notifyInsignia('付款失敗', { size }),
137
+ '-2': BgWidget.notifyInsignia('已退款', { size }),
129
138
  };
130
139
 
131
140
  const outShipBadges: Record<string, string> = {
132
- finish: BgWidget.infoInsignia('已取貨'),
133
- shipping: BgWidget.warningInsignia('已出貨'),
134
- arrived: BgWidget.warningInsignia('已送達'),
135
- wait: BgWidget.notifyInsignia('未出貨'),
136
- pre_order: BgWidget.notifyInsignia('待預購'),
137
- returns: BgWidget.notifyInsignia('已退貨'),
141
+ finish: BgWidget.infoInsignia('已取貨', { size }),
142
+ shipping: BgWidget.warningInsignia('已出貨', { size }),
143
+ arrived: BgWidget.warningInsignia('已送達', { size }),
144
+ wait: order.orderData.user_info.shipment_number
145
+ ? BgWidget.secondaryInsignia('備貨中', { size })
146
+ : BgWidget.notifyInsignia('未出貨', { size }),
147
+ pre_order: BgWidget.notifyInsignia('待預購', { size }),
148
+ returns: BgWidget.notifyInsignia('已退貨', { size }),
138
149
  };
139
150
 
140
151
  const orderStatusBadges: Record<string, string> = {
141
- '1': BgWidget.infoInsignia('已完成'),
142
- '0': BgWidget.warningInsignia('處理中'),
152
+ '1': BgWidget.infoInsignia('已完成', { size }),
153
+ '0': BgWidget.warningInsignia('處理中', { size }),
154
+ '-1': BgWidget.notifyInsignia('已取消', { size }),
155
+ };
156
+
157
+ const orderSourceBadges: Record<string, string> = {
158
+ manual: BgWidget.primaryInsignia('手動', { type: 'border', size }),
159
+ combine: BgWidget.successInsignia('合併', { type: 'border', size }),
160
+ POS: BgWidget.primaryInsignia('POS', { type: 'border', size }),
161
+ split: BgWidget.successInsignia('拆分', { type: 'border', size }),
162
+ default: '',
143
163
  };
144
164
 
145
- orderData.orderData.orderStatus = orderData.orderData.orderStatus ?? '0';
146
165
  return {
147
- paymentBadge: () => paymentBadges[`${orderData.status}`] || BgWidget.notifyInsignia('付款失敗'),
148
- outShipBadge: () => outShipBadges[orderData.orderData.progress ?? 'wait'] || BgWidget.notifyInsignia('未知狀態'),
149
- orderStatusBadge: () =>
150
- orderStatusBadges[`${orderData.orderData.orderStatus}`] || BgWidget.notifyInsignia('已取消'),
151
- archivedBadge: () => (orderData.orderData.archived === 'true' ? BgWidget.secondaryInsignia('已封存') : ''),
166
+ sourceBadge: () => orderSourceBadges[order.orderData.orderSource ?? 'default'] || orderSourceBadges['default'],
167
+ paymentBadge: () => paymentBadges[`${order.status}`] || paymentBadges['0'],
168
+ outShipBadge: () => outShipBadges[order.orderData.progress ?? 'wait'] || outShipBadges['wait'],
169
+ orderStatusBadge: () => orderStatusBadges[`${order.orderData.orderStatus ?? 0}`] || orderStatusBadges['0'],
170
+ archivedBadge: () => (order.orderData.archived === 'true' ? BgWidget.secondaryInsignia('已封存') : ''),
152
171
  };
153
172
  }
154
173
 
@@ -309,7 +328,7 @@ export class OrderSetting {
309
328
  return postMD
310
329
  .map((item: any) => {
311
330
  if (!item.deduction_log || Object.keys(item.deduction_log).length === 0) {
312
- return ``;
331
+ return '';
313
332
  }
314
333
  return html`
315
334
  <div class="d-inline-flex align-items-center" style="gap:44px;">
@@ -342,7 +361,7 @@ export class OrderSetting {
342
361
  ${stockList
343
362
  .flatMap((stock: any) => {
344
363
  if (!item.deduction_log) {
345
- return ``;
364
+ return '';
346
365
  }
347
366
  const limit = item.stockList?.[stock.id]?.count ?? 0;
348
367
 
@@ -402,7 +421,7 @@ export class OrderSetting {
402
421
  .map((dd: any, index: number) => {
403
422
  return `<div class="${index ? `border-top pt-2` : ` pb-2`}">${dd}</div>`;
404
423
  })
405
- .join(``);
424
+ .join('');
406
425
  } catch (e) {
407
426
  console.error(e);
408
427
  }
@@ -455,10 +474,9 @@ export class OrderSetting {
455
474
  `;
456
475
  },
457
476
  divCreate: {
458
- class: `d-flex align-items-center justify-content-center`,
459
- style: `width: 100vw; height: 100vh;`,
477
+ class: 'd-flex align-items-center justify-content-center',
478
+ style: 'width: 100vw; height: 100vh;',
460
479
  },
461
- onCreate: () => {},
462
480
  });
463
481
  }, 'batchEdit');
464
482
  }
@@ -1783,16 +1801,17 @@ export class OrderSetting {
1783
1801
  bottom: 0;
1784
1802
  z-index: 10;
1785
1803
  }
1786
-
1804
+
1787
1805
  .${vm.prefix}-order-row {
1788
1806
  display: flex;
1789
1807
  align-items: center;
1790
1808
  min-height: 80px;
1791
1809
  }
1792
1810
  .${vm.prefix}-split-rule {
1793
- color: #4D86DB;
1811
+ color: #4d86db;
1794
1812
  font-size: 16px;
1795
- font-weight: 400;text-decoration-line: underline;
1813
+ font-weight: 400;
1814
+ text-decoration-line: underline;
1796
1815
  text-decoration-style: solid;
1797
1816
  text-decoration-skip-ink: none;
1798
1817
  text-decoration-thickness: auto;
@@ -1800,109 +1819,108 @@ export class OrderSetting {
1800
1819
  text-underline-position: from-font;
1801
1820
  cursor: pointer;
1802
1821
  }
1803
- .${vm.prefix}-product-preview-img{
1822
+ .${vm.prefix}-product-preview-img {
1804
1823
  width: 42px;
1805
1824
  height: 42px;
1806
1825
  border-radius: 5px;
1807
1826
  }
1808
- .${vm.prefix}-font-gray{
1827
+ .${vm.prefix}-font-gray {
1809
1828
  color: #8d8d8d;
1810
1829
  }
1811
- .${vm.prefix}-font-blue{
1812
- color: #4D86DB;
1830
+ .${vm.prefix}-font-blue {
1831
+ color: #4d86db;
1813
1832
  }
1814
- .${vm.prefix}-product-input{
1833
+ .${vm.prefix}-product-input {
1815
1834
  border-radius: 10px;
1816
- border: 1px solid #DDD;
1817
- background: #FFF;
1835
+ border: 1px solid #ddd;
1836
+ background: #fff;
1818
1837
  padding: 9px 18px;
1819
1838
  }
1820
- .${vm.prefix}-split-BTN{
1821
- height:26px;
1822
- color:#4D86DB;
1839
+ .${vm.prefix}-split-BTN {
1840
+ height: 26px;
1841
+ color: #4d86db;
1823
1842
  gap: 6px;
1824
- padding:0 18px;
1843
+ padding: 0 18px;
1825
1844
  display: flex;
1826
1845
  align-items: start;
1827
- cursor:pointer;
1846
+ cursor: pointer;
1828
1847
  }
1829
- .${vm.prefix}-minusQty{
1830
- color: #4D86DB;
1848
+ .${vm.prefix}-minusQty {
1849
+ color: #4d86db;
1831
1850
  font-size: 16px;
1832
1851
  font-weight: 400;
1833
1852
  }
1834
- .${vm.prefix}-itemList-section{
1853
+ .${vm.prefix}-itemList-section {
1835
1854
  min-width: 100%;
1836
- border-bottom: 1px solid #DDD;
1837
- padding-top:24px;
1838
- gap:5px;
1855
+ border-bottom: 1px solid #ddd;
1856
+ padding-top: 24px;
1857
+ gap: 5px;
1839
1858
  display: inline-flex;
1840
1859
  }
1841
- .${vm.prefix}-summary-section{
1860
+ .${vm.prefix}-summary-section {
1842
1861
  min-width: 100%;
1843
- border-bottom: 1px solid #DDD;
1844
- width:fit-content;
1862
+ border-bottom: 1px solid #ddd;
1863
+ width: fit-content;
1845
1864
  }
1846
- .${vm.prefix}-summary-title{
1847
- width:606px;
1848
- flex-shrink:0;
1849
- border-right: 1px solid #DDD;
1850
- padding-left:18px;
1851
- padding:9px 18px;
1865
+ .${vm.prefix}-summary-title {
1866
+ width: 606px;
1867
+ flex-shrink: 0;
1868
+ border-right: 1px solid #ddd;
1869
+ padding-left: 18px;
1870
+ padding: 9px 18px;
1852
1871
  display: flex;
1853
1872
  justify-content: end;
1854
1873
  align-items: center;
1855
1874
  }
1856
- .${vm.prefix}-summary-oriSummary{
1857
- width:152px;
1858
- border-right: 1px solid #DDD;
1859
- flex-shrink:0;
1875
+ .${vm.prefix}-summary-oriSummary {
1876
+ width: 152px;
1877
+ border-right: 1px solid #ddd;
1878
+ flex-shrink: 0;
1860
1879
  }
1861
- .${vm.prefix}-summary-subSummary{
1862
- width:155px;
1863
- border-right: 1px solid #DDD;
1864
- flex-shrink:0;
1880
+ .${vm.prefix}-summary-subSummary {
1881
+ width: 155px;
1882
+ border-right: 1px solid #ddd;
1883
+ flex-shrink: 0;
1865
1884
  }
1866
- .${vm.prefix}-summary-raw-BG1{
1867
- background: #F7F7F7;
1885
+ .${vm.prefix}-summary-raw-BG1 {
1886
+ background: #f7f7f7;
1868
1887
  }
1869
- .${vm.prefix}-summary-raw{
1888
+ .${vm.prefix}-summary-raw {
1870
1889
  display: flex;
1871
1890
  font-size: 16px;
1872
1891
  align-items: center;
1873
- justify-content:start;
1874
- padding-left:18px;
1892
+ justify-content: start;
1893
+ padding-left: 18px;
1875
1894
  }
1876
- .${vm.prefix}-summary-raw1{
1895
+ .${vm.prefix}-summary-raw1 {
1877
1896
  display: flex;
1878
1897
  font-size: 16px;
1879
1898
  font-weight: 700;
1880
1899
  align-items: end;
1881
- justify-content:start;
1882
- padding-left:18px;
1883
- padding-bottom:9px;
1900
+ justify-content: start;
1901
+ padding-left: 18px;
1902
+ padding-bottom: 9px;
1884
1903
  }
1885
- .${vm.prefix}-summary-right{
1886
- margin:0 6px;
1904
+ .${vm.prefix}-summary-right {
1905
+ margin: 0 6px;
1887
1906
  }
1888
-
1889
- .${vm.prefix}-dialog-ul{
1890
- padding:6px ;
1891
-
1907
+ .${vm.prefix}-dialog-ul {
1908
+ padding: 6px;
1892
1909
  }
1893
- .${vm.prefix}-dialog-ul li{
1910
+ .${vm.prefix}-dialog-ul-p24 {
1911
+ padding: 6px 24px;
1912
+ }
1913
+ .${vm.prefix}-dialog-ul li {
1894
1914
  margin-bottom: 3px;
1895
- list-style:disc;
1896
- text-align:left;
1897
- white-space:break-spaces;
1915
+ list-style: disc;
1916
+ text-align: left;
1917
+ white-space: break-spaces;
1898
1918
  }
1899
1919
  `);
1900
1920
  };
1901
1921
 
1902
1922
  const closeDialog = () => glitter.closeDiaLog();
1903
1923
 
1904
-
1905
-
1906
1924
  const renderHeader = (gvc: GVC) =>
1907
1925
  gvc.bindView({
1908
1926
  bind: ids.header,
@@ -1928,7 +1946,7 @@ export class OrderSetting {
1928
1946
  <div class="tx_normal text-start">
1929
1947
  您即將拆分訂單,系統將產生 ${splitOrderArray.length} 筆子訂單,拆分後:
1930
1948
  </div>
1931
- <ul class="${gClass('dialog-ul')}">
1949
+ <ul class="${gClass('dialog-ul')} ${gClass('dialog-ul-p24')}">
1932
1950
  <li>原訂單調整金額與折扣,運費及附加費維持不變。子訂單按比例分配優惠。</li>
1933
1951
  <li>子訂單繼承母訂單設定,發票需手動作廢與重開。</li>
1934
1952
  <li>代收金額更新,已建立的出貨單需取消並重新建立。</li>
@@ -2005,7 +2023,6 @@ export class OrderSetting {
2005
2023
 
2006
2024
  //處理每件商品在原訂單上的庫存
2007
2025
  orderData.lineItems.forEach((lineItem: any, index: number) => {
2008
- let count = 0;
2009
2026
  splitOrderArray.forEach(order => {
2010
2027
  lineItem.count -= order.lineItems[index].count;
2011
2028
  const resultTS: DeductionResult = deductFromStoresTS(
@@ -2057,7 +2074,7 @@ export class OrderSetting {
2057
2074
  return (iCount += lineItem.count);
2058
2075
  }, 0);
2059
2076
  origQtyZero = iSplitQtyCount === iQtyCount;
2060
- let checkBTN = ``;
2077
+ let checkBTN = '';
2061
2078
  if (allOrdersHaveZeroItems || origQtyZero) {
2062
2079
  checkBTN = BgWidget.disableSave('拆分訂單');
2063
2080
  } else {
@@ -2075,13 +2092,6 @@ export class OrderSetting {
2075
2092
  ? ''
2076
2093
  : 'border-radius: 10px; padding: 12px; background: #fff; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.08);';
2077
2094
 
2078
- // 字體顏色
2079
- const fontColor = {
2080
- success: '#10931D',
2081
- error: '#DA1313',
2082
- normal: '#393939',
2083
- };
2084
-
2085
2095
  // 拆單須知
2086
2096
  const hits = [
2087
2097
  '原訂單將保留剩餘商品,訂單金額與折扣將調整;子訂單將包含選定商品,並按比例分配優惠折扣',
@@ -2097,7 +2107,7 @@ export class OrderSetting {
2097
2107
  <ul class="mt-2 ms-4 ${gClass('dialog-ul')}">
2098
2108
  ${hits
2099
2109
  .map(hit => {
2100
- return html` <li class="">${hit}</li>`;
2110
+ return html` <li>${hit}</li>`;
2101
2111
  })
2102
2112
  .join('')}
2103
2113
  </ul>
@@ -2108,16 +2118,17 @@ export class OrderSetting {
2108
2118
  gvc: gvc,
2109
2119
  title: '拆單需知',
2110
2120
  width: 766,
2111
- innerHTML: gvc => {
2112
- return html` <ul class="${gClass('dialog-ul')}">
2113
- <li>
2114
- 原訂單將保留剩餘商品,訂單金額與折扣將調整;子訂單將包含選定商品,並按比例分配優惠折扣
2115
- </li>
2116
- <li>拆單後運費及附加費用不變,將保留於原訂單內,如需更改,請手動編輯訂單新增費用</li>
2117
- <li>子訂單會預設繼承母訂單的配送與付款方式,如需更改,請手動編輯訂單內容</li>
2118
- <li>子訂單若要重新開立發票,請至發票頁面手動建立</li>
2119
- <li>若發票已開立,系統不會自動作廢,需至訂單頁面手動作廢並重新開立</li>
2120
- <li>代收金額將更新,已建立的出貨單需取消並重新建立</li>
2121
+ innerHTML: () => {
2122
+ const list = [
2123
+ '原訂單將保留剩餘商品,訂單金額與折扣將調整;子訂單將包含選定商品,並按比例分配優惠折扣',
2124
+ '拆單後運費及附加費用不變,將保留於原訂單內,如需更改,請手動編輯訂單新增費用',
2125
+ '子訂單會預設繼承母訂單的配送與付款方式,如需更改,請手動編輯訂單內容',
2126
+ '子訂單若要重新開立發票,請至發票頁面手動建立',
2127
+ '若發票已開立,系統不會自動作廢,需至訂單頁面手動作廢並重新開立',
2128
+ '代收金額將更新,已建立的出貨單需取消並重新建立',
2129
+ ];
2130
+ return html` <ul class="${gClass('dialog-ul')} ${gClass('dialog-ul-p24')}">
2131
+ ${list.map(text => html`<li>${text}</li>`).join('')}
2121
2132
  </ul>`;
2122
2133
  },
2123
2134
  footer_html: (gvc: GVC) => {
@@ -2280,37 +2291,37 @@ export class OrderSetting {
2280
2291
  .join('');
2281
2292
  }
2282
2293
  case 'stock': {
2283
-
2284
2294
  if (storeList.length > 0) {
2285
- return dataArray.map((item)=>{
2286
- let maxEntry = {
2287
- key:"",
2288
- title: "",
2289
- value: 0
2290
- };
2291
- console.log("item.deduction_log -- " , item.deduction_log);
2292
- Object.entries(item.deduction_log).forEach((log:any)=>{
2293
- if (maxEntry.value < log[1]){
2294
- maxEntry = {
2295
- key: log[0],
2296
- title: log[0],
2297
- value: log[1]
2295
+ return dataArray
2296
+ .map(item => {
2297
+ let maxEntry = {
2298
+ key: '',
2299
+ title: '',
2300
+ value: 0,
2301
+ };
2302
+ Object.entries(item.deduction_log).forEach((log: any) => {
2303
+ if (maxEntry.value < log[1]) {
2304
+ maxEntry = {
2305
+ key: log[0],
2306
+ title: log[0],
2307
+ value: log[1],
2308
+ };
2298
2309
  }
2299
- }
2300
- })
2310
+ });
2301
2311
 
2302
- maxEntry.title = storeList.find((store:any)=>{
2303
- return store.id ==maxEntry.key
2304
- }).name;
2305
- return html`
2306
- <div
2307
- class="tx_normal ${commonClass} justify-content-start"
2308
- style="width: ${dataRaw.width};${commonHeight}"
2309
- >
2310
- ${maxEntry.title??"出貨庫存錯誤"}
2311
- </div>
2312
- `;
2313
- }).join('')
2312
+ maxEntry.title = storeList.find((store: any) => {
2313
+ return store.id == maxEntry.key;
2314
+ }).name;
2315
+ return html`
2316
+ <div
2317
+ class="tx_normal ${commonClass} justify-content-start"
2318
+ style="width: ${dataRaw.width};${commonHeight}"
2319
+ >
2320
+ ${maxEntry.title ?? '出貨庫存錯誤'}
2321
+ </div>
2322
+ `;
2323
+ })
2324
+ .join('');
2314
2325
  }
2315
2326
 
2316
2327
  return html`
@@ -2457,10 +2468,11 @@ export class OrderSetting {
2457
2468
  // break;
2458
2469
  // }
2459
2470
  // }
2460
- // return html``;
2471
+ // return html'';
2461
2472
  // })
2462
2473
  // .join('');
2463
2474
  // });
2475
+
2464
2476
  return html`
2465
2477
  ${dataRaws
2466
2478
  .map(item => {
@@ -2475,7 +2487,7 @@ export class OrderSetting {
2475
2487
  view: () => {
2476
2488
  return (
2477
2489
  drawLineItems(item) +
2478
- html` <div class="${commonClass} mt-3" style="width: ${item.width};"></div>`
2490
+ html`<div class="${commonClass} mt-3" style="width: ${item.width};"></div>`
2479
2491
  );
2480
2492
  },
2481
2493
  divCreate: {
@@ -2490,9 +2502,12 @@ export class OrderSetting {
2490
2502
  <div class="d-flex flex-shrink-0" style="overflow-x: scroll;gap:5px;">${drawSplitOrder()} ${addBTN}</div>
2491
2503
  `;
2492
2504
  },
2493
- divCreate: { style: '', class: `${gClass('itemList-section')}` },
2505
+ divCreate: {
2506
+ class: `${gClass('itemList-section')}`,
2507
+ },
2494
2508
  });
2495
2509
  };
2510
+
2496
2511
  const renderSummary = (gvc: GVC) => {
2497
2512
  return gvc.bindView({
2498
2513
  bind: ids.summary,
@@ -2647,7 +2662,6 @@ export class OrderSetting {
2647
2662
  return gvc.bindView({
2648
2663
  bind: ids.page,
2649
2664
  view: () => {
2650
-
2651
2665
  if (vm.loading) {
2652
2666
  glitter.share.loading_dialog.dataLoading({ text: '載入中...', visible: true });
2653
2667
  ApiUser.getPublicConfig('store_manager', 'manager').then((dd: any) => {
@@ -2657,7 +2671,7 @@ export class OrderSetting {
2657
2671
  gvc.notifyDataChange(ids.page);
2658
2672
  }
2659
2673
  });
2660
- }else {
2674
+ } else {
2661
2675
  glitter.share.loading_dialog.dataLoading({ text: '載入中...', visible: false });
2662
2676
  }
2663
2677
 
@@ -505,29 +505,21 @@ ProductsPage.pageSplitV2 = (gvc, countPage, nowPage, callback) => {
505
505
  </div>
506
506
  </li>
507
507
  ${glitter.print(() => {
508
- if (nowPage - 2 > 0) {
509
- return generator(nowPage - 2) + generator(nowPage - 1);
510
- }
511
- else if (nowPage - 1 > 0) {
512
- return generator(nowPage - 1);
513
- }
514
- else {
515
- return ``;
508
+ let result = '';
509
+ for (let i = Math.max(1, nowPage - 4); i < nowPage; i++) {
510
+ result += generator(i);
516
511
  }
512
+ return result;
517
513
  })}
518
514
  <li class="page-item active mx-0" style="border-radius: 100%">
519
515
  <div class="page-link-v2 page-link-active">${nowPage}</div>
520
516
  </li>
521
517
  ${glitter.print(() => {
522
- if (nowPage + 2 <= countPage) {
523
- return generator(nowPage + 1) + generator(nowPage + 2);
524
- }
525
- else if (nowPage + 1 <= countPage) {
526
- return generator(nowPage + 1);
527
- }
528
- else {
529
- return ``;
518
+ let result = '';
519
+ for (let i = nowPage + 1; i <= Math.min(nowPage + 4, countPage); i++) {
520
+ result += generator(i);
530
521
  }
522
+ return result;
531
523
  })}
532
524
  <li class="page-item ms-0">
533
525
  <div
@@ -47,25 +47,23 @@ export class ProductsPage {
47
47
  </div>
48
48
  </li>
49
49
  ${glitter.print(() => {
50
- if (nowPage - 2 > 0) {
51
- return generator(nowPage - 2) + generator(nowPage - 1);
52
- } else if (nowPage - 1 > 0) {
53
- return generator(nowPage - 1);
54
- } else {
55
- return ``;
50
+ let result = '';
51
+ // 產生前面四頁的按鈕
52
+ for (let i = Math.max(1, nowPage - 4); i < nowPage; i++) {
53
+ result += generator(i);
56
54
  }
55
+ return result;
57
56
  })}
58
57
  <li class="page-item active mx-0" style="border-radius: 100%">
59
58
  <div class="page-link-v2 page-link-active">${nowPage}</div>
60
59
  </li>
61
60
  ${glitter.print(() => {
62
- if (nowPage + 2 <= countPage) {
63
- return generator(nowPage + 1) + generator(nowPage + 2);
64
- } else if (nowPage + 1 <= countPage) {
65
- return generator(nowPage + 1);
66
- } else {
67
- return ``;
61
+ let result = '';
62
+ // 產生後面四頁的按鈕
63
+ for (let i = nowPage + 1; i <= Math.min(nowPage + 4, countPage); i++) {
64
+ result += generator(i);
68
65
  }
66
+ return result;
69
67
  })}
70
68
  <li class="page-item ms-0">
71
69
  <div