@pisell/private-materials 6.3.100 → 6.3.102

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 (115) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +10 -10
  11. package/es/components/booking/info/header/index.js +7 -7
  12. package/es/components/booking/info/header/index.less +5 -5
  13. package/es/components/ecocup/components/AddCustomerModal/index.js +3 -3
  14. package/es/components/ecocup/components/CupInfoCard/index.d.ts +3 -1
  15. package/es/components/ecocup/components/CupInfoCard/index.js +4 -2
  16. package/es/components/ecocup/components/CupStatusModal/hooks.d.ts +32 -1
  17. package/es/components/ecocup/components/CupStatusModal/hooks.js +109 -1
  18. package/es/components/ecocup/components/CupStatusModal/index.js +164 -30
  19. package/es/components/ecocup/components/CupStatusModal/index.less +48 -10
  20. package/es/components/ecocup/components/CustomerAndCupModal/index.js +1 -1
  21. package/es/components/ecocup/components/CustomerCard/index.d.ts +3 -1
  22. package/es/components/ecocup/components/CustomerCard/index.js +9 -6
  23. package/es/components/ecocup/components/PageHeader/index.d.ts +2 -0
  24. package/es/components/ecocup/components/PageHeader/index.js +15 -5
  25. package/es/components/ecocup/components/PageHeader/index.less +16 -4
  26. package/es/components/ecocup/components/SearchBar/index.d.ts +1 -0
  27. package/es/components/ecocup/components/SearchBar/index.js +33 -3
  28. package/es/components/ecocup/components/SettingModal/const.d.ts +6 -0
  29. package/es/components/ecocup/components/SettingModal/const.js +17 -0
  30. package/es/components/ecocup/components/SettingModal/index.d.ts +9 -0
  31. package/es/components/ecocup/components/SettingModal/index.js +253 -0
  32. package/es/components/ecocup/components/SettingModal/index.less +9 -0
  33. package/es/components/ecocup/cupList/const.d.ts +8 -1
  34. package/es/components/ecocup/cupList/const.js +14 -1
  35. package/es/components/ecocup/cupList/hooks/index.d.ts +2 -2
  36. package/es/components/ecocup/cupList/hooks/index.js +2 -2
  37. package/es/components/ecocup/cupList/hooks/useColumns.d.ts +2 -1
  38. package/es/components/ecocup/cupList/hooks/useColumns.js +4 -6
  39. package/es/components/ecocup/cupList/hooks/useCupApi.d.ts +12 -3
  40. package/es/components/ecocup/cupList/hooks/useCupApi.js +148 -8
  41. package/es/components/ecocup/cupList/hooks/useSummary.js +9 -7
  42. package/es/components/ecocup/cupList/index.js +60 -12
  43. package/es/components/ecocup/cupList/index.less +62 -16
  44. package/es/components/ecocup/cupProject/const.js +8 -2
  45. package/es/components/ecocup/cupProject/index.js +10 -1
  46. package/es/components/ecocup/hooks.d.ts +8 -0
  47. package/es/components/ecocup/hooks.js +29 -12
  48. package/es/components/ecocup/locales.d.ts +93 -3
  49. package/es/components/ecocup/locales.js +124 -25
  50. package/es/components/ecocup/utils/download.d.ts +7 -0
  51. package/es/components/ecocup/utils/download.js +34 -0
  52. package/es/components/ecocup/utils/index.d.ts +2 -0
  53. package/es/components/ecocup/utils/index.js +2 -0
  54. package/es/hooks/useLocale.js +8 -1
  55. package/es/pro/Cards/components/SKUCard/index.d.ts +0 -1
  56. package/es/pro/Cards/components/SKUCard/index.js +0 -1
  57. package/es/pro/Cards/components/SKUCard/types.d.ts +2 -2
  58. package/es/pro/Login2.0/Login2.js +8 -8
  59. package/es/pro/Login2.0/locales.d.ts +5 -0
  60. package/es/pro/Login2.0/locales.js +5 -0
  61. package/es/pro/comprehensiveSearch/components/searchSection/index.js +3 -2
  62. package/lib/components/booking/info/header/index.js +7 -7
  63. package/lib/components/booking/info/header/index.less +5 -5
  64. package/lib/components/ecocup/components/AddCustomerModal/index.js +2 -2
  65. package/lib/components/ecocup/components/CupInfoCard/index.d.ts +3 -1
  66. package/lib/components/ecocup/components/CupInfoCard/index.js +2 -2
  67. package/lib/components/ecocup/components/CupStatusModal/hooks.d.ts +32 -1
  68. package/lib/components/ecocup/components/CupStatusModal/hooks.js +62 -2
  69. package/lib/components/ecocup/components/CupStatusModal/index.js +103 -22
  70. package/lib/components/ecocup/components/CupStatusModal/index.less +48 -10
  71. package/lib/components/ecocup/components/CustomerAndCupModal/index.js +1 -1
  72. package/lib/components/ecocup/components/CustomerCard/index.d.ts +3 -1
  73. package/lib/components/ecocup/components/CustomerCard/index.js +13 -3
  74. package/lib/components/ecocup/components/PageHeader/index.d.ts +2 -0
  75. package/lib/components/ecocup/components/PageHeader/index.js +10 -3
  76. package/lib/components/ecocup/components/PageHeader/index.less +16 -4
  77. package/lib/components/ecocup/components/SearchBar/index.d.ts +1 -0
  78. package/lib/components/ecocup/components/SearchBar/index.js +15 -2
  79. package/lib/components/ecocup/components/SettingModal/const.d.ts +6 -0
  80. package/lib/components/ecocup/components/SettingModal/const.js +48 -0
  81. package/lib/components/ecocup/components/SettingModal/index.d.ts +9 -0
  82. package/lib/components/ecocup/components/SettingModal/index.js +199 -0
  83. package/lib/components/ecocup/components/SettingModal/index.less +9 -0
  84. package/lib/components/ecocup/cupList/const.d.ts +8 -1
  85. package/lib/components/ecocup/cupList/const.js +18 -0
  86. package/lib/components/ecocup/cupList/hooks/index.d.ts +2 -2
  87. package/lib/components/ecocup/cupList/hooks/index.js +4 -0
  88. package/lib/components/ecocup/cupList/hooks/useColumns.d.ts +2 -1
  89. package/lib/components/ecocup/cupList/hooks/useColumns.js +2 -4
  90. package/lib/components/ecocup/cupList/hooks/useCupApi.d.ts +12 -3
  91. package/lib/components/ecocup/cupList/hooks/useCupApi.js +123 -8
  92. package/lib/components/ecocup/cupList/hooks/useSummary.js +22 -14
  93. package/lib/components/ecocup/cupList/index.js +70 -16
  94. package/lib/components/ecocup/cupList/index.less +62 -16
  95. package/lib/components/ecocup/cupProject/const.js +8 -1
  96. package/lib/components/ecocup/cupProject/index.js +10 -1
  97. package/lib/components/ecocup/hooks.d.ts +8 -0
  98. package/lib/components/ecocup/hooks.js +18 -4
  99. package/lib/components/ecocup/locales.d.ts +93 -3
  100. package/lib/components/ecocup/locales.js +118 -25
  101. package/lib/components/ecocup/utils/download.d.ts +7 -0
  102. package/lib/components/ecocup/utils/download.js +47 -0
  103. package/lib/components/ecocup/utils/index.d.ts +2 -0
  104. package/lib/components/ecocup/utils/index.js +42 -0
  105. package/lib/hooks/useLocale.js +7 -2
  106. package/lib/pro/Cards/components/SKUCard/index.d.ts +0 -1
  107. package/lib/pro/Cards/components/SKUCard/index.js +0 -1
  108. package/lib/pro/Cards/components/SKUCard/types.d.ts +2 -2
  109. package/lib/pro/Login2.0/Login2.js +8 -8
  110. package/lib/pro/Login2.0/locales.d.ts +5 -0
  111. package/lib/pro/Login2.0/locales.js +5 -0
  112. package/lib/pro/comprehensiveSearch/components/searchSection/index.js +3 -2
  113. package/lowcode/eco-cup-list/meta.ts +1 -1
  114. package/lowcode/eco-customer-list/meta.ts +1 -1
  115. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
1
  import { useColumns } from './useColumns';
2
2
  import { useSummary } from './useSummary';
3
- import { useCupListsApi, useStatisticsApi, useEcoShopListsApi } from './useCupApi';
4
- export { useColumns, useSummary, useCupListsApi, useStatisticsApi, useEcoShopListsApi, };
3
+ import { useCupListsApi, useStatisticsApi, useEcoShopListsApi, useExportApi, useShareApi } from './useCupApi';
4
+ export { useColumns, useSummary, useCupListsApi, useStatisticsApi, useEcoShopListsApi, useExportApi, useShareApi };
@@ -1,4 +1,4 @@
1
1
  import { useColumns } from "./useColumns";
2
2
  import { useSummary } from "./useSummary";
3
- import { useCupListsApi, useStatisticsApi, useEcoShopListsApi } from "./useCupApi";
4
- export { useColumns, useSummary, useCupListsApi, useStatisticsApi, useEcoShopListsApi };
3
+ import { useCupListsApi, useStatisticsApi, useEcoShopListsApi, useExportApi, useShareApi } from "./useCupApi";
4
+ export { useColumns, useSummary, useCupListsApi, useStatisticsApi, useEcoShopListsApi, useExportApi, useShareApi };
@@ -3,6 +3,7 @@ import '../index.less';
3
3
  interface IProps {
4
4
  onClickAction: (type: string, record: any) => void;
5
5
  locales: any;
6
+ isEcoShare?: boolean;
6
7
  }
7
8
  export declare const useColumns: (props: IProps) => ({
8
9
  title: any;
@@ -35,7 +36,7 @@ export declare const useColumns: (props: IProps) => ({
35
36
  title: any;
36
37
  dataIndex: string;
37
38
  key: string;
38
- hidden: boolean;
39
+ hidden: boolean | undefined;
39
40
  width: number;
40
41
  render: (text: string, record: any) => React.JSX.Element | null;
41
42
  align?: undefined;
@@ -3,16 +3,14 @@ import dayjs from 'dayjs';
3
3
  import { Button } from '@pisell/materials';
4
4
  import { STATUS_TEXT_MAP, STATUS_COLOR_MAP } from "../const";
5
5
  import MoreDropdown from "../../components/MoreDropdown";
6
- import { useGetGoalShopInfo, useIsApp } from "../../hooks";
6
+ import { useIsApp } from "../../hooks";
7
7
  import "../index.less";
8
8
  var prefixCls = 'ecocup-cup-list';
9
9
  export var useColumns = function useColumns(props) {
10
10
  var onClickAction = props.onClickAction,
11
- locales = props.locales;
12
- var _useGetGoalShopInfo = useGetGoalShopInfo(),
13
- isNormalShop = _useGetGoalShopInfo.isNormalShop;
11
+ locales = props.locales,
12
+ isEcoShare = props.isEcoShare;
14
13
  var isApp = useIsApp();
15
- var hiddenColumn = isApp ? false : isNormalShop;
16
14
  var getRelativeTime = function getRelativeTime(text) {
17
15
  if (!text) return '';
18
16
  var diff = dayjs().diff(dayjs(text), 'day');
@@ -144,7 +142,7 @@ export var useColumns = function useColumns(props) {
144
142
  title: locales.getText('pisell2.text.ecocup.table.actions'),
145
143
  dataIndex: 'actions',
146
144
  key: 'actions',
147
- hidden: isApp,
145
+ hidden: isApp || isEcoShare,
148
146
  width: 180,
149
147
  render: function render(text, record) {
150
148
  var _status = (record === null || record === void 0 ? void 0 : record.status) || '';
@@ -16,17 +16,26 @@ interface GetStatisticsParams {
16
16
  type?: 'eco' | 'normal';
17
17
  partner_shop_id?: number;
18
18
  }
19
- export declare const useCupListsApi: () => {
19
+ interface IProps {
20
+ isEcoShare?: boolean;
21
+ }
22
+ export declare const useCupListsApi: (props: IProps) => {
20
23
  loading: boolean;
21
24
  data: any;
22
25
  run: (params: GetCupListsParams) => Promise<void>;
23
26
  };
24
- export declare const useStatisticsApi: () => {
27
+ export declare const useStatisticsApi: (props: IProps) => {
25
28
  data: any;
26
29
  getStatics: (params: GetStatisticsParams) => Promise<void>;
27
30
  };
28
- export declare const useEcoShopListsApi: () => {
31
+ export declare const useEcoShopListsApi: (props: IProps) => {
29
32
  data: any;
30
33
  getEcoShopLists: (params?: any) => Promise<void>;
31
34
  };
35
+ export declare const useShareApi: () => {
36
+ postShareApi: () => Promise<void>;
37
+ };
38
+ export declare const useExportApi: () => {
39
+ postExportApi: (params?: any) => Promise<void>;
40
+ };
32
41
  export {};
@@ -13,9 +13,19 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
13
13
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
14
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
15
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
- import { useState, useCallback } from "react";
17
- import { useRequest, useGetGoalShopInfo, useIsApp } from "../../hooks";
18
- export var useCupListsApi = function useCupListsApi() {
16
+ import { useState, useCallback, useMemo } from 'react';
17
+ import { PisellToast } from '@pisell/materials';
18
+ import { locales } from '@pisell/utils';
19
+ import useEngineContext from "../../../../hooks/useEngineContext";
20
+ import { useRequest, useGetGoalShopInfo, useIsApp, useGetShopId, useGetApp } from "../../hooks";
21
+ var getApiConfig = function getApiConfig(isEcoShare) {
22
+ if (!isEcoShare) return {};
23
+ return {
24
+ isShopApi: true
25
+ };
26
+ };
27
+ export var useCupListsApi = function useCupListsApi(props) {
28
+ var isEcoShare = props.isEcoShare;
19
29
  var _useState = useState(false),
20
30
  _useState2 = _slicedToArray(_useState, 2),
21
31
  loading = _useState2[0],
@@ -29,6 +39,7 @@ export var useCupListsApi = function useCupListsApi() {
29
39
  var _useGetGoalShopInfo = useGetGoalShopInfo(),
30
40
  isNormalShop = _useGetGoalShopInfo.isNormalShop;
31
41
  var isApp = useIsApp();
42
+ var apiConfig = getApiConfig(isEcoShare);
32
43
  var getCupLists = useCallback( /*#__PURE__*/function () {
33
44
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
34
45
  var api, isPartner, _params, res;
@@ -53,7 +64,7 @@ export var useCupListsApi = function useCupListsApi() {
53
64
  };
54
65
  }
55
66
  _context.next = 9;
56
- return get(api, _params);
67
+ return get(api, _params, apiConfig);
57
68
  case 9:
58
69
  res = _context.sent;
59
70
  setData((res === null || res === void 0 ? void 0 : res.data) || {});
@@ -80,7 +91,8 @@ export var useCupListsApi = function useCupListsApi() {
80
91
  run: getCupLists
81
92
  };
82
93
  };
83
- export var useStatisticsApi = function useStatisticsApi() {
94
+ export var useStatisticsApi = function useStatisticsApi(props) {
95
+ var isEcoShare = props.isEcoShare;
84
96
  var _useState5 = useState({}),
85
97
  _useState6 = _slicedToArray(_useState5, 2),
86
98
  data = _useState6[0],
@@ -89,6 +101,7 @@ export var useStatisticsApi = function useStatisticsApi() {
89
101
  get = _useRequest2.get;
90
102
  var _useGetGoalShopInfo2 = useGetGoalShopInfo(),
91
103
  isNormalShop = _useGetGoalShopInfo2.isNormalShop;
104
+ var apiConfig = getApiConfig(isEcoShare);
92
105
  var getStatics = useCallback( /*#__PURE__*/function () {
93
106
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
94
107
  var isPartner, _params, res;
@@ -101,7 +114,7 @@ export var useStatisticsApi = function useStatisticsApi() {
101
114
  type: isPartner ? 'partner' : 'eco'
102
115
  }, params);
103
116
  _context2.next = 5;
104
- return get('/shop/wallet/eco/statistics', _params);
117
+ return get('/shop/wallet/eco/statistics', _params, apiConfig);
105
118
  case 5:
106
119
  res = _context2.sent;
107
120
  setData((res === null || res === void 0 ? void 0 : res.data) || {});
@@ -127,13 +140,15 @@ export var useStatisticsApi = function useStatisticsApi() {
127
140
  };
128
141
 
129
142
  // eco店铺列表
130
- export var useEcoShopListsApi = function useEcoShopListsApi() {
143
+ export var useEcoShopListsApi = function useEcoShopListsApi(props) {
144
+ var isEcoShare = props.isEcoShare;
131
145
  var _useState7 = useState([]),
132
146
  _useState8 = _slicedToArray(_useState7, 2),
133
147
  data = _useState8[0],
134
148
  setData = _useState8[1];
135
149
  var _useRequest3 = useRequest(),
136
150
  get = _useRequest3.get;
151
+ var apiConfig = getApiConfig(isEcoShare);
137
152
  var getEcoShopLists = useCallback( /*#__PURE__*/function () {
138
153
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(params) {
139
154
  var _params, res;
@@ -146,7 +161,7 @@ export var useEcoShopListsApi = function useEcoShopListsApi() {
146
161
  num: 100
147
162
  };
148
163
  _context3.next = 4;
149
- return get('/shop/wallet/eco/shops', _params);
164
+ return get('/shop/wallet/eco/shops', _params, apiConfig);
150
165
  case 4:
151
166
  res = _context3.sent;
152
167
  setData((res === null || res === void 0 ? void 0 : res.data) || []);
@@ -169,4 +184,129 @@ export var useEcoShopListsApi = function useEcoShopListsApi() {
169
184
  data: data,
170
185
  getEcoShopLists: getEcoShopLists
171
186
  };
187
+ };
188
+
189
+ // 分享
190
+ export var useShareApi = function useShareApi() {
191
+ var _coreData$tenant3;
192
+ var _useRequest4 = useRequest(),
193
+ post = _useRequest4.post;
194
+ var app = useGetApp();
195
+ var context = useEngineContext();
196
+ var coreData = useMemo(function () {
197
+ var _app, _app$getStore, _app$getStore$getData;
198
+ return app === null || app === void 0 || (_app = app()) === null || _app === void 0 || (_app = _app.data) === null || _app === void 0 || (_app = _app.store) === null || _app === void 0 || (_app$getStore = _app.getStore) === null || _app$getStore === void 0 || (_app$getStore = _app$getStore.call(_app)) === null || _app$getStore === void 0 || (_app$getStore$getData = _app$getStore.getDataByModel) === null || _app$getStore$getData === void 0 ? void 0 : _app$getStore$getData.call(_app$getStore, 'tenantCore', 'core');
199
+ }, [app]);
200
+ var postShareApi = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
201
+ var _app2, _app2$getStorage, _context$appHelper, _res$data, _coreData$tenant, token, _ref5, copyToClipboard, params, res, _coreData$tenant2, _res$data2, path, url;
202
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
203
+ while (1) switch (_context4.prev = _context4.next) {
204
+ case 0:
205
+ _context4.prev = 0;
206
+ token = (_app2 = app()) === null || _app2 === void 0 || (_app2 = _app2.data) === null || _app2 === void 0 || (_app2 = _app2.storage) === null || _app2 === void 0 || (_app2$getStorage = _app2.getStorage) === null || _app2$getStorage === void 0 ? void 0 : _app2$getStorage.call(_app2, 'token');
207
+ _ref5 = (context === null || context === void 0 || (_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 || (_context$appHelper = _context$appHelper.utils) === null || _context$appHelper === void 0 ? void 0 : _context$appHelper.businessUtils) || {}, copyToClipboard = _ref5.copyToClipboard;
208
+ if (token) {
209
+ _context4.next = 5;
210
+ break;
211
+ }
212
+ return _context4.abrupt("return");
213
+ case 5:
214
+ params = {
215
+ // 有效期,7天,转成秒
216
+ ttl: 7 * 24 * 60 * 60,
217
+ data: {
218
+ login_token: token
219
+ }
220
+ };
221
+ _context4.next = 8;
222
+ return post('/tenant/core/stash-token', params, {
223
+ isPisell2: true
224
+ });
225
+ case 8:
226
+ res = _context4.sent;
227
+ if (res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.token && coreData !== null && coreData !== void 0 && (_coreData$tenant = coreData.tenant) !== null && _coreData$tenant !== void 0 && _coreData$tenant.default_domain) {
228
+ path = "https://".concat(coreData === null || coreData === void 0 || (_coreData$tenant2 = coreData.tenant) === null || _coreData$tenant2 === void 0 ? void 0 : _coreData$tenant2.default_domain, "/admin/ecocup/cup-list");
229
+ url = "".concat(path, "?source=ecoShare&key=").concat(res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.token);
230
+ copyToClipboard && copyToClipboard(url);
231
+ PisellToast({
232
+ content: locales.getText('pisell2.text.ecocup.toast.success-copy-link')
233
+ });
234
+ }
235
+ _context4.next = 15;
236
+ break;
237
+ case 12:
238
+ _context4.prev = 12;
239
+ _context4.t0 = _context4["catch"](0);
240
+ console.log('分享失败', _context4.t0);
241
+ case 15:
242
+ case "end":
243
+ return _context4.stop();
244
+ }
245
+ }, _callee4, null, [[0, 12]]);
246
+ })), [coreData === null || coreData === void 0 || (_coreData$tenant3 = coreData.tenant) === null || _coreData$tenant3 === void 0 ? void 0 : _coreData$tenant3.default_domain]);
247
+ return {
248
+ postShareApi: postShareApi
249
+ };
250
+ };
251
+
252
+ // 导出
253
+ export var useExportApi = function useExportApi() {
254
+ var _useRequest5 = useRequest(),
255
+ post = _useRequest5.post;
256
+ var shopId = useGetShopId();
257
+ var context = useEngineContext();
258
+ var postExportApi = useCallback( /*#__PURE__*/function () {
259
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(params) {
260
+ var _context$appHelper2, _res$data3, _ref7, downloadFile, isPartner, listParams, _params, res, timestamp, filename;
261
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
262
+ while (1) switch (_context5.prev = _context5.next) {
263
+ case 0:
264
+ _context5.prev = 0;
265
+ _ref7 = (context === null || context === void 0 || (_context$appHelper2 = context.appHelper) === null || _context$appHelper2 === void 0 ? void 0 : _context$appHelper2.utils) || {}, downloadFile = _ref7.downloadFile;
266
+ isPartner = params.isPartner, listParams = params.listParams;
267
+ _params = {
268
+ type: isPartner ? 'partner' : 'eco',
269
+ business_shop_id: !isPartner ? shopId : listParams === null || listParams === void 0 ? void 0 : listParams.partner_shop_id,
270
+ operated_at_start: listParams === null || listParams === void 0 ? void 0 : listParams.operated_at_start,
271
+ operated_at_end: listParams === null || listParams === void 0 ? void 0 : listParams.operated_at_end
272
+ };
273
+ _context5.next = 6;
274
+ return post('/shop/wallet/eco/export-url', _params);
275
+ case 6:
276
+ res = _context5.sent;
277
+ if (!(res !== null && res !== void 0 && (_res$data3 = res.data) !== null && _res$data3 !== void 0 && _res$data3.export_url)) {
278
+ _context5.next = 13;
279
+ break;
280
+ }
281
+ // 文件名格式:shop-eco-cups-YYYYMMDDHHMMSS.csv
282
+ timestamp = new Date().toISOString().replace(/[-:T.]/g, '').slice(0, 14);
283
+ filename = "shop-eco-cups-".concat(timestamp, ".csv");
284
+ downloadFile && downloadFile(res.data.export_url, filename);
285
+ PisellToast({
286
+ content: locales.getText('pisell2.text.ecocup.export.success')
287
+ });
288
+ return _context5.abrupt("return");
289
+ case 13:
290
+ PisellToast({
291
+ content: locales.getText('pisell2.text.ecocup.export.fail')
292
+ });
293
+ _context5.next = 19;
294
+ break;
295
+ case 16:
296
+ _context5.prev = 16;
297
+ _context5.t0 = _context5["catch"](0);
298
+ console.log('导出失败', _context5.t0);
299
+ case 19:
300
+ case "end":
301
+ return _context5.stop();
302
+ }
303
+ }, _callee5, null, [[0, 16]]);
304
+ }));
305
+ return function (_x4) {
306
+ return _ref6.apply(this, arguments);
307
+ };
308
+ }(), []);
309
+ return {
310
+ postExportApi: postExportApi
311
+ };
172
312
  };
@@ -5,17 +5,19 @@ var prefixCls = 'ecocup-cup-list';
5
5
  export var useSummary = function useSummary(locales, staticsData, isPartner) {
6
6
  var summaryData = useMemo(function () {
7
7
  return [{
8
- key: 'available-to-rent',
9
- title: locales.getText('pisell2.text.ecocup.available-to-rent'),
10
- value: (staticsData === null || staticsData === void 0 ? void 0 : staticsData.in_stock_count) || 0
11
- }, {
12
8
  key: 'cup-rent',
13
9
  title: isPartner ? locales.getText('pisell2.text.ecocup.cup-rent') : locales.getText('pisell2.text.ecocup.eco.cup-rent'),
14
- value: (staticsData === null || staticsData === void 0 ? void 0 : staticsData.rent_count) || 0
10
+ value: (staticsData === null || staticsData === void 0 ? void 0 : staticsData.rent_count) || 0,
11
+ type: 'primary'
15
12
  }, {
16
13
  key: 'cup-returned',
17
14
  title: isPartner ? locales.getText('pisell2.text.ecocup.cup-returned') : locales.getText('pisell2.text.ecocup.eco.cup-returned'),
18
- value: (staticsData === null || staticsData === void 0 ? void 0 : staticsData.return_count) || 0
15
+ value: (staticsData === null || staticsData === void 0 ? void 0 : staticsData.return_count) || 0,
16
+ type: 'primary'
17
+ }, {
18
+ key: 'available-to-rent',
19
+ title: locales.getText('pisell2.text.ecocup.available-to-rent'),
20
+ value: (staticsData === null || staticsData === void 0 ? void 0 : staticsData.in_stock_count) || 0
19
21
  }];
20
22
  }, [staticsData, isPartner]);
21
23
  return useMemo(function () {
@@ -28,7 +30,7 @@ export var useSummary = function useSummary(locales, staticsData, isPartner) {
28
30
  span: 8,
29
31
  key: item.key
30
32
  }, /*#__PURE__*/React.createElement(Card, {
31
- className: "".concat(prefixCls, "-summary-card")
33
+ className: "".concat(prefixCls, "-summary-card ").concat((item === null || item === void 0 ? void 0 : item.type) === 'primary' ? "".concat(prefixCls, "-summary-primary") : '')
32
34
  }, /*#__PURE__*/React.createElement(Statistic, {
33
35
  title: item.title,
34
36
  value: item.value,
@@ -11,19 +11,19 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
11
11
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
13
  import React, { useState, useEffect, useCallback, useRef, useMemo } from 'react';
14
- import { useDebounceFn } from 'ahooks';
14
+ import { useDebounceFn, useMemoizedFn } from 'ahooks';
15
15
  import dayjs from 'dayjs';
16
- import { Table, DatePicker, Page } from '@pisell/materials';
16
+ import { Table, DatePicker, Page, Button, Icon } from '@pisell/materials';
17
17
  import { locales } from '@pisell/utils';
18
18
  import { CalendarOutlined } from '@ant-design/icons';
19
- import { usePlatform } from "../../../hooks/useEngineContext";
20
- import { useColumns, useSummary, useCupListsApi, useStatisticsApi, useEcoShopListsApi } from "./hooks";
21
- import { SORT_SETTINGS, COLUMN_SETTING, FILTER } from "./const";
19
+ import { useColumns, useSummary, useCupListsApi, useStatisticsApi, useEcoShopListsApi, useExportApi, useShareApi } from "./hooks";
20
+ import { SORT_SETTINGS, COLUMN_SETTING, FILTER, HEADER_RIGHT_OPTIONS } from "./const";
22
21
  import PageHeader from "../components/PageHeader";
23
22
  import CupActionModal from "../components/CupActionModal";
24
23
  import SearchBar from "../components/SearchBar";
25
- import { useLanguage, useModal, useGetGoalShopInfo, useIsApp } from "../hooks";
24
+ import { useLanguage, useModal, useGetGoalShopInfo, useIsApp, useGetShopId } from "../hooks";
26
25
  import localeTexts from "../locales";
26
+ import { useGetShare } from "../hooks";
27
27
  import "./index.less";
28
28
  var prefixCls = 'ecocup-cup-list';
29
29
  var SCAN_LISTENER_KEY = 'eco-cup-list-scan-listener';
@@ -37,9 +37,11 @@ var CupList = function CupList(props) {
37
37
  var cupActionModal = useModal('ecocup-list-action-modal');
38
38
  var _useGetGoalShopInfo = useGetGoalShopInfo(),
39
39
  isNormalShop = _useGetGoalShopInfo.isNormalShop;
40
+ var shopId = useGetShopId();
40
41
  var isApp = useIsApp();
41
- var platform = usePlatform();
42
42
  var language = useLanguage();
43
+ var _useGetShare = useGetShare(),
44
+ isEcoShare = _useGetShare.isEcoShare;
43
45
  locales.init(localeTexts, language);
44
46
  var _useState3 = useState({
45
47
  skip: 1,
@@ -50,16 +52,26 @@ var CupList = function CupList(props) {
50
52
  setListParams = _useState4[1];
51
53
  // 使用 ref 保存最新的 listParams,用于在回调中获取最新值
52
54
  var listParamsRef = useRef(listParams);
53
- var _useCupListsApi = useCupListsApi(),
55
+ var _useCupListsApi = useCupListsApi({
56
+ isEcoShare: isEcoShare
57
+ }),
54
58
  loading = _useCupListsApi.loading,
55
59
  data = _useCupListsApi.data,
56
60
  run = _useCupListsApi.run;
57
- var _useStatisticsApi = useStatisticsApi(),
61
+ var _useStatisticsApi = useStatisticsApi({
62
+ isEcoShare: isEcoShare
63
+ }),
58
64
  staticsData = _useStatisticsApi.data,
59
65
  getStatics = _useStatisticsApi.getStatics;
60
- var _useEcoShopListsApi = useEcoShopListsApi(),
66
+ var _useEcoShopListsApi = useEcoShopListsApi({
67
+ isEcoShare: isEcoShare
68
+ }),
61
69
  ecoShopLists = _useEcoShopListsApi.data,
62
70
  getEcoShopLists = _useEcoShopListsApi.getEcoShopLists;
71
+ var _useExportApi = useExportApi(),
72
+ postExportApi = _useExportApi.postExportApi;
73
+ var _useShareApi = useShareApi(),
74
+ postShareApi = _useShareApi.postShareApi;
63
75
  var isPartner = useMemo(function () {
64
76
  return !!(isNormalShop || listParams !== null && listParams !== void 0 && listParams.partner_shop_id);
65
77
  }, [isNormalShop, listParams === null || listParams === void 0 ? void 0 : listParams.partner_shop_id]);
@@ -101,7 +113,8 @@ var CupList = function CupList(props) {
101
113
  }, [cupActionModal]);
102
114
  var columns = useColumns({
103
115
  onClickAction: handleClickAction,
104
- locales: locales
116
+ locales: locales,
117
+ isEcoShare: isEcoShare
105
118
  });
106
119
  var summary = useSummary(locales, staticsData, isPartner);
107
120
 
@@ -167,6 +180,39 @@ var CupList = function CupList(props) {
167
180
  localPagination: false
168
181
  };
169
182
  }, [data === null || data === void 0 ? void 0 : data.count, listParams === null || listParams === void 0 ? void 0 : listParams.skip]);
183
+ var onClickButton = useMemoizedFn(function (key) {
184
+ if (key === 'export') {
185
+ postExportApi({
186
+ isPartner: isPartner,
187
+ listParams: listParams
188
+ });
189
+ } else if (key === 'share') {
190
+ postShareApi();
191
+ }
192
+ });
193
+ var headerRightContent = useMemo(function () {
194
+ // 只有总店有导出和分享功能
195
+ if (isNormalShop || isEcoShare) {
196
+ return null;
197
+ }
198
+ return /*#__PURE__*/React.createElement("div", {
199
+ className: "".concat(prefixCls, "-header-right-content")
200
+ }, HEADER_RIGHT_OPTIONS.map(function (button) {
201
+ return /*#__PURE__*/React.createElement(Button, {
202
+ key: button.key,
203
+ type: button.type,
204
+ size: "large",
205
+ icon: /*#__PURE__*/React.createElement(Icon, {
206
+ type: button.icon,
207
+ size: 22
208
+ }),
209
+ onClick: function onClick() {
210
+ return onClickButton(button.key);
211
+ },
212
+ className: "".concat(prefixCls, "-header-right-content-button")
213
+ }, locales.getText(button.languageKey));
214
+ }));
215
+ }, [isNormalShop, onClickButton, isEcoShare]);
170
216
  return /*#__PURE__*/React.createElement("div", {
171
217
  className: "".concat(prefixCls, "-container")
172
218
  }, /*#__PURE__*/React.createElement(Page, {
@@ -177,7 +223,9 @@ var CupList = function CupList(props) {
177
223
  dataSource: (data === null || data === void 0 ? void 0 : data.list) || [],
178
224
  columns: columns,
179
225
  title: !isApp ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PageHeader, {
180
- title: locales.getText('pisell2.text.ecocup.title')
226
+ title: locales.getText('pisell2.text.ecocup.title'),
227
+ rightContent: headerRightContent,
228
+ isReturn: !isEcoShare
181
229
  }), /*#__PURE__*/React.createElement("div", {
182
230
  className: "".concat(prefixCls, "-header")
183
231
  }, /*#__PURE__*/React.createElement(DatePicker.RangePicker, {
@@ -7,19 +7,21 @@
7
7
  display: flex;
8
8
  flex-direction: column;
9
9
  padding: 38px 12px 12px;
10
-
11
- .pisell-lowcode-page-header-left{
10
+
11
+ .pisell-lowcode-page-header-left {
12
12
  flex: 1;
13
13
  }
14
- .pisell-lowcode-action-btn-icon{
15
- color: #fff!important;
16
- &:hover{
17
- color: #101828!important;
14
+
15
+ .pisell-lowcode-action-btn-icon {
16
+ color: #fff !important;
17
+
18
+ &:hover {
19
+ color: #101828 !important;
18
20
  }
19
21
  }
20
22
 
21
- .materials-grid-table-wrap{
22
- .grid-view-table-wrap{
23
+ .materials-grid-table-wrap {
24
+ .grid-view-table-wrap {
23
25
  border-radius: 0 0 10px 10px;
24
26
  overflow: hidden;
25
27
  }
@@ -37,64 +39,84 @@
37
39
  width: 240px !important;
38
40
  background: #916ce0;
39
41
  border-radius: 8px;
40
- > div > div {
42
+
43
+ >div>div {
41
44
  font-size: 14px;
42
45
  color: #fff;
43
46
  font-weight: 600;
44
47
  line-height: 20px;
45
- input{
48
+
49
+ input {
46
50
  height: 38px !important;
47
51
  line-height: 38px !important;
48
52
  padding: 0 0 0 14px !important;
49
- &::selection {
50
- background: transparent;
51
- }
53
+
54
+ &::selection {
55
+ background: transparent;
56
+ }
52
57
  }
53
58
  }
54
59
  }
55
60
 
56
61
  &-summary {
57
62
  &-card {
58
- height: 80px;
63
+ min-height: 80px;
64
+ border: none;
65
+
59
66
  .pisell-lowcode-card-body {
60
67
  padding: 0;
61
68
  display: flex;
62
69
  align-items: center;
63
70
  justify-content: center;
64
71
  height: 100%;
72
+ min-height: 80px;
65
73
  }
74
+
66
75
  &-statistic {
67
76
  display: flex;
68
77
  flex-direction: column;
69
78
  text-align: center;
70
79
  gap: 8px;
71
80
  font-weight: 600;
81
+
72
82
  .pisell-lowcode-statistic-title,
73
83
  .pisell-lowcode-statistic-content-value {
74
- // color: #5d3f9f !important;
75
84
  line-height: 24px;
76
85
  margin: 0;
77
86
  }
87
+
78
88
  .pisell-lowcode-statistic-content-value {
79
89
  font-size: 28px;
80
90
  }
91
+
81
92
  .pisell-lowcode-statistic-content {
82
93
  line-height: 28px;
83
94
  }
84
95
  }
85
96
  }
97
+
98
+ &-primary {
99
+ background: #916ce0;
100
+
101
+ .pisell-lowcode-statistic-title,
102
+ .pisell-lowcode-statistic-content-value {
103
+ color: #ffffff !important;
104
+ }
105
+ }
86
106
  }
87
107
 
88
108
  &-table {
89
109
  td {
90
110
  text-align: center;
91
111
  }
112
+
92
113
  &-table-row {
93
114
  &:hover {
94
115
  cursor: pointer;
95
116
  }
96
117
  }
97
118
  }
119
+
98
120
  &-table-status {
99
121
  padding: 4px 8px;
100
122
  border-radius: 16px;
@@ -104,10 +126,34 @@
104
126
  width: max-content;
105
127
  margin: 0 auto;
106
128
  }
129
+
107
130
  &-table-actions {
108
131
  display: flex;
109
132
  align-items: center;
110
133
  justify-content: center;
111
134
  gap: 10px;
112
135
  }
113
- }
136
+
137
+ &-header-right-content {
138
+ display: flex;
139
+ align-items: center;
140
+ gap: 16px;
141
+
142
+ &-button {
143
+ width: 100px;
144
+ height: 40px;
145
+ display: flex;
146
+ align-items: center;
147
+ justify-content: center;
148
+ font-size: 14px;
149
+ box-shadow: none;
150
+ border: 1px solid #7f56d9;
151
+ color: #7f56d9;
152
+ font-weight: bold;
153
+ &:hover {
154
+ background: #7f56d9;
155
+ color: #fff;
156
+ }
157
+ }
158
+ }
159
+ }
@@ -16,7 +16,7 @@ export var CUP_PROJECT_FOOTER_BUTTONS = [{
16
16
  type: 'primary',
17
17
  size: 'large',
18
18
  languageKey: 'pisell2.text.cup-project.footer.button.cup-list'
19
- }
19
+ },
20
20
  // {
21
21
  // key: 'register-cups',
22
22
  // icon: 'RestOutlined',
@@ -24,4 +24,10 @@ export var CUP_PROJECT_FOOTER_BUTTONS = [{
24
24
  // size: 'large',
25
25
  // languageKey: 'pisell2.text.cup-project.footer.button.register-cups',
26
26
  // },
27
- ];
27
+ {
28
+ key: 'setting',
29
+ icon: 'pisell2-settings-02',
30
+ type: 'primary',
31
+ size: 'large',
32
+ languageKey: 'pisell2.text.cup-project.footer.button.setting'
33
+ }];