s-material-react 0.1.13 → 0.1.15
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/css/common/addressItem.scss +41 -1
- package/css/common/card.scss +1 -0
- package/css/common/coupon.scss +8 -3
- package/css/common/icon.scss +79 -3
- package/css/pages/addressDetail.scss +79 -0
- package/css/pages/addressList.scss +32 -8
- package/css/pages/cart.scss +52 -5
- package/css/pages/couponList.scss +5 -0
- package/css/pages/goodsClassify.scss +32 -6
- package/css/pages/goodsDetail.scss +22 -67
- package/css/pages/index.scss +2 -0
- package/css/pages/mine.scss +2 -6
- package/css/pages/orderEntry.scss +4 -2
- package/css/pages/paymentMode.scss +75 -0
- package/css/pages/placeOrder.scss +30 -8
- package/css/pages/service.scss +1 -6
- package/css/pages/slider.scss +6 -0
- package/dist/common/addressItem/index.d.ts +1 -1
- package/dist/common/addressItem/index.js +6 -7
- package/dist/common/card/index.js +1 -1
- package/dist/common/coupon/index.d.ts +1 -1
- package/dist/common/coupon/index.js +4 -5
- package/dist/common/icon/index.d.ts +2 -1
- package/dist/common/icon/index.js +2 -2
- package/dist/common/mock/index.js +35 -0
- package/dist/components/AddressDetail/components/index.d.ts +0 -0
- package/dist/components/AddressDetail/components/index.js +1 -0
- package/dist/components/AddressDetail/components/skull.d.ts +2 -0
- package/dist/components/AddressDetail/components/skull.js +9 -0
- package/dist/components/AddressDetail/config.d.ts +51 -0
- package/dist/components/AddressDetail/config.js +65 -0
- package/dist/components/AddressDetail/hooks/index.d.ts +1 -0
- package/dist/components/AddressDetail/hooks/index.js +1 -0
- package/dist/components/AddressDetail/hooks/useAddAddress.d.ts +26 -0
- package/dist/components/AddressDetail/hooks/useAddAddress.js +80 -0
- package/dist/components/AddressDetail/index.d.ts +1 -1
- package/dist/components/AddressDetail/index.js +17 -107
- package/dist/components/AddressList/components/index.d.ts +1 -0
- package/dist/components/AddressList/components/index.js +1 -0
- package/dist/components/AddressList/components/skull.d.ts +2 -0
- package/dist/components/AddressList/components/skull.js +9 -0
- package/dist/components/AddressList/hooks/index.d.ts +1 -0
- package/dist/components/AddressList/hooks/index.js +1 -0
- package/dist/components/AddressList/hooks/useAddressList.d.ts +6 -0
- package/dist/components/AddressList/hooks/useAddressList.js +74 -0
- package/dist/components/AddressList/index.js +8 -6
- package/dist/components/Cart/components/cartItem.d.ts +3 -0
- package/dist/components/Cart/components/cartItem.js +34 -0
- package/dist/components/Cart/hooks/index.d.ts +19 -0
- package/dist/components/Cart/hooks/index.js +90 -0
- package/dist/components/Cart/index.js +14 -18
- package/dist/components/Cart/store/index.d.ts +10 -0
- package/dist/components/Cart/store/index.js +23 -0
- package/dist/components/CouponList/index.js +1 -1
- package/dist/components/Goods/index.js +3 -3
- package/dist/components/GoodsClassify/components/classifySkeleton.d.ts +1 -0
- package/dist/components/GoodsClassify/components/classifySkeleton.js +12 -0
- package/dist/components/GoodsClassify/index.js +4 -4
- package/dist/components/GoodsDetail/components/goodsDetailCollection.d.ts +1 -1
- package/dist/components/GoodsDetail/components/goodsDetailCollection.js +8 -3
- package/dist/components/GoodsDetail/components/goodsDetailCoupon.js +22 -33
- package/dist/components/GoodsDetail/components/goodsDetailHandleBar.js +23 -3
- package/dist/components/GoodsDetail/components/goodsDetailInfo.d.ts +1 -1
- package/dist/components/GoodsDetail/components/goodsDetailInfo.js +1 -1
- package/dist/components/GoodsDetail/components/goodsDetailPopup.d.ts +1 -1
- package/dist/components/GoodsDetail/components/goodsDetailPopup.js +9 -23
- package/dist/components/GoodsDetail/components/goodsDetailPromotion.js +2 -3
- package/dist/components/GoodsDetail/components/goodsDetailSize.d.ts +1 -1
- package/dist/components/GoodsDetail/components/goodsDetailSize.js +11 -2
- package/dist/components/GoodsDetail/hooks/index.d.ts +2 -0
- package/dist/components/GoodsDetail/hooks/index.js +2 -75
- package/dist/components/GoodsDetail/hooks/useAddShopping.d.ts +10 -0
- package/dist/components/GoodsDetail/hooks/useAddShopping.js +74 -0
- package/dist/components/GoodsDetail/hooks/useGoodsDetailImpl.d.ts +13 -0
- package/dist/components/GoodsDetail/hooks/useGoodsDetailImpl.js +85 -0
- package/dist/components/GoodsDetail/index.d.ts +5 -1
- package/dist/components/GoodsDetail/index.js +15 -8
- package/dist/components/GoodsDetail/store/index.d.ts +10 -0
- package/dist/components/GoodsDetail/store/index.js +34 -0
- package/dist/components/Mine/components/menuList.js +7 -6
- package/dist/components/Mine/components/orderEntry.js +17 -10
- package/dist/components/Mine/index.js +4 -3
- package/dist/components/OrderList/components/OrderListItem.js +2 -3
- package/dist/components/OrderList/components/orderItem.js +1 -2
- package/dist/components/PaymentMode/config.d.ts +6 -0
- package/dist/components/PaymentMode/config.js +14 -0
- package/dist/components/PaymentMode/hooks/useOrderResult.d.ts +11 -0
- package/dist/components/PaymentMode/hooks/useOrderResult.js +100 -0
- package/dist/components/PaymentMode/index.d.ts +4 -0
- package/dist/components/PaymentMode/index.js +17 -0
- package/dist/components/PlaceOrder/components/address.d.ts +12 -0
- package/dist/components/PlaceOrder/components/address.js +33 -0
- package/dist/components/PlaceOrder/components/orderPrice.d.ts +12 -0
- package/dist/components/PlaceOrder/components/orderPrice.js +8 -0
- package/dist/components/PlaceOrder/components/shop.d.ts +4 -0
- package/dist/components/PlaceOrder/components/shop.js +9 -0
- package/dist/components/PlaceOrder/hooks/usePlaceOrder.d.ts +18 -0
- package/dist/components/PlaceOrder/hooks/usePlaceOrder.js +234 -0
- package/dist/components/PlaceOrder/index.d.ts +6 -1
- package/dist/components/PlaceOrder/index.js +8 -3
- package/dist/components/PlaceOrderResult/hooks/useOrderResult.d.ts +3 -0
- package/dist/components/PlaceOrderResult/hooks/useOrderResult.js +93 -0
- package/dist/components/PlaceOrderResult/index.d.ts +3 -1
- package/dist/components/PlaceOrderResult/index.js +5 -3
- package/dist/components/Search/index.js +3 -2
- package/dist/components/SearchPage/index.js +50 -9
- package/dist/components/Service/index.d.ts +11 -1
- package/dist/components/Service/index.js +4 -3
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/options/index.d.ts +0 -2
- package/dist/options/index.js +36 -31
- package/dist/routerMap/index.d.ts +7 -0
- package/dist/routerMap/index.js +8 -1
- package/dist/utils/payment.d.ts +14 -0
- package/dist/utils/payment.js +56 -0
- package/package.json +1 -1
- package/css/font/iconfont.ttf +0 -0
- package/css/font/iconfont.woff +0 -0
- package/css/font/iconfont.woff2 +0 -0
- package/dist/components/AddressDetail/option.d.ts +0 -2
- package/dist/components/AddressDetail/option.js +0 -32
- package/dist/components/Cart/useNumStep.d.ts +0 -1
- package/dist/components/Cart/useNumStep.js +0 -7
|
@@ -9,12 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
11
|
import { useEffect, useState, memo, useRef } from 'react';
|
|
12
|
-
import { useComponent } from '@brushes/qj-simulate-component';
|
|
12
|
+
import { navigatorImpl, useComponent } from '@brushes/qj-simulate-component';
|
|
13
13
|
import { querySkuNotOnShelf } from '@brushes/api';
|
|
14
14
|
import { _ } from '@brushes/tools';
|
|
15
|
-
// import { QjIcon } from '@brushes/share-resource';
|
|
16
15
|
import classNames from 'classnames';
|
|
17
16
|
import { QjMobileIcon } from '../../common/icon';
|
|
17
|
+
import { routerMap } from '../../routerMap';
|
|
18
18
|
const { isEqual, isEmpty } = _;
|
|
19
19
|
const GoodsJsx = ({ defaultValue = [], classCode = '', margin, circular, cell, gap = 10, goods = [], markedPrice, paddingTop, paddingBottom, paddingLeft, paddingRight }) => {
|
|
20
20
|
const [list, setList] = useState(defaultValue);
|
|
@@ -64,6 +64,6 @@ const GoodsJsx = ({ defaultValue = [], classCode = '', margin, circular, cell, g
|
|
|
64
64
|
} }, { children: list.map((item, index) => (_jsxs(View, Object.assign({ style: {
|
|
65
65
|
overflow: 'hidden',
|
|
66
66
|
borderRadius: circular === 2 ? 0 : '8px'
|
|
67
|
-
}, className: 'goods' }, { children: [_jsx(View, { className: `goods-img`, style: { backgroundImage: `url(${item.dataPic})` } }), _jsxs(View, Object.assign({ className: 'space' }, { children: [_jsx(View, Object.assign({ className: 'titleType' }, { children: item.goodsName })), _jsx(View, Object.assign({ className: 'subTitle' }, { children: item.brandName })), _jsxs(View, Object.assign({ className: 'price' }, { children: [_jsx(Text, Object.assign({ className: 'subPrice' }, { children: "\u00A5" })), item.pricesetNprice, markedPrice === 1 && (_jsxs(Text, Object.assign({ className: 'markedPrice' }, { children: [_jsx(Text, Object.assign({ className: 'subPrice' }, { children: "\u00A5" })), item.pricesetMakeprice] })))] })), _jsx(View, Object.assign({ className: 'anticon' }, { children: _jsx(QjMobileIcon, { style: { fontSize: 30, color: '#f00' }, value: 'cart' }) }))] }))] }), index))) })) })));
|
|
67
|
+
}, onClick: () => navigatorImpl(`${routerMap.goodDetail}?skuCode=${item.skuCode}`), className: 'goods' }, { children: [_jsx(View, { className: `goods-img`, style: { backgroundImage: `url(${item.dataPic})` } }), _jsxs(View, Object.assign({ className: 'space' }, { children: [_jsx(View, Object.assign({ className: 'titleType' }, { children: item.goodsName })), _jsx(View, Object.assign({ className: 'subTitle' }, { children: item.brandName })), _jsxs(View, Object.assign({ className: 'price' }, { children: [_jsx(Text, Object.assign({ className: 'subPrice' }, { children: "\u00A5" })), item.pricesetNprice, markedPrice === 1 && (_jsxs(Text, Object.assign({ className: 'markedPrice' }, { children: [_jsx(Text, Object.assign({ className: 'subPrice' }, { children: "\u00A5" })), item.pricesetMakeprice] })))] })), _jsx(View, Object.assign({ className: 'anticon' }, { children: _jsx(QjMobileIcon, { style: { fontSize: 30, color: '#f00' }, value: 'cart' }) }))] }))] }), index))) })) })));
|
|
68
68
|
};
|
|
69
69
|
export const Goods = memo(GoodsJsx);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ClassifySkeleton: () => JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useComponent } from '@brushes/qj-simulate-component';
|
|
3
|
+
import { getEnv } from '@brushes/api';
|
|
4
|
+
import { useRef } from 'react';
|
|
5
|
+
export const ClassifySkeleton = () => {
|
|
6
|
+
const flag = getEnv();
|
|
7
|
+
const { View, Skeleton } = useComponent();
|
|
8
|
+
const lBlcArr = useRef(Array(3).fill(1));
|
|
9
|
+
return (_jsxs(View, Object.assign({ className: 'classifySkeleton', style: { height: flag ? 'calc(100vh - 51px)' : '667px' } }, { children: [_jsx(View, Object.assign({ className: 'lPart' }, { children: lBlcArr.current.map((item, index) => {
|
|
10
|
+
return _jsx(Skeleton, { animated: true, className: 'blc' }, index);
|
|
11
|
+
}) })), _jsx(View, Object.assign({ className: 'rPart' }, { children: _jsx(Skeleton.Paragraph, { lineCount: 5, animated: true }) }))] })));
|
|
12
|
+
};
|
|
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
11
|
import { memo, useEffect, useState } from 'react';
|
|
12
12
|
import { useComponent, antdMobile, navigatorImpl } from '@brushes/qj-simulate-component';
|
|
13
13
|
import { ClassifyFloor } from './components/classifyFloor';
|
|
@@ -31,15 +31,15 @@ const GoodsClassifyJsx = () => {
|
|
|
31
31
|
try {
|
|
32
32
|
let commits = yield queryGoodsClassTree();
|
|
33
33
|
setNavList(commits || []);
|
|
34
|
-
const code = get(commits, '
|
|
34
|
+
const code = get(commits, '[0].goodsClassCode');
|
|
35
35
|
setActiveKey(code);
|
|
36
36
|
}
|
|
37
37
|
catch (err) {
|
|
38
38
|
console.log(err);
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
|
-
return (_jsxs(
|
|
41
|
+
return (_jsxs(View, Object.assign({ className: 'goodsClassifyWrap', style: { height: flag ? '100%' : '667px' } }, { children: [_jsx(View, Object.assign({ className: 'goods-classify' }, { children: _jsxs(View, Object.assign({ className: 'goods-classify-search', onClick: () => navigatorImpl(routerMap.search) }, { children: [_jsx(QjMobileIcon, { value: "fenxiang" }), _jsx(Text, { children: "\u641C\u7D22\u5546\u54C1" })] })) })), _jsxs(View, Object.assign({ className: 'goodsClassifyContainer' }, { children: [_jsx(View, Object.assign({ className: 'side' }, { children: _jsx(SideBar, Object.assign({ activeKey: activeKey, onChange: setActiveKey, style: {
|
|
42
42
|
'--width': '88px'
|
|
43
|
-
} }, { children: navList.map((item) => (_jsx(SideBar.Item, { title: item.goodsClassName }, item.goodsClassCode))) })) })), _jsx(View, Object.assign({ className: 'main' }, { children: _jsx(ClassifyFloor, { navList: navList, activeKey: activeKey }) }))] }))] }));
|
|
43
|
+
} }, { children: navList.map((item) => (_jsx(SideBar.Item, { title: item.goodsClassName }, item.goodsClassCode))) })) })), _jsx(View, Object.assign({ className: 'main' }, { children: _jsx(ClassifyFloor, { navList: navList, activeKey: activeKey }) }))] }))] })));
|
|
44
44
|
};
|
|
45
45
|
export const GoodsClassify = memo(GoodsClassifyJsx);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const GoodsDetailCollection: ({
|
|
1
|
+
declare const GoodsDetailCollection: ({ checkCollectionObj, setCheckCollectionObj, goods }: any) => JSX.Element;
|
|
2
2
|
export default GoodsDetailCollection;
|
|
@@ -14,7 +14,7 @@ import { checkCollectExit, saveCollect, deleteCollectByCode } from '@brushes/api
|
|
|
14
14
|
import { _ } from '@brushes/tools';
|
|
15
15
|
import { useEffect } from 'react';
|
|
16
16
|
const { isEmpty } = _;
|
|
17
|
-
const GoodsDetailCollection = ({
|
|
17
|
+
const GoodsDetailCollection = ({ checkCollectionObj, setCheckCollectionObj, goods }) => {
|
|
18
18
|
const { Text, View } = useComponent();
|
|
19
19
|
useEffect(() => {
|
|
20
20
|
checkCollection();
|
|
@@ -24,8 +24,13 @@ const GoodsDetailCollection = ({ goods, checkCollectionObj, setCheckCollectionOb
|
|
|
24
24
|
collectType: 0,
|
|
25
25
|
collectOpcode: goods.rsSkuDomainList[0].skuCode || ''
|
|
26
26
|
};
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
try {
|
|
28
|
+
const result = yield checkCollectExit(checkCollectionParams);
|
|
29
|
+
setCheckCollectionObj(result);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
console.log(err);
|
|
33
|
+
}
|
|
29
34
|
});
|
|
30
35
|
const handleSaveCollect = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
36
|
const saveCollectParmas = {
|
|
@@ -1,56 +1,45 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useComponent,
|
|
2
|
+
import { useComponent, Popup, SmoothRadio } from '@brushes/qj-simulate-component';
|
|
3
3
|
import { THREE_DOTS } from '../../../static';
|
|
4
4
|
import { useState } from 'react';
|
|
5
5
|
import { Coupon } from '../../../common/coupon';
|
|
6
|
-
|
|
6
|
+
import { useDispatchImpl, useStore } from '../store';
|
|
7
7
|
const fake = [
|
|
8
8
|
{
|
|
9
9
|
title: '五一大促疯抢 满100立减10',
|
|
10
10
|
date: '2022-10-01',
|
|
11
|
-
price: 10
|
|
11
|
+
price: 10,
|
|
12
|
+
id: 1
|
|
12
13
|
},
|
|
13
14
|
{
|
|
14
15
|
title: '五一大促疯抢 满100立减10',
|
|
15
16
|
date: '2022-10-01',
|
|
16
|
-
price:
|
|
17
|
+
price: 20,
|
|
18
|
+
id: 2
|
|
17
19
|
},
|
|
18
20
|
{
|
|
19
21
|
title: '五一大促疯抢 满100立减10',
|
|
20
22
|
date: '2022-10-01',
|
|
21
|
-
price:
|
|
22
|
-
|
|
23
|
-
{
|
|
24
|
-
title: '五一大促疯抢 满100立减10',
|
|
25
|
-
date: '2022-10-01',
|
|
26
|
-
price: 10
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
title: '五一大促疯抢 满100立减10',
|
|
30
|
-
date: '2022-10-01',
|
|
31
|
-
price: 10
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
title: '五一大促疯抢 满100立减10',
|
|
35
|
-
date: '2022-10-01',
|
|
36
|
-
price: 10
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
title: '五一大促疯抢 满100立减10',
|
|
40
|
-
date: '2022-10-01',
|
|
41
|
-
price: 10
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
title: '五一大促疯抢 满100立减10',
|
|
45
|
-
date: '2022-10-01',
|
|
46
|
-
price: 10
|
|
23
|
+
price: 30,
|
|
24
|
+
id: 3
|
|
47
25
|
}
|
|
48
26
|
];
|
|
49
27
|
const GoodsDetailCoupon = () => {
|
|
50
28
|
const { View, Text } = useComponent();
|
|
51
29
|
const [visible, setVisible] = useState(false);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
30
|
+
const dispatch = useDispatchImpl();
|
|
31
|
+
const { couponValue } = useStore();
|
|
32
|
+
console.log(34, couponValue);
|
|
33
|
+
const onChange = (value) => {
|
|
34
|
+
dispatch({
|
|
35
|
+
type: 'select',
|
|
36
|
+
payload: {
|
|
37
|
+
couponValue: value.detail.value
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
return (_jsxs(_Fragment, { children: [_jsxs(View, Object.assign({ className: 'goodsDetail-coupon', onClick: () => setVisible(true) }, { children: [_jsx(Text, Object.assign({ className: 'label' }, { children: "\u4F18\u60E0\u5238" })), _jsxs(View, Object.assign({ className: 'info' }, { children: [_jsx(Text, Object.assign({ className: 'label' }, { children: couponValue ? `已选择: ${couponValue}` : '请选择优惠券' })), _jsx("img", { src: THREE_DOTS, alt: "", className: 'icon' })] }))] })), _jsx(Popup, Object.assign({ popupVisible: visible, popupHandler: setVisible }, { children: _jsx(View, Object.assign({ className: 'goodsDetail-coupon-popup' }, { children: _jsx(View, Object.assign({ className: 'stampWrap' }, { children: _jsx(SmoothRadio, Object.assign({ onChange: onChange, defaultValue: 0 }, { children: fake.map((item, index) => {
|
|
42
|
+
return _jsx(Coupon, { index: index, item: item }, index);
|
|
43
|
+
}) })) })) })) }))] }));
|
|
55
44
|
};
|
|
56
45
|
export default GoodsDetailCoupon;
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { switchTabImpl, useComponent, IconMobile } from '@brushes/qj-simulate-component';
|
|
3
|
+
import { useDispatchImpl } from '../store';
|
|
4
|
+
import { routerMap } from '../../../routerMap';
|
|
4
5
|
const GoodsDetailHandleBar = () => {
|
|
5
6
|
const { Text, View } = useComponent();
|
|
6
|
-
|
|
7
|
+
const dispatch = useDispatchImpl();
|
|
8
|
+
return (_jsxs(View, Object.assign({ className: 'goodsDetailHandleBar' }, { children: [_jsxs(View, Object.assign({ className: 'linkGroup' }, { children: [_jsx(IconMobile, { value: 'kefu', style: { fontSize: 22, display: 'block' } }), _jsx(Text, Object.assign({ className: 'txt' }, { children: "\u5BA2\u670D" }))] })), _jsxs(View, Object.assign({ className: 'linkGroup', onClick: () => switchTabImpl(routerMap.shopping) }, { children: [_jsx(IconMobile, { value: 'gouwuche', style: { fontSize: 22, display: 'block' } }), _jsx(Text, Object.assign({ className: 'txt' }, { children: "\u8D2D\u7269\u8F66" }))] })), _jsxs(View, Object.assign({ className: 'btnGroup' }, { children: [_jsx(View, Object.assign({ className: 'btn addCart', onClick: () => {
|
|
9
|
+
dispatch({
|
|
10
|
+
type: 'popupImpl',
|
|
11
|
+
payload: {
|
|
12
|
+
orderType: 0,
|
|
13
|
+
popupVisible: true,
|
|
14
|
+
isNeedButton: true
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
} }, { children: "\u52A0\u5165\u8D2D\u7269\u8F66" })), _jsx(View, Object.assign({ onClick: () => {
|
|
18
|
+
dispatch({
|
|
19
|
+
type: 'popupImpl',
|
|
20
|
+
payload: {
|
|
21
|
+
orderType: 1,
|
|
22
|
+
popupVisible: true,
|
|
23
|
+
isNeedButton: true
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}, className: 'btn buy' }, { children: "\u7ACB\u5373\u8D2D\u4E70" }))] }))] })));
|
|
7
27
|
};
|
|
8
28
|
export default GoodsDetailHandleBar;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const GoodsDetailInfo: ({
|
|
1
|
+
declare const GoodsDetailInfo: ({ tabActive, goods }: any) => JSX.Element;
|
|
2
2
|
export default GoodsDetailInfo;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useComponent } from '@brushes/qj-simulate-component';
|
|
3
3
|
import { useEffect, useState } from 'react';
|
|
4
|
-
const GoodsDetailInfo = ({
|
|
4
|
+
const GoodsDetailInfo = ({ tabActive, goods }) => {
|
|
5
5
|
const { View } = useComponent();
|
|
6
6
|
const [goodsDetail, setDetail] = useState('');
|
|
7
7
|
useEffect(() => {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const GoodsDetailPopup: ({
|
|
1
|
+
declare const GoodsDetailPopup: ({ goods }: any) => JSX.Element;
|
|
2
2
|
export default GoodsDetailPopup;
|
|
@@ -1,26 +1,12 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Popup, NumStep } from '@brushes/qj-simulate-component';
|
|
3
|
+
import { useAddShopping } from '../hooks';
|
|
2
4
|
import { useComponent } from '@brushes/qj-simulate-component';
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const { View, Text, Image
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
setSelectSizeCoe(index);
|
|
10
|
-
console.log(12, selectSizeCoe);
|
|
11
|
-
};
|
|
12
|
-
const handleStep = (type) => {
|
|
13
|
-
switch (type) {
|
|
14
|
-
case 'minus':
|
|
15
|
-
setCount((count) => count - 1);
|
|
16
|
-
break;
|
|
17
|
-
case 'plus':
|
|
18
|
-
setCount((count) => count + 1);
|
|
19
|
-
break;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
return (_jsx(_Fragment, { children: popupVisible && (_jsx(RootPortal, { children: _jsxs(View, Object.assign({ className: 'goodsDetail-size-popup' }, { children: [_jsxs(View, Object.assign({ className: 'content' }, { children: [_jsx(View, Object.assign({ className: 'closeWrap' }, { children: _jsx(Text, { className: 'icon', onClick: () => setPopupVisible(false) }) })), _jsxs(View, Object.assign({ className: 'goodsInfo' }, { children: [_jsx(View, Object.assign({ className: 'lPart' }, { children: _jsx(Image, { mode: 'widthFix', src: "", alt: "", className: 'goodsImg' }) })), _jsxs(View, Object.assign({ className: 'rPart' }, { children: [_jsx(View, Object.assign({ className: 'name' }, { children: goods.goodsShowname || '' })), _jsxs(View, Object.assign({ className: 'price' }, { children: ["\uFFE5: ", goods.pricesetNprice.toFixed(2) || ''] })), _jsx(View, Object.assign({ className: 'chosen' }, { children: "\u5DF2\u9009\u62E9: 15ml" }))] }))] })), _jsxs(View, Object.assign({ className: 'sizeArr' }, { children: [_jsx(Text, Object.assign({ className: 'title' }, { children: "\u9009\u62E9\u989C\u8272" })), _jsx(View, Object.assign({ className: 'sizeArrItemWrap' }, { children: goods.rsSpecValueDomainList.map((item, index) => {
|
|
23
|
-
return (_jsx(View, Object.assign({ className: `sizeItem ${index === selectSizeCoe ? 'active' : ''}`, "data-index": index, onClick: handleChooseSize.bind(null, index) }, { children: item.specValueValue }), index));
|
|
24
|
-
}) }))] })), _jsxs(View, Object.assign({ className: 'countWrap' }, { children: [_jsx(View, Object.assign({ className: 'label' }, { children: "\u8D2D\u4E70\u6570\u91CF" })), _jsxs(View, Object.assign({ className: 'numStep' }, { children: [_jsx(Text, Object.assign({ className: 'btn minus', onClick: handleStep.bind(null, 'minus') }, { children: "-" })), _jsx(Text, Object.assign({ className: 'content' }, { children: count })), _jsx(Text, Object.assign({ className: 'btn plus', onClick: handleStep.bind(null, 'plus') }, { children: "+" }))] }))] }))] })), _jsx(View, Object.assign({ className: 'btnWrap' }, { children: _jsx(Text, Object.assign({ className: 'btn' }, { children: "\u786E\u8BA4" })) }))] })) })) }));
|
|
5
|
+
const GoodsDetailPopup = ({ goods }) => {
|
|
6
|
+
const { count, spec, popupVisible, isNeedButton, handleChooseSize, handleStep, popupHandler, addShoppingImpl } = useAddShopping();
|
|
7
|
+
const { View, Text, Image } = useComponent();
|
|
8
|
+
return (_jsx(Popup, Object.assign({ popupVisible: popupVisible, popupHandler: popupHandler }, { children: _jsxs(View, Object.assign({ className: 'goodsDetail-size-popup' }, { children: [_jsxs(View, Object.assign({ className: 'content' }, { children: [_jsxs(View, Object.assign({ className: 'goodsInfo' }, { children: [_jsx(View, Object.assign({ className: 'lPart' }, { children: _jsx(Image, { src: goods.dataPic, alt: "", className: 'goodsImg' }) })), _jsxs(View, Object.assign({ className: 'rPart' }, { children: [_jsx(View, Object.assign({ className: 'name' }, { children: goods.goodsShowname || '' })), _jsxs(View, Object.assign({ className: 'price' }, { children: ["\uFFE5 ", goods.pricesetNprice.toFixed(2) || ''] })), _jsxs(View, Object.assign({ className: 'chosen' }, { children: ["\u5DF2\u9009\u62E9: ", spec] }))] }))] })), _jsxs(View, Object.assign({ className: 'sizeArr' }, { children: [_jsx(Text, Object.assign({ className: 'title' }, { children: "\u9009\u62E9\u989C\u8272" })), _jsx(View, Object.assign({ className: 'sizeArrItemWrap' }, { children: goods.rsSpecValueDomainList.map((item, index) => {
|
|
9
|
+
return (_jsx(View, Object.assign({ className: `sizeItem ${spec === item.specValueValue ? 'active' : ''}`, onClick: handleChooseSize.bind(null, item.specValueValue) }, { children: item.specValueValue }), index));
|
|
10
|
+
}) }))] })), _jsxs(View, Object.assign({ className: 'countWrap' }, { children: [_jsx(View, Object.assign({ className: 'label' }, { children: "\u8D2D\u4E70\u6570\u91CF" })), _jsx(NumStep, { count: count, handleStep: handleStep })] }))] })), isNeedButton && (_jsx(View, Object.assign({ className: 'btnWrap', onClick: addShoppingImpl }, { children: _jsx(Text, Object.assign({ className: 'btn' }, { children: "\u786E\u8BA4" })) })))] })) })));
|
|
25
11
|
};
|
|
26
12
|
export default GoodsDetailPopup;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useComponent } from '@brushes/qj-simulate-component';
|
|
3
|
-
const fake = ['促销', '大促销', '大大促销', '大大大大促销', '大大大大大促销', '大促销', '大促销'];
|
|
4
3
|
const GoodsDetailPromotion = ({ promotionList }) => {
|
|
5
4
|
const { View, Text } = useComponent();
|
|
6
|
-
return (_jsxs(View, Object.assign({ className: 'goodsDetail-promotion' }, { children: [_jsx(Text, Object.assign({ className: 'label' }, { children: "\u4FC3\u9500" })), _jsx(View, Object.assign({ className: 'group' }, { children: promotionList.length ? (
|
|
7
|
-
return (_jsx(View, Object.assign({ className: 'item' }, { children:
|
|
5
|
+
return (_jsxs(View, Object.assign({ className: 'goodsDetail-promotion' }, { children: [_jsx(Text, Object.assign({ className: 'label' }, { children: "\u4FC3\u9500" })), _jsx(View, Object.assign({ className: 'group' }, { children: promotionList.length ? (promotionList.map(({ discName }, index) => {
|
|
6
|
+
return (_jsx(View, Object.assign({ className: 'item' }, { children: discName }), index));
|
|
8
7
|
})) : (_jsx(View, Object.assign({ className: 'noPromotion' }, { children: "\u6682\u65E0\u4FC3\u9500\u6D3B\u52A8" }))) }))] })));
|
|
9
8
|
};
|
|
10
9
|
export default GoodsDetailPromotion;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const GoodsDetailSize: ({ goods
|
|
1
|
+
declare const GoodsDetailSize: ({ goods }: any) => JSX.Element;
|
|
2
2
|
export default GoodsDetailSize;
|
|
@@ -2,8 +2,17 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { useComponent } from '@brushes/qj-simulate-component';
|
|
3
3
|
import { THREE_DOTS } from '../../../static';
|
|
4
4
|
import GoodsDetailPopup from './goodsDetailPopup';
|
|
5
|
-
|
|
5
|
+
import { useDispatchImpl, useStore } from '../store';
|
|
6
|
+
const GoodsDetailSize = ({ goods }) => {
|
|
6
7
|
const { View, Text } = useComponent();
|
|
7
|
-
|
|
8
|
+
const { count, spec } = useStore();
|
|
9
|
+
const dispatch = useDispatchImpl();
|
|
10
|
+
return (_jsxs(_Fragment, { children: [_jsxs(View, Object.assign({ className: 'goodsDetail-size', onClick: () => dispatch({
|
|
11
|
+
type: 'popupImpl',
|
|
12
|
+
payload: {
|
|
13
|
+
popupVisible: true,
|
|
14
|
+
isNeedButton: false
|
|
15
|
+
}
|
|
16
|
+
}) }, { children: [_jsx(Text, Object.assign({ className: 'label' }, { children: "\u89C4\u683C" })), _jsxs(View, Object.assign({ className: 'info' }, { children: [_jsxs(Text, Object.assign({ className: 'label' }, { children: ["\u5DF2\u9009\u62E9 \u6570\u91CF: ", count, " \u89C4\u683C: ", spec] })), _jsx("img", { src: THREE_DOTS, alt: "", className: 'icon' })] }))] })), _jsx(GoodsDetailPopup, { goods: goods })] }));
|
|
8
17
|
};
|
|
9
18
|
export default GoodsDetailSize;
|
|
@@ -1,75 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { useEffect, useState } from 'react';
|
|
11
|
-
import { useComponent } from '@brushes/qj-simulate-component';
|
|
12
|
-
import { getResourceGoodsInfoBySkuCode, queryPromotionListByGoodsCode } from '@brushes/api';
|
|
13
|
-
import { _ } from '@brushes/tools';
|
|
14
|
-
const { isEmpty, get } = _;
|
|
15
|
-
export function useGoodsDetailmpl(skuCode) {
|
|
16
|
-
const [goods, setGoods] = useState({});
|
|
17
|
-
const { View, Text, Skeleton } = useComponent();
|
|
18
|
-
const [promotionArr, setPromotionArr] = useState([]);
|
|
19
|
-
const [checkCollectionObj, setCheckCollectionObj] = useState({});
|
|
20
|
-
const [sliderArr, setSliderArr] = useState([]);
|
|
21
|
-
const [tabActive, setTabActive] = useState(1);
|
|
22
|
-
const [popupVisible, setPopupVisible] = useState(false);
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
getGoodsDetailData();
|
|
25
|
-
}, []);
|
|
26
|
-
const getGoodsDetailData = () => __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
try {
|
|
28
|
-
const goodsDetailResult = yield getResourceGoodsInfoBySkuCode({
|
|
29
|
-
skuCode
|
|
30
|
-
});
|
|
31
|
-
const promotionListParams = {
|
|
32
|
-
skuNo: goodsDetailResult.skuNo || '',
|
|
33
|
-
skuCode: goodsDetailResult.rsSkuDomainList[0].skuCode || '',
|
|
34
|
-
classtreeCode: goodsDetailResult.classtreeCode || '',
|
|
35
|
-
brandCode: goodsDetailResult.brandCode || '',
|
|
36
|
-
pntreeCode: goodsDetailResult.pntreeCode || '',
|
|
37
|
-
memberCode: goodsDetailResult.memberCode || ''
|
|
38
|
-
};
|
|
39
|
-
console.log(22, goodsDetailResult.rsGoodsFileDomainList);
|
|
40
|
-
const arr = get(goodsDetailResult, 'rsGoodsFileDomainList', []);
|
|
41
|
-
if (isEmpty(arr))
|
|
42
|
-
return;
|
|
43
|
-
const sliderData = arr.map((item) => {
|
|
44
|
-
return {
|
|
45
|
-
imgUrl: item.goodsFileUrl,
|
|
46
|
-
link: ''
|
|
47
|
-
};
|
|
48
|
-
});
|
|
49
|
-
setSliderArr(sliderData);
|
|
50
|
-
setGoods(goodsDetailResult);
|
|
51
|
-
getPromotionData(promotionListParams);
|
|
52
|
-
}
|
|
53
|
-
catch (err) {
|
|
54
|
-
console.log(59, err);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
const getPromotionData = (params) => __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
const result = yield queryPromotionListByGoodsCode(params);
|
|
59
|
-
setPromotionArr(result);
|
|
60
|
-
});
|
|
61
|
-
return {
|
|
62
|
-
View,
|
|
63
|
-
Text,
|
|
64
|
-
Skeleton,
|
|
65
|
-
goods,
|
|
66
|
-
promotionArr,
|
|
67
|
-
checkCollectionObj,
|
|
68
|
-
setCheckCollectionObj,
|
|
69
|
-
sliderArr,
|
|
70
|
-
tabActive,
|
|
71
|
-
setTabActive,
|
|
72
|
-
popupVisible,
|
|
73
|
-
setPopupVisible
|
|
74
|
-
};
|
|
75
|
-
}
|
|
1
|
+
export * from './useAddShopping';
|
|
2
|
+
export * from './useGoodsDetailImpl';
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { useDispatchImpl, useStore } from '../store';
|
|
11
|
+
import { _ } from '@brushes/tools';
|
|
12
|
+
import { checkSkuSpec, addCardSku } from '../../../utils/payment';
|
|
13
|
+
import { navigatorImpl } from '@brushes/qj-simulate-component';
|
|
14
|
+
import { routerMap } from '../../../routerMap';
|
|
15
|
+
const { get } = _;
|
|
16
|
+
export function useAddShopping() {
|
|
17
|
+
const { count, spec, orderType, popupVisible, isNeedButton, goodsCode } = useStore();
|
|
18
|
+
const dispatch = useDispatchImpl();
|
|
19
|
+
const handleChooseSize = (value) => {
|
|
20
|
+
dispatch({
|
|
21
|
+
type: 'select',
|
|
22
|
+
payload: {
|
|
23
|
+
spec: value
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
const popupHandler = () => {
|
|
28
|
+
dispatch({
|
|
29
|
+
type: 'popupImpl',
|
|
30
|
+
payload: {
|
|
31
|
+
popupVisible: !popupVisible
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
const handleStep = (type) => {
|
|
36
|
+
dispatch({
|
|
37
|
+
type
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
const addCardImpl = () => __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
try {
|
|
42
|
+
const data = yield checkSkuSpec(spec, goodsCode);
|
|
43
|
+
const skuId = get(data, 'dataObj.skuId');
|
|
44
|
+
yield addCardSku(skuId, count);
|
|
45
|
+
popupHandler();
|
|
46
|
+
}
|
|
47
|
+
catch (err) { }
|
|
48
|
+
});
|
|
49
|
+
const cashImpl = () => __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const data = yield checkSkuSpec(spec, goodsCode);
|
|
51
|
+
const skuId = get(data, 'dataObj.skuId');
|
|
52
|
+
navigatorImpl(`${routerMap.confirm}?skuId=${skuId}&goodsNum=${count}`);
|
|
53
|
+
});
|
|
54
|
+
const addShoppingImpl = () => {
|
|
55
|
+
if (orderType === 0) {
|
|
56
|
+
// 添加到购物车
|
|
57
|
+
addCardImpl();
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
// 去支付页面
|
|
61
|
+
cashImpl();
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
return {
|
|
65
|
+
count,
|
|
66
|
+
spec,
|
|
67
|
+
popupVisible,
|
|
68
|
+
isNeedButton,
|
|
69
|
+
handleChooseSize,
|
|
70
|
+
handleStep,
|
|
71
|
+
addShoppingImpl,
|
|
72
|
+
popupHandler
|
|
73
|
+
};
|
|
74
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { itemType } from '../../Slider';
|
|
3
|
+
export declare const useGoodsDetailImpl: (skuCode: string) => {
|
|
4
|
+
promotionArr: never[];
|
|
5
|
+
checkCollectionObj: {};
|
|
6
|
+
setCheckCollectionObj: import("react").Dispatch<import("react").SetStateAction<{}>>;
|
|
7
|
+
sliderArr: itemType[];
|
|
8
|
+
tabActive: number;
|
|
9
|
+
setTabActive: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
10
|
+
popupVisible: boolean;
|
|
11
|
+
setPopupVisible: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
12
|
+
goods: {};
|
|
13
|
+
};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { useEffect, useState } from 'react';
|
|
11
|
+
import { getResourceGoodsInfoBySkuCode, queryPromotionListByGoodsCode } from '@brushes/api';
|
|
12
|
+
import { _ } from '@brushes/tools';
|
|
13
|
+
import { useDispatchImpl } from '../store';
|
|
14
|
+
const { isEmpty, get } = _;
|
|
15
|
+
export const useGoodsDetailImpl = (skuCode) => {
|
|
16
|
+
const [goods, setGoods] = useState({});
|
|
17
|
+
const [promotionArr, setPromotionArr] = useState([]);
|
|
18
|
+
const [checkCollectionObj, setCheckCollectionObj] = useState({});
|
|
19
|
+
const [sliderArr, setSliderArr] = useState([]);
|
|
20
|
+
const [tabActive, setTabActive] = useState(1);
|
|
21
|
+
const [popupVisible, setPopupVisible] = useState(false);
|
|
22
|
+
const dispatch = useDispatchImpl();
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
getGoodsDetailData();
|
|
25
|
+
}, []);
|
|
26
|
+
const getGoodsDetailData = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
try {
|
|
28
|
+
const goodsDetailResult = yield getResourceGoodsInfoBySkuCode({
|
|
29
|
+
skuCode
|
|
30
|
+
// isLocalMock: true
|
|
31
|
+
});
|
|
32
|
+
const promotionListParams = {
|
|
33
|
+
skuNo: goodsDetailResult.skuNo || '',
|
|
34
|
+
skuCode: goodsDetailResult.rsSkuDomainList[0].skuCode || '',
|
|
35
|
+
classtreeCode: goodsDetailResult.classtreeCode || '',
|
|
36
|
+
brandCode: goodsDetailResult.brandCode || '',
|
|
37
|
+
pntreeCode: goodsDetailResult.pntreeCode || '',
|
|
38
|
+
memberCode: goodsDetailResult.memberCode || ''
|
|
39
|
+
};
|
|
40
|
+
const arr = get(goodsDetailResult, 'rsGoodsFileDomainList', []);
|
|
41
|
+
if (isEmpty(arr))
|
|
42
|
+
return;
|
|
43
|
+
const sliderData = arr.map((item) => {
|
|
44
|
+
return {
|
|
45
|
+
imgUrl: item.goodsFileUrl,
|
|
46
|
+
link: ''
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
dispatch({
|
|
50
|
+
type: 'initGoods',
|
|
51
|
+
payload: {
|
|
52
|
+
spec: get(goodsDetailResult, 'rsSpecValueDomainList[0].specValueValue', ''),
|
|
53
|
+
goodsCode: goodsDetailResult.goodsCode,
|
|
54
|
+
goodsNum: goodsDetailResult.goodsNum
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
setSliderArr(sliderData);
|
|
58
|
+
setGoods(goodsDetailResult);
|
|
59
|
+
getPromotionData(promotionListParams);
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
console.log(59, err);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
const getPromotionData = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
|
+
try {
|
|
67
|
+
const result = yield queryPromotionListByGoodsCode(params);
|
|
68
|
+
setPromotionArr(result);
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
console.log(err);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return {
|
|
75
|
+
promotionArr,
|
|
76
|
+
checkCollectionObj,
|
|
77
|
+
setCheckCollectionObj,
|
|
78
|
+
sliderArr,
|
|
79
|
+
tabActive,
|
|
80
|
+
setTabActive,
|
|
81
|
+
popupVisible,
|
|
82
|
+
setPopupVisible,
|
|
83
|
+
goods
|
|
84
|
+
};
|
|
85
|
+
};
|