{"version":3,"sources":["components/order/deposit/deposit-order/index.js"],"names":["Item","OrderList","props","listData","list","map","item","index","course_id","image_name","sale_price","simpledescription","course_title","coupon_num","coupon_desc","NewPrice","className","locationState","group","groupPrice","Info","style","overflow","textOverflow","whiteSpace","onClick","toDetail","WebkitBoxOrient","WebkitLineClamp","wordBreak","display","src","id","key","info","isaist","type","simple","arrow","to","pathname","search","state","from","justify","color","fontSize","Order","submitOrder","http","post","API","plat_form","source","getParam","is_deduction","useBalance","then","res","data","errno","history","replace","msg","showInfo","setState","prevState","toCourseDetail","push","user_account","depositPrice","parseFloat","offset","updateUserAccount","total","discount","orderList","finalStartTime","this","course","title","courseId","location","align","marginRight","length","position","top","left","width","height","backgroundColor","zIndex","padding","margin","transform","direction","lineHeight","textAlign","borderRadius","border","Component"],"mappings":"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","file":"mrstaticjs/deposit-order.5381f128.chunk.js","sourcesContent":["import React, { Component } from \"react\"\nimport { Flex, List, Toast } from \"antd-mobile\"\nimport { OrderItem } from \"src/common/index\"\nimport { Link } from \"react-router-dom\"\nimport { http, getParam } from \"src/utils\"\nimport { HeaderBar } from \"src/common/index\"\n\nimport \"./index.scss\"\n\nconst Item = List.Item\n\nfunction OrderList(props) {\n const listData = props.list\n return (\n <div>\n {listData.map((item, index) => {\n const {\n course_id,\n image_name,\n sale_price,\n simpledescription,\n course_title,\n coupon_num,\n coupon_desc,\n } = item\n let NewPrice = <span className=\"order-newprice\">¥{sale_price}</span>\n if (props.locationState && props.locationState.group) {\n NewPrice = <span className=\"order-newprice\">¥{props.groupPrice}</span>\n }\n const Info = (\n <div className=\"order-info\">\n <p\n className=\"order-title\"\n style={{\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n onClick={() => props.toDetail(course_id)}\n >\n {course_title}\n </p>\n <p\n className=\"order-content\"\n style={{\n WebkitBoxOrient: \"vertical\",\n WebkitLineClamp: \"2\",\n wordBreak: \"break-all\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n display: \"-webkit-box\",\n }}\n >\n {simpledescription}\n </p>\n <p className=\"order-des\">\n {NewPrice}\n <span className={\"price-des\"}>(预付定金)</span>\n </p>\n </div>\n )\n\n return (\n <OrderItem\n {...item}\n src={image_name}\n id={course_id}\n key={index}\n info={Info}\n isaist={props.isaist}\n toDetail={props.toDetail}\n >\n {props.locationState &&\n (props.locationState.type || props.locationState.simple) ? (\n <div className=\"order-prefer\">\n <List key={index}>\n <Item arrow=\"horizontal\" onClick={() => {}}>\n <Link\n to={{\n pathname: `/coupons`,\n search: `?id=${course_id}`,\n state: {\n from: \"/order\",\n },\n }}\n >\n <Flex justify=\"between\">\n <span\n style={{\n color: \"#333\",\n fontSize: \"15px\",\n }}\n >\n 优惠券\n </span>\n <span\n style={{\n fontSize: \"14px\",\n color: \"#999999\",\n }}\n >\n {!coupon_desc\n ? coupon_num === 0\n ? \"无\"\n : `${coupon_num}张可用`\n : coupon_desc}\n </span>\n </Flex>\n </Link>\n </Item>\n </List>\n </div>\n ) : null}\n </OrderItem>\n )\n })}\n </div>\n )\n}\n\nclass Order extends Component {\n constructor(props) {\n super(props)\n this.state = {\n groupPrice: \"\",\n total: 0.0, // 需要支付总金额\n discount: 0.0, //\n useBalance: false,\n orderList: [],\n info: false,\n offset: 0,\n depositPrice: 0,\n course_id: getParam(\"oid\"),\n user_account: \"\",\n finalStartTime: \"\",\n }\n }\n\n // 提交订单\n submitOrder = () => {\n http\n .post(`${API[\"base-api\"]}/m/deposit/create`, {\n plat_form: 5,\n source: getParam(\"source\"), //来源 1-详情页 2-活动页,\n course_id: this.state.course_id,\n is_deduction: this.state.useBalance ? 1 : 0,\n })\n .then((res) => {\n const { data } = res\n if (data.errno === 200) {\n if (data.data[\"pay_jump\"]) {\n this.props.history.replace(\n `/expand/callback?order_id=${data.data[\"order_id\"]}`\n )\n } else {\n this.props.history.replace({\n pathname: \"/deposit-pay-order\",\n search: `?oid=${data.data[\"order_id\"]}`,\n })\n }\n } else {\n Toast.info(data.msg)\n }\n })\n }\n\n showInfo = () => {\n this.setState((prevState) => ({\n info: !prevState.info,\n }))\n }\n\n componentDidMount() {\n http\n .post(`${API[\"base-api\"]}/m/deposit/preorder`, {\n course_id: this.state.course_id,\n })\n .then((res) => {\n const { data } = res\n if (data.errno === 200) {\n this.setState({\n orderList: [data.data.course],\n depositPrice: data.data.course[\"sale_price\"],\n user_account: data.data[\"user_account\"],\n finalStartTime: data.data[\"final_start_time\"],\n })\n } else {\n Toast.info(data.msg)\n }\n })\n }\n\n toCourseDetail = (id) => {\n const { history } = this.props\n history.push(`/detail?id=${id}`)\n }\n\n useBalance = () => {\n let { user_account, depositPrice } = this.state\n if (parseFloat(user_account) === 0) {\n return\n }\n let offset = parseFloat(user_account) - parseFloat(depositPrice)\n offset = offset > 0 ? depositPrice : user_account\n this.setState((prevState) => ({\n useBalance: !prevState.useBalance,\n offset,\n }))\n }\n\n updateUserAccount = () => {}\n\n render() {\n const {\n orderList,\n discount,\n groupPrice,\n depositPrice,\n user_account,\n useBalance,\n info,\n offset,\n finalStartTime,\n } = this.state\n\n return (\n <div className=\"order-wrapper\">\n <Flex>\n <Flex.Item>\n <HeaderBar title=\"课程报名\" arrow={true} />\n <div className=\"order-list\">\n <OrderList\n list={orderList}\n courseId={getParam(\"id\")}\n locationState={this.props.location.state}\n groupPrice={groupPrice}\n toDetail={this.toCourseDetail}\n />\n </div>\n\n <div className=\"order-balance\">\n <List>\n <Item className=\"order-prefer-text\">\n <Flex justify=\"between\">\n <Flex align=\"center\">\n <span>余额抵扣</span>\n <span className=\"order-balanceprice\">\n {\" \"}\n (余额:{\" \"}\n <i className=\"order-money\">{`${user_account}元`}</i>)\n </span>\n <i\n className=\"iconfont iconiconfront-22 question-mark\"\n onClick={this.showInfo}\n ></i>\n </Flex>\n <Flex>\n {useBalance ? (\n <>\n <span\n style={{\n color: \"#FF2121\",\n fontSize: \"15px\",\n marginRight: \"6px\",\n }}\n >{`-¥${offset}`}</span>\n <i\n className={`iconfont icondanseshixintubiao-5 balance-used`}\n onClick={this.useBalance}\n ></i>\n </>\n ) : (\n <i\n className=\"circle-icon\"\n onClick={this.useBalance}\n ></i>\n )}\n </Flex>\n </Flex>\n </Item>\n </List>\n </div>\n\n <ul className={\"deposit-limit-time\"}>\n <li>· {finalStartTime}开始支付尾款</li>\n <li>· 代金券只能在支付尾款时使用</li>\n </ul>\n <div className=\"order-bar\">\n <div className=\"order-course\">\n <span className=\"order-course-text\">{`${orderList.length}门课程`}</span>\n </div>\n <div className=\"order-bar-text\">\n <div className=\"order-amount\">\n <span className=\"order-amount-title\">合计:</span>\n <span className=\"order-amount-price\">{`¥${depositPrice}`}</span>\n </div>\n <div className=\"order-preprice\">\n <span className=\"order-preprice-title\">已优惠:</span>\n <span className=\"order-preprice-price\">{`¥${discount}`}</span>\n </div>\n </div>\n <button type=\"button\" className=\"order-button has-info\">\n <span className=\"order-button-text\" onClick={this.submitOrder}>\n 确定订单\n </span>\n </button>\n </div>\n </Flex.Item>\n </Flex>\n {info ? (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0, 0, 0, 0.8)\",\n zIndex: \"99\",\n }}\n >\n <div\n style={{\n padding: \"20px\",\n backgroundColor: \"#FFF\",\n width: \"300px\",\n height: \"170px\",\n margin: \"0 auto\",\n position: \"absolute\",\n left: \"50%\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <Flex\n direction=\"column\"\n justify=\"between\"\n align=\"center\"\n style={{ height: \"100%\" }}\n >\n <p style={{ fontSize: \"16px\", color: \"#333333\" }}>\n 余额抵扣说明\n </p>\n <p\n style={{\n lineHeight: \"20px\",\n fontSize: \"13px\",\n color: \"#666666\",\n }}\n >\n 分销课程或者参与七月在线的相关活动,可获得资金奖励。账户资金可直接提现,也可抵扣课程费用。\n </p>\n <div\n onClick={this.showInfo}\n style={{\n width: \"260px\",\n height: \"30px\",\n lineHeight: \"30px\",\n textAlign: \"center\",\n borderRadius: \"3px\",\n border: \"1px solid #0099FF\",\n color: \"#0099FF\",\n fontSize: \"15px\",\n }}\n >\n 知道了\n </div>\n </Flex>\n </div>\n </div>\n ) : null}\n </div>\n )\n }\n}\n\nexport default Order\n"],"sourceRoot":""}