商品浏览页构建前最后一次更新
This commit is contained in:
Vendored
+168
-28
@@ -29,13 +29,25 @@
|
||||
|
||||
|
||||
function CheckoutPage() {
|
||||
var _design$designData, _design$designData2, _design$designData3, _design$designData$im, _design$designData$im2, _design$designData$im3;
|
||||
var _design$designData, _design$designData2, _design$designData3, _design$designData$im, _design$designData$im2, _design$designData$im3, _address$region2;
|
||||
var _useThemeContext = (0,_context_ThemeContext__WEBPACK_IMPORTED_MODULE_4__.useThemeContext)(),
|
||||
theme = _useThemeContext.theme;
|
||||
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null),
|
||||
_useState2 = (0,F_weixin_wordc_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_useState, 2),
|
||||
design = _useState2[0],
|
||||
setDesign = _useState2[1];
|
||||
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null),
|
||||
_useState4 = (0,F_weixin_wordc_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_useState3, 2),
|
||||
address = _useState4[0],
|
||||
setAddress = _useState4[1];
|
||||
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),
|
||||
_useState6 = (0,F_weixin_wordc_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_useState5, 2),
|
||||
showAddrPicker = _useState6[0],
|
||||
setShowAddrPicker = _useState6[1];
|
||||
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]),
|
||||
_useState8 = (0,F_weixin_wordc_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_useState7, 2),
|
||||
addrList = _useState8[0],
|
||||
setAddrList = _useState8[1];
|
||||
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
|
||||
var _Taro$getCurrentInsta;
|
||||
var params = (_Taro$getCurrentInsta = _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().getCurrentInstance().router) === null || _Taro$getCurrentInsta === void 0 ? void 0 : _Taro$getCurrentInsta.params;
|
||||
@@ -46,7 +58,47 @@ function CheckoutPage() {
|
||||
return x.id === dId;
|
||||
});
|
||||
setDesign(d || null);
|
||||
setAddress((0,_utils_store__WEBPACK_IMPORTED_MODULE_2__.getDefaultAddress)());
|
||||
setAddrList((0,_utils_store__WEBPACK_IMPORTED_MODULE_2__.getAddressList)());
|
||||
}, []);
|
||||
var handleConfirm = function handleConfirm() {
|
||||
var _address$region;
|
||||
if (!address) {
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showToast({
|
||||
title: '请先添加收货地址',
|
||||
icon: 'none'
|
||||
});
|
||||
return;
|
||||
}
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showModal({
|
||||
title: '确认下单',
|
||||
content: "\u786E\u8BA4\u540E\u5C06\u4ECE\u8BBE\u8BA1\u6E05\u5355\u751F\u6210\u8BA2\u5355\uFF0C\u5E76\u5BC4\u9001\u81F3\uFF1A\n".concat((_address$region = address.region) === null || _address$region === void 0 ? void 0 : _address$region.join(' '), " ").concat(address.detail),
|
||||
success: function success(res) {
|
||||
if (res.confirm) {
|
||||
(0,_utils_store__WEBPACK_IMPORTED_MODULE_2__.designToOrder)(design.id);
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showToast({
|
||||
title: '下单成功',
|
||||
icon: 'success'
|
||||
});
|
||||
setTimeout(function () {
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().switchTab({
|
||||
url: '/pages/index/index'
|
||||
});
|
||||
}, 1500);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
var handlePickAddress = function handlePickAddress(addr) {
|
||||
setAddress(addr);
|
||||
setShowAddrPicker(false);
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showToast({
|
||||
title: '地址已更改',
|
||||
icon: 'success'
|
||||
});
|
||||
};
|
||||
var hasStickers = (design === null || design === void 0 || (_design$designData = design.designData) === null || _design$designData === void 0 ? void 0 : _design$designData.stickers) && design.designData.stickers.length > 0;
|
||||
var hasLegacyImage = design === null || design === void 0 || (_design$designData2 = design.designData) === null || _design$designData2 === void 0 ? void 0 : _design$designData2.imageSrc;
|
||||
if (!design) {
|
||||
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "theme-".concat(theme),
|
||||
@@ -65,35 +117,13 @@ function CheckoutPage() {
|
||||
var maskStyle = {
|
||||
width: 300,
|
||||
height: 420
|
||||
}; // fallback
|
||||
if ((_design$designData = design.designData) !== null && _design$designData !== void 0 && (_design$designData = _design$designData.category) !== null && _design$designData !== void 0 && _design$designData.mask) {
|
||||
};
|
||||
if ((_design$designData3 = design.designData) !== null && _design$designData3 !== void 0 && (_design$designData3 = _design$designData3.category) !== null && _design$designData3 !== void 0 && _design$designData3.mask) {
|
||||
var m = design.designData.category.mask;
|
||||
maskStyle.width = m.width;
|
||||
maskStyle.height = m.height;
|
||||
if (m.shape === 'circle') maskStyle.borderRadius = '50%';else maskStyle.borderRadius = m.borderRadius || 0;
|
||||
}
|
||||
var handleConfirm = function handleConfirm() {
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showModal({
|
||||
title: '确认下单',
|
||||
content: '确认后将从设计清单生成订单',
|
||||
success: function success(res) {
|
||||
if (res.confirm) {
|
||||
(0,_utils_store__WEBPACK_IMPORTED_MODULE_2__.designToOrder)(design.id);
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showToast({
|
||||
title: '下单成功',
|
||||
icon: 'success'
|
||||
});
|
||||
setTimeout(function () {
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().switchTab({
|
||||
url: '/pages/index/index'
|
||||
});
|
||||
}, 1500);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
var hasStickers = ((_design$designData2 = design.designData) === null || _design$designData2 === void 0 ? void 0 : _design$designData2.stickers) && design.designData.stickers.length > 0;
|
||||
var hasLegacyImage = (_design$designData3 = design.designData) === null || _design$designData3 === void 0 ? void 0 : _design$designData3.imageSrc;
|
||||
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "theme-".concat(theme),
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
@@ -109,7 +139,7 @@ function CheckoutPage() {
|
||||
},
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "back-btn",
|
||||
onClick: function onClick() {
|
||||
onTap: function onTap() {
|
||||
return _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().navigateBack();
|
||||
},
|
||||
children: "\u2190"
|
||||
@@ -190,11 +220,55 @@ function CheckoutPage() {
|
||||
children: ["\xA5", (design.unitPrice * design.count).toFixed(2)]
|
||||
})]
|
||||
})]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "checkout-address-card dashed-card mt-20",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "star-badge"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "checkout-address-header",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "info-label",
|
||||
children: "\u6536\u8D27\u5730\u5740"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "address-change",
|
||||
onTap: function onTap() {
|
||||
return setShowAddrPicker(true);
|
||||
},
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "change-text",
|
||||
children: "\u66F4\u6539\u6536\u8D27\u5730\u5740"
|
||||
})
|
||||
})]
|
||||
}), address ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "checkout-address-body",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "addr-row",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "addr-name",
|
||||
children: address.name
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "addr-phone",
|
||||
children: address.phone
|
||||
})]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "addr-detail",
|
||||
children: [(_address$region2 = address.region) === null || _address$region2 === void 0 ? void 0 : _address$region2.join(' '), " ", address.detail]
|
||||
})]
|
||||
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "checkout-address-empty",
|
||||
onTap: function onTap() {
|
||||
return setShowAddrPicker(true);
|
||||
},
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "empty-text",
|
||||
children: "\u6682\u65E0\u6536\u8D27\u5730\u5740\uFF0C\u70B9\u51FB\u6DFB\u52A0"
|
||||
})
|
||||
})]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "checkout-actions",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "btn-outline",
|
||||
onClick: function onClick() {
|
||||
onTap: function onTap() {
|
||||
return _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().navigateBack();
|
||||
},
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
@@ -202,7 +276,7 @@ function CheckoutPage() {
|
||||
})
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "btn-gradient",
|
||||
onClick: handleConfirm,
|
||||
onTap: handleConfirm,
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
children: "\u786E\u8BA4\u4E0B\u5355"
|
||||
})
|
||||
@@ -211,6 +285,72 @@ function CheckoutPage() {
|
||||
style: {
|
||||
height: '40px'
|
||||
}
|
||||
}), showAddrPicker && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "modal-overlay",
|
||||
style: {
|
||||
alignItems: 'flex-end',
|
||||
justifyContent: 'flex-end'
|
||||
},
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "addr-picker-sheet dashed-card",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "addr-picker-header",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "addr-picker-title",
|
||||
children: "\u9009\u62E9\u6536\u8D27\u5730\u5740"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "addr-picker-close",
|
||||
onTap: function onTap() {
|
||||
return setShowAddrPicker(false);
|
||||
},
|
||||
children: "\u2715"
|
||||
})]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "addr-picker-list",
|
||||
children: [addrList.map(function (addr) {
|
||||
var _addr$region;
|
||||
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "addr-picker-item ".concat((address === null || address === void 0 ? void 0 : address.id) === addr.id ? 'active' : ''),
|
||||
onTap: function onTap() {
|
||||
return handlePickAddress(addr);
|
||||
},
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "addr-picker-row",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "addr-picker-name",
|
||||
children: addr.name
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "addr-picker-phone",
|
||||
children: addr.phone
|
||||
}), addr.isDefault && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "addr-picker-default",
|
||||
children: "\u9ED8\u8BA4"
|
||||
})]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "addr-picker-detail",
|
||||
children: [(_addr$region = addr.region) === null || _addr$region === void 0 ? void 0 : _addr$region.join(' '), " ", addr.detail]
|
||||
})]
|
||||
}, addr.id);
|
||||
}), addrList.length === 0 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "addr-picker-empty",
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
children: "\u6682\u65E0\u5730\u5740\uFF0C\u8BF7\u5148\u6DFB\u52A0\u6536\u8D27\u5730\u5740"
|
||||
})
|
||||
})]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.View, {
|
||||
className: "addr-picker-add",
|
||||
onTap: function onTap() {
|
||||
setShowAddrPicker(false);
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().navigateTo({
|
||||
url: '/pages/address/index'
|
||||
});
|
||||
},
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_7__.Text, {
|
||||
className: "addr-picker-add-text",
|
||||
children: "+ \u65B0\u5EFA\u6536\u8D27\u5730\u5740"
|
||||
})
|
||||
})]
|
||||
})
|
||||
})]
|
||||
})
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user