phx-uikit 1.0.164 → 1.0.166
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.
- package/dist/cjs/axiosInstance.js +1 -2
- package/dist/cjs/axiosInstance.js.map +1 -1
- package/dist/cjs/components/LoginSsoV3/login-sso-v3.js +27 -11
- package/dist/cjs/components/LoginSsoV3/login-sso-v3.js.map +1 -1
- package/dist/cjs/components/MainWrapV3/MainWrapV3.js +8 -0
- package/dist/cjs/components/MainWrapV3/MainWrapV3.js.map +1 -1
- package/dist/cjs/components/StoreProduct/StoreProduct.d.ts +21 -0
- package/dist/cjs/components/StoreProduct/StoreProduct.js +326 -0
- package/dist/cjs/components/StoreProduct/StoreProduct.js.map +1 -0
- package/dist/cjs/components/StoreProduct/constant.d.ts +5 -0
- package/dist/cjs/components/StoreProduct/constant.js +9 -0
- package/dist/cjs/components/StoreProduct/constant.js.map +1 -0
- package/dist/cjs/components/StoreProduct/index.d.ts +1 -0
- package/dist/cjs/components/StoreProduct/index.js +5 -0
- package/dist/cjs/components/StoreProduct/index.js.map +1 -0
- package/dist/cjs/components/StoreProduct/product-table.d.ts +8 -0
- package/dist/cjs/components/StoreProduct/product-table.js +37 -0
- package/dist/cjs/components/StoreProduct/product-table.js.map +1 -0
- package/dist/cjs/components/StoreProduct/query.d.ts +3 -0
- package/dist/cjs/components/StoreProduct/query.js +35 -0
- package/dist/cjs/components/StoreProduct/query.js.map +1 -0
- package/dist/cjs/components/StoreProduct/store-helper.d.ts +27 -0
- package/dist/cjs/components/StoreProduct/store-helper.js +49 -0
- package/dist/cjs/components/StoreProduct/store-helper.js.map +1 -0
- package/dist/cjs/components/TableStatic/TableStatic.d.ts +9 -0
- package/dist/cjs/components/TableStatic/TableStatic.js +37 -0
- package/dist/cjs/components/TableStatic/TableStatic.js.map +1 -0
- package/dist/cjs/components/TableStatic/index.d.ts +1 -0
- package/dist/cjs/components/TableStatic/index.js +5 -0
- package/dist/cjs/components/TableStatic/index.js.map +1 -0
- package/dist/cjs/components/UploadFile/FormUpload.js +2 -2
- package/dist/cjs/components/UploadFile/FormUpload.js.map +1 -1
- package/dist/cjs/env.js +1 -1
- package/dist/cjs/env.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +6 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/constants.d.ts +1 -0
- package/dist/cjs/utils/constants.js +7 -1
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/esm/axiosInstance.js +1 -2
- package/dist/esm/axiosInstance.js.map +1 -1
- package/dist/esm/components/LoginSsoV3/login-sso-v3.js +28 -12
- package/dist/esm/components/LoginSsoV3/login-sso-v3.js.map +1 -1
- package/dist/esm/components/MainWrapV3/MainWrapV3.js +9 -1
- package/dist/esm/components/MainWrapV3/MainWrapV3.js.map +1 -1
- package/dist/esm/components/StoreProduct/StoreProduct.d.ts +21 -0
- package/dist/esm/components/StoreProduct/StoreProduct.js +323 -0
- package/dist/esm/components/StoreProduct/StoreProduct.js.map +1 -0
- package/dist/esm/components/StoreProduct/constant.d.ts +5 -0
- package/dist/esm/components/StoreProduct/constant.js +6 -0
- package/dist/esm/components/StoreProduct/constant.js.map +1 -0
- package/dist/esm/components/StoreProduct/index.d.ts +1 -0
- package/dist/esm/components/StoreProduct/index.js +2 -0
- package/dist/esm/components/StoreProduct/index.js.map +1 -0
- package/dist/esm/components/StoreProduct/product-table.d.ts +8 -0
- package/dist/esm/components/StoreProduct/product-table.js +33 -0
- package/dist/esm/components/StoreProduct/product-table.js.map +1 -0
- package/dist/esm/components/StoreProduct/query.d.ts +3 -0
- package/dist/esm/components/StoreProduct/query.js +29 -0
- package/dist/esm/components/StoreProduct/query.js.map +1 -0
- package/dist/esm/components/StoreProduct/store-helper.d.ts +27 -0
- package/dist/esm/components/StoreProduct/store-helper.js +43 -0
- package/dist/esm/components/StoreProduct/store-helper.js.map +1 -0
- package/dist/esm/components/TableStatic/TableStatic.d.ts +9 -0
- package/dist/esm/components/TableStatic/TableStatic.js +32 -0
- package/dist/esm/components/TableStatic/TableStatic.js.map +1 -0
- package/dist/esm/components/TableStatic/index.d.ts +1 -0
- package/dist/esm/components/TableStatic/index.js +2 -0
- package/dist/esm/components/TableStatic/index.js.map +1 -0
- package/dist/esm/components/UploadFile/FormUpload.js +2 -2
- package/dist/esm/components/UploadFile/FormUpload.js.map +1 -1
- package/dist/esm/env.js +1 -1
- package/dist/esm/env.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/constants.d.ts +1 -0
- package/dist/esm/utils/constants.js +6 -0
- package/dist/esm/utils/constants.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import { __assign, __awaiter, __generator, __spreadArray } from "tslib";
|
|
2
|
+
import React, { useEffect, useRef } from 'react';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { MagnifyingGlassIcon } from '@heroicons/react/24/solid';
|
|
5
|
+
import ProductTable from './product-table';
|
|
6
|
+
import { countAllBundleAndProductQuery, getListBundleQuery, getListProductQuery } from './query';
|
|
7
|
+
import { caculateBundlePrice, caculateProductPrice } from './store-helper';
|
|
8
|
+
import PHXFuncGetLoggedInfo from '../Func/getLoginInfo';
|
|
9
|
+
import PHXClientQueryV3 from '../Func/clientQueryV3';
|
|
10
|
+
import { PHXModal } from '../Modal';
|
|
11
|
+
import { PHXButton } from '../Button';
|
|
12
|
+
import { PHXBannerWithCard } from '../BannerWithCard/BannerWithCard';
|
|
13
|
+
import { PHXSkeleton } from '../Skeleton';
|
|
14
|
+
import { PHXEmptyRecord } from '../EmptyRecord';
|
|
15
|
+
export default function PHXStoreProduct(_a) {
|
|
16
|
+
var _this = this;
|
|
17
|
+
var show = _a.show, setShow = _a.setShow, schoolYearId = _a.schoolYearId, _b = _a.submitLoading, submitLoading = _b === void 0 ? false : _b, handleSubmit = _a.handleSubmit, _c = _a.isVerifyProjectCode, isVerifyProjectCode = _c === void 0 ? false : _c, _d = _a.isInCampaign, isInCampaign = _d === void 0 ? false : _d;
|
|
18
|
+
var userInfo = PHXFuncGetLoggedInfo();
|
|
19
|
+
var _e = useState([]), addNewData = _e[0], setAddNewData = _e[1];
|
|
20
|
+
var _f = useState(true), initLoading = _f[0], setInitLoading = _f[1];
|
|
21
|
+
var scrollRef = useRef(null);
|
|
22
|
+
var _g = useState(0), currPage = _g[0], setCurrPage = _g[1];
|
|
23
|
+
var _h = useState(false), fetchMoreLoading = _h[0], setFetchMoreLoading = _h[1];
|
|
24
|
+
var _j = useState(''), searchValue = _j[0], setSearchValue = _j[1];
|
|
25
|
+
var _k = useState(false), searchLoading = _k[0], setSearchLoading = _k[1];
|
|
26
|
+
var _l = useState([]), checkedList = _l[0], setCheckedList = _l[1];
|
|
27
|
+
var _m = useState(0), countAll = _m[0], setCountAll = _m[1];
|
|
28
|
+
var _o = useState(false), showModalSelected = _o[0], setShowModalSelected = _o[1];
|
|
29
|
+
var _p = useState({
|
|
30
|
+
product: true,
|
|
31
|
+
bundle: true
|
|
32
|
+
}), isHaveMore = _p[0], setIsHaveMore = _p[1];
|
|
33
|
+
var limit = 30;
|
|
34
|
+
function onHideModal() {
|
|
35
|
+
setCheckedList([]);
|
|
36
|
+
setAddNewData([]);
|
|
37
|
+
setInitLoading(true);
|
|
38
|
+
setCurrPage(0);
|
|
39
|
+
setIsHaveMore({
|
|
40
|
+
product: true,
|
|
41
|
+
bundle: true
|
|
42
|
+
});
|
|
43
|
+
setSearchValue('');
|
|
44
|
+
setShow(false);
|
|
45
|
+
}
|
|
46
|
+
var handleCheckData = function (productIndex) {
|
|
47
|
+
var clone = __spreadArray([], addNewData, true);
|
|
48
|
+
var isChecked = addNewData[productIndex].checked;
|
|
49
|
+
clone[productIndex].checked = !isChecked;
|
|
50
|
+
if (isChecked) {
|
|
51
|
+
var cloneChecked = __spreadArray([], checkedList, true);
|
|
52
|
+
var filterChecked = cloneChecked.filter(function (item) {
|
|
53
|
+
if (addNewData[productIndex].product_id) {
|
|
54
|
+
return item.product_id !== addNewData[productIndex].product_id;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
return item.bundle_id !== addNewData[productIndex].bundle_id;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
setCheckedList(filterChecked);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
setCheckedList(function (pre) { return __spreadArray(__spreadArray([], pre, true), [addNewData[productIndex]], false); });
|
|
64
|
+
}
|
|
65
|
+
setAddNewData(clone);
|
|
66
|
+
};
|
|
67
|
+
var getBundle = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
68
|
+
var store_bundle, formatBundle_1, e_1;
|
|
69
|
+
return __generator(this, function (_a) {
|
|
70
|
+
switch (_a.label) {
|
|
71
|
+
case 0:
|
|
72
|
+
_a.trys.push([0, 2, , 3]);
|
|
73
|
+
return [4 /*yield*/, PHXClientQueryV3({
|
|
74
|
+
query: getListBundleQuery(searchValue || '', isInCampaign),
|
|
75
|
+
variables: {
|
|
76
|
+
school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
|
|
77
|
+
school_year_id: schoolYearId || 0,
|
|
78
|
+
limit: limit,
|
|
79
|
+
offset: currPage * limit
|
|
80
|
+
},
|
|
81
|
+
isDelay: false
|
|
82
|
+
})
|
|
83
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
84
|
+
];
|
|
85
|
+
case 1:
|
|
86
|
+
store_bundle = (_a.sent()).data.store_bundle;
|
|
87
|
+
formatBundle_1 = store_bundle.map(function (bundle) {
|
|
88
|
+
return __assign(__assign({}, bundle), { checked: checkedList.some(function (item) { return item.bundle_id === bundle.bundle_id; }), price: caculateBundlePrice(bundle.store_bundle_products, bundle.price_type) });
|
|
89
|
+
});
|
|
90
|
+
setAddNewData(function (pre) { return __spreadArray(__spreadArray([], pre, true), formatBundle_1, true); });
|
|
91
|
+
setIsHaveMore(function (pre) { return (__assign(__assign({}, pre), { bundle: !(formatBundle_1.length < limit) })); });
|
|
92
|
+
return [2 /*return*/, formatBundle_1];
|
|
93
|
+
case 2:
|
|
94
|
+
e_1 = _a.sent();
|
|
95
|
+
console.log(e_1);
|
|
96
|
+
return [2 /*return*/, []];
|
|
97
|
+
case 3: return [2 /*return*/];
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}); };
|
|
101
|
+
var getProduct = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
102
|
+
var store_product, formatProduct_1, e_2;
|
|
103
|
+
return __generator(this, function (_a) {
|
|
104
|
+
switch (_a.label) {
|
|
105
|
+
case 0:
|
|
106
|
+
_a.trys.push([0, 2, , 3]);
|
|
107
|
+
return [4 /*yield*/, PHXClientQueryV3({
|
|
108
|
+
query: getListProductQuery(searchValue || '', isInCampaign),
|
|
109
|
+
variables: {
|
|
110
|
+
school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
|
|
111
|
+
school_year_id: schoolYearId || 0,
|
|
112
|
+
limit: limit,
|
|
113
|
+
offset: currPage * limit
|
|
114
|
+
},
|
|
115
|
+
isDelay: false
|
|
116
|
+
})
|
|
117
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
118
|
+
];
|
|
119
|
+
case 1:
|
|
120
|
+
store_product = (_a.sent()).data.store_product;
|
|
121
|
+
formatProduct_1 = store_product.map(function (product) {
|
|
122
|
+
return __assign(__assign({}, product), { checked: checkedList.some(function (item) { return item.product_id === product.product_id; }), price: caculateProductPrice(product) });
|
|
123
|
+
});
|
|
124
|
+
setAddNewData(function (pre) { return __spreadArray(__spreadArray([], pre, true), formatProduct_1, true); });
|
|
125
|
+
setIsHaveMore(function (pre) { return (__assign(__assign({}, pre), { product: !(formatProduct_1.length < limit) })); });
|
|
126
|
+
return [2 /*return*/, formatProduct_1];
|
|
127
|
+
case 2:
|
|
128
|
+
e_2 = _a.sent();
|
|
129
|
+
console.log(e_2);
|
|
130
|
+
return [2 /*return*/, []];
|
|
131
|
+
case 3: return [2 /*return*/];
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}); };
|
|
135
|
+
var handleCountAll = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
136
|
+
var _a, store_product_aggregate, store_bundle_aggregate, e_3;
|
|
137
|
+
return __generator(this, function (_b) {
|
|
138
|
+
switch (_b.label) {
|
|
139
|
+
case 0:
|
|
140
|
+
_b.trys.push([0, 2, , 3]);
|
|
141
|
+
return [4 /*yield*/, PHXClientQueryV3({
|
|
142
|
+
query: countAllBundleAndProductQuery(isInCampaign),
|
|
143
|
+
variables: {
|
|
144
|
+
school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id
|
|
145
|
+
}
|
|
146
|
+
})];
|
|
147
|
+
case 1:
|
|
148
|
+
_a = (_b.sent()).data, store_product_aggregate = _a.store_product_aggregate, store_bundle_aggregate = _a.store_bundle_aggregate;
|
|
149
|
+
setCountAll(store_product_aggregate.aggregate.count + store_bundle_aggregate.aggregate.count);
|
|
150
|
+
return [3 /*break*/, 3];
|
|
151
|
+
case 2:
|
|
152
|
+
e_3 = _b.sent();
|
|
153
|
+
console.log(e_3);
|
|
154
|
+
return [3 /*break*/, 3];
|
|
155
|
+
case 3: return [2 /*return*/];
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
}); };
|
|
159
|
+
var getData = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
160
|
+
var e_4;
|
|
161
|
+
return __generator(this, function (_a) {
|
|
162
|
+
switch (_a.label) {
|
|
163
|
+
case 0:
|
|
164
|
+
_a.trys.push([0, 5, 6, 7]);
|
|
165
|
+
if (!(isHaveMore.product || searchValue)) return [3 /*break*/, 2];
|
|
166
|
+
return [4 /*yield*/, getProduct()];
|
|
167
|
+
case 1:
|
|
168
|
+
_a.sent();
|
|
169
|
+
_a.label = 2;
|
|
170
|
+
case 2:
|
|
171
|
+
if (!(isHaveMore.bundle || searchValue)) return [3 /*break*/, 4];
|
|
172
|
+
return [4 /*yield*/, getBundle()];
|
|
173
|
+
case 3:
|
|
174
|
+
_a.sent();
|
|
175
|
+
_a.label = 4;
|
|
176
|
+
case 4: return [3 /*break*/, 7];
|
|
177
|
+
case 5:
|
|
178
|
+
e_4 = _a.sent();
|
|
179
|
+
console.log(e_4);
|
|
180
|
+
return [3 /*break*/, 7];
|
|
181
|
+
case 6:
|
|
182
|
+
if (initLoading) {
|
|
183
|
+
setInitLoading(false);
|
|
184
|
+
}
|
|
185
|
+
return [7 /*endfinally*/];
|
|
186
|
+
case 7: return [2 /*return*/];
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}); };
|
|
190
|
+
var handleSearch = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
191
|
+
var bundles, products;
|
|
192
|
+
return __generator(this, function (_a) {
|
|
193
|
+
switch (_a.label) {
|
|
194
|
+
case 0:
|
|
195
|
+
setSearchLoading(true);
|
|
196
|
+
return [4 /*yield*/, getBundle()];
|
|
197
|
+
case 1:
|
|
198
|
+
bundles = _a.sent();
|
|
199
|
+
return [4 /*yield*/, getProduct()];
|
|
200
|
+
case 2:
|
|
201
|
+
products = _a.sent();
|
|
202
|
+
setAddNewData(__spreadArray(__spreadArray([], products, true), bundles, true));
|
|
203
|
+
setSearchLoading(false);
|
|
204
|
+
return [2 /*return*/];
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
}); };
|
|
208
|
+
var fetchMoreData = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
209
|
+
var e_5;
|
|
210
|
+
return __generator(this, function (_a) {
|
|
211
|
+
switch (_a.label) {
|
|
212
|
+
case 0:
|
|
213
|
+
setFetchMoreLoading(true);
|
|
214
|
+
_a.label = 1;
|
|
215
|
+
case 1:
|
|
216
|
+
_a.trys.push([1, 3, 4, 5]);
|
|
217
|
+
return [4 /*yield*/, getData()];
|
|
218
|
+
case 2:
|
|
219
|
+
_a.sent();
|
|
220
|
+
return [3 /*break*/, 5];
|
|
221
|
+
case 3:
|
|
222
|
+
e_5 = _a.sent();
|
|
223
|
+
console.log(e_5);
|
|
224
|
+
return [3 /*break*/, 5];
|
|
225
|
+
case 4:
|
|
226
|
+
setFetchMoreLoading(false);
|
|
227
|
+
return [7 /*endfinally*/];
|
|
228
|
+
case 5: return [2 /*return*/];
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
}); };
|
|
232
|
+
function onSubmit() {
|
|
233
|
+
var checkedData = addNewData.filter(function (item) { return item.checked; });
|
|
234
|
+
handleSubmit === null || handleSubmit === void 0 ? void 0 : handleSubmit(checkedData);
|
|
235
|
+
}
|
|
236
|
+
var handleScroll = function () {
|
|
237
|
+
var el = scrollRef.current;
|
|
238
|
+
if (!el || fetchMoreLoading)
|
|
239
|
+
return;
|
|
240
|
+
var isAtBottom = el.scrollTop + el.clientHeight >= el.scrollHeight;
|
|
241
|
+
if (isAtBottom) {
|
|
242
|
+
setCurrPage(function (pre) { return pre + 1; });
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
var handleUnCheckedItem = function (item) {
|
|
246
|
+
var clone = __spreadArray([], addNewData, true);
|
|
247
|
+
if (item.bundle_id) {
|
|
248
|
+
var index = clone.findIndex(function (addData) { return addData.bundle_id === item.bundle_id; });
|
|
249
|
+
clone[index].checked = false;
|
|
250
|
+
setAddNewData(clone);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
var index = clone.findIndex(function (addData) { return addData.product_id === item.product_id; });
|
|
254
|
+
clone[index].checked = false;
|
|
255
|
+
setAddNewData(clone);
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
useEffect(function () {
|
|
259
|
+
if (show) {
|
|
260
|
+
getData();
|
|
261
|
+
handleCountAll();
|
|
262
|
+
}
|
|
263
|
+
}, [show]);
|
|
264
|
+
useEffect(function () {
|
|
265
|
+
if (currPage !== 0 && show) {
|
|
266
|
+
fetchMoreData();
|
|
267
|
+
}
|
|
268
|
+
}, [currPage]);
|
|
269
|
+
useEffect(function () {
|
|
270
|
+
var timerId = setTimeout(function () {
|
|
271
|
+
handleSearch();
|
|
272
|
+
}, 200);
|
|
273
|
+
return function () { return clearTimeout(timerId); };
|
|
274
|
+
}, [searchValue]);
|
|
275
|
+
return (React.createElement(React.Fragment, null,
|
|
276
|
+
React.createElement(PHXModal, { primaryLoading: submitLoading, title: 'C\u00E1c s\u1EA3n ph\u1EA9m \u0111\u00E3 ch\u1ECDn', show: showModalSelected, onHide: function () {
|
|
277
|
+
setShowModalSelected(false);
|
|
278
|
+
setShow(true);
|
|
279
|
+
}, onPrimaryClick: onSubmit, closeButton: true, size: 'large', hiddenSubmit: true },
|
|
280
|
+
React.createElement("div", { className: 'border rounded-lg mt-3 overflow-hidden' },
|
|
281
|
+
React.createElement("div", { onScroll: handleScroll, ref: scrollRef, className: ' max-h-[calc(100vh-400px)] overflow-y-auto shadow-[0rem_0.0825rem_0rem_#00000012] rounded-bl-lg rounded-br-lg bg-white ' },
|
|
282
|
+
React.createElement(ProductTable, { data: checkedList, isVerifyProjectCode: isVerifyProjectCode, handleCheckData: function (item, index) {
|
|
283
|
+
handleUnCheckedItem(item);
|
|
284
|
+
if (checkedList.length === 1) {
|
|
285
|
+
setCheckedList([]);
|
|
286
|
+
setShowModalSelected(false);
|
|
287
|
+
setShow(true);
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
var clone = __spreadArray([], checkedList, true);
|
|
291
|
+
clone.splice(index, 1);
|
|
292
|
+
setCheckedList(clone);
|
|
293
|
+
}
|
|
294
|
+
} })))),
|
|
295
|
+
React.createElement(PHXModal, { closeButton: true, primaryLoading: submitLoading, primaryActionText: 'Th\u00EAm m\u1EDBi', title: 'Th\u00EAm s\u1EA3n ph\u1EA9m', onHide: onHideModal, show: show, size: 'large', inCard: false, onSubmit: onSubmit, disableCloseButton: submitLoading },
|
|
296
|
+
React.createElement("button", { onClick: onHideModal, type: 'button', className: 'grid top-4 right-4 grid-cols-1 absolute rounded-md p-0.5 text-gray-400 hover:bg-gray-200 hover:text-gray-600' },
|
|
297
|
+
React.createElement("svg", { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 24 24', fill: 'currentColor', "aria-hidden": 'true', "data-slot": 'icon', className: 'h-5 w-5' },
|
|
298
|
+
React.createElement("path", { fillRule: 'evenodd', d: 'M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z', clipRule: 'evenodd' }))),
|
|
299
|
+
React.createElement("div", { className: ' absolute bottom-4' },
|
|
300
|
+
React.createElement(PHXButton, { secondary: true, disabled: checkedList.length === 0, onClick: function () {
|
|
301
|
+
setShowModalSelected(true);
|
|
302
|
+
setShow(false);
|
|
303
|
+
}, className: 'text-xs font-normal' }, "".concat(checkedList.length),
|
|
304
|
+
"/", "".concat(countAll),
|
|
305
|
+
" s\u1EA3n ph\u1EA9m \u0111\u00E3 \u0111\u01B0\u1EE3c ch\u1ECDn")),
|
|
306
|
+
React.createElement(PHXBannerWithCard, { show: true, title: 'L\u01B0u \u00FD', type: 'warning', hideCloseButton: true, description: 'C\u00E1c s\u1EA3n ph\u1EA9m ch\u01B0a \u0111\u01B0\u1EE3c t\u1EA1o m\u00E3 c\u00F4ng tr\u00ECnh \u1EDF n\u0103m h\u1ECDc \u0111\u00E3 ch\u1ECDn s\u1EBD kh\u00F4ng \u0111\u01B0\u1EE3c th\u00EAm v\u00E0o \u0111\u1EE3t m\u1EDF b\u00E1n, vui l\u00F2ng li\u00EAn h\u1EC7 K\u1EBF to\u00E1n \u0111\u1EC3 th\u00EAm m\u00E3 c\u00F4ng tr\u00ECnh.' }),
|
|
307
|
+
React.createElement("div", { className: 'border rounded-lg mt-3' },
|
|
308
|
+
React.createElement("div", { className: ' py-2 px-3 border-b' },
|
|
309
|
+
React.createElement("div", { className: 'relative w-full' },
|
|
310
|
+
React.createElement("span", { className: 'absolute inset-y-0 left-0 flex items-center pl-3 text-gray-600' },
|
|
311
|
+
React.createElement(MagnifyingGlassIcon, { className: 'h-4 w-4' })),
|
|
312
|
+
React.createElement("input", { autoComplete: 'off', className: 'block w-full rounded-lg border-[0.5px] border-gray-500 px-3 py-1.5 pl-9 pr-3 text-xs font-normal shadow-sm focus:border-gray-500 focus:outline-none focus:outline-offset-1 focus:outline-indigo-500 focus:ring-transparent', onChange: function (e) {
|
|
313
|
+
if (currPage !== 0) {
|
|
314
|
+
setCurrPage(0);
|
|
315
|
+
}
|
|
316
|
+
setSearchValue(e.target.value);
|
|
317
|
+
}, placeholder: 'Nh\u1EADp t\u00EAn ho\u1EB7c m\u00E3 s\u1EA3n ph\u1EA9m', type: 'text' }))),
|
|
318
|
+
initLoading || searchLoading ? (React.createElement(PHXSkeleton, { type: 'table', className: 'h-[calc(100vh-400px)] overflow-hidden' })) : (React.createElement(React.Fragment, null, addNewData.length > 0 ? (React.createElement("div", { onScroll: handleScroll, ref: scrollRef, className: ' h-[calc(100vh-400px)] overflow-y-auto shadow-[0rem_0.0825rem_0rem_#00000012] rounded-bl-lg rounded-br-lg bg-white ' },
|
|
319
|
+
React.createElement(ProductTable, { data: addNewData, isVerifyProjectCode: isVerifyProjectCode,
|
|
320
|
+
// @ts-ignore
|
|
321
|
+
handleCheckData: function (item, index) { return handleCheckData(index); } }))) : (React.createElement(PHXEmptyRecord, { className: 'h-[calc(100vh-400px)] pt-10' }))))))));
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=StoreProduct.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreProduct.js","sourceRoot":"","sources":["../../../../src/components/StoreProduct/StoreProduct.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const BUNDLE_PRICE_BY_PRODUCT = "BY_PRODUCT";
|
|
2
|
+
export declare const BUNDLE_PRICE_REDUCE_BY_PERCENT = "BY_PERCENT";
|
|
3
|
+
export declare const BUNDLE_PRICE_REDUCE_BY_MONEY = "BY_MONNEY";
|
|
4
|
+
export declare const BAN_THEO_DOT = "BAN_THEO_DOT";
|
|
5
|
+
export declare const ACTIVE_CODE = "ACTIVE";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var BUNDLE_PRICE_BY_PRODUCT = 'BY_PRODUCT';
|
|
2
|
+
export var BUNDLE_PRICE_REDUCE_BY_PERCENT = 'BY_PERCENT';
|
|
3
|
+
export var BUNDLE_PRICE_REDUCE_BY_MONEY = 'BY_MONNEY';
|
|
4
|
+
export var BAN_THEO_DOT = 'BAN_THEO_DOT';
|
|
5
|
+
export var ACTIVE_CODE = 'ACTIVE';
|
|
6
|
+
//# sourceMappingURL=constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../src/components/StoreProduct/constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,uBAAuB,GAAG,YAAY,CAAA;AACnD,MAAM,CAAC,IAAM,8BAA8B,GAAG,YAAY,CAAA;AAC1D,MAAM,CAAC,IAAM,4BAA4B,GAAG,WAAW,CAAA;AACvD,MAAM,CAAC,IAAM,YAAY,GAAG,cAAc,CAAA;AAC1C,MAAM,CAAC,IAAM,WAAW,GAAG,QAAQ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './StoreProduct';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/StoreProduct/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface IProps {
|
|
3
|
+
data: Array<any>;
|
|
4
|
+
handleCheckData(item: any, index: number): void;
|
|
5
|
+
isVerifyProjectCode: boolean;
|
|
6
|
+
}
|
|
7
|
+
export default function ProductTable({ data, handleCheckData, isVerifyProjectCode }: IProps): React.JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PHXCheckbox } from '../Checkbox';
|
|
3
|
+
import { PHXBadge } from '../Badge';
|
|
4
|
+
export default function ProductTable(_a) {
|
|
5
|
+
var data = _a.data, handleCheckData = _a.handleCheckData, isVerifyProjectCode = _a.isVerifyProjectCode;
|
|
6
|
+
return (React.createElement("table", { className: 'w-full ' },
|
|
7
|
+
React.createElement("tbody", { className: 'divide-y divide-gray-200 ' }, data.map(function (item, productIndex) {
|
|
8
|
+
var _a;
|
|
9
|
+
var name = item.name, image = item.image, tuition_fee_type_of_service = item.tuition_fee_type_of_service;
|
|
10
|
+
//mã công trình
|
|
11
|
+
var projectCode = (_a = tuition_fee_type_of_service === null || tuition_fee_type_of_service === void 0 ? void 0 : tuition_fee_type_of_service.tuition_fee_project_codes) === null || _a === void 0 ? void 0 : _a[0];
|
|
12
|
+
var isDisable = isVerifyProjectCode && !projectCode;
|
|
13
|
+
return (React.createElement(React.Fragment, { key: productIndex },
|
|
14
|
+
React.createElement("tr", null,
|
|
15
|
+
React.createElement("td", { className: ' relative whitespace-nowrap py-3 pl-3 text-xs font-normal rounded-lg text-gray-800' },
|
|
16
|
+
React.createElement("div", { className: 'flex items-center' },
|
|
17
|
+
isDisable ? (React.createElement("div", { className: 'w-4 h-4 rounded-[4px] mr-3 bg-gray-200' })) : (React.createElement(PHXCheckbox, { checked: data[productIndex].checked })),
|
|
18
|
+
React.createElement("img", { src: image || undefined, className: 'object-contain w-[40px] h-[40px] -ml-1 mr-2 border rounded-lg p-1' }),
|
|
19
|
+
React.createElement("div", { className: 'w-[320px] md:w-[500px] space-y-[2px] truncate' },
|
|
20
|
+
React.createElement("p", { className: 'font-semibold truncate' }, name),
|
|
21
|
+
isVerifyProjectCode && (React.createElement(React.Fragment, null,
|
|
22
|
+
React.createElement("p", { className: "".concat(!projectCode ? 'pb-0.5' : '') },
|
|
23
|
+
React.createElement("span", { className: 'text-gray-600' }, "D\u1ECBch v\u1EE5: "),
|
|
24
|
+
tuition_fee_type_of_service && (React.createElement("span", { className: 'text-gray-800' }, tuition_fee_type_of_service.description))),
|
|
25
|
+
projectCode ? (React.createElement("p", null,
|
|
26
|
+
React.createElement("span", { className: 'text-gray-600' }, "M\u00E3 c\u00F4ng tr\u00ECnh: "),
|
|
27
|
+
React.createElement("span", { className: 'text-gray-800' },
|
|
28
|
+
" ",
|
|
29
|
+
projectCode.code))) : (React.createElement(PHXBadge, { type: 'danger', text: 'Ch\u01B0a t\u1EA1o m\u00E3 c\u00F4ng tr\u00ECnh' })))))),
|
|
30
|
+
isDisable ? (React.createElement(React.Fragment, null)) : (React.createElement("button", { className: ' absolute inset-0', type: 'button', onClick: function () { return handleCheckData(item, productIndex); } }))))));
|
|
31
|
+
}))));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=product-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-table.js","sourceRoot":"","sources":["../../../../src/components/StoreProduct/product-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAQnC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAsD;QAApD,IAAI,UAAA,EAAE,eAAe,qBAAA,EAAE,mBAAmB,yBAAA;IAC/E,OAAO,CACL,+BAAO,SAAS,EAAC,SAAS;QACxB,+BAAO,SAAS,EAAC,2BAA2B,IACzC,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,YAAY;;YACnB,IAAA,IAAI,GAAyC,IAAI,KAA7C,EAAE,KAAK,GAAkC,IAAI,MAAtC,EAAE,2BAA2B,GAAK,IAAI,4BAAT,CAAS;YAEzD,eAAe;YACf,IAAM,WAAW,GAAG,MAAA,2BAA2B,aAA3B,2BAA2B,uBAA3B,2BAA2B,CAAE,yBAAyB,0CAAG,CAAC,CAAC,CAAA;YAE/E,IAAM,SAAS,GAAG,mBAAmB,IAAI,CAAC,WAAW,CAAA;YAErD,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,YAAY;gBAC/B;oBACE,4BAAI,SAAS,EAAC,0FAA0F;wBACtG,6BAAK,SAAS,EAAC,mBAAmB;4BAC/B,SAAS,CAAC,CAAC,CAAC,CACX,6BAAK,SAAS,EAAC,yCAAyC,GAAG,CAC5D,CAAC,CAAC,CAAC,CACF,oBAAC,WAAW,IAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,GAAI,CACrD;4BACD,6BACE,GAAG,EAAE,KAAK,IAAI,SAAS,EACvB,SAAS,EAAC,mEAAmE,GAC7E;4BACF,6BAAK,SAAS,EAAC,+CAA+C;gCAC5D,2BAAG,SAAS,EAAC,wBAAwB,IAAE,IAAI,CAAK;gCAE/C,mBAAmB,IAAI,CACtB;oCACE,2BAAG,SAAS,EAAE,UAAG,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAE;wCAC7C,8BAAM,SAAS,EAAC,eAAe,0BAAiB;wCAC/C,2BAA2B,IAAI,CAC9B,8BAAM,SAAS,EAAC,eAAe,IAAE,2BAA2B,CAAC,WAAW,CAAQ,CACjF,CACC;oCACH,WAAW,CAAC,CAAC,CAAC,CACb;wCACE,8BAAM,SAAS,EAAC,eAAe,qCAAuB;wCACtD,8BAAM,SAAS,EAAC,eAAe;;4CAAG,WAAW,CAAC,IAAI,CAAQ,CACxD,CACL,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,iDAAwB,GAAG,CACzD,CACA,CACJ,CACG,CACF;wBACL,SAAS,CAAC,CAAC,CAAC,CACX,yCAAK,CACN,CAAC,CAAC,CAAC,CACF,gCACE,SAAS,EAAC,mBAAmB,EAC7B,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,cAAM,OAAA,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,EAAnC,CAAmC,GAClD,CACH,CACE,CACF,CACU,CAClB,CAAA;QACH,CAAC,CAAC,CACI,CACF,CACT,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const countAllBundleAndProductQuery: (isInCampaign: boolean) => string;
|
|
2
|
+
export declare const getListBundleQuery: (searchValue: string, isInCampaign: boolean) => string;
|
|
3
|
+
export declare const getListProductQuery: (searchValue: string, isInCampaign: boolean) => string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ACTIVE_CODE, BAN_THEO_DOT } from './constant';
|
|
2
|
+
var getCustomQuery = function (_a) {
|
|
3
|
+
var searchValue = _a.searchValue, isInCampaign = _a.isInCampaign, type = _a.type;
|
|
4
|
+
var queryArr = [];
|
|
5
|
+
if (searchValue) {
|
|
6
|
+
queryArr.push(" _or:[\n {name: { _ilike: \"%".concat(searchValue, "%\" }}\n {code: { _ilike: \"%").concat(searchValue, "%\" }}\n ]"));
|
|
7
|
+
}
|
|
8
|
+
if (isInCampaign && type === 'PRODUCT') {
|
|
9
|
+
queryArr.push("store_product_sale_type:{\n code:{_eq: \"".concat(BAN_THEO_DOT, "\"}\n }"));
|
|
10
|
+
}
|
|
11
|
+
if (isInCampaign && type === 'BUNDLE') {
|
|
12
|
+
queryArr.push(" store_bundle_sale_type:{\n code:{_eq: \"".concat(BAN_THEO_DOT, "\"}\n }"));
|
|
13
|
+
}
|
|
14
|
+
return queryArr.join(',');
|
|
15
|
+
};
|
|
16
|
+
export var countAllBundleAndProductQuery = function (isInCampaign) {
|
|
17
|
+
return "\nquery getListProductQuery($school_id: Int!) {\n store_product_aggregate(\n where: {\n ".concat(isInCampaign
|
|
18
|
+
? " store_product_sale_type:{\n code:{_eq: \"".concat(BAN_THEO_DOT, "\"}\n }")
|
|
19
|
+
: '', ", \n store_product_status:{code:{_eq:\"").concat(ACTIVE_CODE, "\"}}\n deleted_at: {_is_null: true}, \n school_id: {_eq: $school_id} \n }) \n {\n aggregate{\n count\n }\n }\n store_bundle_aggregate(\n where:{\n deleted_at:{_is_null: true}\n store_bundle_status:{code:{_eq: \"").concat(ACTIVE_CODE, "\"}}\n school_id:{_eq: $school_id}\n ").concat(isInCampaign
|
|
20
|
+
? " store_bundle_sale_type:{\n code:{_eq: \"".concat(BAN_THEO_DOT, "\"}\n }")
|
|
21
|
+
: '', "\n }) {\n aggregate{\n count\n }\n }\n }\n\n");
|
|
22
|
+
};
|
|
23
|
+
export var getListBundleQuery = function (searchValue, isInCampaign) {
|
|
24
|
+
return "\nquery getListBundleQuery($school_id: Int!, $school_year_id: Int!, $limit: Int!, $offset: Int!) {\n store_bundle(\n limit: $limit\n offset: $offset\n order_by:{id: asc}\n where:{\n deleted_at:{_is_null: true}\n store_bundle_status:{code:{_eq: \"".concat(ACTIVE_CODE, "\"}}\n school_id:{_eq: $school_id}\n ").concat(getCustomQuery({ searchValue: searchValue, isInCampaign: isInCampaign, type: 'BUNDLE' }), "\n }) {\n bundle_id: id\n name\n image\n price_type\n status: store_bundle_status {\n name\n code\n }\n tuition_fee_type_of_service {\n description\n tuition_fee_project_codes(where: {deleted_at: {_is_null: true}, school_year_id: {_eq: $school_year_id}}) {\n code\n }\n }\n store_bundle_products( where: {deleted_at: {_is_null: true}store_product: {deleted_at: {_is_null: true}}}) {\n store_bundle_product_attribute_values(\n where: {\n deleted_at: {_is_null:true} \n store_product_attribute_value: {\n deleted_at:{_is_null:true}\n }\n }) {\n store_product_attribute_value {\n price\n }\n }\n }\n }\n }\n");
|
|
25
|
+
};
|
|
26
|
+
export var getListProductQuery = function (searchValue, isInCampaign) {
|
|
27
|
+
return "\nquery getListProductQuery($school_id: Int!, $school_year_id: Int!, $limit: Int!, $offset: Int!) {\n store_product(\n limit: $limit\n offset: $offset\n order_by:{id: asc}\n where: {\n ".concat(getCustomQuery({ searchValue: searchValue, isInCampaign: isInCampaign, type: 'PRODUCT' }), "\n store_product_status:{code:{_eq:\"").concat(ACTIVE_CODE, "\"}}\n deleted_at: {_is_null: true}, \n school_id: {_eq: $school_id} \n }) \n {\n product_id: id\n name\n image\n status: store_product_status {\n name\n code\n }\n tuition_fee_type_of_service {\n description\n tuition_fee_project_codes(where: {deleted_at: {_is_null: true}, school_year_id: {_eq: $school_year_id}}) {\n code\n }\n }\n store_product_attributes(where:{ deleted_at: {_is_null: true}}) {\n store_product_attribute_values_aggregate(where:{ deleted_at: {_is_null: true}}) {\n aggregate {\n min {\n price\n }\n max {\n price\n }\n }\n }\n }\n }\n }\n ");
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/components/StoreProduct/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEtD,IAAM,cAAc,GAAG,UAAC,EAQvB;QAPC,WAAW,iBAAA,EACX,YAAY,kBAAA,EACZ,IAAI,UAAA;IAMJ,IAAM,QAAQ,GAAkB,EAAE,CAAA;IAElC,IAAI,WAAW,EAAE;QACf,QAAQ,CAAC,IAAI,CACX,8CACuB,WAAW,gDACZ,WAAW,kBACjC,CACD,CAAA;KACF;IACD,IAAI,YAAY,IAAI,IAAI,KAAK,SAAS,EAAE;QACtC,QAAQ,CAAC,IAAI,CAAC,0DACI,YAAY,iBAC1B,CAAC,CAAA;KACN;IAED,IAAI,YAAY,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrC,QAAQ,CAAC,IAAI,CAAC,0DACI,YAAY,iBAC1B,CAAC,CAAA;KACN;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,6BAA6B,GAAG,UAAC,YAAqB;IACjE,OAAO,4GAKF,YAAY;QACV,CAAC,CAAC,2DACW,YAAY,iBAC1B;QACC,CAAC,CAAC,EAAE,yDAE4B,WAAW,kSAYX,WAAW,2DAG7C,YAAY;QACV,CAAC,CAAC,0DACW,YAAY,iBAC1B;QACC,CAAC,CAAC,EAAE,gEASZ,CAAA;AACD,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,WAAmB,EAAE,YAAqB;IAC3E,OAAO,yRAQgC,WAAW,4DAE5C,cAAc,CAAC,EAAE,WAAW,aAAA,EAAE,YAAY,cAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,izBA+BpE,CAAA;AACD,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,WAAmB,EAAE,YAAqB;IAC5E,OAAO,uNAOD,cAAc,CAAC,EAAE,WAAW,aAAA,EAAE,YAAY,cAAA,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,uDAC7B,WAAW,i0BAgCjD,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
interface IBundleProduct {
|
|
2
|
+
store_bundle_product_attribute_values: {
|
|
3
|
+
store_product_attribute_value: {
|
|
4
|
+
price: number;
|
|
5
|
+
};
|
|
6
|
+
}[];
|
|
7
|
+
}
|
|
8
|
+
export declare const caculateBundlePrice: (bundleProducts: Array<IBundleProduct>, price_type: {
|
|
9
|
+
type: string;
|
|
10
|
+
value: number;
|
|
11
|
+
}) => string;
|
|
12
|
+
export declare function formatCurrency(amount: number): string;
|
|
13
|
+
export declare const caculateProductPrice: (data: {
|
|
14
|
+
store_product_attributes: {
|
|
15
|
+
store_product_attribute_values_aggregate: {
|
|
16
|
+
aggregate: {
|
|
17
|
+
min: {
|
|
18
|
+
price: number;
|
|
19
|
+
};
|
|
20
|
+
max: {
|
|
21
|
+
price: number;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
}[];
|
|
26
|
+
}) => string;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { BUNDLE_PRICE_BY_PRODUCT, BUNDLE_PRICE_REDUCE_BY_MONEY, BUNDLE_PRICE_REDUCE_BY_PERCENT } from './constant';
|
|
2
|
+
export var caculateBundlePrice = function (bundleProducts, price_type) {
|
|
3
|
+
var minResult = 0;
|
|
4
|
+
var maxResult = 0;
|
|
5
|
+
var _a = price_type.value, reduceValue = _a === void 0 ? 0 : _a, _b = price_type.type, type = _b === void 0 ? BUNDLE_PRICE_BY_PRODUCT : _b;
|
|
6
|
+
bundleProducts.forEach(function (bundleProduct) {
|
|
7
|
+
if (bundleProduct.store_bundle_product_attribute_values.length === 0)
|
|
8
|
+
return;
|
|
9
|
+
var listPrice = bundleProduct.store_bundle_product_attribute_values.map(function (item) { return item.store_product_attribute_value.price; });
|
|
10
|
+
minResult += Math.min.apply(Math, listPrice);
|
|
11
|
+
maxResult += Math.max.apply(Math, listPrice);
|
|
12
|
+
});
|
|
13
|
+
if (type === BUNDLE_PRICE_REDUCE_BY_PERCENT) {
|
|
14
|
+
minResult = Math.floor(minResult - (minResult * reduceValue) / 100);
|
|
15
|
+
maxResult = Math.floor(maxResult - (maxResult * reduceValue) / 100);
|
|
16
|
+
}
|
|
17
|
+
if (type === BUNDLE_PRICE_REDUCE_BY_MONEY) {
|
|
18
|
+
minResult = minResult - reduceValue;
|
|
19
|
+
maxResult = maxResult - reduceValue;
|
|
20
|
+
}
|
|
21
|
+
minResult = minResult < 0 ? 0 : minResult;
|
|
22
|
+
maxResult = maxResult < 0 ? 0 : maxResult;
|
|
23
|
+
if (minResult === maxResult)
|
|
24
|
+
return formatCurrency(minResult);
|
|
25
|
+
return "".concat(minResult > 0 ? formatCurrency(minResult) : '0 đ', " - ").concat(maxResult > 0 ? formatCurrency(maxResult) : '0 đ');
|
|
26
|
+
};
|
|
27
|
+
export function formatCurrency(amount) {
|
|
28
|
+
if (!amount || amount < 0)
|
|
29
|
+
return "0 \u0111";
|
|
30
|
+
return "".concat(amount.toLocaleString('en-US'), " \u0111");
|
|
31
|
+
}
|
|
32
|
+
export var caculateProductPrice = function (data) {
|
|
33
|
+
var _a;
|
|
34
|
+
var store_product_attributes = data.store_product_attributes;
|
|
35
|
+
var aggregate = (_a = store_product_attributes === null || store_product_attributes === void 0 ? void 0 : store_product_attributes[0]) === null || _a === void 0 ? void 0 : _a.store_product_attribute_values_aggregate.aggregate;
|
|
36
|
+
var minPrice = aggregate.min.price || 0;
|
|
37
|
+
var maxPrice = aggregate.max.price || 0;
|
|
38
|
+
var price = minPrice === maxPrice || minPrice === 0
|
|
39
|
+
? "".concat(formatCurrency(maxPrice))
|
|
40
|
+
: "".concat(formatCurrency(minPrice), " - ").concat(formatCurrency(maxPrice));
|
|
41
|
+
return price;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=store-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-helper.js","sourceRoot":"","sources":["../../../../src/components/StoreProduct/store-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type TTableProps = {
|
|
3
|
+
thHeader: Array<string>;
|
|
4
|
+
thBody: Array<string>;
|
|
5
|
+
thComponent?: any;
|
|
6
|
+
bodyData: Array<any>;
|
|
7
|
+
};
|
|
8
|
+
export declare function PHXTableStatic({ bodyData, thBody, thComponent, thHeader }: TTableProps): React.JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { PHXEmptyRecord } from '../EmptyRecord';
|
|
4
|
+
export function PHXTableStatic(_a) {
|
|
5
|
+
var bodyData = _a.bodyData, thBody = _a.thBody, _b = _a.thComponent, thComponent = _b === void 0 ? {} : _b, thHeader = _a.thHeader;
|
|
6
|
+
var headers = thHeader.map(function (label, index) { return ({
|
|
7
|
+
key: thBody[index],
|
|
8
|
+
label: label
|
|
9
|
+
}); });
|
|
10
|
+
var renderCell = function (item, columnKey) {
|
|
11
|
+
var value = item[columnKey];
|
|
12
|
+
if (thComponent[columnKey]) {
|
|
13
|
+
return thComponent[columnKey](value, item);
|
|
14
|
+
}
|
|
15
|
+
return value !== undefined && value !== null ? value : '--';
|
|
16
|
+
};
|
|
17
|
+
return (React.createElement(React.Fragment, null, (bodyData === null || bodyData === void 0 ? void 0 : bodyData.length) ? (React.createElement("div", { className: 'rounded-lg border border-gray-300 border-opacity-70 bg-white shadow-sm' },
|
|
18
|
+
React.createElement("div", { className: '-my-2 overflow-x-auto' },
|
|
19
|
+
React.createElement("div", { className: 'min-w-full pb-2 pt-0.5 align-middle ring-black ring-opacity-5' },
|
|
20
|
+
React.createElement("div", { className: 'relative mt-1.5 overflow-auto' },
|
|
21
|
+
React.createElement("table", { className: 'w-full divide-y divide-gray-300' },
|
|
22
|
+
React.createElement("thead", null,
|
|
23
|
+
React.createElement("tr", null, headers.map(function (header, index) {
|
|
24
|
+
return index === 0 ? (React.createElement("th", { key: header.key, className: 'px-3 py-2.5 pl-8 text-left align-top text-xs font-medium text-gray-500 lg:min-w-[160px]', scope: 'col' },
|
|
25
|
+
React.createElement("p", { className: 'text-gray-800' }, header.label))) : (React.createElement("th", { key: header.key, className: 'px-3 py-2.5 pl-8 text-left align-top text-xs font-medium text-gray-500 lg:min-w-[135px]', scope: 'col' },
|
|
26
|
+
React.createElement("p", { className: 'text-gray-800' }, header.label)));
|
|
27
|
+
}))),
|
|
28
|
+
React.createElement("tbody", { className: 'divide-y divide-gray-200' }, bodyData.map(function (item, index) { return (React.createElement("tr", { key: index }, headers.map(function (header, indexHeader) { return (React.createElement("td", { key: header.key, className: "px-6 py-3 text-xs text-gray-900 ".concat(indexHeader === 0
|
|
29
|
+
? 'whitespace-nowrap rounded-lg sm:w-16 sm:px-8'
|
|
30
|
+
: 'whitespace-pre-line pl-8') }, renderCell(item, header.key))); }))); })))))))) : (React.createElement(PHXEmptyRecord, null))));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=TableStatic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableStatic.js","sourceRoot":"","sources":["../../../../src/components/TableStatic/TableStatic.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAc/C,MAAM,UAAU,cAAc,CAAC,EAA6D;QAA3D,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,mBAAgB,EAAhB,WAAW,mBAAG,EAAE,KAAA,EAAE,QAAQ,cAAA;IAC3E,IAAM,OAAO,GAAwB,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,CAAC;QACnE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;QAClB,KAAK,OAAA;KACN,CAAC,EAHkE,CAGlE,CAAC,CAAA;IACH,IAAM,UAAU,GAAG,UAAC,IAAS,EAAE,SAAiB;QAC9C,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QAC7B,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE;YAC1B,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;SAC3C;QACD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7D,CAAC,CAAA;IAED,OAAO,CACL,0CACG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EAAC,CAAC,CAAC,CAClB,6BAAK,SAAS,EAAC,wEAAwE;QACrF,6BAAK,SAAS,EAAC,uBAAuB;YACpC,6BAAK,SAAS,EAAC,+DAA+D;gBAC5E,6BAAK,SAAS,EAAC,+BAA+B;oBAC5C,+BAAO,SAAS,EAAC,iCAAiC;wBAChD;4BACE,gCACG,OAAO,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,KAAU;gCACnC,OAAA,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CACZ,4BACE,GAAG,EAAE,MAAM,CAAC,GAAG,EACf,SAAS,EAAC,0FAA0F,EACpG,KAAK,EAAC,KAAK;oCAEX,2BAAG,SAAS,EAAC,eAAe,IAAE,MAAM,CAAC,KAAK,CAAK,CAC5C,CACN,CAAC,CAAC,CAAC,CACF,4BACE,GAAG,EAAE,MAAM,CAAC,GAAG,EACf,SAAS,EAAC,yFAAyF,EACnG,KAAK,EAAC,KAAK;oCAEX,2BAAG,SAAS,EAAC,eAAe,IAAE,MAAM,CAAC,KAAK,CAAK,CAC5C,CACN;4BAhBD,CAgBC,CACF,CACE,CACC;wBACR,+BAAO,SAAS,EAAC,0BAA0B,IACxC,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CAC7B,4BAAI,GAAG,EAAE,KAAK,IACX,OAAO,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,WAAgB,IAAK,OAAA,CAC9C,4BACE,GAAG,EAAE,MAAM,CAAC,GAAG,EACf,SAAS,EAAE,0CACT,WAAW,KAAK,CAAC;gCACf,CAAC,CAAC,8CAA8C;gCAChD,CAAC,CAAC,0BAA0B,CAC9B,IAED,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAC1B,CACN,EAX+C,CAW/C,CAAC,CACC,CACN,EAf8B,CAe9B,CAAC,CACI,CACF,CACJ,CACF,CACF,CACF,CACP,CAAC,CAAC,CAAC,CACF,oBAAC,cAAc,OAAG,CACnB,CACA,CACJ,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TableStatic';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/TableStatic/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
|