@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
@@ -40,12 +40,28 @@ var import_index = require("./index.less");
40
40
  var import_CupInfoCard = __toESM(require("../CupInfoCard"));
41
41
  var import_CustomerCard = __toESM(require("../CustomerCard"));
42
42
  var import_hooks = require("./hooks");
43
+ var import_SearchBar = __toESM(require("../SearchBar"));
44
+ var SCAN_LISTENER_KEY = "eco-cup-status-modal-scan-listener";
43
45
  var CupStatusModal = (props) => {
44
- var _a;
46
+ var _a, _b, _c;
45
47
  const { visible, onCancel, onOk, data } = props;
46
48
  const { scanStatus, cupData } = data || {};
47
49
  const cupAction = (0, import_hooks.useCupAction)();
48
- const isRed = scanStatus !== import_types.ECupScanStatus.OTHER_IN_STOCK && scanStatus !== import_types.ECupScanStatus.OTHER_RENT;
50
+ const [cupList, setCupList] = (0, import_react.useState)([]);
51
+ const batchCupAction = (0, import_hooks.useBatchCupAction)();
52
+ (0, import_react.useEffect)(() => {
53
+ if (!cupData) {
54
+ setCupList([]);
55
+ return;
56
+ }
57
+ const initialCups = Array.isArray(cupData) ? cupData : [cupData];
58
+ setCupList(initialCups);
59
+ }, [cupData]);
60
+ const otherRentStatus = (0, import_react.useMemo)(() => {
61
+ return scanStatus === import_types.ECupScanStatus.OTHER_RENT;
62
+ }, [scanStatus]);
63
+ const isRed = !otherRentStatus;
64
+ const cupStatistics = (0, import_hooks.useCupListStatistics)(cupList);
49
65
  const lineStyle = (0, import_react.useMemo)(() => {
50
66
  if (isRed) {
51
67
  return {
@@ -59,10 +75,13 @@ var CupStatusModal = (props) => {
59
75
  };
60
76
  }, [isRed]);
61
77
  const cupInfoCardType = (0, import_react.useMemo)(() => {
62
- if (scanStatus === import_types.ECupScanStatus.OTHER_IN_STOCK || scanStatus === import_types.ECupScanStatus.IN_STOCK) {
78
+ if (scanStatus === import_types.ECupScanStatus.OTHER_IN_STOCK) {
79
+ return "otherBelongInfo";
80
+ }
81
+ if (scanStatus === import_types.ECupScanStatus.IN_STOCK) {
63
82
  return "belongInfo";
64
83
  }
65
- if (scanStatus === import_types.ECupScanStatus.OTHER_RENT || scanStatus === import_types.ECupScanStatus.RENT) {
84
+ if (otherRentStatus || scanStatus === import_types.ECupScanStatus.RENT) {
66
85
  return "rentInfo";
67
86
  }
68
87
  if (scanStatus === import_types.ECupScanStatus.MISSING || scanStatus === import_types.ECupScanStatus.BROKEN) {
@@ -76,15 +95,18 @@ var CupStatusModal = (props) => {
76
95
  };
77
96
  const _onOk = async () => {
78
97
  if (cupAction == null ? void 0 : cupAction.loading) return;
79
- const type = scanStatus === import_types.ECupScanStatus.OTHER_IN_STOCK ? import_types.ECupActionType.TRANSFER : scanStatus === import_types.ECupScanStatus.OTHER_RENT ? import_types.ECupActionType.RETURN : "";
98
+ const type = otherRentStatus ? import_types.ECupActionType.RETURN : "";
80
99
  if (!type) {
81
100
  onOk == null ? void 0 : onOk();
82
101
  return;
83
102
  }
84
- const result = await cupAction.run(
85
- (cupData == null ? void 0 : cupData.eco_cup_id) || (cupData == null ? void 0 : cupData.id),
86
- type
87
- );
103
+ let result;
104
+ if (otherRentStatus) {
105
+ const ids = cupList.map((cup) => (cup == null ? void 0 : cup.eco_cup_id) || (cup == null ? void 0 : cup.id));
106
+ result = await batchCupAction.run(ids);
107
+ } else {
108
+ result = await cupAction.run((cupData == null ? void 0 : cupData.eco_cup_id) || (cupData == null ? void 0 : cupData.id), type);
109
+ }
88
110
  if (result) {
89
111
  (0, import_materials.PisellToast)({
90
112
  content: import_utils.locales.getText(`pisell2.text.ecocup.toast.success-${type}`)
@@ -92,6 +114,39 @@ var CupStatusModal = (props) => {
92
114
  onOk == null ? void 0 : onOk();
93
115
  }
94
116
  };
117
+ const onSearchResult = (result) => {
118
+ var _a2;
119
+ if (cupList.find((c) => {
120
+ var _a3;
121
+ return (c == null ? void 0 : c.id) === ((_a3 = result == null ? void 0 : result.data) == null ? void 0 : _a3.id);
122
+ })) {
123
+ return;
124
+ }
125
+ if (((_a2 = result == null ? void 0 : result.data) == null ? void 0 : _a2.status) !== import_types.ECupStatus.RENT) {
126
+ return;
127
+ }
128
+ setCupList([...cupList, result == null ? void 0 : result.data]);
129
+ };
130
+ const removeCupFromList = (cupId) => {
131
+ setCupList(cupList.filter((cup) => (cup == null ? void 0 : cup.id) !== cupId));
132
+ };
133
+ const renderSearchBar = () => {
134
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-first-modal-search-bar" }, /* @__PURE__ */ import_react.default.createElement(
135
+ import_SearchBar.default,
136
+ {
137
+ scanListenerKey: SCAN_LISTENER_KEY,
138
+ searchType: "cup",
139
+ placeholder: import_utils.locales.getText(
140
+ "pisell2.text.ecocup.customer-first-modal.search-bar.placeholder"
141
+ ),
142
+ onSearchResult,
143
+ onCupStatusValidate: onSearchResult
144
+ }
145
+ ));
146
+ };
147
+ const showRemove = (0, import_react.useMemo)(() => {
148
+ return (cupList == null ? void 0 : cupList.length) > 1 && otherRentStatus;
149
+ }, [cupList.length, otherRentStatus]);
95
150
  return /* @__PURE__ */ import_react.default.createElement(
96
151
  import_materials.PisellModal,
97
152
  {
@@ -99,23 +154,30 @@ var CupStatusModal = (props) => {
99
154
  open: visible,
100
155
  onCancel: _onCancel,
101
156
  onOk: _onOk,
102
- title: import_utils.locales.getText(
157
+ title: otherRentStatus ? import_utils.locales.getText(
158
+ `pisell2.text.ecocup.cup-status-modal.title-${scanStatus}`
159
+ )(cupList.length) : import_utils.locales.getText(
103
160
  `pisell2.text.ecocup.cup-status-modal.title-${scanStatus}`
104
161
  ),
105
- cancelText: import_utils.locales.getText("pisell2.text.ecocup.button.dismiss"),
106
- okText: isRed ? import_utils.locales.getText("pisell2.text.ecocup.button.confirm") : scanStatus === import_types.ECupScanStatus.OTHER_IN_STOCK ? import_utils.locales.getText("pisell2.text.ecocup.button.transfer") : import_utils.locales.getText("pisell2.text.ecocup.button.mark-as-return"),
162
+ cancelText: otherRentStatus ? import_utils.locales.getText("pisell2.text.ecocup.button.cancel") : import_utils.locales.getText("pisell2.text.ecocup.button.dismiss"),
163
+ okText: isRed ? import_utils.locales.getText("pisell2.text.ecocup.button.confirm") : import_utils.locales.getText("pisell2.text.ecocup.button.return"),
107
164
  okButtonProps: { loading: cupAction == null ? void 0 : cupAction.loading },
108
165
  cancelVisible: !isRed,
109
166
  width: 580
110
167
  },
111
- /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-cup-status-modal-content" }, /* @__PURE__ */ import_react.default.createElement(
168
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-cup-status-modal-content", style: { gap: otherRentStatus ? "20px" : "32px" } }, otherRentStatus ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-cup-status-modal-content-search" }, /* @__PURE__ */ import_react.default.createElement("span", { className: "tip-text" }, import_utils.locales.getText(
169
+ "pisell2.text.ecocup.cup-status-modal.search-bar.title"
170
+ )), renderSearchBar()) : null, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-cup-status-modal-content-cup-lists" }, cupList.map((cup, index) => /* @__PURE__ */ import_react.default.createElement(
112
171
  "div",
113
172
  {
173
+ key: (cup == null ? void 0 : cup.id) || index,
114
174
  className: "pisell2-ecocup-cup-status-modal-content-cup",
115
- style: { ...lineStyle }
175
+ style: {
176
+ ...lineStyle,
177
+ justifyContent: showRemove ? "space-between" : "center"
178
+ }
116
179
  },
117
- /* @__PURE__ */ import_react.default.createElement(import_materials.Icon, { type: "RestOutlined", size: 24 }),
118
- /* @__PURE__ */ import_react.default.createElement(
180
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-cup-status-modal-content-cup-info" }, /* @__PURE__ */ import_react.default.createElement(import_materials.Icon, { type: "RestOutlined", size: 24 }), /* @__PURE__ */ import_react.default.createElement(
119
181
  "span",
120
182
  {
121
183
  style: {
@@ -123,18 +185,37 @@ var CupStatusModal = (props) => {
123
185
  }
124
186
  },
125
187
  import_utils.locales.getText("pisell2.text.ecocup.cup-id")
126
- ),
127
- /* @__PURE__ */ import_react.default.createElement("span", null, (cupData == null ? void 0 : cupData.eco_cup_code) || (cupData == null ? void 0 : cupData.code) || "")
128
- ), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-cup-status-modal-content-info" }, /* @__PURE__ */ import_react.default.createElement("div", { style: { flex: 1 } }, (cupData == null ? void 0 : cupData.current_shop) && cupInfoCardType ? /* @__PURE__ */ import_react.default.createElement(
188
+ ), /* @__PURE__ */ import_react.default.createElement("span", null, (cup == null ? void 0 : cup.eco_cup_code) || (cup == null ? void 0 : cup.code) || "")),
189
+ showRemove && /* @__PURE__ */ import_react.default.createElement(
190
+ import_materials.Button,
191
+ {
192
+ type: "primary",
193
+ icon: /* @__PURE__ */ import_react.default.createElement(import_materials.Icon, { type: "pisell2-trash-01", size: 24, color: "#7F56DA" }),
194
+ onClick: () => removeCupFromList(cup == null ? void 0 : cup.id),
195
+ className: "info-remove"
196
+ },
197
+ import_utils.locales.getText("pisell2.text.ecocup.button.remove")
198
+ )
199
+ ))), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-cup-status-modal-content-info" }, /* @__PURE__ */ import_react.default.createElement("div", { style: { flex: 1 } }, ((cupStatistics == null ? void 0 : cupStatistics.uniqueShop) || (cupStatistics == null ? void 0 : cupStatistics.hasMultipleShops)) && cupInfoCardType ? /* @__PURE__ */ import_react.default.createElement(
129
200
  import_CupInfoCard.default,
130
201
  {
131
202
  type: cupInfoCardType,
132
203
  data: {
133
- shop: (_a = cupData == null ? void 0 : cupData.current_shop) == null ? void 0 : _a.name,
134
- time: cupData == null ? void 0 : cupData.operated_at
204
+ shop: (_a = cupStatistics == null ? void 0 : cupStatistics.uniqueShop) == null ? void 0 : _a.name,
205
+ time: cupStatistics == null ? void 0 : cupStatistics.uniqueTime,
206
+ isMultipleTime: cupStatistics == null ? void 0 : cupStatistics.hasMultipleTimes,
207
+ isMultipleShop: cupStatistics == null ? void 0 : cupStatistics.hasMultipleShops
135
208
  }
136
209
  }
137
- ) : null), /* @__PURE__ */ import_react.default.createElement("div", { style: { flex: 1 } }, (cupData == null ? void 0 : cupData.status) === import_types.ECupStatus.RENT ? (cupData == null ? void 0 : cupData.customer) ? /* @__PURE__ */ import_react.default.createElement(import_CustomerCard.default, { ...(cupData == null ? void 0 : cupData.customer) || {} }) : null : (cupData == null ? void 0 : cupData.status) === import_types.ECupStatus.IN_STOCK ? null : /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-cup-status-modal-content-info-tip" }, import_utils.locales.getText("pisell2.text.ecocup.cup-status-modal.tip")))))
210
+ ) : null), /* @__PURE__ */ import_react.default.createElement("div", { style: { flex: 1 } }, ((_b = cupList == null ? void 0 : cupList[0]) == null ? void 0 : _b.status) === import_types.ECupStatus.RENT ? (cupStatistics == null ? void 0 : cupStatistics.uniqueCustomer) || (cupStatistics == null ? void 0 : cupStatistics.hasMultipleCustomers) ? /* @__PURE__ */ import_react.default.createElement(
211
+ import_CustomerCard.default,
212
+ {
213
+ ...(cupStatistics == null ? void 0 : cupStatistics.uniqueCustomer) || {},
214
+ isMultiple: cupStatistics == null ? void 0 : cupStatistics.hasMultipleCustomers
215
+ }
216
+ ) : null : /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-cup-status-modal-content-info-tip" }, ((_c = cupList == null ? void 0 : cupList[0]) == null ? void 0 : _c.status) === import_types.ECupStatus.IN_STOCK ? import_utils.locales.getText(
217
+ "pisell2.text.ecocup.cup-status-modal.tip-in-stock"
218
+ ) : import_utils.locales.getText("pisell2.text.ecocup.cup-status-modal.tip")))))
138
219
  );
139
220
  };
140
221
  var CupStatusModal_default = CupStatusModal;
@@ -4,32 +4,70 @@
4
4
  flex-direction: column;
5
5
  gap: 32px;
6
6
 
7
+ &-cup-lists {
8
+ display: flex;
9
+ align-items: center;
10
+ flex-direction: column;
11
+ gap: 4px;
12
+ }
13
+
7
14
  &-cup {
8
15
  height: 60px;
9
16
  padding: 0 16px;
10
17
  display: flex;
11
18
  flex-direction: row;
12
19
  align-items: center;
13
- justify-content: center;
20
+ justify-content: space-between;
14
21
  border-radius: 8px;
15
22
  gap: 8px;
23
+ width: 100%;
24
+
25
+ .info-remove {
26
+ display: flex;
27
+ flex-direction: row;
28
+ align-items: center;
29
+ justify-content: center;
30
+ border-radius: 8px;
31
+ border: 1px solid #7f56da;
32
+ background: #f6f2ff;
33
+ color: #7F56DA;
34
+ }
35
+ }
36
+
37
+ &-cup-info {
38
+ display: flex;
39
+ align-items: center;
40
+ gap: 8px;
16
41
 
17
- & > span {
42
+ &>span {
18
43
  font-size: 20px;
19
44
  font-weight: 300;
20
45
  }
21
46
  }
22
47
 
48
+ &-search {
49
+ display: flex;
50
+ flex-direction: column;
51
+ gap: 8px;
52
+ .tip-text {
53
+ font-size: 14px;
54
+ font-weight: 500;
55
+ color: rgb(127, 86, 218);
56
+ text-align: center;
57
+ }
58
+ }
59
+
23
60
  &-info {
24
61
  display: flex;
25
62
  align-items: center;
26
- justify-content: space-between;
27
-
28
- &-tip {
29
- flex: 1;
30
- color: #d92d20;
31
- font-size: 16px;
32
- font-weight: 400;
63
+ gap: 8px;
64
+ &>div:nth-child(2) {
65
+ display: flex;
66
+ justify-content: flex-end;
33
67
  }
34
68
  }
35
- }
69
+
70
+ .comprehensive-search__search-section .comprehensive-search__search-button {
71
+ min-width: 60px !important;
72
+ }
73
+ }
@@ -147,7 +147,7 @@ var CustomerAndCupModal = (props) => {
147
147
  onCancel: _onCancel,
148
148
  onOk: _onOk,
149
149
  okText: import_utils.locales.getText("pisell2.text.ecocup.button.confirm"),
150
- cancelText: import_utils.locales.getText("pisell2.text.ecocup.button.cancel"),
150
+ cancelText: import_utils.locales.getText("pisell2.text.ecocup.button.dismiss"),
151
151
  okButtonProps: {
152
152
  disabled: newCups.length === 0 || isOverMax || isLoading || !(customerData == null ? void 0 : customerData.id),
153
153
  loading: isLoading
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
2
  import './index.less';
3
3
  import { ICustomer } from '../../types';
4
- interface IProps extends ICustomer {
4
+ interface IProps extends Partial<ICustomer> {
5
+ /** 是否为多个客户,为 true 时显示 "Multiple customers" */
6
+ isMultiple?: boolean;
5
7
  }
6
8
  declare const CustomerCard: (props: IProps) => React.JSX.Element | null;
7
9
  export default CustomerCard;
@@ -37,12 +37,22 @@ var import_utils = require("@pisell/utils");
37
37
  var import_index = require("./index.less");
38
38
  var CustomerCard = (props) => {
39
39
  var _a;
40
- const { id, nickname, display_name, phone, country_calling_code, cover } = props;
41
- if (!id && !nickname && !display_name && !phone) {
40
+ const {
41
+ id,
42
+ nickname,
43
+ display_name,
44
+ phone,
45
+ country_calling_code,
46
+ cover,
47
+ isMultiple
48
+ } = props;
49
+ if (!id && !nickname && !display_name && !phone && !isMultiple) {
42
50
  return null;
43
51
  }
44
52
  const phoneStr = phone ? `${country_calling_code} ${phone}` : "-";
45
53
  const name = display_name || nickname || "";
46
- return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card-avatar" }, cover ? /* @__PURE__ */ import_react.default.createElement("img", { src: import_utils.image.ali(cover, 360), alt: "avatar" }) : /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card-avatar-text" }, ((_a = name == null ? void 0 : name.charAt(0)) == null ? void 0 : _a.toUpperCase()) || "")), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card-info" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card-info-name" }, name || ""), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card-info-phone" }, phoneStr || "")));
54
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card-avatar" }, isMultiple ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card-avatar-text" }) : cover ? /* @__PURE__ */ import_react.default.createElement("img", { src: import_utils.image.ali(cover, 360), alt: "avatar" }) : /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card-avatar-text" }, ((_a = name == null ? void 0 : name.charAt(0)) == null ? void 0 : _a.toUpperCase()) || "")), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card-info" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card-info-name" }, isMultiple ? import_utils.locales.getText(
55
+ "pisell2.text.ecocup.cup-info-card.title.multiple-customer"
56
+ ) : name || ""), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell2-ecocup-customer-card-info-phone" }, isMultiple ? "-" : phoneStr || ""), isMultiple ? /* @__PURE__ */ import_react.default.createElement("div", null, "-") : null));
47
57
  };
48
58
  var CustomerCard_default = CustomerCard;
@@ -2,6 +2,8 @@ import React from 'react';
2
2
  import './index.less';
3
3
  interface CustomPageHeaderProps {
4
4
  title: string;
5
+ rightContent?: React.ReactNode;
6
+ isReturn?: boolean;
5
7
  }
6
8
  declare const CustomPageHeader: (props: CustomPageHeaderProps) => React.JSX.Element;
7
9
  export default CustomPageHeader;
@@ -41,19 +41,26 @@ var import_index = require("./index.less");
41
41
  var prefixCls = "ecocup-page-header";
42
42
  var CustomPageHeader = (props) => {
43
43
  var _a;
44
- const { title } = props;
44
+ const { title, rightContent, isReturn = true } = props;
45
45
  const context = (0, import_useEngineContext.default)();
46
46
  const { history } = ((_a = context == null ? void 0 : context.appHelper) == null ? void 0 : _a.utils) || {};
47
47
  const app = (0, import_hooks.useGetApp)();
48
48
  const onBack = () => {
49
49
  var _a2, _b;
50
- console.log("onBack", app, history);
50
+ if (!isReturn) return;
51
51
  if (app == null ? void 0 : app.history) {
52
52
  (_a2 = app.history) == null ? void 0 : _a2.goBack();
53
53
  } else {
54
54
  (_b = history == null ? void 0 : history.goBack) == null ? void 0 : _b.call(history);
55
55
  }
56
56
  };
57
- return /* @__PURE__ */ import_react.default.createElement("div", { className: prefixCls, onClick: onBack }, /* @__PURE__ */ import_react.default.createElement(import_icons.LeftOutlined, { style: { fontSize: 18 } }), /* @__PURE__ */ import_react.default.createElement(import_materials.PageHeader, { title, showTitle: true }));
57
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: prefixCls, onClick: onBack }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefixCls}-left-container` }, isReturn ? /* @__PURE__ */ import_react.default.createElement(import_icons.LeftOutlined, { style: { fontSize: 18 } }) : null, /* @__PURE__ */ import_react.default.createElement(import_materials.PageHeader, { title, showTitle: true })), /* @__PURE__ */ import_react.default.createElement(
58
+ "div",
59
+ {
60
+ className: `${prefixCls}-right-container`,
61
+ onClick: (e) => e.stopPropagation()
62
+ },
63
+ rightContent || ""
64
+ ));
58
65
  };
59
66
  var PageHeader_default = CustomPageHeader;
@@ -3,8 +3,8 @@
3
3
  .@{prefixCls} {
4
4
  display: flex;
5
5
  align-items: center;
6
- gap: 16px;
7
- width: max-content;
6
+ justify-content: space-between;
7
+ width: 100%;
8
8
  margin-bottom: 12px;
9
9
  cursor: pointer;
10
10
  color: #fff;
@@ -13,7 +13,19 @@
13
13
  margin: 0;
14
14
  }
15
15
 
16
- .pisell-lowcode-page-header-title{
16
+ .pisell-lowcode-page-header-title {
17
17
  color: #fff !important;
18
18
  }
19
- }
19
+
20
+ &-left-container {
21
+ display: flex;
22
+ align-items: center;
23
+ gap: 16px;
24
+ }
25
+
26
+ &-right-container {
27
+ flex-shrink: 0;
28
+ display: flex;
29
+ justify-content: flex-end;
30
+ }
31
+ }
@@ -8,6 +8,7 @@ interface SearchBarProps {
8
8
  searchType?: 'customer' | 'cup';
9
9
  onSearchResult?: (v: any) => void;
10
10
  customerId?: string;
11
+ onCupStatusValidate?: (data: any) => void;
11
12
  }
12
13
  declare const SearchBar: (props: SearchBarProps) => React.JSX.Element;
13
14
  export default SearchBar;
@@ -42,6 +42,7 @@ var import_hooks = require("../../hooks");
42
42
  var import_const = require("./const");
43
43
  var import_hooks2 = require("./hooks");
44
44
  var import_CupStatusModal = __toESM(require("../CupStatusModal"));
45
+ var import_types = require("../../types");
45
46
  var import_dayjs = __toESM(require("dayjs"));
46
47
  var SearchBar = (props) => {
47
48
  var _a;
@@ -52,7 +53,8 @@ var SearchBar = (props) => {
52
53
  onSearch,
53
54
  searchType,
54
55
  onSearchResult,
55
- customerId
56
+ customerId,
57
+ onCupStatusValidate
56
58
  } = props;
57
59
  const [value, setValue] = (0, import_react.useState)("");
58
60
  const [searchResult, setSearchResult] = (0, import_react.useState)(null);
@@ -61,6 +63,7 @@ var SearchBar = (props) => {
61
63
  const searchHook = (0, import_hooks2.useSearch)();
62
64
  const { getCupScanStatus } = (0, import_hooks2.useCupScanStatus)();
63
65
  const cupStatusModal = (0, import_hooks.useModal)("ecocup-cup-status-modal");
66
+ const shopId = (0, import_hooks.useGetShopId)();
64
67
  const onSelectResult = (0, import_ahooks.useMemoizedFn)(
65
68
  (type, item) => {
66
69
  setSearchResult(null);
@@ -85,6 +88,16 @@ var SearchBar = (props) => {
85
88
  if ((res == null ? void 0 : res.type) === "cup") {
86
89
  const _cupData = ((_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2[0]) || null;
87
90
  const scanStatus = getCupScanStatus(_cupData, customerId);
91
+ console.log(scanStatus, _cupData, shopId, "sjdhfjj");
92
+ if (onCupStatusValidate) {
93
+ if (scanStatus && scanStatus === import_types.ECupScanStatus.OTHER_RENT) {
94
+ onCupStatusValidate == null ? void 0 : onCupStatusValidate({
95
+ data: _cupData || { code: str }
96
+ });
97
+ setValue("");
98
+ return;
99
+ }
100
+ }
88
101
  if (scanStatus) {
89
102
  cupStatusModal.open({
90
103
  data: {
@@ -206,7 +219,7 @@ var SearchBar = (props) => {
206
219
  /* @__PURE__ */ import_react.default.createElement("div", null, create_time ? (0, import_dayjs.default)(create_time).format("DD/MM/YYYY") : "-"),
207
220
  /* @__PURE__ */ import_react.default.createElement("div", null, phone ? `(${country_calling_code}) ${phone}` : "-"),
208
221
  /* @__PURE__ */ import_react.default.createElement("div", null, email || "-"),
209
- /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement("span", { className: "ecocup-cup-search-bar-result-content-item-membership" }, ((_a2 = tags == null ? void 0 : tags.find) == null ? void 0 : _a2.call(tags, (v) => (v == null ? void 0 : v.name) == "admin")) ? "Admin" : ((_b = tags == null ? void 0 : tags.find) == null ? void 0 : _b.call(tags, (v) => (v == null ? void 0 : v.name) == "business")) ? "Business" : "Normal"))
222
+ /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement("span", { className: "ecocup-cup-search-bar-result-content-item-membership" }, ((_a2 = tags == null ? void 0 : tags.find) == null ? void 0 : _a2.call(tags, (v) => (v == null ? void 0 : v.name) == "admin")) ? "Admin" : ((_b = tags == null ? void 0 : tags.find) == null ? void 0 : _b.call(tags, (v) => (v == null ? void 0 : v.name) == "business")) ? "Business" : "Regular"))
210
223
  );
211
224
  }))) : null, cupStatusModal.visible && /* @__PURE__ */ import_react.default.createElement(import_CupStatusModal.default, { ...cupStatusModal.modalProps }));
212
225
  };
@@ -0,0 +1,6 @@
1
+ export declare const formItemsConfig: {
2
+ name: string;
3
+ labelKey: string;
4
+ placeholderKey: string;
5
+ requiredMessageKey: string;
6
+ }[];
@@ -0,0 +1,48 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/ecocup/components/SettingModal/const.ts
20
+ var const_exports = {};
21
+ __export(const_exports, {
22
+ formItemsConfig: () => formItemsConfig
23
+ });
24
+ module.exports = __toCommonJS(const_exports);
25
+ var formItemsConfig = [
26
+ {
27
+ name: "regular",
28
+ labelKey: "pisell2.text.ecocup.setting.regular",
29
+ placeholderKey: "pisell2.text.ecocup.setting.regular-placeholder",
30
+ requiredMessageKey: "pisell2.text.ecocup.setting.regular-required"
31
+ },
32
+ {
33
+ name: "business",
34
+ labelKey: "pisell2.text.ecocup.setting.business",
35
+ placeholderKey: "pisell2.text.ecocup.setting.business-placeholder",
36
+ requiredMessageKey: "pisell2.text.ecocup.setting.business-required"
37
+ },
38
+ {
39
+ name: "admin",
40
+ labelKey: "pisell2.text.ecocup.setting.admin",
41
+ placeholderKey: "pisell2.text.ecocup.setting.admin-placeholder",
42
+ requiredMessageKey: "pisell2.text.ecocup.setting.admin-required"
43
+ }
44
+ ];
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ formItemsConfig
48
+ });
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ interface IProps {
4
+ visible: boolean;
5
+ data?: Record<string, any>;
6
+ onCancel: () => void;
7
+ }
8
+ declare const SettingModal: (props: IProps) => React.JSX.Element;
9
+ export default SettingModal;