ts-glitter 20.6.8 → 20.6.9

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 (160) hide show
  1. package/lowcode/Entry.js +2 -2
  2. package/lowcode/Entry.ts +2 -2
  3. package/lowcode/backend-manager/bg-blog.js +617 -621
  4. package/lowcode/backend-manager/bg-blog.ts +2323 -2325
  5. package/lowcode/backend-manager/bg-line.js +5 -4
  6. package/lowcode/backend-manager/bg-line.ts +5 -4
  7. package/lowcode/backend-manager/bg-list-component.js +9 -0
  8. package/lowcode/backend-manager/bg-list-component.ts +15 -1
  9. package/lowcode/backend-manager/bg-notify.js +6 -4
  10. package/lowcode/backend-manager/bg-notify.ts +6 -4
  11. package/lowcode/backend-manager/bg-product.js +145 -0
  12. package/lowcode/backend-manager/bg-product.ts +153 -0
  13. package/lowcode/backend-manager/bg-sns.js +5 -3
  14. package/lowcode/backend-manager/bg-sns.ts +5 -3
  15. package/lowcode/backend-manager/bg-widget.js +92 -4
  16. package/lowcode/backend-manager/bg-widget.ts +122 -6
  17. package/lowcode/backend-manager/splitPage.js +0 -39
  18. package/lowcode/backend-manager/splitPage.ts +0 -40
  19. package/lowcode/cms-plugin/auto-fcm-advertise.js +17 -5
  20. package/lowcode/cms-plugin/auto-fcm-advertise.ts +19 -6
  21. package/lowcode/cms-plugin/auto-fcm-history.js +2732 -0
  22. package/lowcode/cms-plugin/auto-fcm-history.ts +2995 -0
  23. package/lowcode/cms-plugin/cms-router.js +5 -0
  24. package/lowcode/cms-plugin/cms-router.ts +6 -0
  25. package/lowcode/cms-plugin/filter-options.js +80 -27
  26. package/lowcode/cms-plugin/filter-options.ts +83 -27
  27. package/lowcode/cms-plugin/language-backend.js +50 -39
  28. package/lowcode/cms-plugin/language-backend.ts +109 -95
  29. package/lowcode/cms-plugin/menus-setting.js +175 -151
  30. package/lowcode/cms-plugin/menus-setting.ts +620 -591
  31. package/lowcode/cms-plugin/model/order.d.ts +1 -0
  32. package/lowcode/cms-plugin/module/data.js +7 -7
  33. package/lowcode/cms-plugin/module/data.ts +262 -233
  34. package/lowcode/cms-plugin/module/delivery-html.js +18 -10
  35. package/lowcode/cms-plugin/module/delivery-html.ts +26 -10
  36. package/lowcode/cms-plugin/module/order-setting.js +458 -328
  37. package/lowcode/cms-plugin/module/order-setting.ts +622 -351
  38. package/lowcode/cms-plugin/module/product-excel.js +1 -1
  39. package/lowcode/cms-plugin/module/product-excel.ts +2 -1
  40. package/lowcode/cms-plugin/order/order-module.js +90 -1
  41. package/lowcode/cms-plugin/order/order-module.ts +106 -1
  42. package/lowcode/cms-plugin/pos-pages/payment-page.js +11 -8
  43. package/lowcode/cms-plugin/pos-pages/payment-page.ts +28 -15
  44. package/lowcode/cms-plugin/pos-pages/products-page.js +0 -39
  45. package/lowcode/cms-plugin/pos-pages/products-page.ts +0 -40
  46. package/lowcode/cms-plugin/shopping-collections.ts +1 -3
  47. package/lowcode/cms-plugin/shopping-finance-setting.js +19 -80
  48. package/lowcode/cms-plugin/shopping-finance-setting.ts +19 -87
  49. package/lowcode/cms-plugin/shopping-order-manager.js +122 -38
  50. package/lowcode/cms-plugin/shopping-order-manager.ts +160 -58
  51. package/lowcode/cms-plugin/shopping-product-setting.js +364 -376
  52. package/lowcode/cms-plugin/shopping-product-setting.ts +406 -415
  53. package/lowcode/cms-plugin/shopping-setting-advance.js +57 -16
  54. package/lowcode/cms-plugin/shopping-setting-advance.ts +69 -18
  55. package/lowcode/cms-plugin/user/user-module.js +2 -43
  56. package/lowcode/cms-plugin/user/user-module.ts +2 -46
  57. package/lowcode/cms-plugin/user-list.js +4 -6
  58. package/lowcode/cms-plugin/user-list.ts +35 -38
  59. package/lowcode/css/editor.css +42 -3
  60. package/lowcode/glitter-base/global/language.js +6 -1
  61. package/lowcode/glitter-base/global/language.ts +10 -4
  62. package/lowcode/glitter-base/global/payment-config.js +19 -16
  63. package/lowcode/glitter-base/global/payment-config.ts +22 -16
  64. package/lowcode/glitter-base/global/shipment-config.js +6 -5
  65. package/lowcode/glitter-base/global/shipment-config.ts +12 -10
  66. package/lowcode/glitter-base/route/fcm.js +21 -1
  67. package/lowcode/glitter-base/route/fcm.ts +22 -2
  68. package/lowcode/glitter-base/route/shopping.js +8 -32
  69. package/lowcode/glitter-base/route/shopping.ts +10 -33
  70. package/lowcode/glitter-base/route/user.js +11 -2
  71. package/lowcode/glitter-base/route/user.ts +23 -12
  72. package/lowcode/jspage/function-page/setting_editor.js +9 -0
  73. package/lowcode/jspage/function-page/setting_editor.ts +9 -0
  74. package/lowcode/public-components/blogs/list.js +223 -195
  75. package/lowcode/public-components/blogs/list.ts +383 -352
  76. package/lowcode/public-components/product/product-list.js +8 -4
  77. package/lowcode/public-components/product/product-list.ts +9 -4
  78. package/lowcode/public-components/terms-related/index.js +1 -1
  79. package/lowcode/public-components/terms-related/index.ts +1 -1
  80. package/lowcode/public-components/user-manager/um-login.js +1 -1
  81. package/lowcode/public-components/user-manager/um-login.ts +2 -2
  82. package/lowcode/public-components/user-manager/um-order.js +41 -5
  83. package/lowcode/public-components/user-manager/um-order.ts +58 -20
  84. package/lowcode/public-components/user-manager/um-voucher.ts +2 -2
  85. package/nhi4veq3gk.json +1 -0
  86. package/package.json +1 -1
  87. package/src/Language.d.ts +2 -0
  88. package/src/Language.js +66 -65
  89. package/src/Language.js.map +1 -1
  90. package/src/Language.ts +719 -715
  91. package/src/api-public/config/shipment-config.js +3 -2
  92. package/src/api-public/config/shipment-config.js.map +1 -1
  93. package/src/api-public/config/shipment-config.ts +3 -2
  94. package/src/api-public/controllers/ai-chat.js.map +1 -1
  95. package/src/api-public/controllers/ai-chat.ts +1 -2
  96. package/src/api-public/controllers/fcm.js +23 -58
  97. package/src/api-public/controllers/fcm.js.map +1 -1
  98. package/src/api-public/controllers/fcm.ts +28 -56
  99. package/src/api-public/controllers/shop.js +7 -1
  100. package/src/api-public/controllers/shop.js.map +1 -1
  101. package/src/api-public/controllers/shop.ts +17 -10
  102. package/src/api-public/controllers/user.js +1 -0
  103. package/src/api-public/controllers/user.js.map +1 -1
  104. package/src/api-public/controllers/user.ts +2 -0
  105. package/src/api-public/services/auto-send-email.js +247 -187
  106. package/src/api-public/services/auto-send-email.js.map +1 -1
  107. package/src/api-public/services/auto-send-email.ts +568 -505
  108. package/src/api-public/services/delivery.js +1 -1
  109. package/src/api-public/services/delivery.js.map +1 -1
  110. package/src/api-public/services/delivery.ts +6 -5
  111. package/src/api-public/services/financial-service.js +1 -2
  112. package/src/api-public/services/financial-service.js.map +1 -1
  113. package/src/api-public/services/financial-service.ts +4 -6
  114. package/src/api-public/services/manager.d.ts +4 -3
  115. package/src/api-public/services/manager.js +8 -12
  116. package/src/api-public/services/manager.js.map +1 -1
  117. package/src/api-public/services/manager.ts +57 -59
  118. package/src/api-public/services/model/handlePaymentTransaction.d.ts +1 -1
  119. package/src/api-public/services/model/handlePaymentTransaction.js +23 -3
  120. package/src/api-public/services/model/handlePaymentTransaction.js.map +1 -1
  121. package/src/api-public/services/model/handlePaymentTransaction.ts +25 -36
  122. package/src/api-public/services/schedule.d.ts +1 -0
  123. package/src/api-public/services/schedule.js +27 -0
  124. package/src/api-public/services/schedule.js.map +1 -1
  125. package/src/api-public/services/schedule.ts +30 -0
  126. package/src/api-public/services/shopping.d.ts +22 -2
  127. package/src/api-public/services/shopping.js +362 -90
  128. package/src/api-public/services/shopping.js.map +1 -1
  129. package/src/api-public/services/shopping.ts +481 -134
  130. package/src/api-public/services/user.d.ts +1 -0
  131. package/src/api-public/services/user.js +32 -12
  132. package/src/api-public/services/user.js.map +1 -1
  133. package/src/api-public/services/user.ts +38 -19
  134. package/src/api-public/services/workers.js +3 -3
  135. package/src/api-public/services/workers.js.map +1 -1
  136. package/src/api-public/services/workers.ts +103 -103
  137. package/src/app-project/serverless/src/modules/database.js +1 -1
  138. package/src/app-project/serverless/src/modules/database.js.map +1 -1
  139. package/src/app-project/serverless/src/modules/database.ts +171 -171
  140. package/src/controllers/template.d.ts +1 -1
  141. package/src/controllers/template.js +16 -16
  142. package/src/controllers/template.js.map +1 -1
  143. package/src/controllers/template.ts +98 -84
  144. package/src/modules/database.js +3 -1
  145. package/src/modules/database.js.map +1 -1
  146. package/src/modules/database.ts +185 -181
  147. package/src/modules/firebase.d.ts +17 -0
  148. package/src/modules/firebase.js +126 -0
  149. package/src/modules/firebase.js.map +1 -1
  150. package/src/modules/firebase.ts +169 -0
  151. package/src/public-config-initial/auto-fcm.js +8 -2
  152. package/src/public-config-initial/auto-fcm.js.map +1 -1
  153. package/src/public-config-initial/auto-fcm.ts +15 -6
  154. package/src/services/app.d.ts +2 -1
  155. package/src/services/app.js.map +1 -1
  156. package/src/services/app.ts +2 -1
  157. package/src/services/template.d.ts +3 -2
  158. package/src/services/template.js +2 -1
  159. package/src/services/template.js.map +1 -1
  160. package/src/services/template.ts +13 -20
@@ -28,6 +28,7 @@ import { LineItem } from './module/data.js';
28
28
  import { OrderModule } from './order/order-module.js';
29
29
 
30
30
  const html = String.raw;
31
+ const css = String.raw;
31
32
 
32
33
  class OrderDetail {
33
34
  subtotal: number;
@@ -258,27 +259,26 @@ export class ShoppingOrderManager {
258
259
  </div>
259
260
  </div>
260
261
  <div class="${query.isShipment ? '' : 'd-none'} mb-3"></div>
261
- <div class="${query.isShipment ? 'd-none' : ''}">
262
- ${BgWidget.tab(
263
- query.isPOS
264
- ? [
265
- { title: '所有訂單', key: 'all' },
266
- { title: 'POS訂單', key: 'pos' },
267
- { title: '線上訂單', key: 'normal' },
268
- ]
269
- : [
270
- { title: '所有訂單', key: 'all' },
271
- { title: '線上訂單', key: 'normal' },
272
- { title: 'POS訂單', key: 'pos' },
273
- ],
274
- gvc,
275
- vm.filter_type,
276
- text => {
277
- vm.filter_type = text as any;
278
- gvc.notifyDataChange(vm.id);
279
- }
280
- )}
281
- </div>
262
+ ${BgWidget.tab(
263
+ query.isPOS
264
+ ? [
265
+ { title: '所有訂單', key: 'all' },
266
+ { title: 'POS訂單', key: 'pos' },
267
+ { title: '線上訂單', key: 'normal' },
268
+ ]
269
+ : [
270
+ { title: '所有訂單', key: 'all' },
271
+ { title: '線上訂單', key: 'normal' },
272
+ { title: 'POS訂單', key: 'pos' },
273
+ ],
274
+ gvc,
275
+ vm.filter_type,
276
+ text => {
277
+ vm.filter_type = text as any;
278
+ gvc.notifyDataChange(vm.id);
279
+ },
280
+ query.isShipment ? 'display: none;' : ''
281
+ )}
282
282
  ${BgWidget.mainCard(
283
283
  [
284
284
  gvc.bindView({
@@ -355,7 +355,7 @@ export class ShoppingOrderManager {
355
355
  }),
356
356
  ];
357
357
 
358
- const filterTags = ListComp.getFilterTags(await FilterOptions.getOrderFunnel());
358
+ const filterTags = ListComp.getFilterTags(orderFunnel);
359
359
  return BgListComponent.listBarRWD(filterList, filterTags);
360
360
  },
361
361
  }),
@@ -958,6 +958,10 @@ export class ShoppingOrderManager {
958
958
  }
959
959
  gvc.closeDialog();
960
960
  orders.forEach(order => {
961
+ if (['wait', 'returns', undefined].includes(progress)) {
962
+ order.orderData.user_info.shipment_number = '';
963
+ }
964
+
961
965
  order.orderData.progress = progress;
962
966
  });
963
967
  updateOrders(orders);
@@ -1134,7 +1138,6 @@ export class ShoppingOrderManager {
1134
1138
  });
1135
1139
  orderData = structuredClone(orderDataNew.response.data[0]);
1136
1140
  originData = structuredClone(orderData);
1137
- console.log('orderDataNew.response.data -- ', orderDataNew.response.data);
1138
1141
  }
1139
1142
 
1140
1143
  orderData.orderData.progress = orderData.orderData.progress ?? 'wait';
@@ -1202,9 +1205,19 @@ export class ShoppingOrderManager {
1202
1205
  }
1203
1206
 
1204
1207
  const funBTN = () => {
1205
- gvc.addStyle(html`
1206
- .funInsignia{ border-radius: 10px; background: #EAEAEA; display: flex; padding: 6px 18px; justify-content:
1207
- center; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; cursor: pointer; }
1208
+ gvc.addStyle(css`
1209
+ .funInsignia {
1210
+ border-radius: 10px;
1211
+ background: #eaeaea;
1212
+ display: flex;
1213
+ padding: 6px 18px;
1214
+ justify-content: center;
1215
+ align-items: center;
1216
+ gap: 8px;
1217
+ font-size: 16px;
1218
+ font-weight: 700;
1219
+ cursor: pointer;
1220
+ }
1208
1221
  `);
1209
1222
  return {
1210
1223
  splitOrder: () => {
@@ -1212,8 +1225,9 @@ export class ShoppingOrderManager {
1212
1225
  class="funInsignia"
1213
1226
  style=""
1214
1227
  onclick="${gvc.event(() => {
1215
- console.log('orderData -- ', orderData);
1216
-
1228
+ if (orderData.orderData.orderSource == 'split') {
1229
+ return;
1230
+ }
1217
1231
  OrderSetting.splitOrder(gvc, orderData.orderData, () => gvc.notifyDataChange(vm.id));
1218
1232
  })}"
1219
1233
  >
@@ -1315,13 +1329,28 @@ export class ShoppingOrderManager {
1315
1329
  </div>
1316
1330
  ${BgWidget.mbContainer(12)}
1317
1331
  <div class="ms-auto w-100">
1318
- ${EditorElem.select({
1319
- title: '',
1320
- gvc: gvc,
1321
- def: `${orderData.orderData.progress}`,
1322
- array: ApiShop.getProgressArray(orderData.orderData.user_info.shipment_number),
1323
- readonly: orderData.orderData.user_info.shipment_refer === 'paynow' || is_archive,
1324
- callback: text => {
1332
+ ${BgWidget.select({
1333
+ gvc,
1334
+ default: (() => {
1335
+ if (!orderData.orderData.progress) {
1336
+ return 'wait';
1337
+ }
1338
+
1339
+ if (
1340
+ orderData.orderData.progress === 'wait' &&
1341
+ orderData.orderData.user_info.shipment_number
1342
+ ) {
1343
+ return 'in_stock';
1344
+ }
1345
+
1346
+ return orderData.orderData.progress;
1347
+ })(),
1348
+
1349
+ options: OrderSetting.getShippmentOpt(),
1350
+ callback: (text: any) => {
1351
+ const emptyStatus = ['wait', 'returns', undefined, ''];
1352
+ const addNumberStatus = ['arrived', 'finish', 'shipping', 'in_stock'];
1353
+
1325
1354
  function next() {
1326
1355
  if (text && text !== `${orderData.orderData.progress}`) {
1327
1356
  orderData.orderData.progress = text;
@@ -1329,16 +1358,24 @@ export class ShoppingOrderManager {
1329
1358
  }
1330
1359
 
1331
1360
  if (
1332
- ['', 'wait'].includes(orderData.orderData.progress) &&
1333
- !orderData.orderData.user_info.shipment_number &&
1334
- text !== 'pre_order'
1361
+ emptyStatus.includes(orderData.orderData.progress) &&
1362
+ addNumberStatus.includes(text) &&
1363
+ !orderData.orderData.user_info.shipment_number
1335
1364
  ) {
1336
1365
  dialog.checkYesOrNot({
1337
1366
  text: '尚未新增出貨單,是否隨機取號並變更出貨狀態?',
1338
1367
  callback: response => {
1339
1368
  if (response) {
1340
- (orderData.orderData.user_info.shipment_number as any) = new Date().getTime();
1341
1369
  next();
1370
+
1371
+ orderData.orderData.user_info.shipment_number = emptyStatus.includes(text)
1372
+ ? ''
1373
+ : `${new Date().getTime()}`;
1374
+
1375
+ if (orderData.orderData.progress === 'in_stock') {
1376
+ orderData.orderData.progress = 'wait';
1377
+ }
1378
+
1342
1379
  saveEvent();
1343
1380
  }
1344
1381
  gvc.notifyDataChange('Edit');
@@ -1348,6 +1385,7 @@ export class ShoppingOrderManager {
1348
1385
  next();
1349
1386
  }
1350
1387
  },
1388
+ readonly: orderData.orderData.user_info.shipment_refer === 'paynow' || is_archive,
1351
1389
  })}
1352
1390
  </div>`,
1353
1391
  html` <div class="tx_700">配送方式</div>
@@ -1600,8 +1638,9 @@ export class ShoppingOrderManager {
1600
1638
  'FAMIC2C',
1601
1639
  'OKMARTC2C',
1602
1640
  'HILIFEC2C',
1603
- 'normal',
1604
1641
  'UNIMARTFREEZE',
1642
+ 'FAMIC2CFREEZE',
1643
+ 'normal',
1605
1644
  'black_cat',
1606
1645
  'black_cat_freezing',
1607
1646
  ].includes(orderData.orderData.user_info.shipment)
@@ -1678,9 +1717,14 @@ export class ShoppingOrderManager {
1678
1717
  return dd.value === orderData.orderData.user_info.shipment;
1679
1718
  });
1680
1719
  if (
1681
- ['UNIMARTC2C', 'FAMIC2C', 'OKMARTC2C', 'HILIFEC2C', 'UNIMARTFREEZE'].includes(
1682
- orderData.orderData.user_info.shipment
1683
- )
1720
+ [
1721
+ 'UNIMARTC2C',
1722
+ 'FAMIC2C',
1723
+ 'OKMARTC2C',
1724
+ 'HILIFEC2C',
1725
+ 'UNIMARTFREEZE',
1726
+ 'FAMIC2CFREEZE',
1727
+ ].includes(orderData.orderData.user_info.shipment)
1684
1728
  ) {
1685
1729
  return html`
1686
1730
  <div class="d-flex flex-wrap">
@@ -1963,7 +2007,7 @@ export class ShoppingOrderManager {
1963
2007
  ${document.body.clientWidth > 768 ? getBadgeList() : ''}
1964
2008
  </div>
1965
2009
  ${document.body.clientWidth > 768 ? '' : html` <div class="mt-1 mb-3">${getBadgeList()}</div>`}
1966
- <div class="d-none justify-content-end">${funBTN().splitOrder()}</div>
2010
+ <div class="d-flex justify-content-end">${funBTN().splitOrder()}</div>
1967
2011
  ${BgWidget.container1x2(
1968
2012
  {
1969
2013
  html: [
@@ -1985,16 +2029,23 @@ export class ShoppingOrderManager {
1985
2029
  .find(dd => {
1986
2030
  return dd.value == (orderData.orderData.orderStatus ?? '0');
1987
2031
  })?.title
1988
- : EditorElem.select({
2032
+ : BgWidget.select({
1989
2033
  title: '',
1990
2034
  gvc: gvc,
1991
- def: orderData.orderData.orderStatus ?? '0',
1992
- array: [
2035
+ default: orderData.orderData.orderStatus ?? '0',
2036
+ options: [
1993
2037
  {
1994
2038
  title: '變更訂單狀態',
1995
2039
  value: '',
1996
2040
  },
1997
- ].concat(ApiShop.getOrderStatusArray()),
2041
+ ]
2042
+ .concat(ApiShop.getOrderStatusArray())
2043
+ .map(item => {
2044
+ return {
2045
+ key: item.value,
2046
+ value: item.title,
2047
+ };
2048
+ }),
1998
2049
  callback: text => {
1999
2050
  orderData.orderData.orderStatus = orderData.orderData.orderStatus || '0';
2000
2051
  if (text && text !== orderData.orderData.orderStatus) {
@@ -2077,10 +2128,8 @@ export class ShoppingOrderManager {
2077
2128
  <div>$${dd.sale_price.toLocaleString()} × ${dd.count}</div>
2078
2129
  </div>
2079
2130
  <div
2080
- class="tx_normal d-sm-none d-flex flex-column"
2081
- style="display: flex;justify-content: end;${document.body.clientWidth > 800
2082
- ? 'width: 110px'
2083
- : 'width: 140px'}"
2131
+ class="tx_normal d-sm-none d-flex flex-column align-items-end justify-content-end"
2132
+ style="min-width: 110px"
2084
2133
  >
2085
2134
  ${dd.origin_price && dd.origin_price > dd.sale_price
2086
2135
  ? html` <div style="margin-right: 6px; text-decoration: line-through;">
@@ -2089,7 +2138,6 @@ export class ShoppingOrderManager {
2089
2138
  : ''}
2090
2139
  <div>$${dd.sale_price.toLocaleString()} × ${dd.count}</div>
2091
2140
  </div>
2092
-
2093
2141
  <div
2094
2142
  class="tx_normal d-none d-sm-flex"
2095
2143
  style="display: flex;justify-content: end;${document.body.clientWidth > 800
@@ -2352,16 +2400,23 @@ export class ShoppingOrderManager {
2352
2400
  .find(dd => {
2353
2401
  return dd.value === `${orderData.status}`;
2354
2402
  })?.title
2355
- : EditorElem.select({
2403
+ : BgWidget.select({
2356
2404
  title: '',
2357
2405
  gvc: gvc,
2358
- def: `${orderData.status}`,
2359
- array: [
2406
+ default: `${orderData.status}`,
2407
+ options: [
2360
2408
  {
2361
2409
  title: '變更付款狀態',
2362
2410
  value: '',
2363
2411
  },
2364
- ].concat(ApiShop.getStatusArray(orderData.orderData.proof_purchase)),
2412
+ ]
2413
+ .concat(ApiShop.getStatusArray(orderData.orderData.proof_purchase))
2414
+ .map(item => {
2415
+ return {
2416
+ key: item.value,
2417
+ value: item.title,
2418
+ };
2419
+ }),
2365
2420
  callback: text => {
2366
2421
  dialog.checkYesOrNot({
2367
2422
  text: '是否確認變更付款狀態?',
@@ -2523,6 +2578,51 @@ export class ShoppingOrderManager {
2523
2578
  .join(BgWidget.mbContainer(18))
2524
2579
  ),
2525
2580
  is_shipment ? '' : shipment_card,
2581
+ BgWidget.mainCard(
2582
+ gvc.bindView(
2583
+ (() => {
2584
+ const id = gvc.glitter.getUUID();
2585
+ return {
2586
+ bind: id,
2587
+ view: () => {
2588
+ return html`
2589
+ <div class="d-flex align-items-center justify-content-between">
2590
+ <div>
2591
+ <div style="color: #393939; font-weight: 700;">訂單標籤</div>
2592
+ ${BgWidget.grayNote('操作後台人員登記與分類用,不會顯示於前台')}
2593
+ ${BgWidget.mbContainer(4)}
2594
+ </div>
2595
+ ${BgWidget.blueNote(
2596
+ '使用現有標籤',
2597
+ gvc.event(() => {
2598
+ OrderModule.useOrderTags({
2599
+ gvc,
2600
+ config_key: 'order_manager_tags',
2601
+ def: orderData.orderData.tags ?? [],
2602
+ callback: tags => {
2603
+ orderData.orderData.tags = tags;
2604
+ gvc.notifyDataChange(id);
2605
+ },
2606
+ });
2607
+ })
2608
+ )}
2609
+ </div>
2610
+ ${BgWidget.multipleInput(
2611
+ gvc,
2612
+ orderData.orderData.tags ?? [],
2613
+ {
2614
+ save: def => {
2615
+ orderData.orderData.tags = [...new Set(def)];
2616
+ },
2617
+ },
2618
+ true
2619
+ )}
2620
+ `;
2621
+ },
2622
+ };
2623
+ })()
2624
+ )
2625
+ ),
2526
2626
  BgWidget.mainCard(
2527
2627
  gvc.bindView(() => {
2528
2628
  const vm = {
@@ -2888,7 +2988,7 @@ export class ShoppingOrderManager {
2888
2988
  return viewModel
2889
2989
  .map(item => {
2890
2990
  return html`
2891
- <div>
2991
+ <div style="word-break: break-all;">
2892
2992
  ${item[0]} :
2893
2993
  ${(orderData.orderData.user_info as any)[item[1]] || '未填寫'}
2894
2994
  </div>
@@ -2925,6 +3025,7 @@ export class ShoppingOrderManager {
2925
3025
  case 'OKMARTC2C':
2926
3026
  case 'UNIMARTC2C':
2927
3027
  case 'UNIMARTFREEZE':
3028
+ case 'FAMIC2CFREEZE':
2928
3029
  return [
2929
3030
  html` <div class="d-flex flex-wrap w-100">
2930
3031
  <span class="me-2 fw-normal fs-6">門市名稱:</span>
@@ -3640,6 +3741,7 @@ export class ShoppingOrderManager {
3640
3741
  count: variant.qty ?? '1',
3641
3742
  sale_price: variant.sale_price,
3642
3743
  sku: variant.sku,
3744
+ deduction_log: {},
3643
3745
  });
3644
3746
  orderDetail.subtotal +=
3645
3747
  Number(orderDetail.lineItems[index].count) * orderDetail.lineItems[index].sale_price;