phx-uikit 1.0.165 → 1.0.167
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 -1
- 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 +1 -1
- 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.js +1 -0
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/esm/axiosInstance.js +1 -1
- 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 +1 -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.js +1 -0
- package/dist/esm/utils/constants.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
5
|
+
var react_2 = require("react");
|
|
6
|
+
var solid_1 = require("@heroicons/react/24/solid");
|
|
7
|
+
var product_table_1 = tslib_1.__importDefault(require("./product-table"));
|
|
8
|
+
var query_1 = require("./query");
|
|
9
|
+
var store_helper_1 = require("./store-helper");
|
|
10
|
+
var getLoginInfo_1 = tslib_1.__importDefault(require("../Func/getLoginInfo"));
|
|
11
|
+
var clientQueryV3_1 = tslib_1.__importDefault(require("../Func/clientQueryV3"));
|
|
12
|
+
var Modal_1 = require("../Modal");
|
|
13
|
+
var Button_1 = require("../Button");
|
|
14
|
+
var BannerWithCard_1 = require("../BannerWithCard/BannerWithCard");
|
|
15
|
+
var Skeleton_1 = require("../Skeleton");
|
|
16
|
+
var EmptyRecord_1 = require("../EmptyRecord");
|
|
17
|
+
function PHXStoreProduct(_a) {
|
|
18
|
+
var _this = this;
|
|
19
|
+
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;
|
|
20
|
+
var userInfo = (0, getLoginInfo_1["default"])();
|
|
21
|
+
var _e = (0, react_2.useState)([]), addNewData = _e[0], setAddNewData = _e[1];
|
|
22
|
+
var _f = (0, react_2.useState)(true), initLoading = _f[0], setInitLoading = _f[1];
|
|
23
|
+
var scrollRef = (0, react_1.useRef)(null);
|
|
24
|
+
var _g = (0, react_2.useState)(0), currPage = _g[0], setCurrPage = _g[1];
|
|
25
|
+
var _h = (0, react_2.useState)(false), fetchMoreLoading = _h[0], setFetchMoreLoading = _h[1];
|
|
26
|
+
var _j = (0, react_2.useState)(''), searchValue = _j[0], setSearchValue = _j[1];
|
|
27
|
+
var _k = (0, react_2.useState)(false), searchLoading = _k[0], setSearchLoading = _k[1];
|
|
28
|
+
var _l = (0, react_2.useState)([]), checkedList = _l[0], setCheckedList = _l[1];
|
|
29
|
+
var _m = (0, react_2.useState)(0), countAll = _m[0], setCountAll = _m[1];
|
|
30
|
+
var _o = (0, react_2.useState)(false), showModalSelected = _o[0], setShowModalSelected = _o[1];
|
|
31
|
+
var _p = (0, react_2.useState)({
|
|
32
|
+
product: true,
|
|
33
|
+
bundle: true
|
|
34
|
+
}), isHaveMore = _p[0], setIsHaveMore = _p[1];
|
|
35
|
+
var limit = 30;
|
|
36
|
+
function onHideModal() {
|
|
37
|
+
setCheckedList([]);
|
|
38
|
+
setAddNewData([]);
|
|
39
|
+
setInitLoading(true);
|
|
40
|
+
setCurrPage(0);
|
|
41
|
+
setIsHaveMore({
|
|
42
|
+
product: true,
|
|
43
|
+
bundle: true
|
|
44
|
+
});
|
|
45
|
+
setSearchValue('');
|
|
46
|
+
setShow(false);
|
|
47
|
+
}
|
|
48
|
+
var handleCheckData = function (productIndex) {
|
|
49
|
+
var clone = tslib_1.__spreadArray([], addNewData, true);
|
|
50
|
+
var isChecked = addNewData[productIndex].checked;
|
|
51
|
+
clone[productIndex].checked = !isChecked;
|
|
52
|
+
if (isChecked) {
|
|
53
|
+
var cloneChecked = tslib_1.__spreadArray([], checkedList, true);
|
|
54
|
+
var filterChecked = cloneChecked.filter(function (item) {
|
|
55
|
+
if (addNewData[productIndex].product_id) {
|
|
56
|
+
return item.product_id !== addNewData[productIndex].product_id;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return item.bundle_id !== addNewData[productIndex].bundle_id;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
setCheckedList(filterChecked);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
setCheckedList(function (pre) { return tslib_1.__spreadArray(tslib_1.__spreadArray([], pre, true), [addNewData[productIndex]], false); });
|
|
66
|
+
}
|
|
67
|
+
setAddNewData(clone);
|
|
68
|
+
};
|
|
69
|
+
var getBundle = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
70
|
+
var store_bundle, formatBundle_1, e_1;
|
|
71
|
+
return tslib_1.__generator(this, function (_a) {
|
|
72
|
+
switch (_a.label) {
|
|
73
|
+
case 0:
|
|
74
|
+
_a.trys.push([0, 2, , 3]);
|
|
75
|
+
return [4 /*yield*/, (0, clientQueryV3_1["default"])({
|
|
76
|
+
query: (0, query_1.getListBundleQuery)(searchValue || '', isInCampaign),
|
|
77
|
+
variables: {
|
|
78
|
+
school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
|
|
79
|
+
school_year_id: schoolYearId || 0,
|
|
80
|
+
limit: limit,
|
|
81
|
+
offset: currPage * limit
|
|
82
|
+
},
|
|
83
|
+
isDelay: false
|
|
84
|
+
})
|
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
86
|
+
];
|
|
87
|
+
case 1:
|
|
88
|
+
store_bundle = (_a.sent()).data.store_bundle;
|
|
89
|
+
formatBundle_1 = store_bundle.map(function (bundle) {
|
|
90
|
+
return tslib_1.__assign(tslib_1.__assign({}, bundle), { checked: checkedList.some(function (item) { return item.bundle_id === bundle.bundle_id; }), price: (0, store_helper_1.caculateBundlePrice)(bundle.store_bundle_products, bundle.price_type) });
|
|
91
|
+
});
|
|
92
|
+
setAddNewData(function (pre) { return tslib_1.__spreadArray(tslib_1.__spreadArray([], pre, true), formatBundle_1, true); });
|
|
93
|
+
setIsHaveMore(function (pre) { return (tslib_1.__assign(tslib_1.__assign({}, pre), { bundle: !(formatBundle_1.length < limit) })); });
|
|
94
|
+
return [2 /*return*/, formatBundle_1];
|
|
95
|
+
case 2:
|
|
96
|
+
e_1 = _a.sent();
|
|
97
|
+
console.log(e_1);
|
|
98
|
+
return [2 /*return*/, []];
|
|
99
|
+
case 3: return [2 /*return*/];
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
}); };
|
|
103
|
+
var getProduct = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
104
|
+
var store_product, formatProduct_1, e_2;
|
|
105
|
+
return tslib_1.__generator(this, function (_a) {
|
|
106
|
+
switch (_a.label) {
|
|
107
|
+
case 0:
|
|
108
|
+
_a.trys.push([0, 2, , 3]);
|
|
109
|
+
return [4 /*yield*/, (0, clientQueryV3_1["default"])({
|
|
110
|
+
query: (0, query_1.getListProductQuery)(searchValue || '', isInCampaign),
|
|
111
|
+
variables: {
|
|
112
|
+
school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id,
|
|
113
|
+
school_year_id: schoolYearId || 0,
|
|
114
|
+
limit: limit,
|
|
115
|
+
offset: currPage * limit
|
|
116
|
+
},
|
|
117
|
+
isDelay: false
|
|
118
|
+
})
|
|
119
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
120
|
+
];
|
|
121
|
+
case 1:
|
|
122
|
+
store_product = (_a.sent()).data.store_product;
|
|
123
|
+
formatProduct_1 = store_product.map(function (product) {
|
|
124
|
+
return tslib_1.__assign(tslib_1.__assign({}, product), { checked: checkedList.some(function (item) { return item.product_id === product.product_id; }), price: (0, store_helper_1.caculateProductPrice)(product) });
|
|
125
|
+
});
|
|
126
|
+
setAddNewData(function (pre) { return tslib_1.__spreadArray(tslib_1.__spreadArray([], pre, true), formatProduct_1, true); });
|
|
127
|
+
setIsHaveMore(function (pre) { return (tslib_1.__assign(tslib_1.__assign({}, pre), { product: !(formatProduct_1.length < limit) })); });
|
|
128
|
+
return [2 /*return*/, formatProduct_1];
|
|
129
|
+
case 2:
|
|
130
|
+
e_2 = _a.sent();
|
|
131
|
+
console.log(e_2);
|
|
132
|
+
return [2 /*return*/, []];
|
|
133
|
+
case 3: return [2 /*return*/];
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}); };
|
|
137
|
+
var handleCountAll = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
138
|
+
var _a, store_product_aggregate, store_bundle_aggregate, e_3;
|
|
139
|
+
return tslib_1.__generator(this, function (_b) {
|
|
140
|
+
switch (_b.label) {
|
|
141
|
+
case 0:
|
|
142
|
+
_b.trys.push([0, 2, , 3]);
|
|
143
|
+
return [4 /*yield*/, (0, clientQueryV3_1["default"])({
|
|
144
|
+
query: (0, query_1.countAllBundleAndProductQuery)(isInCampaign),
|
|
145
|
+
variables: {
|
|
146
|
+
school_id: userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id
|
|
147
|
+
}
|
|
148
|
+
})];
|
|
149
|
+
case 1:
|
|
150
|
+
_a = (_b.sent()).data, store_product_aggregate = _a.store_product_aggregate, store_bundle_aggregate = _a.store_bundle_aggregate;
|
|
151
|
+
setCountAll(store_product_aggregate.aggregate.count + store_bundle_aggregate.aggregate.count);
|
|
152
|
+
return [3 /*break*/, 3];
|
|
153
|
+
case 2:
|
|
154
|
+
e_3 = _b.sent();
|
|
155
|
+
console.log(e_3);
|
|
156
|
+
return [3 /*break*/, 3];
|
|
157
|
+
case 3: return [2 /*return*/];
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}); };
|
|
161
|
+
var getData = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
162
|
+
var e_4;
|
|
163
|
+
return tslib_1.__generator(this, function (_a) {
|
|
164
|
+
switch (_a.label) {
|
|
165
|
+
case 0:
|
|
166
|
+
_a.trys.push([0, 5, 6, 7]);
|
|
167
|
+
if (!(isHaveMore.product || searchValue)) return [3 /*break*/, 2];
|
|
168
|
+
return [4 /*yield*/, getProduct()];
|
|
169
|
+
case 1:
|
|
170
|
+
_a.sent();
|
|
171
|
+
_a.label = 2;
|
|
172
|
+
case 2:
|
|
173
|
+
if (!(isHaveMore.bundle || searchValue)) return [3 /*break*/, 4];
|
|
174
|
+
return [4 /*yield*/, getBundle()];
|
|
175
|
+
case 3:
|
|
176
|
+
_a.sent();
|
|
177
|
+
_a.label = 4;
|
|
178
|
+
case 4: return [3 /*break*/, 7];
|
|
179
|
+
case 5:
|
|
180
|
+
e_4 = _a.sent();
|
|
181
|
+
console.log(e_4);
|
|
182
|
+
return [3 /*break*/, 7];
|
|
183
|
+
case 6:
|
|
184
|
+
if (initLoading) {
|
|
185
|
+
setInitLoading(false);
|
|
186
|
+
}
|
|
187
|
+
return [7 /*endfinally*/];
|
|
188
|
+
case 7: return [2 /*return*/];
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
}); };
|
|
192
|
+
var handleSearch = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
193
|
+
var bundles, products;
|
|
194
|
+
return tslib_1.__generator(this, function (_a) {
|
|
195
|
+
switch (_a.label) {
|
|
196
|
+
case 0:
|
|
197
|
+
setSearchLoading(true);
|
|
198
|
+
return [4 /*yield*/, getBundle()];
|
|
199
|
+
case 1:
|
|
200
|
+
bundles = _a.sent();
|
|
201
|
+
return [4 /*yield*/, getProduct()];
|
|
202
|
+
case 2:
|
|
203
|
+
products = _a.sent();
|
|
204
|
+
setAddNewData(tslib_1.__spreadArray(tslib_1.__spreadArray([], products, true), bundles, true));
|
|
205
|
+
setSearchLoading(false);
|
|
206
|
+
return [2 /*return*/];
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
}); };
|
|
210
|
+
var fetchMoreData = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
211
|
+
var e_5;
|
|
212
|
+
return tslib_1.__generator(this, function (_a) {
|
|
213
|
+
switch (_a.label) {
|
|
214
|
+
case 0:
|
|
215
|
+
setFetchMoreLoading(true);
|
|
216
|
+
_a.label = 1;
|
|
217
|
+
case 1:
|
|
218
|
+
_a.trys.push([1, 3, 4, 5]);
|
|
219
|
+
return [4 /*yield*/, getData()];
|
|
220
|
+
case 2:
|
|
221
|
+
_a.sent();
|
|
222
|
+
return [3 /*break*/, 5];
|
|
223
|
+
case 3:
|
|
224
|
+
e_5 = _a.sent();
|
|
225
|
+
console.log(e_5);
|
|
226
|
+
return [3 /*break*/, 5];
|
|
227
|
+
case 4:
|
|
228
|
+
setFetchMoreLoading(false);
|
|
229
|
+
return [7 /*endfinally*/];
|
|
230
|
+
case 5: return [2 /*return*/];
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
}); };
|
|
234
|
+
function onSubmit() {
|
|
235
|
+
var checkedData = addNewData.filter(function (item) { return item.checked; });
|
|
236
|
+
handleSubmit === null || handleSubmit === void 0 ? void 0 : handleSubmit(checkedData);
|
|
237
|
+
}
|
|
238
|
+
var handleScroll = function () {
|
|
239
|
+
var el = scrollRef.current;
|
|
240
|
+
if (!el || fetchMoreLoading)
|
|
241
|
+
return;
|
|
242
|
+
var isAtBottom = el.scrollTop + el.clientHeight >= el.scrollHeight;
|
|
243
|
+
if (isAtBottom) {
|
|
244
|
+
setCurrPage(function (pre) { return pre + 1; });
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
var handleUnCheckedItem = function (item) {
|
|
248
|
+
var clone = tslib_1.__spreadArray([], addNewData, true);
|
|
249
|
+
if (item.bundle_id) {
|
|
250
|
+
var index = clone.findIndex(function (addData) { return addData.bundle_id === item.bundle_id; });
|
|
251
|
+
clone[index].checked = false;
|
|
252
|
+
setAddNewData(clone);
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
var index = clone.findIndex(function (addData) { return addData.product_id === item.product_id; });
|
|
256
|
+
clone[index].checked = false;
|
|
257
|
+
setAddNewData(clone);
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
(0, react_1.useEffect)(function () {
|
|
261
|
+
if (show) {
|
|
262
|
+
getData();
|
|
263
|
+
handleCountAll();
|
|
264
|
+
}
|
|
265
|
+
}, [show]);
|
|
266
|
+
(0, react_1.useEffect)(function () {
|
|
267
|
+
if (currPage !== 0 && show) {
|
|
268
|
+
fetchMoreData();
|
|
269
|
+
}
|
|
270
|
+
}, [currPage]);
|
|
271
|
+
(0, react_1.useEffect)(function () {
|
|
272
|
+
var timerId = setTimeout(function () {
|
|
273
|
+
handleSearch();
|
|
274
|
+
}, 200);
|
|
275
|
+
return function () { return clearTimeout(timerId); };
|
|
276
|
+
}, [searchValue]);
|
|
277
|
+
return (react_1["default"].createElement(react_1["default"].Fragment, null,
|
|
278
|
+
react_1["default"].createElement(Modal_1.PHXModal, { primaryLoading: submitLoading, title: 'C\u00E1c s\u1EA3n ph\u1EA9m \u0111\u00E3 ch\u1ECDn', show: showModalSelected, onHide: function () {
|
|
279
|
+
setShowModalSelected(false);
|
|
280
|
+
setShow(true);
|
|
281
|
+
}, onPrimaryClick: onSubmit, closeButton: true, size: 'large', hiddenSubmit: true },
|
|
282
|
+
react_1["default"].createElement("div", { className: 'border rounded-lg mt-3 overflow-hidden' },
|
|
283
|
+
react_1["default"].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 ' },
|
|
284
|
+
react_1["default"].createElement(product_table_1["default"], { data: checkedList, isVerifyProjectCode: isVerifyProjectCode, handleCheckData: function (item, index) {
|
|
285
|
+
handleUnCheckedItem(item);
|
|
286
|
+
if (checkedList.length === 1) {
|
|
287
|
+
setCheckedList([]);
|
|
288
|
+
setShowModalSelected(false);
|
|
289
|
+
setShow(true);
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
var clone = tslib_1.__spreadArray([], checkedList, true);
|
|
293
|
+
clone.splice(index, 1);
|
|
294
|
+
setCheckedList(clone);
|
|
295
|
+
}
|
|
296
|
+
} })))),
|
|
297
|
+
react_1["default"].createElement(Modal_1.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 },
|
|
298
|
+
react_1["default"].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' },
|
|
299
|
+
react_1["default"].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' },
|
|
300
|
+
react_1["default"].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' }))),
|
|
301
|
+
react_1["default"].createElement("div", { className: ' absolute bottom-4' },
|
|
302
|
+
react_1["default"].createElement(Button_1.PHXButton, { secondary: true, disabled: checkedList.length === 0, onClick: function () {
|
|
303
|
+
setShowModalSelected(true);
|
|
304
|
+
setShow(false);
|
|
305
|
+
}, className: 'text-xs font-normal' }, "".concat(checkedList.length),
|
|
306
|
+
"/", "".concat(countAll),
|
|
307
|
+
" s\u1EA3n ph\u1EA9m \u0111\u00E3 \u0111\u01B0\u1EE3c ch\u1ECDn")),
|
|
308
|
+
react_1["default"].createElement(BannerWithCard_1.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.' }),
|
|
309
|
+
react_1["default"].createElement("div", { className: 'border rounded-lg mt-3' },
|
|
310
|
+
react_1["default"].createElement("div", { className: ' py-2 px-3 border-b' },
|
|
311
|
+
react_1["default"].createElement("div", { className: 'relative w-full' },
|
|
312
|
+
react_1["default"].createElement("span", { className: 'absolute inset-y-0 left-0 flex items-center pl-3 text-gray-600' },
|
|
313
|
+
react_1["default"].createElement(solid_1.MagnifyingGlassIcon, { className: 'h-4 w-4' })),
|
|
314
|
+
react_1["default"].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) {
|
|
315
|
+
if (currPage !== 0) {
|
|
316
|
+
setCurrPage(0);
|
|
317
|
+
}
|
|
318
|
+
setSearchValue(e.target.value);
|
|
319
|
+
}, placeholder: 'Nh\u1EADp t\u00EAn ho\u1EB7c m\u00E3 s\u1EA3n ph\u1EA9m', type: 'text' }))),
|
|
320
|
+
initLoading || searchLoading ? (react_1["default"].createElement(Skeleton_1.PHXSkeleton, { type: 'table', className: 'h-[calc(100vh-400px)] overflow-hidden' })) : (react_1["default"].createElement(react_1["default"].Fragment, null, addNewData.length > 0 ? (react_1["default"].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 ' },
|
|
321
|
+
react_1["default"].createElement(product_table_1["default"], { data: addNewData, isVerifyProjectCode: isVerifyProjectCode,
|
|
322
|
+
// @ts-ignore
|
|
323
|
+
handleCheckData: function (item, index) { return handleCheckData(index); } }))) : (react_1["default"].createElement(EmptyRecord_1.PHXEmptyRecord, { className: 'h-[calc(100vh-400px)] pt-10' }))))))));
|
|
324
|
+
}
|
|
325
|
+
exports["default"] = PHXStoreProduct;
|
|
326
|
+
//# 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,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.ACTIVE_CODE = exports.BAN_THEO_DOT = exports.BUNDLE_PRICE_REDUCE_BY_MONEY = exports.BUNDLE_PRICE_REDUCE_BY_PERCENT = exports.BUNDLE_PRICE_BY_PRODUCT = void 0;
|
|
4
|
+
exports.BUNDLE_PRICE_BY_PRODUCT = 'BY_PRODUCT';
|
|
5
|
+
exports.BUNDLE_PRICE_REDUCE_BY_PERCENT = 'BY_PERCENT';
|
|
6
|
+
exports.BUNDLE_PRICE_REDUCE_BY_MONEY = 'BY_MONNEY';
|
|
7
|
+
exports.BAN_THEO_DOT = 'BAN_THEO_DOT';
|
|
8
|
+
exports.ACTIVE_CODE = 'ACTIVE';
|
|
9
|
+
//# sourceMappingURL=constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../src/components/StoreProduct/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,YAAY,CAAA;AACtC,QAAA,8BAA8B,GAAG,YAAY,CAAA;AAC7C,QAAA,4BAA4B,GAAG,WAAW,CAAA;AAC1C,QAAA,YAAY,GAAG,cAAc,CAAA;AAC7B,QAAA,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,yDAA8B"}
|
|
@@ -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,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
var Checkbox_1 = require("../Checkbox");
|
|
6
|
+
var Badge_1 = require("../Badge");
|
|
7
|
+
function ProductTable(_a) {
|
|
8
|
+
var data = _a.data, handleCheckData = _a.handleCheckData, isVerifyProjectCode = _a.isVerifyProjectCode;
|
|
9
|
+
return (react_1["default"].createElement("table", { className: 'w-full ' },
|
|
10
|
+
react_1["default"].createElement("tbody", { className: 'divide-y divide-gray-200 ' }, data.map(function (item, productIndex) {
|
|
11
|
+
var _a;
|
|
12
|
+
var name = item.name, image = item.image, tuition_fee_type_of_service = item.tuition_fee_type_of_service;
|
|
13
|
+
//mã công trình
|
|
14
|
+
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];
|
|
15
|
+
var isDisable = isVerifyProjectCode && !projectCode;
|
|
16
|
+
return (react_1["default"].createElement(react_1["default"].Fragment, { key: productIndex },
|
|
17
|
+
react_1["default"].createElement("tr", null,
|
|
18
|
+
react_1["default"].createElement("td", { className: ' relative whitespace-nowrap py-3 pl-3 text-xs font-normal rounded-lg text-gray-800' },
|
|
19
|
+
react_1["default"].createElement("div", { className: 'flex items-center' },
|
|
20
|
+
isDisable ? (react_1["default"].createElement("div", { className: 'w-4 h-4 rounded-[4px] mr-3 bg-gray-200' })) : (react_1["default"].createElement(Checkbox_1.PHXCheckbox, { checked: data[productIndex].checked })),
|
|
21
|
+
react_1["default"].createElement("img", { src: image || undefined, className: 'object-contain w-[40px] h-[40px] -ml-1 mr-2 border rounded-lg p-1' }),
|
|
22
|
+
react_1["default"].createElement("div", { className: 'w-[320px] md:w-[500px] space-y-[2px] truncate' },
|
|
23
|
+
react_1["default"].createElement("p", { className: 'font-semibold truncate' }, name),
|
|
24
|
+
isVerifyProjectCode && (react_1["default"].createElement(react_1["default"].Fragment, null,
|
|
25
|
+
react_1["default"].createElement("p", { className: "".concat(!projectCode ? 'pb-0.5' : '') },
|
|
26
|
+
react_1["default"].createElement("span", { className: 'text-gray-600' }, "D\u1ECBch v\u1EE5: "),
|
|
27
|
+
tuition_fee_type_of_service && (react_1["default"].createElement("span", { className: 'text-gray-800' }, tuition_fee_type_of_service.description))),
|
|
28
|
+
projectCode ? (react_1["default"].createElement("p", null,
|
|
29
|
+
react_1["default"].createElement("span", { className: 'text-gray-600' }, "M\u00E3 c\u00F4ng tr\u00ECnh: "),
|
|
30
|
+
react_1["default"].createElement("span", { className: 'text-gray-800' },
|
|
31
|
+
" ",
|
|
32
|
+
projectCode.code))) : (react_1["default"].createElement(Badge_1.PHXBadge, { type: 'danger', text: 'Ch\u01B0a t\u1EA1o m\u00E3 c\u00F4ng tr\u00ECnh' })))))),
|
|
33
|
+
isDisable ? (react_1["default"].createElement(react_1["default"].Fragment, null)) : (react_1["default"].createElement("button", { className: ' absolute inset-0', type: 'button', onClick: function () { return handleCheckData(item, productIndex); } }))))));
|
|
34
|
+
}))));
|
|
35
|
+
}
|
|
36
|
+
exports["default"] = ProductTable;
|
|
37
|
+
//# 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,wDAAyB;AACzB,wCAAyC;AACzC,kCAAmC;AAQnC,SAAwB,YAAY,CAAC,EAAsD;QAApD,IAAI,UAAA,EAAE,eAAe,qBAAA,EAAE,mBAAmB,yBAAA;IAC/E,OAAO,CACL,4CAAO,SAAS,EAAC,SAAS;QACxB,4CAAO,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,iCAAC,kBAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,YAAY;gBAC/B;oBACE,yCAAI,SAAS,EAAC,0FAA0F;wBACtG,0CAAK,SAAS,EAAC,mBAAmB;4BAC/B,SAAS,CAAC,CAAC,CAAC,CACX,0CAAK,SAAS,EAAC,yCAAyC,GAAG,CAC5D,CAAC,CAAC,CAAC,CACF,iCAAC,sBAAW,IAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,GAAI,CACrD;4BACD,0CACE,GAAG,EAAE,KAAK,IAAI,SAAS,EACvB,SAAS,EAAC,mEAAmE,GAC7E;4BACF,0CAAK,SAAS,EAAC,+CAA+C;gCAC5D,wCAAG,SAAS,EAAC,wBAAwB,IAAE,IAAI,CAAK;gCAE/C,mBAAmB,IAAI,CACtB;oCACE,wCAAG,SAAS,EAAE,UAAG,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAE;wCAC7C,2CAAM,SAAS,EAAC,eAAe,0BAAiB;wCAC/C,2BAA2B,IAAI,CAC9B,2CAAM,SAAS,EAAC,eAAe,IAAE,2BAA2B,CAAC,WAAW,CAAQ,CACjF,CACC;oCACH,WAAW,CAAC,CAAC,CAAC,CACb;wCACE,2CAAM,SAAS,EAAC,eAAe,qCAAuB;wCACtD,2CAAM,SAAS,EAAC,eAAe;;4CAAG,WAAW,CAAC,IAAI,CAAQ,CACxD,CACL,CAAC,CAAC,CAAC,CACF,iCAAC,gBAAQ,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,iDAAwB,GAAG,CACzD,CACA,CACJ,CACG,CACF;wBACL,SAAS,CAAC,CAAC,CAAC,CACX,mEAAK,CACN,CAAC,CAAC,CAAC,CACF,6CACE,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;AAlED,kCAkEC"}
|
|
@@ -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,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.getListProductQuery = exports.getListBundleQuery = exports.countAllBundleAndProductQuery = void 0;
|
|
4
|
+
var constant_1 = require("./constant");
|
|
5
|
+
var getCustomQuery = function (_a) {
|
|
6
|
+
var searchValue = _a.searchValue, isInCampaign = _a.isInCampaign, type = _a.type;
|
|
7
|
+
var queryArr = [];
|
|
8
|
+
if (searchValue) {
|
|
9
|
+
queryArr.push(" _or:[\n {name: { _ilike: \"%".concat(searchValue, "%\" }}\n {code: { _ilike: \"%").concat(searchValue, "%\" }}\n ]"));
|
|
10
|
+
}
|
|
11
|
+
if (isInCampaign && type === 'PRODUCT') {
|
|
12
|
+
queryArr.push("store_product_sale_type:{\n code:{_eq: \"".concat(constant_1.BAN_THEO_DOT, "\"}\n }"));
|
|
13
|
+
}
|
|
14
|
+
if (isInCampaign && type === 'BUNDLE') {
|
|
15
|
+
queryArr.push(" store_bundle_sale_type:{\n code:{_eq: \"".concat(constant_1.BAN_THEO_DOT, "\"}\n }"));
|
|
16
|
+
}
|
|
17
|
+
return queryArr.join(',');
|
|
18
|
+
};
|
|
19
|
+
var countAllBundleAndProductQuery = function (isInCampaign) {
|
|
20
|
+
return "\nquery getListProductQuery($school_id: Int!) {\n store_product_aggregate(\n where: {\n ".concat(isInCampaign
|
|
21
|
+
? " store_product_sale_type:{\n code:{_eq: \"".concat(constant_1.BAN_THEO_DOT, "\"}\n }")
|
|
22
|
+
: '', ", \n store_product_status:{code:{_eq:\"").concat(constant_1.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(constant_1.ACTIVE_CODE, "\"}}\n school_id:{_eq: $school_id}\n ").concat(isInCampaign
|
|
23
|
+
? " store_bundle_sale_type:{\n code:{_eq: \"".concat(constant_1.BAN_THEO_DOT, "\"}\n }")
|
|
24
|
+
: '', "\n }) {\n aggregate{\n count\n }\n }\n }\n\n");
|
|
25
|
+
};
|
|
26
|
+
exports.countAllBundleAndProductQuery = countAllBundleAndProductQuery;
|
|
27
|
+
var getListBundleQuery = function (searchValue, isInCampaign) {
|
|
28
|
+
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(constant_1.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");
|
|
29
|
+
};
|
|
30
|
+
exports.getListBundleQuery = getListBundleQuery;
|
|
31
|
+
var getListProductQuery = function (searchValue, isInCampaign) {
|
|
32
|
+
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(constant_1.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 ");
|
|
33
|
+
};
|
|
34
|
+
exports.getListProductQuery = getListProductQuery;
|
|
35
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/components/StoreProduct/query.ts"],"names":[],"mappings":";;;AAAA,uCAAsD;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,uBAAY,iBAC1B,CAAC,CAAA;KACN;IAED,IAAI,YAAY,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrC,QAAQ,CAAC,IAAI,CAAC,0DACI,uBAAY,iBAC1B,CAAC,CAAA;KACN;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC,CAAA;AAEM,IAAM,6BAA6B,GAAG,UAAC,YAAqB;IACjE,OAAO,4GAKF,YAAY;QACV,CAAC,CAAC,2DACW,uBAAY,iBAC1B;QACC,CAAC,CAAC,EAAE,yDAE4B,sBAAW,kSAYX,sBAAW,2DAG7C,YAAY;QACV,CAAC,CAAC,0DACW,uBAAY,iBAC1B;QACC,CAAC,CAAC,EAAE,gEASZ,CAAA;AACD,CAAC,CAAA;AAzCY,QAAA,6BAA6B,iCAyCzC;AAEM,IAAM,kBAAkB,GAAG,UAAC,WAAmB,EAAE,YAAqB;IAC3E,OAAO,yRAQgC,sBAAW,4DAE5C,cAAc,CAAC,EAAE,WAAW,aAAA,EAAE,YAAY,cAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,izBA+BpE,CAAA;AACD,CAAC,CAAA;AA3CY,QAAA,kBAAkB,sBA2C9B;AAEM,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,sBAAW,i0BAgCjD,CAAA;AACH,CAAC,CAAA;AA1CY,QAAA,mBAAmB,uBA0C/B"}
|
|
@@ -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,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.caculateProductPrice = exports.formatCurrency = exports.caculateBundlePrice = void 0;
|
|
4
|
+
var constant_1 = require("./constant");
|
|
5
|
+
var caculateBundlePrice = function (bundleProducts, price_type) {
|
|
6
|
+
var minResult = 0;
|
|
7
|
+
var maxResult = 0;
|
|
8
|
+
var _a = price_type.value, reduceValue = _a === void 0 ? 0 : _a, _b = price_type.type, type = _b === void 0 ? constant_1.BUNDLE_PRICE_BY_PRODUCT : _b;
|
|
9
|
+
bundleProducts.forEach(function (bundleProduct) {
|
|
10
|
+
if (bundleProduct.store_bundle_product_attribute_values.length === 0)
|
|
11
|
+
return;
|
|
12
|
+
var listPrice = bundleProduct.store_bundle_product_attribute_values.map(function (item) { return item.store_product_attribute_value.price; });
|
|
13
|
+
minResult += Math.min.apply(Math, listPrice);
|
|
14
|
+
maxResult += Math.max.apply(Math, listPrice);
|
|
15
|
+
});
|
|
16
|
+
if (type === constant_1.BUNDLE_PRICE_REDUCE_BY_PERCENT) {
|
|
17
|
+
minResult = Math.floor(minResult - (minResult * reduceValue) / 100);
|
|
18
|
+
maxResult = Math.floor(maxResult - (maxResult * reduceValue) / 100);
|
|
19
|
+
}
|
|
20
|
+
if (type === constant_1.BUNDLE_PRICE_REDUCE_BY_MONEY) {
|
|
21
|
+
minResult = minResult - reduceValue;
|
|
22
|
+
maxResult = maxResult - reduceValue;
|
|
23
|
+
}
|
|
24
|
+
minResult = minResult < 0 ? 0 : minResult;
|
|
25
|
+
maxResult = maxResult < 0 ? 0 : maxResult;
|
|
26
|
+
if (minResult === maxResult)
|
|
27
|
+
return formatCurrency(minResult);
|
|
28
|
+
return "".concat(minResult > 0 ? formatCurrency(minResult) : '0 đ', " - ").concat(maxResult > 0 ? formatCurrency(maxResult) : '0 đ');
|
|
29
|
+
};
|
|
30
|
+
exports.caculateBundlePrice = caculateBundlePrice;
|
|
31
|
+
function formatCurrency(amount) {
|
|
32
|
+
if (!amount || amount < 0)
|
|
33
|
+
return "0 \u0111";
|
|
34
|
+
return "".concat(amount.toLocaleString('en-US'), " \u0111");
|
|
35
|
+
}
|
|
36
|
+
exports.formatCurrency = formatCurrency;
|
|
37
|
+
var caculateProductPrice = function (data) {
|
|
38
|
+
var _a;
|
|
39
|
+
var store_product_attributes = data.store_product_attributes;
|
|
40
|
+
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;
|
|
41
|
+
var minPrice = aggregate.min.price || 0;
|
|
42
|
+
var maxPrice = aggregate.max.price || 0;
|
|
43
|
+
var price = minPrice === maxPrice || minPrice === 0
|
|
44
|
+
? "".concat(formatCurrency(maxPrice))
|
|
45
|
+
: "".concat(formatCurrency(minPrice), " - ").concat(formatCurrency(maxPrice));
|
|
46
|
+
return price;
|
|
47
|
+
};
|
|
48
|
+
exports.caculateProductPrice = caculateProductPrice;
|
|
49
|
+
//# 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,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.PHXTableStatic = void 0;
|
|
5
|
+
var tslib_1 = require("tslib");
|
|
6
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
7
|
+
var EmptyRecord_1 = require("../EmptyRecord");
|
|
8
|
+
function PHXTableStatic(_a) {
|
|
9
|
+
var bodyData = _a.bodyData, thBody = _a.thBody, _b = _a.thComponent, thComponent = _b === void 0 ? {} : _b, thHeader = _a.thHeader;
|
|
10
|
+
var headers = thHeader.map(function (label, index) { return ({
|
|
11
|
+
key: thBody[index],
|
|
12
|
+
label: label
|
|
13
|
+
}); });
|
|
14
|
+
var renderCell = function (item, columnKey) {
|
|
15
|
+
var value = item[columnKey];
|
|
16
|
+
if (thComponent[columnKey]) {
|
|
17
|
+
return thComponent[columnKey](value, item);
|
|
18
|
+
}
|
|
19
|
+
return value !== undefined && value !== null ? value : '--';
|
|
20
|
+
};
|
|
21
|
+
return (react_1["default"].createElement(react_1["default"].Fragment, null, (bodyData === null || bodyData === void 0 ? void 0 : bodyData.length) ? (react_1["default"].createElement("div", { className: 'rounded-lg border border-gray-300 border-opacity-70 bg-white shadow-sm' },
|
|
22
|
+
react_1["default"].createElement("div", { className: '-my-2 overflow-x-auto' },
|
|
23
|
+
react_1["default"].createElement("div", { className: 'min-w-full pb-2 pt-0.5 align-middle ring-black ring-opacity-5' },
|
|
24
|
+
react_1["default"].createElement("div", { className: 'relative mt-1.5 overflow-auto' },
|
|
25
|
+
react_1["default"].createElement("table", { className: 'w-full divide-y divide-gray-300' },
|
|
26
|
+
react_1["default"].createElement("thead", null,
|
|
27
|
+
react_1["default"].createElement("tr", null, headers.map(function (header, index) {
|
|
28
|
+
return index === 0 ? (react_1["default"].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' },
|
|
29
|
+
react_1["default"].createElement("p", { className: 'text-gray-800' }, header.label))) : (react_1["default"].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' },
|
|
30
|
+
react_1["default"].createElement("p", { className: 'text-gray-800' }, header.label)));
|
|
31
|
+
}))),
|
|
32
|
+
react_1["default"].createElement("tbody", { className: 'divide-y divide-gray-200' }, bodyData.map(function (item, index) { return (react_1["default"].createElement("tr", { key: index }, headers.map(function (header, indexHeader) { return (react_1["default"].createElement("td", { key: header.key, className: "px-6 py-3 text-xs text-gray-900 ".concat(indexHeader === 0
|
|
33
|
+
? 'whitespace-nowrap rounded-lg sm:w-16 sm:px-8'
|
|
34
|
+
: 'whitespace-pre-line pl-8') }, renderCell(item, header.key))); }))); })))))))) : (react_1["default"].createElement(EmptyRecord_1.PHXEmptyRecord, null))));
|
|
35
|
+
}
|
|
36
|
+
exports.PHXTableStatic = PHXTableStatic;
|
|
37
|
+
//# sourceMappingURL=TableStatic.js.map
|