ts-glitter 13.4.7 → 13.5.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 (198) hide show
  1. package/lowcode/Entry.js +1 -1
  2. package/lowcode/Entry.ts +1 -2
  3. package/lowcode/backend-manager/bg-blog.js +573 -590
  4. package/lowcode/backend-manager/bg-blog.ts +884 -915
  5. package/lowcode/backend-manager/bg-graph-api.js +3 -3
  6. package/lowcode/backend-manager/bg-graph-api.ts +3 -5
  7. package/lowcode/backend-manager/bg-guide.js +69 -24
  8. package/lowcode/backend-manager/bg-guide.ts +82 -27
  9. package/lowcode/backend-manager/bg-line.js +18 -18
  10. package/lowcode/backend-manager/bg-line.ts +18 -35
  11. package/lowcode/backend-manager/bg-notify.js +18 -18
  12. package/lowcode/backend-manager/bg-notify.ts +18 -34
  13. package/lowcode/backend-manager/bg-project.js +11 -11
  14. package/lowcode/backend-manager/bg-project.ts +11 -20
  15. package/lowcode/backend-manager/bg-recommend.js +656 -652
  16. package/lowcode/backend-manager/bg-recommend.ts +31 -40
  17. package/lowcode/backend-manager/bg-seo.js +25 -20
  18. package/lowcode/backend-manager/bg-seo.ts +121 -105
  19. package/lowcode/backend-manager/bg-shopping.js +14 -14
  20. package/lowcode/backend-manager/bg-shopping.ts +14 -25
  21. package/lowcode/backend-manager/bg-sns.js +18 -18
  22. package/lowcode/backend-manager/bg-sns.ts +18 -34
  23. package/lowcode/backend-manager/bg-wallet.js +5 -5
  24. package/lowcode/backend-manager/bg-wallet.ts +5 -7
  25. package/lowcode/backend-manager/bg-widget.js +25 -14
  26. package/lowcode/backend-manager/bg-widget.ts +43 -17
  27. package/lowcode/cms-plugin/ai-points-list.js +54 -57
  28. package/lowcode/cms-plugin/ai-points-list.ts +55 -63
  29. package/lowcode/cms-plugin/ai-points.js +2 -2
  30. package/lowcode/cms-plugin/ai-points.ts +2 -4
  31. package/lowcode/cms-plugin/app-release.js +45 -46
  32. package/lowcode/cms-plugin/app-release.ts +221 -209
  33. package/lowcode/cms-plugin/auto-reply.js +3 -3
  34. package/lowcode/cms-plugin/auto-reply.ts +3 -5
  35. package/lowcode/cms-plugin/form-setting.js +6 -6
  36. package/lowcode/cms-plugin/form-setting.ts +6 -10
  37. package/lowcode/cms-plugin/line-auto-reply.js +3 -3
  38. package/lowcode/cms-plugin/line-auto-reply.ts +3 -5
  39. package/lowcode/cms-plugin/member-group-list.js +2 -2
  40. package/lowcode/cms-plugin/member-group-list.ts +2 -3
  41. package/lowcode/cms-plugin/member-setting.js +75 -88
  42. package/lowcode/cms-plugin/member-setting.ts +143 -157
  43. package/lowcode/cms-plugin/member-type-list.js +243 -240
  44. package/lowcode/cms-plugin/member-type-list.ts +14 -19
  45. package/lowcode/cms-plugin/menus-setting.js +2 -2
  46. package/lowcode/cms-plugin/menus-setting.ts +2 -4
  47. package/lowcode/cms-plugin/permission-setting.js +17 -18
  48. package/lowcode/cms-plugin/permission-setting.ts +145 -147
  49. package/lowcode/cms-plugin/pos-checkout-setting.js +7 -10
  50. package/lowcode/cms-plugin/pos-checkout-setting.ts +174 -179
  51. package/lowcode/cms-plugin/shopping-collections.js +224 -218
  52. package/lowcode/cms-plugin/shopping-collections.ts +152 -153
  53. package/lowcode/cms-plugin/shopping-discount-setting.js +855 -852
  54. package/lowcode/cms-plugin/shopping-discount-setting.ts +14 -18
  55. package/lowcode/cms-plugin/shopping-finance-setting.js +259 -265
  56. package/lowcode/cms-plugin/shopping-finance-setting.ts +273 -284
  57. package/lowcode/cms-plugin/shopping-order-manager.js +520 -497
  58. package/lowcode/cms-plugin/shopping-order-manager.ts +347 -325
  59. package/lowcode/cms-plugin/shopping-order-return.js +10 -9
  60. package/lowcode/cms-plugin/shopping-order-return.ts +23 -27
  61. package/lowcode/cms-plugin/shopping-product-setting.js +1079 -1055
  62. package/lowcode/cms-plugin/shopping-product-setting.ts +348 -337
  63. package/lowcode/cms-plugin/shopping-product-stock.js +2 -2
  64. package/lowcode/cms-plugin/shopping-product-stock.ts +2 -3
  65. package/lowcode/cms-plugin/shopping-product-text.js +32 -36
  66. package/lowcode/cms-plugin/shopping-product-text.ts +78 -81
  67. package/lowcode/cms-plugin/shopping-rebate-setting.js +321 -316
  68. package/lowcode/cms-plugin/shopping-rebate-setting.ts +15 -17
  69. package/lowcode/cms-plugin/shopping-rebate.js +102 -59
  70. package/lowcode/cms-plugin/shopping-rebate.ts +110 -71
  71. package/lowcode/cms-plugin/shopping-shipment-setting.js +382 -426
  72. package/lowcode/cms-plugin/shopping-shipment-setting.ts +489 -531
  73. package/lowcode/cms-plugin/sms-points.js +2 -2
  74. package/lowcode/cms-plugin/sms-points.ts +2 -4
  75. package/lowcode/cms-plugin/sns-auto-reply.js +3 -3
  76. package/lowcode/cms-plugin/sns-auto-reply.ts +3 -5
  77. package/lowcode/cms-plugin/third-party-apple.js +22 -28
  78. package/lowcode/cms-plugin/third-party-apple.ts +189 -191
  79. package/lowcode/cms-plugin/third-party-facebook.js +31 -32
  80. package/lowcode/cms-plugin/third-party-facebook.ts +240 -234
  81. package/lowcode/cms-plugin/third-party-google.js +33 -29
  82. package/lowcode/cms-plugin/third-party-google.ts +216 -202
  83. package/lowcode/cms-plugin/third-party-line.js +19 -22
  84. package/lowcode/cms-plugin/third-party-line.ts +166 -162
  85. package/lowcode/cms-plugin/user-list.js +449 -441
  86. package/lowcode/cms-plugin/user-list.ts +63 -65
  87. package/lowcode/cms-plugin/user-login-setting.js +2 -2
  88. package/lowcode/cms-plugin/user-login-setting.ts +2 -5
  89. package/lowcode/cms-plugin/wallet-list.js +5 -5
  90. package/lowcode/cms-plugin/wallet-list.ts +5 -7
  91. package/lowcode/cms-plugin/web-config-setting.js +5 -5
  92. package/lowcode/cms-plugin/web-config-setting.ts +5 -8
  93. package/lowcode/cms-plugin/widget-manager.js +1 -1
  94. package/lowcode/cms-plugin/widget-manager.ts +1 -2
  95. package/lowcode/css/editor.css +12 -1
  96. package/lowcode/form-view/editor/array-items.js +1 -1
  97. package/lowcode/form-view/editor/array-items.ts +1 -1
  98. package/lowcode/form-view/editor/color-selector.ts +1 -1
  99. package/lowcode/glitter-base/route/shopping.js +17 -0
  100. package/lowcode/glitter-base/route/shopping.ts +17 -0
  101. package/lowcode/glitter-base/route/user.js +2 -2
  102. package/lowcode/glitter-base/route/user.ts +26 -27
  103. package/lowcode/glitterBundle/Glitter.js +10 -3
  104. package/lowcode/glitterBundle/Glitter.ts +10 -3
  105. package/lowcode/jspage/editor.js +16 -10
  106. package/lowcode/jspage/editor.ts +17 -11
  107. package/lowcode/jspage/function-page/server-editor/router/api-manager.js +4 -4
  108. package/lowcode/jspage/function-page/server-editor/router/api-manager.ts +4 -6
  109. package/lowcode/jspage/function-page/server-editor/router/database.js +8 -8
  110. package/lowcode/jspage/function-page/server-editor/router/database.ts +53 -48
  111. package/lowcode/jspage/function-page/server-editor/router/domain-manager.js +2 -2
  112. package/lowcode/jspage/function-page/server-editor/router/domain-manager.ts +2 -3
  113. package/lowcode/jspage/function-page/server-editor/router/server-status.js +50 -38
  114. package/lowcode/jspage/function-page/server-editor/router/server-status.ts +93 -76
  115. package/lowcode/jspage/main.js +61 -29
  116. package/lowcode/jspage/main.ts +99 -56
  117. package/lowcode/official_view_component/official/form.js +110 -78
  118. package/lowcode/official_view_component/official/form.ts +238 -192
  119. package/lowcode/view-model/saas-view-model.js +454 -285
  120. package/lowcode/view-model/saas-view-model.ts +917 -722
  121. package/package.json +1 -1
  122. package/src/api-public/controllers/ai-points.js.map +1 -1
  123. package/src/api-public/controllers/article.js +3 -0
  124. package/src/api-public/controllers/article.js.map +1 -1
  125. package/src/api-public/controllers/article.ts +3 -0
  126. package/src/api-public/controllers/chat.js.map +1 -1
  127. package/src/api-public/controllers/delivery.js.map +1 -1
  128. package/src/api-public/controllers/fb-message.js.map +1 -1
  129. package/src/api-public/controllers/index.js.map +1 -1
  130. package/src/api-public/controllers/invoice.js.map +1 -1
  131. package/src/api-public/controllers/line-message.js.map +1 -1
  132. package/src/api-public/controllers/oauth.js.map +1 -1
  133. package/src/api-public/controllers/rebate.js.map +1 -1
  134. package/src/api-public/controllers/recommend.js.map +1 -1
  135. package/src/api-public/controllers/sms-points.js.map +1 -1
  136. package/src/api-public/controllers/wallet.js.map +1 -1
  137. package/src/api-public/services/EcInvoice.js.map +1 -1
  138. package/src/api-public/services/ai-pointes.js.map +1 -1
  139. package/src/api-public/services/article.js.map +1 -1
  140. package/src/api-public/services/auto-send-email.js.map +1 -1
  141. package/src/api-public/services/delivery.js.map +1 -1
  142. package/src/api-public/services/ezpay/tool.d.ts +0 -1
  143. package/src/api-public/services/ezpay/tool.js.map +1 -1
  144. package/src/api-public/services/fake-data-model/fake-product.js.map +1 -1
  145. package/src/api-public/services/fb-message.js.map +1 -5
  146. package/src/api-public/services/filter-protect-data.js.map +1 -1
  147. package/src/api-public/services/financial-service.js.map +1 -1
  148. package/src/api-public/services/graph-api.js.map +1 -1
  149. package/src/api-public/services/invoice.js.map +1 -1
  150. package/src/api-public/services/monitor.d.ts +0 -1
  151. package/src/api-public/services/monitor.js.map +1 -1
  152. package/src/api-public/services/public-table-check.js.map +1 -1
  153. package/src/api-public/services/rebate.js.map +1 -1
  154. package/src/api-public/services/recommend.js.map +1 -1
  155. package/src/api-public/services/share-permission.js.map +1 -1
  156. package/src/api-public/services/shopping.d.ts +1 -1
  157. package/src/api-public/services/shopping.js +44 -36
  158. package/src/api-public/services/shopping.js.map +1 -1
  159. package/src/api-public/services/shopping.ts +184 -183
  160. package/src/api-public/services/sms-pointes.js.map +1 -1
  161. package/src/api-public/services/sms.js.map +1 -1
  162. package/src/api-public/services/wallet.js.map +1 -1
  163. package/src/api-public/services/workers.d.ts +1 -1
  164. package/src/api-public/utils/ut-database.js.map +1 -1
  165. package/src/app-project/serverless/src/controllers/index.js.map +1 -1
  166. package/src/app-project/serverless/src/controllers/sample.js.map +1 -1
  167. package/src/app-project/serverless/src/modules/database.d.ts +1 -2
  168. package/src/app-project/serverless/src/modules/database.js.map +1 -1
  169. package/src/app-project/serverless/src/modules/exception.js.map +1 -1
  170. package/src/app-project/serverless/src/modules/hooks.js.map +1 -1
  171. package/src/app-project/serverless/src/modules/logger.js.map +1 -1
  172. package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
  173. package/src/app-project/serverless/src/modules/redis.js.map +1 -1
  174. package/src/app-project/serverless/src/modules/response.js.map +1 -1
  175. package/src/app-project/serverless/src/modules/ssh.js.map +1 -1
  176. package/src/config.js.map +1 -5
  177. package/src/controllers/ai.js.map +1 -1
  178. package/src/controllers/global-event.js.map +1 -1
  179. package/src/controllers/page.js.map +1 -1
  180. package/src/controllers/private_config.js.map +1 -1
  181. package/src/export/export-test.js.map +1 -1
  182. package/src/firebase/message.js +1 -2
  183. package/src/firebase/message.js.map +1 -1
  184. package/src/helper/app_creater.js +1 -2
  185. package/src/helper/app_creater.js.map +1 -1
  186. package/src/helper/glitter-util.d.ts +0 -1
  187. package/src/helper/glitter-util.js.map +1 -1
  188. package/src/lambda/interface.d.ts +1 -1
  189. package/src/lambda/interface.js +2 -2
  190. package/src/lambda/interface.js.map +1 -1
  191. package/src/modules/exception.js.map +1 -1
  192. package/src/modules/hooks.js.map +1 -1
  193. package/src/modules/response.js.map +1 -1
  194. package/src/modules/ssh.js.map +1 -1
  195. package/src/services/ses.js +1 -2
  196. package/src/services/ses.js.map +1 -1
  197. package/src/services/system-schedule.js.map +1 -1
  198. package/g1b90plcfb.csv +0 -1289
@@ -30,14 +30,16 @@ export class ShoppingShipmentSetting {
30
30
  function save(next) {
31
31
  const dialog = new ShareDialog(gvc.glitter);
32
32
  dialog.dataLoading({ text: '設定中', visible: true });
33
- saasConfig.api.setPrivateConfig(saasConfig.config.appName, (() => {
33
+ saasConfig.api
34
+ .setPrivateConfig(saasConfig.config.appName, (() => {
34
35
  if (page === 'def') {
35
36
  return `glitter_shipment`;
36
37
  }
37
38
  else {
38
39
  return `glitter_shipment_${page}`;
39
40
  }
40
- })(), shipmentArray).then((r) => {
41
+ })(), shipmentArray)
42
+ .then((r) => {
41
43
  dialog.dataLoading({ visible: false });
42
44
  if (r.response) {
43
45
  next();
@@ -48,8 +50,8 @@ export class ShoppingShipmentSetting {
48
50
  });
49
51
  }
50
52
  return (BgWidget.container(html `
51
- <div class="d-flex w-100 align-items-center">
52
- ${BgWidget.title(`運費設定`)}
53
+ <div class="title-container">
54
+ ${BgWidget.title('運費設定')}
53
55
  <div class="flex-fill"></div>
54
56
  </div>
55
57
  ${gvc.bindView(() => {
@@ -62,33 +64,44 @@ export class ShoppingShipmentSetting {
62
64
  const logistics_setting = ((_a = (yield saasConfig.api.getPrivateConfig(saasConfig.config.appName, 'logistics_setting')).response.result[0]) !== null && _a !== void 0 ? _a : { value: {} }).value;
63
65
  resolve(BgWidget.tab([
64
66
  {
65
- title: '預設運費', key: 'def'
67
+ title: '預設運費',
68
+ key: 'def',
66
69
  },
67
70
  ...(() => {
68
71
  var _a;
69
- return [{
70
- title: '一般宅配', key: 'normal'
72
+ return [
73
+ {
74
+ title: '一般宅配',
75
+ key: 'normal',
71
76
  },
72
77
  {
73
- title: '全家店到店', key: 'FAMIC2C'
78
+ title: '全家店到店',
79
+ key: 'FAMIC2C',
74
80
  },
75
81
  {
76
- title: '萊爾富店到店', key: 'HILIFEC2C'
82
+ title: '萊爾富店到店',
83
+ key: 'HILIFEC2C',
77
84
  },
78
85
  {
79
- title: 'OK超商店到店', key: 'OKMARTC2C'
86
+ title: 'OK超商店到店',
87
+ key: 'OKMARTC2C',
80
88
  },
81
89
  {
82
- title: '7-ELEVEN超商交貨便', key: 'UNIMARTC2C'
90
+ title: '7-ELEVEN超商交貨便',
91
+ key: 'UNIMARTC2C',
83
92
  },
84
93
  {
85
- title: '門市取貨', key: 'shop'
86
- }].concat(((_a = logistics_setting.custom_delivery) !== null && _a !== void 0 ? _a : []).map((dd) => {
94
+ title: '門市取貨',
95
+ key: 'shop',
96
+ },
97
+ ]
98
+ .concat(((_a = logistics_setting.custom_delivery) !== null && _a !== void 0 ? _a : []).map((dd) => {
87
99
  return {
88
100
  title: dd.name,
89
- key: dd.id
101
+ key: dd.id,
90
102
  };
91
- })).filter((d1) => {
103
+ }))
104
+ .filter((d1) => {
92
105
  return logistics_setting.support.find((d2) => {
93
106
  return d2 === d1.key;
94
107
  });
@@ -96,17 +109,18 @@ export class ShoppingShipmentSetting {
96
109
  })(),
97
110
  ...(() => {
98
111
  return [];
99
- })()
112
+ })(),
100
113
  ], gvc, page, (text) => {
101
114
  page = text;
102
115
  data.response = undefined;
103
116
  gvc.notifyDataChange([page_id, id]);
104
- }));
117
+ }, 'margin-bottom: 12px;'));
105
118
  }));
106
119
  },
107
120
  divCreate: {
108
- class: `d-flex w-100 mb-n4`, style: 'gap:10px;overflow-x: auto;'
109
- }
121
+ class: 'title-container',
122
+ style: 'overflow-x: auto;',
123
+ },
110
124
  };
111
125
  })}
112
126
  ${gvc.bindView(() => {
@@ -137,441 +151,383 @@ export class ShoppingShipmentSetting {
137
151
  bind: 'addShipment',
138
152
  view: () => {
139
153
  return BgWidget.container([
140
- BgWidget.container((() => {
141
- let view = [];
142
- if (page !== 'def') {
143
- view.push(BgWidget.mainCard(html `
144
- <div style="display: flex;flex-direction: column;align-items: flex-start;gap: 18px;">
145
- <div style="font-size: 16px;font-weight: 700;">
146
- 運費計算方式
147
- </div>
148
- ${EditorElem.select({
149
- title: '',
150
- def: (shipmentArray.selectCalc === 'def') ? `def` : 'custom',
151
- gvc: gvc,
152
- array: [
153
- {
154
- title: '參照預設',
155
- value: 'def'
154
+ BgWidget.container1x2({
155
+ html: (() => {
156
+ let view = [];
157
+ if (page !== 'def') {
158
+ view.push(BgWidget.mainCard(html `
159
+ <div style="display: flex;flex-direction: column;align-items: flex-start;gap: 18px;">
160
+ <div style="font-size: 16px;font-weight: 700;">運費計算方式</div>
161
+ ${EditorElem.select({
162
+ title: '',
163
+ def: shipmentArray.selectCalc === 'def' ? `def` : 'custom',
164
+ gvc: gvc,
165
+ array: [
166
+ {
167
+ title: '參照預設',
168
+ value: 'def',
169
+ },
170
+ {
171
+ title: '自定義',
172
+ value: 'custom',
173
+ },
174
+ ],
175
+ callback: (text) => {
176
+ if (text === 'def') {
177
+ shipmentArray.selectCalc = 'def';
178
+ }
179
+ else {
180
+ shipmentArray.selectCalc = 'weight';
181
+ }
182
+ gvc.notifyDataChange(page_id);
156
183
  },
157
- {
158
- title: '自定義',
159
- value: 'custom'
160
- }
161
- ],
162
- callback: (text) => {
163
- if (text === 'def') {
164
- shipmentArray.selectCalc = 'def';
165
- }
166
- else {
167
- shipmentArray.selectCalc = 'weight';
168
- }
169
- gvc.notifyDataChange(page_id);
170
- }
171
- })}
172
- </div>
173
- `));
174
- }
175
- if (shipmentArray.selectCalc !== 'def') {
176
- view = view.concat([
177
- BgWidget.mainCard(html `
178
- <div style="display: flex;flex-direction: column;align-items: flex-start;gap: 18px;">
179
- <div class="w-100 guide4-3-1"
180
- style="font-size: 16px;font-weight: 700;">
181
- 整份訂單的「總材積」計算
182
- </div>
183
- <div class="guide4-4"
184
- style="display: flex;flex-direction: column;align-items: center;gap: 8px;align-self: stretch;">
185
- <div style="display: flex;align-items: flex-start;gap: 12px;align-self: stretch;font-size: 16px;font-weight: 400;">
186
- <div style="width: 60%">
187
- 材積區間
188
- </div>
189
- <div style="width: 40%">
190
- 運費
191
- </div>
192
- </div>
193
- <div style="display: flex;flex-direction: column;align-items: center;gap: 18px;align-self: stretch;gap:8px;">
194
- ${(() => {
195
- let temp = ``;
196
- shipmentArray.volume.map((data, index) => {
197
- var _a, _b;
198
- temp += html `
199
- <div
200
- class="d-flex w-100 position-relative align-items-center"
201
- style="gap: ${document.body.clientWidth > 768 ? 18 : 6}px"
202
- >
203
- <div class="flex-fill position-relative"
204
- style="width: 60%">
205
- <input
206
- class="w-100"
207
- style="padding: 9px 18px;border-radius: 10px;height:40px;border: 1px solid #DDD;"
208
- type="number"
209
- placeholder="0"
210
- onchange="${gvc.event((e) => {
211
- data.key = e.value;
212
- gvc.notifyDataChange(page_id);
213
- })}"
214
- value="${(_a = data.key) !== null && _a !== void 0 ? _a : ''}"
215
- />
216
- <div style="color: #8D8D8D;position: absolute;top:9px;right:18px;">
217
- 立方公分(含)以上
218
- </div>
219
- </div>
220
- <div class="flex-fill position-relative"
221
- style="width: 35%">
222
- <input
223
- class="w-100"
224
- style="padding: 9px 18px;border-radius: 10px;height:40px;border: 1px solid #DDD;"
225
- type="number"
226
- placeholder="0"
227
- onchange="${gvc.event((e) => {
228
- data.value = e.value;
229
- gvc.notifyDataChange(page_id);
230
- })}"
231
- value="${(_b = data.value) !== null && _b !== void 0 ? _b : ''}"
232
- />
233
- <div style="color: #8D8D8D;position: absolute;top:9px;right:18px;">
234
-
235
- </div>
236
- </div>
237
- <div
238
- style="cursor: pointer; width: auto;"
239
- class="guide4-6"
240
- onclick="${gvc.event(() => {
241
- dialog.checkYesOrNot({
242
- text: '是否要刪除',
243
- callback: (response) => {
244
- if (response) {
245
- shipmentArray.volume.splice(index, 1);
246
- gvc.notifyDataChange(page_id);
247
- }
248
- },
249
- });
250
- })}"
251
- >
252
- <i class="fa-duotone fa-xmark"></i>
253
- </div>
184
+ })}
185
+ </div>
186
+ `));
187
+ }
188
+ if (shipmentArray.selectCalc !== 'def') {
189
+ view = view.concat([
190
+ BgWidget.mainCard(html `
191
+ <div style="display: flex;flex-direction: column;align-items: flex-start;gap: 18px;">
192
+ <div class="w-100 guide4-3-1" style="font-size: 16px;font-weight: 700;">整份訂單的「總材積」計算</div>
193
+ <div
194
+ class="guide4-4"
195
+ style="display: flex;flex-direction: column;align-items: center;gap: 8px;align-self: stretch;"
196
+ >
197
+ <div
198
+ style="display: flex;align-items: flex-start;gap: 12px;align-self: stretch;font-size: 16px;font-weight: 400;"
199
+ >
200
+ <div style="width: 60%">材積區間</div>
201
+ <div style="width: 40%">運費</div>
202
+ </div>
203
+ <div style="display: flex;flex-direction: column;align-items: center;gap: 18px;align-self: stretch;gap:8px;">
204
+ ${(() => {
205
+ let temp = ``;
206
+ shipmentArray.volume.map((data, index) => {
207
+ var _a, _b;
208
+ temp += html `
209
+ <div
210
+ class="d-flex w-100 position-relative align-items-center"
211
+ style="gap: ${document.body.clientWidth > 768 ? 18 : 6}px"
212
+ >
213
+ <div class="flex-fill position-relative" style="width: 60%">
214
+ <input
215
+ class="w-100"
216
+ style="padding: 9px 18px;border-radius: 10px;height:40px;border: 1px solid #DDD;"
217
+ type="number"
218
+ placeholder="0"
219
+ onchange="${gvc.event((e) => {
220
+ data.key = e.value;
221
+ gvc.notifyDataChange(page_id);
222
+ })}"
223
+ value="${(_a = data.key) !== null && _a !== void 0 ? _a : ''}"
224
+ />
225
+ <div style="color: #8D8D8D;position: absolute;top:9px;right:18px;">
226
+ 立方公分(含)以上
254
227
  </div>
255
- `;
256
- });
257
- return temp;
258
- })()}
259
- </div>
260
- </div>
261
- <div
262
- class="w-100 d-flex align-items-center justify-content-center cursor_pointer guide4-5"
263
- style="color: #36B; font-size: 16px; font-weight: 400;"
264
- onclick="${gvc.event(() => {
265
- shipmentArray.volume.push({
266
- key: 0,
267
- value: 0
268
- });
269
- gvc.notifyDataChange('addShipment');
270
- })}"
271
- >
272
- <div>新增一個區間</div>
273
- <div>
274
- <i class="fa-solid fa-plus ps-2"
275
- style="font-size: 16px; height: 14px; width: 14px;"></i>
276
- </div>
277
- </div>
278
- <div
279
- style="display: flex;align-items: center;gap: 6px;align-self: stretch;font-size: 16px;cursor: pointer;"
280
- class="guide4-7"
281
- onclick="${gvc.event(() => {
282
- shipmentArray.selectCalc = 'volume';
283
- gvc.notifyDataChange(page_id);
284
- })}"
285
- >
286
- ${(() => {
287
- if (shipmentArray.selectCalc == 'volume') {
288
- return html `
289
- <svg class="volumeSelect"
290
- xmlns="http://www.w3.org/2000/svg"
291
- width="16"
292
- height="16"
293
- viewBox="0 0 16 16"
294
- fill="none">
295
- <rect width="16"
296
- height="16"
297
- rx="3"
298
- fill="#393939"/>
299
- <path
300
- d="M4.5 8.5L7 11L11.5 5"
301
- stroke="white"
302
- stroke-width="2"
303
- stroke-linecap="round"
304
- stroke-linejoin="round"
228
+ </div>
229
+ <div class="flex-fill position-relative" style="width: 35%">
230
+ <input
231
+ class="w-100"
232
+ style="padding: 9px 18px;border-radius: 10px;height:40px;border: 1px solid #DDD;"
233
+ type="number"
234
+ placeholder="0"
235
+ onchange="${gvc.event((e) => {
236
+ data.value = e.value;
237
+ gvc.notifyDataChange(page_id);
238
+ })}"
239
+ value="${(_b = data.value) !== null && _b !== void 0 ? _b : ''}"
305
240
  />
306
- </svg>
307
- 新增商品時將套用此運費計算方式
308
- `;
309
- }
310
- else {
311
- return html `
312
- <svg width="16"
313
- height="16"
314
- viewBox="0 0 16 16"
315
- fill="none"
316
- xmlns="http://www.w3.org/2000/svg">
317
- <rect x="0.5"
318
- y="0.5"
319
- width="15"
320
- height="15"
321
- rx="2.5"
322
- stroke="#DDDDDD"/>
323
- </svg>
324
- 新增商品時將套用此運費計算方式
325
- `;
326
- }
327
- })()}
328
- </div>
241
+ <div style="color: #8D8D8D;position: absolute;top:9px;right:18px;">元</div>
242
+ </div>
243
+ <div
244
+ style="cursor: pointer; width: auto;"
245
+ class="guide4-6"
246
+ onclick="${gvc.event(() => {
247
+ dialog.checkYesOrNot({
248
+ text: '是否要刪除',
249
+ callback: (response) => {
250
+ if (response) {
251
+ shipmentArray.volume.splice(index, 1);
252
+ gvc.notifyDataChange(page_id);
253
+ }
254
+ },
255
+ });
256
+ })}"
257
+ >
258
+ <i class="fa-duotone fa-xmark"></i>
259
+ </div>
260
+ </div>
261
+ `;
262
+ });
263
+ return temp;
264
+ })()}
329
265
  </div>
330
- `),
331
- BgWidget.mainCard(html `
332
- <div style="display: flex;flex-direction: column;align-items: flex-start;gap: 18px;">
333
- <div class="w-100 guide4-3-2"
334
- style="font-size: 16px;font-weight: 700;">
335
- 整份訂單的「總重量」計算
336
- </div>
337
- <div style="display: flex;flex-direction: column;align-items: center;gap: 8px;align-self: stretch;">
338
- <div style="display: flex;align-items: flex-start;gap: 12px;align-self: stretch;font-size: 16px;font-weight: 400;">
339
- <div style="width: 60%">
340
- 重量區間
341
- </div>
342
- <div style="width: 40%">
343
- 運費
344
- </div>
345
- </div>
346
- <div style="display: flex;flex-direction: column;align-items: center;gap: 18px;align-self: stretch;gap:8px;">
347
- ${(() => {
348
- let temp = ``;
349
- shipmentArray.weight.map((data, index) => {
350
- var _a, _b;
351
- temp += html `
352
- <div
353
- class="d-flex w-100 align-items-center"
354
- style="position:relative; gap: ${document.body.clientWidth > 768 ? 18 : 6}px"
355
- >
356
- <div class="flex-fill position-relative"
357
- style="width: 60%">
358
- <input
359
- class="w-100"
360
- style="padding: 9px 18px;border-radius: 10px;height:40px;border: 1px solid #DDD;"
361
- type="number"
362
- placeholder="0"
363
- onchange="${gvc.event((e) => {
364
- data.key = e.value;
365
- gvc.notifyDataChange(page_id);
366
- })}"
367
- value="${(_a = data.key) !== null && _a !== void 0 ? _a : ''}"
368
- />
369
- <div style="color: #8D8D8D;position: absolute;top:9px;right:18px;">
370
- 公斤(含)以上
371
- </div>
372
- </div>
373
- <div class="flex-fill position-relative"
374
- style="width: 35%">
375
- <input
376
- class="w-100"
377
- style="padding: 9px 18px;border-radius: 10px;height:40px;border: 1px solid #DDD;"
378
- type="number"
379
- placeholder="0"
380
- onchange="${gvc.event((e) => {
381
- data.value = e.value;
382
- gvc.notifyDataChange(page_id);
383
- })}"
384
- value="${(_b = data.value) !== null && _b !== void 0 ? _b : ''}"
385
- />
386
- <div style="color: #8D8D8D;position: absolute;top:9px;right:18px;">
387
-
388
- </div>
389
- </div>
390
- <div
391
- style="cursor: pointer; width: auto"
392
- onclick="${gvc.event(() => {
393
- dialog.checkYesOrNot({
394
- text: '是否要刪除',
395
- callback: (response) => {
396
- if (response) {
397
- shipmentArray.weight.splice(index, 1);
398
- gvc.notifyDataChange(page_id);
399
- }
400
- },
401
- });
402
- })}"
403
- >
404
- <i class="fa-duotone fa-xmark"></i>
405
- </div>
406
- </div>
407
- `;
408
- });
409
- return temp;
410
- })()}
411
- </div>
412
- </div>
413
- <div
414
- class="w-100 d-flex align-items-center justify-content-center cursor_pointer"
415
- style="color: #36B; font-size: 16px; font-weight: 400;"
416
- onclick="${gvc.event(() => {
417
- shipmentArray.weight.push({
418
- key: 0,
419
- value: 0
420
- });
421
- gvc.notifyDataChange('addShipment');
422
- })}"
423
- >
424
- <div>新增一個區間</div>
425
- <div>
426
- <i class="fa-solid fa-plus ps-2"
427
- style="font-size: 16px; height: 14px; width: 14px;"></i>
428
- </div>
429
- </div>
430
- <div
431
- style="display: flex;align-items: center;gap: 6px;align-self: stretch;font-size: 16px;cursor: pointer;"
432
- onclick="${gvc.event(() => {
433
- shipmentArray.selectCalc = 'weight';
434
- gvc.notifyDataChange(page_id);
435
- })}"
436
- >
437
- ${(() => {
438
- if (shipmentArray.selectCalc == 'weight') {
439
- return html `
440
- <svg xmlns="http://www.w3.org/2000/svg"
441
- width="16"
442
- height="16"
443
- viewBox="0 0 16 16"
444
- fill="none">
445
- <rect width="16"
446
- height="16"
447
- rx="3"
448
- fill="#393939"/>
449
- <path
450
- d="M4.5 8.5L7 11L11.5 5"
451
- stroke="white"
452
- stroke-width="2"
453
- stroke-linecap="round"
454
- stroke-linejoin="round"
266
+ </div>
267
+ <div
268
+ class="w-100 d-flex align-items-center justify-content-center cursor_pointer guide4-5"
269
+ style="color: #36B; font-size: 16px; font-weight: 400;"
270
+ onclick="${gvc.event(() => {
271
+ shipmentArray.volume.push({
272
+ key: 0,
273
+ value: 0,
274
+ });
275
+ gvc.notifyDataChange('addShipment');
276
+ })}"
277
+ >
278
+ <div>新增一個區間</div>
279
+ <div>
280
+ <i class="fa-solid fa-plus ps-2" style="font-size: 16px; height: 14px; width: 14px;"></i>
281
+ </div>
282
+ </div>
283
+ <div
284
+ style="display: flex;align-items: center;gap: 6px;align-self: stretch;font-size: 16px;cursor: pointer;"
285
+ class="guide4-7"
286
+ onclick="${gvc.event(() => {
287
+ shipmentArray.selectCalc = 'volume';
288
+ gvc.notifyDataChange(page_id);
289
+ })}"
290
+ >
291
+ ${(() => {
292
+ if (shipmentArray.selectCalc == 'volume') {
293
+ return html `
294
+ <svg
295
+ class="volumeSelect"
296
+ xmlns="http://www.w3.org/2000/svg"
297
+ width="16"
298
+ height="16"
299
+ viewBox="0 0 16 16"
300
+ fill="none"
301
+ >
302
+ <rect width="16" height="16" rx="3" fill="#393939" />
303
+ <path
304
+ d="M4.5 8.5L7 11L11.5 5"
305
+ stroke="white"
306
+ stroke-width="2"
307
+ stroke-linecap="round"
308
+ stroke-linejoin="round"
309
+ />
310
+ </svg>
311
+ 新增商品時將套用此運費計算方式
312
+ `;
313
+ }
314
+ else {
315
+ return html `
316
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
317
+ <rect x="0.5" y="0.5" width="15" height="15" rx="2.5" stroke="#DDDDDD" />
318
+ </svg>
319
+ 新增商品時將套用此運費計算方式
320
+ `;
321
+ }
322
+ })()}
323
+ </div>
324
+ </div>
325
+ `),
326
+ BgWidget.mainCard(html `
327
+ <div style="display: flex;flex-direction: column;align-items: flex-start;gap: 18px;">
328
+ <div class="w-100 guide4-3-2" style="font-size: 16px;font-weight: 700;">整份訂單的「總重量」計算</div>
329
+ <div style="display: flex;flex-direction: column;align-items: center;gap: 8px;align-self: stretch;">
330
+ <div
331
+ style="display: flex;align-items: flex-start;gap: 12px;align-self: stretch;font-size: 16px;font-weight: 400;"
332
+ >
333
+ <div style="width: 60%">重量區間</div>
334
+ <div style="width: 40%">運費</div>
335
+ </div>
336
+ <div style="display: flex;flex-direction: column;align-items: center;gap: 18px;align-self: stretch;gap:8px;">
337
+ ${(() => {
338
+ let temp = ``;
339
+ shipmentArray.weight.map((data, index) => {
340
+ var _a, _b;
341
+ temp += html `
342
+ <div
343
+ class="d-flex w-100 align-items-center"
344
+ style="position:relative; gap: ${document.body.clientWidth > 768 ? 18 : 6}px"
345
+ >
346
+ <div class="flex-fill position-relative" style="width: 60%">
347
+ <input
348
+ class="w-100"
349
+ style="padding: 9px 18px;border-radius: 10px;height:40px;border: 1px solid #DDD;"
350
+ type="number"
351
+ placeholder="0"
352
+ onchange="${gvc.event((e) => {
353
+ data.key = e.value;
354
+ gvc.notifyDataChange(page_id);
355
+ })}"
356
+ value="${(_a = data.key) !== null && _a !== void 0 ? _a : ''}"
455
357
  />
456
- </svg>
457
- 新增商品時將套用此運費計算方式
458
- `;
459
- }
460
- else {
461
- return html `
462
- <svg width="16"
463
- height="16"
464
- viewBox="0 0 16 16"
465
- fill="none"
466
- xmlns="http://www.w3.org/2000/svg">
467
- <rect x="0.5"
468
- y="0.5"
469
- width="15"
470
- height="15"
471
- rx="2.5"
472
- stroke="#DDDDDD"/>
473
- </svg>
474
- 新增商品時將套用此運費計算方式
475
- `;
476
- }
477
- })()}
478
- </div>
358
+ <div style="color: #8D8D8D;position: absolute;top:9px;right:18px;">公斤(含)以上</div>
359
+ </div>
360
+ <div class="flex-fill position-relative" style="width: 35%">
361
+ <input
362
+ class="w-100"
363
+ style="padding: 9px 18px;border-radius: 10px;height:40px;border: 1px solid #DDD;"
364
+ type="number"
365
+ placeholder="0"
366
+ onchange="${gvc.event((e) => {
367
+ data.value = e.value;
368
+ gvc.notifyDataChange(page_id);
369
+ })}"
370
+ value="${(_b = data.value) !== null && _b !== void 0 ? _b : ''}"
371
+ />
372
+ <div style="color: #8D8D8D;position: absolute;top:9px;right:18px;">元</div>
373
+ </div>
374
+ <div
375
+ style="cursor: pointer; width: auto"
376
+ onclick="${gvc.event(() => {
377
+ dialog.checkYesOrNot({
378
+ text: '是否要刪除',
379
+ callback: (response) => {
380
+ if (response) {
381
+ shipmentArray.weight.splice(index, 1);
382
+ gvc.notifyDataChange(page_id);
383
+ }
384
+ },
385
+ });
386
+ })}"
387
+ >
388
+ <i class="fa-duotone fa-xmark"></i>
389
+ </div>
390
+ </div>
391
+ `;
392
+ });
393
+ return temp;
394
+ })()}
479
395
  </div>
480
- `)
481
- ]);
482
- }
483
- return view.join('<div style="margin-bottom: 24px;"></div>');
484
- })(), undefined, 'padding: 0; margin: 0 !important; width: 60%;'),
485
- BgWidget.container((() => {
486
- return gvc.bindView(() => {
396
+ </div>
397
+ <div
398
+ class="w-100 d-flex align-items-center justify-content-center cursor_pointer"
399
+ style="color: #36B; font-size: 16px; font-weight: 400;"
400
+ onclick="${gvc.event(() => {
401
+ shipmentArray.weight.push({
402
+ key: 0,
403
+ value: 0,
404
+ });
405
+ gvc.notifyDataChange('addShipment');
406
+ })}"
407
+ >
408
+ <div>新增一個區間</div>
409
+ <div>
410
+ <i class="fa-solid fa-plus ps-2" style="font-size: 16px; height: 14px; width: 14px;"></i>
411
+ </div>
412
+ </div>
413
+ <div
414
+ style="display: flex;align-items: center;gap: 6px;align-self: stretch;font-size: 16px;cursor: pointer;"
415
+ onclick="${gvc.event(() => {
416
+ shipmentArray.selectCalc = 'weight';
417
+ gvc.notifyDataChange(page_id);
418
+ })}"
419
+ >
420
+ ${(() => {
421
+ if (shipmentArray.selectCalc == 'weight') {
422
+ return html `
423
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
424
+ <rect width="16" height="16" rx="3" fill="#393939" />
425
+ <path
426
+ d="M4.5 8.5L7 11L11.5 5"
427
+ stroke="white"
428
+ stroke-width="2"
429
+ stroke-linecap="round"
430
+ stroke-linejoin="round"
431
+ />
432
+ </svg>
433
+ 新增商品時將套用此運費計算方式
434
+ `;
435
+ }
436
+ else {
437
+ return html `
438
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
439
+ <rect x="0.5" y="0.5" width="15" height="15" rx="2.5" stroke="#DDDDDD" />
440
+ </svg>
441
+ 新增商品時將套用此運費計算方式
442
+ `;
443
+ }
444
+ })()}
445
+ </div>
446
+ </div>
447
+ `),
448
+ ]);
449
+ }
450
+ return view.join('<div style="margin-bottom: 24px;"></div>');
451
+ })(),
452
+ ratio: 65,
453
+ }, {
454
+ html: (() => {
487
455
  const id = gvc.glitter.getUUID();
488
- return {
456
+ return gvc.bindView({
489
457
  bind: id,
490
458
  view: () => {
491
459
  const ogShop = shipmentArray;
492
460
  return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
493
- const shipmentArray = (ogShop.selectCalc !== 'def') ? ogShop : yield ShoppingShipmentSetting.getShipmentData('def');
461
+ const shipmentArray = ogShop.selectCalc !== 'def' ? ogShop : yield ShoppingShipmentSetting.getShipmentData('def');
494
462
  resolve(`${BgWidget.mainCard(html `
495
- <div style="gap: 18px;display: flex;flex-direction: column;">
496
- <div style="font-size: 16px;font-weight: 700;">
497
- 摘要
498
- </div>
499
- <div style="font-size: 16px;font-weight: 400;">
500
- 預設運費設定:
501
- 依${shipmentArray.selectCalc == 'weight' ? '重量' : '材積'}
502
- 計算
503
- </div>
504
- <div style="width:100%;height:1px;background-color: #DDD"></div>
505
- <div style="display: flex;flex-direction: column;gap: 12px;">
506
- <div style="color:#393939;font-weight: 400;font-size: 16px;">
507
- 依材積計算:
508
- </div>
509
- <div
510
- style="border-radius: 10px;border: 1px solid #DDD;color: #393939;font-weight: 400;font-size: 14px;padding: 20px;gap:12px;"
511
- >
512
- ${(() => {
463
+ <div style="gap: 18px;display: flex;flex-direction: column;">
464
+ <div style="font-size: 16px;font-weight: 700;">摘要</div>
465
+ <div style="font-size: 16px;font-weight: 400;">
466
+ 預設運費設定: 依${shipmentArray.selectCalc == 'weight' ? '重量' : '材積'} 計算
467
+ </div>
468
+ <div style="width:100%;height:1px;background-color: #DDD"></div>
469
+ <div style="display: flex;flex-direction: column;gap: 12px;">
470
+ <div style="color:#393939;font-weight: 400;font-size: 16px;">依材積計算:</div>
471
+ <div
472
+ style="border-radius: 10px;border: 1px solid #DDD;color: #393939;font-weight: 400;font-size: 14px;padding: 20px;gap:12px;"
473
+ >
474
+ ${(() => {
513
475
  let returnHTML = ``;
514
476
  shipmentArray.volume.map((data) => {
515
477
  returnHTML += html `
516
- <div class="">
517
- <span style="font-size: 24px;">${data.key}</span>
518
- 立方公分(含)以上,運費
519
- <span style="font-size: 24px;">${data.value}</span>
520
-
521
- </div>
522
- `;
478
+ <div class="">
479
+ <span style="font-size: 24px;">${data.key}</span>
480
+ 立方公分(含)以上,運費
481
+ <span style="font-size: 24px;">${data.value}</span>
482
+
483
+ </div>
484
+ `;
523
485
  });
524
486
  return returnHTML;
525
487
  })()}
526
- </div>
527
- </div>
528
- <div style="display: flex;flex-direction: column;gap: 12px;">
529
- <div style="color:#393939;font-weight: 400;font-size: 16px;">
530
- 依重量計算:
531
- </div>
532
- <div style="border-radius: 10px;border: 1px solid #DDD;color: #393939;font-weight: 400;font-size: 14px;padding: 20px;">
533
- ${(() => {
488
+ </div>
489
+ </div>
490
+ <div style="display: flex;flex-direction: column;gap: 12px;">
491
+ <div style="color:#393939;font-weight: 400;font-size: 16px;">依重量計算:</div>
492
+ <div
493
+ style="border-radius: 10px;border: 1px solid #DDD;color: #393939;font-weight: 400;font-size: 14px;padding: 20px;"
494
+ >
495
+ ${(() => {
534
496
  let returnHTML = ``;
535
497
  shipmentArray.weight.map((data) => {
536
498
  returnHTML += html `
537
- <div class="">
538
- <span style="font-size: 24px;">${data.key}</span>
539
- 公斤(含)以上,運費
540
- <span style="font-size: 24px;">${data.value}</span>
541
-
542
- </div>
543
- `;
499
+ <div class="">
500
+ <span style="font-size: 24px;">${data.key}</span>
501
+ 公斤(含)以上,運費
502
+ <span style="font-size: 24px;">${data.value}</span>
503
+
504
+ </div>
505
+ `;
544
506
  });
545
507
  return returnHTML;
546
508
  })()}
547
- </div>
548
- </div>
549
- </div>
550
- `, 'summary-card')}`);
509
+ </div>
510
+ </div>
511
+ </div>
512
+ `)}`);
551
513
  }));
552
514
  },
553
- divCreate: { class: `w-100 m-0 p-0` }
554
- };
555
- });
556
- })(), undefined, 'padding: 0; margin: 0 !important; width: 40%; min-width: 300px;'),
515
+ divCreate: { class: `w-100 m-0 p-0 summary-card` },
516
+ });
517
+ })(),
518
+ ratio: 35,
519
+ }),
557
520
  BgWidget.mbContainer(240),
558
- html `
559
- <div class="update-bar-container">
560
- ${BgWidget.save(gvc.event(() => {
521
+ html ` <div class="update-bar-container">
522
+ ${BgWidget.save(gvc.event(() => {
561
523
  save(() => {
562
524
  dialog.successMessage({
563
525
  text: '設定成功',
564
526
  });
565
527
  });
566
- }), "儲存", "guide4-8")}
567
- </div>`,
568
- ].join(''), BgWidget.getContainerWidth(), `
569
- gap: 24px;
570
- color: #393939;
571
- width: 100%;
572
- color: #393939;
573
- display: flex;
574
- `);
528
+ }), '儲存', 'guide4-8')}
529
+ </div>`,
530
+ ].join(''));
575
531
  },
576
532
  divCreate: { class: `w-100`, style: `` },
577
533
  }));
@@ -579,11 +535,11 @@ export class ShoppingShipmentSetting {
579
535
  },
580
536
  divCreate: {
581
537
  class: `d-flex flex-column flex-column-reverse flex-md-row`,
582
- style: `gap:10px; padding: 0;`
538
+ style: `gap:10px; padding: 0;`,
583
539
  },
584
540
  };
585
541
  })}
586
- `, BgWidget.getContainerWidth()) + BgWidget.mbContainer(240));
542
+ `) + BgWidget.mbContainer(240));
587
543
  }
588
544
  static getShipmentData(page) {
589
545
  return __awaiter(this, void 0, void 0, function* () {
@@ -607,14 +563,14 @@ export class ShoppingShipmentSetting {
607
563
  shipmentArray = {
608
564
  weight: [{ key: 0, value: 0 }],
609
565
  volume: [{ key: 0, value: 0 }],
610
- selectCalc: 'weight'
566
+ selectCalc: 'weight',
611
567
  };
612
568
  }
613
569
  else {
614
570
  shipmentArray = {
615
571
  weight: [{ key: 0, value: 0 }],
616
572
  volume: [{ key: 0, value: 0 }],
617
- selectCalc: 'def'
573
+ selectCalc: 'def',
618
574
  };
619
575
  }
620
576
  }