{"version":3,"sources":["components/coupons/Input/index.js","components/coupons/RedeemBar/index.js","components/coupons/Coupon/index.js","components/coupons/index.js"],"names":["Input","clearInput","_this","props","onChange","_this$props","this","type","placeholder","react_default","a","createElement","className","classnames","value","hide","length","onClick","Component","defaultProps","RedeemBar","state","redeemCode","exchange","coupons_Input","active","Coupon","pick","useCoupon","invalid","id","GoToUse","_this$props2","ctype","amount","format_expire_time","limit_course","course_title","selectedCouponId","showUseButton","concat","check","Array","fill","map","item","index","key","PureComponent","UseCoupon","connect","couponList","valid_coupons","invalid_coupons","courseId","getParam","handleChange","e","target","setState","_this$props$location$","location","http","post","API","home","code","then","res","data","coupon","Object","toConsumableArray","toast_default","info","from","getMyCoupons","getAllCoupons","msg","get","isEmpty","course_id","inuse_coupon","val","history","dispatch","find","push","_this$state","coupon_id","goBack","reload","replace","_this$state2","common","title","arrow","coupons_RedeemBar","Content","coupons","select","Fragment","purpose","_ref","rest","objectWithoutProperties","coupons_Coupon","assign","WithFullSize"],"mappings":"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","file":"static/js/coupons.aab15c32.chunk.js","sourcesContent":["import React, { Component } from 'react';\nimport './input.scss'\n\nimport classnames from 'classnames'\n\nclass Input extends Component {\n    clearInput = () => {\n        this.props.onChange('')\n    }\n\n    render() {\n        let {type, placeholder} = this.props\n        return (\n            <div className='custom-input-wrapper'>\n                <input\n                    type={type}\n                    className={classnames('custom-input')}\n                    placeholder={placeholder}\n                    onChange={this.props.onChange}\n                    value={this.props.value}\n                />\n                <i\n                    className={classnames('iconfont icondanseshixintubiao-3', {\n                        hide: this.props.value.length === 0\n                    })}\n                    onClick={this.clearInput}\n                />\n            </div>\n        );\n    }\n}\n\n\nInput.defaultProps = {type: 'text', placeholder: ''}\n\nexport default Input;","import React, { Component } from 'react';\nimport './exchange-bar.scss'\nimport Input from '../Input'\nimport classnames from 'classnames'\n\nclass RedeemBar extends Component {\n    state = {}\n\n    render() {\n        const {onChange, redeemCode, exchange} = this.props\n        return (\n            <div className=\"exchange-bar\">\n                <Input\n                    placeholder={'请输入优惠码'}\n                    onChange={onChange}\n                    value={redeemCode}\n                />\n                <button className={classnames({\n                    active: redeemCode && redeemCode.length > 0\n                })} onClick={exchange}>兑换\n                </button>\n            </div>\n        );\n    }\n}\n\nexport default RedeemBar;","import React, { PureComponent } from 'react'\nimport './coupon.scss'\nimport classnames from 'classnames'\n\nclass Coupon extends PureComponent {\n\n    pick = () => {\n        let {useCoupon, invalid} = this.props\n        !invalid && useCoupon && useCoupon(this.props.id)\n    }\n\n    GoToUse = () => {\n        this.props.useCoupon(this.props.id)\n    }\n\n    render() {\n        let {\n            ctype,\n            amount,\n            format_expire_time,\n            limit_course,\n            invalid,\n            course_title,\n            id,\n            selectedCouponId,\n            showUseButton\n        } = this.props\n\n        return (\n            <li className='coupon' onClick={this.pick}>\n                <div className={classnames('coupon-info', invalid ? 'invalid' : `coupon-type${ctype}`)}>\n                    <p className='type'>{ctype === 1 ? '代金券' : '课程券'}</p>\n                    {\n                        ctype === 1 ? <p className='denomination'>{amount} <span>元</span></p>\n                            : <p className='course-title'>{course_title}</p>\n\n                    }\n                    <p className='expire'>有效期至:{format_expire_time}</p>\n                    {\n                        selectedCouponId === id &&\n                        <i className={classnames('iconfont icondanseshixintubiao-5', {\n                            check: !invalid\n                        })}\n                        />\n                    }\n                    <ul>\n                        {\n                            new Array(19).fill('a').map((item, index) => {\n                                return <li key={index}/>\n                            })\n                        }\n                    </ul>\n                </div>\n                <div className=\"coupon-des\">\n                    <span className='limit'>{\n                        limit_course === 0 ? '可用于大于代金券金额的课程' : `仅适用于《${course_title}》`\n                    }</span>\n                    {\n                        showUseButton &&\n                        <button\n                            className='use'\n                            onClick={this.GoToUse}\n                        >立即使用\n                        </button>\n                    }\n\n                </div>\n            </li>\n        );\n    }\n}\n\nexport default Coupon","import React, { PureComponent } from 'react';\nimport './coupons.scss'\n\nimport RedeemBar from \"./RedeemBar\";\nimport Coupon from './Coupon'\nimport { http, getParam } from '@/utils'\nimport { WithFullSize } from '@/HOCs'\nimport { Toast } from 'antd-mobile'\nimport { isEmpty } from 'lodash'\nimport { HeaderBar } from \"@/common\";\nimport {connect} from 'react-redux';\nimport {getCourses} from './../detail/actions';\n\n@connect()\nclass UseCoupon extends PureComponent {\n\n    state = {\n        selectedCouponId: 0,\n        redeemCode: '',\n        couponList: [],\n        valid_coupons: [],\n        invalid_coupons: [],\n        courseId: getParam('id'),\n        showUseButton: false\n    }\n\n    componentDidMount() {\n\n        const {history, location} = this.props\n\n        const {state} = this.props.location\n\n\n        if (state && state.from) {\n            if (state.from === '/my') {\n                this.getMyCoupons();\n                this.setState({\n                    showUseButton: true\n                })\n            } else {\n                if (!this.state.courseId) {\n                    location.state && location.state.from ? history.replace(location.state.from) : history.goBack()\n                }\n                this.getAllCoupons();\n            }\n        }\n    }\n\n    handleChange = e => {\n        let value = e ? e.target.value : ''\n        this.setState({redeemCode: value})\n    }\n\n    exchange = () => {\n        const { location: { state = {}} } = this.props;\n        if (this.state.redeemCode !== '') {\n            http.post(`${API.home}/m/coupon/exchange`, {\n                code: this.state.redeemCode\n            })\n                .then(res => {\n                    const data = res.data\n                    if (data.code === 200) {\n\n                        const coupon = data.data\n\n                        if (this.state.showUseButton) {\n                            this.setState({\n                                couponList: [...this.state.couponList, coupon],\n                                redeemCode: ''\n                            })\n                        } else {\n\n                            const coupon = data.data\n\n                            if (coupon['ctype'] == 2\n                                && coupon['limit_course'] != this.state.courseId) {\n                                this.setState({\n                                    invalid_coupons: [...this.state.invalid_coupons, coupon],\n                                    showUseButton: null\n                                });\n                            } else {\n                                this.setState({\n                                    valid_coupons: [...this.state.valid_coupons, coupon],\n                                    redeemCode: ''\n                                })\n                            }\n\n                        }\n                        Toast.info('兑换成功')\n                        if (state.from === '/my') {\n                            this.getMyCoupons()\n                        }\n                        if(state.from === '/order') {\n                            this.getAllCoupons()\n                        }\n                    } else {\n                        Toast.info(data.msg)\n                    }\n                })\n        } else {\n            Toast.info('请输入兑换码')\n        }\n    }\n\n    getMyCoupons = () => {\n        http.get(`${API.home}/m/coupon/all`)\n            .then(res => {\n                const data = res.data\n                if (data.code === 200) {\n                    this.setState({\n                        couponList: isEmpty(data.data) ? [] : data.data\n                    })\n                } else {\n                    Toast.info(data.msg)\n                }\n            })\n    }\n\n    getAllCoupons = () => {\n        http.post(`${API.home}/m/coupon/select`, {course_id: this.state.courseId})\n            .then(res => {\n                const data = res.data\n                if (data.code === 200) {\n\n                    const inuse_coupon = data.data['inuse_coupon'];\n\n\n                    this.setState({\n                        valid_coupons: inuse_coupon\n                            ? [...inuse_coupon, ...data.data.valid_coupons]\n                            : data.data.valid_coupons,\n                        invalid_coupons: data.data.invalid_coupons,\n                        selectedCouponId: inuse_coupon.length ? inuse_coupon[0].id : 0\n                    })\n\n                } else {\n                    Toast.info(data.msg)\n                }\n            })\n    }\n\n    useCoupon = val => {\n        const {history, dispatch} = this.props\n        const coupon = this.state.couponList.find(item => item.id === val)\n\n        if (val) {\n            if (this.state.showUseButton) {\n\n                if (coupon['ctype'] === 1) {\n                    history.push(`/classify`)\n                } else {\n                    // dispatch(getCourses(coupon['limit_course'], () => {\n                        history.push(`/detail?id=${coupon['limit_course']}`);\n                        return false;\n                    // }));\n                }\n\n            } else {\n\n                const {courseId, selectedCouponId} = this.state\n\n                if (selectedCouponId === val) {\n\n\n                    http.post(`${API.home}/m/coupon/cancel`, {\n                        course_id: courseId\n                    }).then(res => {\n                        const data = res.data\n                        if (data.code === 200) {\n\n\n                            this.setState({\n                                selectedCouponId: 0\n                            })\n\n\n                        } else {\n                            Toast.info(data.msg)\n                        }\n                    })\n\n\n                } else {\n                    http.post(`${API.home}/m/coupon/use`, {\n                        course_id: this.state.courseId,\n                        coupon_id: val\n                    })\n                        .then(res => {\n                            const data = res && res.data\n                            if (data.code === 200) {\n\n                                this.setState({selectedCouponId: val})\n                                this.props.history.goBack()\n\n\n                            } else {\n                                Toast.info(data.msg)\n                            }\n                        })\n\n                }\n\n\n            }\n\n        } else {\n            Toast.info('未知错误')\n            location.reload()\n        }\n\n    }\n\n    render() {\n        const {state} = this.props.location\n        const {showUseButton, selectedCouponId} = this.state\n        return (\n            <div className='use-coupon'>\n                <HeaderBar title='优惠券' arrow={true}/>\n                <RedeemBar onChange={this.handleChange}\n                           exchange={this.exchange}\n                           redeemCode={this.state.redeemCode}/>\n                <div className=\"coupons-area\">\n                    <Content\n                        coupons={\n                            state\n                            && state.from\n                            && state.from === '/my'\n                                ? this.state.couponList\n                                : this.state.valid_coupons\n                        }\n                        showUseButton={showUseButton}\n                        selectedCouponId={selectedCouponId}\n                        select={this.select}\n                        useCoupon={this.useCoupon}\n                    />\n                    {\n                        this.state.invalid_coupons.length > 0 &&\n                        (\n                            <>\n                                <div className='invalid-title'>- 不可使用的优惠券 -</div>\n                                <Content\n                                    coupons={this.state.invalid_coupons}\n                                    selectedCouponId={selectedCouponId}\n                                    select={this.select}\n                                    purpose={'use'}\n                                    invalid={'invalid'}\n                                />\n                            </>\n                        )\n                    }\n                </div>\n            </div>\n        );\n    }\n}\n\nfunction Content({coupons, ...rest}) {\n    if (coupons.length === 0) {\n        return (\n            <div className='empty'>\n                <p>暂无可使用的优惠券</p>\n            </div>\n        )\n    }\n    return (\n        <ul>\n            {\n                coupons.map(item => {\n                    return (\n                        <Coupon\n                            key={item.id}\n                            {...item}\n                            id={item.id}\n                            {...rest}\n                        />\n                    )\n                })\n            }\n        </ul>\n    )\n}\n\nexport default WithFullSize(UseCoupon);"],"sourceRoot":""}